ZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy8uc3ZuLWNvbW1pdC50bXAuc3dwIGIvZG9jL3Byb3BzLy5zdm4tY29tbWl0LnRtcC5zd3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTkzMWU3ZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy8uc3ZuLWNvbW1pdC50bXAuc3dwCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy8uc3lub255bSBiL2RvYy9wcm9wcy8uc3lub255bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYzNiNzNhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzLy5zeW5vbnltCkBAIC0wLDAgKzEsNTQgQEAKK2F1dG9hdHRhY2sgUF9BR0dSRVNTSVZFCitQX0FVVE9BVFRBQ0sgUF9BR0dSRVNTSVZFCitob2NoemVpdCBQX01BUlJJRUQKK1NJX1NLSUxMRlVOQyBza2lsbF9pbmZvX2xpc3RlCitTSV9DTE9TVVJFIHNraWxsX2luZm9fbGlzdGUKK1NJX1NLSUxMQUJJTElUWSBza2lsbF9pbmZvX2xpc3RlCitTSV9TS0lMTERBTUFHRV9UWVBFIHNraWxsX2luZm9fbGlzdGUKK1NJX1NLSUxMREFNQUdFX01TRyBza2lsbF9pbmZvX2xpc3RlCitTSV9TS0lMTERBTUFHRV9NU0cyIHNraWxsX2luZm9fbGlzdGUKK1NJX0lOSEVSSVQgc2tpbGxfaW5mb19saXN0ZQorU0lfRElGRklDVUxUWSBza2lsbF9pbmZvX2xpc3RlCitTSV9MQVNUTElHSFQgc2tpbGxfaW5mb19saXN0ZQorU0lfVEVTVEZMQUcgc2tpbGxfaW5mb19saXN0ZQorU0lfR1VJTEQgc2tpbGxfaW5mb19saXN0ZQorU0lfRU5FTVkgc2tpbGxfaW5mb19saXN0ZQorU0lfRlJJRU5EIHNraWxsX2luZm9fbGlzdGUKK1NJX01BR0lDX1RZUEUgc2tpbGxfaW5mb19saXN0ZQorU0lfTEFTVF9VU0Ugc2tpbGxfaW5mb19saXN0ZQorU0lfTEVBUk5fUFJPQiBza2lsbF9pbmZvX2xpc3RlCitTSV9TS0lMTERVUkFUSU9OIHNraWxsX2luZm9fbGlzdGUKK1NJX1NQRUxMQk9PSyBza2lsbF9pbmZvX2xpc3RlCitTTV9SQUNFIHNraWxsX2luZm9fbGlzdGUKK1NJX1NQRUxMQ09TVCBza2lsbF9pbmZvX2xpc3RlCitTSV9USU1FX01TRyBza2lsbF9pbmZvX2xpc3RlCitTSV9TUF9MT1dfTVNHIHNraWxsX2luZm9fbGlzdGUKK1NJX1BSRVBBUkVfTVNHIHNraWxsX2luZm9fbGlzdGUKK1NJX1BSRVBBUkVfQlVTWV9NU0cgc2tpbGxfaW5mb19saXN0ZQorU0lfUFJFUEFSRV9BQk9SVF9NU0cgc2tpbGxfaW5mb19saXN0ZQorU0lfTk9NQUdJQyBza2lsbF9pbmZvX2xpc3RlCitTSV9OT01BR0lDX01TRyBza2lsbF9pbmZvX2xpc3RlCitTSV9TUEVMTEZBVElHVUUgc2tpbGxfaW5mb19saXN0ZQorU0lfWF9TUEVMTEZBVElHVUUgc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExMRUFSTiBza2lsbF9pbmZvX2xpc3RlCitTSV9MRUFSTl9BVFRSSUJVVEUgc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExBUkcgc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExSRVNUUl9VU0Ugc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExSRVNUUl9MRUFSTiBza2lsbF9pbmZvX2xpc3RlCitTSV9TS0lMTElORk8gc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExJTkZPX0xPTkcgc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExEQU1BR0Ugc2tpbGxfaW5mb19saXN0ZQorU0lfU0tJTExEQU1BR0VfQllfUk9XIHNraWxsX2luZm9fbGlzdGUKK1NJX1NQRUxMIHNraWxsX2luZm9fbGlzdGUKK1NJX0NPTExBVEVSQUxfREFNQUdFIHNraWxsX2luZm9fbGlzdGUKK1NJX05VTUJFUl9FTkVNSUVTIHNraWxsX2luZm9fbGlzdGUKK1NJX05VTUJFUl9GUklFTkRTIHNraWxsX2luZm9fbGlzdGUKK1NJX0RJU1RBTkNFIHNraWxsX2luZm9fbGlzdGUKK1NJX1dJRFRIIHNraWxsX2luZm9fbGlzdGUKK1NJX0RFUFRIIHNraWxsX2luZm9fbGlzdGUKK1NJX1NLSUxMSEVBTCBza2lsbF9pbmZvX2xpc3RlCitTSV9VU1Igc2tpbGxfaW5mb19saXN0ZQorU0lfUFJFUEFSRV9USU1FIHNraWxsX2luZm9fbGlzdGUKK1NJX0FUVEFDS19CVVNZX01TRyBza2lsbF9pbmZvX2xpc3RlCitTSV9OT19BVFRBQ0tfQlVTWSBza2lsbF9pbmZvX2xpc3RlCitTSV9BVFRBQ0tfQlVTWV9BTU9VTlQgc2tpbGxfaW5mb19saXN0ZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQUJJTElUSUVTIGIvZG9jL3Byb3BzL1BfQUJJTElUSUVTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MmEwZjYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BQklMSVRJRVMKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfQUJJTElUSUVTICAgICAgICAgICAgICAgICAgICJhYmlsaXRpZXMiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvYXR0cmlidXRlcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgKioqIE9CU09MRVQhICoqKgorICAgICBTaWVoZSBQX05FV1NLSUxMUy4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FDIGIvZG9jL3Byb3BzL1BfQUMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYyZDc4NgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FDCkBAIC0wLDAgKzEsMjggQEAKK1BfQUMKKworTkFNRToKKyAgICAgUF9BQyAiYWMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGFybW91ci5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGJlc2NocmVpYnQgZGllIFJ1ZXN0dW5nc2tsYXNzZSAoZW5nbDogYXJtb3VyIGNsYXNzKSwKKyAgICAgYWxzbyBkZW4gU2NodXR6LCBkZW4gZGllIFJ1ZXN0dW5nIGRlbSBUcmFlZ2VyIHZlcmxlaWh0LiBKZSBob2VoZXIgZGVyCisgICAgIFdlcnQgKGFscyBaYWhsKSwgdW0gc28gYmVzc2VyIGlzdCBkaWUgUnVlc3R1bmcuIE5lZ2F0aXZlIFdlcnRlIGJld2lya2VuCisgICAgIG5lZ2F0aXZlbiBTY2h1dHosIGQuaC4gZGVyIFNjaGFkZW4gd2lyZCB2ZXJncm9lc3NlcnQgc3RhdHQgdmVycmluZ2VydC4KKworQkVNRVJLVU5HRU46CisgICAgIFF1ZXJ5LSB1bmQgU2V0bWV0aG9kZW4gYXVmIFBfQUMgc29sbHRlbiB1bmJlZGluZ3QgdmVybWllZGVuIHdlcmRlbi4gU2llCisgICAgIGZ1ZWhyZW4gaW4gZGVyIFJlZ2VsIHp1IG1hc3NpdmVuIElua29uc2lzdGVuemVuIGltIE1lY2hhbmlzbXVzIGRlcgorICAgICBSdWVzdHVuZ3NiZXNjaGFlZGlndW5nIHVuZCAtcmVwYXJhdHVyLgorICAgICBGdWVyIGplZGVuIFJ1ZXN0dW5nc3R5cCBpc3QgaW4gPGNvbWJhdC5oPiBlaW5lIE9iZXJncmVuemUgZGVmaW5pZXJ0LAorICAgICBkaWUgbWFuIG5pY2h0IHVlYmVyc2NocmVpdGVuIGRhcmYuCisgICAgIFJ1ZXN0dW5nZW4gdm9tIFR5cCBBVF9NSVNDIGhhYmVuIGltbWVyIEFDIDAgdW5kIHdlcmRlbiBtaXQga2VpbmVuIAorICAgICBob2VoZXJlbiBXZXJ0ZW4gZ2VuZW1pZ3QuCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvYXJtb3VyLmMsIFBfREFNQUdFRCwgRGFtYWdlKCkgUF9UT1RBTF9BQworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiswMi4xMC4yMDA3LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BQ0NFUFRfUEVBQ0UgYi9kb2MvcHJvcHMvUF9BQ0NFUFRfUEVBQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDdiNjNhMAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FDQ0VQVF9QRUFDRQpAQCAtMCwwICsxLDE4IEBACitQUk9QRVJUWQorICAgICBQX0FDQ0VQVF9QRUFDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICJhY2NlcHRfcGVhY2UiCisKK0RFRklOSUVSVCBJTiAKKwkvc3lzL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORworCU1pdHRlbHMgc2V0emVuIERpZXNlciBQcm9wIGxhc3NlbiBzaWNoIGxlaWNodCBOUENzIGJhdWVuLAorCWRpZSB2b24gamVkZW0genUgYmVmcmllZGVuIHNpbmQuIFdlbm4gZGllIFByb3BlcnR5ID09IDEgaXN0LAorCWlzdCBkZXIgTlBDIGltbWVyIHdpZWRlciBiZWZyaWVkYmFyLCBzb25zdCBmdWVocnQgZGVyIE5QQyBkYXMKKwl1ZWJsaWNoZSBWZXJoYWx0ZW4gYXVzLgorCitTSUVIRSBBVUNICisgIFF1ZXJ5UGFjaWZ5KCksCisgIFBfUEVBQ0VfSElTVE9SWQorCitMRVRaVEUgQUVOREVSVU5HCiswMS4wNS4yMDA4LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BQ0hBVFMgYi9kb2MvcHJvcHMvUF9BQ0hBVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDA5NzYyMAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FDSEFUUwpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9BQ0hBVFMgICAgICAgICAgICAgICAgICAgICAgImFjaGF0cyIgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIENoYXRzLCBkaWUgZGFzIE1vbnN0ZXIgaW0gS2FtcGYgYXVzZ2lidC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FDSEFUX0NIQU5DRSBiL2RvYy9wcm9wcy9QX0FDSEFUX0NIQU5DRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2NkZjE2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQUNIQVRfQ0hBTkNFCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0FDSEFUX0NIQU5DRSAgICAgICAgICAgICAgICAiYWNoYXRfY2hhbmNlIiAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2FocnNjaGVpbmxpY2hrZWl0IGZ1ZXIgZGllIEF0dGFjay1DaGF0LUF1c2dhYmUuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BQ1RVQUxfTk9USUZZX0ZBSUwgYi9kb2MvcHJvcHMvUF9BQ1RVQUxfTk9USUZZX0ZBSUwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM1YTY0NgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FDVFVBTF9OT1RJRllfRkFJTApAQCAtMCwwICsxLDI3IEBACisqKioqKioqKioqKioqKioqKioqKioqIFZFUkFMVEVURSBQUk9QRVJUWSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK05BTUU6CisgICAgIFBfQUNUVUFMX05PVElGWV9GQUlMICAgICAgICAgICJhY3R1YWxfbm90aWZ5X2ZhaWwiICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcGxheWVyLmgKKworQUNIVFVORzoKKyAgICAgRGllc2UgUHJvcCB3aXJkIG5pY2h0IG1laHIgZ2VzZXR6dCAodW5kIGF1Y2ggbmljaHQgbWVociBhYmdlZnJhZ3QpLCBkYSBMRAorICAgICBlaW5lIGVmdW4gaGF0LCB1bSBkYXMgT2JqZWt0IHp1IGVybWl0dGVsbiwgd2FzIGFscyBsZXR6dGVzIGVpbgorICAgICBub3RpZnlfZmFpbCgpIGdlc2V0enQgaGF0LCBlaW4gU3BlaWNoZXJuIGltIFNwaWVsZXIgYWxzbyB2b2VsbGlnCisgICAgIHVlYmVyZmx1ZXNzaWcgaXN0LgorCitCRVNDSFJFSUJVTkc6CisgICAgIElzdCBpbSBTcGllbGVyb2JqZWt0ICBnZXNldHp0IHVuZCBlbnRoYWVsdCBkYXMgT2JqZWt0LCB3ZWxjaGVzIHp1bGV0enQKKyAgICAgZWluZSBGZWhsZXJtZWxkdW5nIG1pdCBub3RpZnlfZmFpbCgpL19ub3RpZnlfZmFpbCgpIGVyZm9sZ3JlaWNoCisgICAgIHdhZWhyZW5kIGRlcyBha3R1ZWxsZW4gS29tbWFuZG9zIGFiZ2VzcGVpY2hlcnQgaGF0LgorCitCRU1FUktVTkdFTjoKKyAgICAgRGllbnQgZGF6dSwgYmVpIF9ub3RpZnlfZmFpbCgpIHp1IHVlYmVycHJ1ZWZlbiwgb2Igc2Nob24gdm9yaGVyIGVpbmUKKyAgICAgRmVobGVybWVsZHVuZyBnZXNldHp0IHd1cmRlLgorCitTSUVIRSBBVUNIOgorICAgICBBZGRDbWQoKSwgYWRkX2FjdGlvbigpCisgICAgIG5vdGlmeV9mYWlsKCksIF9ub3RpZnlfZmFpbCgpCisKKzEwLjAzLjIwMDcsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FESkVDVElWRVMgYi9kb2MvcHJvcHMvUF9BREpFQ1RJVkVTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiNDRhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BREpFQ1RJVkVTCkBAIC0wLDAgKzEsMjIgQEAKK1BfQURKRUNUSVZFUworCitOQU1FOgorICAgICBQX0FESkVDVElWRVMgImFkamVjdGl2ZXMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHRoaW5nL2Rlc2NyaXB0aW9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgSGllciBzdGVodCBlaW4gQXJyYXkgdm9uIFN0cmluZ3MsIHdlbGNoZSBkaWUgSWRlbnRpZml6aWVydW5nIGRlcworICAgICBPYmpla3RlcyBlcmdhZW56ZW4uIERpZSBWZXJ3YWx0dW5nIGVyZm9sZ3QgdWViZXIgZGllIEZ1bmt0aW9uZW4KKyAgICAgQWRkQWRqZWN0aXZlKCkgdW5kIFJlbW92ZUFkamVjdGl2ZSgpLgorCitCRU1FUktVTkdFTjoKKyAgICAgTWFuIHNvbGx0ZSBhbiBkaWVzZXIgUHJvcGVydHkgbmljaHQgInZvbiBIYW5kIiBoZXJ1bWZ1bW1lbG4sIHNvbmRlcm4KKyAgICAgaW1tZXIgZGllIHp1Z2Vob2VyaWdlbiBGdW5rdGlvbmVuIGJlbnV0emVuIQorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL3RoaW5nL2Rlc2NyaXB0aW9uLmMsIEFkZEFkamVjdGl2ZSgpLCBSZW1vdmVBZGplY3RpdmUoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTdW4gTWF5IDE5IDIwOjIyOjI0IDE5OTYgYnkgV2FyZ29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BRVJJQUxfSEVMUEVSUyBiL2RvYy9wcm9wcy9QX0FFUklBTF9IRUxQRVJTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MDY4ODQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BRVJJQUxfSEVMUEVSUwpAQCAtMCwwICsxLDQ1IEBACitQX0FFUklBTF9IRUxQRVJTCisKK05BTUU6CisgICAgIFBfQUVSSUFMX0hFTFBFUlMgImxpYl9wX2FlcmlhbF9oZWxwZXJzIgorCitERUZJTklFUlQgSU46CisgICAgIDxsaXZpbmcvaGVscGVycy5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGthbm4gaW4gYWxsZW4gTGViZXdlc2VuIGFiZ2VmcmFndCB3ZXJkZW4sIHVtIGRpZSBPYmpla3RlCisgICAgIHp1IGVybWl0dGVsbiwgZGllIGZ1ZXIgZGllIFVudGVyc3R1ZXR6dW5nIGJlaW0gRmxpZWdlbi9TZWdlbG4gYmVpIGRpZXNlbSAKKyAgICAgTGViZXdlc2VuIHJlZ2lzdHJpZXJ0IGhhYmVuLiBEaWUgRGF0ZW4gd2VyZGVuIGFscyBNYXBwaW5nIGRlciBmb2xnZW5kZW4KKyAgICAgRm9ybSB6dXJ1ZWNrZ2VsaWVmZXJ0OgorICAgICAoWyBPYmpla3QgOiBSdWVja2dhYmV3ZXJ0IHZvbiBkZXNzZW4gQ2FsbGJhY2stTWV0aG9kZSBdKQorICAgICBFaW5lIEVybGFldXRlcnVuZyBkYXp1IGZpbmRldCBzaWNoIGluIGRlciBEb2t1bWVudGF0aW9uIHp1IAorICAgICBSZWdpc3RlckhlbHBlck9iamVjdCgpLgorCitCRU1FUktVTkdFTjoKKyAgICAgRGllc2UgUHJvcGVydHkga2FubiBudXIgYWJnZWZyYWd0IHdlcmRlbi4KKyAgICAgRXMgaXN0IGVyd3VlbnNjaHQsIGRhc3MgZW50c3ByZWNoZW5kZSwgbmV1IGdlc2NoYWZmZW5lIFN0ZWxsZW4gamVnbGljaGUgCisgICAgIEhlbGZlciBha3plcHRpZXJlbiwgZGVyZW4gQ2FsbGJhY2stTWV0aG9kZSA+MCB6dXJ1ZWNrZ2lidC4KKworQkVJU1BJRUw6CisgICAgIFVtIHp1IGVybWl0dGVsbiwgb2IgZGVyIFNwaWVsZXIgbWluZGVzdGVucyBlaW4gT2JqZWt0IGJlaSBzaWNoIGhhdCwgZGFzIAorICAgICBiZWltIEZsaWVnZW4gaGlsZnQsIHN1Y2h0IG1hbiBhbGxlIE9iamVrdGUgYXVzIGRlbSBNYXBwaW5nIGhlcmF1cywgZGllCisgICAgIGVpbmVuIFdlcnQgPjAgZWluZ2V0cmFnZW4gaGFiZW4gdW5kIHBydWVmdCBkZXJlbiBBbnphaGw6CisKKyAgICAgbWFwcGluZyBhZXJpYWwgPSB0aGlzX3BsYXllcigpLT5RdWVyeVByb3AoUF9BRVJJQUxfSEVMUEVSUyk7CisgICAgIG9iamVjdCogaGVscGVycyA9IGZpbHRlciggYWVyaWFsLCBmdW5jdGlvbiBpbnQgKG9iamVjdCBoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChhZXJpYWxbaF0+MCk7IH0pOworICAgICBpZiAoIHNpemVvZihoZWxwZXJzKSApIHsKKyAgICAgICB0ZWxsX29iamVjdCh0aGlzX3BsYXllcigpLCAiRHUgZXJoZWJzdCBEaWNoIG1pdCBIaWxmZSAiKworICAgICAgICAgaGVscGVyc1swXS0+bmFtZShXRVNTRU4sMSkrIiBlbGVnYW50IGluIGRpZSBMdWVmdGUuXG4iKTsKKyAgICAgfQorICAgICBlbHNlIHsKKyAgICAgICB0ZWxsX29iamVjdCh0aGlzX3BsYXllcigpLCAiRHUgaGFzdCBuaWNodHMgenVtIEZsaWVnZW4gYmVpIERpci5cbiIpOworICAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgIE1ldGhvZGVuOiAgICBSZWdpc3RlckhlbHBlck9iamVjdChMKSwgVW5yZWdpc3RlckhlbHBlck9iamVjdChMKQorICAgICBQcm9wZXJ0aWVzOiAgUF9IRUxQRVJfT0JKRUNUUywgUF9BUVVBVElDX0hFTFBFUlMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMTIuMDMuMjAxNiwgQXJhdGhvcm4KKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQUdFIGIvZG9jL3Byb3BzL1BfQUdFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFkNjM4OGEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BR0UKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQUdFICAgICAgICAgICAgICAgICAgICAgICAgICJhZ2UiICAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQWx0ZXIgZGVzIFNwaWVsZXJzIGluIEhlYXJ0LUJlYXRzICgxIEhCID09IDIgU2VrdW5kZW4pCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BR0dSRVNTSVZFIGIvZG9jL3Byb3BzL1BfQUdHUkVTU0lWRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTBkOTdlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQUdHUkVTU0lWRQpAQCAtMCwwICsxLDM5IEBACitOQU1FOgorICAgIFBfQUdHUkVTU0lWRSAgICAgICAgICAgICAgICAgICJhZ2dyZXNzaXZlIiAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorCUdlc2V0enQsIHdlbm4gZGFzIFdlc2VuIHZvbiBzaWNoIGF1cyBBbmdyaWZmZSBzdGFydGV0LgorCisJVWVibGljaGVyd2Vpc2UgbmltbXQgbWFuIGFscyBXZXJ0IDEsIG1hbiBrYW5uIGplZG9jaCBhdWNoCisJZWluZW4ga2xlaW5lcmVuIFdlcnQgbmVobWVuIHdlbm4gZXMgbnVyIG1pdCBlaW5lciBiZXN0aW1tdGVuCisJV2FocnNjaGVpbmxpY2hrZWl0IGF1dG9tYXRpc2NoIGFuZ3JlaWZlbiBzb2xsLgorCisJRGVyIFdlcnQgdm9uIFNwaWVsZXIgdW5kIE1vbnN0ZXIgd2lyZCBhZGRpZXJ0LCB1bSB6dSBlbnRzY2hlaWRlbiwKKwlvYiBlaW4gU3BpZWxlciBhbmdlZ3JpZmZlbiB3ZXJkZW4gc29sbCwJbWFuIGthbm4gUF9BR0dSRVNTSVZFCisJYWxzbyBhdWNoIGJlaSBTcGllbGVybiBzZXR6ZW4sIHNvIGRhc3Mgc2llIHZvbiBhbGxlbiBNb25zdGVybgorCWFuZ2VncmlmZmVuIHdlcmRlbi4KKworCUJlaSBNb25zdGVybiAodW5kIE5VUiBiZWkgZGllc2VuKSBrYW5uIG1hbiBoaWVyIGF1Y2ggZWluIE1hcHBpbmcKKwlhbmdlYmVuLCBkYXMgYWxzIEtleXMgTmFtZW4gdm9uIFByb3BlcnRpZXMgZGVzIFNwaWVsZXJzIGVudGhhZWx0CisJdW5kIGFscyBWYWx1ZXMgTWFwcGluZ3MsIGluIGRlbmVuIHN0ZWh0IHdlbGNoZXIgV2VydCBiZWkgd2VsY2hlbgorCVdlcnQgZnVlciBkaWUgUHJvcGVydHkgZ2Vub21tZW4gd2VyZGVuIHNvbGwgKEJlaXNwaWVsZSBmb2xnZW4pLgorCU1pdCBLZXkgMCBrYW5uIG1hbiBlaW5lbiBEZWZhdWx0LVdlcnQgKHNvd29obCBpbiBpbm5lcmVuIE1hcHBpbmdzCisJd2llIGF1Y2ggaW0gYWV1c3NlcmVuIE1hcHBpbmcpIGZlc3RsZWdlbi4gRGVmYXVsdC1XZXJ0ZSB3ZXJkZW4KKwlnZW5vbW1lbiwgZmFsbHMga2VpbmUgYW5kZXJlbiBnZXNldHp0IHNpbmQsIGFsc28gVm9yc2ljaHQgbWl0CisJMC1FaW50cmFlZ2VuIChUaXA6IDAuMCBpc3QgaW4gTFBDIHVuZ2xlaWNoIDApLgorCUJlaSBtZWhyZXJlbiBQcm9wZXJ0aWVzIHdlcmRlbiBhbGxlIGdlc2V0enRlbiBXZXJ0ZSBnZW1pdHRlbHQuCisKK0JFSVNQSUVMRToKKwlTZXRQcm9wKFBfQUdHUkVTU0lWRSwoW1BfUkFDRTooWyJad2VyZyI6MSwgIkVsZiI6MC4wLCAwOjAuNV0pXSkpCisJWndlcmdlIHdlcmRlbiBpbW1lciBhdXRvbWF0aXNjaCBhbmdlZ3JpZmZlbiwgRWxmZW4gbmllIHVuZAorCWFsbGUgYW5kZXJlbiBtaXQgNTAlIFdhaHJzY2hlaW5saWNoa2VpdC4KKwlNYW4gYmVhY2h0ZSwgZGFzcyBoaWVyIDAuMCBnZW5vbW1lbiB3ZXJkZW4gbXVzc3RlIGFuc3RlbGxlIHZvbiAwLAorCXdlaWwgc29uc3QgRWxmZW4gYXVjaCA1MCUgV2FocnNjaGVpbmxpY2hrZWl0IGJla29tbWVuIGhhZXR0ZW4uCisKKwlTZXRQcm9wKFBfQUdHUkVTU0lWRSwoW1BfUkFDRTooWyJad2VyZyI6MC4zXSksCisJICAgICAgICAgICAgICAgICAgICAgICBQX0dVSUxEOihbIkNoYW9zIjowLjddKV0pKQorCVp3ZXJnZSB3ZXJkZW4gbWl0IDMwJSBXYWhyc2NoZWlubGljaGtlaXQgYW5nZWdyaWZmZW4sCisJQ2hhb3RlbiBtaXQgNzAlIHVuZCBad2VyZy1DaGFvdGVuIG1pdCA1MCUuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BTENPSE9MIGIvZG9jL3Byb3BzL1BfQUxDT0hPTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzAwNWI3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQUxDT0hPTApAQCAtMCwwICsxLDIyIEBACitOQU1FOgorICAgICBQX0FMQ09IT0wJCQkiYWxjb2hvbCIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorCisgICAgIC0gTGViZXdlc2VuCisgICAgICAgTnVtZXJpc2NoZXIgV2VydCBmdWVyIGRlbiBHcmFkIGRlciBCZXRydW5rZW5oZWl0IGVpbmVzIExlYmV3ZXNlbnMuCisgICAgICAgRGVyIG1heGltYWxlIFdlcnQgc3RlaHQgaW4gUF9NQVhfQUxDT0hPTC4KKworICAgICAtIFNwZWlzZW4vS25laXBlbgorICAgICAgIE51bWVyaXNjaGVyIFdlcnQgZnVlciBkZW4gR3JhZCwgZGVuIGVpbmUgUG9ydGlvbiBkZXIgU3BlaXNlIGRlbgorICAgICAgIEtvbnN1bWVudGVuIGJldHJ1bmtlbiBtYWNodAorCitTSUVIRSBBVUNIOgorCVBfTUFYX0FMQ09IT0wsIFBfQUxDT0hPTF9ERUxBWSwgY29uc3VtZSwKKwlQX0ZPT0QsIFBfRFJJTkssIHdpei9mb29kLCAKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQUxDT0hPTF9ERUxBWSBiL2RvYy9wcm9wcy9QX0FMQ09IT0xfREVMQVkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGM2ZDJjMQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FMQ09IT0xfREVMQVkKQEAgLTAsMCArMSwxMCBAQAorTkFNRToKKyAgICBQX0FMQ09IT0xfREVMQVkgICAgICAgICAgICAgICAgICJhbGNvaG9sX2RlbGF5IiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQW56YWhsIGRlciBoZWFydF9iZWF0cywgYmlzIFBfQUxDT0hPTCB1bSBlaW5lbiBQdW5rdCBzaW5rdC4KKyAgICAgQWVuZGVydW5nZW4gZGllc2VyIFByb3BlcnR5IGluIFNwaWVsZXJuIGJlZHVlcmZlbiBkZXIgCisgICAgIEdlbmVobWlndW5nIGRlcyBFTSBmdWVyIEJhbGFuY2UuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BTENfRlVMTF9NU0cgYi9kb2MvcHJvcHMvUF9BTENfRlVMTF9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmQ4NGE4NgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FMQ19GVUxMX01TRwpAQCAtMCwwICsxLDI0IEBACitOQU1FOgorICAgICBQX0FMQ19GVUxMX01TRyAgICAgICAgICAgICAgICAic3RkX2Zvb2RfYWxjX2Z1bGxfbXNnIgorCitERUZJTklFUlQgSU46CisgICAgIDxzeXMvZm9vZC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcgYW4gZGVuIEtvbnN1bWVudGVuLCB3ZW5uIEFsa29ob2wga29uc3VtaWVydCB3ZXJkZW4gc29sbCwKKyAgICAgb2J3b2hsIGRpZXNlciBuaWNodCBtZWhyIEFsa29ob2wgdmVydHJhZWd0LgorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UKKyAgICAgMi4gS29uc3VtZW50CisgICAgIHZlcmFyYmVpdGV0LCBrYW5uIGFscyBlbnRzcHJlY2hlbmRlIFBsYXR6aGFsdGVyIGVudGhhbHRlbgorICAgICAKK0RFRkFVTFQ6CisgICAgICJTb3ZpZWwgQWxrb2hvbCB2ZXJ0cmFlZ3N0IER1IG5pY2h0IG1laHIuIgorCitTSUVIRSBBVUNIOgorICAgICBQX0FMQ09IT0wsIFBfTUFYX0FMQ09IT0wsIHdpei9mb29kLCByZXBsYWNlX3BlcnNvbmFsCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE9jdCAyOCAxMjoxNTowMCAyMDEwIGJ5IENhbGRyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FMSUdOIGIvZG9jL3Byb3BzL1BfQUxJR04KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFkMzQ2NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FMSUdOCkBAIC0wLDAgKzEsMTcgQEAKK05BTUU6CisgICAgUF9BTElHTiAgICAgICAgICAgICAgICAgICAgICAgImFsaWduIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBOdW1lcmlzY2hlciBXZXJ0IGZ1ZXIgR3V0LSBvZGVyIEJvZXNoZWl0IGRlcyBXZXNlbnMuCisKKyAgICAgS2FubiBXZXJ0ZSB2b24gLTEwMDAgKEJvZXNlIHdpZSBkZXIgVGV1ZmVsIGhvZWNoc3RwZXJzb2VubGljaCkKKyAgICAgYmlzICsxMDAwIChKZXN1cywgYmlzdCBEdSdzID8pIGFubmVobWVuLgorCisgICAgIFdlcnRlIGF1c3NlcmhhbGIgZGllc2VyIFNrYWxhIHdlcmRlbiB6d2FyIHRlaWx3ZWlzZSB2ZXJ3ZW5kZXQsCisgICAgIGRhcyBTZXR6ZW4gZGVyc2VsYmVuIHNvbGx0ZSBqZWRvY2ggVU5CRURJTkdUIHVudGVyYmxlaWJlbi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU2F0IEp1bCAxMiAxNzowMDowMCBieSBNYW5kcmFnb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FMTE9XRURfU0hBRE9XIGIvZG9jL3Byb3BzL1BfQUxMT1dFRF9TSEFET1cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk0ODJmZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FMTE9XRURfU0hBRE9XCkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisgICAgUF9BTExPV0VEX1NIQURPVyAgICAgICAgICAgICAgImFsbG93ZWRfc2hhZG93IgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKworICAgICBOb3JtYWxlcndlaXNlIGtvZW5uZW4gbnVyIFNoYWRvd3MgYW4gU3BpZWxlciBnZWJ1bmRlbiB3ZXJkZW4sIGRpZSBpbiAKKyAgICAgL3N0ZC9wbGF5ZXIvc2hhZG93cy8gbGllZ2VuLiAKKyAgICAgCisgICAgIFp1IFRlc3R6d2Vja2VuIGthbm4gaW4gZGllc2VyIFByb3BlcnR5IGRlciBQZmFkIGVpbmVzIFNoYWRvd3MgZWluZ2V0cmFnZW4KKyAgICAgd2VyZGVuLiBEYW1pdCB3aXJkIGRpZSBvYmVuIGJlc2NocmllYmVuZSBSZWdlbCBmdWVyIGRpZXNlbiBTcGllbGVyIHVuZCAKKyAgICAgZGllc2VuIFNoYWRvdyBhdXNzZXIgS3JhZnQgZ2VzZXR6dC4KKworQkVNRVJLVU5HOiAKKworICAgICBEZXIgU3BpZWxlciBtdXNzIGVpbiBUZXN0c3BpZWxlciBzZWluLiBBbnNvbnN0ZW4gd2lyZCBkaWVzZSBQcm9wZXJ0eQorICAgICBpZ25vcmllcnQuCisKKyAgICAgRGllIFByb3BlcnR5IGlzdCBzZWN1cmVkIGdlc2V0enQuIERhcyBoZWlzc3QsIG51ciBFTSsga29lbm5lbgorICAgICBkaWVzZSBQcm9wZXJ0eSBzZXR6ZW4gdW5kIGxvZXNjaGVuLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTdW4gTWFyIDIxIDAwOjI3OjQ2IDIwMDQgYnkgVmFuaW9uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BTU1VTklUSU9OIGIvZG9jL3Byb3BzL1BfQU1NVU5JVElPTgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODkwM2FmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQU1NVU5JVElPTgpAQCAtMCwwICsxLDQyIEBACitQX0FNTVVOSVRJT04KKworTkFNRToKKyAgICBQX0FNTVVOSVRJT04gICAgICJtdW5pdGlvbiIKKworREVGSU5JRVJUIElOOgorICAgIDxjb21iYXQuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgIEVudGhhZWx0IGRpZSBmdWVyIGVpbmUgV2FmZmUgZ3VlbHRpZ2UgTXVuaXRpb24gYWxzIFN0cmluZy4gRGllCisgICAgTXVuaXRpb24gbXVzcyBkaWVzZW4gU3RyaW5nIGFscyBJRCBiZXNpdHplbi4KKworICAgIEZ1ZXIgZGllIE11bml0aW9uc29iamVrdGUgZ2lsdDoKKyAgICAqIGVzIGthbm4gZWluIFNraWxsIGFtIFNwaWVsZXIgZGVmaW5pZXJ0IHdlcmRlbiwgZGllc2VyIHdpcmt0IGRhbm4KKyAgICAgIHp1c2FldHpsaWNoIHp1bSBnZW5lcmVsbGVuIFNLX1NIT09ULVNraWxsLgorICAgICogc2llIGtvZW5uZW4gZWluZSBIaXRGdW5jIGJlc2l0enRlbiwgZGllIGJlaW0gU2NodXNzIGFiZ2VmcmFndCB3aXJkCisKK0JFTUVSS1VOR0VOOgorICAgIEJpdHRlIGRhcyAjZGVmaW5lIE1VTl9NSVNDKHgpIGJlbnV0emVuLiBNdW5pdGlvbiBzb2xsdGUgYXVjaCBpbW1lcgorICAgIGluIERldXRzY2ggdW5kIFBsdXJhbCBhbmdlZ2ViZW4gd2VyZGVuLCBkYSBQX0FNTVVOSVRJT04gZGlyZWt0CisgICAgZnVlciBBdXNnYWJlbiBhbiBkZW4gU3BpZWxlciBhdXNnZXdlcnRldCB3aXJkLgorCisgICAgTW9tZW50YW4gc2luZCB2aWVyIE11bml0aW9uc2FydGVuIGluIGRlciBjb21iYXQuaCB2b3JkZWZpbmllcnQ6CisgICAgTVVOX0FSUk9XLCBNVU5fU1RPTkUsIE1VTl9CT0xULCBNVU5fTUlTQworCitCRUlTUElFTEU6CisgICAgLy8gZnVlciBlaW4ga2xlaW5lcyBCbGFzcm9ociBpbSBCbGFzcm9ocgorICAgIFNldFByb3AoUF9BTU1VTklUSU9OLCBNVU5fTUlTQygiRXJic2VuIikpOworCisgICAgLy8gRW50c3ByZWNoZW5kIGluIGRlciBNdW5pdGlvbjoKKyAgICBBZGRJZChNVU5fTUlTQygiRXJic2VuIikpOworCitTSUVIRSBBVUNIOgorICAgIEdlbmVyZWxsOiAgUF9TSE9PVElOR19XQywgUF9TVFJFVENIX1RJTUUKKyAgICBNZXRob2RlbjogIEZpbmRSYW5nZWRUYXJnZXQoTCksIHNob290X2RhbShMKSwgY21kX3Nob290KEwpCisgICAgR2ViaWV0OiAgICBQX1JBTkdFLCBQX1NIT09USU5HX0FSRUEsIFBfVEFSR0VUX0FSRUEKKyAgICBXYWZmZW46ICAgIFBfV0VBUE9OX1RZUEUsIFBfV0MsIFBfRVFVSVBfVElNRSwgUF9OUl9IQU5EUworICAgIEthbXBmOiAgICAgQXR0YWNrKEwpLCBEZWZlbmQoTCksIFBfRElTQUJMRV9BVFRBQ0ssIFBfQVRUQUNLX0JVU1kKKyAgICBUZWFtOiAgICAgIFByZXNlbnRQb3NpdGlvbihMKQorICAgIFNvbnN0aWdlczogZmVybndhZmZlbgorCisyOS5KdWwgMjAxNCBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FNT1VOVCBiL2RvYy9wcm9wcy9QX0FNT1VOVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDRlNDVhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQU1PVU5UCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0FNT1VOVCAgICAgICAgICAgICAgICAgICAgICAiYW1vdW50IiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQW56YWhsIGRlciBPYmpla3RlLCBmdWVyIGRpZSBkYXMgT2JqZWt0IHN0ZWh0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVFVQVRJQ19IRUxQRVJTIGIvZG9jL3Byb3BzL1BfQVFVQVRJQ19IRUxQRVJTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMzYTA3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BUVVBVElDX0hFTFBFUlMKQEAgLTAsMCArMSw0NiBAQAorUF9BUVVBVElDX0hFTFBFUlMKKworTkFNRToKKyAgICAgUF9BUVVBVElDX0hFTFBFUlMgImxpYl9wX2FxdWF0aWNfaGVscGVycyIKKworREVGSU5JRVJUIElOOgorICAgICA8bGl2aW5nL2hlbHBlcnMuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBrYW5uIGluIGFsbGVuIExlYmV3ZXNlbiBhYmdlZnJhZ3Qgd2VyZGVuLCB1bSBkaWUgT2JqZWt0ZQorICAgICB6dSBlcm1pdHRlbG4sIGRpZSBmdWVyIGRpZSBVbnRlcnN0dWV0enVuZyBiZWltIFRhdWNoZW4gYmVpIGRpZXNlbSAKKyAgICAgTGViZXdlc2VuIHJlZ2lzdHJpZXJ0IGhhYmVuLiBEaWUgRGF0ZW4gd2VyZGVuIGFscyBNYXBwaW5nIGRlciBmb2xnZW5kZW4KKyAgICAgRm9ybSB6dXJ1ZWNrZ2VsaWVmZXJ0OgorICAgICAoWyBPYmpla3QgOiBSdWVja2dhYmV3ZXJ0IHZvbiBkZXNzZW4gQ2FsbGJhY2stTWV0aG9kZSBdKQorICAgICBFaW5lIEVybGFldXRlcnVuZyBkYXp1IGZpbmRldCBzaWNoIGluIGRlciBEb2t1bWVudGF0aW9uIHp1IAorICAgICBSZWdpc3RlckhlbHBlck9iamVjdCgpLgorCitCRU1FUktVTkdFTjoKKyAgICAgRGllc2UgUHJvcGVydHkga2FubiBudXIgYWJnZWZyYWd0IHdlcmRlbi4KKyAgICAgRXMgaXN0IGVyd3VlbnNjaHQsIGRhc3MgZW50c3ByZWNoZW5kZSwgbmV1IGdlc2NoYWZmZW5lIFN0ZWxsZW4gamVnbGljaGUgCisgICAgIEhlbGZlciBha3plcHRpZXJlbiwgZGVyZW4gQ2FsbGJhY2stTWV0aG9kZSA+MCB6dXJ1ZWNrZ2lidC4KKworQkVJU1BJRUw6CisgICAgIFVtIHp1IGVybWl0dGVsbiwgb2IgZGVyIFNwaWVsZXIgbWluZGVzdGVucyBlaW4gT2JqZWt0IGJlaSBzaWNoIGhhdCwgZGFzIAorICAgICBiZWltIFRhdWNoZW4gaGlsZnQsIHN1Y2h0IG1hbiBhbGxlIE9iamVrdGUgYXVzIGRlbSBNYXBwaW5nIGhlcmF1cywgZGllCisgICAgIGVpbmVuIFdlcnQgPjAgZWluZ2V0cmFnZW4gaGFiZW4gdW5kIHBydWVmdCBkZXJlbiBBbnphaGw6CisKKyAgICAgbWFwcGluZyBhcXVhdGljID0gdGhpc19wbGF5ZXIoKS0+UXVlcnlQcm9wKFBfQVFVQVRJQ19IRUxQRVJTKTsKKyAgICAgb2JqZWN0KiBoZWxwZXJzID0gZmlsdGVyKCBhcXVhdGljLCBmdW5jdGlvbiBpbnQgKG9iamVjdCBoKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChhcXVhdGljW2hdPjApOyB9KTsKKyAgICAgaWYgKCBzaXplb2YoaGVscGVycykgKSB7CisgICAgICAgdGVsbF9vYmplY3QodGhpc19wbGF5ZXIoKSwgIkR1IHN0dWVyenQgRGljaCBpbiBkaWUgRmx1dGVuIHVuZCAiCisgICAgICAgICAic3RlbGxzdCB1ZWJlcnJhc2NodCBmZXN0LCBkYXNzIER1IG1pdCBIaWxmZSAiKworICAgICAgICAgaGVscGVyc1swXS0+bmFtZShXRVNTRU4sMSkrIiBzb2dhciB1bnRlciBXYXNzZXIgYXRtZW4ga2FubnN0IVxuIik7CisgICAgIH0KKyAgICAgZWxzZSB7CisgICAgICAgdGVsbF9vYmplY3QodGhpc19wbGF5ZXIoKSwgIkR1IGhhc3QgbmljaHRzIHp1bSBUYXVjaGVuIGJlaSBEaXIuXG4iKTsKKyAgICAgfQorCitTSUVIRSBBVUNIOgorICAgICBNZXRob2RlbjogICAgUmVnaXN0ZXJIZWxwZXJPYmplY3QoTCksIFVucmVnaXN0ZXJIZWxwZXJPYmplY3QoTCkKKyAgICAgUHJvcGVydGllczogIFBfSEVMUEVSX09CSkVDVFMsIFBfQUVSSUFMX0hFTFBFUlMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMDYuMDQuMjAxNiwgQXJhdGhvcm4KKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVJNT1VSUyBiL2RvYy9wcm9wcy9QX0FSTU9VUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE1NmJmNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FSTU9VUlMKQEAgLTAsMCArMSwyNSBAQAorUF9BUk1PVVJTCisKK05BTUU6CisgICAgIFBfQVJNT1VSUyAgICAgICAgICAgICAgICAgICAgICJhcm1vdXJzIgorCitERUZJTklFUlQgSU46CisgICAgIDxsaXZpbmcvY29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgQXJyYXkgbWl0IGRlbiBnZXRyYWdlbmVuIFNjaHV0emJla2xlaWR1bmdlbiBkZXMgTGViZXdlc2VuLgorCisgICAgIEJpdHRlIG5hY2ggTW9lZ2xpY2hrZWl0IGRhdm9uIGFic2VoZW4sIGRpZXNlIFByb3BlcnR5IHp1IGJlc2NocmVpYmVuLCBkYQorICAgICBlcyBoaWVyYmVpIHp1IElua29uc2lzdGVuemVuIGtvbW1lbiBrYW5uLgorICAgICAKKyAgICAgRmFsbHMgaWhyIGRpZSBSdWVzdHVuZ2VuIGRlcyBMZWJld2VzZW5zLCBnZ2YuIG1pdCBiZXN0aW10ZW4gS3JpdGVyaWVuLAorICAgICBlcm1pdHRlbG4gd29sbHQsIGJlbnV0enQgaGllcmZ1ZXIgYml0dGUgZGllIEZ1bmt0aW9uIEZpbHRlckFybW91cnMoKQorICAgICBzdGF0dCBzZWxiZXIgdWViZXIgZGllc2VzIEFycmF5IHp1IGxhdWZlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgVmVyd2FuZHQ6CQlRdWVyeUFybW91ckJ5VHlwZShMKSwgUF9XRUFQT04sIEZpbHRlckNsb3RoaW5nKCksIAorICAgICAgICAgICAgICAgICAgRmlsdGVyQXJtb3VycygpCisgICAgIFJ1ZXN0dW5nZW46CVBfQUMsIFBfQVJNT1VSX1RZUEUsIFBfTlJfSEFORFMKKyAgICAgU29uc3RpZ2VzOgkJUF9FUVVJUF9USU1FLCBQX0xBU1RfVVNFCisKKzE0LjAzLjIwMDksIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FSTU9VUl9UWVBFIGIvZG9jL3Byb3BzL1BfQVJNT1VSX1RZUEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU5NzhmMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FSTU9VUl9UWVBFCkBAIC0wLDAgKzEsNDYgQEAKK1BfQVJNT1VSX1RZUEUKKworTkFNRToKKyAgICAgUF9BUk1PVVJfVFlQRSAiYXJtb3VyX3R5cGUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGFybW91ci5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIEluIGRpZXNlciBQcm9wZXJ0eSB3aXJkIGRlciBUeXAgZWluZXIgUnVlc3R1bmcgZmVzdGdlaGFsdGVuLiBNYW4gc29sbHRlCisgICAgIGhpZXIgbnVyIGRpZSBpbiA8Y29tYmF0Lmg+IGRlZmluaWVydGVuIEtvbnN0YW50ZW4gdmVyd2VuZGVuOgorCisgICAgICAgIEFUX0FNVUxFVCAgICAgQW11bGV0dAorICAgICAgICBBVF9BUk1PVVIgICAgIFJ1ZXN0dW5nCisgICAgICAgIEFUX0JFTFQgICAgICAgR3VlcnRlbAorICAgICAgICBBVF9CT09UICAgICAgIFNjaHVoZQorICAgICAgICBBVF9DTE9BSyAgICAgIFVtaGFuZworICAgICAgICBBVF9HTE9WRSAgICAgIEhhbmRzY2h1aGUKKyAgICAgICAgQVRfSEVMTUVUICAgICBIZWxtCisgICAgICAgIEFUX1FVSVZFUiAgICAgS29lY2hlcgorICAgICAgICBBVF9SSU5HICAgICAgIFJpbmcKKyAgICAgICAgQVRfU0hJRUxEICAgICBTY2hpbGQKKyAgICAgICAgQVRfVFJPVVNFUlMgICBIb3NlbgorICAgICAgICBBVF9NSVNDICAgICAgIFNvbnN0aWdlcworCisgICAgIERlciBSdWVzdHVuZ3N0eXAgQVRfTUlTQyBpc3Qgc2Nobm9lZGVtIFRhbmQgdW5kIGFuZGVyZW0gbnV0emxvc2VuCisgICAgIEtyYW0gdm9yYmVoYWx0ZW4uIEF1ZiBrZWluZW4gRmFsbCBkYXJmIGVpbmUgQVRfTUlTQy1SdWVzdHVuZyB1ZWJlcgorICAgICBlaW5lIEFDID4gMCB2ZXJmdWVnZW4gbm9jaCBpcmdlbmR3aWUga2FtcGZyZWxldmFudGUgQmVkZXV0dW5nIGJlLQorICAgICBzaXR6ZW4uIFJ1ZXN0dW5nZW4gZGVzIFR5cHMgQVRfTUlTQywgZGllIEtFSU5FIERlZmVuZEZ1bmMgYmVub2V0aWdlbiwKKyAgICAgbXVlc3NlbiBtaXR0ZWxzIC9zdGQvY2xvdGhpbmcgYWxzIGVpbmZhY2hlcyBLbGVpZHVuZ3NzdHVlY2sgcmVhbGlzaWVydAorICAgICB3ZXJkZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICBEaWUgUF9BQyB3aXJkIGJlaSBBVF9NSVNDLVJ1ZXN0dW5nZW4gZ2FyIG5pY2h0IGVyc3QgYXVzZ2V3ZXJ0ZXQuCisgICAgIERlZmVuZEZ1bmNzIHdlcmRlbiB6d2FyIGF1c2dld2VydGV0LCBhYmVyIGJpdHRlIHVlYmVybGVndCBldWNoIGd1dCwgb2IKKyAgICAgaWhyIHNpZSBicmF1Y2h0IChSZWNoZW56ZWl0IGltIEthbXBmIGlzdCBrcml0aXNjaCEpIHVuZCBvYiBzaWUgc2VpdGVucyAKKyAgICAgZGVyIEJhbGFuY2UgaW4gZXVyZW0gRmFsbCBlcmxhdWJ0IHNpbmQuCisKK1NJRUhFIEFVQ0g6CisgICAgIFZlcndhbmR0OiAgICAgICAgICBRdWVyeUFybW91ckJ5VHlwZShMKSwgUF9XRUFQT04KKyAgICAgUnVlc3R1bmdlbjogICAgICAgIFBfQUMsIFBfTlJfSEFORFMgKFNjaGlsZGUpCisgICAgIFNvbnN0aWdlczogICAgICAgICBQX0VRVUlQX1RJTUUsIFBfTEFTVF9VU0UKKyAgICAgQ29kZTogICAgICAgICAgICAgIC9zdGQvYXJtb3VyLmMsIC9zdGQvY2xvdGhpbmcuYworICAgICBHaWxkZW5lcmdhZW56dW5nOiAgUF9HTE9WRV9GSU5HRVJMRVNTCisKKzI3LiBNYWkgMjAxNSwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FSUklWRU1TRyBiL2RvYy9wcm9wcy9QX0FSUklWRU1TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmQ1NzU5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVJSSVZFTVNHCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0FSUklWRU1TRyAgICAgICAgICAgICAgICAgICAiYXJyaXZlbXNnIiAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdHJhbnNwb3J0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNZWxkdW5nLCB3ZW5uIGRlciBUcmFuc3BvcnRlciBhbmxlZ3QuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BUlRJQ0xFIGIvZG9jL3Byb3BzL1BfQVJUSUNMRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNTE3ODY1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVJUSUNMRQpAQCAtMCwwICsxLDE1IEBACitOQU1FOgorICAgIFBfQVJUSUNMRSAgICAgICAgICAgICAgICAgICAgICJhcnRpY2xlIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9sYW5ndWFnZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgR2lidCBhbiwgb2IgaW4gZGVyIEJlc2NocmVpYnVuZyBlaW4gQXJ0aWtlbCBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsCisgICAgIG9kZXIgbmljaHQuCisKKyAgICAgV2VubiBlaW4gQXJ0aWtlbCBhbmdlZ2ViZW4gd2VyZGVuIHNvbGwsIHNvIHdpcmQgMSBnZXNldHp0LCBzb25zdCAwLgorICAgICBEaWVzZSBQcm9wZXJ0eSBpc3QgYXVzIGhpc3RvcmlzY2hlbiBHcnVlbmRlbiBhdWYgMSB2b3JlaW5nZXN0ZWxsdAorICAgICB1bmQgaW50ZXJuIGludmVydGllcnQuIChkLmguLCBiZWltIEF1c2xlc2VuIHBlciBRdWVyeSBrb21tdCBhbHMgCisgICAgIEVyZ2VibmlzIGdlbmF1IGRhcyBmYWxzY2hlIGhlcmF1cykuIEJpdHRlIGJlYWNodGV0IGRhcyBiZWkgU2V0LSBiencuCisgICAgIFF1ZXJ5LUZ1bmt0aW9uZW4uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVRUQUNLX0JVU1kgYi9kb2MvcHJvcHMvUF9BVFRBQ0tfQlVTWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNTVkYzViCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVRUQUNLX0JVU1kKQEAgLTAsMCArMSw0NCBAQAorTkFNRToKKyAgICBQX0FUVEFDS19CVVNZICAgICAgICAgICAgICAgICAiYXR0YWNrX2J1c3kiICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBVZWJlciBkaWVzZSBQcm9wZXJ0eSBrYW5uIGZlc3RnZXN0ZWxsdCB3ZXJkZW4sIG9iIGVpbiBTcGllbGVyIG5vY2ggCisgICAgU3BlemlhbHdhZmZlbiAoekIgRmxhbW1lbmt1Z2VsKSBlaW5zZXR6ZW4ga2Fubi4KKyAgICAKKyAgICBJc3QgZGVyIFdlcnQgYmVpIEFiZnJhZ2UgdW5nbGVpY2ggMCwgZGFubiBkYXJmIGRlciBTcGllbGVyIGluIGRpZXNlcgorICAgIFJ1bmRlIGtlaW5lIEFrdGlvbiBtZWhyIGR1cmNoZnVlaHJlbi4gTWl0IFNldFByb3AoUF9BVFRBQ0tfQlVTWSwgMSkKKyAgICB3aXJkIGVpbmUgQWt0aW9uIHZlcmJyYXVjaHQuCisKKyAgICBJbnRlcm4gd2lyZCByZWxhdGl2IGZlaW4gZ2VyZWNobmV0LCBlaW4gU2V0UHJvcChQX0FUVEFDS19CVVNZLCB4KQorICAgIHdpcmQgaW4gZGFzIEFiemllaGVuIHZvbiB4KjEwMCBQdW5rdGVuIHVtZ2VyZWNobmV0LiBEZXIgV2VydCBmcmVpZXIKKyAgICBBa3Rpb25lbiBwcm8gUnVuZGUgYmVyZWNobmV0IHNpY2ggd2llIGZvbGd0OgorICAgIAorICAgIFNwaWVsZXI6IDEwMCArIFF1ZXJ5U2tpbGxBdHRyaWJ1dGUoU0FfU1BFRUQpCisgICAgU2VoZXI6ICAgU3BpZWxlciArIDIwMCArIFF1ZXJ5UHJvcChQX0xFVkVMKQorCisgICAgRGFzIE1heGltdW0gbGllZ3QgYmVpIDUwMC4KKyAgICBEYW1pdCBiZXRyYWVndCBkaWUgQW56YWhsIGRlciBtb2VnbGljaGVuIEFrdGlvbmVuIHBybyBSdW5kZTogV2VydC8xMDAsCisgICAgYWxzbyBtYXhpbWFsIDUgQWt0aW9uZW4gcHJvIFJ1bmRlLgorCisgICAgWmF1YmVyc3BydWVjaGUgemFlaGxlbiBpbSBOb3JtYWxmYWxsIGF1Y2ggYWxzIGVpbmUgQWt0aW9uLgorCitCRU1FUktVTkdFTjoKKyAgICBCZW51dHp0IG1hbiBQX0FUVEFDS19CVVNZIGZ1ZXIgZWluZSBzaWNoIG5pY2h0IHNvZm9ydCB2ZXJicmF1Y2hlbmRlCisgICAgU2FjaGUsIGthbm4gZWluIFNlaGVyIGRpZXNlcyBPYmpla3QgaW0gTm9ybWFsZmFsbCBkcmVpbWFsIHBybyBSdW5kZQorICAgIGJlbnV0emVuLiBXZW5uIHVuZ2V3b2xsdCwgbXVzcyBkYXMgdWViZXIgZWluZW4gWmVpdG1hcmtlciBzZWxic3QKKyAgICB2ZXJoaW5kZXJ0IHdlcmRlbi4KKyAgICAKK0JFSVNQSUVMRToKKyAgICAoQ29kZSBlaW5lcyBPYmpla3RlcyBpc3QgaW4KKyAgICAgL2RvYy9iZWlzcGllbGUvdGVzdG9iamVrdGUvYXR0YWNrX2J1c3lfc2Vuc2l0aXZlX3Rlc3RvYmouYykKKyAgICAvLyBlaW5mYWNoZXIgVGVzdCBhdWYgQVRUQUNLX0JVU1kgdW5kIGFuc2NobGllc3NlbmRlcyBTZXR6ZW4KKyAgICBpZiAodGhpc19wbGF5ZXIoKS0+UXVlcnlQcm9wKFBfQVRUQUNLX0JVU1kpKSB7CisgICAgICB3cml0ZSgiRHUgaGFzdCBkYWZ1ZXIgbW9tZW50YW4gZWluZmFjaCBuaWNodCBtZWhyIGRpZSBQdXN0ZS5cbiIpOworICAgICAgcmV0dXJuIDE7CisgICAgfQorICAgIHRoaXNfcGxheWVyKCktPlNldFByb3AoUF9BVFRBQ0tfQlVTWSwgMSk7CisKKzcuIE1hciAyMDExIEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BVFRSSUJVVEVTIGIvZG9jL3Byb3BzL1BfQVRUUklCVVRFUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOWRhOTExCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVRUUklCVVRFUwpAQCAtMCwwICsxLDU4IEBACitOQU1FOgorCVBfQVRUUklCVVRFUwkJCSJhdHRyaWJ1dGVzIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvYXR0cmlidXRlcy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBlaW4gTWFwcGluZyBtaXQgZGVuIEF0dHJpYnV0ZW4gZGVzCisJTGViZXdlc2Vucy4gRGllIFNjaGx1ZXNzZWwga2VubnplaWNobmVuIGhpZXJiZWkgZGFzIGpld2VpbGlnZQorCUF0dHJpYnV0LiBEaWUgdmVyc2NoaWVkZW5lbiBTdGFuZGFyZGF0dHJpYnV0ZSBmaW5kZXQgbWFuIGluCisJL3N5cy9saXZpbmcvYXR0cmlidXRlcy5oLCB3ZWxjaGUgZGVyemVpdCBmb2xnZW5kZSBNb2VnbGljaGtlaXRlbgorCWJpZXRlbjoJLSBBX1NUUiAoS3JhZnQpCisJCS0gQV9JTlQgKEludGVsbGlnZW56KQorCQktIEFfREVYIChHZXNjaGljaykKKwkJLSBBX0NPTiAoS29uc3RpdHV0aW9uKQorCVNpZSB3ZXJkZW4gYXV0b21hdGlzY2ggYW4gdmVyc2NoaWVkZW5lbiBTdGVsbGVuIGluIGRlciBNVURMaWIKKwlhdXNnZXdlcnRldCwgenVtIEJlaXNwaWVsIGJlc3RpbW10IEFfSU5UIGRpZSBtYXhpbWFsIG1vZWdsaWNoZW4KKwlLb256ZW50cmF0aW9uc3B1bmt0ZSB1bmQgQV9DT04gZGllIG1heGltYWwgbW9lZ2xpY2hlbiBMZWJlbnNwdW5rdGUuCisKK0JFTUVSS1VOR0VOOgorICAgICAgICBLZWluZSBlY2h0ZSBQcm9wZXJ0eSwgX3F1ZXJ5X2F0dHJpYnV0ZXMoKSB1bmQgX3NldF9hdHRyaWJ1dGVzKCkgc2luZCANCisgICAgICAgIGluIC9zdGQvbGl2aW5nL2F0dHJpYnV0ZXMuYyBpbXBsZW1lbnRpZXJ0LgorCisJRXMgYmlldGV0IHNpY2ggYW4sIHp1bSBFcmZyYWdlbiBkZXIgQXR0cmlidXR3ZXJ0ZSBkaWUgRnVua3Rpb24KKwlRdWVyeUF0dHJpYnV0ZSgpIHp1IG51dHplbiwgZGEgZXMgYXVjaCBtb2VnbGljaGUgT2Zmc2V0cyBnaWJ0LAorCXNvIGJlaXNwaWVsc3dlaXNlIHVlYmVyIGRpZSBQcm9wZXJ0aWVzIFBfQVRUUklCVVRFU19PRkZTRVRTIGJ6dy4KKwlQX0FUVFJJQlVURVNfTU9ESUZJRVIgaW0gTGViZXdlc2VuIHNlbGJzdCwgb2RlciBhdWNoIHVlYmVyCisJUF9YX0FUVFJfTU9EIGJ6dy4gUF9NX0FUVFJfTU9EIGluIE9iamVrdGVuIGltIExlYmV3ZXNlbi4KKwlLdXJ6ZnJpc3RpZ2UgemVpdC0gb2RlciBvYmpla3RnZWJ1bmRlbmUgQXR0cmlidXR2ZXJhZW5kZXJ1bmdlbgorCWtvZW5uZW4gdWViZXIgZGllIFByb3BlcnR5IFBfVElNRURfQVRUUl9NT0QgcmVhbGlzaWVydCB3ZXJkZW4uCisKKwlFcyBnaWJ0IGF1Y2ggemFobHJlaWNoZSBhbmRlcmUgRGllbnN0ZnVua3Rpb25lbiBmdWVyIGRpZXNlbiBzZWhyCisJYmFsYW5jZWtyaXRpc2NoZW4gQmVyZWljaCwgc2llaGUgdW50ZW4uCisKK0JFSVNQSUVMOgorCUVpbiBtb2VnbGljaGVzIEVyZ2VibmlzIGZ1ZXIgZWluZW4gZnJpc2NoZW4gTGV2ZWwgMSBTcGllbGVyIHdhZXJlOgorCSAgUXVlcnlQcm9wKFBfQVRUUklCVVRFUyk7CisJICBFcmdlYm5pczogKFsiaW50IjoxLCJjb24iOjEsInN0ciI6MSwiZGV4IjoxXSkKKwlIaW56dSBrb21tZW4gZXZlbnR1ZWxsIG1vZWdsaWNoZSBSYXNzZW5ib25pLCBkaWUgbWl0dGVscworCVBfQVRUUklCVVRFX09GRlNFVFMgcmVhbGlzaWVydCB3ZXJkZW4sIFp3ZXJnZSBzaW5kIGJlaXNwaWVsc3dlaXNlCisJcmVjaHQgc3Rhcms6CisJICBRdWVyeVByb3AoUF9BVFRSSUJVVEVTX09GRlNFVFMpOworCSAgRXJnZWJuaXM6IChbImludCI6MSwiY29uIjoxLCJzdHIiOjEsImRleCI6M10pCisJSmV0enQgYmVrYWVtZSBtYW4gKHNvZmVybiBrZWluZSB3ZWl0ZXJlbiBPZmZzZXRzIHJlYWxpc2llcnQgc2luZCkKKwltaXR0ZWxzIFF1ZXJ5QXR0cmlidXRlKCkgaW5zZ2VzYW10OgorCSAgUXVlcnlBdHRyaWJ1dGUoQV9ERVgpOworCSAgRXJnZWJuaXM6IDQKKworU0lFSEUgQVVDSDoKKwlRdWVyeUF0dHJpYnV0ZSgpLCBRdWVyeVJlYWxBdHRyaWJ1dGUoKSwgUXVlcnlBdHRyaWJ1dGVPZmZzZXQoKSwKKwlTZXRBdHRyaWJ1dGUoKSwgU2V0UmVhbEF0dHJpYnV0ZSgpLCBVcGRhdGVBdHRyaWJ1dGVzKCksCisJU2V0VGltZWRBdHRyTW9kaWZpZXIoKSwgUXVlcnlUaW1lZEF0dHJNb2RpZmllcigpLAorCURlbGV0ZVRpbWVkQXR0ck1vZGlmaWVyKCksCisJUF9BVFRSSUJVVEVTX09GRlNFVFMsIFBfQVRUUklCVVRFU19NT0RJRklFUixQX1RJTUVEX0FUVFJfTU9ELAorCVBfWF9BVFRSX01PRCwgUF9NX0FUVFJfTU9ELCAvc3RkL2xpdmluZy9hdHRyaWJ1dGVzLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVHVlIEp1bCAyNyAyMDowMDoyMCAyMDA0IGJ5IE11YWRpYgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVRUUklCVVRFU19NT0RJRklFUiBiL2RvYy9wcm9wcy9QX0FUVFJJQlVURVNfTU9ESUZJRVIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjViYTUxMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FUVFJJQlVURVNfTU9ESUZJRVIKQEAgLTAsMCArMSw1NiBAQAorTkFNRToKKyAgICBQX0FUVFJJQlVURVNfTU9ESUZJRVIgICAgICAgICAiYXR0cmlidXRlc19tb2RpZmllciIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2F0dHJpYnV0ZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSW4gZGllc2VyIFByb3BlcnR5IHdlcmRlbiBBdHRyaWJ1dC1Nb2RpZmlrYXRvcmVuIGdlc3BlaWNoZXJ0LCBkaWUKKyAgICBsYWVuZ2VyZSBaZWl0IHdpcmtzYW0gc2VpbiBzb2xsZW4sIHRsdy4gYXVjaCB1ZWJlciBlaW5lbiBSZWJvb3QKKyAgICBoaW53ZWcuCisgICAgSW50ZXJuIHdlcmRlbiBkaWUgTW9kaWZpa2F0b3JlbiBpbiBlaW5lbSBNYXBwaW5nIGRlciBGb3JtCisKKyAgICAgICAgKFsgU2V0emVyLUtleSA6IChbIEFfeHkgOiBXZXJ0LCAuLi4gXSkgLCAuLi4gXSkKKworICAgIGdlc3BlaWNoZXJ0LiBEYXMgU2V0emVuIGZvbGcgaGluZ2VnZW4gaW4gZGVyIEZvcm0KKworICAgICAgICBzcGllbGVyLT5TZXRQcm9wKFBfQVRUUklCVVRFU19NT0RJRklFUiwgKFsgQV94eSA6IFdlcnQsIC4uLiBdKSk7CisgICAgb2RlcgorICAgICAgICBzcGllbGVyLT5TZXRQcm9wKFBfQVRUUklCVVRFU19NT0RJRklFUiwgKHsgU2V0emVyLUtleSwgKFsgLi4uIF0pIH0pKTsKKworICAgIEJlaSBkZXIgZXJzdGVuIFZhcmlhbnRlIHdpcmQgaGllcmJlaSBkZXIgRmlsZW5hbWUgZGVzIHNldHplbmRlbiBPYmpla3RlcworICAgIGFscyBTZXR6ZXItS2V5IGdlbm9tbWVuLgorICAgIEVzIGtvZW5uZW4gYWxzbyBkdXJjaGF1cyB2b24gbWVocmVyZW4gT2JqZWt0ZW4gTW9kaWZpZXIgZ2VzZXR6dCB3ZXJkZW4uCisgICAgQmVrYW5udGUgTW9kaWZpZXIgc2luZDoKKworICAgICAgICAjZGVhdGggICAgICBBdHRyaWJ1dC1BYnp1ZyBkdXJjaCBUb2Rlc2ZvbGdlbiAgICAgIChNdWRsaWIpCisgICAgICAgICNkcmFpbiAgICAgIFN0YXRhYnp1ZyBkdXJjaCBOUENzICAgICAgICAgICAgICAgICAgKFBhcmFjZWxzdXMpCisgICAgICAgICNmcm9zY2ggICAgIFN0YWVya2VuLUFienVnIGJlaSBGcm9lc2NoZW4gICAgICAgICAgKE11ZGxpYikKKworQkVNRVJLVU5HRU46CisgICAgS2VpbmUgZWNodGUgUHJvcGVydHksIF9xdWVyeV9hdHRyaWJ1dGVzX21vZGlmaWVyKCkgdW5kCisgICAgX3NldF9hdHRyaWJ1dGVzX21vZGlmaWVyKCkgc2luZCBpbiAvc3RkL2xpdmluZy9hdHRyaWJ1dGVzLmMKKyAgICBpbXBsZW1lbnRpZXJ0CisgICAgLSBTZXRQcm9wL1F1ZXJ5UHJvcCBudXR6ZW4hCisgICAgLSBXZW5uIGVpbiBNb2RpZmllciBuaWNodCBtZWhyIGdlYnJhY2h0IHdpcmQsIG5pY2h0IGRpZSBBdHRyaWJ1dHN3ZXJ0ZSBhdWYKKyAgICAgIDAgc2V0emVuLCBzb25kZXJuIGRlbiBnYW56ZW4gRWludHJhZyEgYWxzbzoKKyAgICAgIFNldFByb3AoUF9BVFRSSUJVVEVTX01PRElGSUVSLCAoW10pICk7CisgICAgICBvZGVyOiBTZXRQcm9wKFBfQVRUUklCVVRFU19NT0RJRklFUiwgMCApOyAKKyAgICAgIGFiZXIgbmljaHQ6IFNldFByb3AoUF9BVFRSSUJVVEVTX01PRElGSUVSLCAoW0FfU1RSOjBdKSk7CisKK0JFSVNQSUVMRToKKyAgICAvLyBlaW4gQm9udXMgLi4uICdlbmRlJy1mZXN0IChtdXNzIGFsc28gcGVyIHVpZCBnZXNpY2hlcnQgd2VyZGVuKQorICAgIHBsYXllci0+U2V0UHJvcChQX0FUVFJJQlVURVNfTU9ESUZJRVIsCisgICAgICAgICAgICAgICAgICAgICh7Imdfa2xlcnVzX3NlZ2VuIiwgKFtBX0NPTjo1LCBBX0lOVDo1XSl9KSk7CisgICAgLi4uCisgICAgcGxheWVyLT5TZXRQcm9wKFBfQVRUUklCVVRFU19NT0RJRklFUiwgKHsiZ19rbGVydXNfc2VnZW4iLCAwfSkpOworCitTSUVIRSBBVUNIOgorCVF1ZXJ5QXR0cmlidXRlKCksIFF1ZXJ5UmVhbEF0dHJpYnV0ZSgpLCBRdWVyeUF0dHJpYnV0ZU9mZnNldCgpLAorCVNldEF0dHJpYnV0ZSgpLCBTZXRSZWFsQXR0cmlidXRlKCksIFVwZGF0ZUF0dHJpYnV0ZXMoKSwKKwlTZXRUaW1lZEF0dHJNb2RpZmllcigpLCBRdWVyeVRpbWVkQXR0ck1vZGlmaWVyKCksCisJRGVsZXRlVGltZWRBdHRyTW9kaWZpZXIoKSwKKwlQX0FUVFJJQlVURVMsIFBfQVRUUklCVVRFU19PRkZTRVRTLCBQX1RJTUVEX0FUVFJfTU9ELAorCVBfWF9BVFRSX01PRCwgUF9NX0FUVFJfTU9ELCAvc3RkL2xpdmluZy9hdHRyaWJ1dGVzLmMKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFR1ZSBKdWwgMjcgMjA6MDA6MjAgMjAwNCBieSBNdWFkaWIKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FUVFJJQlVURVNfT0ZGU0VUUyBiL2RvYy9wcm9wcy9QX0FUVFJJQlVURVNfT0ZGU0VUUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWJlMmI3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVRUUklCVVRFU19PRkZTRVRTCkBAIC0wLDAgKzEsMjcgQEAKK05BTUU6CisJUF9BVFRSSUJVVEVTX09GRlNFVFMJCSJhdHRyaWJ1dGVzX29mZnNldHMiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy9hdHRyaWJ1dGVzLmgKKworQkVTQ0hSRUlCVU5HOgorCURpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbiBNYXBwaW5nIG1pdCBPZmZzZXRzLCBkaWUgenUgZGVuCisJQXR0cmlidXRlbiBlaW5lIExlYmV3ZXNlbnMgYWRkaWVydCB3ZXJkZW4uIERpZXNlIGtvZW5uZW4gYXVjaAorCW5lZ2F0aXYgc2VpbiEgUmVhbGlzaWVydCB3ZXJkZW4gZGFtaXQgYmVpc3BpZWxzd2Vpc2UgUmFzc2VuYm9uaS4KKwlFcyBnaWJ0IG5vY2ggd2VpdGVyZSBNb2VnbGljaGtlaXRlbiwgQXR0cmlidXRvZmZzZXRzIGFuenVnZWJlbi4KKwlGdWVyIHdlaXRlcmVzIHNpZWhlIFBfQVRUUklCVVRFUy4KKworQkVNS0VSVU5HRU46CisgICAgICAgIEtlaW5lIGVjaHRlIFByb3BlcnR5LCBfcXVlcnlfYXR0cmlidXRlc19vZmZzZXRzKCkgdW5kIA0KKyAgICAgICAgX3NldF9hdHRyaWJ1dGVzX29mZnNldHMoKSBzaW5kIGluIC9zdGQvbGl2aW5nL2F0dHJpYnV0ZXMuYyANCisgICAgICAgIGltcGxlbWVudGllcnQuCisKK1NJRUhFIEFVQ0g6CisJUXVlcnlBdHRyaWJ1dGUoKSwgUXVlcnlSZWFsQXR0cmlidXRlKCksIFF1ZXJ5QXR0cmlidXRlT2Zmc2V0KCksCisJU2V0QXR0cmlidXRlKCksIFNldFJlYWxBdHRyaWJ1dGUoKSwgVXBkYXRlQXR0cmlidXRlcygpLAorCVNldFRpbWVkQXR0ck1vZGlmaWVyKCksIFF1ZXJ5VGltZWRBdHRyTW9kaWZpZXIoKSwKKwlEZWxldGVUaW1lZEF0dHJNb2RpZmllcigpLAorCVBfQVRUUklCVVRFUywgUF9BVFRSSUJVVEVTX09GRlNFVFMsIFBfVElNRURfQVRUUl9NT0QsCisJUF9YX0FUVFJfTU9ELCBQX01fQVRUUl9NT0QsIC9zdGQvbGl2aW5nL2F0dHJpYnV0ZXMuYworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVHVlIEp1bCAyNyAyMDowMDoyMCAyMDA0IGJ5IE11YWRpYgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVVUSF9JTkZPIGIvZG9jL3Byb3BzL1BfQVVUSF9JTkZPCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjYTY1YzUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BVVRIX0lORk8KQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQVVUSF9JTkZPICAgICAgICAgICAgICAgICAgICJhdXRoX2luZm8iICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFVzZXJuYW1lIGRlcyBTcGllbGVycywgd2VubiBiZWkgaWhtIGVpbiBBVVRIRCBsYWV1ZnQKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0FVVE9MT0FEIGIvZG9jL3Byb3BzL1BfQVVUT0xPQUQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVhNjljOQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FVVE9MT0FECkBAIC0wLDAgKzEsMTUgQEAKK05BTUU6CisgICAgUF9BVVRPTE9BRCAgICAgICAgICAgICAgICAgICAgImF1dG9sb2FkIiAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNYXBwaW5nIG1pdCBkZXIgTWVuZ2UgZGVyIEF1dG9sb2Fkb2JqZWt0ZSB1bmQgZGVuIHp1Z2VoLgorICAgICBQcm9wZXJ0aWVzLgorCitCRU1FUktVTkdFTjoKKyAgICAgRnVua3Rpb25pZXJ0IG1vbWVudGFuIG5pY2h0LiBEaWUgTWV0aG9kZSB3dXJkZSBlbnRmZXJudC4gRG9rdSBibGVpYnQKKyAgICAgaGllciBiaXMgZGVyIEZhbGwgZ2VrbGFlcnQgaXN0LiAoU3RhbmQgMjcuQXVnIDIwMDYpCisKKzI3LkF1ZyAyMDA2IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BVVRPTE9BRE9CSiBiL2RvYy9wcm9wcy9QX0FVVE9MT0FET0JKCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYjQzM2QKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BVVRPTE9BRE9CSgpAQCAtMCwwICsxLDExOSBAQAorTkFNRToKKyAgICBQX0FVVE9MT0FET0JKICAgICAgICAgICAgICAgICAiYXV0b2xvYWRvYmoiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBIaWVybWl0IGthbm4gcHJpbnppcGllbGwgYW5nZWdlYmVuIHdlcmRlbiBvYiBlaW4gT2JqZWt0IHVlYmVyIGRhcworICAgICBBdXNsb2dnZW4gZWluZXMgU3BpZWxlcnMgKFJlYm9vdC9lbmRlKSBiZWhhbHRlbiB3ZXJkZW4gc29sbC4KKworICAgICBBbHMgSW5oYWx0IGRlciBQcm9wZXJ0eSBrb2VubmVuIHBlcm1hbmVudGUgRWlnZW5zY2hhZnRlbiBkZXMgT2JqZWt0ZXMKKyAgICAgYW5nZWdlYmVuIHdlcmRlbi4KKyAgICAgQmVpbSBFaW5sb2dnZW4gd2lyZCBkYXMgT2JqZWt0IG5ldSBlcnpldWd0IHVuZCBQX0FVVE9MT0FET0JKIGF1ZiBkaWUKKyAgICAgZ2VzcGVpY2hlcnRlbiBXZXJ0ZSBnZXNldHp0LiBEaWUgV2VydGUgbXVlc3NlbiBhbGxlcmRpbmdzIHNlbGJzdAorICAgICB2ZXJ3YWx0ZXQgd2VyZGVuLgorCisgICAgIEJpdHRlIGdlaHQgbmljaHQgZGF2b24gYXVzLCBkYXNzIGVzIHdhZWhyZW5kIGRlcyBTZXR6ZW5zL0FiZnJhZ2VucyBkaWVzZXIKKyAgICAgUHJvcCBlaW5lbiB0aGlzX3BsYXllcigpIG9kZXIgZWluIHRoaXNfaW50ZXJhY3RpdmUoKSBnZWJlbiBtdXNzLgorICAgICBTcGV6aWVsbCBpc3QgdGhpc19pbnRlcmFjdGl2ZSgpIG5pY2h0ID09IC9zZWN1cmUvbG9naW4hCisgICAgIEViZW5mYWxscyBtdXNzIGRhcyBPYmpla3QgYmVpbSBTZXR6ZW4vQWJmcmFnZW4gbmljaHQgaW4gZWluZW0gU3BpZWxlcgorICAgICBzZWluLgorCitCRU1FUktVTkdFTjoKKyAgICAgQXV0b2xvYWRvYmpla3RlIHdlcmRlbiBiZWltIEF1c2xvZ2dlbiBuaWNodCBmYWxsZW5nZWxhc3NlbiEKKworQkVJU1BJRUxFOgorICAgICAjIyBWYXJpYW50ZSAxOiBzaW1wbGVzIE9iamVrdCwgYmxlaWJ0IGVpbmZhY2ggbnVyIGVyaGFsdGVuLAorICAgICAjIyAgICAgICAgICAgICBWYXJpYWJsZW4gd2VyZGVuIG5pY2h0IGdlc2ljaGVydCAjIworICAgICB2b2lkIGNyZWF0ZSgpIHsKKyAgICAgIC4uLgorICAgICAgU2V0UHJvcChQX0FVVE9MT0FET0JKLDEpOworICAgICAgLi4uCisgICAgIH0KKworCisgICAgICMjIFZhcmlhbnRlIDI6IFNwZWljaGVydW5nIG1laHJlcmVyIFZhcmlhYmxlbiB1ZWJlcgorICAgICAjIyAgICAgICAgICAgICBQX0FVVE9MT0FET0JKIChlbGVnYW50ZSBWZXJ3YWx0dW5nKQorCisgICAgIC8vIGVpbiBwYWFyICNkZWZpbmVzIGZ1ZXIgZGllIFBsYWV0emUgaW4gZGVyIFNwZWljaGVydmFyaWFibGVuCisgICAgICNkZWZpbmUgTVlfQUxfU0hPUlQgICAgMAorICAgICAjZGVmaW5lIE1ZX0FMX0FUVFJNICAgIDEKKyAgICAgI2RlZmluZSBNWV9BTF9PV05FUiAgICAyCisgICAgICNkZWZpbmUgTVlfQUxfREVTVFJVQ1QgMworCisgICAgIC8vIGRpZSBWYXJpYWJsZW4sIGRpZSBlcmhhbHRlbiBibGVpYmVuIHNvbGxlbgorICAgICBzdGF0aWMgb2JqZWN0IG93bmVyOworICAgICBzdGF0aWMgaW50IGRlc3RydWN0X3RpbWU7CisKKyAgICAgLy8gZGllc2UgaGllciB3aXJkIGdlcnVmZW4sIHdlbm4gZGVyIFNwaWVsZXIgZ2VzcGVpY2hlcnQgd2lyZCwKKyAgICAgLy8gd2lyIHBhY2tlbiBhbHNvIGFsbGUgYWt0dWVsbGVuIFZhcmlhYmxlbiBpbiBlaW5lIHVuZCBnZWJlbiBkaWUKKyAgICAgLy8genVtIFNwZWljaGVybiBoZXJhdXMgLi4uIHdpciBuZWhtZW4gaGllciBlaW4gQXJyYXkgKHN0YXR0CisgICAgIC8vIHpCIGVpbmVzIE1hcHBpbmdzKSwgd2VpbCBkYXMgYW0gd2VuaWdzdGVuIFBsYXR6IGJyYXVjaHQKKyAgICAgc3RhdGljIG1peGVkKiBfcXVlcnlfYXV0b2xvYWRvYmooKSB7CisgICAgICBtaXhlZCAqcmV0OworICAgICAgcmV0PWFsbG9jYXRlKDQpOworICAgICAgcmV0W01ZX0FMX1NIT1JUXSA9IFF1ZXJ5UHJvcChQX1NIT1JUKTsgICAgICAvLyBTSE9SVCBtZXJrZW4KKyAgICAgIHJldFtNWV9BTF9BVFRSTV0gPSBRdWVyeVByb3AoUF9NX0FUVFJfTU9EKTsgLy8gZWluZW4gTW9kaWZpa2F0b3IgbWVya2VuCisgICAgICByZXRbTVlfQUxfT1dORVJdID0gZ2V0dWlkKG93bmVyKTsgICAgICAgICAgIC8vIGFoLCBlaW4gQmVzaXR6ZXIhCisgICAgICByZXRbTVlfQUxfREVTVFJVQ1RdPWRlc3RydWN0X3RpbWUtdGltZSgpOyAgIC8vIHVuZCBlaW5lIExlYmVuc2RhdWVyIQorCisgICAgICByZXR1cm4gcmV0OworCisgICAgICAvKgorICAgICAgLy8gbm9ybWFsZXJ3ZWlzZSB3dWVyZGUgbWFuIGRhcyBlaW5mYWNoIHNvIHNjaHJlaWJlbjoKKyAgICAgIHJldHVybiAoKHtRdWVyeVByb3AoUF9TSE9SVCksCisgICAgICAgICAgICAgICAgUXVlcnlQcm9wKFBfTV9BVFRSX01PRCksCisgICAgICAgICAgICAgICAgZ2V0dWlkKG93bmVyKSwKKyAgICAgICAgICAgICAgICBkZXN0cnVjdF90aW1lLXRpbWUoKX0pKTsKKyAgICAgICovCisgICAgIH0KKworICAgICAvLyBkaWVzZSBoaWVyIHdpcmQgZ2VydWZlbiwgd2VubiBkYXMgT2JqZWt0IG5ldSBpbSBTcGllbGVyCisgICAgIC8vIGVyemV1Z3Qgd3VyZGUgKExvZ2luKSwgYWxzbyBwYWNrZW4gd2lyIGRhcyBTcGVpY2hlcmFycmF5IHdpZWRlcgorICAgICAvLyBhdXMgdW5kIGluIGFsbGUgZW50c3ByZWNoZW5kZW4gVmFyaWFibGVuCisgICAgIHN0YXRpYyBtaXhlZCogX3NldF9hdXRvbG9hZG9iaihtaXhlZCAqbmV3KSB7CisgICAgICAvLyB3ZW5uIGRhcyBGb3JtYXQgbmljaHQgbWl0IGRlbSBvYmVuIHVlYmVyZWluc3RpbW10IGlzdCB3YXMKKyAgICAgIC8vIHNjaGllZmdlbGF1ZmVuCisgICAgICBpZihwb2ludGVycChuZXcpICYmICFvd25lciAmJiBzaXplb2YobmV3KT40ICYmCisgICAgICAgICAob3duZXI9ZmluZF9wbGF5ZXIobmV3W01ZX0FMX09XTkVSXSkpKSB7CisgICAgICAgLy8gbG9zLCB6dXdlaXNlbiEKKworICAgICAgIFNldFByb3AoUF9TSE9SVCwgICAgICBuZXdbTVlfQUxfU0hPUlRdKTsKKyAgICAgICBTZXRQcm9wKFBfTV9BVFRSX01PRCwgbmV3W01ZX0FMX0FUVFJNXSk7CisgICAgICAgZGVzdHJ1Y3RfdGltZT0gICAgICAgIHRpbWUoKStuZXdbTVlfQUxfREVTVFJVQ1RdOworCisgICAgICAgY2FsbF9vdXQoIydyZW1vdmUsbmV3WzNdKTsKKyAgICAgIH0gZWxzZSBjYWxsX291dCgjJ3JlbW92ZSwwKTsKKworICAgICAgcmV0dXJuIG5ldzsKKyAgICAgfQorCisKKyAgICAgIyMgVmFyaWFudGUgMzogdW5kIGRhcyBnbGVpY2hlIG1pdCBTZXQvUXVlcnltZXRob2RlbiAjIworICAgICAvLyBQcm90b3R5cGVuIGZ1ZXIgU2V0IHVuZCBRdWVyeS1NZXRob2RlbiAtPiBtYW4gU2V0CisgICAgIHN0YXRpYyBtaXhlZCAqbXlfcXVlcnlfYXV0b2xvYWRvYmooKTsKKyAgICAgc3RhdGljIG1peGVkICpteV9zZXRfYXV0b2xvYWRvYmoobWl4ZWQgKm5ldyk7CisKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAvLyBCaW5kZW4gZGVyIE1ldGhvZGVuCisgICAgICBTZXQoUF9BVVRPTE9BRE9CSiwgIydteV9xdWVyeV9hdXRvbG9hZG9iaiwgRl9RVUVSWV9NRVRIT0QpOworICAgICAgU2V0KFBfQVVUT0xPQURPQkosICMnbXlfc2V0X2F1dG9sb2Fkb2JqLCBGX1NFVF9NRVRIT0QpOworCisgICAgICAvLyBkaWUgd2VyZGVuIG51ciB2b24gbWlyIHZlcmFlbmRlcnQhCisgICAgICBTZXQoUF9BVVRPTE9BRE9CSiwgUFJPVEVDVEVELCBGX01PREVfQVMpOworICAgICAgLi4uCisgICAgIH0KKworICAgICBzdGF0aWMgbWl4ZWQgKm15X3F1ZXJ5X2F1dG9sb2Fkb2JqICgpIHsKKyAgICAgICAvLyBzLm8uCisgICAgIH0KKworICAgICBzdGF0aWMgbWl4ZWQgKm15X3NldF9hdXRvbG9hZG9iaiAobWl4ZWQgKm5ldykgeworICAgICAgIC8vIHMuby4KKyAgICAgfQorCitTSUVIRSBBVUNIOgorICAgICBQX0FVVE9MT0FELCBTZXRQcm9wCisKKzI0LkF1Zy4yMDA2IEdsb2luc29uQE1HCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9BVkFUQVJfVVJJIGIvZG9jL3Byb3BzL1BfQVZBVEFSX1VSSQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjc1Mzk5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVZBVEFSX1VSSQpAQCAtMCwwICsxLDIyIEBACitOQU1FOgorICAgIFBfQVZBVEFSX1VSSSAgICAgICAgICAgICAgICAgICAgInBfbGliX2F2YXRhcnVyaSIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIExlYmV3ZXNlbiBzcGVpY2hlcm4gaW4gZGVyIFByb3AgUF9BVkFUQVJfVVJJIGVpbmUgVVJJIChzdHJpbmcpLCB3ZWxjaGUgYXVmCisgICAgZWluIEJpbGQgaW0gTmV0eiB2ZXJ3ZWlzdCwgd2VsY2hlcyBlaW4gQ2xpZW50IGZ1ZXIgZGllc2VzIExlYmV3ZXNlbgorICAgIGFuemVpZ2VuIGthbm4uCisgICAgU3BpZWxlciBrb2VubmVuIGRpZXNlIEF2YXRhci1VUkkgbWl0IGRlbSBCZWZlaGwgJ2F2YXRhcicgYW56ZWlnZW4sCisgICAgYWVuZGVybiB1bmQgbG9lc2NoZW4uCisgICAgQXZhdGFyLVVSSXMgYW5kZXJlciBTcGllbGVyIGxhc3NlbiBzaWNoIG1pdCAnZmluZ2VyIC1hJyBhdXNnZWJlbi4KKworQkVNRVJLVU5HRU46CisgICAgRGllc2UgUHJvcGVydHkga2FubiBudXIgdm9tIFNwaWVsZXIgb2RlciBlaW5lbSBFTSBtb2RpZml6aWVydCB3ZXJkZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgYXZhdGFyCisKK0xFVFpURVIgQUVOREVSVU5HOgorICAgIDAzLjkuMjAxMSwgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVZFUkFHRV9TSVpFIGIvZG9jL3Byb3BzL1BfQVZFUkFHRV9TSVpFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhNjEyMDgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9BVkVSQUdFX1NJWkUKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQVZFUkFHRV9TSVpFICAgICAgICAgICAgICAgICJhdmVyYWdlX3NpemUiICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIER1cmNoc2Nobml0dGxpY2hlIEdyb2Vzc2UgZWluZXMgV2VzZW5zIGRpZXNlciBSYXNzZSAoZGVyemVpdCBudXIgUGxheWVyKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVZFUkFHRV9XRUlHSFQgYi9kb2MvcHJvcHMvUF9BVkVSQUdFX1dFSUdIVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODU1N2NjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQVZFUkFHRV9XRUlHSFQKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQVZFUkFHRV9XRUlHSFQgICAgICAgICAgICAgICAgImF2ZXJhZ2Vfd2VpZ2h0IgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIER1cmNoc2Nobml0dGxpY2hlIEdld2ljaHQgZWluZXMgV2VzZW5zIGRpZXNlciBSYXNzZSAoZGVyemVpdCBudXIgUGxheWVyKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQVdBWSBiL2RvYy9wcm9wcy9QX0FXQVkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmEyYzkzOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0FXQVkKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQVdBWSAgICAgICAgICAgICAgICAgICAgICAgICJhd2F5IiAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBTdHJpbmcgZGVyIGF1c2dlZ2ViZW4gd2lyZCwgd2VubiBtYW4gd2VnIGlzdCB1bmQgZWluZSBNaXR0ZWlsdW5nIGJla29tbXQuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9CQURfTVNHIGIvZG9jL3Byb3BzL1BfQkFEX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDY3ZjJhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQkFEX01TRwpAQCAtMCwwICsxLDI3IEBACitOQU1FOgorICAgICBQX0JBRF9NU0cgICAgICAgICAgICAgICAgICAgICAic3RkX2Zvb2RfYmFkX21zZyIKKworREVGSU5JRVJUIElOOgorICAgICA8c3lzL2Zvb2QuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBNZWxkdW5nLCB3ZW5uIGVpbmUgU3BlaXNlIGdlcmFkZSB2ZXJkaXJidC4KKyAgICAgQmVmaW5kZXQgc2ljaCBkaWUgU3BlaXNlIGluIGVpbmVtIFNwaWVsZXIsIGdlaHQgZGllIE1lbGR1bmcgYW4gZ2VuYXUKKyAgICAgZGllc2VuLCBsaWVndCBkaWUgU3BlaXNlIGltIFJhdW0sIGdlaHQgZGllIE1lbGR1bmcgYW4gYWxsZSBhbndlc2VuZGVuCisgICAgIFNwaWVsZXIuCisgICAgIAorQkVNRVJLVU5HRU46CisgICAgIERpZXNlIE1lbGR1bmcgd2lyZCB2b24gcmVwbGFjZV9wZXJzb25hbCBtaXQgZGVuIEFyZ3VtZW50ZW46CisgICAgIDEuIFNwZWlzZQorICAgICAyLiBLb25zdW1lbnQKKyAgICAgdmVyYXJiZWl0ZXQsIGthbm4gYWxzIGVudHNwcmVjaGVuZGUgUGxhdHpoYWx0ZXIgZW50aGFsdGVuCisgICAgIAorREVGQVVMVDoKKyAgICAgIkBXRVIxIHZlcmRpcmJ0LiIKKworU0lFSEUgQVVDSDoKKyAgICAgUF9MSUZFVElNRSwgUF9SRVNFVF9MSUZFVElNRSwgUF9OT19CQUQsCisgICAgIHdpei9mb29kLCByZXBsYWNlX3BlcnNvbmFsCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE9jdCAyOCAxMjoxNTowMCAyMDEwIGJ5IENhbGRyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0JMSU5EIGIvZG9jL3Byb3BzL1BfQkxJTkQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTgwODE0YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0JMSU5ECkBAIC0wLDAgKzEsMzUgQEAKK05BTUU6CisgICAgUF9CTElORCAgICAgICAgICAgICAgICAgICAgICAgImJsaW5kIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci92aWV3Y21kLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIDEsIHdlbm4gZGVyIFNwaWVsZXIgYmxpbmQgaXN0IHVuZCBuaWNodHMgbWVociBzZWhlbiBrYW5uLgorCisgICAgV2lyZCB2b24gQ2Fubm90U2VlKCkgYmVpICdzY2hhdScgdW5kIEJldHJldGVuIHZvbiBSYWV1bWVuIAorICAgIHUuYWUuIGF1c2dld2VydGV0LgorCisgICAgUF9CTElORCBrYW5uIGF1Y2ggYXVmIGVpbmVuIFN0cmluZyBnZXNldHp0IHdlcmRlbiwgZGVyIAorICAgIGRhbm4gc3RhdHQgZGVzICdEdSBiaXN0IGJsaW5kJyBhdXNnZWdlYmVuIHdpcmQuCisKK0JFSVNQSUVMRToKKworICAgIHRoaXNfcGxheWVyKCktPlNldFByb3AoUF9CTElORCwxKTsKKworICAgIHRoaXNfcGxheWVyKCktPlNldFByb3AoUF9CTElORCwiRHUgaGFzdCBEaXIgdm9yaGluIHNvIHNjaG9lbiBkaWUgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICsiQXVnZW4gYXVzZ2VrcmF0enQgLi4uIGRlc3dlZ2VuICIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICArInNpZWhzdCBEdSBudW4gbmljaHRzIG1laHIuXG4iKTsgICAgCitCRU1FUktVTkdFTjoKKyAgICBVbSBoZXJhdXN6dWZpbmRlbiwgb2IgZWluIFNwaWVsZXIgZXR3YXMgc2VoZW4ga2FubiBvZGVyIG5pY2h0LAorICAgIHNvbGx0ZSBtYW4gbGllYmVyIGlmKHRoaXNfcGxheWVyKCktPkNhbm5vdFNlZSgpICE9IDApIHBydWVmZW4KKyAgICBzdGF0dCBpZih0aGlzX3BsYXllcigpLT5RdWVyeVByb3AoUF9CTElORCkpLgorCisgICAgRGVubiBDYW5ub3RTZWUoKSBiZXJ1ZWNrc2ljaHRpZ3QgYXVjaCBOYWNodHNpY2h0IChiencuIGhpZXIgCisgICAgZWluZSBuaWNodCBha3RpdmllcnRlKSB1bmQgZGllIExpY2h0bW9kaWZpa2F0b3Jlbi4KKworU0lFSEUgQVVDSDoKKyAgICBQX0xJR0hUX01PRElGSUVSLCBQX1BMQVlFUl9MSUdIVCwgQ2Fubm90U2VlCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xldHp0ZSBBZW5kZXJ1bmc6IFNhIDAyLjExLjAyLCAwMDozMDowMCBVaHIsIHZvbiBUaWxseQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQk9EWSBiL2RvYy9wcm9wcy9QX0JPRFkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2QwNDU4MQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0JPRFkKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfQk9EWSAgICAgICAgICAgICAgICAgICAgICAgICJib2R5IiAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBOdW1lcmlzY2hlciBXZXJ0IGZ1ZXIgZGllIEFid2VocnN0YWVya2UgZGVzIGJsYW5rZW4gS29lcnBlcnMKKyAgICAgZGVzIFdlc2Vucy4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0JSSUVGIGIvZG9jL3Byb3BzL1BfQlJJRUYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNlZjQ4NgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0JSSUVGCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0JSSUVGICAgICAgICAgICAgICAgICAgICAgICAiYnJpZWYiICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL3ZpZXdjbWQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIElzdCBnZXNldHp0LCB3ZW5uIGRlciBTcGllbGVyIG51ciBkaWUgS3VyemJlc2NocmVpYnVuZyBzZWhlbiB3aWxsLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQlVGRkVSIGIvZG9jL3Byb3BzL1BfQlVGRkVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2OGY3MTkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9CVUZGRVIKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfQlVGRkVSICAgICAgICAgICAgICAgICAgICAgICJidWZmZXIiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvY29tbS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBaZWlndCBhbiwgb2IgZGVyIEtvYm9sZCBkZXMgU3BpZWxlcnMgYWt0aXYgb2RlciBuaWNodCBha3RpdiBpc3QuCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0JVWV9PTkxZX1BMQU5UUyBiL2RvYy9wcm9wcy9QX0JVWV9PTkxZX1BMQU5UUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Njc0N2M0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQlVZX09OTFlfUExBTlRTCkBAIC0wLDAgKzEsMTUgQEAKK05BTUU6CisgICAgUF9CVVlfT05MWV9QTEFOVFMgICAgICAgICAgICAgICJsaWJfcF9idXlfb25seV9wbGFudHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Jvb20vZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgRGllc2UgUHJvcGVydHkga2FubiBhdWYgMSBnZXNldHp0IHdlcmRlbiwgd2VubiBlaW4gTGFkZW4gbnVyIEtyYWV1dGVyCisgICAgYW5rYXVmZW4gZGFyZi4gSGllcnp1IG11c3MgL3N0ZC9yb29tL2tyYWV1dGVybGFkZW4uYyBnZWVyYnQgd2VyZGVuLAorICAgIGRhIG51ciBkaWVzZXMgT2JqZWt0IGRpZSBQcm9wZXJ0eSBiZXJ1ZWNrc2ljaHRpZ3QuCisKK1NJRUhFIEFVQ0g6CisgICAgL3N0ZC9yb29tL2tyYWV1dGVybGFkZW4uYworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMDIuMDQuMjAxNSBBcmF0aG9ybiAKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NBTExFRF9GUk9NX0lQIGIvZG9jL3Byb3BzL1BfQ0FMTEVEX0ZST01fSVAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk0MjdkMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NBTExFRF9GUk9NX0lQCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0NBTExFRF9GUk9NX0lQICAgICAgICAgICAgICAiY2FsbGVkX2Zyb21faXAiICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTGV0enRlIElQLUFkciwgdm9uIGRlciBhdXMgc2ljaCBkZXIgU3BpZWxlciBlaW5nZWxvZ2d0IGhhdC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NBTl9GTEFHUyBiL2RvYy9wcm9wcy9QX0NBTl9GTEFHUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTNlYjJhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ0FOX0ZMQUdTCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX0NBTl9GTEFHUyAgICAgICAgICAgICAgICAgICAiY2FuX2ZsYWdzIiAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL2Nhbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBGbGFncyBkaWUgYmVzdGltbXRlIEJlZmVobGUgZnJlaXNjaGFsdGVuOgorICAgIENBTl9FTU9URSwgQ0FOX0VDSE8sIENBTl9SRU1PVEUsIENBTl9QUkVTQVkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NBUF9OQU1FIGIvZG9jL3Byb3BzL1BfQ0FQX05BTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZiZTQwOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NBUF9OQU1FCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX0NBUF9OQU1FICAgICAgICAgICAgICAgICAgICAiY2FwX25hbWUiICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTmFtZSBkZXMgU3BpZWxlcnMsIGRlciBkZWtsaW5pZXJ0IHVuZCBhdXNnZWdlbiB3aXJkLgorICAgICBOT1QgWUVUIElNUExFTUVOVEVELgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ0FSUklFRF9WQUxVRSBiL2RvYy9wcm9wcy9QX0NBUlJJRURfVkFMVUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RmOWI2MwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NBUlJJRURfVkFMVUUKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQ0FSUklFRF9WQUxVRSAgICAgICAgICAgICAgICJjYXJyaWVkIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRW50c2NoYWVkaWd1bmcsIGRpZSBkZXIgU3BpZWxlciBiZWltIEVpbmxvZ2dlbiBlcmhhZWx0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ0hBVFMgYi9kb2MvcHJvcHMvUF9DSEFUUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzNjZGVhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ0hBVFMKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQ0hBVFMgICAgICAgICAgICAgICAgICAgICAgICJjaGF0cyIgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBBbGlzdCBtaXQgU3RyaW5ncywgZGllIGRhcyBNb25zdGVyIHp1ZmFlbGxpZyBhdXNnaWJ0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ0hBVF9DSEFOQ0UgYi9kb2MvcHJvcHMvUF9DSEFUX0NIQU5DRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmFjZjA4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ0hBVF9DSEFOQ0UKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQ0hBVF9DSEFOQ0UgICAgICAgICAgICAgICAgICJjaGF0X2NoYW5jZSIgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXYWhyc2NoZWlubGljaGtlaXQsIG1pdCBkZXIgZGllIENoYXRzIGF1c2dlZ2ViZW4gd2VyZGVuLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ0xBU1MgYi9kb2MvcHJvcHMvUF9DTEFTUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDc0Mzk0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ0xBU1MKQEAgLTAsMCArMSwxOSBAQAorUF9DTEFTUworTkFNRToKKyAgICAgUF9DTEFTUwkJCQkJCSJjbGFzcyIKKworREVGSU5JRVJUIElOOgorICAgICA8dGhpbmcvZGVzY3JpcHRpb24uaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWUgS2xhc3NpZml6aWVydW5nIGVpbmVzIE9iamVrdGVzLCBzb3dlaXQgc2llIG5pY2h0IHNjaG9uIHVlYmVyIGRpZSAKKyAgICAgUmFzc2Ugb2RlciBkaWUgSURzIGRlcyBPYmpla3RlcyBlcmZvbGd0IGlzdC4gWnVtIFNldHplbiBkaWVzZXIgUHJvcGVydHkgCisgICAgIHNvbGx0ZSBtYW4gQWRkQ2xhc3MoKSBiZW51dHplbiwgenVyIEtsYXNzZW5hYmZyYWdlIHN0ZWh0IAorICAgICBpc19jbGFzc19tZW1iZXIoKSB6dXIgVmVyZnVlZ3VuZy4KKyAgICAgRGllIG1vZWdsaWNoZW4gS2xhc3NlbiBmaW5kZXQgbWFuIGluIC9zeXMvY2xhc3MuaAorCitTSUVIRSBBVUNIOgorICAgICBBZGRDbGFzcygpLCBSZW1vdmVDbGFzcygpLCBpc19jbGFzc19tZW1iZXIoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTdW4gTWF5IDE5IDIwOjMwOjA5IDE5OTYgYnkgV2FyZ29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9DTE9DS01TRyBiL2RvYy9wcm9wcy9QX0NMT0NLTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiNzJkNjgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9DTE9DS01TRwpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9DTE9DS01TRyAgICAgICAgICAgICAgICAgICAgImNsb2NrbXNnIiAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZSBNZWxkdW5nIHdpcmQgenVyIHZvbGxlbiBTdHVuZGUgYXVzZ2VnZWJlbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ0xPTkVSIGIvZG9jL3Byb3BzL1BfQ0xPTkVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1OWI2MTQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9DTE9ORVIKQEAgLTAsMCArMSwxMiBAQAorTkFNRToKKyAgICBQX0NMT05FUiAgICAgICAgICAgICAgICAgICAgICAiY2xvbmVyIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRW50aGFlbHQgZWluZW4gU3RyaW5nIG1pdCBkZW0gTmFtZW4gZGVzamVuaWdlbiwgZGVyIGRhcyBPYmpla3QgZ2VjbG9uZWQgCisgICAgIGhhdC4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9DTE9ORV9USU1FCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9DTE9ORV9NU0cgYi9kb2MvcHJvcHMvUF9DTE9ORV9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDljOTZhMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NMT05FX01TRwpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9DTE9ORV9NU0cgICAgICAgICAgICAgICAgICAgImNsb25lX21zZyIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNZWxkdW5nLCBkaWUgYmVpbSBDbG9uZW4gZWluZXMgT2JqIGF1c2dlZ2VnZW4gd2lyZCAobnVyIE1hZ2llcikKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NMT05FX1RJTUUgYi9kb2MvcHJvcHMvUF9DTE9ORV9USU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MDQ4NDYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9DTE9ORV9USU1FCkBAIC0wLDAgKzEsMTQgQEAKK05BTUU6CisgICAgUF9DTE9ORV9USU1FICAgICAgICAgICAgICAgICAgICJjbG9uZV90aW1lIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEVudGhhZWx0IGRpZSBDbG9uZS1UaW1lIGVpbmVzIE9iamVrdGVzLgorICAgICBIZXV0enV0YWdlIG9ic29sZXQsIGJpdHRlIHN0YXR0ZGVzc2VuIGxpZWJlciBkaWUgRWZ1biBvYmplY3RfdGltZSgpCisgICAgIGJlbnV0emVuLgorCitTSUVIRSBBVUNIOgorICAgICBWZXJ3YW5kdDogb2JqZWN0X3RpbWUoRSkKKyAgICAgQWVobmxpY2g6IHByb2dyYW1fdGltZShFKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ0xPVEhJTkcgYi9kb2MvcHJvcHMvUF9DTE9USElORwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTNmMDk4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ0xPVEhJTkcKQEAgLTAsMCArMSwyMiBAQAorUF9DTE9USElOR1MKKworTkFNRToKKyAgICAgUF9DTE9USElORyAgICAgICAgICAgICAgICAgICAgICJzdGQ6Y2xvdGhpbmciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGxpdmluZy9jbG90aGluZy5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIEFycmF5IG1pdCBkZXIgZ2V0cmFnZW5lbiBuaWNodC1zY2h1ZXR6ZW5kZW4gS2xlaWR1bmcgZGVzIExlYmV3ZXNlbi4KKyAgICAgCisgICAgIEZhbGxzIGlociBkaWUgS2xlaWR1bmcgZGVzIExlYmV3ZXNlbnMsIGdnZi4gbWl0IGJlc3RpbXRlbiBLcml0ZXJpZW4sCisgICAgIGVybWl0dGVsbiB3b2xsdCwgYmVudXR6dCBoaWVyZnVlciBiaXR0ZSBkaWUgRnVua3Rpb24gRmlsdGVyQ2xvdGhpbmcoKQorICAgICBzdGF0dCBzZWxiZXIgdWViZXIgZGllc2VzIEFycmF5IHp1IGxhdWZlbi4KKworICAgICBEaWVzZSBQcm9wZXJ0eSBrYW5uIG51ciB2b20gTGViZXdlc2VuIHNlbGJlciBiZXNjaHJpZWJlbiB3ZXJkZW4uCisgICAgIAorU0lFSEUgQVVDSDoKKyAgICAgVmVyd2FuZHQ6CQlRdWVyeUFybW91ckJ5VHlwZShMKSwgRmlsdGVyQ2xvdGhpbmcoKSwgRmlsdGVyQXJtb3VycygpCisgICAgICAgICAgICAgICAgICBXZWFyKCksIFVud2VhcigpLCBQX0FSTU9VUlMKKworMTQuMDMuMjAwOSwgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ01TRyBiL2RvYy9wcm9wcy9QX0NNU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAwMTcyMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NNU0cKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQ01TRyAgICAgICAgICAgICAgICAgICAgICAgICJjbG9uZW1zZyIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgKioqIE9CU09MRVQhICoqKiBTaWVoZSBQX0NMT05FX01TRwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ05UX1NUQVRVUyBiL2RvYy9wcm9wcy9QX0NOVF9TVEFUVVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q5MjMyNAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NOVF9TVEFUVVMKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfQ05UX1NUQVRVUyAgICAgICAgICAgICAgICAgICJjbnRfc3RhdHVzIiAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9jb250YWluZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFN0YXR1cyBkZXMgQ29udGFpbmVycyAob2ZmZW4sIGdlc2NobG9zc2VuLCBhYmdlc2NobG9zc2VuKQorICAgICBzaWVoZSBhdWNoIC9zeXMvY29udGFpbmVyLmgKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NPTUJBVENNRFMgYi9kb2MvcHJvcHMvUF9DT01CQVRDTURTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyOWE2NWYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9DT01CQVRDTURTCkBAIC0wLDAgKzEsMzEgQEAKK05BTUU6CisgICAgUF9DT01CQVRDTURTICAgICAgICAgICAgICAgICAgImNvbWJhdGNtZHMiICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEZ1ZXIgZGVuIEthbXBmIGdlYnJhdWNoYmFyZSBCZWZlaGxlIHNwZXppZWxsZXIgT2JqZWt0ZSAoZGFtaXQgYXVjaAorICAgICBNb25zdGVyIHNpZSBhdXRvbWF0aXNjaCByaWNodGlnIGFud2VuZGVuIGtvZW5uZW4pCisgICAgIERlciBJbmhhbHQgdm9uIFBfQ09NQkFUQ01EUyBpc3QgZWluIE1hcHBpbmcsIGRlciBLZXkgaXN0IGRhcyBLb21tYW5kbywKKyAgICAgdW0gZGVuIEdlZ2Vuc3RhbmQgenUgYmVudXR6ZW4gKGFsc28gei5CLiAid2lyZiBmbGFtbWVua3VnZWwiKSwgdW5kIGRlcgorICAgICBWYWx1ZSBlaW4gd2VpdGVyZXMgTWFwcGluZyBtaXQgWnVzYXR6aW5mb3MgKGRlZmluaWVydCBpbiAvc3lzL2NvbWJhdC5oKS4KKyAgICAgRm9sZ2VuZGUgS2V5cyBzaW5kIGRlZmluaWVydDoKKyAgICAgLSBDX01JTiwgQ19BVkcsIENfTUFYOgorICAgICAgIG1pbmltYWxlciwgbWl0dGxlcmVyIHVuZCBtYXhpbWFsZXIgU2NoYWRlbiwgZGVuIGRhcworICAgICAgIE9iamVrdCBtYWNodC4gQWxsZSBBbmdhYmVuIGluIExFQkVOU1BVTktURU4sIGQuaC4gRGVmZW5kLUVpbmhlaXRlbi8xMC4KKyAgICAgICBCZWkgZWluZW0gQXVmcnVmIHdpZSAnZW5lbXktPkRlZmVuZCgyMDArcmFuZG9tKDIwMCksIC4uLiknIGlzdCBkYW5uCisgICAgICAgQ19NSU49MjAsIENfQVZHPTMwLCBDX01BWD00MC4KKyAgICAgLSBDX0RUWVBFUzoKKyAgICAgICBBcnJheSBtaXQgZGVtIFNjaGFkZW5zdHlwIG9kZXIgZGVuIFNjaGFkZW5zdHlwZW4uIEJlaW0gRWlzc3RhYgorICAgICAgIHd1ZXJkZSBkZXIgRWludHJhZyBkYW5uICdDX0RUWVBFUzooe0RUX0NPTER9KScgbGF1dGVuLgorICAgICAtIENfSEVBTDoKKyAgICAgICBTb2xsdGUgZGFzIEthbXBmb2JqZWt0IHVlYmVyIGRpZSBNb2VnbGljaGtlaXQgdmVyZnVlZ2VuLCBkZW4gQW53ZW5kZXIKKyAgICAgICBpcmdlbmR3aWUgenUgaGVpbGVuLCBzbyB3aXJkIGhpZXIgZGllIEhlaWx1bmcgaW4gTFAvTVAgZWluZ2V0cmFnZW4uCisgICAgICAgRGFzIGZ1bmt0aW9uaWVydCBhdWNoIGJlaSBPYmpla3RlbiwgZGllIG51ciBoZWlsZW4sIGFsc28gc29uc3QKKyAgICAgICBuaWNodHMgbWl0IEthbXBmIHp1IHR1biBoYWJlbi4KKyAgICAgICBJbSBMdXBpbmVudGFsIHouQi4gZ2lidCBlcyBQZmlyc2ljaGUsIGRpZSBiZWltIEVzc2VuIDVMUCBoZWlsZW4uIERhCisgICAgICAga2FubiBtYW4gZGFubiAnU2V0UHJvcChQX0NPTUJBVENNRFMsIChbImlzcyBwZmlyc2ljaCI6KFtDX0hFQUw6NV0pXSkpJworICAgICAgIGVpbnRyYWdlbi4KKyAgICAgRXMgc2luZCBhdWNoIG1laHJlcmUgS29tbWFuZG9zIG1vZWdsaWNoLCB6LkIuIGJlaSBPYmpla3RlbiwgZGllIHNvd29obAorICAgICBoZWlsZW4gYWxzIGF1Y2ggS2FtcGZ3aXJrdW5nIGhhYmVuLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ09NTUFORFMgYi9kb2MvcHJvcHMvUF9DT01NQU5EUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjdkMWExCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ09NTUFORFMKQEAgLTAsMCArMSw0NyBAQAorUF9DT01NQU5EUworTkFNRToKKyAgICAgUF9DT01NQU5EUyAiY29tbWFuZHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHRoaW5nL2NvbW1hbmRzLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZWluIE1hcHBpbmcgbWl0IGRlbiBCZWZlaGxlbiwgZGllIGRlbSBPYmpla3QKKyAgICAgenVnZW9yZG5ldCBzaW5kLgorCisgICAgIFNpZSBzb2xsdGUgbmljaHQgdm9uIEhhbmQgbWFuaXB1bGllcnQgd2VyZGVuLCBzb25kZXJuIG51ciB1ZWJlciBkaWUKKyAgICAgRnVua3Rpb25lbiBBZGRDbWQoKSB1bmQgUmVtb3ZlQ21kKCkuCisKKyAgICAgRGFzIE1hcHBpbmcgaGF0IGZvbGdlbmRlbiBBdWZiYXU6CisKKyAgICAgKFsgYmVmZWhsIDogKHtmdW5rdGlvbjEsLi4ufSk7CisgICAgICAgICAgICAgICAgICh7ZmxhZzEsLi4ufSk7CisgICAgICAgICAgICAgICAgICh7cmVnZWwxLC4uLn0pOworICAgICAgICAgICAgICAgICAoe2lkMSwgLi4ufSksCisgICAgICAgIC4uLiBdKQorCisgICAgIERpZSBFaW50cmFlZ2UgZW50c3ByZWNoZW4gZGVuIFBhcmFtZXRlcm4gZGVzIEFkZENtZCgpLUF1ZnJ1ZnMsIHNpbmQKKyAgICAgYWJlciBpbiBhbmRlcmVyIEZvcm0uIEFscyBCZWlzcGllbDoKKworICAgICBBZGRDbWQodmVyYixmdW4xLDEpOworICAgICBBZGRDbWQodmVyYitzeW4xYXxzeW4xYiZzeW4yYXxzeW4yYnxzeW4yYyxmdW4yLAorCSAgIGVycm9yMV9ub3RpZnl8ZXJyb3IyX25vdGlmeV5lcnJvcjJfd3JpdGUpOworICAgICAtLT4KKyAgICAgKFt2ZXJiOih7ZnVuMSxmdW4yfSk7CQkJCQkgIC8vIGZ1bnMKKwkgICAgKHsxLCh7ZXJyb3IxX25vdGlmeSwgZXJyb3IyX3dyaXRlXmVycm9yMl9zYXksIDF9KX0pOyAgLy8gZmxhZ3MKKyAgICAgICAgICAgICh7MCwoeyh7c3luMWEsc3luMWJ9KSwoe3N5bjJhLHN5bjJiLHN5bjJjfSl9KX0pOwkgIC8vIHJ1bGVzCisgICAgICAgICAgICAwXSkJCQkJCQkJICAvLyBJRHMKKworICAgICBBdWZnZXNjaGx1ZXNzZWx0IHNlaGVuIGRpZSBlaW56ZWxuZW4gQXJyYXlzIGZvbGdlbmRlcm1hc3NlbiBhdXM6CisKKyAgICAgUnVsZXM6ICh7PFJlZ2Vsc2F0eiBmdWVyIGZ1bjE+LCAoezwxLiBTeW5vbnltZ3J1cHBlPiwKKwkJCQkgICAgICAgPDIuIFN5bm9ueW1ncnVwcGUsIC4uLn0pLCAuLi59KQorICAgICBGbGFnczogKHs8RmxhZyBmdWVyIGZ1bjE+LCAoezxGZWhsZXJtZWxkdW5nIDEuIFN5bm9ueW1ncnVwcGU+LCAuLi4gLAorCQkJCSAgWywgSW5kZXggZnVlciB3cml0ZSBhbnN0YXR0IG5vdGlmeV9mYWlsXX0pLAorCSAgICAgIC4uLiB9KQorICAgICBJRHM6ICAgMCBvZGVyICh7PElEIGZ1ZXIgZnVuMT59KSBvZGVyICh7MCwgPElEIGZ1ZXIgZnVuMj59KSAuLi4KKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC90aGluZy9jb21tYW5kcy5jLCBBZGRDbWQoKSwgUmVtb3ZlQ21kKCkKKworMDguRGV6LjIwMDMgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NPTVBJTEVSX1BBVEggYi9kb2MvcHJvcHMvUF9DT01QSUxFUl9QQVRICm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjZDI3NDMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9DT01QSUxFUl9QQVRICkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgUF9DT01QSUxFUl9QQVRIICAgICAgICAgICAgICAgImNvbXBpbGVyX3BhdGgiICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3ZfY29tcGlsZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRGlyZWN0b3J5IGluIGRlbSBlaW4gVmlydHVhbCBDb21waWxlciBPYmpla3RlIGVyemV1Z3QuCisgICAgTXVzcyBpbSB2aXJ0dWFsX2NvbXBpbGVyLmMgZ2VzZXR6dCB3ZXJkZW4uCisKKyAgICBEZXIgVmlydHVhbENvbXBpbGVyIG11c3MgbmljaHQgendpbmdlbmQgaW4gZGllc2VtIFZlcnplaWNobmlzCisgICAgbGllZ2VuLCB1bSB6dSBmdW5rdGlvbmllcmVuLCBzb2xsdGUgZXMgYWJlciwgdW0gZGllIFp1b3JkbnVuZyBkZXMgVkNzIHp1CisgICAgInNlaW5lbiIgT2JqZWt0ZW4genUgZXJsZWljaGVybi4KKworQkVJU1BJRUw6CisgICAgU2V0UHJvcChQX0NPTVBJTEVSX1BBVEgsIi9kL3JlZ2lvbi9tYWdpZXIvdmMvIik7CisKK1NJRUhFIEFVQ0g6CisgICAgUF9TVERfT0JKRUNULCB2aXJ0dWFsX2NvbXBpbGVyCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMZXR6dGUgQWVuZGVydW5nOiAyMy4xMC4yMDA3LCB2b24gWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ09OU1VNRV9NU0cgYi9kb2MvcHJvcHMvUF9DT05TVU1FX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjhhMDVhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ09OU1VNRV9NU0cKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICAgUF9DT05TVU1FX01TRyAgICAgICAgICAgICAgICAgInN0ZF9mb29kX2NvbnN1bWVfbXNnIgorCitERUZJTklFUlQgSU46CisgICAgIDxzeXMvZm9vZC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcgYW4gZGVuIFJhdW0gZXhrbHVzaXZlIEtvbnN1bWVudCwgd2VubiBlaW5lIFNwZWlzZSBrb25zdW1pZXJ0CisgICAgIHdpcmQuCisgICAgIAorQkVNRVJLVU5HRU46CisgICAgIERpZXNlIE1lbGR1bmcgd2lyZCB2b24gcmVwbGFjZV9wZXJzb25hbCBtaXQgZGVuIEFyZ3VtZW50ZW46CisgICAgIDEuIFNwZWlzZQorICAgICAyLiBLb25zdW1lbnQKKyAgICAgdmVyYXJiZWl0ZXQsIGthbm4gYWxzIGVudHNwcmVjaGVuZGUgUGxhdHpoYWx0ZXIgZW50aGFsdGVuCisgICAgIAorREVGQVVMVDoKKyAgICAgIkBXRVIyIGtvbnN1bWllcnQgQFdFTjEuIgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2Zvb2QuYywgd2l6L2Zvb2QsIHJlcGxhY2VfcGVyc29uYWwKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ09OVEFJTkVSIGIvZG9jL3Byb3BzL1BfQ09OVEFJTkVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMTVjYTUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9DT05UQUlORVIKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQ09OVEFJTkVSICAgICAgICAgICAgICAgICAgICJjb250YWluZXIiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ09OVEVOVFMgYi9kb2MvcHJvcHMvUF9DT05URU5UUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjEyZGE3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ09OVEVOVFMKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfQ09OVEVOVFMgICAgICAgICAgICAgICAgICAgICJjb250ZW50cyIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9jb250YWluZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICoqKiBPQlNPTEVUISAqKioKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NPUlBTRSBiL2RvYy9wcm9wcy9QX0NPUlBTRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iY2IwYWI2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ09SUFNFCkBAIC0wLDAgKzEsMjUgQEAKK05BTUU6CisgICAgUF9DT1JQU0UJCSJjb3Jwc2UiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSGllciBrYW5uIG1hbiBhbmdlYmVuLCB3ZWxjaGUgQXJ0IHZvbiBMZWljaGUgYmVpbSBUb2QgZGVzIE5QQ3MKKyAgICBoaW50ZXJsYXNzZW4gd2lyZC4gRGFtaXQgZGllIExlaWNoZSBhdWYgZGVtIE1vZXJkZXItS2FuYWwgc2VuZGVuCisgICAga2FubiwgbXVzcyBkYXMgTGVpY2hlbi1PYmpla3QgL3N0ZC9jb3Jwc2Ugc2VpbiBvZGVyIGVyYmVuLgorCitCRUlTUElFTEU6CisgICAgRGllIHVlYmxpY2hlIFN0YW5kYXJkbGVpY2hlIGJlZmluZGV0IHNpY2ggdW50ZXIgIi9zdGQvY29ycHNlLmMiLAorICAgIHdlbGNoZXMgYXVjaCBkaWUgRGVmYXVsdGVpbnN0ZWxsdW5nIGZ1ZXIgZGllc2UgUHJvcGVydHkgZGFyc3RlbGx0OgorICAgICAgU2V0UHJvcChQX0NPUlBTRSwiL3N0ZC9jb3Jwc2UiKTsKKyAgICBNYW4ga29lbm50ZSBhYmVyIGF1Y2ggZWluZW4gWm9tYmllIGVudHN0ZWhlbiBsYXNzZW46CisgICAgICBTZXRQcm9wKFBfQ09SUFNFLFBBVEgoInpvbWJpZSIpKTsKKyAgICBQQVRIIGtlbm56ZWljaG5ldCBoaWVyYmVpIGRlbiBQZmFkLCB1bnRlciB3ZWxjaGVtICJ6b21iaWUuYyIgenUKKyAgICBmaW5kZW4gaXN0LgorCitTSUVIRSBBVUNIOgorICAgIFBfTk9DT1JQU0UsIFBfWkFQX01TRywgUF9ESUVfTVNHLCBQX01VUkRFUl9NU0csIFBfS0lMTF9NU0cKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogTW9uIEFwciAwNyAxMTowMjowNiAyMDAzIGJ5IE1hbmRyYWdvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfQ1VSUkVOVERJUiBiL2RvYy9wcm9wcy9QX0NVUlJFTlRESVIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdiYmQ1YwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0NVUlJFTlRESVIKQEAgLTAsMCArMSwxNSBAQAorTkFNRToKKyAgICBQX0NVUlJFTlRESVIgICAgICAgICAgICAgICAgICAiY3VycmVudGRpciIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvc2hlbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIE1vbWVudGFuZXMgVmVyemVpY2huaXMgaW4gZGVtIGRlciBNYWdpZXIgaXN0LgorICAgIChudXIgZnVlciBNYWdpZXIgdm9uIEJlbGFuZykKKworU2llaGUgYXVjaDoKKyAgICBQX0NVUlJFTlRESVIKKworTGV0enRlIEFlbmRlcnVuZzoKKyAgICAwMy4wNi4yMDE1LCBCdWdmaXgKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0NVUlNFRCBiL2RvYy9wcm9wcy9QX0NVUlNFRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTQ4NmZlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfQ1VSU0VECkBAIC0wLDAgKzEsMzUgQEAKK1BfQ1VSU0VECisKK05BTUU6CisgICAgIFBfQ1VSU0VEICJjdXJzZWQiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHByb3BlcnRpZXMuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBSdWVzdHVuZ2VuIHVuZCBXYWZmZW4sIGRpZSBzaWNoLCBlaW5tYWwgYW5nZXpvZ2VuIGJ6dy4gZ2V6dWVja3QsIG5pY2h0CisgICAgIHdpZWRlciBlbnRmZXJuZW4gbGFzc2VuIHNvbGxlbiwga2FubiBtYW4gdWViZXIgZGllc2UgUHJvcGVydHkKKyAgICAgcmVhbGlzaWVyZW4uIERpZSBXYWZmZSBvZGVyIFJ1ZXN0dW5nIGhhdCBkYW5uIGluIGRlciBSZWdlbCBuZWdhdGl2ZQorICAgICBBdXN3aXJrdW5nZW4gYXVmIGRlbiBUcmFlZ2VyLi4uCisKKyAgICAgU2V0enQgbWFuIGRpZXNlIFByb3BlcnR5IGF1ZiBlaW5lIFphaGwgdW5nbGVpY2ggMCwgc28gYmVrb21tdCBtYW4gYmVpCisgICAgIGRlbSBWZXJzdWNoLCBkZW4gdmVyZmx1Y2h0ZW4gR2VnZW5zdGFuZCBhdXN6dXppZWhlbiBiencuIHdlZ3p1c3RlY2tlbgorICAgICBlaW5lIERlZmF1bHRtZWxkdW5nLgorCisgICAgIFRyYWVndCBtYW4gZGFnZWdlbiBlaW5lbiBTdHJpbmcgZWluLCBzbyB3aXJkIGRpZXNlciBiZWltIFZlcnN1Y2gsIGRlbgorICAgICBHZWdlbnN0YW5kIGxvc3p1d2VyZGVuLCBhdXNnZWdlYmVuLgorCitCRU1FUktVTkdFTjoKKyAgICAgRGVyICdGbHVjaCcgd2lyZCBlcnN0IHdpcmtzYW0sIHdlbm4gZGFzIE9wZmVyIGRpZSBXYWZmZSB6dWVja3QgYnp3LiBkaWUKKyAgICAgUnVlc3R1bmcgYW56aWVodC4gSXN0IGRpZXMgZXJzdCBlaW5tYWwgZ2VzY2hlaGVuLCBoZWxmZW4gbnVyIG5vY2gKKyAgICAgWmF1YmVyc3BydWVjaGUgb2RlciBmbHVjaGJyZWNoZW5kZSBJbnN0aXR1dGlvbmVuLgorCisgICAgIE1vZWNodGUgbWFuLCBkYXNzIGRlciBHZWdlbnN0YW5kIGVudGZsdWNoYmFyIGlzdCwgZGFubiBzb2xsdGUgZXIgYXVjaAorICAgICBhbnNwcmVjaGJhciBzZWluIChndWVsdGlnZSBJRCwgbmljaHQgdW5zaWNodGJhciksIGRhIGRhcyBkdXJjaCBkZXJ6ZWl0aWdlCisgICAgIEVudGZsdWNobW9lZ2xpY2hrZWl0ZW4gdm9yYXVzZ2VzZXR6dCB3aXJkLgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2FybW91ci5jLCAvc3RkL3dlYXBvbi5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFN1biBNYXkgMTkgMTQ6NDU6MjggMTk5NiBieSBXYXJnb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RBTUFHRUQgYi9kb2MvcHJvcHMvUF9EQU1BR0VECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MWUwZTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9EQU1BR0VECkBAIC0wLDAgKzEsMjggQEAKK1BfREFNQUdFRAorCitOQU1FOgorICAgICBQX0RBTUFHRUQgIml0ZW1fZGFtYWdlZCIKKworREVGSU5JRVJUIElOOgorICAgICA8Y29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgUnVlc3R1bmdlbiB1bmQgV2FmZmVuIGtvZW5uZW4gaW0gRWlmZXIgZGVzIEdlZmVjaHRzIGJlc2NoYWVkaWd0IHdlcmRlbi4KKyAgICAgRGVyIEdyYWQgZGVyIEJlc2NoYWVkaWd1bmcgc29sbHRlIGluIGRpZXNlciBQcm9wZXJ0eSBmZXN0Z2VoYWx0ZW4KKyAgICAgd2VyZGVuLgorCisgICAgIEJlaSBXYWZmZW4gZXJnaWJ0IHNpY2ggZGllIHVyc3BydWVuZ2xpY2hlIFdhZmZlbmtsYXNzZSBhdXMgZGVyIFN1bW1lCisgICAgIHZvbiBha3R1ZWxsZXIgV2FmZmVua2xhc3NlIHVuZCBkZW0gV2VydCB2b24gUF9EQU1BR0VEOgorICAgICBhbHRlcyBQX1dDID0gYWt0dWVsbGVzIFBfV0MgKyBQX0RBTUFHRUQuCisKKyAgICAgQW5hbG9nZXMgZ2lsdCBmdWVyIGRpZSBSdWVzdHVuZ3NrbGFzc2UgZWluZXIgYmVzY2hhZWRpZ3RlbiBSdWVzdHVuZzoKKyAgICAgYWx0ZXMgUF9BQyA9IGFrdHVlbGxlcyBQX0FDICsgUF9EQU1BR0VELgorCisgICAgIFBfREFNQUdFRCBiaXR0ZSBuaWVtYWxzIGRpcmVrdCBzZXR6ZW4sIHNvbmRlcm4gaW1tZXIgdWViZXIKKyAgICAgZGllIEZ1bmt0aW9uIERhbWFnZSgpIG1hbmlwdWxpZXJlbiEKKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC9hcm1vdXIuYywgL3N0ZC93ZWFwb24uYywgVGFrZUZsYXcoKSwgUXVlcnlGbGF3KCksIERhbWFnZSgpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzAyLjEwLjIwMDcsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RBTUFHRV9NU0cgYi9kb2MvcHJvcHMvUF9EQU1BR0VfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MjNiMTkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9EQU1BR0VfTVNHCkBAIC0wLDAgKzEsNDcgQEAKK1BfREFNQUdFX01TRworCitOQU1FOgorICAgICBQX0RBTUFHRV9NU0cgICAgICAic3RkX3BfZGFtX21zZyIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEluIGRpZXNlciBQcm9wZXJ0eSBsYXNzZW4gc2ljaCBpbmRpdmlkdWVsbGUgVHJlZmZlci0vU2NoYWRlbnNtZWxkdW5nZW4KKyAgICAgZnVlciBkaWVzZXMgTGViZXdlc2VuIGZlc3RsZWdlbi4gU2llIHdlcmRlbiB2ZXJ3ZW5kZXQsIGZhbGxzIGJlaQorICAgICBlaW5nZWhlbmRlbSBTY2hhZGVuIGRlciBBdWZydWZlciB2b24gRGVmZW5kKCkgU2NoYWRlbnNtZWxkdW5nZW4gd3VlbnNjaHQKKyAgICAgKGQuaC4gU1BfU0hPV19EQU1BR0UgIT0gMCksIGplZG9jaCBrZWluZSBlaWdlbmVuIE1lbGR1bmdlbiB2b3JnaWJ0LgorCisgICAgIEVudGhhZWx0IGRpZXNlIFByb3BlcnR5IGtlaW4gQXJyYXksIHdlcmRlbiBnZ2YuIGRpZSBTdGFuZGFyZG1lbGR1bmdlbgorICAgICBhdXNnZWdlYmVuLgorCisgICAgIERhdGVuc3RydWt0dXIgZGVyIFByb3BlcnR5OgorICAgICAgICh7CisgICAgICAgICh7IGludCBscGhpdDEsIHN0cmluZyBtZXNzX21lLAorICAgICAgICAgICAgICAgICAgICAgICBzdHJpbmcgbWVzc19lbiwKKyAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIG1lc3Nfcm9vbSB9KSwKKyAgICAgICAgKHsgbHBoaXQyLCBtZXNzX21lLCBtZXNzX2VuLCBtZXNzX3Jvb20gfSksCisgICAgICAgIC4uLgorICAgICAgICAoeyBscGhpdG4sIG1lc3NfbWUsIG1lc3NfZW4sIG1lc3Nfcm9vbSB9KSwKKyAgICAgICB9KQorICAgICAgIHdvYmVpIGxwaGl0MTxscGhpdDI8Li4uPGxwaGl0biBzZWluIG11c3MsIGQuaC4gZGFzIEFycmF5LQorICAgICAgIEFycmF5IGlzdCBhdWZzdGVpZ2VuZCBzb3J0aWVydC4KKworICAgICBJc3QgZWluIFRyZWZmZXIgeCBMUCBoYXJ0LCB3ZXJkZW4gZGllIE1lbGR1bmdlbiBkZXMgbHBoaXQtCisgICAgIEFycmF5cyBhdXNnZWdlYmVuLCBkZXNzZW4gV2VydCBhbSBuYWVjaHN0ZW4gdW50ZXIgZGVtIFNjaGFkZW4KKyAgICAgbGllZ3QuCisKKyAgICAgSW4gZGVuIE1lbGR1bmdlbiBtZXNzX21lIChhbiBkZW4gR2V0cm9mZmVuZW4pLCBtZXNzX2VuIChhbgorICAgICBkZW4gRmVpbmQpLCBtZXNzX3Jvb20gKGFuIGRpZSByZXN0bGljaGVuIFVtc3RlaGVuZGVuKSBrb2VubmVuCisgICAgIEVyc2F0enN0cmluZ3Mgd2llIGZvbGd0IHZlcndlbmRldCB3ZXJkZW46CisgICAgIEBXRVIxL0BXRVNTRU4xL0BXRU0xL0BXRU4xIC0gbmFtZShjYXN1cykgZGVzIEdldHJvZmZlbmVuIChUTykKKyAgICAgQFdFUjIvQFdFU1NFTjIvQFdFTTIvQFdFTjIgLSBuYW1lKGNhc3VzKSBkZXMgRmVpbmRlcyAoZW5lbXkpCisKK0JFSVNQSUVMOgorICAgICAKKworU0lFSEUgQVVDSDoKKyAgICAgRGVmZW5kKCkKKyAgICAgL3N0ZC9saXZpbmcvY29tYmF0LmMKKworMTUuMDkuMjAxMCwgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREFNX0RFU0MgYi9kb2MvcHJvcHMvUF9EQU1fREVTQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTkzOGM3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREFNX0RFU0MKQEAgLTAsMCArMSwzNSBAQAorUF9EQU1fREVTQworCitOQU1FOgorICAgICBQX0RBTV9ERVNDICJkYW1fZGVzYyIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uL2Rlc2NyaXB0aW9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgSW4gZGllc2VyIFByb3BlcnR5IGJlZmluZGV0IHNpY2ggZWluIFN0cmluZyBvZGVyIFN0cmluZy1BcnJheSwgZHVyY2ggCisgICAgIGRlbiBkaWUgTGFuZ2Jlc2NocmVpYnVuZyBlaW5lciBSdWVzdHVuZyBvZGVyIFdhZmZlIGVyZ2Flbnp0IHdpcmQsCisgICAgIHdlbm4gZGllc2UgQmVzY2hhZWRpZ3QgaXN0LgorCitCRU1FUktVTkdFTjoKKyAgICAgV2lyZCBlaW4gU3RyaW5nIGdlc2V0enQsIHNvIHdpcmQgZGllc2VyIGFuZ2V6ZWlndCwgd2VubiBkaWUgV2FmZmUKKyAgICAgbWVociBhbHMgZGllIEhhZWxmdGUgYmVzY2hhZWRpZ3QgaXN0LiBCZWkgZWluZW0gQXJyYXkgd2lyZCBkZXIKKyAgICAgVGV4dCBlbnRzcHJlY2hlbmQgZGVtIEdyYWQgZGVyIEJlc2NoYWVkaWd1bmcgYXVzZ2V3YWVobHQ7IGRhcyBBcnJheQorICAgICBtdXNzIGluIGRlciBSZWloZW5mb2xnZSB6dW5laG1lbmRlciBCZXNjaGFlZGlndW5nIHNvcnRpZXJ0IHNlaW4uCisgICAgIAorICAgICBCZWkgV2FmZmVuIGlzdCBQX0RBTV9ERVNDIGRlZmF1bHRtYWVzc2lnIGF1ZiBERkxUX0RBTV9ERVNDIGdlc2V0enQsCisgICAgIGJlaSBSdWVzdHVuZ2VuIGF1ZiAwLgorCitCRUlTUElFTEU6CisgICAgIFNldFByb3AoUF9EQU1fREVTQywiaXN0IGJlc2NoYWVkaWd0Iik7CisgICAgIFNldFByb3AoUF9EQU1fREVTQywoeworICAgICAgICAgImlzdCBldHdhcyBiZXNjaGFlZGlndCIsCisgICAgICAgICAiaXN0IGJlc2NoYWVkaWd0IiwKKyAgICAgICAgICJpc3QgYmVzY2hhZWRpZ3QiLAorICAgICAgICAgImlzdCBzZWhyIGJlc2NoYWVkaWd0In0pICk7CisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvd2VhcG9uL2Rlc2NyaXB0aW9uLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogTW9uIE9jdCAxNCAxNToyOTowMCAxOTk2IGJ5IFBhcmFjZWxzdXMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RBTV9UWVBFIGIvZG9jL3Byb3BzL1BfREFNX1RZUEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTZmYjRiYgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RBTV9UWVBFCkBAIC0wLDAgKzEsMjIgQEAKK1BfREFNX1RZUEUKKworTkFNRToKKyAgICAgUF9EQU1fVFlQRSAiZGFtX3R5cGUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHdlYXBvbi5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIFdhcyBmdWVyIGVpbmUgQXJ0IHZvbiBTY2hhZGVuIHJpY2h0ZXQgZGllIFdhZmZlIGFuPyBIaWVyIGthbm4gbWFuIGVpbmVuCisgICAgIFN0cmluZyBvZGVyIGVpbiBBcnJheSB2b24gU3RyaW5ncyBhbmdlYmVuLCBqZSBuYWNoZGVtLCB3ZWxjaGUgRWZmZWt0ZQorICAgICBkaWUgV2FmZmUgYXVzbG9lc2VuIGthbm4uIE1hbiBzb2xsdGUgaGllciBudXIgZGllIGluIDxjb21iYXQuaD4KKyAgICAgZGVmaW5pZXJ0ZW4gU2NoYWRlbnN0eXBlbiB2ZXJ3ZW5kZW4uCisKKyAgICAgRnJhZ3QgbWFuIGRpZXNlIFByb3BlcnR5IGFiLCBiZWtvbW10IG1hbiB1ZWJyaWdlbnMgaW1tZXIgZWluIEFycmF5IHZvbgorICAgICBTdHJpbmdzIHp1cnVlY2suCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvd2VhcG9uLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU3VuIE1heSAxOSAxNToyMzo0MyAxOTk2IGJ5IFdhcmdvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREVBRFMgYi9kb2MvcHJvcHMvUF9ERUFEUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTQ0Y2Q3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVBRFMKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfREVBRFMgICAgICAgICAgICAgICAgICAgICAgICJkZWFkcyIgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQW56YWhsIGRlciBUb2RlIGRlcyBTcGllbGVycyBzZWl0IEVpbmZ1ZWhydW5nIGRpZXNlciBQcm9wZXJ0eSAoaXJnZW5kd2FubgorICAgICBpbSBEZXplbWJlciA5NCkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFQUYgYi9kb2MvcHJvcHMvUF9ERUFGCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3NDVkZmQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERUFGCkBAIC0wLDAgKzEsMTAgQEAKK05BTUU6CisgICAgUF9ERUFGICAgICAgICAgICAgICAgICAgICAgICAgImRlYWYiICAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9jb21tLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEZXIgU3BpZWxlciBpc3QgdGF1Yi4gRmFsbHMgaGllciBlaW4gU3RyaW5nIHN0ZWh0LCB3aXJkIGRpZXNlciBiZWkKKyAgICAgInRlaWxlIC4uLiBtaXQiIGFuIGRlbiBNaXR0ZWlsZW5kZW4gYXVzZ2VnZWJlbiwgYW5zb25zdGVuIGtvbW10IG51cgorICAgICAiU291bmRzbyBpc3QgbGVpZGVyIGdlcmFkZSB0YXViLlxuIgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREVBVEhfTVNHIGIvZG9jL3Byb3BzL1BfREVBVEhfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDQ0YmYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERUFUSF9NU0cKQEAgLTAsMCArMSw0OCBAQAorREVGSU5JRVJUIElOOg0KKyAgICAgICAgL3N5cy9saXZpbmcvY29tYmF0LmgNCisNCitCRVNDSFJFSUJVTkc6DQorICAgICAgICBJbiBkaWVzZXIgUHJvcGVydHkga2FubiBtYW4gZWluIEFycmF5IGFibGVnZW4sIGRhcyBiZWltIFRvZCBlaW5lcw0KKyAgICAgICAgU3BpZWxlcnMgYXVzZ2V3ZXJ0ZXQgdW5kIGRlciBkYXJpbiBlbnRoYWx0ZW5lIFN0cmluZw0KKyAgICAgICAgYW5zY2hsaWVzc2VuZCBhdWYgZGVtIFRvZGVza2FuYWwgZ2VzZW5kZXQgd2lyZC4NCisgICAgICAgIERlciBBcnJheSBtdXNzIGZvbGdlbmRlbiBBdWZiYXUgaGFiZW46DQorDQorICAgICAgICAgIFNldFByb3AoIFBfREVBVEhfTVNHLCAoeyBUZXh0LCBGbGFnIH0pICkNCisgICAgICAgICAgDQorICAgICAgICBUZXh0OiBEZXIgVGV4dCBrYW5uIGJlbGllYmlnIGVpbmdlZ2ViZW4gd2VyZGUuIEFsbGVyZGluZ3MgZGFyZiANCisgICAgICAgICAgICAgIGVyIG5pY2h0IG1pdCBlaW5lbSAnXG4nIGFiZ2VzY2hsb3NzZW4gd2VyZGVuLg0KKyAgICAgICAgDQorICAgICAgICBGbGFnOiBIaWVyIGthbm4gbWFuIGRyZWkgQXJ0ZW4gdm9uIFNlbmRlbWV0aG9kZW4gd2FlaGxlbi4NCisgICAgICAgICAgICAgIDEuIE1TR19TQVkgICAgICBOb3JtYWxlcyBTZW5kZW4NCisgICAgICAgICAgICAgIDIuIE1TR19HRU1PVEUgICBHZW5pdGl2LUVtb3RlDQorICAgICAgICAgICAgICAzLiBNU0dfRU1PVEUgICAgRW1vdGUNCisNCisNCitCRUlTUElFTDoNCisgICAgICAgIERlciBTcGllbGVyIHNvbGwgZGlyZWt0IG5hY2ggc2VpbmVtIFRvZCBlaW5lIE1lbGR1bmcgYXVmIGRlbSANCisgICAgICAgIFRvZGVza2FuYWwgc2VuZGVuLg0KKyAgICAgICAgDQorICAgICAgICBOYWNocmljaHQgYXVmIGRlbSBUb2Rlcy1LYW5hbDoNCisJDQorICAgICAgICBbVG9kOlNwaWVsZXJdIEljaCB3aWxsIGtlaW5lIEJlbGVpZHNiZWt1bmR1bmdlbiENCisgICAgICAgIA0KKyAgICAgICAgdm9pZCBzcGllbGVyX3N0aXJidCgpDQorCXsNCisgICAgICAgICB0aGlzX3BsYXllcigpLT5TZXRQcm9wKCBQX0RFQVRIX01TRywgKHsgIkljaCB3aWxsIGtlaW5lICINCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkJlbGVpZHNiZWt1bmR1bmdlbiEiLCBNU0dfU0FZfSkgKTsNCisgICAgICAgICB0aGlzX3BsYXllcigpLT5kaWUoKTsNCisgICAgICAgIH0NCisgICAgICAgIA0KKyAgICAgICAgTmFjaHJpY2h0IGF1ZiBkZW0gVG9kZXMtS2FuYWw6DQorCQ0KKyAgICAgICAgW1RvZDpTcGllbGVyIGxpZWJ0IGVzIHp1IHN0ZXJiZW4uXQ0KKyAgICAgICAgDQorICAgICAgICB2b2lkIHNwaWVsZXJfc3RpcmJ0KCkNCisgICAgICAgIHsNCisgICAgICAgICB0aGlzX3BsYXllcigpLT5TZXRQcm9wKCBQX0RFQVRIX01TRywgKHsgImxpZWJ0IGVzIHp1IHN0ZXJiZW4uIiwNCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVNHX0VNT1RFIH0pICk7DQorICAgICAgICAgdGhpc19wbGF5ZXIoKS0+ZGllKCk7DQorICAgICAgICB9DQorDQorU0lFSEUgQVVDSDoNCisgICAgICAgIFBfTVVSREVSX01TRywgUF9GT1JDRV9NVVJERVJfTVNHDQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREVBVEhfU1BPTlNPUkVEX0JZIGIvZG9jL3Byb3BzL1BfREVBVEhfU1BPTlNPUkVEX0JZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZDdkNDIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERUFUSF9TUE9OU09SRURfQlkKQEAgLTAsMCArMSwyNSBAQAorTkFNRToKKyAgICBQX0RFQVRIX1NQT05TT1JFRF9CWSAgICAgICAgICAicmVzcG9uc2libGVfd2l6YXJkX2Zvcl9kZWF0aCIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBoYXQgZnVlciBkZW4gU3BpZWx2ZXJsYXVmIGtlaW5lcmxlaSBCZWRldXR1bmcuCisgICAgRG9jaCBnaWJ0IGVzIE1hZ2llciwgZGllIGlocmVuIE5hbWVuIGdlcm4gaW4gL2xvZy9LSUxMUyBsZXNlbi4KKyAgICBXaXJkIGVpbiBTcGllbGVyIGR1cmNoIGVpbmVuIE5wYyBnZXRvZXRldCwgaXN0IG5vcm1hbGVyd2Vpc2UgZGVyCisgICAgTWFnaWVyIGZ1ZXIgZGVuIFRvZCB2ZXJhbnR3b3J0bGljaCwgaW4gZGVzc2VuIFZlcnplaWNobmlzIHNpY2ggCisgICAgZGFzIE1vbnN0ZXIgYmVmaW5kZXQuIAorICAgIERvY2ggZ2lidCBlcyBudW4gYXVjaCBkZW4gRmFsbCwgZGFzcyBzaWNoIGRhcyBNb25zdGVyIGluIGVpbmVtIAorICAgIFZlcnplaWNobmlzIC9hbGxlL21vbi8gYmVmaW5kZXQsIG9kZXIgZGVyIFNwaWVsZXIgZHVyY2ggZWluZQorICAgIEFrdGlvbiBpbSBSYXVtIG9kZXIgYW4gZWluZW0gT2JqZWt0IHN0aXJidC4KKworICAgIElzdCBpbiBlaW5lbSBzb2xjaGVuIE1vbnN0ZXIsIFJhdW0gb2RlciBPYmpla3QgZGllc2UgUHJvcGVydHkKKyAgICBnZXNldHp0LCB3aXJkIGRlciBkb3J0IGFuZ2ViZW5lIFN0cmluZyBhbiBkYXMgTG9nLUZpbGUgdWViZXItCisgICAgZ2ViZW4uCisKK0JFSVNQSUVMOgorICAgIFNldFByb3AoUF9ERUFUSF9TUE9OU09SRURfQlksInRpbGx5Iik7CisgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBEb24gRmViIDE1IDE0OjAxOjAwIDIwMDEgdm9uIFRpbGx5CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ERUZBVUxUX0dVSUxEIGIvZG9jL3Byb3BzL1BfREVGQVVMVF9HVUlMRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGNhNGU2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVGQVVMVF9HVUlMRApAQCAtMCwwICsxLDI1IEBACitOQU1FOgorCVBfREVGQVVMVF9HVUlMRAkJCSJkZWZhdWx0X2d1aWxkIgorCitERUZJTklFUlQgSU46CisJL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorCURpZXNlIFByb3BlcnR5IGVudGhhZWx0IGRlbiBOYW1lbiBkZXIgR2lsZGUsIHdlbGNoZXIgZGVyIFNwaWVsZXIKKwlzdGFuZGFyZG1hZXNzaWcgYW5nZWhvZXJ0LiBEZXIgTmFtZSB3aXJkIGhpZXJiZWkgaW4gRm9ybSBlaW5lcworCWtsZWluZ2VzY2hyaWViZW5lbiBTdHJpbmdzIGFuZ2VnZWJlbi4gSXN0IFBfR1VJTEQgZ2xlaWNoIE51bGwsIHNvCisJd2lyZCBiZWkgZGVyIEFiZnJhZ2Ugc2VsYmlnZXIgUHJvcGVydHkgaGllcmZ1ZXIgZGVyIEVpbnRyYWcgdm9uCisJUF9ERUZBVUxUX0dVSUxEIGVpbmdlc2V0enQuCisKK0JFTUVSS1VOR0VOOgorCU5hY2ggZGVtIGVyc3RlbiBFaW5sb2dnZW4gZGVzIFNwaWVsZXJzIHdpcmQgZWJlbmZhbGxzIGRpZXNlciBFaW50cmFnCisJZ2VudXR6dCwgdW0gZGllIEdpbGRlbnp1Z2Vob2VyaWdrZWl0IGZlc3R6dWxlZ2VuLiBEaWVzIGthbm4gZGF6dQorCWdlbnV0enQgd2VyZGVuLCB1bSBlaW5lIHJhc3NlbmFiaGFlbmdpZ2UgQmVzdGltbXVuZyBkZXIKKwlTdGFuZGFyZGdpbGRlIHp1IGdld2FlaHJsZWlzdGVuCisJIChGZWxpbmVuIC0+IEthdHplbmtyaWVnZXIsIGFuZGVyZSBSYXNzZW4gLT4gQWJlbnRldXJlcikuCisKK1NJRUhFIEFVQ0g6CisJUF9HVUlMRCwgUF9WSVNJQkxFX0dVSUxECisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFdlZCBKYW4gMTQgMTk6MTc6MDYgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFRkFVTFRfTk9USUZZX0ZBSUwgYi9kb2MvcHJvcHMvUF9ERUZBVUxUX05PVElGWV9GQUlMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxMWU4ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERUZBVUxUX05PVElGWV9GQUlMCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0RFRkFVTFRfTk9USUZZX0ZBSUwgICAgICAgICAiZGVmYXVsdF9ub3RpZnlfZmFpbCIgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZWxjaGUgRmVobGVybWVsZHVuZyBrb21tdCwgd2VubiBrZWluIE9iamVrdCBlaW4gbm90aWZ5X2ZhaWwgbWFjaHQ/CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ERUZFTkRFUlMgYi9kb2MvcHJvcHMvUF9ERUZFTkRFUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQ3MWQ0NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RFRkVOREVSUwpAQCAtMCwwICsxLDMwIEBACitOQU1FOgorCVBfREVGRU5ERVJTCQkJImRlZmVuZGVycyIKKworREVGSU5JRVJUIElOOgorCS9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBQcm9wZXJ0eSB3aXJkIGluIExlYmV3ZXNlbiBnZXNldHp0LCB3ZWxjaGUgenVtIEJlaXNwaWVsIGR1cmNoCisJYW5kZXJlIExlYmV3ZXNlbiB2ZXJ0ZWlkaWd0IHdlcmRlbi4gRGllIFZlcnRlaWRpZ2VyIG11ZXNzZW4KKwluYXR1ZXJsaWNoIGJla2FubnQgc2VpbiwgZGFtaXQgc2llIHBlciBJbmZvcm1EZWZlbmQoKSB1ZWJlciBBbmdyaWZmZQorCWluZm9ybWllcnQgd2VyZGVuIHVuZCBwZXIgRGVmZW5kT3RoZXIoKSBpbiBkZW4gbGF1ZmVuZGVuIEFuZ3JpZmYKKwllaW5ncmVpZmVuIGtvZW5uZW4gKHp1bSBCZWlzcGllbCBTY2hhZWRlbiBhYndlaHJlbiBvZGVyIHVtd2FuZGVsbikuCisJRXMgbXVlc3NlbiBqZWRvY2ggbmljaHQgdW5iZWRpbmd0IExlYmV3ZXNlbiBvZGVyIGVjaHRlIFZlcnRlaWRpZ2VyCisJc2VpbiwgYXVjaCBiZWxpZWJpZ2UgT2JqZWt0ZSBrb2VubmVuIHVlYmVyIEFuZ3JpZmZlIGluZm9ybWllcnQKKwl3ZXJkZW4gdW5kIGluIGRpZXNlIGVpbmdyZWlmZW4uIEFsbGVyZGluZ3MgYmVzdGVodCBkaWUKKwlFaW5zY2hyYWVua3VuZywgZGFzcyBkaWVzZSBPYmpla3RlIGluIGRlciBnbGVpY2hlbiBVbWdlYnVuZyBzZWluCisJbXVlc3Nlbiwgd2llIGRhcyB6dSB2ZXJ0ZWlkaWdlbmRlIExlYmV3ZXNlbiBvZGVyIGltIHp1IHZlcnRlaWRpZ2VuZGVuCisJTGViZXdlc2VuIHNlbGJzdC4KKwlEaWUgT2JqZWt0ZSwgd2VsY2hlIGRpZXMgYmV0cmlmZnQsIHNpbmQgaW4gRm9ybSBlaW5lcyBBcnJheXMgaW4KKwlkZXIgUHJvcGVydHkgUF9ERUZFTkRFUlMgYWJnZWxlZ3QuCisJR2VzZXR6dCB1bmQgZ2Vsb2VzY2h0IHdlcmRlbiBzb2xsdGVuIGRpZSBFaW50cmFlZ2UgZGllc2VzIEFycmF5cworCWplZG9jaCBudXIgbWl0dGVscyBkZXIgZGFmdWVyIGJlcmVpdGdlc3RlbGx0ZW4gRnVua3Rpb25lbgorCUFkZERlZmVuZGVyKCkgdW5kIFJlbW92ZURlZmVuZGVyKCkuCisKK1NJRUhFIEFVQ0g6CisJQWRkRGVmZW5kZXIoKSwgUmVtb3ZlRGVmZW5kZXIoKSwgSW5mb3JtRGVmZW5kKCksIERlZmVuZE90aGVyKCksCisJL3N0ZC9saXZpbmcvY29tYmF0LmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMjEuMDkuMjAwNywgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREVGRU5EX0ZVTkMgYi9kb2MvcHJvcHMvUF9ERUZFTkRfRlVOQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMmYxZThjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVGRU5EX0ZVTkMKQEAgLTAsMCArMSwzMSBAQAorUF9ERUZFTkRfRlVOQworCitOQU1FOgorICAgICBQX0RFRkVORF9GVU5DICJkZWZlbmRfZnVuYyIKKworREVGSU5JRVJUIElOOgorICAgICA8YXJtb3VyLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmFsbHMgZWluIE9iamVrdCBlaW5lIERlZmVuZEZ1bmMoKSBmdWVyIGRpZSBSdWVzdHVuZyBkZWZpbmllcnQsIHNvIG11c3MKKyAgICAgZGllc2VzIE9iamVrdCBpbiBkaWVzZXIgUHJvcGVydHkgZWluZ2V0cmFnZW4gc2Vpbi4KKworICAgICBEaWUgQXVzd2VydHVuZyBkaWVzZXIgUHJvcGVydHkgZXJmb2xndCBpbiBRdWVyeURlZmVuZCgpLgorCitCRU1FUktVTkdFTjoKKyAgICAgMS4gRXMgZnVua3Rpb25pZXJ0IF9uaWNodF8gaGllciBlaW5lIENsb3N1cmUgcmVpbnp1c2NocmVpYmVuLgorICAgICAyLiBEaWVzZSBQcm9wIGxhZXNzdCBzaWNoIF9uaWNodF8gc2lubnZvbGwgbWl0IFNldCgpIHNldHplbiwgYWxzbyB6LkIuCisgICAgICAgIGtlaW5lIFF1ZXJ5LU1ldGhvZGVuIGhpZXIgcmVpbnp1c2NocmVpYmVuLgorICAgICAzLiBEZWZpbmllcmVuIHZvbiBfc2V0X2RlZmVuZF9mdW5jKCkgb2RlciBTZXQtTWV0aG9kZW4gdmlhIFNldCgpCisgICAgICAgIGZ1bmt0aW9uaWVydCBhdWNoIG5pY2h0LCB6dW1pbmRlc3QgbmljaHQgbWl0IGRlbSBnZXd1ZW5zY2h0ZW4KKyAgICAgICAgRXJnZWJuaXMuIDstKQorICAgICA0LiBCZWkgVmVyd2VuZHVuZyBiaXR0ZSBCYWxhbmNlLVJpY2h0bGluaWVuIGJlYWNodGVuIQorCitCRUlTUElFTEU6CisgICAgIFNpZWhlIGRhcyBCZWlzcGllbCB6dSBEZWZlbmRGdW5jKCkKKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC9hcm1vdXIuYywgRGVmZW5kRnVuYygpLCBiYWxhbmNlLCBncmVuendlcnRlCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFNhdCBNYXkgMTggMTU6MjY6MTcgMTk5NiBieSBXYXJnb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFRlVFTF9BTU9VTlRfRFJJTksgYi9kb2MvcHJvcHMvUF9ERUZVRUxfQU1PVU5UX0RSSU5LCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1OGUyNjEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERUZVRUxfQU1PVU5UX0RSSU5LCkBAIC0wLDAgKzEsMjAgQEAKK05BTUU6CisgICAgUF9ERUZVRUxfQU1PVU5UX0RSSU5LICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmdWVsX2Ftb3VudF9kcmluayIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvZGVmdWVsLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEVudGhhZWx0IGRpZSByYXNzZW5hYmhhZW5naWdlIEVudHRhbmt2b3JnYWJlIGZ1ZXIgVHJpbmtlbi4KKyAgICAKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoOiAgUF9ERUZVRUxfVElNRV9GT09ELCBQX0RFRlVFTF9USU1FX0RSSU5LCisgICAgICAgICAgICAgICAgUF9ERUZVRUxfTElNSVRfRk9PRCwgUF9ERUZVRUxfTElNSVRfRFJJTkssCisgICAgICAgICAgICAgICAgUF9ERUZVRUxfQU1PVU5UX0ZPT0QKKyAgICAgTWV0aG9kZW46ICBkZWZ1ZWxfZHJpbmssIGRlZnVlbF9mb29kCisgICAgIFRhbmtlbjogICAgY29uc3VtZSwgZHJpbmtfYWxjb2hvbCwgZHJpbmtfc29mdCwgZWF0X2Zvb2QKKyAgICAgV2VpdGVyZTogICBQX0RSSU5LLCBQX0ZPT0QsIFBfQUxDT0hPTCwgUF9TUCwgUF9IUCwKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9USU1FX0ZPT0QsIFBfREVGVUVMX1RJTUVfRFJJTksKKyAgICAgS29uemVwdGU6ICBoZWlsdW5nLCBlbnR0YW5rZW4sIGZvb2QKKworOS4gQXVndXN0IDIwMTUgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFRlVFTF9BTU9VTlRfRk9PRCBiL2RvYy9wcm9wcy9QX0RFRlVFTF9BTU9VTlRfRk9PRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODU1NGJlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVGVUVMX0FNT1VOVF9GT09ECkBAIC0wLDAgKzEsMjAgQEAKK05BTUU6CisgICAgUF9ERUZVRUxfQU1PVU5UX0ZPT0QgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZ1ZWxfYW1vdW50X2Zvb2QiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2RlZnVlbC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFbnRoYWVsdCBkaWUgcmFzc2VuYWJoYWVuZ2lnZSBFbnR0YW5rdm9yZ2FiZSBmdWVyIEVzc2VuLgorICAgIAorU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2g6ICBQX0RFRlVFTF9USU1FX0ZPT0QsIFBfREVGVUVMX1RJTUVfRFJJTksKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9MSU1JVF9GT09ELCBQX0RFRlVFTF9MSU1JVF9EUklOSywKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9BTU9VTlRfRFJJTksKKyAgICAgTWV0aG9kZW46ICBkZWZ1ZWxfZHJpbmssIGRlZnVlbF9mb29kCisgICAgIFRhbmtlbjogICAgY29uc3VtZSwgZHJpbmtfYWxjb2hvbCwgZHJpbmtfc29mdCwgZWF0X2Zvb2QKKyAgICAgV2VpdGVyZTogICBQX0RSSU5LLCBQX0ZPT0QsIFBfQUxDT0hPTCwgUF9TUCwgUF9IUCwKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9USU1FX0ZPT0QsIFBfREVGVUVMX1RJTUVfRFJJTksKKyAgICAgS29uemVwdGU6ICBoZWlsdW5nLCBlbnR0YW5rZW4sIGZvb2QKKworOS4gQXVndXN0IDIwMTUgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFRlVFTF9MSU1JVF9EUklOSyBiL2RvYy9wcm9wcy9QX0RFRlVFTF9MSU1JVF9EUklOSwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTU5ZGY0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVGVUVMX0xJTUlUX0RSSU5LCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgUF9ERUZVRUxfTElNSVRfRFJJTksgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZ1ZWxfbGltaXRfZHJpbmsiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2RlZnVlbC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFbnRoYWVsdCBkaWUgcmFzc2VuYWJoYWVuZ2lnZSBtaW5pbWFsZSBNZW5nZSBhbiBUcmlua2VuLCBhYiBkZW0gZWluCisgICAgRW50dGFua3ZvcmdhbmcgZnVlciBkZW4gU3BpZWxlciBtb2VnbGljaCBpc3QuCisgICAgCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaDogIFBfREVGVUVMX1RJTUVfRk9PRCwgUF9ERUZVRUxfVElNRV9EUklOSworICAgICAgICAgICAgICAgIFBfREVGVUVMX0xJTUlUX0ZPT0QsCisgICAgICAgICAgICAgICAgUF9ERUZVRUxfQU1PVU5UX0ZPT0QsIFBfREVGVUVMX0FNT1VOVF9EUklOSworICAgICBNZXRob2RlbjogIGRlZnVlbF9kcmluaywgZGVmdWVsX2Zvb2QKKyAgICAgVGFua2VuOiAgICBjb25zdW1lLCBkcmlua19hbGNvaG9sLCBkcmlua19zb2Z0LCBlYXRfZm9vZAorICAgICBXZWl0ZXJlOiAgIFBfRFJJTkssIFBfRk9PRCwgUF9BTENPSE9MLCBQX1NQLCBQX0hQLAorICAgICAgICAgICAgICAgIFBfREVGVUVMX1RJTUVfRk9PRCwgUF9ERUZVRUxfVElNRV9EUklOSworICAgICBLb256ZXB0ZTogIGhlaWx1bmcsIGVudHRhbmtlbiwgZm9vZAorCis5LiBBdWd1c3QgMjAxNSBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREVGVUVMX0xJTUlUX0ZPT0QgYi9kb2MvcHJvcHMvUF9ERUZVRUxfTElNSVRfRk9PRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNmUzM2ZkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVGVUVMX0xJTUlUX0ZPT0QKQEAgLTAsMCArMSwyMSBAQAorTkFNRToKKyAgICBQX0RFRlVFTF9MSU1JVF9GT09EICAgICAgICAgICAgICAgICAgICAgICAgICAiZGVmdWVsX2xpbWl0X2Zvb2QiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2RlZnVlbC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFbnRoYWVsdCBkaWUgcmFzc2VuYWJoYWVuZ2lnZSBtaW5pbWFsZSBNZW5nZSBhbiBFc3NlbiwgYWIgZGVtIGVpbgorICAgIEVudHRhbmt2b3JnYW5nIGZ1ZXIgZGVuIFNwaWVsZXIgbW9lZ2xpY2ggaXN0LgorICAgIAorU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2g6ICBQX0RFRlVFTF9USU1FX0ZPT0QsIFBfREVGVUVMX1RJTUVfRFJJTksKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9MSU1JVF9EUklOSywKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9BTU9VTlRfRk9PRCwgUF9ERUZVRUxfQU1PVU5UX0RSSU5LCisgICAgIE1ldGhvZGVuOiAgZGVmdWVsX2RyaW5rLCBkZWZ1ZWxfZm9vZAorICAgICBUYW5rZW46ICAgIGNvbnN1bWUsIGRyaW5rX2FsY29ob2wsIGRyaW5rX3NvZnQsIGVhdF9mb29kCisgICAgIFdlaXRlcmU6ICAgUF9EUklOSywgUF9GT09ELCBQX0FMQ09IT0wsIFBfU1AsIFBfSFAsCisgICAgICAgICAgICAgICAgUF9ERUZVRUxfVElNRV9GT09ELCBQX0RFRlVFTF9USU1FX0RSSU5LCisgICAgIEtvbnplcHRlOiAgaGVpbHVuZywgZW50dGFua2VuLCBmb29kCisKKzkuIEF1Z3VzdCAyMDE1IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ERUZVRUxfVElNRV9EUklOSyBiL2RvYy9wcm9wcy9QX0RFRlVFTF9USU1FX0RSSU5LCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlNWVhZjAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERUZVRUxfVElNRV9EUklOSwpAQCAtMCwwICsxLDIxIEBACitOQU1FOgorICAgIFBfREVGVUVMX1RJTUVfRFJJTksgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZ1ZWxfdGltZV9kcmluayIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvZGVmdWVsLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEVudGhhZWx0IGRpZSByYXNzZW5hYmhhZW5naWdlIG1pbmltYWxlIFplaXQgendpc2NoZW4gZWluemVsbmVuCisgICAgRW50dGFua3ZvcmdhZW5nZW4gZnVlciBUcmlua2VuIGVpbmVzIFNwaWVsZXJzLgorICAgIAorU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2g6ICBQX0RFRlVFTF9USU1FX0ZPT0QsCisgICAgICAgICAgICAgICAgUF9ERUZVRUxfTElNSVRfRk9PRCwgUF9ERUZVRUxfTElNSVRfRFJJTkssCisgICAgICAgICAgICAgICAgUF9ERUZVRUxfQU1PVU5UX0ZPT0QsIFBfREVGVUVMX0FNT1VOVF9EUklOSworICAgICBNZXRob2RlbjogIGRlZnVlbF9kcmluaywgZGVmdWVsX2Zvb2QKKyAgICAgVGFua2VuOiAgICBjb25zdW1lLCBkcmlua19hbGNvaG9sLCBkcmlua19zb2Z0LCBlYXRfZm9vZAorICAgICBXZWl0ZXJlOiAgIFBfRFJJTkssIFBfRk9PRCwgUF9BTENPSE9MLCBQX1NQLCBQX0hQLAorICAgICAgICAgICAgICAgIFBfREVGVUVMX1RJTUVfRk9PRCwgUF9ERUZVRUxfVElNRV9EUklOSworICAgICBLb256ZXB0ZTogIGhlaWx1bmcsIGVudHRhbmtlbiwgZm9vZAorCis5LiBBdWd1c3QgMjAxNSBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfREVGVUVMX1RJTUVfRk9PRCBiL2RvYy9wcm9wcy9QX0RFRlVFTF9USU1FX0ZPT0QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdiZGQ3OQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RFRlVFTF9USU1FX0ZPT0QKQEAgLTAsMCArMSwyMSBAQAorTkFNRToKKyAgICBQX0RFRlVFTF9USU1FX0ZPT0QgICAgICAgICAgICAgICAgICAgICAgICAgICJkZWZ1ZWxfdGltZV9mb29kIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9kZWZ1ZWwuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRW50aGFlbHQgZGllIHJhc3NlbmFiaGFlbmdpZ2UgbWluaW1hbGUgWmVpdCB6d2lzY2hlbiBlaW56ZWxuZW4KKyAgICBFbnR0YW5rdm9yZ2FlbmdlbiBmdWVyIEVzc2VuIGVpbmVzIFNwaWVsZXJzLgorICAgIAorU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2g6ICBQX0RFRlVFTF9USU1FX0RSSU5LLAorICAgICAgICAgICAgICAgIFBfREVGVUVMX0xJTUlUX0ZPT0QsIFBfREVGVUVMX0xJTUlUX0RSSU5LLAorICAgICAgICAgICAgICAgIFBfREVGVUVMX0FNT1VOVF9GT09ELCBQX0RFRlVFTF9BTU9VTlRfRFJJTksKKyAgICAgTWV0aG9kZW46ICBkZWZ1ZWxfZHJpbmssIGRlZnVlbF9mb29kCisgICAgIFRhbmtlbjogICAgY29uc3VtZSwgZHJpbmtfYWxjb2hvbCwgZHJpbmtfc29mdCwgZWF0X2Zvb2QKKyAgICAgV2VpdGVyZTogICBQX0RSSU5LLCBQX0ZPT0QsIFBfQUxDT0hPTCwgUF9TUCwgUF9IUCwKKyAgICAgICAgICAgICAgICBQX0RFRlVFTF9USU1FX0ZPT0QsIFBfREVGVUVMX1RJTUVfRFJJTksKKyAgICAgS29uemVwdGU6ICBoZWlsdW5nLCBlbnR0YW5rZW4sIGZvb2QKKworOS4gQXVndXN0IDIwMTUgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFUEFSVE1TRyBiL2RvYy9wcm9wcy9QX0RFUEFSVE1TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTVjOGJkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVQQVJUTVNHCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0RFUEFSVE1TRyAgICAgICAgICAgICAgICAgICAiZGVwYXJ0bXNnIiAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdHJhbnNwb3J0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNZWxkdW5nLCBtaXQgZGVyIGVpbiBUcmFuc3BvcnRlciBhYmxlZ3QuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ERVNDUklQVElPTiBiL2RvYy9wcm9wcy9QX0RFU0NSSVBUSU9OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzVjYzcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERVNDUklQVElPTgpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9ERVNDUklQVElPTiAgICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIiAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEJlc2NocmVpYnVuZyBkZXMgU3BpZWxlcnMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFU1RST1lfQkFEIGIvZG9jL3Byb3BzL1BfREVTVFJPWV9CQUQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU2M2FmOQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RFU1RST1lfQkFECkBAIC0wLDAgKzEsMjkgQEAKK05BTUU6CisgICAgIFBfREVTVFJPWV9CQUQgICAgICAgICAgICAgICAgICJzdGRfZm9vZF9kZXN0cm95X2JhZCIKKworREVGSU5JRVJUIElOOgorICAgICA8c3lzL2Zvb2QuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBTcGVpY2hlcnQgZGVuIFdlcnQgZnVlciBkYXMgVmVyaGFsdGVuLCB3ZW5uIGVpbmUgU3BlaXNlIHZlcmRpcmJ0LgorICAgICBEaWVzZXMgVmVyaGFsdGVuIHdpcmQgaW4gbWFrZV9iYWQoKSB1bWdlc2V0enQuCisgICAgIAorICAgICBERVNUUk9ZX0JBRCAgIDogRGllIFNwZWlzZSB3aXJkIGJlaW0gVmVyZGVyYmVuIHplcnN0b2VydAorICAgICAgICAgICAgICAgICAgICAgYnp3LiBkZXIgQmVoYWVsdGVyIHdpcmQgZ2VsZWVydAorICAgICBERVNUUk9ZX05FVkVSIDogRGllIFNwZWlzZSB3aXJkIGJlaW0gVmVyZGVyYmVuIG5pY2h0IHplcnN0b2VydAorICAgICBwb3MuIEludGVnZXIgIDogQW56YWhsIGRlciBTZWt1bmRlbiwgZGllIHp3aXNjaGVuIFZlcmRlcmJlbgorICAgICAgICAgICAgICAgICAgICAgdW5kIFplcnN0b2VyZW4gZGVyIFNwZWlzZSBsaWVnZW4gc29sbGVuCisgICAgIAorQkVNRVJLVU5HRU46CisgICAgIElzdCBlaW4gcG9zaXRpdmVyIEludGVnZXItV2VydCBpbiBkaWVzZXIgUHJvcGVydHkgZ2VzcGVpY2hlcnQsIHdpcmQgbmFjaAorICAgICBBdXNmdWVocmVuIGRlciBNZXRob2RlIG1ha2VfYmFkKCkgbmFjaCBBYmxhdWYgZGVyIGFuZ2VnZWJlbmVuIFNla3VuZGVuCisgICAgIGVpbiB3ZWl0ZXJlciBSZXNldCBhdXNnZWxvZXN0LCBkZXIgbWFrZV9kZXN0cm95KCkgYXVmcnVmdC4KKyAgICAgCitERUZBVUxUOgorICAgICBJbml0aWFsIGlzdCBkaWVzZSBQcm9wZXJ0eSBhdWYgREVTVFJPWV9CQUQgZ2VzZXR6dC4KKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC9mb29kLmMsIHdpei9mb29kCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE9jdCAyOCAxMjoxNTowMCAyMDEwIGJ5IENhbGRyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFU1RSVUNUX01TRyBiL2RvYy9wcm9wcy9QX0RFU1RSVUNUX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YjdlN2U5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfREVTVFJVQ1RfTVNHCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0RFU1RSVUNUX01TRyAgICAgICAgICAgICAgICAiZGVzdHJ1Y3RfbXNnIiAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL2Jhc2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcsIGRpZSBiZWltIERlc3RydWN0ZW4gT2JqIGF1c2dlZ2VnZW4gd2lyZCAobnVyIE1hZ2llcikKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RFVEFJTFMgYi9kb2MvcHJvcHMvUF9ERVRBSUxTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMzUxM2EKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ERVRBSUxTCkBAIC0wLDAgKzEsMjUgQEAKK05BTUU6CisgICAgUF9ERVRBSUxTICAgICAgICAgICAgImRldGFpbHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RoaW5nL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbiBNYXBwaW5nLCBpbiBkZXIgRGV0YWlscyBpbSBPYmpla3QKKyAgICBkZWZpbmllcnQgd2VyZGVuIHVuZCBCZXNjaHJlaWJ1bmdlbiwgZGllIGF1c2dlZ2ViZW4gd2VyZGVuLCB3ZW5uIG1hbgorICAgIHNpY2ggZGllc2UgRGV0YWlscyBhbnNjaGF1dC4KKworQkVNRVJLVU5HRU46CisgICAgTWFuIGthbm4gZGllc2UgUHJvcGVydHkgbmljaHQgcGVyIFNldFByb3AoKSB2ZXJhZW5kZXJuLCBzb25kZXJuIG11c3MgZGllCisgICAgZW50c3ByZWNoZW5kZW4gRnVua3Rpb25lbiBudXR6ZW4uCisgICAgQWRkU3BlY2lhbERldGFpbCgpIHVuZCBSZW1vdmVTcGVjaWFsRGV0YWlsKCkgc29sbHRlbiBuaWNodCBtZWhyCisgICAgdmVyd2VuZGV0IHdlcmRlbi4KKworU0lFSEUgQVVDSDoKKyAgICBTZXR6ZW46ICAgIEFkZERldGFpbCgpCisgICAgTG9lc2NoZW46ICBSZW1vdmVEZXRhaWwoKQorICAgIEFlaG5saWNoOiAgUF9TUEVDSUFMX0RFVEFJTFMKKyAgICBWZXJhbHRldDogIEFkZFNwZWNpYWxEZXRhaWwoKSwgUmVtb3ZlU3BlY2lhbERldGFpbCgpCisgICAgU29uc3RpZ2VzOiBHZXREZXRhaWwoKSwgYnJlYWtfc3RyaW5nKCkKKworMjcuIEphbiAyMDEzIEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ESUVfTVNHIGIvZG9jL3Byb3BzL1BfRElFX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWYxZDdjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRElFX01TRwpAQCAtMCwwICsxLDQwIEBACitQX0RJRV9NU0cKKworTkFNRToKKyAgICAgUF9ESUVfTVNHCQkJImRpZV9tc2ciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBJbiBkaWVzZXIgUHJvcGVydHkgdWViZXJnaWJ0IG1hbiBlaW5lbiBTdHJpbmcsIGRlciBhdXNnZWdlYmVuIHdpcmQsIHdlbm4KKyAgICAgZGFzIExlYmV3ZXNlbiBzdGlyYnQuIElzdCBkaWUgUHJvcGVydHkgbmljaHQgZ2VzZXR6dCwgc28gd2lyZCBhbHMgU3RyaW5nCisgICAgIGJlbnV0enQ6CisJIiBmYWVsbHQgdG90IHp1IEJvZGVuLlxuIi4KKworICAgICBEZXIgTmFtZSBkZXMgTGViZXdlc2VucyB3aXJkIGRlbSBTdHJpbmcgdm9yIGRlciBBdXNnYWJlIHZvcmFuZ2VzdGVsbHQuCisgICAgIERlciBTYXR6dW1icnVjaCBhbSBaZWlsZW5lbmRlIHVuZCBkYXMgTGVlcnplaWNoZW4gbmFjaCBkZW0gTmFtZW4gZGVzCisgICAgIExlYmV3ZXNlbnMgbXVzcyBtYW4gc2VsYnN0IGFuZ2VnZWJlbi4gRXMgc29sbHRlIGFsbGVyZGluZ3MgYmVhY2h0ZXQKKyAgICAgd2VyZGVuLCBkYXNzIGVpbiBMZWJld2VzZW4sIGRhcyBkdXJjaCBHaWZ0IGdldG9ldGV0IHdpcmQsIGVpbmUgc3BlemllbGxlCisgICAgIG5pY2h0IHp1IGJlZWluZmx1c3NlbmRlIE1lbGR1bmcgZXJoYWVsdC4gRXMgd2lyZCBkYW5uIGFscyBTdHJpbmcKKyAgICAgYmVudXR6dDoKKwkiIHdpcmQgdm9uIEdpZnQgaGlud2VnZ2VyYWZmdCB1bmQga2lwcHQgdW0uXG4iLgorCitCRUlTUElFTEU6CisgICAgIEJlaSBlaW5lbSBtaXRrYWVtcGZlbmRlbiBTY2hhdHRlbiB3YWVyZSBlcyBlaGVyIHVubG9naXNjaCwgd2VubiBuYWNoCisgICAgIGRlc3NlbiAnVG9kJyBlaW5lIExlaWNoZSB6dXJ1ZWNrYmxpZWJlLiBFaW5lIGxvZ2lzY2hlIEtvbnNlcXVlbnogd2FlcmUKKyAgICAgZm9sZ2VuZGUgTWVsZHVuZzoKKwlTZXRQcm9wKFBfRElFX01TRywiIGxvZXN0IHNpY2ggYXVmLlxuIik7CisJU2V0UHJvcChQX05PQ09SUFNFLDEpOworCisgICAgIERhbWl0IGRhbm4gYXVjaCB3aXJrbGljaCBrZWluZSBMZWljaGUgenVydWVja2JsZWlidCwgd2lyZCB6dXNhZXR6bGljaAorICAgICBkaWUgUHJvcGVydHkgUF9OT0NPUlBTRSBnZXNldHp0LgorCitTSUVIRSBBVUNIOgorICAgICBUb2Q6CQlkaWUoTCkKKyAgICAgVG9kZXNtZWxkdW5nZW46CVBfS0lMTF9OQU1FLCBQX0tJTExfTVNHLCBQX01VUkRFUl9NU0cKKwkJCVBfWkFQX01TRywgUF9FTkVNWV9ERUFUSF9TRVFVRU5DRQorICAgICBTb25zdGlnZXM6CQlQX0NPUlBTRSwgUF9OT0NPUlBTRSwgL3N0ZC9jb3Jwc2UuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBXZWQgSmFuIDE0IDE5OjE3OjA2IDE5OTggYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ESVNBQkxFX0FUVEFDSyBiL2RvYy9wcm9wcy9QX0RJU0FCTEVfQVRUQUNLCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1ZTA1MWQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ESVNBQkxFX0FUVEFDSwpAQCAtMCwwICsxLDQ2IEBACitOQU1FOgorICAgIFBfRElTQUJMRV9BVFRBQ0sgICAgICAgICAgICAgICJkaXNhYmxlX2F0dGFjayIgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIERhcyBMZWJld2VzZW4ga2FubiBuaWNodCBhbmdyZWlmZW4uIEJlaW0gU2V0emVuIGRlciBQcm9wZXJ0eSBpc3QgZXMKKyAgICB3aWNodGlnLCBTZXRQcm9wKCkgenUgYmVudXR6ZW4gdW5kIGRpZSBBbnphaGwgZGVyIEthbXBmcnVuZGVuIGFuenVnZWJlbiwKKyAgICBkaWUgZGFzIExlYmV3ZXNlbiBwYXJhbHlzaWVydCBzZWluIHNvbGwuCisKKyAgICBFaW4gbmVnYXRpdmVyIFdlcnQgaXN0IG5pY2h0IGd1ZWx0aWcuIEJlaSBtZWhyIGFscyAzMCBLYW1wZnJ1bmRlbiB3aXJkCisgICAgZGllIFBhcmFseXNlIGF1ZiAzMCBLYW1wZnJ1bmRlbiBnZWthcHB0LgorCisgICAgRnVlciBqZWRlIFBhcmFseXNlIGJla29tbXQgZWluIExpdmluZyBlaW5lIGViZW5zbyBsYW5nZSBTY2h1dHp6ZWl0IG5hY2gKKyAgICBkZXIgUGFyYWx5c2UgZ2V3YWVocnQuIFZlcnN1Y2h0IG1hbiwgdm9yIEFibGF1ZiBkZXIgUGFyYWx5c2UKKyAgICBQX0RJU0FCTEVfQVRUQUNLIGhvZWhlciB6dSBzZXR6ZW4gKG9kZXIgc2V0enQgbWFuIGlubmVyaGFsYiBkZXIgZm9sZ2VuZGVuCisgICAgU2NodXR6emVpdCBQX0RJU0FCTEVfQVRUQUNLIGF1ZiA+IDApLCB3aXJkIERJU0FCTEVfVE9PX0VBUkxZIHZvbiBTZXRQcm9wCisgICAgenVydWVjayBnZWdlYmVuLgorICAgIEVpbmUgUmVkdWt0aW9uIHZvbiBlaW5lbSBQX0RJU0FCTEVfQVRUQUNLIGlzdCBtb2VnbGljaCwgYWxsZXJkaW5ncworICAgIHJlZHV6aWVydCBkaWVzIF9uaWNodF8gZWluZSBlaW5tYWwgZ2VzZXR6dGUgU2NodXR6emVpdC4KKworICAgIEVpbmVuIEdlZ25lcixkZXIgbmllIHBhcmFseXNpZXJ0IHdlcmRlbiBrb2VubmVuIHNvbGwsIGthbm4gbWFuIGVpbmZhY2gKKyAgICBwZXIgCisKKyAgICBTZXQoUF9ESVNBQkxFX0FUVEFDSywgZnVuY3Rpb24gaW50ICgpIHtyZXR1cm4gMDt9LCBGX1NFVF9NRVRIT0QpOworCisgICAgZXJzdGVsbGVuLCBkYSBiZWkgZGllc2VtIGRlciBXZXJ0IHZvbiBQX0RJU0FCTEVfQVRUQUNLIG5pY2h0IG1laHIgbWl0CisgICAgZWluZW0gbm9ybWFsZW4gU2V0UHJvcCgpLUF1ZnJ1ZiBnZWFlbmRlcnQgd2VyZGVuIGthbm4uCisKK0JFSVNQSUVMRToKKyAgICAvLyBHZWduZXIgMTcgUnVuZGVuIGxhbmcgcGFyYWx5c2llcmVuLCBvaG5lIFJ1ZWNrc2ljaHQgYXVmIGZydWVoZXJlIFAuCisgICAgLy8gKGluIGRpZXNlbSBNb21lbnQgaXN0IGRhcyBMaXZpbmcgYmlzIHRpbWUoKSArIDQgKiAxNyB2b3IgbGFlbmdlcmVyCisgICAgLy8gIG9kZXIgZXJuZXV0ZXIgUGFyYWx5c2UgZ2VzY2h1ZXR6dCkKKyAgICBlbi0+U2V0UHJvcChQX0RJU0FCTEVfQVRUQUNLLCAxNyk7CisgICAgLy8gRGVyIEdlZ25lciBrYW5uIGpldHp0IGZ1ZXIgMzQgS2FtcGZydW5kZW4gbmljaHQgZXJuZXV0IHBhcmFseXNpZXJ0CisgICAgLy8gd2VyZGVuLgorICAgIC8vIFBhcmFseXNlIHJlZHV6aWVyZW4gYXVmIDEwIEthbXBmcnVuZGVuCisgICAgZW4tPlNldFByb3AoUF9ESVNBQkxFX0FUVEFDSywgMTApOworICAgIC8vIERpZSBTY2h1dHp6ZWl0IGlzdCBpbW1lciBub2NoIGJlaSAzNCBLYW1wZnJ1bmRlbiwgbmljaHQgYmVpIDIwLgorCitTSUVIRSBBVUNIOgorICAgIFBfTkVYVF9ESVNBQkxFX0FUVEFDSworCisxOS4wOC4yMDE0LCBaZXNzdHJhCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RJU0FCTEVfQ09NTUFORFMgYi9kb2MvcHJvcHMvUF9ESVNBQkxFX0NPTU1BTkRTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMzE4ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ESVNBQkxFX0NPTU1BTkRTCkBAIC0wLDAgKzEsNzQgQEAKK1BfRElTQUJMRV9DT01NQU5EUworCitOQU1FOgorICAgICBQX0RJU0FCTEVfQ09NTUFORFMgICAgICAgICAgICAgInBfbGliX2Rpc2FibGVjb21tYW5kcyIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3BsYXllci9jb21tYW5kLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIE1pdCBkaWVzZXIgUHJvcCBrYW5uIG1hbiB2ZXJoaW5kZXJuLCBkYXNzIEtvbW1hbmRvcyBlaW5lcyBTcGllbGVycworICAgIHZlcmFyYmVpdGV0IHdlcmRlbi4gRGllcyBpc3Qgei5CLiBpbiBTZXF1ZW56ZW4gbnVldHpsaWNoLCB3byBkZXIgU3BpZWxlcgorICAgIHJlaW4gcGFzc2l2IGtvbnN1bWllcmVuIHNvbGwuCisgICAgSW4gZGllc2UgUHJvcGVydHkgbXVzcyBlaW4gQXJyYXkgbWl0IDIgb2RlciAzIEVsZW1lbnRlbiBnZXNjaHJpZWJlbiAKKyAgICB3ZXJkZW46CisgICAgICAgMSkgRW5kemVpdHB1bmt0IGluIFNla3VuZGVuIHNlaXQgMS4xLjE5NzAgKGludCkKKyAgICAgICAyKSBNZWxkdW5nIChTdHJpbmcgb2RlciBDbG9zdXJlKQorICAgICAgIDMpIChvcHRpb25hbCkgQXJyYXkgdm9uIHRyb3R6ZGVtIGVybGF1YnRlbiBWZXJiZW4gKHN0cmluZyopCisgICAgICAgICAobnVyIGF1c2dld2VydGV0LCB3ZW5uIGRpZSBNZWxkdW5nIGVpbiBTdHJpbmcgaXN0KQorICAgIAorICAgIElzdCBkaWUgTWVsZHVuZyBlaW4gU3RyaW5nLCB3aXJkIGRpZXNlciBlaW5mYWNoIGJlaSBqZWRlbSBLb21tYW5kbyBzbyB3aWUKKyAgICBlciBpc3QgYW4gZGVuIFNwaWVsZXIgYXVzZ2VnZWJlbiB1bmQgZGFzIEtvbW1hbmRvIGFiZ2Vicm9jaGVuLgorICAgIElzdCBkaWUgTWVsZHVuZyBlaW5lIENsb3N1cmUgd2lyZCBkaWVzZSBiZWkgamVkZW0gS29tbWFuZG8gYXVmZ2VydWZlbiB1bmQKKyAgICBkYXMgS29tbWFuZG8gYWJnZWJyb2NoZW4sIHdlbm4gc2llIGVpbmVuIFJ1ZWNrZ2FiZXdlcnQgIT0gMCB6dXJ1ZWNrZ2lidC4KKyAgICBJbiBkaWVzZW0gRmFsbCBpc3QgZGllIGdlcnVmZW5lIEZ1bmt0aW9uIGRhZnVlciB2ZXJhbnR3b3J0bGljaCwgZ2VlaWduZXRlCisgICAgTWVsZHVuZ2VuIGFuIGRlbiBTcGllbGVyIGF1c3p1Z2ViZW4hCisgICAgRGVyIEZ1bmt0aW9uIHdpcmQgZGVyIHZvbSBTcGllbGVyIGVpbmdlYmVuZSBCZWZlaGwgKHN0cmluZykgYWxzIGVyc3RlcworICAgIEFyZ3VtZW50IHVlYmVyZ2ViZW4uIFp1IGRpZXNlbSBaZWl0cHVua3Qgd3VyZGUgYWxsZSBBbGlhc2Ugc2Nob24KKyAgICBhdXNnZXdlcnRldC4gRGllIEZ1bmt0aW9uIGthbm4gZGVuIEtvbW1hbmRvZ2ViZXIgdmlhIHRoaXNfcGxheWVyKCkKKyAgICBlcm1pdHRlbG4uCisgICAgRnVlciB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4gc3RlaHQgYXVjaCBjb21tYW5kX3N0YWNrKCkgenVyIFZlcmZ1ZWd1bmcsCisgICAgYWxsZXJkaW5ncyBpc3QgZG9ydCBkaWUgQWxpYXMtRXJzZXR6dW5nIG5pY2h0IGJlcnVlY2tzaWNodGlndC4KKworICAgIERpZSBBdXNuYWhtZWxpc3RlIHdpcmQgbnVyIGZ1ZXIgc2ltcGxlIFN0cmluZ3MgYWxzIE1lbGR1bmcgYXVzZ2V3ZXJ0ZXQsCisgICAgd2lyZCBlaW5lIENsb3N1cmUgdmVyd2VuZGV0LCBrYW5uIGRpZXNlIGJlc3NlciBzZWxiZXIgZGllIEF1c25haG1lbgorICAgIGJlc3RpbW1lbi4KKyAgICAKKyAgICBGcmFndCBtYW4gZGllc2UgUHJvcCBhYiwgZXJoYWVsdCBtYW4gZWluIEFycmF5IG1pdCA0IEVsZW1lbnRlbjogc2V0emVuZGVzCisgICAgT2JqZWt0IChvYmplY3QpLCBBYmxhdWZ6ZWl0IChpbnQpLCBNZWxkdW5nIChTdHJpbmcgb2RlciBDbG9zdXJlKSB1bmQKKyAgICBMaXN0ZSB2b24gQXVzbmFobWVuIChzdHJpbmcqKS4KKworQkVNRVJLVU5HRU46CisgICAgMS4gRGllIFByb3Agd2lyZCBmdWVyIE1hZ2llciBtaXQgZWluZ2VzY2hhbHRldGVtIFBfV0FOVFNfVE9fTEVBUk4KKyAgICAgICBpZ25vcmllcnQuCisgICAgMi4gV2VubiBkYXMgT2JqZWt0IHplcnN0b2VydCB3aXJkLCB3YXMgZGllIFByb3AgZ2VzZXR6dCBoYXQsIHdpcmQgZGVyCisgICAgICAgRWludHJhZyB1bndpcmtzYW0uCisgICAgMy4gV2VubiBkaWVzZSBQcm9wIGdlc2V0enQgdW5kIG5pY2h0IGFiZ2VsYXVmZW4gaXN0LCBrYW5uIG51ciBkYXMgZ2xlaWNoZQorICAgICAgIE9iamVrdCBzaWUgbWl0IG5ldWVuIERhdGVuIHVlYmVyc2NocmVpYmVuLiBBbGxlIGFuZGVyZW4gT2JqZWt0ZSBrb2VubmVuCisgICAgICAgZGllIFByb3AgbnVyIGxvZXNjaGVuLiBEaWVzIHNvbGwgdmVyaGluZGVybiwgZGFzcyBNYWdpZXIgdW5hYnNpY2h0bGljaAorICAgICAgIGVpbmZhY2ggYW5kZXJlciBMZXV0ZSBFaW50cmFlZ2UgdWViZXJzY2hyZWliZW4uIERlbWVudHNwcmVjaGVuZDogTGFzc3QKKyAgICAgICBkaWUgRmluZ2VyIGRhdm9uLCB3ZW5uIGRpZSBzY2hvbiBnZXNldHp0IGlzdC4gOy0pCisgICAgNC4gRGllc2UgUHJvcCBkYXJmIF9hdXNzY2hsaWVzc2xpY2hfIG1pdCBTZXRQcm9wKCkgdW5kIFF1ZXJ5UHJvcCgpIGJlbnV0enQKKyAgICAgICB3ZXJkZW4sIFNldCgpIHVuZCBRdWVyeSgpIGZ1bmt0aW9uaWVyZW4gX25pY2h0Xy4KKyAgICA1LiBFcyBnaWJ0IGVpbmlnZSBWZXJiZW4sIGRpZSBOSUUgYmxvY2tpZXJ0IHdlcmRlbi4gWnVyIFplaXQgc2luZCBkaWVzCisgICAgICAgIm1ydWZlIiwgIm1zY2hhdSIsICJidWciLCAiaWRlZSIsICJ0eXBvIiB1bmQgImRldGFpbCIuCisgICAgNi4gQml0dGUgbmljaHQgbWlzc2JyYXVjaGVuLCBzcGV6aWVsbCBuaWNodCBkYXp1LCBkaWUgS29tbWFuZG9zIHZvbgorICAgICAgIFNwaWVsZXIgenUgdWViZXJ3YWNoZW4vbWl0enVzY2hyZWliZW4uIERhcyBTZXR6ZW4gZGllc2VyIFByb3Agd2lyZCAKKyAgICAgICBnZWxvZ2d0LgorCitCRUlTUElFTDoKKyAgIEluIGVpbmVtIFJhdW0gc3RhcnRldCBlaW5lIFNlcXVlbnosIGluIGRlciBkZXIgU3BpZWxlciBuaWNodHMgbWFjaGVuIHNvbGw6CisKKyAgIGlmICghcGwtPlF1ZXJ5UHJvcChQX0RJU0FCTEVfQ09NTUFORFMpKQorICAgICAgcGwtPlNldFByb3AoUF9ESVNBQkxFX0NPTU1BTkRTLAorICAgICAgICAgICAgKHsgdGltZSgpICsgMTIwLCAiRHUgYmlzdCB0aWVmIGluIERlaW5lbSBUcmF1bSBnZWZhbmdlbiFcbiIgfSkgKTsKKyAgIGVsc2UgLy8gLi4uIEZlaGxlcmJlaGFuZGx1bmcsIGZhbGxzIFByb3Agc2Nob24gZ2VzZXR6dCAuLi4KKyAgIAorICAgU29sbCBkaWUgUHJvcCBhdXMgaXJnZW5kZWluZW0gR3J1bmQgKHZvcnplaXRpZykgZ2Vsb2VzY2h0IHdlcmRlbjoKKyAgIHBsLT5TZXRQcm9wKFBfRElTQUJMRV9DT01NQU5EUywgMCk7CisKK1NJRUhFIEFVQ0g6CisgICAgIGNvbW1hbmQoKSwgcXVlcnlfY29tbWFuZCgpLCBjb21tYW5kX3N0YWNrKCksIG1vZGlmeV9jb21tYW5kKCksIAorICAgICB0aGlzX3BsYXllcigpCisKKzAxLjEyLjIwMTIsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RJU1RSSUJVVElPTiBiL2RvYy9wcm9wcy9QX0RJU1RSSUJVVElPTgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjljNTNlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRElTVFJJQlVUSU9OCkBAIC0wLDAgKzEsMTYgQEAKK05BTUU6DQorICAgICBQX0RJU1RSSUJVVElPTiAgICAgICAgICAgICAgICAic3RkX2Zvb2RfZGlzdHJpYnV0aW9uIg0KKw0KK0RFRklOSUVSVCBJTjoNCisgICAgIC9zeXMvZm9vZC5oDQorDQorQkVTQ0hSRUlCVU5HOg0KKyAgICAgVmVydGVpbHVuZyBkZXIgSGVpbHVuZyB1ZWJlciBtZWhyZXJlIEhlYXJ0YmVhdHMuDQorICAgICBEaWVzZXIgV2VydCB3aXJkIGltIGVudHJ5X2luZm8gYWxzIEhfRElTVFJJQlVUSU9OIGRlbSBjb25zdW1lKCkgaW0NCisgICAgIExpdmluZyB1ZWJlcmdlYmVuLg0KKyAgICAgDQorU0lFSEUgQVVDSDoNCisgICAgIGNvbnN1bWUNCisNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRE1TRyBiL2RvYy9wcm9wcy9QX0RNU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQzZmJiNAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RNU0cKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfRE1TRyAgICAgICAgICAgICAgICAgICAgICAgICJkZXN0bXNnIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgKioqIE9CU09MRVQhICoqKiBTaWVoZSBQX0RFU1RSVUNUX01TRwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRE9NQUlOIGIvZG9jL3Byb3BzL1BfRE9NQUlOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwZmQxZjcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ET01BSU4KQEAgLTAsMCArMSwzMSBAQAorTkFNRToKKyAgICBQX0RPTUFJTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibGliX3BfZG9tYWluIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9yb29tL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBkaWUgUmVnaW9uLCBpbiBkZXIgZWluIFJhdW0gbGllZ3QsIHNvZmVybiBlcgorICAgICBpbiAvZC8gbGllZ3QuCisKKyAgICAgRmFsbHMgZWluIFJhdW0gbmljaHQgaW4gL2QvIGxpZWd0LCBhYmVyIGVzIGVpZ2VudGxpY2ggZWluIEdlYmlldCBpc3QsCisgICAgIHdlbGNoZXMgZWluZGV1dGlnIGluIGVpbmVyIFJlZ2lvbiB6dWdlb3JkbmV0IGlzdCwga2FubiBkZXIgTWFnaWVyCisgICAgIGhpZXIgZ2V6aWVsdCBlaW5lbiBhbmRlcmVuIFdlcnQgc2V0emVuLgorICAgICAKKyAgICAgQml0dGUga2VpbmUgUmVnaW9uZW4gZmFlbHNjaGVuIQorCitCRUlTUElFTDoKKyAgICAgSW4gL2QvaW5zZWxuL3plc3N0cmEvdnVsa2Fud2VnL3Jvb20vcjEgbGllZmVydAorICAgICBRdWVyeVByb3AoUF9ET01BSU4pCisgICAgIGVpbiAiSW5zZWxuIiB6dXJ1ZWNrLgorCisgICAgIEluIGVpbmVtIFJhdW0gZGVyIENoYW9zZ2lsZGU6CisgICAgIFNldFByb3AoUF9ET01BSU4sICJQb2xhciIpOworICAgICBkYW1pdCBkZXIgUmF1bSBhbHMgUmF1bSBkZXIgUmVnaW9uIFBvbGFyIGFuZ2V6ZWlndCB3aXJkLgorCitTSUVIRSBBVUNIOgorICAgICBnbWNwCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzIzLjAyLjIwMTMsIFplc3N0cmEKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRE9PUl9JTkZPUyBiL2RvYy9wcm9wcy9QX0RPT1JfSU5GT1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI1ZjcxYgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RPT1JfSU5GT1MKQEAgLTAsMCArMSw0NCBAQAorTkFNRToKKyAgICBQX0RPT1JfSU5GT1MgICAgICAgICAgICAgICAgICAiZG9vcl9pbmZvcyIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvZG9vcnJvb20uaAorCitCRVNDSFJFSUJVTkc6CisgICAgTWFwcGluZyBtaXQgSW5mb3JtYXRpb25lbiB1ZWJlciBlaW5lIGltIFJhdW0gcGVyIE5ld0Rvb3IoKSBkZWZpbmllcnRlCisgICAgVHVlci4gRGllc2UgSW5mb3Mgd2VyZGVuIHVlYmVyIC9zdGQvcm9vbS9kb29ycy5jIGFuIGRlbiAvb2JqL2Rvb3JtYXN0ZXIuYworICAgIHdlaXRlcmdlZ2ViZW4gdW5kIGRlbSBSYXVtLCBkZXIgZGllIFR1ZXIgYmVzaXR6dCwgYWxzIFByb3BlcnR5IGdlc2V0enQuCisgICAgV2VyZGVuIG1laHJlcmUgVHVlcmVuIGluIGVpbmVtIFJhdW0gZWluZ2VidW5kZW4sIGVudGhhZWx0IGRhcyBNYXBwaW5nCisgICAgZW50c3ByZWNoZW5kIHZpZWxlIEVpbnRyYWVnZS4KKworICAgIERpZXNlcyBNYXBwaW5nIGRpZW50IHp1ciBpbnRlcm5lbiBWZXJ3YWx0dW5nIGRlciBUdWVyZW4gaW0KKyAgICAvb2JqL2Rvb3JtYXN0ZXIuYyB1bmQgc29sbHRlIG5pY2h0IHBlciBIYW5kIHZlcmFlbmRlcnQgd2VyZGVuIQorCisgICAgRGllIEVpbnRyYWVnZSBpbSBNYXBwaW5nIGhhYmVuIGZvbGdlbmRlIGtleXMgKGRlZmluaWVydCBpbgorICAgIC9zeXMvZG9vcnJvb20uaCk6CisKKyAgICBEX0RFU1QgOiBaaWVscmF1bSAoc3RyaW5nKQorICAgIERfQ01EUyA6IEJlZmVobChlKSwgdW0gZHVyY2ggZGllIFR1ZXIgenUgZ2VoZW4gKHN0cmluZyBvZGVyICpzdHJpbmcpCisgICAgRF9JRFMgIDogSURzIGRlciBUdWVyIChzdHJpbmcgb2RlciAqc3RyaW5nKQorICAgIERfRkxBR1MgOiBCZXNvbmRlcmUgRWlnZW5zY2hhZnRlbiBkZXIgVHVlciAoVHVlciBicmF1Y2h0IFNjaGx1ZXNzZWwgZXRjLikKKyAgICBEX0xPTkcgIDogTGFuZ2Jlc2NocmVpYnVuZyAoc3RyaW5nKQorICAgIERfU0hPUlQgOiBLdXJ6YmVzY2hyZWlidW5nIChzdHJpbmcpCisgICAgRF9OQU1FICA6IE5hbWUgKHN0cmluZyBvZGVyICpzdHJpbmcpCisgICAgRF9HRU5ERVIgIDogR2VzY2hsZWNodAorICAgIERfRlVOQyAgICA6IEZ1bmt0aW9uLCBkaWUgVk9SIGRlbSBEdXJjaHNjaHJlaXRlbiBkZXIgVHVlciBhdWZnZXJ1ZmVuIHdpcmQKKyAgICBEX01TR1MgICAgOiBCZXdlZ3VuZ3NtZWxkdW5nZW4KKyAgICBEX0ZVTkMyICAgOiBGdW5rdGlvbiwgZGllIE5BQ0ggZGVtIER1cmNoc2NocmVpdGVuIGRlciBUdWVyIGF1ZmdlcnVmZW4gd2lyZAorICAgIERfVEVTVEZVTkMgIDogRnVua3Rpb24gZGllIGltIFNhcnRyYXVtIHRlc3RldCwgb2IgZGllIFR1ZXIgZHVyY2hzY2hyaXR0ZW4KKyAgICAgICAgICAgICAgICAgIHdlcmRlbiBkYXJmCisgICAgRF9SRVNFVF9NU0cgOiBNZWxkdW5nZW4gYmVpbSBUdWVyLVJlc2V0CisgICAgRF9PUEVOX1dJVEhfTU9WRSA6IEZhbGxzIGdlc2V0enQsIHdpcmQgZGllIFR1ZXIgYXVjaCBtaXQgZGVtCisgICAgICAgICAgICAgICAgICAgICAgIEJld2VndW5nc2JlZmVobCBnZW9lZmZuZXQgdW5kIGR1cmNoc2Nocml0dGVuLCBmYWxscworICAgICAgICAgICAgICAgICAgICAgICBPZWZmbmVuIGVyZm9sZ3JlaWNoCisKKworU0lFSEUgQVVDSDoKKyAgICBOZXdEb29yKCksIFF1ZXJ5RG9vcktleSgpLCBRdWVyeURvb3JTdGF0dXMoKSwgU2V0RG9vclN0YXR1cygpLAorICAgIC9zdGQvcm9vbS9kb29ycy5jLCAvb2JqL2Rvb3JtYXN0ZXIuYywgR2V0UGhpb2xlbkluZm9zKCksIFF1ZXJ5QWxsRG9vcnMoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGV0enRlIEFlbmRlcnVuZzogRG9uLCAwOC4wNS4yMDE0LCBHYWJ5bG9uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ET19ERVNUUlVDVCBiL2RvYy9wcm9wcy9QX0RPX0RFU1RSVUNUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlOWEyMzAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ET19ERVNUUlVDVApAQCAtMCwwICsxLDE3IEBACitOQU1FOgorICAgIFBfRE9fREVTVFJVQ1QgICAgICAgICAgICAgICAgICJkb19kZXN0cnVjdCIgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBGbGFnLCBvYiBzaWNoIGRpZSBMaWNodHF1ZWxsZSBhbSBFbmRlIGRlciBMZXVjaHR6ZWl0IHNlbGJzdAorICAgICB6ZXJzdG9lcnQuIAorCitTSUVIRSBBVUNIOgorICAgICBCYXNpc2tsYXNzZW46IC9zdGQvbGlnaHRzb3VyY2UuYworICAgICBQcm9wZXJ0aWVzOiBQX0ZVRUwsIFBfTElHSFRERVNDLCBQX0xJR0hUCisgICAgIE1ldGhvZGVuOiBBZGRGdWVsKEwpCisKK0xFVFpURSBBRU5ERVJVTkc6CisgICAgMjIuIERlei4gMjAxNSwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RSSU5LIGIvZG9jL3Byb3BzL1BfRFJJTksKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjJmZTk4MgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RSSU5LCkBAIC0wLDAgKzEsMjUgQEAKK05BTUU6CisgICAgIFBfRFJJTksgICAgICAgICAgICAgICAgICAgICAgICJkcmluayIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorCisgICAgIC0gTGViZXdlc2VuCisgICAgICAgTnVtZXJpc2NoZXIgV2VydCBmdWVyIGRlbiBTYWV0dGlndW5nc2dyYWQgZWluZXMgTGViZXdlc2VucyBtaXQKKyAgICAgICBHZXRyYWVua2VuLiBEZXIgbWF4aW1hbGUgV2VydCBzdGVodCBpbiBQX01BWF9EUklOSy4KKworICAgICAtIFNwZWlzZW4vS25laXBlbgorICAgICAgIE51bWVyaXNjaGVyIFdlcnQgZnVlciBkZW4gU2FldHRpZ3VuZ3NncmFkIGVpbmVyIFBvcnRpb24gZWluZXMKKyAgICAgICBHZXRyYWVua2VzLiBJc3QgZGllc2UgUHJvcGVydHkgbmljaHQgZ2VzZXR6dCBvZGVyIHp1c2FldHpsaWNoCisgICAgICAgUF9GT09EIGdlc2V0enQsIGthbm4gbWFuIGRpZXNlIFNwZWlzZSBuaWNodCB0cmlua2VuLiBFaW5lCisgICAgICAgZnVua3Rpb25pZXJlbmRlIFNwZWlzZSBfbXVzc18gZW50d2VkZXIgUF9GT09EIG9kZXIgUF9EUklOSworICAgICAgIGdyb2Vzc2VyIDAgZ2VzZXR6dCBoYWJlbi4KKyAgICAgCitTSUVIRSBBVUNIOgorICAgICBQX01BWF9EUklOSywgUF9EUklOS19ERUxBWSwgY29uc3VtZQorICAgICBQX0ZPT0QsIFBfQUxDT0hPTCwgd2l6L2Zvb2QKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRFJJTktfREVMQVkgYi9kb2MvcHJvcHMvUF9EUklOS19ERUxBWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTE4ODQzCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRFJJTktfREVMQVkKQEAgLTAsMCArMSwxMCBAQAorTkFNRToKKyAgICBQX0RSSU5LX0RFTEFZICAgICAgICAgICAgICAgICAiZHJpbmtfZGVsYXkiICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBBbnphaGwgZGVyIGhlYXJ0X2JlYXRzLCBiaXMgUF9EUklOSyB1bSBlaW5lbiBQdW5rdCBzaW5rdC4KKyAgICAgQWVuZGVydW5nZW4gZGllc2VyIFByb3BlcnR5IGluIFNwaWVsZXJuIGJlZHVlcmZlbiBkZXIgCisgICAgIEdlbmVobWlndW5nIGRlcyBFTSBmdWVyIEJhbGFuY2UuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9EUklOS19GVUxMX01TRyBiL2RvYy9wcm9wcy9QX0RSSU5LX0ZVTExfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5MDNhZjMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9EUklOS19GVUxMX01TRwpAQCAtMCwwICsxLDI0IEBACitOQU1FOgorICAgICBQX0RSSU5LX0ZVTExfTVNHICAgICAgICAgICAgICAic3RkX2Zvb2RfZHJpbmtfZnVsbF9tc2ciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHN5cy9mb29kLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWVsZHVuZyBhbiBkZW4gS29uc3VtZW50ZW4sIHdlbm4gZWluIEdldHJhZW5rIGdldHJ1bmtlbiB3ZXJkZW4gc29sbCwKKyAgICAgb2J3b2hsIGRpZXNlciBuaWNodHMgbWVociB0cmlua2VuIGthbm4uCisgICAgIAorQkVNRVJLVU5HRU46CisgICAgIERpZXNlIE1lbGR1bmcgd2lyZCB2b24gcmVwbGFjZV9wZXJzb25hbCBtaXQgZGVuIEFyZ3VtZW50ZW46CisgICAgIDEuIFNwZWlzZQorICAgICAyLiBLb25zdW1lbnQKKyAgICAgdmVyYXJiZWl0ZXQsIGthbm4gYWxzIGVudHNwcmVjaGVuZGUgUGxhdHpoYWx0ZXIgZW50aGFsdGVuCisgICAgIAorREVGQVVMVDoKKyAgICAgIlNvIHZpZWwga2FubnN0IER1IGltIE1vbWVudCBuaWNodCB0cmlua2VuLiIKKworU0lFSEUgQVVDSDoKKyAgICAgUF9EUklOSywgUF9NQVhfRFJJTkssIHdpei9mb29kLCByZXBsYWNlX3BlcnNvbmFsCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE9jdCAyOCAxMjoxNTowMCAyMDEwIGJ5IENhbGRyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0RST1BfTVNHIGIvZG9jL3Byb3BzL1BfRFJPUF9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE0YzlkNwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0RST1BfTVNHCkBAIC0wLDAgKzEsNjIgQEAKK1BfRFJPUF9NU0cKK05BTUU6CisgICAgIFBfRFJPUF9NU0cJCQkJImRyb3BfbWVzc2FnZSIgCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9saXZpbmcvcHV0X2FuZF9nZXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1pdCBQX0RST1BfTVNHIGthbm4gbWFuIGRpZSBNZWxkdW5nLCBkaWUgbWFuIGJlaW0gQWJsZWdlbiBlaW5lcworICAgICBPYmpla3RlcyBiZWtvbW10LCBtb2RpZml6aWVyZW4uCisKKyAgICAgRm9sZ2VuZGUgV2VydGUgc2luZCBtb2VnbGljaDoKKwkKKyAgICAgbyAwCisgICAgICAgRXMgd2lyZCBlaW5lIFN0YW5kYXJkbWVsZHVuZyBhdXNnZWdlYmVuLiBEaWVzIGlzdCBWb3JlaW5zdGVsbHVuZy4gCisJICAKKyAgICAgbyBOT19QTkdfTVNHICAgICAgID09IC0xCisgICAgICAgRXMgd2lyZCBrZWluZXJsZWkgTWVsZHVuZyBhdXNnZWdlYmVuCisJICAKKyAgICAgbyBFaW4gQXJyYXkgYXVzIFN0cmluZ3MgCisgICAgICAgRGVyIGVyc3RlIFN0cmluZyB3aXJkIGFuIGRlbiBTcGllbGVyIGF1c2dlZ2ViZW4sIGRlciB6d2VpdGUgCisgICAgICAgKG9wdGlvbmFsZSkgYW4gZGVuIFJhdW0uIAorCSAgCisgICAgICAgRGllIFN0cmluZ3Mgd2VyZGVuIGR1cmNoIGRpZSBGdW5rdGlvbiByZXBsYWNlX3BlcnNvbmFsKCkgZ2VwYXJzdC4KKwlPYmpla3QxIC0gU3BpZWxlcgorICAgICAgICBPYmpla3QyIC0gZGFzIE9iamVrdCwgZGFzIGZhbGxlbmdlbGFzc2VuIHdpcmQKKwkgIAorICAgICAgIFdpcmQgZGVyIHp3ZWl0ZSBTdHJpbmcgbmljaHQgYW5nZWdlYmVuLCBlcmZvbGd0IGtlaW5lIE1lbGR1bmcgYW4KKyAgICAgICBkZW4gUmF1bS4KKwkJCQkKK0JFSVNQSUVMOgorICAgICB2b2lkIGNyZWF0ZSgpIHsKKyAgICAgIC4uLgorICAgICAgU2V0UHJvcCggUF9TSE9SVCwgIlVnYXJzIEhhbmRheHQiICk7CisgICAgICBTZXRQcm9wKCBQX0xPTkcsIGJyZWFrX3N0cmluZygKKyAgICAgICAiRGllc2VzIGlzdCBlaW5lIEthbXBmYXh0LCB3aWUgc2llIE9ya3Mgbm9ybWFsZXJ3ZWlzZSBiZW51dHplbi4gIgorICAgICAgICJEYSBEdSBaZWl0IGhhc3QsIHNpZSBEaXIgYW56dXNjaGF1ZW4sIGlzdCBkZXIgQmVzaXR6ZXIgd29obCAiCisgICAgICAgImJlcmVpdHMgYmVpIExhcnMuIiw3OCApKTsKKwkgIAorICAgICAgU2V0UHJvcCggUF9OQU1FLCAiQXh0IiApOworICAgICAgQWRkSWQoICh7ImhhbmRheHQiLCJheHQifSkgKTsKKyAgICAgIFNldFByb3AoIFBfR0VOREVSLCBGRU1BTEUgKTsKKwkgIAorICAgICAgU2V0UHJvcCggUF9EUk9QX01TRywgKHsKKyAgICAgICAiRHUgc2NobWVpc3N0IEBXRU4yIGhpbi4iLAorICAgICAgICJAV0VSMSBzY2htZWlzc3QgRGlyIEBXRU5VMiB2b3IgZGllIEZ1ZXNzZS5cbiJ9KSk7CisgICAgICAuLi4KKyAgICAgfQorCisgICAgIFdpbGwgVWdhciBzZWluZSBBeHQgYWJsZWdlbiB1bmQgZ2lidCAibGFzc2UgYXh0IGZhbGxlbiIgZWluLCB3ZXJkZW4gCisgICAgIGZvbGdlbmRlIE1lbGR1bmdlbiBhdXNnZWdlYmVuOgorCQorICAgICBVZ2FyOiAiRHUgc2NobWVpc3N0IGRpZSBBeHQgaGluLiIKKyAgICAgUmF1bTogIlVnYXIgc2NobWVpc3N0IERpciBlaW5lIEF4dCB2b3IgZGllIEZ1ZXNzZS4iCisJCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOiBQX1BJQ0tfTVNHLCBQX1BVVF9NU0csIFBfR0lWRV9NU0csIFBfV0VBUl9NU0csIFBfV0lFTERfTVNHCisgICAgIEZlaGxlcjogICAgIFBfVE9PX0hFQVZZX01TRywgUF9FTlZfVE9PX0hFQVZZX01TRywgUF9UT09fTUFOWV9NU0csCisgICAgICAgICAgICAgICAgIFBfTk9JTlNFUlRfTVNHLCBQX05PTEVBVkVfTVNHLCBQX05PRFJPUCwgUF9OT0dFVCAKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgZHJvcF9vYmooTCksIC9zdGQvbGl2aW5nL3B1dF9hbmRfZ2V0LmMKKworMTQuIE1hZXJ6IDIwMDQgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0VBUk1VRkZTIGIvZG9jL3Byb3BzL1BfRUFSTVVGRlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdlNmIxYwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0VBUk1VRkZTCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX0VBUk1VRkZTICAgICAgICAgICAgICAgICAgICAiZWFybXVmZnMiICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgU2hvdXRzIHZvbiBTcGllbGVybiB1bmQgTWFnaWVybiBtaXQgTWFnaWVybGV2ZWwgPCBlYXJtdWZmcyB3ZXJkZW4KKyAgICAgYWJnZWJsb2NrdCAoTnVyIGZ1ZXIgTWFnaWVyKS4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0VBVEVSX01TRyBiL2RvYy9wcm9wcy9QX0VBVEVSX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWFlNGQzCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRUFURVJfTVNHCkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisgICAgIFBfRUFURVJfTVNHICAgICAgICAgICAgICAgICAgICJzdGRfZm9vZF9lYXRlcl9tc2ciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHN5cy9mb29kLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWVsZHVuZyBhbiBkZW4gS29uc3VtZW50ZW4sIHdlbm4gZWluZSBTcGVpc2Uga29uc3VtaWVydCB3aXJkLgorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UKKyAgICAgMi4gS29uc3VtZW50CisgICAgIHZlcmFyYmVpdGV0LCBrYW5uIGFscyBlbnRzcHJlY2hlbmRlIFBsYXR6aGFsdGVyIGVudGhhbHRlbgorICAgICAKK0RFRkFVTFQ6CisgICAgICJEdSBrb25zdW1pZXJzdCBAV0VOMS4iCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvZm9vZC5jLCB3aXovZm9vZCwgcmVwbGFjZV9wZXJzb25hbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FRkZFQ1RJVkVfQUMgYi9kb2MvcHJvcHMvUF9FRkZFQ1RJVkVfQUMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY3ZGQ1MwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0VGRkVDVElWRV9BQwpAQCAtMCwwICsxLDg3IEBACitQX0VGRkVDVElWRV9BQworCitOQU1FOgorICAgICBQX0VGRkVDVElWRV9BQyAgICAgICJlZmZlY3RpdmVfYWMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGNvbWJhdC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGtvbW10IHNvd29obCBpbiBSdWVzdHVuZ2VuIGFscyBhdWNoIGluIFdhZmZlbiwgZGllCisgICAgIHNjaHVldHplbiBzb2xsZW4sIHp1bSBFaW5zYXR6LgorCisgICAgIEluIFJ1ZXN0dW5nZW4ga2FubiBoaWVyIGRlciBFZmZla3RpdndlcnQgZGVyIFJ1ZXN0dW5nc2tsYXNzZSB2ZXJtZXJrdAorICAgICB3ZXJkZW4sIHdlbm4gZGllc2Ugbm9jaCBkdXJjaCBlaW5lIERlZmVuZEZ1bmMoKSBtb2RpZml6aWVydCB3aXJkCisgICAgIChzb3dlaXQgc2ljaCBlaW4gc29sY2hlciBFZmZla3RpdndlcnQgYW5nZWJlbiBsYWVzc3QpLgorCisgICAgIEluIGVpbmlnZW4gR2lsZGVuIGtvZW5uZW4gV2FmZmVuIGF1Y2ggYWxzIFJ1ZXN0dW5nIGVpbmdlc2V0enQgd2VyZGVuCisgICAgICh6LkIuIGJlaW0gUGFyaWVyZW4gZWluZXMgQW5ncmlmZnMpLiBJbiBkaWVzZXIgUHJvcGVydHkga2FubiBtYW4gZGllCisgICAgIFJ1ZXN0dW5nc2tsYXNzZSBlaW50cmFnZW4sIGRpZSBkaWUgV2FmZmUgYmVpIHNvbGNoZW4gQWt0aW9uZW4gYXVmd2Vpc2VuCisgICAgIHNvbGwuIERhYmVpIGlzdCBtYW4gYW4gZGllIHVlYmxpY2hlbiBCZXNjaHJhZW5rdW5nZW4gZGVyCisgICAgIFJ1ZXN0dW5nc2tsYXNzZSBnZWJ1bmRlbiEgKHMuIC9zeXMvY29tYmF0LmgpCisKK0JFUk1FUktVTkdFTjoKKyAgICAgRGFzIEthZW1wZmVyc3BlbGxib29rIHZlcndlbmRldCBmdWVyIFBhcmFkZW4gZXRjLiBQX0VGRkVDVElWRV9BQyBhbnN0YXR0CisgICAgIFBfQUMsIHdlbm4gdmVyZnVlZ2Jhci4KKworQkVJU1BJRUxFOgorICAgICAqIERlZmVuZEZ1bmNzOiAKKyAgICAgICBEZXIgZG9wcGVsdGUgTWl0dGVsd2VydCBkZXIgRGVmZW5kRnVuYyB3aXJkIHp1ciBCYXNpcy1BQyBkYXp1YWRkaWVydCwKKyAgICAgICBkYSBzaWNoIGRlciAnU2NodXR6d2VydCA9IHJhbmRvbShCYXNpcy1BQykgKyBhYnNvbHV0KERlZmVuZEZ1bmMtV2VydCknCisgICAgICAgYmVyZWNobmV0LgorCisgICAgIC8vICMxIEVpbmUgUnVlc3R1bmcgbWl0IFBfQUMgdm9uIDM1IHVuZCByYW5kb21pc2llcnRlciBEZWZlbmRGdW5jCisgICAgICAgIFNldFByb3AoUF9BQywgMzUpOworICAgICAgICBTZXRQcm9wKFBfREVGRU5EX0ZVTkMsIHRoaXNfb2JqZWN0KCkpOworCisgICAgICAgIGludCBEZWZlbmRGdW5jKC4uLikgeworICAgICAgICAgIHJldHVybiByYW5kb20oMjApOyAgICAgICAgICAgICAgICAgICAgICAgLy8gTWl0dGVsd2VydDogMTAKKyAgICAgICAgfQorICAgICAgICAtPiBTZXRQcm9wKFBfRUZGRUNUSVZFX0FDLCA1NSk7ICAgICAgICAgICAgLy8gMzUgKyAyKjEwID0gNTUKKworICAgICAvLyAjMiBFaW5lIFJ1ZXN0dW5nIG1pdCBQX0FDIHZvbiAzNSB1bmQgdGVpbHJhbmRvbWlzaWVydGVyIERlZmVuZEZ1bmMKKyAgICAgICAgU2V0UHJvcChQX0FDLCAzNSk7CisgICAgICAgIFNldFByb3AoUF9ERUZFTkRfRlVOQywgdGhpc19vYmplY3QoKSk7CisKKyAgICAgICAgaW50IERlZmVuZEZ1bmMoLi4uKSB7CisgICAgICAgICAgcmV0dXJuIDIwICsgcmFuZG9tKDEwKTsgICAgICAgICAgICAgICAgICAvLyBNaXR0ZWx3ZXJ0OiAyMCArIDUKKyAgICAgICAgfQorICAgICAgICAtPiBTZXRQcm9wKFBfRUZGRUNUSVZFX0FDLCA4NSk7ICAgICAgICAgICAgLy8gMzUgKyAyKigyMCs1KSA9IDg1CisKKyAgICAgKiBTb25kZXJmdW5rdGlvbiBpbSBLb250ZXh0IGRlciBLYWVtcGZlcmdpbGRlOgorICAgICAgIEF1Y2ggd2VubiBkZXIgZWlnZW50bGljaGUgQUMtV2VydCBkdXJjaCBrZWluZSBEZWZlbmRGdW5jIG9BZQorICAgICAgIG1vZGlmaXppZXJ0IHdpcmQsIHNpbmQgYWJ3ZWljaGVuZGUgV2VydGUgaW4gUF9FRkZFQ1RJVkVfQUMgekIgaW4gZGVyCisgICAgICAgS2FlbXBmZXJnaWxkZSBmdWVyIFBhcmFkZW4gb2RlciBhZWhubGljaGVzIHNpbm52b2xsLiBNYXhpbWFsd2VydCBpc3QKKyAgICAgICBkYWZ1ZXIgZGVyIGRvcHBlbHRlIFdlcnQgZGVzIEJhc2lzLUFDLVdlcnRlcy4KKworICAgICAvLyAjMyBFaW4gc2Nob24gc2VociBndXRlcyBTY2hpbGQsIHdlbGNoZXMgYmVpIGRlciBTY2hpbGRwYXJhZGUgYWJlcgorICAgICAvLyAgICBub2NoIGJlc3NlciBzY2h1ZXR6ZW4gc29sbC4KKyAgICAgICAgU2V0UHJvcChQX0FSTU9VUl9UWVBFLCBBVF9TSElFTEQpOworICAgICAgICBTZXRQcm9wKFBfQUMsIDM4KTsKKyAgICAgICAgU2V0UHJvcChQX0VGRkVDVElWRV9BQywgNTUpOworCisgICAgIC8vICM0IEVpbiBzZWhyIGxhYmJyaWdlcyBTY2hpbGQgc2NodWV0enQgendhciBnZWdlbiBub3JtYWxlIFNjaGxhZWdlLAorICAgICAvLyAgICBpc3QgenVtIFBhcmllcmVuIGFiZXIgaXJnZW5kd2llIHVuZ2VlaWduZXQgd2VpbCB1bmtvbnRyb2xsaWVyYmFyLgorICAgICAgICBTZXRQcm9wKFBfQVJNT1VSX1RZUEUsIEFUX1NISUVMRCk7CisgICAgICAgIFNldFByb3AoUF9BQywgMzgpOworICAgICAgICBTZXRQcm9wKFBfRUZGRUNUSVZFX0FDLCAyMCk7CisKKyAgICAgKiBXYWZmZW46CisgICAgICAgUF9FRkZFQ1RJVkVfQUMgd2lyZCBpbSBLYWVtcGZlcnNwZWxsYm9vayBhbHMgQm9udXMgZGF6dWdlemFlaGx0ISBEYWhlcgorICAgICAgIHNvbGx0ZW4gZ3V0ZSBQYXJpZXJ3YWZmZW4gYXVjaCBlaW5lbiBuaWVkcmlnZXJlbiBQX1dDLVdlcnQgaGFiZW4uCisgICAgICAgUmVpbmUgUGFyaWVyd2FmZmVuIGR1ZXJmZW4gZGVuIG1heGltYWxlbiBBQy1XZXJ0IHZvbiBTY2hpbGRlbiBhbHMKKyAgICAgICBNYXhpbXVtIGdlc2V0enQgaGFiZW4gLSBkaWUgQmFsYW5jZSBrbGFlcnQgZ2dmLCBvYiBkYXMgYXVjaCBhdWYgZGVuCisgICAgICAgR2lsZGVucGFyaWVyd2VydCBhbndlbmRiYXIgaXN0LgorCisgICAgIC8vICM1IEVpbmUgbWFlc3NpZ2UgSGVsbGViYXJkZS9BeHR3YWZmZSBtaXQgUGFyaWVyaGFrZW4uCisgICAgICAgIFNldFByb3AoUF9XRUFQT05fVFlQRSwgV1RfQVhFKTsKKyAgICAgICAgU2V0UHJvcChQX1dDLCAxMDApOworICAgICAgICBTZXRQcm9wKFBfRUZGRUNUSVZFX0FDLCAyNSk7CisKK1NJRUhFIEFVQ0g6CisgICAgIFdhZmZlbjogICAgIFBfV0MsIFBfVE9UQUxfV0MsIFBfRUZGRUNUSVZFX1dDLCBIaXRGdW5jKCkKKyAgICAgUnVlc3R1bmdlbjogUF9BQywgUF9UT1RBTF9BQywgRGVmZW5kRnVuYygpCisgICAgIEZpbGVzOiAgICAgIC9zdGQvd2VhcG9uLmMsIC9zdGQvd2VhcG9uL2NvbWJhdC5jCisgICAgIEJhbGFuY2U6ICAgIHdhZmZlbiwgcnVlc3R1bmdlbiwgcHJvcGVydGllcywga2FlbXBmZXJib25pCisKKzYuIE5vdiAyMDExIEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FRkZFQ1RJVkVfV0MgYi9kb2MvcHJvcHMvUF9FRkZFQ1RJVkVfV0MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDMyODYyOQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0VGRkVDVElWRV9XQwpAQCAtMCwwICsxLDg2IEBACitQX0VGRkVDVElWRV9XQworCitOQU1FOgorICAgICBQX0VGRkVDVElWRV9XQyAgICAgImVmZmVjdGl2ZV93YyIKKworREVGSU5JRVJUIElOOgorICAgICA8Y29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkga29tbXQgc293b2hsIGluIFdhZmZlbiBhbHMgYXVjaCBSdWVzdHVuZ2VuLCBkaWUgU2NoYWRlbgorICAgICBtYWNoZW4gc29sbGVuLCB6dW0gRWluc2F0ei4KKworICAgICBGYWxscyBkaWUgU3RhZXJrZSBlaW5lciBXYWZmZSBub2NoIGR1cmNoIGVpbmUgSGl0RnVuYygpIG1vZGlmaXppZXJ0CisgICAgIHdpcmQsIHNvbGx0ZSBoaWVyIGRlciBFZmZla3RpdndlcnQgZGVyIFdhZmZlbmtsYXNzZSB2ZXJtZXJrdCB3ZXJkZW4sCisgICAgIHNvd2VpdCBlciBzaWNoIGFuZ2ViZW4gbGFlc3N0LgorICAgICBEaWVzZSBQcm9wZXJ0eSBkaWVudCB2b3IgYWxsZW0gZGF6dSwgZWluZSBXYWZmZSBtaXQgSGl0RnVuYygpIGtvcnJla3QKKyAgICAgZWluenVzY2hhZXR6ZW4uCisKKyAgICAgSW4gZWluaWdlbiBHaWxkZW4ga29lbm5lbiBSdWVzdHVuZ2VuIGF1Y2ggYWxzIFdhZmZlbiBlaW5nZXNldHp0IHdlcmRlbgorICAgICAoei5CLiBlaW4gUGFhciBTY2h1aGUgenVtIFRyZXRlbikuIEluIGRpZXNlciBQcm9wZXJ0eSBrYW5uIG1hbiBkaWUKKyAgICAgV2FmZmVua2xhc3NlIGVpbnRyYWdlbiwgZGllIGRpZSBSdWVzdHVuZyBiZWkgc29sY2hlbiBBa3Rpb25lbiBhdWZ3ZWlzZW4KKyAgICAgc29sbC4gRGFiZWkgaXN0IG1hbiBhbiBkaWUgdWVibGljaGVuIEJlc2NocmFlbmt1bmdlbiBkZXIgV2FmZmVua2xhc3NlCisgICAgIGdlYnVuZGVuISAocy4gL3N5cy9jb21iYXQuaCkKKyAgICAgRGVyIFJ1ZXN0dW5nIGthbm4gbWFuIGRhbm4gYXVjaCBlaW5lbiBTY2hhZGVuc3R5cCBtaXQgYXVmIGRlbiBXZWcKKyAgICAgZ2ViZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICBEYXMgS2FlbXBmZXJzcGVsbGJvb2sgdmVyd2VuZGV0IGJlaSBSdWVzdHVuZ2VuIFBfQUMsIHdlbm4KKyAgICAgUF9FRkZFQ1RJVkVfV0MgbmljaHQgZ2VzZXR6dCBpc3QuCisKK0JFSVNQSUVMRToKKyAgICAgKiBIaXRGdW5jczoKKyAgICAgICBEZXIgZG9wcGVsdGUgTWl0dGVsd2VydCBkZXIgSGl0RnVuYyB3aXJkIHp1ciBCYXNpcy1XQyBkYXp1YWRkaWVydCwKKyAgICAgICBkYSBzaWNoIGRlciAnQW5ncmlmZnN3ZXJ0ID0gcmFuZG9tKEJhc2lzLVdDKSArIGFic29sdXQoSGl0RnVuYy1XZXJ0KScKKyAgICAgICBiZXJlY2huZXQuCisKKyAgICAgLy8gIzEgV2FmZmUgbWl0IEJhc2lzLVdDIDEyMCB1bmQgcmFuZG9taXNpZXJ0ZXIgSGl0RnVuYworICAgICAgICBTZXRQcm9wKFBfV0MsIDEyMCk7CisgICAgICAgIFNldFByb3AoUF9ISVRfRlVOQywgdGhpc19vYmplY3QoKSk7CisgICAgICAgCisgICAgICAgIGludCBIaXRGdW5jKC4uLikgeworICAgICAgICAgIHJldHVybiByYW5kb20oMzApOyAgICAgICAgICAgICAgICAgICAgICAgLy8gTWl0dGVsd2VydDogMTUKKyAgICAgICAgfQorICAgICAgICAtPiBTZXRQcm9wKFBfRUZGRUNUSVZFX1dDLCAxNTApOyAgICAgICAgICAgLy8gMTIwICsgMioxNSA9IDE1MAorICAgICAKKyAgICAgLy8gIzIgV2FmZmUgbWl0IEJhc2lzLVdDIDEyMCB1bmQgdGVpbHdlaXNlIGFic29sdXRlciBIaXRGdW5jCisgICAgICAgIFNldFByb3AoUF9XQywgMTIwKTsKKyAgICAgICAgU2V0UHJvcChQX0hJVF9GVU5DLCB0aGlzX29iamVjdCgpKTsKKyAgICAgICAKKyAgICAgICAgaW50IEhpdEZ1bmMoLi4uKSB7CisgICAgICAgICAgcmV0dXJuIDMwICsgcmFuZG9tKDEwKTsgICAgICAgICAgICAgICAgICAvLyBNaXR0ZWx3ZXJ0OiAzMCArIDUKKyAgICAgICAgfQorICAgICAgICAtPiBTZXRQcm9wKFBfRUZGRUNUSVZFX1dDLCAxOTApOyAgICAgICAgICAgLy8gMTIwICsgMiooMzArNSkgPSAxOTAKKworICAgICAqIFJ1ZXN0dW5nZW4gKHpCIEdpbGRlbm51dHp1bmcpOgorICAgICAgIERlciBNYXhpbWFsd2VydCBmdWVyIGRpZSBQX0VGRkVDVElWRV9XQyBiZWkgS2FlbXBmZXJuIGlzdCBkZXIgamV3ZWlscworICAgICAgIGRvcHBlbHRlIG1heGltYWxlIFBfQUMtV2VydC4gQW5nYWJlIGVpbmVzIFNjaGFkZW5zdHlwcyBpc3Qgc2lubnZvbGwuCisKKyAgICAgLy8gIzMgRWluIHBhYXIgU2NodWhlLCBtaXQgbWF4aW1hbGVtIFNjaGxhZy0vU2FldXJlc2NoYWRlbi4KKyAgICAgICAgU2V0UHJvcChQX0FSTU9VUl9UWVBFLCBBVF9CT09UKTsKKyAgICAgICAgU2V0UHJvcChQX0FDLCAyKTsKKyAgICAgICAgU2V0UHJvcChQX0RBTV9UWVBFLCAoe0RUX0JMVURHRU9OLERUX0FDSUR9KSk7CisgICAgICAgIC0+IFNldFByb3AoUF9FRkZFQ1RJVkVfV0MsIDEyKTsgIC8vIGhvZWNoc3Rtb2VnbGljaGVyIFdlcnQgYmVpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNjaHVoZW4sIGRhIGRlcmVuIG1heC4gUF9BQyA9IDYKKyAgICAgLy8gYWVxdWl2YWxlbnQgdW5kIHp1a3VuZnRzc2ljaGVyOgorICAgICAgICAtPiBTZXRQcm9wKFBfRUZGRUNUSVZFX1dDLCAyICogVkFMSURfQVJNT1VSX0NMQVNTW0FUX0JPT1RdKTsKKworICAgICAvLyAjNCBFaW4gU2NoaWxkIG1pdCBzcGl0emVtIERvcm4uIChTdGljaHNjaGFkZW4gYmVpbSBTY2hpbGRzdG9zcy4pCisgICAgICAgIFNldFByb3AoUF9BUk1PVVJfVFlQRSwgQVRfU0hJRUxEKTsKKyAgICAgICAgU2V0UHJvcChQX0FDLCA1KTsKKyAgICAgICAgU2V0UHJvcChQX0RBTV9UWVBFLCAoe0RUX1BJRVJDRX0pKTsKKyAgICAgICAgU2V0UHJvcChQX0VGRkVDVElWRV9XQywgNTUpOworCisgICAgIC8vICM1IEVpbiBHdW1taXNjaGlsZCBpc3Qgc2NobGVjaHQgZnVlciBBbmdyaWZmZS4gQk9JTkchCisgICAgICAgIFNldFByb3AoUF9BUk1PVVJfVFlQRSwgQVRfU0hJRUxEKTsKKyAgICAgICAgU2V0UHJvcChQX0FDLCAzMCk7CisgICAgICAgIFNldFByb3AoUF9EQU1fVFlQRSwgKHtEVF9CTFVER0VPTn0pKTsKKyAgICAgICAgU2V0UHJvcChQX0VGRkVDVElWRV9XQywgMTApOworCitTSUVIRSBBVUNIOgorICAgICBXYWZmZW46ICAgICBQX1dDLCBQX1RPVEFMX1dDLCBIaXRGdW5jKCkKKyAgICAgUnVlc3R1bmdlbjogUF9BQywgUF9UT1RBTF9BQywgUF9FRkZFQ1RJVkVfQUMsIERlZmVuZEZ1bmMoKQorICAgICBGaWxlczogICAgICAvc3RkL3dlYXBvbi5jLCAvc3RkL3dlYXBvbi9jb21iYXQuYworICAgICBCYWxhbmNlOiAgICB3YWZmZW4sIHJ1ZXN0dW5nZW4sIHByb3BlcnRpZXMsIGthZW1wZmVyYm9uaQorCis2LiBOb3YgMjAxMSBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRU1QVFlfTVNHIGIvZG9jL3Byb3BzL1BfRU1QVFlfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyNDhkOGUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTVBUWV9NU0cKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICAgUF9FTVBUWV9NU0cgICAgICAgICAgICAgICAgICAgInN0ZF9mb29kX2VhdGVyX21zZyIKKworREVGSU5JRVJUIElOOgorICAgICA8c3lzL2Zvb2QuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBNZWxkdW5nIGFuIGRlbiBLb25zdW1lbnRlbiwgd2VubiB2ZXJzdWNodCB3aXJkLCBlaW5lIGF1ZmdlYnJhdWNodGUgU3BlaXNlCisgICAgIChhbHNvIGVpbmVuIGxlZXJlbiBCZWhhZWx0ZXIpIHp1IGtvbnN1bWllcmVuLgorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UgKGFsc28gZGVuIGxlZXJlbiBCZWhhZWx0ZXIpCisgICAgIDIuIEtvbnN1bWVudAorICAgICB2ZXJhcmJlaXRldCwga2FubiBhbHMgZW50c3ByZWNoZW5kZSBQbGF0emhhbHRlciBlbnRoYWx0ZW4KKyAgICAgCitERUZBVUxUOgorICAgICAiQFdFUjEgaXN0IGJlcmVpdHMgbGVlci4iCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvZm9vZC5jLCB3aXovZm9vZCwgcmVwbGFjZV9wZXJzb25hbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTVBUWV9QUk9QUyBiL2RvYy9wcm9wcy9QX0VNUFRZX1BST1BTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4MTU2ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTVBUWV9QUk9QUwpAQCAtMCwwICsxLDMzIEBACitOQU1FOgorICAgICBQX0VNUFRZX1BST1BTICAgICAgICAgICAgICAgICAic3RkX2Zvb2RfZW1wdHlfcHJvcHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHN5cy9mb29kLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWFwcGluZyBtaXQgUHJvcGVydGllcyBmdWVyIGRlbiBsZWVyZW4gQmVoYWVsdGVyLCBkZXIgdWVicmlnIGJsZWlidCx3ZW5uCisgICAgIGVpbmUgU3BlaXNlIGF1ZmdlYnJhdWNodCBpc3QuIEFsbGUgZW50aGFsdGVuZW4gUHJvcGVydGllcyB3ZXJkZW4gZ2VzZXR6dCwKKyAgICAgd2VubiBrZWluZSBQb3J0aW9uZW4gbWVociB2b3JoYW5kZW4gc2luZC4KKyAgICAgQmVyZWl0cyBpbiBkaWVzZW4gUHJvcGVydGllcyBlaW5nZXRyYWdlbmUgV2VydGUgd2VyZGVuIHVlYmVyc2NocmllYmVuIQorICAgICBXZW5uIGRpZXNlIFByb3BlcnR5IG5pY2h0IGdlc2V0enQgaXN0LCB3aXJkIGRpZSBTcGVpc2UgemVyc3RvZXJ0LCB3ZW5uCisgICAgIGFsbGUgUG9ydGlvbmVuIGF1ZmdlYnJhdWNodCBpc3QgLSBlcyBibGVpYnQgYWxzbyBrZWluIEJlaGFlbHRlciB6dXJ1ZWNrLgorICAgICBBY2h0dW5nOiBFcyB3ZXJkZW4ga2VpbmUgY2xvc3VyZXMgaW4gZGllc2VtIE1hcHBpbmcgdW50ZXJzdHVldHp0IQorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBCZWkgZGVyIEFiZnJhZ2Ugdm9uIFBfVkFMVUUgdW5kIFBfV0VJR0hUIGluIGRlciBTcGVpc2UsIHdlcmRlbiBkaWUgZGF6dQorICAgICBpbiBQX0VNUFRZX1BST1BTIGdlc3BlaWNoZXJ0ZW4gV2VydGUgdmVyd2VuZGV0LCB1bSBkYXMgR2V3aWNodC9XZXJ0IGRlcworICAgICBsZWVyZW4gQmVoYWVsdGVycyB6dW0gR2VzYW10d2VydCBkZXIgU3BlaXNlIHp1IGFkZGllcmVuLgorICAgICBNYW4ga2FubiBhbGxlIFByb3BlcnRpZXMgaW4gZGllc2VzIE1hcHBpbmcgZWludHJhZ2VuLCBkaWUgc2ljaCBpbiBkZXIKKyAgICAgU3BlaXNlIHBlciBTZXRQcm9wIHNldHplbiBsYXNzZW4uIFp1c2FldHpsaWNoIGthbm4gbWFuIEFycmF5cyBpbiBQX0lEUworICAgICB1bmQgUF9BREpFQ1RJVkVTIHNwZWljaGVybiwgZGllIHBlciBBZGQtTWV0aG9kZSBpbiBkZXIgU3BlaXNlCisgICAgIGhpbnp1Z2VmdWVndCB3ZXJkZW4sIG5hY2hkZW0gZGllIGltIGNyZWF0ZSgpIGRlciBTcGVpc2UgaGluenVnZWZ1ZWd0ZW4KKyAgICAgSWRzL0FkamVjdGl2ZXMgZG9ydCBlbnRmZXJudCB3dXJkZW4uCisgICAgIAorQkVJU1BJRUxFOgorICAgICBCZWlzcGllbGUgenVyIFZlcndlbmR1bmcgZmluZGV0IG1hbiB1bnRlciAvZG9jL2JlaXNwaWVsZS9mb29kCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvZm9vZC5jLCB3aXovZm9vZAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTkFCTEVfSU5fQVRUQUNLX09VVCBiL2RvYy9wcm9wcy9QX0VOQUJMRV9JTl9BVFRBQ0tfT1VUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2MGE4MDcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTkFCTEVfSU5fQVRUQUNLX09VVApAQCAtMCwwICsxLDMzIEBACitOQU1FOgorCVBfRU5BQkxFX0lOX0FUVEFDS19PVVQJCSJlbmFibGVfaW5fYXR0YWNrX291dCIKKworREVGSU5JRVJUIElOOgorCS9zeXMvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorCU5vcm1hbGVyd2Vpc2Ugd2lyZCBkaWUgYmVrYW5udGUgVGFrdGlrIFJlaW4tQW5ncmlmZi1SYXVzCisJc3RhbmRhcmRtYWVzc2lnIHVudGVyYnVuZGVuLCBkYW1pdCBOUENzIGF1Y2ggZWluZSBDaGFuY2UgaGFiZW4sIHNpY2gKKwl6dSB2ZXJ0ZWlkaWdlbi4gSGllcnp1IHdpcmQgZGVyIFNjaGFkZW4gaW5uZXJoYWxiIGRvX2RhbWFnZSgpCisJZHVyY2ggZWluZW4gV2VydCBnZXRlaWx0LCBkZXIgc2ljaCBhdXMgZGVyIFZlcndlaWxkYXVlciBkZXMKKwlBbmdyZWlmZXJzIGltIFJhdW0gZXJnaWJ0IChiaXMgenUgMyBTZWt1bmRlbikuCisJRGEgbWFuY2hlIE5QQ3Mgc28ga29uemVwdGlvbmllcnQgd3VyZGVuLCBkYXNzIG1hbiBzaWUgbnVyIG1pdCBkZXIKKwllcndhZWhudGVuIFRha3RpayB0b2V0ZW4ga2Fubiwga2FubiBtYW4gc2llIGF1Y2ggZXhwbGl6aXQgZXJsYXViZW4KKwkobWFuY2hlIE5QQ3MgdmVyd2VuZGVuIGF1Y2ggZWlnZW5lIE1ldGhvZGVuLCBkaWVzZSBUYWt0aWsgenUKKwkgdmVyYmlldGVuLCB1bmQgc2llIHdhZXJlIGRhbm4gZG9wcGVsdCBhYmdlZmFuZ2VuKS4KKwlIaWVyenUgc2V0enQgbWFuIGVpbmZhY2ggZGllIFByb3BlcnR5IFBfRU5BQkxFX0lOX0FUVEFDS19PVVQgaW0gTlBDLgorCitCRUlTUElFTDoKKwlEYXMgZm9sZ2VuZGUgQmVpc3BpZWwgZXJsYXVidCBlaW5mYWNoIG1hbCBkaWUgYW5nZXNwcm9jaGVuZSBUYWt0aWs6CisJICB2b2lkIGNyZWF0ZSgpCisJICB7IC4uLgorCSAgICBTZXRQcm9wKFBfRU5BQkxFX0lOX0FUVEFDS19PVVQsMSk7CisJICAgIC4uLgorCSAgfQorCUpldHp0IGthbm4gbWFuIGRlbiBOUEMgbWl0IFJlaW4tQW5ncmlmZi1SYXVzIGF1Y2ggd2lya3VuZ3N2b2xsCisJYmVrYWVtcGZlbi4KKworU0lFSEUgQVVDSDoKKwlkb19kYW1hZ2UoKSwgUF9MQVNUX01PVkUsIC9zdGQvbGl2aW5nL2xpZmUuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU2F0IEphbiAzMCAxMjo1MzowMCAxOTk5IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRU5FTVlfREFNQUdFIGIvZG9jL3Byb3BzL1BfRU5FTVlfREFNQUdFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxNjMzOWQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTkVNWV9EQU1BR0UKQEAgLTAsMCArMSwzMSBAQAorUF9FTkVNWV9EQU1BR0UKKworTkFNRToKKyAgICAgUF9FTkVNWV9EQU1BR0UgImVuZW15X2RhbWFnZSIKKworREVGSU5JRVJUIElOOgorICAgICA8bGl2aW5nL2xpZmUuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBJbiBkaWVzZXIgUHJvcGVydHkgaXN0IHZlcm1lcmt0LCB3ZWxjaGVzIFdlc2VuIGRpZXNlbSBXZXNlbiB3aWV2aWVsCisgICAgIFNjaGFkZW4genVnZWZ1ZWd0IGhhdC4KKworICAgICBEaWUgUHJvcGVydHkgZW50aGFlbHQgZWluIE1hcHBpbmcsIGRhcyBkZW4gQW5ncmVpZmVybiBkZW4KKyAgICAgZXJyZWNodGVuIFNjaGFkZW4genVvcmRuZXQ6CisgICAgIChbIDxvYm5hbWUxPjogPGRhbWFnZT47IDxvd25lcj4sIC4uLiBdKQorCisgICAgICAgPG9ibmFtZTE+OiBOYW1lIGRlcyBPYmpla3RzLCBkYXMgZGVuIFNjaGFkZW4gdmVydXJzYWNodCBoYXQgKHN0cmluZyksCisgICAgICAgICAgICAgICAgICB6LkIuICIvbWFnaWVyOnplc3N0cmEiCisgICAgICAgPGRhbWFnZT4gOiBTY2hhZGVuc21lbmdlIChpbnQpCisgICAgICAgPG93bmVyPiAgOiB3ZW5uIGRhcyBzY2hhZGVuc3ZlcnVyc2FjaGVuZGUgV2VzZW4gZWluIE5QQyB3YXIvaXN0LAorICAgICAgICAgICAgICAgICAgd2VsY2hlcyBQX0hFTFBFUl9OUEMgZ2VzZXR6dCBoYXR0ZSB1bmQgc29taXQgZWluZW0gU3BpZWxlcgorICAgICAgICAgICAgICAgICAgaGlsZnQsIHN0ZWh0IGhpZXIgZGFzIE9iamVrdCBkZXMgamV3ZWlsaWdlbiBTcGllbGVycworICAgICAgICAgICAgICAgICAgKG9iamVjdCkKKworQkVNRVJLVU5HRU46CisgICAgIERpZXNlIFByb3BlcnR5IGxhZXNzdCBzaWNoIG51ciBhYmZyYWdlbiEKKworU0lFSEUgQVVDSDoKKyAgICAgUF9IRUxQRVJfTlBDCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisyNi4xMC4yMDA5LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTkVNWV9ERUFUSF9TRVFVRU5DRSBiL2RvYy9wcm9wcy9QX0VORU1ZX0RFQVRIX1NFUVVFTkNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MGQzMjUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTkVNWV9ERUFUSF9TRVFVRU5DRQpAQCAtMCwwICsxLDQ0IEBACitQX0VORU1ZX0RFQVRIX1NFUVVFTkNFCisKK05BTUU6CisgICAgIFBfRU5FTVlfREVBVEhfU0VRVUVOQ0UgICAgICAgICJlbmVteV9kZWF0aF9zZXF1ZW5jZSIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFVlYmVyIGRpZXNlIFByb3BlcnR5IGthbm4gRWluZmx1c3MgYXVmIGRpZSBUb2Rlc3NlcXVlbnogZWluZXMgZ2V0b2V0ZW4KKyAgICAgU3BpZWxlcnMgZ2Vub21tZW4gd2VyZGVuLiBTaWUgbXVzcyBpbSB0b2V0ZW5kZW4gT2JqZWt0LCBkLmguIGRlbQorICAgICBPYmpla3Qgd2VsY2hlcyBkaWUoKS9kb19kYW1hZ2UoKS9EZWZlbmQoKSBpbSBTcGllbGVyIGdlcnVmZW4gaGF0LAorICAgICBnZXNldHp0IHNlaW4uCisKKyAgICAgRXMgZ2lidCBmb2xnZW5kZSBndWVsdGlnZSBXZXJ0ZToKKyAgICAgLSBzdHJpbmc6IFBmYWQgenUgZWluZXIgZWlnZW5lbiBUb2Rlc3NlcXVlbnogaW0gZ3VlbHRpZ2VuIEZvcm1hdAorICAgICAtIG1peGVkKiAgRWluZSBUb2Rlc3NlcXVlbnogaW0gRm9ybWF0IGRlcyBUb2Rlc3JhdW1lczoKKyAgICAgICAgICAgICAgICh7PGludCBnZXNhbXRsYWVuZ2U+LAorICAgICAgICAgICAgICAgICAoWzxpbnQgaW5kZXgxPjogPHN0cmluZyB1bWdlYnJvY2hlbmUgTWVsZHVuZzE+LAorICAgICAgICAgICAgICAgICAgIDxpbnQgaW5kZXgyPjogPHN0cmluZyB1bWdlYnJvY2hlbmUgTWVsZHVuZzI+LAorICAgICAgICAgICAgICAgICAgIC4uLl0pCisgICAgICAgICAgICAgICB9KQorICAgICAtIG1hcHBpbmcgSW4gZGllIFN0YW5kYXJkLUxhcnMtVG9kZXNzZXF1ZW56IGVpbnp1ZnVlZ2VuZGUgWmVpbGVuOgorICAgICAgICAgICAgICAgKFs8aW50IHplaXRpbmRleD46IDxzdHJpbmcgdW1nZWJyb2NoZW5lciBUZXh0Pl0pCisKK0JFSVNQSUVMRToKKyAgICAgLy8gUGZhZCB6dSBlaW5lciBlaWdlbmVuIERTUQorICAgICBTZXRQcm9wKFBfRU5FTVlfREVBVEhfU0VRVUVOQ0UsICAiLi4uL3Bhc3NlbmRlX2RzcS50eHQiKTsKKworICAgICAvLyBlaWdlbmUgRFNRIGltIFRvZGVzcmF1bWZvcm1hdDoKKyAgICAgU2V0UHJvcChQX0VORU1ZX0RFQVRIX1NFUVVFTkNFLAorICAgICAgICAgICAgICh7IDIsIChbMTogIkRVIExFUk5TVCBBVVMgREVJTkVNIEZFSExFUi5cbiJdKX0pKTsKKworICAgICAvLyBFaW5mdWVnZW4gZWluZXIgTWVsZHVuZyAoZGVzIE5QQ3MpIGluIGRpZSBTdGFuZGFyZC1Ub2Rlc3NlcXVlbnoKKyAgICAgU2V0UHJvcChQX0VORU1ZX0RFQVRIX1NFUVVFTkNFLAorICAgICAgICAgICAgIChbNTogIkR1IGhvZXJzdCAiK25hbWUoV0VOKSsiIGhvZWhuaXNjaCBraWNoZXJuLlxuIl0pKTsKKworU0lFSEUgQVVDSDoKKyAgICAgVG9kOiAgICAgICAgICAgIGRpZShMKQorICAgICBUb2Rlc21lbGR1bmdlbjogUF9LSUxMX05BTUUsIFBfS0lMTF9NU0csIFBfRElFX01TRywgUF9NVVJERVJfTVNHCisgICAgICAgICAgICAgICAgICAgICBQX1pBUF9NU0csIFBfTkVYVF9ERUFUSF9TRVFVRU5DRQorICAgICBTb25zdGlnZXM6ICAgICAgUF9DT1JQU0UsIFBfTk9DT1JQU0UsIC9yb29tL2RlYXRoL2RlYXRoX3Jvb20uYworCisxMC4gTm92IDIwMTEgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTlRFUkNNRFMgYi9kb2MvcHJvcHMvUF9FTlRFUkNNRFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY3ZTNkOQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0VOVEVSQ01EUwpAQCAtMCwwICsxLDMzIEBACitOQU1FOgorICAgIFBfRU5URVJDTURTICAgICAgICAgICAgICAgICAgICJsZWF2ZWNtZHMiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRWluIEFycmF5IG1pdCBCZWZlaGxlbiwgZGllIHp1bSBCZXRyZXRlbiBkZXMgVHJhbnNwb3J0ZXJzIGZ1ZWhyZW4uIAorCitCRUlTUElFTDoKKyAgICBTZXRQcm9wKFBfRU5URVJDTURTLCh7ICJiZXRyZXRlIiwiYmV0cml0dCIgfSkgKTsKKworICAgIEdpYnQgZGVyIFNwaWVsZXIgbnVuICdiZXRyZXRlIHh4eCcgZWluLCBzbyBzb3JndCAvc3RkL3RyYW5zcG9ydC5jIAorICAgIGRhZnVlciwgZGFzIGRlciBTcGllbGVyIGF1Y2ggYXVmIG9kZXIgaW4gZGVuIFRyYW5zcG9ydGVyIGJld2VndCAKKyAgICB3aXJkLiBWb3JhdXNnZXNldHp0IG5hdHVlcmxpY2gsIGVyIGlzdCBhbiBlaW5lbSBIYWx0ZXB1bmt0IGFuZ2UtCisgICAgbGFuZ3QgdW5kIGVzIGlzdCBnZW51ZWdlbmQgUGxhdHogZG9ydC4KKworQkVNRVJLVU5HRU46CisgICAgVW0gL3N0ZC90cmFuc3BvcnQuYyBuaWNodCBhdWZ6dWJsYWVoZW4sIHdlcmRlbiB3ZWl0ZXJlIEFyZ3VtZW50ZSB3aWUKKyAgICBldHdhICdiZXRyZXRlIGRhc3xkaWV8ZGVuIHh4eCcgX25pY2h0XyB1bnRlcnN0dWV0enQhCisKKyAgICBIaWVyIG11c3MgZGVyIHZlcmFudHdvcnRsaWNoZSBNYWdpZXIgc2Nob24gZWluZSBlaWdlbmUgTG9lc3VuZyBmaW5kZW4KKyAgICB1bmQgaW4gc2VpbmVuIFRyYW5zcG9ydGVyIHNjaHJlaWJlbi4KKworICAgIFNvbGxlbiBLb21tYW5kb3MgenVtIEJldHJldGVuIFVORCBWZXJsYXNzZW4gZWluZXMgVHJhbnNwb3J0ZXJzIHZlci0KKyAgICB3ZW5kZXQgd2VyZGVuIGtvZW5uZW4sIG11ZXNzZW4gZGllc2UgaW4gUF9UUkFWRUxfQ01EUyBnZXNldHp0IHdlcmRlbi4KKworU0lFSEUgQVVDSDoKKyAgICBQX0xFQVZFRkFJTCwgUF9FTlRFUkZBSUwsIFBfTEVBVkVDTURTLCBQX1RSQVZFTF9DTURTLCB0cmFuc3BvcnRlciwKKworTEVUWlRFIEFFTkRFUlVORzoKKyAgICBEb24sIDI0LjAxLjIwMDIsIDEwOjE1OjA3aCB2b24gVGlsbHkKKyAgICAKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTlRFUkZBSUwgYi9kb2MvcHJvcHMvUF9FTlRFUkZBSUwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmVjZDFlNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0VOVEVSRkFJTApAQCAtMCwwICsxLDI0IEBACitOQU1FOgorICAgIFBfRU5URVJGQUlMICAgICAgICAgICAgICAgICAgICJlbnRlcmZhaWwiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcgYW4gZGVuIFNwaWVsZXIsIHdlbm4gZXIgZWluZW4gdm9sbGVuIFRyYW5zcG9ydGVyIGJldHJldGVuIAorICAgICB3aWxsLiBJc3QgZGllIFByb3BlcnRpZSBlaW4gQXJyYXksIHNvIHdpcmQgZGFzIGVyc3RlIEVsZW1lbnQgYWxzCisgICAgIE1lbGR1bmcgYW4gZGVuIFNwaWVsZXIsIGRhcyB6d2VpdGUgYWxzIE1lbGR1bmcgYW4gZGllIE1pdHNwaWVsZXIgCisgICAgIGltIFJhdW0gZ2VzY2hpY2t0LgorCitCRUlTUElFTDoKKyAgICAgU2V0UHJvcChQX0VOVEVSRkFJTCwiRG9ydCBpc3Qgd2lya2xpY2gga2VpbiBQbGF0eiBtZWhyIGZ1ZXIgRGljaCIpOworICAgICAKKyAgICAgU2V0UHJvcChQX0VOVEVSRkFJTCwgKHsgIkRvcnQgaXN0IHdpcmtsaWNoIGtlaW4gUGxhdHogbWVociBmdWVyIERpY2giLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmVyc3VjaHQsIGF1ZiBkaWUgS3V0c2NoZSB6dSBrbGV0dGVybiwgd2lyZCAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyJhYmVyIHdpZWRlciBoZXJ1bnRlcmdlc2NoaWNrdCIgfSkgKTsKKworU0lFSEUgQVVDSDoKKyAgICAgUF9FTlRFUk1TRywgUF9MRUFWRUZBSUwsIFBfTEVBVkVNU0csIHRyYW5zcG9ydGVyCisKK0xFVFpURSBBRU5ERVJVTkc6CisgICAgRG9uLCAyNC4wMS4yMDAyLCAxMDoxNTowN2ggdm9uIFRpbGx5CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTlRFUk1TRyBiL2RvYy9wcm9wcy9QX0VOVEVSTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMjEyOGUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTlRFUk1TRwpAQCAtMCwwICsxLDE4IEBACitOQU1FOgorICAgIFBfRU5URVJNU0cgICAgICAgICAgICAgICAgICAgICJlbnRlcm1zZyIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFycmF5IG1pdCB6d2VpIE1lbGR1bmdlbiwgZWluZSBmdWVyIGRlbiBSYXVtLCBkZW4gZGVyIFNwaWVsZXIKKyAgICAgdmVybGFlc3N0LCB1bmQgZWluZSBmdWVyIGRlbiBUcmFuc3BvcnRlciwgaW4gZGVuIGVyIGdlaHQuCisKK0JFSVNQSUVMOgorICAgICBTZXRQcm9wKFBfRU5URVJNU0csICh7ICJrbGV0dGVydCBpbiBkaWUgS3V0c2NoZSIsImtsZXR0ZXJ0IGhlcmVpbiIgfSkgKTsKKworU0lFSEUgQVVDSDoKKyAgICAgUF9FTlRFUkZBSUwsIFBfTEVBVkVGQUlMLCBQX0xFQVZFTVNHLCB0cmFuc3BvcnRlcgorCitMRVRaVEVSIEFFTkRFUlVORzoKKyAgICBEb24sIDI0LjAxLjIwMDIsIDEwOjE1OjA3aCB2b24gVGlsbHkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0VOVl9NU0cgYi9kb2MvcHJvcHMvUF9FTlZfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzOWUyYzEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTlZfTVNHCkBAIC0wLDAgKzEsMjYgQEAKK05BTUU6CisgICAgIFBfRU5WX01TRyAgICAgICAgICAgICAgICAgICAgICJzdGRfZm9vZF9lbnZfbXNnIgorCitERUZJTklFUlQgSU46CisgICAgIDxzeXMvZm9vZC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcgYW4gZGVuIEtvbnN1bWVudGVuLCB3ZW5uIGVpbmUgU3BlaXNlIGtvbnN1bWllcnQgd2VyZGVuIHNvbGwsCisgICAgIGRpZSBuaWNodCBpbSBlaWdlbmVuIEludmVudG9yeSBsaWVndC4KKyAgICAgV2VubiBkaWVzZSBQcm9wZXJ0eSBsZWVyIGlzdCwga2FubiBtYW4gZGllIFNwZWlzZSBkYW5uIHNvZ2FyCisgICAgIGtvbnN1bWllcmVuIQorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UKKyAgICAgMi4gS29uc3VtZW50CisgICAgIHZlcmFyYmVpdGV0LCBrYW5uIGFscyBlbnRzcHJlY2hlbmRlIFBsYXR6aGFsdGVyIGVudGhhbHRlbgorICAgICAKK0RFRkFVTFQ6CisgICAgICJWaWVsbGVpY2h0IHNvbGx0ZXN0IER1IEBXRU4xIHZvcmhlciBuZWhtZW4uIgorCitTSUVIRSBBVUNIOgorICAgICB3aXovZm9vZCwgcmVwbGFjZV9wZXJzb25hbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FTlZfVE9PX0hFQVZZX01TRyBiL2RvYy9wcm9wcy9QX0VOVl9UT09fSEVBVllfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNzNhYzEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FTlZfVE9PX0hFQVZZX01TRwpAQCAtMCwwICsxLDMxIEBACitOQU1FOgorICAgIFBfRU5WX1RPT19IRUFWWV9NU0cgICAgICAgICAgICAgICAgICAgICAgImVudl90b29faGVhdnlfbXNnIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvbW92aW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBlaW5lIE1lbGR1bmcsIGRpZSBhdXNnZWdlYmVuIHdpcmQsIHdlbm4gamVtYW5kCisgICAgIHZlcnN1Y2h0LCBlaW4gT2JqZWt0IGluIGVpbmVuIEJlaGFlbHRlciB6dSBsZWdlbiwgdW5kIGRpZXNlciBkYW5uIGZ1ZXIKKyAgICAgc2VpbiBFbnZpcm9ubWVudCB6dSBzY2h3ZXIgd2lyZC4KKyAgICAgRGllIFByb3BlcnR5IGlzdCBpbSBCZWhhZWx0ZXIgenUgc2V0emVuLgorICAgICBJc3QgZGllc2UgUHJvcGVydHkgbmljaHQgb2RlciBhdWYgZWluZW4gbmljaHQtU3RyaW5nLVdlcnQgZ2VzZXR6dCwKKyAgICAgc28gd2lyZCBkaWUgU3RhbmRhcmRtZWxkdW5nIGF1c2dlZ2ViZW4uCisgICAgICgiPEJlaGFlbHRlcj4gd3VlcmRlIGRpciBkYW5uIHp1IHNjaHdlciB3ZXJkZW4uIikKKyAgICAgRGVyIFN0cmluZyBpbiBkZXIgUHJvcGVydHkgd2lyZCBub2NoIGR1cmNoIHJlcGxhY2VfcGVyc29uYWwoKQorICAgICB2ZXJhcmJlaXRldCwgZGFzIHp1IGJld2VnZW5kZSBPYmpla3Qgd2lyZCBhbHMgZXJzdGVzLCBkZXIgQmVoYWVsdGVyIGFscworICAgICB6d2VpdGVzIE9iamVrdCBhbmdlZ2ViZW4uIERhbmFjaCB3aXJkIGRlciBTdHJpbmcgYXVmIDc4IFplaWNoZW4KKyAgICAgdW1nZWJyb2NoZW4uCisgICAgIERhcyBTZXR6ZW4gZWluZXMgbGVlcmVuIFN0cmluZ3MgdW50ZXJkcnVlY2t0IGRpZSBBdXNnYWJlIGVpbmVyIE1lbGR1bmcKKyAgICAgZ2Fuei4KKworQkVJU1BJRUxFOgorICAgICBTZXRQcm9wKFBfRU5WX1RPT19IRUFWWV9NU0csICJNaXQgQFdFTTEga29lbm50ZXN0IGR1IGRlbiBSdWNrc2FjayBuaWNodCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiIG1laHIgdHJhZ2VuLiIpOworCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOiBQX1RPT19IRUFWWV9NU0csIFBfVE9PX01BTllfTVNHLCBQX05PSU5TRVJUX01TRywKKyAgICAgICAgICAgICAgICAgUF9OT0xFQVZFX01TRywgUF9OT0RST1AsIFBfTk9HRVQgCisgICAgIEVyZm9sZzogICAgIFBfUElDS19NU0csIFBfRFJPUF9NU0csIFBfR0lWRV9NU0csIFBfUFVUX01TRywKKyAgICAgICAgICAgICAgICAgUF9XRUFSX01TRywgUF9XSUVMRF9NU0cKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgL3N0ZC9saXZpbmcvcHV0X2FuZF9nZXQuYwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRVFVSVBfVElNRSBiL2RvYy9wcm9wcy9QX0VRVUlQX1RJTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzFiMmYzNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0VRVUlQX1RJTUUKQEAgLTAsMCArMSwyNiBAQAorUF9FUVVJUF9USU1FCisKK05BTUU6CisgICAgICBQX0VRVUlQX1RJTUUJCQkiZXF1aXBfdGltZSIKKworREVGSU5JRVJUIElOOgorICAgICAgL3N5cy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICBJbm5lcmhhbGIgdm9uIFdhZmZlbiB1bmQgUnVlc3R1bmdlbiB3aXJkIGluIGRpZXNlciBQcm9wZXJ0eQ0KKyAgICAgIHJlZ2lzdHJpZXJ0LCB3YW5uIGRpZXNlIHp1bGV0enQgZ2V6dWVja3QgYnp3LiBhbmdlem9nZW4gd3VyZGVuLgorICAgICAgSW5uZXJoYWxiIGRlciBGdW5rdGlvbmVuIHdpZWxkX21lKCkgaW4gJy9zdGQvd2VhcG9uL2NvbWJhdCcgYnp3Lg0KKyAgICAgIERvV2VhcigpIGluICcvc3RkL2FybW91ci9jb21iYXQnIHdpcmQgaGllcmJlaSBqZXdlaWxzIGZvbGdlbmRlIEFrdGlvbg0KKyAgICAgIGF1c2dlZnVlaHJ0OgorCVNldFByb3AoUF9FUVVJUF9USU1FLHRpbWUoKSk7CisKK1NJRUhFIEFVQ0g6CisgICAgICBWZXJ3YW5kdDoJCVBfTEFTVF9VU0UKKyAgICAgIFdhZmZlbjoJCVBfVU5XSUVMRF9USU1FCisJCQlEb1dpZWxkKCkKKyAgICAgIFJ1ZXN0dW5nZW46CURvV2VhcigpCisgICAgICBTb25zdGlnZXM6CXRpbWUoKQorCQkJL3N0ZC93ZWFwb24vY29tYmF0LmMsIC9zdGQvYXJtb3VyL2NvbWJhdC5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFN1biBKdWwgMjYgMjM6NTk6MTIgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0VWQUxfRkFDVE9SUyBiL2RvYy9wcm9wcy9QX0VWQUxfRkFDVE9SUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGU4ODFlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRVZBTF9GQUNUT1JTCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0VWQUxfRkFDVE9SUyAgICAgICAgICAgICAgICAiaW5wY19ldmFsX2ZhY3RvcnMiICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvaW5wYy9ldmFsLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRVZBTF9PRkZTRVRTIGIvZG9jL3Byb3BzL1BfRVZBTF9PRkZTRVRTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4MmVmMzkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FVkFMX09GRlNFVFMKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfRVZBTF9PRkZTRVRTICAgICAgICAgICAgICAgICJpbnBjX2V2YWxfb2Zmc2V0cyIgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9pbnBjL2V2YWwuaAorCitCRVNDSFJFSUJVTkc6CisgICAgKioqIEtFSU5FIEJFU0NIUkVJQlVORyBWT1JIQU5ERU4gKioqCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9FWElUUyBiL2RvYy9wcm9wcy9QX0VYSVRTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiMzg1NmYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9FWElUUwpAQCAtMCwwICsxLDkgQEAKK05BTUU6CisgICAgUF9FWElUUyAgICAgICAgICAgICAgICAgICAgICAgImV4aXRzIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1hcHBpbmcgYWxsZXIgdW5taXR0ZWxiYXIgc2ljaHRiYXJlbiBBdXNnYWVuZ2UgbWl0IHp1Z2Vob2VyaWdlbgorICAgICBOYWNoYmFycmFldW1lbi4gU29sbHRlIG51ciBtaXR0ZWxzIEFkZEV4aXQoKSBiZW51dHp0IHdlcmRlbi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZBTyBiL2RvYy9wcm9wcy9QX0ZBTwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmYzM2UxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRkFPCkBAIC0wLDAgKzEsMTkgQEAKK1BfRkFPCisKK05BTUU6CisgICAgIFBfRkFPICAgICAgImZyYXRlcm5pdGFzZG9ub2FyY2htYWdvcnVtIgorCitERUZJTklFUlQgSU46CisgICAgIDxwbGF5ZXIvZmFvLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRnJhdGVybml0YXMtcmVsZXZhbnRlIFByb3BlcnR5LgorCisgICAgIEdlbmF1ZSBJbmZvcm1hdGlvbmVuIHVuYmVrYW5udC4KKyAgICAgU2NocmVpYmVuZGVyIFp1Z3JpZmYgaXN0IG51ciBFTXMgb2RlciBkZW0gRkFPTUFTVEVSIChzLiBIZWFkZXJmaWxlKQorICAgICBtb2VnbGljaC4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9GQU9fUE9SVEFMUworCisxLlNlcHRlbWJlciAyMDA4IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9GQU9fUE9SVEFMUyBiL2RvYy9wcm9wcy9QX0ZBT19QT1JUQUxTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NTc1MGEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GQU9fUE9SVEFMUwpAQCAtMCwwICsxLDIyIEBACitQX0ZBT19QT1JUQUxTCisKK05BTUU6CisgICAgIFBfRkFPX1BPUlRBTFMgICAgICAiZnJhdGVybml0YXNkb25vYXJjaG1hZ29ydW1QT1JUQUxTIgorCitERUZJTklFUlQgSU46CisgICAgIDxwbGF5ZXIvZmFvLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRnJhdGVybml0YXMtcmVsZXZhbnRlIFByb3BlcnR5LgorCisgICAgIEVudGhhZWx0IGVpbmUgQXJyYXkgbWl0IGVpbmVyIExpc3RlIGRlciB1ZWJlciBkaWUgRnJhdGVybml0YXMKKyAgICAgZ2VmdW5kZW5lbiB1bmQgYmVudXR6YmFyZW4gU2VoZXItUG9ydGFsZS4KKworICAgICBHZW5hdWUgSW5mb3JtYXRpb25lbiB1bmJla2FubnQuCisgICAgIFNjaHJlaWJlbmRlciBadWdyaWZmIGlzdCBudXIgRU1zIG9kZXIgZGVtIEZBT01BU1RFUiAocy4gSGVhZGVyZmlsZSkgCisgICAgIG1vZWdsaWNoLgorCitTSUVIRSBBVUNIOgorICAgICBQX0ZBT19QT1JUQUxTLCBQX1NFRVJET09SUworICAgICAKKzEuU2VwdGVtYmVyIDIwMDggR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZJU0ggYi9kb2MvcHJvcHMvUF9GSVNICm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2OTRjMDkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GSVNICkBAIC0wLDAgKzEsNzUgQEAKK05BTUU6CisgICAgUF9GSVNIICAgICAgICAgICAgICAgICAgICAgICAgImZpc2giCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2Zpc2hpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRW50aGFlbHQgRWluc3RlbGx1bmdlbiB6dSBhbGxlbSwgd2FzIG1pdCBGaXNjaGVuIHp1IHR1biBoYXQuIAorICAgIEthbm4gaW4gRmlzY2hlbiwgUmFldW1lbiB1bmQgS29lZGVybiBnZXNldHp0IHdlcmRlbi4gRGllIHZlcmZ1ZWdiYXJlbiAKKyAgICBPcHRpb25lbiB1bmQgRnVua3Rpb25zd2Vpc2VuIHNpbmQgaW4gZGVuIG5hY2hmb2xnZW5kZW4gQWJzY2huaXR0ZW4gCisgICAgYXVmZ2VmdWVocnQuCisKKyAgICBGaXNjaGU6CisgICAgKioqKioqKgorICAgIERpZSBQcm9wZXJ0eSBsZWd0IHp1c2FldHpsaWNoZSBFaWdlbnNjaGFmdGVuIGZlc3Q6CisKKyAgICAgIEZfTk9ST1RURU4KKyAgICAgICAgRmlzY2ggZmF1bHQgbmljaHQ7IGdnZi4gc29sbHRlIGhpZXIgYXVjaCBnbGVpY2ggRl9OT0hFQUwgZ2VzZXR6dCAKKyAgICAgICAgd2VyZGVuLCB3ZWlsIHNvbnN0IGVpbmUgdW52ZXJkZXJibGljaGUgdHJhZ2JhcmUgVGFua2UgZXJ6ZXVndCB3dWVyZGUuCisgICAgICBGX05PVEhVTkdSWQorICAgICAgICBGaXNjaCBmcmlzc3QgS29lZGVyIG51ciwgd2VubiBlciBhdWNoIHdpcmtsaWNoIG5hY2hoZXIgYW4gZGVyIEFuZ2VsCisgICAgICAgIGhhZW5ndC4gSXN0IGVyIHp1IHNjaHdlciBmdWVyIGRpZSBBbmdlbCB1bmQgcmVpc3N0IGFiLCBibGVpYnQgZGVyCisgICAgICAgIEtvZWRlciBlcmhhbHRlbi4KKyAgICAgIEZfUkVQTEFDRQorICAgICAgICBGaXNjaCBzb2xsIHNpY2ggYmVpbSBFbnRmZXJuZW4gdm9uIGRlciBBbmdlbCB2ZXJ3YW5kZWxuLiBIaWVyenUgaXN0CisgICAgICAgIGRpZSBGdW5rdGlvbiBSZXBsYWNlRmlzaCgpIGltIEZpc2NoIHp1IGRlZmluaWVyZW4sIGRpZSBzaWNoIHVtIGRpZQorICAgICAgICBWZXJ3YW5kbHVuZyBrdWVtbWVydCAoei5CLiBNb25zdGVyIGNsb25lbiB1bmQgRmlzY2ggemVyc3RvZXJlbjsgZWluCisgICAgICAgIEJlaXNwaWVsIGZpbmRldCBzaWNoIGluIC9kL2ViZW5lL2ZyYWdnbGUvYW5nZWwyL29iai9zYWVnZWZpc2NoLmMpLgorICAgICAgRl9OT0hFQUwKKyAgICAgICAgRmlzY2ggaGVpbHQgbmljaHQgYmVpIFZlcnplaHIKKworICAgIFJhdW0gKE9QVElPTkFMKToKKyAgICAqKioqKioqKioqKioqKioqCisgICAgTGVndCBkaWUgRmlzY2hkaWNodGUgZGVzIEdld2Flc3NlcnMgZmVzdC4gRGVyIGVpbmdlc3RlbGx0ZSBXZXJ0IHdpcmt0IAorICAgIHNpY2ggYXVmIGRpZSBXYXJ0ZXplaXQgYXVzLCBkaWUgZGVyIEFuZ2xlciB2ZXJicmluZ2VuIG11c3MsIGJpcyBlaW4gCisgICAgRmlzY2ggYW5iZWlzc3QuIEJlcmVjaG51bmcgaW0gRGV0YWlsIChhbGxlIFphaGxlbndlcnRlIGluIFNla3VuZGVuKToKKyAgICAtIEJhc2lzLVdhcnRlemVpdDogZGVsYXkgPSA4MAorICAgIC0gRGllIFdlcnRlIHZvbiBQX0ZJU0ggdm9uIFJhdW0gdW5kIEtvZWRlciB3ZXJkZW4gYWRkaWVydDoKKyAgICAgIHN1bW1lID0gcmF1bS0+UXVlcnlQcm9wKFBfRklTSCkgKyBrb2VkZXItPlF1ZXJ5UHJvcChQX0ZJU0gpCisgICAgICAtPiBwb3NpdGl2ZSBXZXJ0ZSAoQm9udXMpIHdlcmRlbiBhdWYgNjAgYmVncmVuenQgdW5kIG1pdCBadWZhbGxzLQorICAgICAgICAga29tcG9uZW50ZSB2b24gPGRlbGF5PiBhYmdlem9nZW46CisgICAgICAgICBkZWxheSAtPSByYW5kb20oc3VtbWUpCisgICAgICAtPiBuZWdhdGl2ZSBXZXJ0ZSAoTWFsdXMpIHdlcmRlbiBhdWYgLTMwMCBiZWdyZW56dCB1bmQgbWl0IFp1ZmFsbHMtCisgICAgICAgICBrb21wb25lbnRlIGF1ZiA8ZGVsYXk+IGF1Zmdlc2NobGFnZW46CisgICAgICAgICBkZWxheSArPSByYW5kb20oLXN1bW1lKQorCisgICAgWnVzYWV0emxpY2ggd2lyZCBlaW4gd2VpdGVyZXIgTWFsdXMgYXVmIGRpZSBXYXJ0ZXplaXQgZmFlbGxpZywgZmFsbHMgCisgICAgUF9XQVRFUiBpbiBkZXIgQW5nZWwgdW5kL29kZXIgUF9XQVRFUiBpbSBLb2VkZXIgbmljaHQgenVtIGFrdHVlbGxlbiAKKyAgICBHZXdhZXNzZXIgcGFzc2VuLiBEZXIgTWFsdXMgYmV0cmFlZ3QgamV3ZWlscyA2MCtyYW5kb20oNjApIFNla3VuZGVuLgorICAgIAorICAgIERlciBTdGFuZGFyZHdlcnQgZnVlciBQX0ZJU0ggaW0gUmF1bSBpc3QgMCB1bmQgYmVkZXV0ZXQgMTAwICUgQmVzdGFuZC4KKyAgICBQb3NpdGl2ZSBXZXJ0ZSBlcmhvZWhlbiBkaWUgRGljaHRlLCBuZWdhdGl2ZSBzZW5rZW4gc2llLiBQb3NpdGl2ZSBXZXJ0ZSAKKyAgICBzb2xsdGVuIG5pY2h0ID4xMDAgc2Vpbi4KKworICAgIFNvZmVybiBzaWNoIGRpZSBXZXJ0ZSBmdWVyIFBfRklTSCBpbiBkZW4gZW1wZm9obGVuZW4gR3JlbnplbiBiZXdlZ2VuLAorICAgIGtvZW5uZW4gQWJ6dWVnZSBmdWVyIGZhbHNjaGVzIEdld2Flc3NlciB1ZWJsaWNoZXJ3ZWlzZSBrYXVtIGR1cmNoCisgICAgQm9uaSBhdWYgQW5nZWwgb2RlciBLb2VkZXIga29tcGVuc2llcnQgd2VyZGVuLiBBdXNzZXJkZW0gaXN0IHp1CisgICAgYmVkZW5rZW4sIGRhc3MgZXMga2VpbmUgQm9uaSBmdWVyIHJpY2h0aWdlIEdld2Flc3NlcndhaGwgZ2lidC4KKyAKKworICAgIEtvZWRlciAoT1BUSU9OQUwpOgorICAgICoqKioqKioqKioqKioqKioqKgorICAgIEVpbiBLb2VkZXIga2FubiBtaXR0ZWxzIFBfRklTSCBkaWUgRmlzY2hkaWNodGUgbW9kaWZpemllcmVuLCB1bSBoaWVydWViZXIKKyAgICBlaW4gYmVzc2VyZXMgQmVpc3NlbiBkZXIgRmlzY2hlIHp1IHNpbXVsaWVyZW4gKHJlZHV6aWVydCBkaWUgV2FydGV6ZWl0CisgICAgYmVpbSBBbmdlbG4sIHNpZWhlIG9iZW4gdW50ZXIgIlJhdW0iKS4gV2VubiBhbHNvIGRlciBSYXVtIGVpbmVuIFdlcnQKKyAgICB2b24gLTEwMCBnZXNldHp0IGhhdCB1bmQgZGVyIEtvZWRlciArMTAwLCBlbnRzcHJpY2h0IGRpZSBGaXNjaGRpY2h0ZSBpbSAKKyAgICBHZXdhZXNzZXIgd2llZGVyIGRlbSBOb3JtYWx3ZXJ0LgorCitTSUVIRSBBVUNIOgorCisgICAgUHJvcGVydGllczogUF9XQVRFUgorICAgIE1ldGhvZGVuOiAgIEdldEFxdWFyaXVtKEwpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorWnVsZXR6dCBnZWFlbmRlcnQ6IDIwMTQtQXVnLTIxLCBBcmF0aG9ybgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRkxBR1MgYi9kb2MvcHJvcHMvUF9GTEFHUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzU0YWVhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRkxBR1MKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfRkxBR1MgICAgICAgICAgICAgICAgICAgICAgICJjYW5fZmxhZ3MiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmxhZ3MgZGVzIFNwaWVsZXJzCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9GT0xMT1dfU0lMRU5UIGIvZG9jL3Byb3BzL1BfRk9MTE9XX1NJTEVOVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjYyYWQxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRk9MTE9XX1NJTEVOVApAQCAtMCwwICsxLDkgQEAKK05BTUU6CisgICAgUF9GT0xMT1dfU0lMRU5UICAgICAgICAgICAgICAgImZvbGxvd19zaWxlbnQiICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZW5uIGRpZXNlIFByb3BlcnR5IDEgaXN0LCB3aXJkIGRlciBNT1ZFIHZvbSB2ZXJmb2xnZSBTaWxlbnQgYXVzZ2UtCisgICAgIGZ1ZWhydC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZPT0QgYi9kb2MvcHJvcHMvUF9GT09ECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2OTY5NGYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GT09ECkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisgICAgIFBfRk9PRCAgICAgICAgICAgICAgICAgICAgICAgICJmb29kIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL2xpZmUuaAorCitCRVNDSFJFSUJVTkc6CisKKyAgICAgLSBMZWJld2VzZW4KKyAgICAgICBOdW1lcmlzY2hlciBXZXJ0IGZ1ZXIgZGVuIFNhZXR0aWd1bmdzZ3JhZCBlaW5lcyBMZWJld2VzZW5zLgorICAgICAgIERlciBtYXhpbWFsZSBXZXJ0IHN0ZWh0IGluIFBfTUFYX0ZPT0QuCisKKyAgICAgLSBTcGVpc2VuL0tuZWlwZW4KKyAgICAgICBOdW1lcmlzY2hlciBXZXJ0IGZ1ZXIgZGVuIFNhZXR0aWd1bmdzZ3JhZCBlaW5lciBQb3J0aW9uIGVpbmVyCisgICAgICAgU3BlaXNlLiBJc3QgZGllc2UgUHJvcGVydHkgbmljaHQgZ2VzZXR6dCwga2FubiBtYW4gZGllc2UKKyAgICAgICBTcGVpc2UgbmljaHQgZXNzZW4uIEVpbmUgZnVua3Rpb25pZXJlbmRlIFNwZWlzZSBfbXVzc18gZW50d2VkZXIKKyAgICAgICBQX0ZPT0Qgb2RlciBQX0RSSU5LIGdyb2Vzc2VyIDAgZ2VzZXR6dCBoYWJlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9NQVhfRk9PRCwgUF9GT09EX0RFTEFZLCBjb25zdW1lLAorICAgICBQX0RSSU5LLCBQX0FMQ09IT0wsIHdpei9mb29kCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE9jdCAyOCAxMjoxNTowMCAyMDEwIGJ5IENhbGRyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZPT0RfREVMQVkgYi9kb2MvcHJvcHMvUF9GT09EX0RFTEFZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExY2NmNmUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GT09EX0RFTEFZCkBAIC0wLDAgKzEsMTAgQEAKK05BTUU6CisgICAgUF9GT09EX0RFTEFZICAgICAgICAgICAgICAgICAiZm9vZF9kZWxheSIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2xpZmUuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFuemFobCBkZXIgaGVhcnRfYmVhdHMsIGJpcyBQX0ZPT0QgdW0gZWluZW4gUHVua3Qgc2lua3QuCisgICAgIEFlbmRlcnVuZ2VuIGRpZXNlciBQcm9wZXJ0eSBpbiBTcGllbGVybiBiZWR1ZXJmZW4gZGVyIAorICAgICBHZW5laG1pZ3VuZyBkZXMgRU0gZnVlciBCYWxhbmNlLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfRk9PRF9GVUxMX01TRyBiL2RvYy9wcm9wcy9QX0ZPT0RfRlVMTF9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMzMWVjNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0ZPT0RfRlVMTF9NU0cKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICAgUF9GT09EX0ZVTExfTVNHICAgICAgICAgICAgICAgInN0ZF9mb29kX2Z1bGxfbXNnIgorCitERUZJTklFUlQgSU46CisgICAgIDxzeXMvZm9vZC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcgYW4gZGVuIEtvbnN1bWVudGVuLCB3ZW5uIGVpbmUgU3BlaXNlIGdlZ2Vzc2VuIHdlcmRlbiBzb2xsLAorICAgICBvYndvaGwgZGllc2VyIG5pY2h0cyBtZWhyIGVzc2VuIGthbm4uCisgICAgIAorQkVNRVJLVU5HRU46CisgICAgIERpZXNlIE1lbGR1bmcgd2lyZCB2b24gcmVwbGFjZV9wZXJzb25hbCBtaXQgZGVuIEFyZ3VtZW50ZW46CisgICAgIDEuIFNwZWlzZQorICAgICAyLiBLb25zdW1lbnQKKyAgICAgdmVyYXJiZWl0ZXQsIGthbm4gYWxzIGVudHNwcmVjaGVuZGUgUGxhdHpoYWx0ZXIgZW50aGFsdGVuCisgICAgIAorREVGQVVMVDoKKyAgICAgIkR1IGJpc3QgenUgc2F0dCwgZGFzIHNjaGFmZnN0IER1IG5pY2h0IG1laHIuIgorCitTSUVIRSBBVUNIOgorICAgICBQX0ZPT0QsIFBfTUFYX0ZPT0QsIHdpei9mb29kLCByZXBsYWNlX3BlcnNvbmFsCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE9jdCAyOCAxMjoxNTowMCAyMDEwIGJ5IENhbGRyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZPUkNFX01VUkRFUl9NU0cgYi9kb2MvcHJvcHMvUF9GT1JDRV9NVVJERVJfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmMDE1N2MKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GT1JDRV9NVVJERVJfTVNHCkBAIC0wLDAgKzEsMzkgQEAKK05BTUU6CisJUF9GT1JDRV9NVVJERVJfTVNHCQkiZm9yY2VfbXVyZGVyX21zZyIKKworREVGSU5JRVJUIElOOgorCS9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKwlPYiBkZXIgVG9kIGVpbmVzIE5QQ3MgYXVmIGRlbSBNb2VyZGVyLUthbmFsIGVyc2NoZWludCwgaGFlbmd0IGRhdm9uCisJYWIsIHdpZSBvZnQgdW5kIHdlbGNoZSBBcnQgdm9uIE5QQ3MgaW4gZGVyIGxldHp0ZW4gWmVpdCBnZXRvZXRldAorCXd1cmRlbi4gWnVtIEJlaXNwaWVsIGlzdCBlcyBlaGVyIHNlbHRlbiwgZGFzcyBlaW4gc2Nod2FjaGVyIE5QQyBhdWYKKwlkZW0gS2FuYWwgZXJzY2hlaW50LCB3ZW5uIGt1ZXJ6bGljaCB2aWVsZSBzdGFya2UgTlBDcyBnZXRvZXRldAorCXd1cmRlbi4gTWl0dGVscyBkZXIgUHJvcGVydHkgUF9GT1JDRV9NVVJERVJfTVNHIGthbm4gbWFuIGF1ZiBkaWVzZQorCVJlZ2VsdW5nIEVpbmZsdXNzIG5laG1lbi4KKwlFaW4gV2VydCBncm9lc3NlciBOdWxsIGVyendpbmd0IGRpZSBNZWxkdW5nIGF1ZiBkZW0gTW9lcmRlci1LYW5hbCwKKwllaW4gV2VydCBrbGVpbmVyIE51bGwgdW50ZXJkcnVlY2t0IHNpZSBnZW5lcmVsbC4gTGV0enRlcmVzIGlzdAorCWluc2Jlc29uZGVyZSBmdWVyIGFsbHp1b2Z0IGdldG9ldGV0ZSBNb25zdGVyIHNpbm52b2xsLCB1bSBkZW4KKwlNb2VyZGVyLUthbmFsIG5pY2h0IHVlYmVybWFlc3NpZyB6dSBiZWxhc3Rlbi4gTWl0IGRlbSBFcnp3aW5nZW4gZGVyCisJTWVsZHVuZ2VuIHNvbGx0ZSBtYW4gc29taXQgdm9yc2ljaHRpZyBzZWluOiBXZW5pZ2VyIGlzdCBvZnRtYWxzCisJYmVzc2VyIGFscyB6dSB2aWVsIQorCURpZSBEZWZhdWx0ZWluc3RlbGx1bmcgdm9uIFBfRk9SQ0VfTVVSREVSX01TRyBpc3QgbmF0dWVybGljaCBOdWxsCisJdW5kIGZ1ZWhydCB6dXIgYmVyZWl0cyBiZXNjaHJpZWJlbmVuIG9wZmVyYWJoYWVuZ2lnZW4gTWVsZHVuZy4KKworQkVJU1BJRUxFOgorCUVpbiBncm9zc2VyIHN0YXJrZXIgTlBDLCBkZXIgZ2V0b2V0ZXQgd3VyZGUsIHNvbGx0ZSBzY2hvbiBlaW5lIHRvbGxlCisJTWVsZHVuZyBhdWYgZGVtIE1vZXJkZXItS2FuYWwgZXJ6ZXVnZW4uIEluIGRlciBQcm9wZXJ0eQorCVBfTVVSREVSX01TRyBrb2VubmVuIGhpZXJ6dSBhbHRlcm5hdGl2ZSBUZXh0ZSB6dSBkZW4gbm9ybWFsIHBlcgorCVp1ZmFsbCBhdXNnZXdhZWhsdGVuIGFuZ2VnZWJlbiB3ZXJkZW46CisJICBTZXRQcm9wKFBfTVVSREVSX01TRywKKyAgICAgICAgICAgICAgICAgICJOaWNodCBzY2hsZWNodCwgYWJlciBkYXMgc2NoYWZmdCBlaCBudXIgZWluZXIhIik7CisJICBTZXRQcm9wKFBfRk9SQ0VfTVVSREVSX01TRywxKTsKKwlad2FyIGlzdCBlcyBiZWkgZ3Jvc3NlbiBOUENzIGhpbnJlaWNoZW5kIHdhaHJzY2hlaW5saWNoLCBkYXNzIGVzCisJaW5mb2xnZSBkZXJlciBTdGFlcmtlIHp1ciBhdXRvbWF0aXNjaGVuIEF1c2dhYmUgZWluZXIgTW9lcmRlcm1lbGR1bmcKKwlrb21tdCwgYWJlciBtaXQgZGVyIGxldHp0ZW4gWmVpbGUgd3VyZGUgZGllcyBhYnNvbHV0IHNpY2hlcmdlc3RlbGx0LgorCitTSUVIRSBBVUNIOgorCVBfTVVSREVSX01TRywgUF9aQVBfTVNHLCBQX0tJTExfTVNHLCBQX0RJRV9NU0csIFBfQ09SUFNFLCBQX05PQ09SUFNFCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFR1ZSBOb3YgMTAgMDI6MTU6MjYgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZSRUVfSEFORFMgYi9kb2MvcHJvcHMvUF9GUkVFX0hBTkRTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYxNDNjYWQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GUkVFX0hBTkRTCkBAIC0wLDAgKzEsMjIgQEAKK1BfRlJFRV9IQU5EUworTkFNRToKKyAgICBQX0ZSRUVfSEFORFMgICAgICAgICAgICAgICAgICAiZnJlZV9oYW5kcyIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBBbnphaGwgZGVyIGZyZWllbiBIYWVuZGUuCisgICAgRWZmZWt0aXYgbnVyIGVpbiBkaWUgRGlmZmVyZW56IHZvbiBQX01BWF9IQU5EUyB1bmQgUF9VU0VEX0hBTkRTLgorCitCRU1FUktVTkdFTjoKKyAgICBLZWluZSBlY2h0ZSBQcm9wZXJ0eS4gRGllIE1ldGhvZGUgL3N0ZC9saXZpbmcvY29tYmF0OjpfcXVlcnlfZnJlZV9oYW5kcworICAgIHN0ZWxsdCBkaWUgRGF0ZW4genVzYW1tZW4uIE5pY2h0IHNldHplbiEKKworU0lFSEUgQVVDSDoKKyAgICBQX0hBTkRTLCBQX0hBTkRTX1VTRURfQlkKKyAgICBQX01BWF9IQU5EUywgUF9VU0VEX0hBTkRTCisgICAgVXNlSGFuZHMsIEZyZWVIYW5kcworICAgIC9zdGQvd2VhcG9uLmMsIC9zdGQvc3BlbGxib29rLmMKKworMS4gT2t0IDIwMTIsIEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9GUklFTkQgYi9kb2MvcHJvcHMvUF9GUklFTkQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGVkMDgwYwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0ZSSUVORApAQCAtMCwwICsxLDI0IEBACitOQU1FOgorCVBfRlJJRU5ECQkJImZyaWVuZCIKKworREVGSU5JRVJUIElOOgorCTxjb21iYXQuaD4KKworQkVTQ0hSRUlCVU5HOgorCVNldHp0IG1hbiBkaWVzZSBQcm9wZXJ0eSBpbiBlaW5lbSBOUEMgYXVmIGVpbmVuIFdlcnQgdW5nbGVpY2ggTnVsbCwKKwlzbyB3aXJkIGRlciBOUEMgYmVpIFphdWJlcnNwcnVlY2hlbiwgZGllIGF1ZiBiZXN0aW1tdGUgR3J1cHBlbgorCXdpcmtlbiwgZGVyIEdydXBwZSBkZXIgU3BpZWxlciB1bmQgbmljaHQgZGVyIEdydXBwZSBkZXIgTlBDcworCXp1Z2VvcmRuZXQuIEF1c3NlcmRlbSB3aXJkIGRlciBOUEMgYmVpIGVpbmVtICJ0b2V0ZSBhbGxlIiBuaWNodCBtaXQKKwlhbmdlZ3JpZmZlbi4KKwlXdXJkZSBkZXIgTlBDIGVpbmVtIFNwaWVsZXIgcGVyIEFzc29jTWVtYmVyKCkgenVnZW9yZG5ldCwgc28KKwliZWZpbmRldCBzaWNoIGRlciBOUEMgYXV0b21hdGlzY2ggaW0gamV3ZWlsaWdlbiBUZWFtIGRlcyBTcGllbGVycworCSAobW9lZ2xpY2hzdCBhdWNoIGluIGRlciBzZWxiZW4gS2FtcGZyZWloZSksIHVuZCBkaWUgUHJvcGVydHkgaGF0CisJZGFubiBhdXRvbWF0aXNjaCBkYXMgU3BpZWxlcm9iamVrdCBhbHMgV2VydC4KKwlEYSBkaWVzZXIgV2VydCBpbiBkaWVzZW0gRmFsbCBuYXR1ZXJsaWNoIHVuZ2xlaWNoIE51bGwgaXN0LCB3aXJkIGRlcgorCU5QQyBkYW5uIGF1Y2ggZGVyIEdydXBwZSBkZXIgU3BpZWxlciB6dWdlb3JkbmV0LgorCitTSUVIRSBBVUNIOgorCUZpbmRHcm91cCgpLCBBc3NvY01lbWJlcigpLCBQX1RFQU1fQVNTT0NfTUVNQkVSUywgL3N0ZC9saXZpbmcvdGVhbS5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFR1ZSBEZWMgMjkgMTc6MDI6NTUgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZST0cgYi9kb2MvcHJvcHMvUF9GUk9HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmNjRlYWMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GUk9HCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0ZST0cgICAgICAgICAgICAgICAgICAgICAgICAiZnJvZyIgICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2xpZmUuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEdlc2V0enQsIHdlbm4gZGVyIFNwaWVsZXIgZWluIEZyb3NjaCBpc3QuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9GVUVMIGIvZG9jL3Byb3BzL1BfRlVFTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTBjYTYwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRlVFTApAQCAtMCwwICsxLDI2IEBACitOQU1FOgorICAgIFBfRlVFTCAgICAgICAgICAgICAgICAgICAgICAgICJmdWVsIiAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBOdW1lcmlzY2hlciBXZXJ0IGZ1ZXIgZGllIFplaXRkYXVlciwgZGllIGRpZSBMaWNodHF1ZWxsZSBub2NoCisgICAgIGxldWNodGVuIGthbm4uIFN0YW5kYXJkbWFlc3NpZyBpc3QgZGVyIFdlcnQgYXVmIDIwIGdlc2V0enQuCisKKyAgICAgU2V0enQgbWFuIGRpZSBQcm9wZXJ0eSBhdWYgZWluZW4gV2VydCwgZGVyIGdyb2Vzc2VyIGlzdCBhbHMgZGVyIHZvcmlnZQorICAgICBNYXhpbWFsd2VydCwgd2lyZCBkaWVzZXIgYXVmIGRlbiBuZXVlbiBXZXJ0IGVyaG9laHQuIEFlbmRlcnQgbWFuIGRlbgorICAgICBCcmVubnN0b2Zmdm9ycmF0IGRlciBMaWNodHF1ZWxsZSBoaW5nZWdlbiBtaXR0ZWxzIEFkZEZ1ZWwoKSwgc28gd2lyZAorICAgICBkZXIgV2VydCB2b24gUF9GVUVMIHVlYmVyIGRlbiBNYXhpbWFsd2VydCBoaW5hdXMgZXJob2VodC4KKworSElOV0VJUzoKKyAgICAgRnVlciBBZW5kZXJ1bmdlbiBhbiBkZXIgUHJvcGVydHkga2FubiBhdWNoIGRpZSBGdW5rdGlvbiBBZGRGdWVsKCkKKyAgICAgdmVyd2VuZGV0IHdlcmRlbi4gCisKK1NJRUhFIEFVQ0g6CisgICAgIEJhc2lza2xhc3NlbjogL3N0ZC9saWdodHNvdXJjZS5jCisgICAgIFByb3BlcnRpZXM6ICAgUF9MSUdIVERFU0MsIFBfRE9fREVTVFJVQ1QsIFBfTElHSFQKKyAgICAgTWV0aG9kZW46ICAgICBBZGRGdWVsKEwpCisKK0xFVFpURSBBRU5ERVJVTkc6CisgICAgMjIuIERlei4gMjAxNSwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZVTkNfTVNHIGIvZG9jL3Byb3BzL1BfRlVOQ19NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRmOWQxZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0ZVTkNfTVNHCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgUF9GVU5DX01TRyAgICAgICAgICAgICAgICAgICAgImZ1bmNfbXNnIiAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Jvb20vZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIExpc3RlIG1pdCBGdW5rdGlvbmVuLCBkaWUgenVmYWVsbGlnIGltIFJhdW0gYXVmZ2VydWZlbiB3ZXJkZW4uCisKKyAgICAgSGllciBpc3QgbnVyIGVpbmUgenVyIHJ1ZmVuZGUgbG9rYWxlIE1ldGhvZGUgYWxzIFN0cmluZyBvZGVyIGVpbmUKKyAgICAgU2FtbWx1bmcgZGF2b24gYWxzIFN0cmluZ2FycmF5IGdlc3BlaWNoZXJ0LgorCitBTk1FUktVTkdFTjoKKyAgICAgQml0dGUgQWRkUm9vbU1lc3NhZ2UoKSB6dW0gSGluenVmdWVnZW4vVWViZXJzY2hyZWliZW4gYmVudXR6ZW4hCisKK1NJRUhFIEFVQ0g6CisgICAgIExGdW5zOiAgICBBZGRSb29tTWVzc2FnZSgpCisgICAgIFZlcndhbmR0OiB0ZWxsX3Jvb20oKSwgUmVjZWl2ZU1zZygpCisgICAgIFByb3BzOiAgICBQX1JPT01fTVNHLCBQX01TR19QUk9CCisKKzIuRmViIDIwMTYgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZXX0FMV0FZU19SRUFEQUJMRSBiL2RvYy9wcm9wcy9QX0ZXX0FMV0FZU19SRUFEQUJMRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTcwMGVkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfRldfQUxXQVlTX1JFQURBQkxFCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0ZXX0FMV0FZU19SRUFEQUJMRSAgICAgICAgICAiZndfYWx3YXlzX3JlYWRhYmxlIiAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAqKiogS0VJTkUgQkVTQ0hSRUlCVU5HIFZPUkhBTkRFTiAqKioKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0ZXX1VOREVSU1RBTkQgYi9kb2MvcHJvcHMvUF9GV19VTkRFUlNUQU5ECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmOGY2ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9GV19VTkRFUlNUQU5ECkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0ZXX1VOREVSU1RBTkQgICAgICAgICAgICAgICAiZndfdW5kZXJzdGFuZCIgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAqKiogS0VJTkUgQkVTQ0hSRUlCVU5HIFZPUkhBTkRFTiAqKioKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0dFTkRFUiBiL2RvYy9wcm9wcy9QX0dFTkRFUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2Y3M2RjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfR0VOREVSCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX0dFTkRFUiAgICAgICAgICAgICAgICAgICAgICAiZ2VuZGVyIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvbGFuZ3VhZ2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEdyYW1tYXRpa2FsaXNjaGVzIEdlc2NobGVjaHQgZGVzIE9iamVrdGVzOgorICAgICAoRGVmaW5pZXJ0IGluIGxhbmd1YWdlLmgpIE1BTEUsIEZFTUFMRSBvZGVyIE5FVVRFUgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR0hPU1QgYi9kb2MvcHJvcHMvUF9HSE9TVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2JmMzA5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfR0hPU1QKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfR0hPU1QgICAgICAgICAgICAgICAgICAgICAgICJnaG9zdCIgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgR2VzZXR6dCwgd2VubiBkZXIgU3BpZWxlciB0b3QgaXN0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR0lWRV9NU0cgYi9kb2MvcHJvcHMvUF9HSVZFX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDZhNjI0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfR0lWRV9NU0cKQEAgLTAsMCArMSw2NSBAQAorUF9HSVZFX01TRworTkFNRToKKyAgICAgUF9HSVZFX01TRwkJCQkiZ2l2ZV9tZXNzYWdlIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL3B1dF9hbmRfZ2V0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNaXQgUF9HSVZFX01TRyBrYW5uIG1hbiBkaWUgTWVsZHVuZywgZGllIG1hbiBiZWltIFVlYmVyZ2ViZW4gZWluZXMKKyAgICAgT2JqZWt0ZXMgYmVrb21tdCwgbW9kaWZpemllcmVuLgorCisgICAgIEZvbGdlbmRlIFdlcnRlIHNpbmQgbW9lZ2xpY2g6CisKKyAgICAgbyAwCisgICAgICAgRXMgd2lyZCBlaW5lIFN0YW5kYXJkbWVsZHVuZyBhdXNnZWdlYmVuLiBEaWVzIGlzdCBWb3JlaW5zdGVsbHVuZy4KKworICAgICBvIE5PX1BOR19NU0cJPT0gLTEKKyAgICAgICBFcyB3aXJkIGtlaW5lcmxlaSBNZWxkdW5nIGF1c2dlZ2ViZW4KKworICAgICBvIEVpbiBBcnJheSBhdXMgU3RyaW5ncworICAgICAgIERlciBlcnN0ZSBTdHJpbmcgd2lyZCBhbiBkZW4gU3BpZWxlciBhdXNnZWdlYmVuLCBkZXIgendlaXRlCisgICAgICAgKG9wdGlvbmFsZSkgYW4gZGVuIFJhdW0sIGRlciBkcml0dGUgKGViZW5mYWxscyBvcHRpb25hbGUpIGFuIGRlbgorICAgICAgIEVtcGZhZW5nZXIuCisKKyAgICAgICBEaWUgU3RyaW5ncyB3ZXJkZW4gZHVyY2ggZGllIEZ1bmt0aW9uIHJlcGxhY2VfcGVyc29uYWwoKSBnZXBhcnN0LgorCU9iamVrdDEgLSBTcGllbGVyCisgICAgICAgIE9iamVrdDIgLSBkYXMgT2JqZWt0LCBkYXMgdWViZXJnZWJlbiB3aXJkCisJT2JqZWt0MyAtIEVtcGZhZW5nZXIKKworICAgICAgIFdpcmQgZGVyIHp3ZWl0ZSBTdHJpbmcgbmljaHQgYW5nZWdlYmVuLCBlcmZvbGd0IGtlaW5lIE1lbGR1bmcgYW4gZGVuCisgICAgICAgUmF1bS4gQmVpbSBGZWhsZW4gZGVzIGRyaXR0ZW4gZ2lidCBlcyBrZWluZSBNZWxkdW5nIGFuIGRlbiBFbXBmYWVuZ2VyLgorCitCRUlTUElFTDoKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAuLi4KKyAgICAgIFNldFByb3AoIFBfU0hPUlQsICJFdHdhcyBTYW5kIiApOworICAgICAgU2V0UHJvcCggUF9MT05HLCBicmVha19zdHJpbmcoCisJIkVpbiB3ZW5pZyBtYWdpc2NoZXIgU2FuZC4gU2VociBmZWlua3J1ZW1lbGlnLiIsNzggKSk7CisKKyAgICAgIFNldFByb3AoIFBfTkFNRSwgIlNhbmQiICk7CisgICAgICBBZGRJZCggKHsic2FuZCJ9KSApOworICAgICAgU2V0UHJvcCggUF9HRU5ERVIsIE1BTEUgKTsKKworICAgICAgU2V0UHJvcCggUF9HSVZFX01TRywgKHsKKyAgICAgICAiRHUgbGFlc3N0IEBXRU4yIGluIEBXRVNTRU4zIEhhZW5kZSByaWVzZWxuLiIsCisgICAgICAgIkBXRVIxIGxhZXNzdCBAV0VOVTIgaW4gQFdFU1NFTjMgSGFlbmRlIHJpZXNlbG4uIiwKKyAgICAgICAiQFdFUjEgbGFlc3N0IEBXRU5VMiBpbiBkZWluZSBIYWVuZGUgcmllc2Vsbi4ifSkpOworICAgICAgIC4uLgorICAgICAgfQorCisgICAgIERhcyBnYW56ZSBmdWVocnQgYmVpIFVnYXJzICJnaWIgc2FuZCBhbiBwZXRlciIgenUgZm9sZ2VuZGVuCisgICAgIE1lbGR1bmdlbjoKKworICAgICBVZ2FyOiAiRHUgbGFlc3N0IGRlbiBTYW5kIGluIFBldGVycyBIYWVuZGUgcmllc2Vsbi4iCisgICAgIFJhdW06ICJVZ2FyIGxhZXNzdCBTYW5kIGluIFBldGVycyBIYWVuZGUgcmllc2Vsbi4iCisgICAgIFBldGVyOiAiVWdhciBsYWVzc3QgU2FuZCBpbiBkZWluZSBIYWVuZGUgcmllc2Vsbi4iCisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfRFJPUF9NU0csIFBfUFVUX01TRywgUF9QSUNLX01TRywgUF9TSE9XX01TRworICAgICBGZWhsZXI6ICAgICBQX1RPT19IRUFWWV9NU0csIFBfRU5WX1RPT19IRUFWWV9NU0csIFBfVE9PX01BTllfTVNHLAorICAgICAgICAgICAgICAgICBQX05PSU5TRVJUX01TRywgUF9OT0xFQVZFX01TRywgUF9OT0RST1AsIFBfTk9HRVQgCisgICAgIFNvbnN0aWdlczogIHJlcGxhY2VfcGVyc29uYWwoRSksIGdpdmUoTCksIGdpdmVfb2JqZWN0cyhMKSwKKwkJIGdpdmVfbm90aWZ5KEwpLCAvc3RkL2xpdmluZy9wdXRfYW5kX2dldC5jCisKKzE0LiBNYWVyeiAyMDA0IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9HTE9CQUxfU0tJTExQUk9QUyBiL2RvYy9wcm9wcy9QX0dMT0JBTF9TS0lMTFBST1BTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMTJjMWUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HTE9CQUxfU0tJTExQUk9QUwpAQCAtMCwwICsxLDI3IEBACitOQU1FOgorICAgIFBfR0xPQkFMX1NLSUxMUFJPUFMgICAgICAgICJzbV9nbG9iYWwiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIERpZXNlIEdpbGRlbi0gdW5kIFNwZWxsYm9va3Byb3BlcnR5IGVudGhhZWx0IEVpZ2Vuc2NoYWZ0ZW4sIGRpZQorICAgIGFsbGUgU3BlbGxzIGVpbmVzIFNwZWxsYm9va3MgYnp3LiBhbGxlIFNraWxscyB1bmQgU3BlbGxzIGVpbmVyIEdpbGRlCisgICAgaGFiZW4gc29sbGVuLgorCitCRUlTUElFTEU6CisgICAgU2V0UHJvcChQX0dMT0JBTF9TS0lMTFBST1BTLAorICAgICAgKFtTSV9TS0lMTFJFU1RSX1VTRTogICAgIChbU1JfRlVOOiAjJ3NwZWxsVGVzdF0pLAorICAgICAgICBPRkZTRVQoU0lfU0tJTExMRUFSTik6ICMnbGVhcm5PZmZzZXQsCisgICAgICAgIE9GRlNFVChTSV9TUEVMTENPU1QpOiAgIydjb3N0T2Zmc2V0LAorICAgICAgICBGQUNUT1IoU0lfU1BFTExDT1NUKTogICMnY29zdEZhY3Rvcl0pKTsKKworU0lFSEUgQVVDSDoKKyAgICBHT2JqIFZlcndhbHRlbjogICBMZWFyblNraWxsLCBMZWFyblNwZWxsLCBJbml0aWFsU2tpbGxBYmlsaXR5CisgICAgKiBQcm9wZXJ0aWVzOiAgICAgUF9HVUlMRF9TS0lMTFMKKyAgICBTcGVsbGJvb2sgTGVybmVuOiBMZWFybiwgU3BlbGxTdWNjZXNzLCBFcmZvbGcsIE1pc3NlcmZvbGcKKyAgICAqIFZlcndhbHRlbjogICAgICBBZGRTcGVsbCwgUXVlcnlTcGVsbAorICAgICogUHJvcGVydGllczogICAgIFBfU0JfU1BFTExTCisgICAgU2tpbGxzOiAgICAgICAgICAgUF9ORVdTS0lMTFMsIHNwcnVjaGVybXVlZHVuZywgc2tpbGxfaW5mb19saXN0ZQorCiszLiBPa3QgMjAxMSBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0dVQVJEIGIvZG9jL3Byb3BzL1BfR1VBUkQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJlYjk4OQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0dVQVJECkBAIC0wLDAgKzEsNTAgQEAKK1BfR1VBUkQKK05BTUU6CisgICAgIFBfR1VBUkQJCQkJImd1YXJkIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvZ3VhcmQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGdpYnQgYW4sIG9iIGVpbiBOUEMgYXVzIGVpbmVtIFJhdW0gZW50ZmVybnQgd2VyZGVuIGRhcmYKKyAgICAgb2RlciBuaWNodC4gQWJnZWZyYWd0IHdlcmRlbiBtdXNzIGRpZXMgdm9uIGRlbiBJdGVtcyBvZGVyIFNwZWxscywgZGllCisgICAgIGRlbiBOUEMgenUgZWluZXIgQmV3ZWd1bmcgendpbmdlbiB3b2xsZW4uIEVzIHdpcmQgbmljaHQgYXV0b21hdGlzY2gKKyAgICAgZGFyYXVmIGdlYWNodGV0IQorCisgICAgIEVudHNjaGVpZGVuZCBoaWVyYmVpIGlzdCBlaW4gaW4gZGVyIFByb3BlcnR5IGVudGhhbHRlbmUgKGdhbnp6YWhsaWdlcikKKyAgICAgWmFobGVud2VydCB6d2lzY2hlbiAwIHVuZCAxMDAsIGRlciBoaWVyYmVpIGRlbiBHcmFkIGRlcgorICAgICAnQmV3YWNodW5nc3N0YWVya2UnIGVpbmVzIE5QQ3MgYW5naWJ0LiBCZWkgMCBsYWVzc3Qgc2ljaCBkYXMgTGViZXdlc2VuCisgICAgIGltbWVyIHp1IGVpbmVyIEJld2VndW5nIHVlYmVycmVkZW4sIGJlaSAxMDAgdWViZXJoYXVwdCBuaWNodC4gRGF6d2lzY2hlbgorICAgICBnaWJ0IGVzIGRpZSBXYWhyc2NoZWlubGljaGtlaXQgZGFmdWVyIGFuLgorCitCRU1FUktVTkdFTjoKKyAgICAgLSBhbGxlIHZvbiAvc3RkL25wYyBhYmdlbGVpdGV0ZW4gTlBDcyBoYWJlbiBzdGFuZGFyZG1hZXNzaWcgUF9HVUFSRAorICAgICAgIGF1ZiAxMDAgZ2VzZXR6dCwgc2luZCBhbHNvIG5pY2h0IGZvcnRmdWVocmJhcgorICAgICAtIGJlaSBkZXIgRXJ6ZXVndW5nIHZvbiBOUENzIG1pdCBQX0dVQVJEIDwgMTAwIEFkZEl0ZW0oKSBtaXQgZGVtCisgICAgICAgUGFyYW1ldGVyIFJFRlJFU0hfTU9WRV9IT01FIHZlcndlbmRlbiwgZGFtaXQgc2llIGJlaSBlaW5lbSBSYXVtcmVzZXQKKyAgICAgICBnZWdlYmVuZW5mYWxscyBhbiBpaHJlbiBBdXNnYW5nc29ydCB6dXJ1ZWNra2VocmVuLiAKKyAgICAgLSBnaWxkZW5zcGV6aWZpc2NoZSB3ZWl0ZXJlIEFiZnJhZ2VuIGF1ZiBMZXZlbCBvQWUgYml0dGUgYmVpIEdpbGRlbi0KKyAgICAgICBtYWdpZXJuIGVyZnJhZ2VuCisKK0JFSVNQSUVMRToKKyAgICAgLy8gZWluIFRlc3QKKyAgICAgaWYocmFuZG9tKDEwMCk8PWxpdi0+UXVlcnlQcm9wKFBfR1VBUkQpKQorICAgICAgY2Fubm90TW92ZU5QQygpOyAvLyBOUEMgZGFyZiBuaWNodCBiZXdlZ3Qgd2VyZGVuIQorICAgICBlbHNlCisgICAgICBtb3ZlTlBDKCk7ICAgICAgIC8vIE5QQyBkYXJmIGJld2VndCB3ZXJkZW4KKworICAgICAvLyBlaW4gd2VnZnVlaHJiYXJlciBOUEMKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICA6OmNyZWF0ZSgpOworICAgICAgLi4uCisgICAgICBTZXRQcm9wKFBfR1VBUkQsNTApOworICAgICAgLi4uCisgICAgIH0KKyAgICAgLy8gbWl0IDUwJSBXYWhyc2NoZWlubGljaGtlaXQgKHBybyBWZXJzdWNoKSBsYWVzc3Qgc2ljaCBkZXIgTlBDIG51bgorICAgICAvLyBmb3J0ZnVlaHJlbgorCisKK1NJRUhFIEFVQ0g6CisgICAgIEFkZEl0ZW0oKQorCisxMy5BcHJpbCAyMDA0IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9HVUlMRCBiL2RvYy9wcm9wcy9QX0dVSUxECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjZmZiNGMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRApAQCAtMCwwICsxLDIyIEBACitQX0dVSUxECitOQU1FOgorICAgICBQX0dVSUxECQkJCSJndWlsZCIgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZGVuIE5hbWVuIGRlciBHaWxkZSwgd2VsY2hlciBkYXMgTGViZXdlc2VuCisgICAgIGFuZ2Vob2VydC4gRGVyIE5hbWUgZGVyIEdpbGRlIGlzdCBoaWVyYmVpIGtsZWluZ2VzY2hyaWViZW4gYWxzIFN0cmluZworICAgICBkZWZpbmllcnQuCisKK0JFTUVSS1VOR0VOOgorICAgICBCZWkgU3BpZWxlcm4gaXN0IGRlciBXZXJ0IGRpZXNlciBQcm9wZXJ0eSBuaWVtYWxzIE51bGwsIGRlbm4gc2llCisgICAgIGdlaG9lcmVuIHN0YW5kYXJkbWFlc3NpZyBkZXIgaW4gUF9ERUZBVUxUX0dVSUxEIHN0ZWhlbmRlbiBHaWxkZSBhbi4KKyAgICAgVWViZXIgZGllIGdlc2V0enRlIFBfR1VJTEQgd2VyZGVuIGF1Y2ggYWt0aXZlIFNraWxscyBlcm1pdHRlbHQuCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfREVGQVVMVF9HVUlMRCwgUF9WSVNJQkxFX0dVSUxECisgICAgIFBfR1VJTERfVElUTEUsIFBfU1VCR1VJTERfVElUTEUKKworMjYuIE1hZXJ6IDIwMDQgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0dVSUxEX0RFQUNUSVZBVEVfU0tJTExTIGIvZG9jL3Byb3BzL1BfR1VJTERfREVBQ1RJVkFURV9TS0lMTFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE5ZGEzMAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0dVSUxEX0RFQUNUSVZBVEVfU0tJTExTCkBAIC0wLDAgKzEsMzggQEAKK1BST1BFUlRZOgorCisgIFBfR1VJTERfREVBQ1RJVkFURV9TS0lMTFMgICAgICJndWlsZF9kZWFjdGl2YXRlX3NraWxscyIKKworREVGSU5JRVJUIElOOiAKKworICBuZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorCisgIERpZXNlIFByb3BlcnR5IGVybGF1YnQgZXMsIEdpbGRlbm1pdGdsaWVkZXJuIGRpZSBiZW51dHp1bmcgdm9uIEFOWS0KKyAgU2tpbGxzIHp1IHVudGVyc2FnZW4uIERpZXMgc2luZCBlaW5lcnNlaXRzIGRpZSBhbGxnZW1laW5lbiBXYWZmZW5za2lsbHMsCisgIGFuZGVyZXJzZWl0cyBrb2VubnRlIGRhcyBhdWNoIGRlciBlbnRnaWZ0ZS1TcHJ1Y2ggZGVyIER1ZXN0ZXJ3YWxkIC0KKyAgUXVlc3Qgc2Vpbi4KKworICBXZXJ0IGRpZXNlciBQcm9wZXJ0eSBpc3QgZWluIE1hcHBpbmcsIGRhcyBhbHMgS2V5cyBkaWUgZWluemVsbmVuCisgIFNraWxscyB1bmQgYWxzIFdlcnQgMSBlbnRoYWVsdCwgd2VubiBlaW4gU2tpbGwgZGVha3RpdmllcnQKKyAgd2VyZGVuIHNvbGwgdW5kIDAsIGZhbGxzIG5pY2h0LgorCisgIERpZXNlIFByb3BlcnR5IHdpcmQgbnVyIGJlaSBlaW5lbSBOZXVlcnpldWdlbiBkZXMgU3BpZWxlcnMgbmV1IAorICBhdXNnZWxlc2VuLCBkYSBlcyBzb25zdCB6dXZpZWwgUmVjaGVuemVpdCBrb3N0ZXQuCisKK0JFSVNQSUVMOgorCisgIEplZGUgR2lsZGUsIGRpZSBrZWluZSBXYWZmZW5za2lsbHMgYmVudXR6ZW4gc29sbCAob2RlciBzZWxic3Qgd2VsY2hlIGhhdCkKKyAgZW50aGFlbHQgZm9sZ2VuZGVuIEJlZmVobDoKKworICAgIFNldFByb3AoUF9HVUlMRF9ERUFDVElWQVRFX1NLSUxMUywKKyAgICAoW0ZJR0hUKFdUX1NXT1JEKToxLAorICAgIEZJR0hUKFdUX0FYRSk6MSwKKyAgICBGSUdIVChXVF9DTFVCKToxLAorICAgIEZJR0hUKFdUX1NQRUFSKToxLAorICAgIEZJR0hUKFdUX0tOSUZFKToxLAorICAgIEZJR0hUKFdUX1dISVApOjFdKSk7CisgICAgCitMRVRaVEUgQUVOREVSVU5HOiAKKworMjAwMy0wMS0zMCwgMTQ6MTUsIEh1bW5pCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9HVUlMRF9ERUZBVUxUX1NQRUxMQk9PSyBiL2RvYy9wcm9wcy9QX0dVSUxEX0RFRkFVTFRfU1BFTExCT09LCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhZDkxNTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRF9ERUZBVUxUX1NQRUxMQk9PSwpAQCAtMCwwICsxLDIzIEBACitOQU1FOgorCVBfR1VJTERfREVGQVVMVF9TUEVMTEJPT0sJImd1aWxkX3NiIiAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisJRGllc2UgR2lsZGVucHJvcGVydHkgZW50aGFlbHQgZGVuIE5hbWVuIGRlcyBTcGVsbGJvb2tzLCB3ZWxjaGVzCisJc3RhbmRhcmRtYWVzc2lnIHZvbiBkZXIgR2lsZGUgdmVyd2VuZGV0IHdpcmQuCisKK0JFTUVSS1VOR0VOOgorCUJlaSBTcGVsbHMga2FubiBzaWUgbWl0IFNJX1NQRUxMQk9PSyB1ZWJlcnNjaHJpZWJlbiB3ZXJkZW4uCisKK0JFSVNQSUVMRToKKwlCZWkgWmF1YmVyZXJuIHdhZXJlIGZvbGdlbmRlcyBkZW5rYmFyOgorCSAgU2V0UHJvcChQX0dVSUxEX0RFRkFVTFRfU1BFTExCT09LLCJtYWdpZV9zcCIpOworCURhcyBTcGVsbGJvb2sgaXN0IGhpZXJiZWkgdW50ZXIgIi9zcGVsbGJvb2tzL21hZ2llX3NwLmMiIHp1IGZpbmRlbi4KKworU0lFSEUgQVVDSDoKKwlQX0dVSUxECisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFdlZCBKYW4gMTQgMTk6MTc6MDYgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0dVSUxEX0ZFTUFMRV9USVRMRVMgYi9kb2MvcHJvcHMvUF9HVUlMRF9GRU1BTEVfVElUTEVTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNTI4ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRF9GRU1BTEVfVElUTEVTCkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisJUF9HVUlMRF9GRU1BTEVfVElUTEVTCQkiZ3VpbGRfZmVtYWxlX3RpdGxlcyIgICAgICAgICAKKworREVGSU5JRVJUIElOOgorCS9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBHaWxkZW5wcm9wZXJ0eSBlbnRoYWVsdCBkaWUgU3R1ZmVuYmV6ZWljaG51bmdlbiBmdWVyCisJd2VpYmxpY2hlIEdpbGRlbm1pdGdsaWVkZXIuIEFscyBTY2hsdWVzc2VsIGRpZW5lbiBoaWVyYmVpIGRpZQorCUdpbGRlbnN0dWZlbiB1bmQgZGllIGVudHNwcmVjaGVuZGVuIEVpbnRyYWVnZSBzaW5kIGRhbm4gZGllIHp1cgorCVN0dWZlIGdlaG9lcmlnZW4gR2lsZGVudGl0ZWwuCisKK0JFSVNQSUVMRToKKwlFaW5lIFByb2dyYW1taWVyZXJnaWxkZSBrb2VubnRlIGZvbGdlbmRlIFN0dWZlbmJlemVpY2hudW5nZW4KKwliZWluaGFsdGVuOgorCSAgU2V0UHJvcChQX0dVSUxEX0ZFTUFMRV9USVRMRVMsKFsxOiJkaWUgQW5mYWVuZ2VyaW4iLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyOiJkaWUgRm9ydGdlc2Nocml0dGVuZSIsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM6ImRpZSBQcm9mZXNzaW9uZWxsZSA7KSJdKSk7CisKK1NJRUhFIEFVQ0g6CisJUF9HRU5ERVIsIFBfR1VJTERfTEVWRUwsIFBfR1VJTERfVElUTEUsIFBfR1VJTERfTUFMRV9USVRMRVMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEphbiAxNCAxOToxNzowNiAxOTk4IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR1VJTERfTEVWRUwgYi9kb2MvcHJvcHMvUF9HVUlMRF9MRVZFTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTIwNDQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfR1VJTERfTEVWRUwKQEAgLTAsMCArMSwyMyBAQAorTkFNRToKKwlQX0dVSUxEX0xFVkVMCQkJImd1aWxkX2xldmVsIiAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisJRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZGllIEdpbGRlbnN0dWZlIGRlcyBMZWJld2VzZW5zLCB3ZWxjaGUgbmljaHQKKwl1bmJlZGluZ3Qgc2VpbmVyIFNwaWVsZXJzdHVmZSBlbnRzcHJpY2h0LgorCitCRU1FUktVTkdFTjoKKwlCZWkgbWFuY2hlbiBHaWxkZW4gZW50c3ByaWNodCBkaWUgR2lsZGVuc3R1ZmUgc3RhbmRhcmRtYWVzc2lnIGRlcgorCVNwaWVsZXJzdHVmZSAoQWJlbnRldXJlciwgS2F0emVua3JpZWdlcikuIEluIGRlciBQcm9wZXJ0eSBzZWxic3QKKwl3aXJkIGVpZ2VudGxpY2ggZWluIE1hcHBpbmcgZWluZ2V0cmFnZW4sIHdlbGNoZXMgZGllIEdpbGRlbm5hbWVuIGFscworCVNjaGx1ZXNzZWwgdW5kIGRpZSBkYXp1Z2Vob2VyaWdlIEdpbGRlbnN0dWZlIGFscyBFaW50cmFnIGVudGhhZWx0LgorCUJlaSBkZXIgQWJmcmFnZSBkZXIgUHJvcGVydHkgd2lyZCBqZWRvY2ggZGllIEdpbGRlIGJlcnVlY2tzaWNodGlndAorCXVuZCBkaWUgYWt0dWVsbGUgR2lsZGVuc3R1ZmUgenVydWVja2dlbGllZmVydC4KKworU0lFSEUgQVVDSDoKKwlQX0dVSUxELCBQX0dVSUxEX1RJVExFLCBQX0dVSUxEX01BTEVfVElUTEVTLCBQX0dVSUxEX0ZFTUFMRV9USVRMRVMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEphbiAxNCAxOToxNzowNiAxOTk4IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR1VJTERfTEVWRUxTIGIvZG9jL3Byb3BzL1BfR1VJTERfTEVWRUxTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwZDIyMzcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRF9MRVZFTFMKQEAgLTAsMCArMSwzNSBAQAorTkFNRToKKwlQX0dVSUxEX0xFVkVMUwkJCSJndWlsZF9sZXZlbHMiICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisJL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorCURpZXNlIEdpbGRlbnByb3BlcnR5IGVudGhhZWx0IGVpbiBNYXBwaW5nIG1pdCBkZW4KKwlTdHVmZW5iZXNjaHJhZW5rdW5nZW4gZnVlciBkaWUgamV3ZWlsaWdlbiBHaWxkZW5zdHVmZW4uIEFscworCVNjaGx1ZXNzZWwgZGllbnQgZGVyIGpld2VpbGlnZSBHaWxkZW5sZXZlbCB1bmQgZGllIGVudHNwcmVjaGVuZGVuCisJRWludHJhZWdlIHNpbmQgd2llZGVydW0gTWFwcGluZ3MsIGluIHdlbGNoZW4gZGllIEJlc2NocmFlbmt1bmdlbgorCWFuZ2VnZWJlbiBzaW5kLgorCitCRU1FUktVTkdFTjoKKwlEaWUgQmVzY2hyYWVua3VuZ2VuIGZ1ZXIgTGV2ZWwgMSBzb2xsdGVuIGF1Y2ggZnVlciBkaWUKKwlFaW50cml0dHNiZXNjaHJhZW5rdW5nZW4gZGVyIEdpbGRlIGdlbHRlbi4gTGV0enRlcmUga2FubiBtYW4gaW4gZGVyCisJUHJvcGVydHkgUF9HVUlMRF9SRVNUUklDVElPTlMgYW5nZWJlbi4KKworQkVJU1BJRUxFOgorCURhcyBmb2xnZW5kZSBCZWlzcGllbCB6ZWlndCBlaW4gcGFhciBtb2VnbGljaGUgQWJmcmFnZW46CisJICBzdHJpbmcgY2hlY2sob2JqZWN0IHBsKTsKKwkgIFNldFByb3AoUF9HVUlMRF9MRVZFTFMsKFsxOihbUF9MRVZFTDozLFBfUVA6MTAwLFNSX0ZVTjojJ2NoZWNrXSksCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgMjooW0FfSU5UOjEwLFBfTEVWRUw6MjVdKSwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAzOihbQV9JTlQ6MjAsUF9MRVZFTDo1MF0pXSkpOworCSAgc3RyaW5nIGNoZWNrKG9iamVjdCBwbCkKKwkgIHsgaWYocGwtPlF1ZXJ5UHJvcChQX01BTEUpKQorCSAgICAgIHJldHVybiAwOworCSAgICByZXR1cm4gIkZ1ZXIgRnJhdWVuIGlzdCBkYXMgbmljaHRzIVxuIjsKKwkgIH0KKworU0lFSEUgQVVDSDoKKwlQX0dVSUxEX0xFVkVMLCBQX0dVSUxEX1JFU1RSSUNUSU9OUywgL3N0ZC9yZXN0cmljdGlvbl9jaGVja2VyLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEphbiAxNCAxOToxNzowNiAxOTk4IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR1VJTERfTUFMRV9USVRMRVMgYi9kb2MvcHJvcHMvUF9HVUlMRF9NQUxFX1RJVExFUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2UwNWE1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfR1VJTERfTUFMRV9USVRMRVMKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKwlQX0dVSUxEX01BTEVfVElUTEVTCQkiZ3VpbGRfbWFsZV90aXRsZXMiICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorCS9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBHaWxkZW5wcm9wZXJ0eSBlbnRoYWVsdCBkaWUgU3R1ZmVuYmV6ZWljaG51bmdlbiBmdWVyCisJbWFlbm5saWNoZSBHaWxkZW5taXRnbGllZGVyLiBBbHMgU2NobHVlc3NlbCBkaWVuZW4gaGllcmJlaSBkaWUKKwlHaWxkZW5zdHVmZW4gdW5kIGRpZSBlbnRzcHJlY2hlbmRlbiBFaW50cmFlZ2Ugc2luZCBkYW5uIGRpZSB6dXIKKwlTdHVmZSBnZWhvZXJpZ2VuIEdpbGRlbnRpdGVsLgorCitCRUlTUElFTEU6CisJRWluZSBQcm9ncmFtbWllcmVyZ2lsZGUga29lbm50ZSBmb2xnZW5kZSBTdHVmZW5iZXplaWNobnVuZ2VuCisJYmVpbmhhbHRlbjoKKwkgIFNldFByb3AoUF9HVUlMRF9NQUxFX1RJVExFUywoWzE6ImRlciBBbmZhZW5nZXIiLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjoiZGVyIEZvcnRnZXNjaHJpdHRlbmUiLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzoiZGVyIFByb2ZpIl0pKTsKKworU0lFSEUgQVVDSDoKKwlQX0dFTkRFUiwgUF9HSUxEX0xFVkVMLCBQX0dVSUxEX1RJVExFLCBQX0dVSUxEX0ZFTUFMRV9USVRMRVMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEphbiAxNCAxOToxNzowNiAxOTk4IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR1VJTERfUFJFUEFSRUJMT0NLIGIvZG9jL3Byb3BzL1BfR1VJTERfUFJFUEFSRUJMT0NLCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0MjlhNDkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRF9QUkVQQVJFQkxPQ0sKQEAgLTAsMCArMSwzNyBAQAorUF9HVUlMRF9QUkVQQVJFQkxPQ0sgKGludCkKKworTkFNRToKKyAgUF9HVUlMRF9QUkVQQVJFQkxPQ0sgICAgICAgICAgICAgICAgICAgICAgICAgICAiZ3VpbGRfcHJlcGFyZWJsb2NrIiAKKworREVGSU5JRVJUIElOOgorICAvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGRpZSBJbmZvcm1hdGlvbiwgb2IgZGFzIExlYmV3ZXNlbiBpbgorICBkZXIgS29uemVudHJhdGlvbnNwaGFzZSBlaW5lcyBTcGVsbHMgd2VpdGVya2FlbXBmdCBvZGVyIG9iCisgIGRpZSBBbmdyaWZmZSBkZXJ3ZWlsIGF1c2dlc2V0enQgd2VyZGVuLgorCitCRU1FUktVTkdFTjoKKyAgSW4gZGVyIFByb3BlcnR5IHNlbGJzdCB3aXJkIGVpZ2VudGxpY2ggZWluIE1hcHBpbmcgZWluZ2V0cmFnZW4sCisgIHdlbGNoZXMgZGllIEdpbGRlbm5hbWVuIGFscyBTY2hsdWVzc2VsIHVuZCBkYXMgZGF6dWdlaG9lcmlnZQorICBCbG9jay1GbGFnIGFscyBFaW50cmFnIGVudGhhZWx0LiBCZWkgZGVyIEFiZnJhZ2UgZGVyIFByb3BlcnR5IHdpcmQKKyAgamVkb2NoIGRpZSBHaWxkZSBiZXJ1ZWNrc2ljaHRpZ3QgdW5kIGRhcyBha3R1ZWxsZSBGbGFnCisgIHp1cnVlY2tnZWxpZWZlcnQuCisgIERlbWVudHNwcmVjaGVuZCBkYXMgZGllc2UgUHJvcCBuaWNodCBtaXQgU2V0KCkgbWFuaXB1bGllcnQgd2VyZGVuLCAKKyAgYml0dGUgYXVzc2NobGllc3NsaWNoZSBTZXRQcm9wKCkgdmVyd2VuZGVuLgorCitCRUlTUElFTEU6CisgIERpZSBQcm9wZXJ0eSBzb2xsdGUgbmF0dWVybGljaCBudXIgdm9uIGRlciBHaWxkZSBnZXNldHp0IHdlcmRlbgorICB1bmQgYXVjaCBudXIgYmVpIEdpbGRlbm1pdGdsaWVkZXJuCisKKyAgaWYgKCBJc0d1aWxkTWVtYmVyKHBsKSApCisgICAgcGwtPlNldFByb3AoUF9HVUlMRF9QUkVQQVJFQkxPQ0ssMSk7CisKKyAgUmVzdWx0YXQ6IEtlaW4gQXVzZnVlaHJlbiB2b24gQXR0YWNrKCksIHdlbm4gcGwgc2ljaCBhdWYgZWluZW4KKyAgWmF1YmVyc3BydWNoIGtvbnplbnRyaWVydC4KKworU0lFSEUgQVVDSDoKKyAgUF9QUkVQQVJFRF9TUEVMTAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxOC4wMy4yMDA4LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9HVUlMRF9SQVRJTkcgYi9kb2MvcHJvcHMvUF9HVUlMRF9SQVRJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY1ODAwYQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0dVSUxEX1JBVElORwpAQCAtMCwwICsxLDIyIEBACitOQU1FOgorCVBfR1VJTERfUkFUSU5HCQkJImd1aWxkX3JhdGluZyIgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisJSW4gZGllc2VyIFByb3BlcnR5IHdpcmQgZGllIEVpbnN0dWZ1bmcgZGVzIFNwaWVsZXJzIGlubmVyaGFsYgorCXNlaW5lciBHaWxkZSBmZXN0Z2VsZWd0LiBEZXIgZGFmdWVyIHp1IGVybWl0dGVsbmRlIFdlcnQgbXVzcyBpbgorCWVpbmVtIEJlcmVpY2ggdm9uIDAgYmlzIDEwMDAwIGxpZWdlbi4gV2llIHNpY2ggZGllIEVpbnN0dWZ1bmcKKwl6dXNhbW1lbnNldHp0LCBibGVpYnQgZGVyIGpld2VpbGlnZW4gR2lsZGUgdWViZXJsYXNzZW4uCisKK0JFTUVSS1VOR0VOOgorCURlciBXZXJ0IG11c3Mgdm9uIGRlciBHaWxkZSBlcm1pdHRlbHQgd2VyZGVuISBNZWlzdCBzZXR6dCBlciBzaWNoCisJYXVzIGRlbiBGYWVoaWdrZWl0ZW4gZGVzIE1pdGdsaWVkcyB6dXNhbW1lbiB1bmQgbWl0dW50ZXIgZmxpZXNzZW4KKwlhdWNoIEdpbGRlbnF1ZXN0cyBvZGVyIGFlaG5saWNoZXMgbWl0IGVpbi4KKworU0lFSEUgQVVDSDoKKyAgICBQX05FV1NLSUxMUywgR3VpbGRSYXRpbmcKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEphbiAxNCAxOToxNzowNiAxOTk4IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfR1VJTERfUkVTVFJJQ1RJT05TIGIvZG9jL3Byb3BzL1BfR1VJTERfUkVTVFJJQ1RJT05TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYmFiYzEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRF9SRVNUUklDVElPTlMKQEAgLTAsMCArMSwzNyBAQAorTkFNRToKKyAgICBQX0dVSUxEX1JFU1RSSUNUSU9OUyAgICAgICAgImd1aWxkX3Jlc3QiICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRGllc2UgR2lsZGVucHJvcGVydHkgZW50aGFlbHQgZWluIE1hcHBpbmcgbWl0IGRlbgorICAgIEVpbnRyaXR0c2Jlc2NocmFlbmt1bmdlbiBmdWVyIGRpZSBqZXdlaWxpZ2UgR2lsZGUuCisKK0JFTUVSS1VOR0VOOgorICAgIEltIGFsbGdlbWVpbmVuIHNvbGx0ZSBkYXMgTWFwcGluZyBtaXQgZGVuIEVpbnRyaXR0c2Jlc2NocmFlbmt1bmdlbgorICAgIG1pdCBkZW4gQmVzY2hyYWVua3VuZ2VuIGZ1ZXIgTGV2ZWwgMSBpbSBNYXBwaW5nIHZvbiBQX0dVSUxEX0xFVkVMUworICAgIHVlYmVyZWluc3RpbW1lbi4KKworQkVJU1BJRUxFOgorICAgIEVpbiBwYWFyIG1vZWdsaWNoZSBBYmZyYWdlbiB3YWVyZW4gZm9sZ2VuZGU6CisgICAgc3RyaW5nIGNoZWNrKG9iamVjdCBwbCk7CisKKyAgICBTZXRQcm9wKFBfR1VJTERfUkVTVFJJQ1RJT05TLAorICAgICAgICAgICAgKFtQX0xFVkVMOjMsCisgICAgICAgICAgICAgIFBfUVA6MTAwLAorICAgICAgICAgICAgICBTUl9GVU46IydjaGVja10pKTsKKworICAgIHN0cmluZyBjaGVjayhvYmplY3QgcGwpIHsKKyAgICAgIGlmKHBsLT5RdWVyeVByb3AoUF9NQUxFKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgICByZXR1cm4gIkZ1ZXIgRnJhdWVuIGlzdCBkYXMgbmljaHRzIVxuIjsKKyAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgR2lsZGVuZmt0LjoKKyAgICAqIEVpbi9BdXN0cml0dDogYmVpdHJldGVuLCBiZWlfb2Rlcl9hdXNfdHJldGVuLCBhdXN0cmV0ZW4KKyAgICAqIFNvbnN0aWdlczogICAgUF9HVUlMRF9MRVZFTFMKKyAgICBTb25zdGlnZXM6ICAgICAgL3N0ZC9yZXN0cmljdGlvbl9jaGVja2VyLmMKKworMy4gT2t0IDIwMTEgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9HVUlMRF9TS0lMTFMgYi9kb2MvcHJvcHMvUF9HVUlMRF9TS0lMTFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDdlMzBhMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0dVSUxEX1NLSUxMUwpAQCAtMCwwICsxLDI0IEBACitQX0dVSUxEX1NLSUxMUworTkFNRToKKyAgICBQX0dVSUxEX1NLSUxMUyAgICAgICAgICAgICJndWlsZF9za2lsbHMiICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIERpZXNlIEdpbGRlbnByb3BlcnR5IGVudGhhZWx0IGVpbiBNYXBwaW5nIG1pdCBhbGxlbiBTa2lsbHMgdW5kCisgICAgU3BlbGxzIGRlciBHaWxkZS4KKworQkVNRVJLVU5HRU46CisgICAgTWFuIHNvbGx0ZSBkaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbmljaHQgcGVyIEhhbmQgdmVyYWVuZGVybiwgc29uZGVybgorICAgIGRpZSBGdW5rdGlvbmVuIEFkZFNraWxsKCkgYnp3LiBBZGRTcGVsbCgpIG51dHplbi4KKworU0lFSEUgQVVDSDoKKyAgICBHT2JqIFZlcndhbHRlbjogICBMZWFyblNraWxsLCBMZWFyblNwZWxsLCBJbml0aWFsU2tpbGxBYmlsaXR5CisgICAgKiBTb25zdGlnZXM6ICAgICAgR3VpbGRSYXRpbmcKKyAgICBTcGVsbGJvb2sgTGVybmVuOiBMZWFybiwgU3BlbGxTdWNjZXNzLCBFcmZvbGcsIE1pc3NlcmZvbGcKKyAgICAqIFZlcndhbHRlbjogICAgICBBZGRTcGVsbCwgUXVlcnlTcGVsbAorICAgICogUHJvcGVydGllczogICAgIFBfU0JfU1BFTExTLCBQX0dMT0JBTF9TS0lMTFBST1BTLCBQX0dVSUxEX1JBVElORworICAgIFNraWxsczogICAgICAgICAgIFBfTkVXU0tJTExTLCBzcHJ1Y2hlcm11ZWR1bmcsIHNraWxsX2luZm9fbGlzdGUKKworMy4gT2t0IDIwMTEgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9HVUlMRF9USVRMRSBiL2RvYy9wcm9wcy9QX0dVSUxEX1RJVExFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ1NTQzNDkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9HVUlMRF9USVRMRQpAQCAtMCwwICsxLDM3IEBACitQX0dVSUxEX1RJVExFCitOQU1FOgorICAgICBQX0dVSUxEX1RJVExFCQkJImd1aWxkX3RpdGxlIiAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBkZW4gR2lsZGVudGl0ZWwgZGVzIExlYmV3ZXNlbnMsIHdlbGNoZXIgZGVyCisgICAgIEdpbGRlbnN0dWZlIGRlcyBMZWJld2VzZW5zIGVudHNwcmljaHQgdW5kIGplZG9jaCBudXIgYW5nZXplaWd0IHdpcmQsCisgICAgIHdlbm4gUF9USVRMRSBkZXMgTGViZXdlc2VucyBnbGVpY2ggTnVsbCBpc3QuCisKK0JFTUVSS1VOR0VOOgorICAgICBJbiBkZXIgUHJvcGVydHkgc2VsYnN0IHdpcmQgZWlnZW50bGljaCBlaW4gTWFwcGluZyBlaW5nZXRyYWdlbiwgd2VsY2hlcworICAgICBkaWUgR2lsZGVubmFtZW4gYWxzIFNjaGx1ZXNzZWwgdW5kIGRpZSBkYXp1Z2Vob2VyaWdlbiBHaWxkZW50aXRlbCBhbHMKKyAgICAgRWludHJhZyBlbnRoYWVsdC4gQmVpIGRlciBBYmZyYWdlIGRlciBQcm9wZXJ0eSB3aXJkIGplZG9jaCBkaWUgR2lsZGUKKyAgICAgYmVydWVja3NpY2h0aWd0IHVuZCBkZXIgYWt0dWVsbGUgR2lsZGVudGl0ZWwgenVydWVja2dlbGllZmVydC4KKworQkVJU1BJRUxFOgorCUZ1ZXIgZWluZSBQcm9ncmFtbWllcmVyZ2lsZGUgd2FlcmUgZm9sZ2VuZGVzIGRlbmtiYXI6CisJICBTZXRQcm9wKFBfR1VJTERfTUFMRV9USVRMRVMsKFsxOiJkZXIgQW5mYWVuZ2VyIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI6ImRlciBGb3J0Z2VzY2hyaXR0ZW5lIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM6ImRlciBQcm9maSJdKSk7CisJICBTZXRQcm9wKFBfR1VJTERfRkVNQUxFX1RJVExFUywoWzE6ImRpZSBBbmZhZW5nZXJpbiIsCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI6ImRpZSBGb3J0Z2VzY2hyaXR0ZW5lIiwKKwkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzoiZGllIFByb2Zlc3Npb25lbGxlIl0pKTsKKwlFaW4gd2VpYmxpY2hlcyBHaWxkZW5taXRnbGllZCBtaXQgZGVyIGRyaXR0ZW4gR2lsZGVuc3R1ZmUgdW5kIG9obmUKKwlQX1RJVExFIHd1ZXJkZSBkYW5uIGRlbiBUaXRlbCAiZGllIFByb2Zlc3Npb25lbGxlIiB0cmFnZW4uIERhcyBoYXQKKwl6d2FyIG5pY2h0cyBtaXQgUHJvZ3JhbW1pZXJlcm4genUgdHVuLCBhYmVyIHdpZSBoZWlzc3QgZWlnZW50bGljaAorCWVpbiB3ZWlibGljaGVyICJQcm9maSI/ISA6KQorCitTSUVIRSBBVUNIOgorICAgICBQX1RJVExFLCBQX0dVSUxELCBQX0dVSUxEX0xFVkVMLAorICAgICBQX0dVSUxEX01BTEVfVElUTEVTLCBQX0dVSUxEX0ZFTUFMRV9USVRMRVMsCisgICAgIFBfU1VCR1VJTERfVElUTEUKKworMjYuIE1hZXJ6IDIwMDQgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0hBTkRTIGIvZG9jL3Byb3BzL1BfSEFORFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVkYTdjNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0hBTkRTCkBAIC0wLDAgKzEsNTcgQEAKK1BfSEFORFMKK05BTUU6CisgICAgIFBfSEFORFMgICAgICAgICAgICAgICAgICAgICJoYW5kcyIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbiBkcmVpZWxlbWVudGlnZXMgQXJyYXkgbWl0CisgICAgIGRlbiBmb2xnZW5kZW4gRWludHJhZWdlbjoKKyAgICAgMS4gRWxlbWVudDogU3RyaW5nIG1pdCBkZXIgTWVsZHVuZywgd2VubiBvaG5lIFdhZmZlbiBhbmdlZ3JpZmZlbgorICAgICAgICAgICAgICAgICB3aXJkLgorICAgICAyLiBFbGVtZW50OiBXYWZmZW5rbGFzc2UsIHdlbm4gb2huZSBXYWZmZW4gYW5nZWdyaWZmZW4gd2lyZC4KKyAgICAgMy4gRWxlbWVudDogQXJyYXkgbWl0IFNjaGFkZW5zYXJ0ZW4gKGZydWVoZXIgYXVjaDogU2NoYWRlbnNhcnQpCisKKyAgICAgZWltIFNldHplbiBkaWVzZXIgUHJvcGVydHkgd2lyZCBhdWNoIFBfVE9UQUxfV0MgbWl0IHZlcmFlbmRlcnQsCisgICAgIHdlbm4gZGFzIExlYmV3ZXNlbiBrZWluZSBXYWZmZSBnZXp1ZWNrdCBoYXQuIFN0ZWNrdCBkYXMgTGViZXdlc2VuCisgICAgIGVpbmUgZ2V6dWVja3RlIFdhZmZlIHdlZywgc28gd2lyZCBlYmVuZmFsbHMgUF9UT1RBTF9XQyBtaXQgZGVyCisgICAgIFdhZmZlbmtsYXNzZSBhdXMgUF9IQU5EUyBha3R1YWxpc2llcnQuIFp1ZWNrdCBkYXMgTGViZXdlc2VuIGVpbmUKKyAgICAgV2FmZmUsIHNvIHdpcmQgUF9UT1RBTF9XQyBtaXQgZGVyIFdhZmZlbmtsYXNzZSBkZXIgV2FmZmUgKFBfV0MpCisgICAgIHVlYmVyc2NocmllYmVuLiBEaWUgUHJvcGVydHkgUF9UT1RBTF9XQyBlbnRoYWVsdCBzb21pdCBpbW1lciBkaWUKKyAgICAgYWt0dWVsbGUgQW5ncmlmZnNzdGFlcmtlIGRlcyBMZWJld2VzZW4uCisKK0JFTUVSS1VOR0VOCisgICAgIEluIGFsdGVuIE9iamVrdGVuIGthbm4gZXMgdm9ya29tbWVuLCBkYXNzIGRhcyBkcml0dGUgRWxlbWVudCAoQW5nYWJlIGRlcworICAgICBTY2hhZGVuc3R5cHMpIGZlaGx0LiBEaWVzIGlzdCBlaW5lIEFsdGxhc3QsIGRpZSBBbmdhYmUgZGVzIFNjaGFkZW5zdHlwZXMKKyAgICAgaXN0IE5JQ0hUIG9wdGlvbmFsLikKKworQkVJU1BJRUw6CisgICAgIEVpbiBzdGFya2VyIFRhdXNlbmRmdWVzc2xlciBtaXQgU2NobGFnc2NoYWRlbjoKKworICAgICAgIFNldFByb3AoUF9IQU5EUywoeyIgbWl0IHRhdXNlbmQga2xlaW5lbiBGdWVzc2NoZW4iLDEwMDAsIAorICAgICAgICAgICAgICAgICAgICAgICAgICh7RFRfQkxVREdFT059KSB9KSk7CisKKworICAgICBFaW4gU2FldXJlZGVkYWVtb246CisgICAgICAgU2V0UHJvcChQX0hBTkRTLAorICAgICAgICAgKHsKKyAgICAgICAgICAgIiBtaXQgc2FldXJldHJpZWZlbmRlbiBLbGF1ZW4iLAorICAgICAgICAgICAyNTAsCisgICAgICAgICAgICh7RFRfUklQLCBEVF9BQ0lEfSkKKyAgICAgICAgIH0pCisgICAgICAgKTsKKworICAgICBIaWVyIHd1cmRlbiBnbGVpY2ggendlaSBTY2hhZGVuc2FydGVuIGFuZ2VnZWJlbiwgYWxzbyB3aXJkCisgICAgIE1pc2Noc2NoYWRlbiB2ZXJ1cnNhY2h0LiBNYW4gc29sbHRlIGVzIGplZG9jaCBuaWNodCB6dSBzZWhyCisgICAgIHVlYmVydHJlaWJlbiEgTWVociBhbHMgendlaSBvZGVyIGRyZWkgZ2xlaWNoemVpdGlnIHZlcndlbmRldGUKKyAgICAgU2NoYWRlbnNhcnRlbiBsYXNzZW4gc2ljaCBrYXVtIG1laHIgYmVncnVlbmRlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9IQU5EU19VU0VEX0JZCisgICAgIFBfTUFYX0hBTkRTLCBQX1VTRURfSEFORFMsIFBfRlJFRV9IQU5EUworICAgICBVc2VIYW5kcywgRnJlZUhhbmRzCisgICAgIFBfVE9UQUxfV0MsIFBfV0MKKyAgICAgL3N0ZC9saXZpbmcvY29tYmF0LmMsIC9zdGQvd2VhcG9uL2NvbWJhdC5jLCAvc3lzL2NvbWJhdC5oCisKKzIyLjAyLjIwMTQgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSEFORFNfVVNFRF9CWSBiL2RvYy9wcm9wcy9QX0hBTkRTX1VTRURfQlkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQwZTVmZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0hBTkRTX1VTRURfQlkKQEAgLTAsMCArMSwyMSBAQAorUF9IQU5EU19VU0VEX0JZCitOQU1FOgorICAgICBQX0hBTkRTX1VTRURfQlkgICAgICAgICAgICJoYW5kc191c2VkX2J5IgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRW50aGFlbHQgZWluZSBMaXN0ZSBtaXQgZGVuIE9iamVrdGVuLCBkaWUgZGVyemVpdCBkaWUgSGFlbmRlCisgICAgIGRlcyBMaXZpbmdzIGJlbGVnZW4uIERhYmVpIGtvZW5uZW4gT2JqZWt0ZSBtZWhybWFscyBhdWZ0YXVjaGVuLAorICAgICBqZSBuYWNoZGVtIHdpZSB2aWVsZSBIYWVuZGUgc2llIGJlbGVnZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICBEYXJmIG51ciB1ZWJlciBVc2VIYW5kcygpIHVuZCBGcmVlSGFuZHMoKSBtYW5pcHVsaWVydCB3ZXJkZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfSEFORFMKKyAgICAgUF9NQVhfSEFORFMsIFBfVVNFRF9IQU5EUywgUF9GUkVFX0hBTkRTCisgICAgIFVzZUhhbmRzLCBGcmVlSGFuZHMKKworMS5GZWIuMjAwNCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSEFSQk9VUiBiL2RvYy9wcm9wcy9QX0hBUkJPVVIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBlMTA0OAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0hBUkJPVVIKQEAgLTAsMCArMSw2NiBAQAorTkFNRToKKyAgICBQX0hBUkJPVVIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgImhhcmJvdXJfbmFtZSIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RyYW5zcG9ydC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBBcnJheSBtaXQgZWluZGV1dGlnZXIgQmV6ZWljaG51bmcgZGVzICdIYWZlbnMnCisKK0JFTUVSS1VOR0VOOgorICAgIERpZXNlIFByb3BlcnR5IHdpcmQgaW4gUmFldW1lbiBnZXNldHp0LCBkaWUgYWxzIEFubGVnZXIgZnVlciBUcmFuc3BvcnRlcgorICAgIGRpZW5lbiBzb2xsZW4uIFNpZSBlbnRoYWVsdCBlaW4gQXJyYXkgYXVzIHp3ZWkgRWxlbWVudGVuLCBlaW5lbSBTdHJpbmcKKyAgICB1bmQgZWluZW0gU3RyaW5nLUFycmF5LCB6dW0gQmVpc3BpZWw6CisKKyAgICAoeyAienVyIFNvbm5lbmluc2VsIiwgKHsic29ubmVuaW5zZWwifSkgfSkgb2RlciAKKyAgICAoeyAibmFjaCBUaXRpd3UiLCAoeyJ0aXRpd3UifSkgfSkKKworICAgIERhbWl0IGJla29tbXQgZGVyIFNwaWVsZXIgYmVpIGVpbmVyIEFiZnJhZ2Ugc2VpbmVyIFJlaXNlcm91dGUgbWl0dGVscworICAgICJyZWlzZSByb3V0ZSIgZWluZSBBdXNnYWJlIHdpZSAKKyAgICAgICdEdSByZWlzdCBtaXQgZGVtIEZsb3NzIG5hY2ggVGl0aXd1JyBvZGVyCisgICAgICAnRHUgcmVpc3QgbWl0IGRlbSBXYWwgenVyIFNvbm5lbmluc2VsJy4KKworICAgIERhcyB6d2VpdGUgRWxlbWVudCBkZXIgUHJvcGVydHkgZW50aGFlbHQgZWluZSBMaXN0ZSBkZXIgSURzLCBtaXQgZGVuZW4KKyAgICBzaWNoIGRlciBIYWZlbiBtaXQgZGVtIEJlZmVobCAicmVpc2UgbmFjaCA8SUQ+IiBhbnNwcmVjaGVuIGxhZXNzdC4gSW0KKyAgICBCZWlzcGllbCBvYmVuIHd1ZXJkZSBhbHNvICJyZWlzZSBuYWNoIHNvbm5lbmluc2VsIiB1bmQgCisgICAgInJlaXNlIG5hY2ggdGl0aXd1IiBha3plcHRpZXJ0IHdlcmRlbi4gRGVyIGVyc3RlIEVpbnRyYWcgaW4gZGllc2VyIElELQorICAgIExpc3RlIHdpcmQgaW4gZGVyIEF1c2dhYmUgZGVzIEJlZmVobHMgInJlaXNlIHJvdXRlIiB2ZXJ3ZW5kZXQsIHNvbGx0ZQorICAgIGFsc28gZGVuIEFubGVnZW9ydCBrb3JyZWt0IGJlemVpY2huZW4gdW5kIG5pY2h0IHouQi4gZWluZSBBYmt1ZXJ6dW5nCisgICAgZW50aGFsdGVuLgorICAgIEVzIGJpZXRldCBzaWNoIGFuLCBiZWkgYmVzdGltbXRlbiwgZGVrbGluaWVyYmFyZW4gQmV6ZWljaG51bmdlbiBhbGxlCisgICAgVmFyaWFudGVuIGVpbnp1dHJhZ2VuLCB6LkIuICJ2ZXJsb3JlbmVzIGxhbmQiIHVuZCB6dXNhZXR6bGljaAorICAgICJ2ZXJsb3JlbmUgbGFuZCIgdW5kICJ2ZXJsb3JlbmVuIGxhbmQiLCBkYW1pdCBhbGxlIFZhcmlhbnRlbiB2b24gCisgICAgInJlaXNlIG5hY2ggLi4uIiBmdW5rdGlvbmllcmVuLgorCisgICAgSXN0IGluIGVpbmVtIEhhZmVuIGRpZXNlIFByb3BlcnR5IG5pY2h0IGdlc2V0enQsIHNvIGJla29tbXQgZGVyIAorICAgIFNwaWVsZXIga2VpbmVybGVpIEhpbndlaXMgZGFyYXVmLCB3b2hpbiBpaG4gZWluIGJlc3RpbW10ZXIgVHJhbnMtCisgICAgcG9ydGVyIGJlZm9lcmRlcnQuIAorICAgIFN0YXR0ZGVzc2VuIGVyaGFlbHQgZXIgZGllIEJlemVpY2hudW5nICd1bmJla2FubnQnLgorCitISU5XRUlTRToKKyAgICBXaXJkIGRlciB6d2VpdGUgUGFyYW1ldGVyIGluIGRpZXNlciBQcm9wZXJ0eSwgZC5oLiBkaWUgTGlzdGUgZGVyIAorICAgIEFubGVnZXItSURzLCBuaWNodCBrb3JyZWt0IGdlc2V0enQsIGthbm4gZGFzIGRhenUgZnVlaHJlbiwgZGFzcyBTcGllbGVyCisgICAgZGVuIGhpZXIgYW5sZWdlbmRlbiBUcmFuc3BvcnRlciBuaWNodCBiZW51dHplbiBrb2VubmVuLCB3ZWlsIGVzCisgICAga2VpbmUgc2lubnZvbGxlIFN5bnRheCBnaWJ0LCB1bSBkZW4gZ2V3dWVuc2NodGVuIFppZWxoYWZlbiB6dSBmaW5kZW4uCisKKyAgICBadSBhY2h0ZW4gaXN0IGF1Y2ggZGFyYXVmLCBkYXMgZGVyIGVyc3RlIEVpbnRyYWcgdW52ZXJhZW5kZXJ0IGluIGVpbmVyIAorICAgIE1lbGR1bmcgYW4gZGVuIFNwaWVsZXIgYXVzZ2VnZWJlbiB3aXJkLCBkLmguIEdyb3NzLXVuZCBLbGVpbnNjaHJlaWJ1bmcKKyAgICBzb2xsdGUga29ycmVrdCBzZWluLgorCitISVNUT1JJRToKKyAgICBGcnVlaGVyIHdhciBkZXIgendlaXRlIEVpbnRyYWcgaW4gZGllc2VyIFByb3BlcnR5IGVpbiBlaW56ZWxuZXIgU3RyaW5nLgorICAgIEVzIGV4aXN0aWVydCBlaW5lIFNldE1ldGhvZGUgYXVmIGRpZXNlciBQcm9wZXJ0eSwgZGllIHNvbGNoZSBEYXRlbiBpbgorICAgIGFsdGVtIENvZGUgYXVmIGRpZSBuZXVlIERhdGVuc3RydWt0dXIgdW1iaWVndC4gRGllcyBmdWVocnQgZGF6dSwgZGFzcworICAgIGJlaSBzb2xjaGVuIE9iamVrdGVuIGRpZSBpbSBnZWxhZGVuZW4gUmF1bSBlbnRoYWx0ZW5lbiBEYXRlbiBuaWNodCBtaXQKKyAgICBkZW4gRGF0ZW4gaW0gRmlsZSB1ZWJlcmVpbnN0aW1tZW4uIERpZXMgbW9lZ2UgYWJlciBiaXR0ZSBuaWVtYW5kIAorICAgIHp1bSBBbmxhc3MgbmVobWVuLCBpbiBuZXVlbSBDb2RlIHZlcmFsdGV0ZSBEYXRlbiBpbiBkaWUgUHJvcGVydHkgenUgCisgICAgc2NocmVpYmVuIQorICAgIAorU0lFSEUgQVVDSDoKKyAgUHJvcGVydGllczogICAgIFBfTk9fVFJBVkVMSU5HLCBQX1RSQVZFTF9JTkZPCisgIEZ1bmt0aW9uZW46ICAgICBBZGRSb3V0ZShMKQorICBTcGllbGVyYmVmZWhsZTogcmVpc2UKKyAgd2VpdGVyZSBEb2t1OiAgIC9kL2luc2Vsbi9zY2hpZmZlL0hvd1RvCisKK0xFVFpURSBBRU5ERVJVTkc6CisyMDE1LUphbi0xOCwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0hBVVNfRVJMQVVCVCBiL2RvYy9wcm9wcy9QX0hBVVNfRVJMQVVCVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWM2NDk1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSEFVU19FUkxBVUJUCkBAIC0wLDAgKzEsMjkgQEAKK05BTUU6CisgICAgUF9IQVVTX0VSTEFVQlQgICAgICAgICAgICAgICAgImhhdXNfZXJsYXVidCIgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Jvb20vZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEhpZXIgZGFyZiBlaW4gU2VoZXJoYXVzIGFiZ2VzdGVsbHQgd2VyZGVuCisKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbmljaHQgcGVyIGRlZmF1bHQgaW4gUmFldW1lbiBhdWYgZWluZW4gV2VydCA+IDAKKyAgICAgZ2VzZXR6dCB3ZXJkZW4gdW0gZWluZW0gV2lsZHd1Y2hzIGFuIFNlaGVyaGF1cygtcnVpbmVuKSB2b3J6dWJldWdlbi4KKyAgICAgQXVjaCBzZWkgZGFyYXVmIGdlYWNodGV0LCBkYXNzIGluIFJhZXVtZW4gZGllIFBfSU5ET09SUyBhdWYgZWluZW4gCisgICAgIFdlcnQgPiAwIGhhYmVuLCBwZXIgZGVmYXVsdCBuaWNodCBnZWJhdXQgd2VyZGVuIGthbm4uICAgICAKKyAgICAgSGllciBsaWViZXIgZGllIFByb3BlcnR5IHBlciBIYW5kIGF1ZiAxIHNldHplbiB1bmQgbmFjaCBkZW0gQXVmc3RlbGxlbgorICAgICBkZXMgSGF1c2VzIHdpZWRlciBsb2VzY2hlbi4KKyAgICAgIAorICAgICB4Y2FsbCAkaC0+U2V0UHJvcChQX0hBVVNfRVJMQVVCVCwxKTsKKworICAgICBBbmdlbWVya3Qgc2VpIG5vY2gsIGRhc3MgZGVyIE1hZ2llciBkZW0gZGVyIFJhdW0gZ2Vob2VydCB1ZWJlciBIYXVzYmF1CisgICAgIGVudHNjaGVpZGV0IHVuZCBuaWNodCBkZXIgUmVnaW9uc21hZ2llci4gSW4gamVkZW0gRmFsbCBSdWVja3NwcmFjaGUgCisgICAgIGhhbHRlbiBmYWxscyBkZXIgZW50c3ByZWNoZW5kZSBNYWdpZXIgenVtaW5kZXN0IGFiIHVuZCBhbiBhbndlc2VuZCBzZWluCisgICAgIHNvbGx0ZS4KKworICAgICBVbnRlciAvZG9jL2JlaXNwaWVsZS9taXNjIGxpZWd0IGVpbiBGaWxlLCBpbiBkZW0gZG9rdW1lbnRpZXJ0IGlzdCwKKyAgICAgd2llIG5hY2ggQWVuZGVydW5nZW4gYW0gU2VoZXJoYXVzIHp1IHZlcmZhaHJlbiBpc3QuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IEZyaSBOb3YgMjYgMTU6NDE6NDcgMTk5OSBieSBUaWxseQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSEIgYi9kb2MvcHJvcHMvUF9IQgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWUyZGNiCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSEIKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfSEIgICAgICAgICAgICAgICAgICAgICAgICAgICJoYiIgICAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSB3aXJkIGdlc2V0enQsIHdlbm4gZGFzIE1vbnN0ZXIgaW1tZXIgZWluZW4KKyAgICAgaGVhcnRfYmVhdCBoYWJlbiBzb2xsLiAoVk9SU0lDSFQsIG51ciB3ZW5uIGVzIFdJUktMSUNIIHNlaW4gbXVzcyEpCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9IRUFMIGIvZG9jL3Byb3BzL1BfSEVBTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDI4MDJmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSEVBTApAQCAtMCwwICsxLDMyIEBACitOQU1FOgorICAgICBQX0hFQUwgICAgICAgICAgICAgICAgICAgICAgICAiaGVhbCIgICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE51bWVyaXNjaGVyIFdlcnQsIGRlciBiZWltIFZlcnplaHIgZWluZXIgTGVpY2hlIHp1IGRlbiBMZWJlbnNwdW5rdGVuIAorICAgICBkZXNqZW5pZ2VuIGhpbnp1Z2V6YWVobHQgd2lyZCwgZGVyIGRpZSBMZWljaGUgaXNzdC4gRGVyIFdlcnQga2FubiBhdWNoIAorICAgICBuZWdhdGl2IHNlaW4uIEZhbGxzIGRpZSBMZWljaGUgZGVuIG1heGltYWxlbiBWZXJmYWxsc3p1c3RhbmQgZXJyZWljaHQgCisgICAgIGhhdCwgd2lyZCBkaWVzZXIgV2VydCBhdXRvbWF0aXNjaCBhdWYgLTQgZ2VzZXR6dCwgc29mZXJuIG5pY2h0IHNjaG9uCisgICAgIGVpbiBnZXJpbmdlcmVyIFdlcnQgZWluZ2V0cmFnZW4gaXN0LgorCisgICAgIFdlcnRlIHVudGVyIC00IHNpbmQgc2VociBzcGFyc2FtIHVuZCBudXIgaW4gYmVncnVlbmRldGVuIEVpbnplbGZhZWxsZW4KKyAgICAgenUgc2V0emVuLiBEaWUgUmVnaW9uc21hZ2llciB3ZXJkZW4gYXVmIHNpbm52b2xsZSBXZXJ0ZWJlcmVpY2hlIGluCisgICAgIGlocmVtIFp1c3RhZW5kaWdrZWl0c2JlcmVpY2ggYWNodGVuIHVuZCBnZ2YuIEdyZW56d2VydGUgZnVlciBpaHJlIAorICAgICBSZWdpb24gZmVzdGxlZ2VuLgorCisgICAgIERpZSBHaWxkZW4ga29lbm5lbiBQX0hFQUwgYWJmcmFnZW4gdW5kIGVpZ2VuZSwgZ3JvYmUgSW5mb3JtYXRpb25zdGV4dGUKKyAgICAgYXVzZ2ViZW4sIGRpZSBkZW4gU3BpZWxlciB1ZWJlciBkZW4genUgZXJ3YXJ0ZW5kZW4gRWZmZWt0IGJlaW0gRXNzZW4KKyAgICAgZWluZXIgTGVpY2hlIGluZm9ybWllcmVuLgorCisgICAgIFBvc2l0aXZlIFdlcnRlIHZvbiBQX0hFQUwgc2luZCBiZWkgZGVyIEhlaWx1bmdzYmFsYW5jZSBhbHMgSGVpbHN0ZWxsZQorICAgICB6dSBiZWFudHJhZ2VuLgorCisgICAgIEZ1ZXIgbmljaHQgYWxsenUgaGFydGUgTlBDcyBzb2xsdGUgUF9IRUFMIGF1ZiAwIGdlc2V0enQgc2Vpbi4gRGllc2VyCisgICAgIFdlcnQgaXN0IGdsZWljaHplaXRpZyBkZXIgU3RhbmRhcmR3ZXJ0LgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2NvcnBzZSwgUXVlcnlIZWFsSW5mbygpCisgICAgIAorMzEuMDMuMjAwOCBBcmF0aG9ybgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSEVMUEVSX05QQyBiL2RvYy9wcm9wcy9QX0hFTFBFUl9OUEMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI3MWU0NwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0hFTFBFUl9OUEMKQEAgLTAsMCArMSwzMCBAQAorUF9IRUxQRVJfTlBDCisKK05BTUU6CisgICAgIFBfSEVMUEVSX05QQyAgICAgICAgICAgICAic3RkOmhlbHBlcl9ucGMKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgTWl0IGRpZXNlciBQcm9wIGxhZXNzdCBzaWNoIGhlcmF1c2ZpbmRlbiwgb2IgZWluIE5QQyBlaW5lbSBTcGllbGVyIGhpbGZ0CisgICAgYnp3LiB3ZWxjaGUgTlBDIGVpbmVtIFNwaWVsZXIgaGVsZmVuLgorICAgIFdpcmQgZGllc2UgUHJvcCBpbiBlaW5lbSBOUEMgYWJnZWZyYWd0LCBlbnRoYWVsdCBzaWUgZWluIEFycmF5IAorICAgICAgKHsgc3BpZWxlcm9iamVrdCwgZmxhZ3MgfSkgb2RlciAwLgorICAgIFdpcmQgZGllc2UgUHJvcCBpbiBlaW5lbSBTcGllbGVyIGFiZ2VmcmFndCwgZW50aGFlbHQgc2llIGVpbiBNYXBwaW5nCisgICAgICAoW25wY29iamVrdDE6IGZsYWdzMSwgbnBjLW9iamVrdDI6IGZsYWdzMl0pLgorCisgICAgPGZsYWdzPiBpc3QgZWluIEludGVnZXIsIGRlciBlaW5lIFJlaWhlIHZvbiB2ZXItb2Rlci10ZW4gS29uc3RhbnRlbiAocy4KKyAgICBSZWdpc3RlckhlbHBlck5QQykgZW50aGFsdGVuIGthbm4uCisKK0JFTUVSS1VOR0VOOgorICAgIERpZXNlIFByb3Agd2lyZCBhdXRvbWF0aXNjaCB2b24gUmVnaXN0ZXJIZWxwZXJOUEMoKSB1bmQKKyAgICBVbnJlZ2lzdGVySGVscGVyTlBDKCkgdmVyd2FsdGV0LiBCaXR0ZSBhZW5kZXJ0IHNpZSBuaWNodCBwZXIgSGFuZC4KKworQkVJU1BJRUw6CisgICAgcy4gUmVnaXN0ZXJIZWxwZXJOUEMoKS4KKworU0lFSEUgQVVDSDoKKyAgICAgUmVnaXN0ZXJIZWxwZXJOUEMoKSwgVW5yZWdpc3RlckhlbHBlck5QQygpCisKKzEwLjAzLjIwMDksIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0hFTFBFUl9PQkpFQ1RTIGIvZG9jL3Byb3BzL1BfSEVMUEVSX09CSkVDVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRmMDMxZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0hFTFBFUl9PQkpFQ1RTCkBAIC0wLDAgKzEsMjUgQEAKK1BfSEVMUEVSX09CSkVDVFMKKworTkFNRToKKyAgICAgUF9IRUxQRVJfT0JKRUNUUyAibGliX3BfaGVscGVyX29iamVjdHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGxpdmluZy9oZWxwZXJzLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZWluZSBMaXN0ZSB2b24gSGlsZnNvYmpla3RlbiwgZGllIGRhcyBMZWJld2VzZW4sCisgICAgIGluIGRlbSBzaWUgZ2VzZXR6dCBpc3QsIGJlaSBiZXN0aW1tdGVuIEFrdGl2aXRhZXRlbiB3aWUgVGF1Y2hlbiBvZGVyCisgICAgIEZsaWVnZW4vU2VnZWxuIHVudGVyc3R1ZXR6dC4gRGllIFByb3BlcnR5IGVudGhhZWx0IGVpbiBNYXBwaW5nIGRlciBGb3JtCisgICAgIChbIEhFTFBFUl9UWVBFIDogKHsgQ2FsbGJhY2stQ2xvc3VyZXMgfSkgXSkuCisKK0JFTUVSS1VOR0VOOgorICAgICBFeHRlcm5lIE1hbmlwdWxhdGlvbmVuIGFuIGRpZXNlciBQcm9wZXJ0eSBiaXR0ZSB1bnRlcmxhc3NlbiwgenVtIEVpbi0KKyAgICAgdW5kIEF1c3RyYWdlbiB2b24gT2JqZWt0ZW4gZ2lidCBlcyBkaWUgdW50ZW4gYXVmZ2VmdWVocnRlbiBNZXRob2Rlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgTWV0aG9kZW46ICAgIFJlZ2lzdGVySGVscGVyT2JqZWN0KEwpLCBVbnJlZ2lzdGVySGVscGVyT2JqZWN0KEwpCisgICAgIFByb3BlcnRpZXM6ICBQX0FFUklBTF9IRUxQRVJTLCBQX0FRVUFUSUNfSEVMUEVSUworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxOC4wMi4yMDEzLCBBcmF0aG9ybgorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ISURFX0VYSVRTIGIvZG9jL3Byb3BzL1BfSElERV9FWElUUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzkyYTRhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSElERV9FWElUUwpAQCAtMCwwICsxLDM1IEBACitQX0hJREVfRVhJVFMKK05BTUU6CisgICAgIFBfSElERV9FWElUUyAgICAgICAgICAgICAgICAgICJoaWRlX2V4aXRzIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcm9vbS9leGl0cy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgSXN0IGRpZXNlIFByb3BlcnR5IGluIGVpbmVtIFJhdW0gYXVmIGVpbmVuIEludGVnZXJ3ZXJ0IHVuZ2xlaWNoIDAKKyAgICAgZ2VzZXR6dCwgd2VyZGVuIGVpbmVtIFNwaWVsZXIgZnVlciBkaWVzZW4gUmF1bSBrZWluZSBBdXNnYWVuZ2UgYW5nZXplaWd0LgorICAgICBBdWNoIGRlciBUZXh0ICJLZWluZSBzaWNodGJhcmVuIEF1c2dhZW5nZS4iIChvZGVyIHNvKSBrb21tdCBuaWNodC4KKyAgICAgQWx0ZXJuYXRpdiBrYW5uIG1hbiBhdWNoIGVpbiBhcnJheSB2b24gc3RyaW5ncyB1ZWJlcmdlYmVuLiBJbiBkaWVzZW0KKyAgICAgRmFsbCB3ZXJkZW4gYWxsIGRpZSBBdXNnYWVuZ2UgbmljaHQgYW5nZXplaWd0LCBkZXJlbiBJbmRleCBpbiBQX0VYSVRTCisgICAgIGluIGRlbSBhcnJheSB2b3Jrb21tdC4KKyAgICAgSW4gZGllc2VtIEZhbGwgd2lyZCBnZ2YuIGRlciBUZXh0ICJLZWluZSBzaWNodGJhcmVuIEF1c2dhZW5nZS4iCisgICAgIGF1c2dlZ2ViZW4uCisKK0JFSVNQSUVMOgorICAgICBBZGRFeGl0KCJyYXVzIiwgIi9nYW56L3dvL2FuZGVycyIpOworICAgICBBZGRFeGl0KCJ3ZWl0ZXIiLCAiL2luL2Rlci9uYWVoZSIpOworCisgICAgIC8vIEtFSU5FIEF1c2dhZW5nZSBhbnplaWdlbi4gTm9jaCBuaWNodCBtYWwsIGRhc3MgbWFuIGtlaW5lIHNpZWh0LgorICAgICBTZXRQcm9wKFBfSElERV9FWElUUywgMSk7CisKKyAgICAgLy8gRGVyIEF1c2dhbmcgd2VpdGVyIHdpcmQgbmljaHQgYW5nZXplaWd0LgorICAgICBTZXRQcm9wKFBfSElERV9FWElUUywgKHsid2VpdGVyIn0pICk7CisKKyAgICAgLy8gS2VpbmVuIEF1c2dhbmcgemVpZ2VuLCBhYmVyIGRlbiBUZXh0LCBkYXNzIGtlaW5lciBzaWNodGJhciwgYXVzZ2ViZW4uCisgICAgIFNldFByb3AoUF9ISURFX0VYSVRTLCAoeyJ3ZWl0ZXIiLCAicmF1cyJ9KSApOworCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOglQX1NIT1dfRVhJVFMKKyAgICAgU29uc3RpZ2VzOgkJQWRkRXhpdCgpLCBHZXRFeGl0cygpLCBpbnRfbG9uZygpLCBpbnRfc2hvcnQoKQorCisyNS4gQXByIDE5OTYgSGlnaGxhbmRlcgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0hJU1RNSU4gYi9kb2MvcHJvcHMvUF9ISVNUTUlOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4NGQ5MGMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ISVNUTUlOCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0hJU1RNSU4gICAgICAgICAgICAgICAgICAgICAiaGlzdG1pbiIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNaW5pbWFsZSBMYWVuZ2UsIGRpZSBlaW5lIFplaWxlIGhhYmVuIG11c3MsIHVtIGluIGRpZSBIaXN0b3J5IHp1IGtvbW1lbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSElUX0ZVTkMgYi9kb2MvcHJvcHMvUF9ISVRfRlVOQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWIzYjMxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSElUX0ZVTkMKQEAgLTAsMCArMSwyMiBAQAorUF9ISVRfRlVOQworCitOQU1FOgorICAgICBQX0hJVF9GVU5DICJoaXRfZnVuYyIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmFsbHMgZWluIE9iamVrdCBlaW5lIEhpdEZ1bmMoKSBmdWVyIGRpZSBXYWZmZSBkZWZpbmllcnQsIHNvIG11c3MKKyAgICAgZGllc2VzIE9iamVrdCBpbiBkaWVzZXIgUHJvcGVydHkgZWluZ2V0cmFnZW4gd2VyZGVuLgorCisgICAgIERpZSBBdXN3ZXJ0dW5nIGRpZXNlciBQcm9wZXJ0eSBlcmZvbGd0IGluIFF1ZXJ5RGFtYWdlKCkuCisKK0JFSVNQSUVMRToKKyAgICAgU2llaGUgZGFzIEJlaXNwaWVsIHp1IEhpdEZ1bmMoKQorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL3dlYXBvbi5jLCBIaXRGdW5jKCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU3VuIE1heSAxOSAxNTozNzozNSAxOTk2IGJ5IFdhcmdvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSE9NRVBBR0UgYi9kb2MvcHJvcHMvUF9IT01FUEFHRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDkwNDM4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSE9NRVBBR0UKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfSE9NRVBBR0UgICAgICAgICAgICAgICAgICAgICJob21lcGFnZSIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllIEhvbWVwYWdlIGVpbmVzIFNwaWVsZXJzIChtaXQgZGVtIEJlZmVobCAndXJsJyB6dSBzZXR6ZW4pLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSFAgYi9kb2MvcHJvcHMvUF9IUApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmFlYTc0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSFAKQEAgLTAsMCArMSwyNSBAQAorTkFNRToKKyAgICBQX0hQICAgICAgICAgICAgICAgICAgICAgICAgICAiaHAiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorCisgICAgIC0gTGViZXdlc2VuCisgICAgICAgQW56YWhsIGRlciBMZWJlbnNwdW5rdGUgZGVzIFdlc2Vucy4KKworICAgICAtIFNwZWlzZW4vS25laXBlbgorICAgICAgIEhlaWx3aXJrdW5nIGVpbmVyIFBvcnRpb24gZGVyIFNwZWlzZSBhdWYgZGllIExlYmVuc3B1bmt0ZQorICAgICAgIGRlcyBLb25zdW1lbnRlbgorCitTSUVIRSBBVUNIOgorICAgICBQcm9wczoJCVBfTUFYX0hQCisgICAgIFZlcmFlbmRlcnVuZzoJcmVkdWNlX2hpdF9wb2ludHMoKSwgcmVzdG9yZV9oaXRfcG9pbnRzKCkKKwkJCWRvX2RhbWFnZShMKSwgRGVmZW5kKEwpCisJCQlidWZmZXJfaHAoKQorICAgICBVZWJlcndhY2h1bmc6CUFkZEhwSG9vayhMKQorICAgICBTcGVpc2VuL0tuZWlwZW46ICAgc3RkL3B1Yiwgd2l6L2Zvb2QsIGNvbnN1bWUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSFBfREVMQVkgYi9kb2MvcHJvcHMvUF9IUF9ERUxBWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODA3YWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSFBfREVMQVkKQEAgLTAsMCArMSwxMCBAQAorTkFNRToKKyAgICBQX0hQX0RFTEFZICAgICAgICAgICAgICAgICAiaHBfZGVsYXkiICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBBbnphaGwgZGVyIGhlYXJ0X2JlYXRzLCBiaXMgUF9IUCB1bSBlaW5lbiBQdW5rdCByZWdlbmVyaWVydC4KKyAgICAgQWVuZGVydW5nZW4gZGllc2VyIFByb3BlcnR5IGluIFNwaWVsZXJuIGJlZHVlcmZlbiBkZXIgCisgICAgIEdlbmVobWlndW5nIGRlcyBFTSBmdWVyIEJhbGFuY2UuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9IUF9IT09LUyBiL2RvYy9wcm9wcy9QX0hQX0hPT0tTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4ZjFhMWUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9IUF9IT09LUwpAQCAtMCwwICsxLDE5IEBACitOQU1FOgorICAgIFBfSFBfSE9PS1MgICAgICAgICAgICAgICAgICAgICJocF9ob29rcyIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZWxjaGUgT2JqZWt0ZSBzb2xsZW4gYmVpIEhQLUFlbmRlcnVuZ2VuIGJlbmFjaHJpY2h0aWd0IHdlcmRlbj8KKyAgICAgRGllc2UgUHJvcGVydHkgYml0dGUgTklDSFQgbWFuaXB1bGllcmVuISBadW0gRWluLSB1bmQgQXVzdHJhZ2VuIHN0ZWhlbgorICAgICBoaWVyZnVlciBBZGRIcEhvb2soKSB1bmQgUmVtb3ZlSHBIb29rKCkgYmVyZWl0LgorCitCRU1FUktVTkdFTjoKKyAgICBEYXMgbmV1ZXJlIEhvb2tzeXN0ZW0gKHMuIE1hbnBhZ2Ugc3RkL2hvb2tzKSBzdGVsbHQgZWJlbmZhbGxzIEhvb2tzIHp1cgorICAgIFVlYmVyd2FjaHVuZyB2b24gUF9IUCBiZXJlaXQuCisKK1NJRUhFIEFVQ0g6CisgICAgQWRkSHBIb29rKCksIFJlbW92ZUhwSG9vaygpLAorICAgIE5vdGlmeUhwQ2hhbmdlKCkKKyAgICBzdGQvaG9va3MKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0hVTlRUSU1FIGIvZG9jL3Byb3BzL1BfSFVOVFRJTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzc3YWIxOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0hVTlRUSU1FCkBAIC0wLDAgKzEsMzUgQEAKK1BfSFVOVFRJTUUgKGludCkKKworTkFNRToKKyAgICAgUF9IVU5UVElNRQkJCQkJInBfbGliX2h1bnR0aW1lIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNaXQgZGllc2VyIFByb3BlcnR5IGxhZXNzdCBzaWNoIGZlc3RsZWdlbiwgd2llIGxhbmdlIGVpbiBNb25zdGVyIGVpbmVuIAorICAgIEdlZ25lciB2ZXJmb2xndCAoYWxzbyBhdXRvbWF0aXNjaCBhbmdyZWlmdCksIG5hY2hkZW0gZGllc2VyIGdlZmxvaGVuIGlzdC4KKyAgICBEaWUgQW5nYWJlIGVyZm9sZ3QgaW4gU2VrdW5kZW4uCisgICAgRGllIFN0YW5kYXJkemVpdCBpc3QgNjAwcyAoMzAwIEhlYXJ0YmVhdHMpLgorCitCRU1FUktVTkdFTjoKKyAgICAxLiBXZW5uIGRlciBTdGFuZGFyZHdlcnQgYWt6ZXB0YWJlbCBpc3QsIGJpdHRlIGRpZSBQcm9wIGF1Y2ggbmljaHQgc2V0emVuLgorICAgIDIuIEVudGhhZWx0IGRpZSBQcm9wZXJ0eSBrZWluZW4gSW50ZWdlciBvZGVyIGlzdCBzaWUgPD0gMCwgd2lyZCBzaWUgCisgICAgICAgaWdub3JpZXJ0IHVuZCBkZXIgU3RhbmRhcmR3ZXJ0IHZvbiA2MDBzIHZlcndlbmRldC4KKyAgICAzLiBLYWVtcGZ0IG1hbiBtaXQgZWluZW0gTGViZW53ZXNlbiBtaXQgZWluZW0gZ3JvZXNzZXJlbiBXZXJ0IGFscyBtYW4gCisgICAgICAgc2VsYmVyIHVuZCBtYW4gc2VsYmVyIGhhdCBkYXMgVmVyZm9sZ2VuIGVpbmdlc3RlbGx0LCBkZXIgR2VnbmVyIGFiZXIgCisgICAgICAgbmljaHQsIHdpcmQgZGllc2VyIGJlaW0gUmVpbmtvbW1lbiBkZW4gS2FtcGYgbmV1IHN0YXJ0ZW4gKHVuZCBkZW4gCisgICAgICAgZXJzdGVuIFNjaGxhZyBoYWJlbikuCisKK0JFSVNQSUVMOgorICAgIEVpbiBOUEMgc29sbCBzaWNoIGVyc3QgZWluZSBTdHVuZGUgbmFjaCBGbHVjaHQgZGVzIEdlZ25lcnMgYmVydWhpZ2VuLgorICAgIHByb3RlY3RlZCB2b2lkIGNyZWF0ZSgpIHsKKyAgICAgIC4uLgorICAgICAgU2V0UHJvcChQX0hVTlRUSU1FLCAzNjAwKTsKKyAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgIEluc2VydFNpbmdsZUVuZW15LCBJbnNlcnRFbmVteQorICAgICAvc3RkL2xpdmluZy9jb21iYXQuYworCisxMy4wMy4yMDA4LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JRFMgYi9kb2MvcHJvcHMvUF9JRFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzExNDA3YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0lEUwpAQCAtMCwwICsxLDI1IEBACitQX0lEUworCitOQU1FOgorICAgICBQX0lEUyAiaWRzIgorCitERUZJTklFUlQgSU46CisgICAgIDx0aGluZy9kZXNjcmlwdGlvbi5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIEluIGRpZXNlciBQcm9wZXJ0eSBzdGVodCBlaW4gQXJyYXkgdm9uIGRlbiBTdHJpbmdzLCBtaXQgZGVuZW4gc2ljaCBkYXMKKyAgICAgT2JqZWt0IGFuc3ByZWNoZW4gbGFlc3N0LiBEaWUgVmVyd2FsdHVuZyBkaWVzZXIgUHJvcGVydHkgZXJmb2xndCB1ZWJlcgorICAgICBkaWUgRnVua3Rpb25lbiBBZGRJZCgpIHVuZCBSZW1vdmVJZCgpLgorCisgICAgIERlciBJbmhhbHQgZGllc2VyIFByb3BlcnR5IHdpcmQgdm9uIGRlbiBGdW5rdGlvbmVuIGlkKCkgdW5kIChpbmRpcmVrdCkKKyAgICAgcHJlc2VudCgpIGF1c2dld2VydGV0LgorCitCRU1FUktVTkdFTjoKKyAgICAgTWFuIHNvbGx0ZSBhbiBkaWVzZXIgUHJvcGVydHkgbmljaHQgInZvbiBIYW5kIiBoZXJ1bWZ1bW1lbG4sIHNvbmRlcm4KKyAgICAgaW1tZXIgZGllIHp1Z2Vob2VyaWdlbiBGdW5rdGlvbmVuIGJlbnV0emVuIQorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL3RoaW5nL2Rlc2NyaXB0aW9uLmMsIEFkZElkKCksIFJlbW92ZUlkKCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU3VuIE1heSAxOSAyMDoxNzozNiAxOTk2IGJ5IFdhcmdvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSUdOT1JFIGIvZG9jL3Byb3BzL1BfSUdOT1JFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NWZkMTQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JR05PUkUKQEAgLTAsMCArMSwyMiBAQAorTkFNRToKKyAgICBQX0lHTk9SRSAgICAgICAgICAgICAgICAgICAgICAiaWdub3JlIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBBcnJheSBtaXQgU3BpZWxlcm4sIEtvbW1hbmRvcywgQWt0aW9uZW4gdS5hZS4gZGllIGlnbm9yaWVydCB3ZXJkZW4uCisgICAgSW4gYWxsZXIgUmVnZWwgc29sbHRlIGRpZSBJZ25vcmllcmVwcnVlZnVuZyBkdXJjaCBBdWZydWYgdm9uIFRlc3RJZ25vcmUoKQorICAgIGltIFNwaWVsZXIgZXJmb2xnZW4gdW5kIG5pY2h0IHNlbGJlciBQX0lHTk9SRSBkdXJjaHN1Y2h0IHdlcmRlbi4KKworQkVNRVJLVU5HRU46CisgICAgRGllIERhdGVuIGluIGRpZXNlciBQcm9wZXJ0eSB3ZXJkZW4gaW50ZXJuIGFscyBNYXBwaW5nIGdlc3BlaWNoZXJ0LCBuaWNodAorICAgIGFscyBBcnJheSB2b24gU3RyaW5ncy4gQml0dGUgbmljaHQgbWl0IFNldC9RdWVyeSgpIGFuIGRpZXNlciBQcm9wZXJ0eQorICAgIGhlcnVtYmFzdGVsbi4KKworU0lFSEUgQVVDSDoKKyAgICBUZXN0SWdub3JlLCAvc3RkL3BsYXllci9jb21tLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMDIuMTAuMjAxMSwgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTkRPT1JTIGIvZG9jL3Byb3BzL1BfSU5ET09SUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWFiMDdhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5ET09SUwpAQCAtMCwwICsxLDMzIEBACitOQU1FOgorICAgICBQX0lORE9PUlMgICAgICAgICAgICAgICAgICAgICAiaW5kb29ycyIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3Jvb20vZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEdlc2V0enQsIHdlbm4gdm9uIGRlbSBSYXVtIGF1cyBkZXIgSGltbWVsIG5pY2h0IHNpY2h0YmFyIGlzdC4KKworICAgICBPYmpla3RlIG9kZXIgR2lsZGVuIHdlcnRlbiBkaWVzZSBQcm9wZXJ0eSB0ZWlsd2Vpc2UgYXVzLCBmdWVyCisgICAgIElubmVucmFldW1lIHNvbGx0ZSBzaWUgYWxzbyBzaW5udm9sbGVyd2Vpc2UgZ2VzZXR6dCB3ZXJkZW4uCisKKyAgICAgTGljaHQgd2lyZCBfbmljaHRfIGR1cmNoIFBfSU5ET09SUyBiZWVpbmZsdXNzdCwgbXVzcyBhbHNvCisgICAgIHNlbGJzdCBhbmdlcGFzc3Qgd2VyZGVuLgorCitCRUlTUElFTAorICAgICAvLyBFaW4gZHVua2xlciBJbm5lbnJhdW06CisgICAgIFNldFByb3AoUF9JTkRPT1JTLCAxKTsgICAgICAgICAgICAvLyBlaW4gSW5uZW5yYXVtIGxpZWd0IGlubmVuIDopCisgICAgIFNldFByb3AoUF9MSUdIVCwgMCk7ICAgICAgICAgICAgICAvLyBMaWNodCBhdWYgMAorCisgICAgIC8vIEVpbiByaWNodGlnIGhlbGxlciBBdXNzZW5yYXVtOgorICAgICBTZXRQcm9wKFBfSU5ET09SUywgMCk7CisgICAgIFNldFByb3AoUF9MSUdIVCwgMik7CisKKyAgICAgLy8gRWluIGhlbGxlciBBdXNzZW5yYXVtIG1pdCBNb25kbGljaHQgKGd1dCBmdWVyIERlbGZlbikKKyAgICAgU2V0UHJvcChQX0lORE9PUlMsIDApOworICAgICBTZXRQcm9wKFBfTElHSFQsIDEpOworICAgICBTZXRQcm9wKFBfTElHSFRfVFlQRSwgTFRfU1RBUlN8TFRfTU9PTik7CisKK1NJRUhFIEFVQ0gKKyAgICAgUF9MSUdIVCwgUF9MSUdIVF9BQlNPUlBUSU9OLCBQX0xJR0hUX1RZUEUKKworMjUuQXVnIDIwMDggR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lORk8gYi9kb2MvcHJvcHMvUF9JTkZPCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2ZGFiZTYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTkZPCkBAIC0wLDAgKzEsMTggQEAKK1BfSU5GTworTkFNRToKKyAgICAgUF9JTkZPICAgICAgICAgICAgICAgICAgICAgICAgImluZm8iICAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBHZWhlaW1lIEluZm9ybWF0aW9uLCBkaWUgZ2dmLiB1ZWJlciBlaW5lbiBaYXViZXJzcHJ1Y2gKKyAgICAgdm9uIFNwaWVsZXJuIGVybWl0dGVsdCB3ZXJkZW4ga2Fubi4KKyAgICAgCitCRUlTUElFTDoKKyAgICAgU2V0UHJvcChQX0lORk8sIkR1IGVyZ3J1ZW5kZXN0IGRhcyBHZWhlaW1uaXMuXG4iKQorCitTSUVIRSBBVUNIOgorICAgICBHZXRPd25lcihMKQorCisyNC4gQXByaWwgMjAwNiwgVmFuaW9uIApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSU5GT1JNTUUgYi9kb2MvcHJvcHMvUF9JTkZPUk1NRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzM2OTMzCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5GT1JNTUUKQEAgLTAsMCArMSwxNCBAQAorTkFNRToKKyAgICBQX0lORk9STU1FICAgICAgICAgICAgICAgICAgICAiaW5mb3JtbWUiICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFbnRoYWVsdCBkYXMgRmxhZywgb2IgZGVyIFNwaWVsZXIgdWViZXIgZWluLS9hdXNsb2dnZW5kZSBTcGllbGVyCisgICAgaW5mb3JtaWVydCB3ZXJkZW4gd2lsbC4KKworU0lFSEUgQVVDSDoKKyAgICBTcGllbGVya29tbWFuZG86IGluZm9ybQorCis2LkZlYiAyMDE2IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTlBDX0hPTUUgYi9kb2MvcHJvcHMvUF9JTlBDX0hPTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFmZWEwYgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0lOUENfSE9NRQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9JTlBDX0hPTUUgICAgICAgICAgICAgICAgICAgImlucGNfaG9tZSIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2lucGMvd2Fsa2luZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAqKiogS0VJTkUgQkVTQ0hSRUlCVU5HIFZPUkhBTkRFTiAqKioKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lOUENfTEFTVF9FTlZJUk9OTUVOVCBiL2RvYy9wcm9wcy9QX0lOUENfTEFTVF9FTlZJUk9OTUVOVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjc0MzdhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5QQ19MQVNUX0VOVklST05NRU5UCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0lOUENfTEFTVF9FTlZJUk9OTUVOVCAgICAgICAiaW5wY19sYXN0X2Vudmlyb25tZW50IiAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvaW5wYy93YWxraW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSU5QQ19MQVNUX1BMQVlFUl9DT05UQUNUIGIvZG9jL3Byb3BzL1BfSU5QQ19MQVNUX1BMQVlFUl9DT05UQUNUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMmNkMDIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTlBDX0xBU1RfUExBWUVSX0NPTlRBQ1QKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfSU5QQ19MQVNUX1BMQVlFUl9DT05UQUNUICAgICJpbnBjX2xhc3RfcGxheWVyX2NvbnRhY3QiICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9pbnBjL3dhbGtpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgKioqIEtFSU5FIEJFU0NIUkVJQlVORyBWT1JIQU5ERU4gKioqCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfQVJFQSBiL2RvYy9wcm9wcy9QX0lOUENfV0FMS19BUkVBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkN2RmYzYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfQVJFQQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9JTlBDX1dBTEtfQVJFQSAgICAgICAgICAgICAgImlucGNfd2Fsa19hcmVhIiAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2lucGMvd2Fsa2luZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAqKiogS0VJTkUgQkVTQ0hSRUlCVU5HIFZPUkhBTkRFTiAqKioKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lOUENfV0FMS19ERUxBWVMgYi9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfREVMQVlTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1MTA3NjQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfREVMQVlTCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0lOUENfV0FMS19ERUxBWVMgICAgICAgICAgICAiaW5wY193YWxrX2RlbGF5IiAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvaW5wYy93YWxraW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSU5QQ19XQUxLX0ZMQUdTIGIvZG9jL3Byb3BzL1BfSU5QQ19XQUxLX0ZMQUdTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlODc0OWIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfRkxBR1MKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfSU5QQ19XQUxLX0ZMQUdTICAgICAgICAgICAgICJpbnBjX3dhbGtfZmxhZ3MiICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9pbnBjL3dhbGtpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgKioqIEtFSU5FIEJFU0NIUkVJQlVORyBWT1JIQU5ERU4gKioqCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfTU9ERSBiL2RvYy9wcm9wcy9QX0lOUENfV0FMS19NT0RFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyZGE5OWQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTlBDX1dBTEtfTU9ERQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9JTlBDX1dBTEtfTU9ERSAgICAgICAgICAgICAgImlucGNfd2Fsa19tb2RlIiAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2lucGMvd2Fsa2luZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAqKiogS0VJTkUgQkVTQ0hSRUlCVU5HIFZPUkhBTkRFTiAqKioKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lOUENfV0FMS19ST1VURSBiL2RvYy9wcm9wcy9QX0lOUENfV0FMS19ST1VURQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDExY2IxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5QQ19XQUxLX1JPVVRFCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0lOUENfV0FMS19ST1VURSAgICAgICAgICAgICAiaW5wY193YWxrX3JvdXRlIiAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvaW5wYy93YWxraW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSU5URVJNVUQgYi9kb2MvcHJvcHMvUF9JTlRFUk1VRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZDRiZDU5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5URVJNVUQKQEAgLTAsMCArMSwxMyBAQAorTkFNRToKKyAgICBQX0lOVEVSTVVEICAgICAgICAgICAgICAgICAgICAiaW50ZXJtdWQiICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL2NvbW0uaAorCitCRVNDSFJFSUJVTkc6CisgICBEaWUgQmVkZXV0dW5nIGRpZXNlciBQcm9wZXJ0eSBpc3QgaW4gZGVuIHByYWVoaXN0b3Jpc2NoZW4gVW50aWVmZW4KKyAgIGRlciBNdWRsaWIgdmVybG9yZW5nZWdhbmdlbi4KKyAgIFdpcmQgbmljaHQgbWVociBiZW51dHp0LgorICAgTmljaHQgYmVudXR6ZW4uCisgICBJZ25vcmllcmVuLgorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTlRFUk5BTF9FWFRSQV9MT09LIGIvZG9jL3Byb3BzL1BfSU5URVJOQUxfRVhUUkFfTE9PSwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjAxMjVkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5URVJOQUxfRVhUUkFfTE9PSwpAQCAtMCwwICsxLDM5IEBACitOQU1FOgorCVBfSU5URVJOQUxfRVhUUkFfTE9PSwkJCSJpbnRlcm5hbF9leHRyYWxvb2siCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBlaW4gTWFwcGluZywgaW4gZGVtIGFsbGUgZWluemVsbmVuCisgIEV4dHJhLUxvb2stRWludHJhZWdlIGRlcyBMaXZpbmdzIGVudGhhbHRlbiBzaW5kLiBEYWJlaSB3ZWRlbiBkaWUgRGF0ZW4gdm9uCisgIEFkZEV4dHJhTG9vaygpIHVuZCBSZW1vdmVFeHRyYUxvb2soKSB2ZXJ3YWx0ZXQuIEZyYWd0IG1hbiBkaWVzZSBQcm9wIG1pdAorICBRdWVyeVByb3AoKSBhYiwgZXJoYWVsdCBtYW4gZGllIEF1c2dhYmUgZGVyIGd1ZWx0aWdlbiBFeHRyYWxvb2tzIGRlcworICBMaXZpbmdzLiBCZWkgQWJmcmFnZSBwZXIgUXVlcnkoKSBlcmhhZWx0IG1hbiBlaW4gTWFwcGluZyBtaXQgYWxsZW4KKyAgRWludHJhZWdlbiB1bmQgZGVyZW4gRGF0ZW4uIEplZGVyIFdlcnQgaW0gTWFwcGluZyBpc3QgZXJuZXV0IGVpbiBNYXBwaW5nLCAKKyAgd2VsY2hlcyBmb2xnZW5kZSBLZXlzIGVudGhhbHRlbiBrYW5uOgorICAtICJ4bGxvb2siOiBTdHJpbmcsIGRlciBpbSBFeHRyYWxvb2sgZGVzIExpdmluZyBhbmdlemVpZ3Qgd2lyZC4KKyAgLSAieGxkdXJhdGlvbiI6IFplaXRzdGVtcGVsIChpbnQpLCBkZXIgYW5naWJ0LCB3aWUgbGFuZyBkZXIgRWludHJhZyBndWVsdGlnCisgICAgICAgICAgICAgICAgICBpc3QuIDAgPT0gIlVuZW5kbGljaCIsIG5lZ2F0aXZlIFphaGxlbiBiZXNhZ2VuLCBkYXNzIGRlcgorICAgICAgICAgICAgICAgICAgRWludHJhZyBudXIgYmlzIFJlYm9vdC9FbmRlIGd1ZWx0aWcgc2VpbiB1bmQgYWJzKHhsZHVyYXRpb24pCisgICAgICAgICAgICAgICAgICBpc3QgZGVyIFplaXRwdW5rdCBkZXMgRWludHJhZ2VzIGRpZXNlcyBFeHRyYWxvb2tzLgorICAtICJ4bGVuZGUiOiBTdHJpbmcsIGRlciBuYWNoIEFibGF1ZmVuIGFuIGRhcyBMaXZpbmcgYXVzZ2VnZWJlbiB3aXJkLgorICAtICJ4bGZ1biI6IEZ1bmt0aW9uLCBkaWUgZ2VydWZlbiB3aXJkIHVuZCBkZW4gU3RyaW5nIHp1cnVlY2tsaWVmZXJuIG11c3MsIAorICAgICAgICAgICAgIGRlciBhdXNnZWJlbiB3ZXJkZW4gc29sbC4KKyAgLSAieGxlbmRlZnVuIjogRnVua3Rpb24sIGRpZSBnZXJ1ZmVuIHdpcmQsIHdlbm4gZGVyIEVpbnRyYWcgYWJnZWxhdWZlbiBpc3QKKyAgICAgICAgICAgICAgICAgdW5kIGRlbiBTdHJpbmcgenVydWVja2xpZWZlcm4gbXVzcywgZGVyIGRhbm4gYW5zIExpdmluZworICAgICAgICAgICAgICAgICBhdXNnZWJlbiB3aXJkLgorICAtICJ4bG9iamVjdG5hbWUiOiBPYmpla3QsIGluIGRlbSBkaWUgby5hLiBGdW5rdGlvbmVuIGdlcnVmZW4gd2VyZGVuLgorCitCRU1FUktVTkc6CisgIERJRVNFIFBST1BFUlRZIEJJVFRFIE5JRU1BTFMgUEVSIEhBTkQgTUlUIFNldCgpL1NldFByb3AoKSBBRU5ERVJOIQorICBEaWUgRGF0ZW4gaW4gZGllc2VyIFByb3Agd2VyZGVuIHZvbSBMaXZpbmcgc2VsYmVyIHZlcndhbHRldC4gRXh0cmFsb29rcworICBrb2VubmVuIG1pdHRlbCBBZGRFeHRyYUxvb2soKSBlaW5nZXRyYWdlbiB1bmQgbWl0IFJlbW92ZUV4dHJhTG9vaygpIGVudGZlcm50CisgIHdlcmRlbi4KKworU0lFSEUgQVVDSDoKKyAgbG9uZygpLCAvc3RkL2xpdmluZy9kZXNjcmlwdGlvbi5jLCAvc3RkL3BsYXllci9iYXNlLmMKKyAgQWRkRXh0cmFMb29rKCksIFJlbW92ZUV4dHJhTG9vaygpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzEzLjA1LjIwMDcsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lOVF9MSUdIVCBiL2RvYy9wcm9wcy9QX0lOVF9MSUdIVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDUwNGE2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5UX0xJR0hUCkBAIC0wLDAgKzEsMjAgQEAKK05BTUU6CisgICAgUF9JTlRfTElHSFQgICAgICAgICAgICAgICAgICAgICAgICJpbnRfbGlnaHQiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgR2lidCBkZW4gTGljaHRsZXZlbCBhbiwgZGVyIF9pbl8gZWluZW0gT2JqZWt0IGlzdC4gRWluIEFiZnJhZ2VuIGRpZXNlcgorICAgIFByb3BlcnR5IGthbm4gei5CLiBpbiBSYWV1bWVuIHNpbm52b2xsIHNlaW4sIHdlbm4gZXMgei5CLiB1bSBkYXMKKyAgICBhdWZ3YWNoZW4gZWluZXIgRXVsZSBvZGVyIGVpbmVyIEZsZWRlcm1hdXMgZ2VodC4gWnVtIEFiZnJhZ2VuIG9iIGVpbgorICAgIFNwaWVsZXIgZXR3YXMgc2VoZW4ga2FubiwgYml0dGUgYXVmIGplZGVuIEZhbGwgUF9QTEFZRVJfTElHSFQgYmVudXR6ZW4hCisKKyAgICBCaXR0ZSBfbnVyXyB1ZWJlciBRdWVyeVByb3AgYXVmIGRpZXNlIFByb3BlcnR5IHp1Z3JlaWZlbiwKKyAgICBkYSBkYXMgTGljaHRsZXZlbCBnZ2YuIG5ldSBiZXJlY2huZXQgd2VyZGVuIG11c3MhCisKKyAgICBFaW4gZGlyZWt0ZXMgc2V0emVuIGRpZXNlciBQcm9wZXJ0eSBpc3QgTklDSFQgbW9lZ2xpY2gsIGhpZXJ6dSBiaXR0ZQorICAgIFBfTElHSFQgYmVudXR6ZW4hCisKK1NJRUhFIEFVQ0g6CisgICAgUF9MSUdIVCwgUF9UT1RBTF9MSUdIVCwgUF9QTEFZRVJfTElHSFQsIFBfTElHSFRfTU9ESUZJRVIsIENhbm5vdFNlZSgpCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTlRfTE9ORyBiL2RvYy9wcm9wcy9QX0lOVF9MT05HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlNTkyNDkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9JTlRfTE9ORwpAQCAtMCwwICsxLDMyIEBACitQX0lOVF9MT05HCitOQU1FOgorICAgICBQX0lOVF9MT05HICAgICAgICAgICAgICAgICAgICAiaW50X2xvbmciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9yb29tL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBFbnRoYWVsdCBCZXNjaHJlaWJ1bmcsIGRpZSBtYW4gYmVrb21tdCwgd2VubiBtYW4gc2ljaCBpbiBkZW0KKyAgICAgQ29udGFpbmVyIChqZWRlciBSYXVtIGlzdCBlaW5lcikgdW1zY2hhdXQgYWxzIFN0cmluZy4KKworICAgICBEZXIgVGV4dCBzb2xsdGUgYmVyZWl0cyB1bWdlYnJvY2hlbiBzZWluLgorCisgICAgIERpZXNlIFByb3BlcnR5IGJlc3RpbW10IGRpZSBBbnNpY2h0IGRlcyBDb250YWluZXJzIHZvbiBpbm5lbi4KKyAgICAgRnVlciBkaWUgQXVzc2VuKGxhbmcpYW5zaWNodCBtdXNzIFBfTE9ORyBiZW51dHp0IHdlcmRlbi4KKworQkVNRVJLVU5HRU46CisgICAgIC0gQmVzY2hyZWlidW5nZW4gZnVlciBldHdhaWdlIFR1ZXJlbiBpbSBSYXVtIHdlcmRlbiBpbiBpbnRfbG9uZygpCisgICAgICAgaGluenVnZWZ1ZWd0LiAoRnJ1ZWhlciB3dXJkZSBkaWVzIGluIGVpbmVyIFF1ZXJ5bWV0aG9kZSBhdWYgZGllc2UgUHJvcAorICAgICAgIGdlbWFjaHQuKQorCitCRUlTUElFTEU6CisgICAgIFNldFByb3AoUF9JTlRfTE9ORywgYnJlYWtfc3RyaW5nKAorICAgICAgIkR1IHN0ZWhzdCBpbiBlaW5lbSB0b3RhbCBzcGFubmVuZGVuIFRlc3RyYXVtLiBTZWluZSBhYnNvbHV0ZSAiCisgICAgICAiTmljaHRpZ2tlaXQgZXJmdWVsbHQgZGljaCBtaXQgZWhyZnVlcmNodGlnZW0gR3JhdWVuLiIsNzgpKTsKKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2hlczoJUF9JTlRfU0hPUlQKKyAgICAgU29uc3RpZ2VzOgkJaW50X2xvbmcoKSwgUF9MT05HCisJCQlwcm9jZXNzX3N0cmluZygpLCBicmVha19zdHJpbmcoKQorCiswNC4wNi4yMDA5LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9JTlRfU0hPUlQgYi9kb2MvcHJvcHMvUF9JTlRfU0hPUlQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM2YTBhZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0lOVF9TSE9SVApAQCAtMCwwICsxLDM2IEBACitQX0lOVF9TSE9SVAorTkFNRToKKyAgICAgUF9JTlRfU0hPUlQJCQkiaW50X3Nob3J0IgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvdGhpbmcvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGRpZSBJbm5lbi1LdXJ6YmVzY2hyZWlidW5nIGRlcyBDb250YWluZXJzCisgICAgIGFscyBTdHJpbmcgb2RlciBDbG9zdXJlIChtaXQgU3RyaW5nLVJ1ZWNrZ2FiZXdlcnQpLgorCisgICAgIENvbnRhaW5lciBzaW5kIGhpZXJiZWkgei5CLiBSYWV1bWUuCisgICAgIEFDSFRVTkc6IERpZSBLdXJ6YmVzY2hyZWlidW5nIHNvbGx0ZSBkYWJlaSB3ZWRlciBtaXQgZWluZW0KKwkgICAgICBTYXR6emVpY2hlbiBub2NoIG1pdCBlaW5lbSAiXG4iIGFiZ2VzY2hsb3NzZW4gc2VpbgorCSAgICAgIChkaWVzIHdpcmQgdm9uIGRlbiB6dXN0YWVuZGlnZW4gRnVua3Rpb25lbiBlcmxlZGlndCkuCisKKyAgICAgTWFuIHNvbGx0ZSBkaWUgUHJvcGVydHkgbmljaHQgYXVmIDAgc2V0emVuLgorCisgICAgIERpZXNlIFByb3BlcnR5IGJlc3RpbW10IGRpZSBBbnNpY2h0IGRlcyBDb250YWluZXJzIHZvbiBpbm5lbi4KKyAgICAgRnVlciBkaWUgQXVzc2VuKGt1cnopYW5zaWNodCBtdXNzIFBfU0hPUlQgYmVudXR6dCB3ZXJkZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICAtIGludF9zaG9ydCgpIChiZWkgQmV3ZWd1bmcpIGZpbHRlcnQgUF9JTlRfU0hPUlQgZHVyY2ggcHJvY2Vzc19zdHJpbmcoKQorICAgICAgIC0+IGRhaGVyIHNpbmQgQ2xvc3VyZXMgbW9lZ2xpY2gKKworQkVJU1BJRUxFOgorICAgICAvLyBlaW4gR2FuZyBzaWVodCBuYXR1ZXJsaWNoIHNvIGF1cworICAgICBTZXRQcm9wKFBfSU5UX1NIT1JULCAiRWluIEdhbmciKTsKKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2hlczoJUF9JTlRfTE9ORworICAgICBTb25zdGlnZXM6CQlpbnRfc2hvcnQoKSwgUF9TSE9SVAorCQkJcHJvY2Vzc19zdHJpbmcoKSwgYnJlYWtfc3RyaW5nKCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE1heSAzMSAxNTozNDowNSAyMDAxIGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSU5WSVMgYi9kb2MvcHJvcHMvUF9JTlZJUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDIyZWEwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSU5WSVMKQEAgLTAsMCArMSw1MCBAQAorTkFNRToKKyAgICAgUF9JTlZJUyAgICAgICAgICAgICAgICAgICAgICAgImludmlzIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllIFByb3BlcnR5IFBfSU5WSVMgZGllbnQgZGF6dSwgT2JqZWt0ZSBhbHMgdW5zaWNodGJhciB6dSBrZW5uemVpY2huZW4uCisgICAgIEhpZXJiZWkgdmVyc3VjaHQgUF9JTlZJUyBkaWUgbW9lZ2xpY2hlbiBJbnRlcmFrdGlvbmVuIG1pdCBTcGllbGVybiB6dQorICAgICBtaW5pbWllcmVuIChpbSBHZWdlbnNhdHogenUgZWluZXIgZmVobGVuZGVuIFBfU0hPUlQsIHdlbGNoZSBkYXMgT2JqZWt0CisgICAgIG51ciBlaW5mYWNoIG5pY2h0LXNpY2h0YmFyIG1hY2h0KS4KKyAgICAgCisgICAgIE1hbiBzb2xsdGUgZHJlaSBBcnRlbiB2b24gdW5zaWNodGJhcmVuIE9iamVrdGVuIHVudGVyc2NoZWlkZW46CisKKyAgICAgLSBHZWdlbnN0YWVuZGUKKyAgICAgICBTZXR6dCBtYW4gUF9JTlZJUyBhdWYgZWluZSBaYWhsIHVuZ2xlaWNoIDAsIHdpcmQgZGVyIEdlZ2Vuc3RhbmQKKyAgICAgICB1bnNpY2h0YmFyIHVuZCBkZXIgTmFtZSB6dSAiZXR3YXMiLiBadXNhZXR6bGljaCBrb2VubmVuIFNwaWVsZXIgaWhuCisgICAgICAgbmljaHQgbWVociBhbnNwcmVjaGVuLCBkLmguIG5laG1lbiwgd2Vnd2VyZmVuLCB3ZWl0ZXJnZWJlbiBldGMuCisgICAgICAgKEJlaSBtYWdpZXItZWlnZW5lbiBLb21tYW5kb3MgaXN0IGRpZXMgZXZ0bC4gbmljaHQgdW1nZXNldHp0Li4uKQorICAgICAgIFNldHp0IG1hbiBQX1NIT1JUIGF1ZiAwLCB3aXJkIGRlciBHZWdlbnN0YW5kIG51ciBuaWNodCBtZWhyIGluCisgICAgICAgZGVyIEludmVudGFybGlzdGUgdm9uIEJlaGFlbHRlcm4vUmFldW1lbiBhbmdlemVpZ3QsIGVyIGJlaGFlbHQgYWJlcgorICAgICAgIHNlaW5lbiBOYW1lbiB1bmQgaXN0IGR1cmNoIFNwaWVsZXIgYW5zcHJlY2hiYXIsIHdlbm4gc2llIGVpbmUgSUQKKyAgICAgICBrZW5uZW4uCisKKyAgICAgLSBOUENzCisgICAgICAgQmVpIGdlc2V0enRlbSBQX0lOVklTIHdpcmQgZGVyIE5QQyB1bnNpY2h0YmFyIHVuZCBzZWluIE5hbWUgd2lyZCB6dQorICAgICAgICJKZW1hbmQiLiBadXNhZXR6bGljaCBrb2VubmVuIFNwaWVsZXIgaWhuIG5pY2h0IG1laHIgYW5zcHJlY2hlbiwgei5CLgorICAgICAgIHRvZXRlbiBvZGVyIGtudWRkZWxuLgorICAgICAgIChCZWkgbWFnaWVyLWVpZ2VuZW4gS29tbWFuZG9zIGlzdCBkaWVzIGV2dGwuIG5pY2h0IHVtZ2VzZXR6dC4uLikKKyAgICAgICBTZXR6dCBtYW4gUF9TSE9SVCBhdWYgMCwgd2lyZCBkZXIgTlBDIG51ciBuaWNodCBtZWhyIGluIGRlcgorICAgICAgIEludmVudGFybGlzdGUgdm9uIEJlaGFlbHRlcm4vUmFldW1lbiBhbmdlemVpZ3QsIGVyIGJlaGFlbHQgYWJlciBzZWluZW4KKyAgICAgICBOYW1lbiB1bmQgaXN0IGR1cmNoIFNwaWVsZXIgYW5zcHJlY2hiYXIsIHdlbm4gc2llIGVpbmUgSUQga2VubmVuLiBBdWNoCisgICAgICAgYW5ncmVpZmVuIHVuZCBrYWVtcGZlbiBpc3QgbW9lZ2xpY2guCisgICAgIAorICAgICAtIE1hZ2llcgorICAgICAgIE1hZ2llciBtYWNodCBtYW4gdW5zaWNodGJhciwgaW5kZW0gbWFuIGlobmVuIGRpZSBQcm9wZXJ0eSBQX0lOVklTIGF1ZgorICAgICAgIGVpbmVuIFdlcnQgPD4gMCBzZXR6dC4KKyAgICAgICAqICBTcGllbGVyIGR1ZXJmZW4gbmljaHQgdW5zaWNodGJhciBnZW1hY2h0IHdlcmRlbiEgICAgICAgICAgICAgICAqCisgICAgICAgKiAgV2lyZCBlaW4gTWFnaWVyIHVuc2ljaHRiYXIgZ2VtYWNodCwgbXVzcyBtYW4gaWhtIGRpZSBQcm9wZXJ0eQkgKgorICAgICAgICogIFBfSU5WSVMgYXVmIGRlbiBXZXJ0IHNldHplbiwgZGVuIGRpZSBQcm9wZXJ0eSBQX0FHRSB6dSBkaWVzZW0JICoKKyAgICAgICAqICBaZWl0cHVua3QgaGF0IChrZWluZSBGX1FVRVJZX01FVEhPRCAhKS4JCQkJICAgICAgICAgICAgICAgICAqCisgICAgICAgU2V0enQgbWFuIGRpZSBQcm9wZXJ0eSBhdWYgZGVuIFdlcnQgMSwgc28gZXJoYWVsdCBlaW4gU3BpZWxlciwKKyAgICAgICB3ZW5uIGVyIGRlbiBlbnRzcC4gTWFnaWVyIGZpbmdlcnQsIGRpZSBBdXNnYWJlOiBBbHRlcjogMDA6MDA6MDIsCisgICAgICAgd2FzIGdlbmF1c28gdmVycmFldGVyaXNjaCBpc3QsIHdpZSBlaW4gQWx0ZXIsIGRhc3MgYmVpIGVpbmVtCisgICAgICAgc2NoZWluYmFyIG5pY2h0IGVpbmdlbG9nZ3RlbiBNYWdpZXIgaW1tZXIgd2VpdGVyIGhvY2hnZXphZWhsdAorICAgICAgIHdpcmQuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzI3LjA1LjIwMTUsIFplc3N0cmEKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSVBfTkFNRSBiL2RvYy9wcm9wcy9QX0lQX05BTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2I1MDNlYQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0lQX05BTUUKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfSVBfTkFNRSAgICAgICAgICAgICAgICAgICAgICJpcF9uYW1lIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFJlY2huZXJuYW1lIGRlcyBJbnRlcmFjdGl2ZXMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lTX0FSVElMTEVSWSBiL2RvYy9wcm9wcy9QX0lTX0FSVElMTEVSWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTFiMjBmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSVNfQVJUSUxMRVJZCkBAIC0wLDAgKzEsMTUgQEAKK05BTUU6CisJUF9JU19BUlRJTExFUlkJCQkiYXJ0aWxsZXJ5IgorCitERUZJTklFUlQgSU46CisJL3N5cy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisJSXMgZWluIE9iamVrdCBBcnRpbGxlcmllLCBzbyBtdXNzIGRpZXNlIFByb3BlcnR5CisJZ2VzZXR6dCBzZWluLiAoRGVyemVpdCBlaW5mYWNoIGF1ZiAxIHNldHplbi4pCisKK1NJRUhFIEFVQ0g6CisJYXJ0aWxsZXJpZQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTYW0sICA1LiBKdWwgMjAwMywgMjI6MDc6MTIgYnkgWm9vay4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0lURU1TIGIvZG9jL3Byb3BzL1BfSVRFTVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRkNDI1NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0lURU1TCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX0lURU1TICAgICAgICAgICAgICAgICAgICAgICAiaXRlbXMiICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGVmaW5pdGlvbiB2b24gR2VnZW5zdGFlbmRlbiwgZGllIGluIGRlbSBSYXVtIGxpZWdlbiBzb2xsZW4uCisgICAgIEVya2xhZXJ1bmcgaW4gZWluZW0gRXh0cmFmaWxlLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfSV9IQVRFX0FMQ09IT0wgYi9kb2MvcHJvcHMvUF9JX0hBVEVfQUxDT0hPTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjBhMzhmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfSV9IQVRFX0FMQ09IT0wKQEAgLTAsMCArMSwyMyBAQAorTkFNRToKKyAgICBQX0lfSEFURV9BTENPSE9MICAgICAgICAgICAgICAgICAgICAgICAgImlfaGF0ZV9hbGNvaG9sIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9pbnBjL2Jvb3ppbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgTnVtZXJpc2NoZXIgV2VydCwgZGVyIGRpZSBPYmVyZ3JlbnplIGFuIFBfQUxDT0hPTCBpbiBlaW5lbSBNb25zdGVyCisgICAgZGVmaW5pZXJ0LCB3ZWxjaGVyIGJlaW0gZWlnZW5zdGFlbmRpZ2VuIFRhbmtlbiBiZXJ1ZWNrc2ljaHRpZ3Qgd2lyZC4KKworQkVNRVJLVU5HOgorICAgIEdlaHQgZGVyIE5wYyAodW5kIG51ciBmdWVyIHNvbGNoZSBpc3QgZGllc2UgUHJvcCBnZWRhY2h0KSBlaWdlbi0KKyAgICBzdGFlbmRpZyB0YW5rZW4sIHdlcmRlbiB2b3IgZGVtIEJlc3RlbGxlbiBkaWUgR2V0cmFlbmtlIHVuZCBTcGVpc2VuCisgICAgYXVmIGlocmVuIEFsa29ob2xnZWhhbHQgZ2VwcnVlZnQgdW5kIG1pdCBkZW0gYWt0dWVsbGVuIFdlcnQgdm9uCisgICAgUF9BTENPSE9MIGltIFZlcmhhZWx0bmlzIHp1IFBfSV9IQVRFX0FMQ09IT0wgdmVyZ2xpY2hlbi4gTGFlZ2UgZGVyCisgICAgV2VydCBmdWVyIFBfQUxDT0hPTCBkYW5uIHVlYmVyIGRlbSB2b24gUF9JX0hBVEVfQUxDT0hPTCwgd2lyZCBkaWVzZXMKKyAgICBHZXRyYWVuayAoZGllc2UgU3BlaXNlKSBuaWNodCBiZXN0ZWxsdC4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9BTENPSE9MLCBQX01BWF9BTENPSE9MCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFNhbSBBcHIgMTQgMTI6MzU6MDAgMjAwMSBieSBUaWxseQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfS0VFUEVSIGIvZG9jL3Byb3BzL1BfS0VFUEVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwMjc1YmEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9LRUVQRVIKQEAgLTAsMCArMSwxNCBAQAorTkFNRToKKyAgICBQX0tFRVBFUiAgICAgICAgICAgICAgICAgICAgICAgInNob3Bfa2VlcGVyIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEluIGRpZXNlIFByb3BlcnR5IGthbm4gbWFuIGluIEtuZWlwZW4gdW5kIExhZWRlbiBlaW5lbiBTdHJpbmcgc2NocmVpYmVuLgorICAgIERhbm4gd2lyZCB2b3IgZGVuIFRyYW5zYWt0aW9uZW4gZ2VwcnVlZnQsIG9iIGVpbiBOUEMgYW53ZXNlbmQgaXN0LAorICAgIGRlciBkaWVzZW4gU3RyaW5nIGFscyBJRCBoYXQuCisgICAgSXN0IGRlciBOUEMgbmljaHQgdm9yaGFuZGVuLCBrYW5uIG5pY2h0cyBnZS0gb2RlciB2ZXJrYXVmdCB3ZXJkZW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IE1vbiBBdWcgMjMgMTQ6Mjk6MDAgMTk5OSBieSBQYXJhY2Vsc3VzClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfS0VFUF9PTl9TRUxMIGIvZG9jL3Byb3BzL1BfS0VFUF9PTl9TRUxMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMjE0MDcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9LRUVQX09OX1NFTEwKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfS0VFUF9PTl9TRUxMICAgICAgICAgICAgICAgICJrZWVwX29uX3NlbGwiICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBCZWkgInZlcmthdWZlIGFsbGVzIiB3aXJkIGRhcyBPYmpla3QgYmVoYWx0ZW4uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9LSUxMRVIgYi9kb2MvcHJvcHMvUF9LSUxMRVIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODNmNmIxOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0tJTExFUgpAQCAtMCwwICsxLDI3IEBACitOQU1FOgorICAgIFBfS0lMTEVSICAgICAgICAgICAgICAgICAgICAgICJraWxsZXIiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZGFzIE9iamVrdCwgd2VsY2hlcyBkYXMgTGViZXdlc2VuIGFscyBsZXR6dGVzCisgICBnZXRvZXRldCBoYXQuIFNpZSB3aXJkIHZvbiBkb19kYW1hZ2UoKSwgaGVhcnRfYmVhdCgpIChWZXJnaWZ0dW5nZW4pIHVuZAorICAgZGllKCkgKGJlaSBkaXJla3RlbiBBdWZydWZlbikgYXV0b21hdGlzY2ggZ2VzZXR6dC4gRWluIG1hbnVlbGxlcworICAgU2V0emVuIHZvciBBdWZydWYgdm9uIGRvX2RhbWFnZSgpIG9kZXIgZGllKCkgaGF0IGtlaW5lcmxlaSBXaXJrdW5nIQorICAgU2lubnZvbGxlcndlaXNlIGxpZXN0IG1hbiBkaWVzZSBQcm9wZXJ0eSBpbSBOb3RpZnlQbGF5ZXJEZWF0aCgpIGF1cywKKyAgIHNwYWV0ZXJlcyBBdXNsZXNlbiBpc3QgdW56dXZlcmxhZXNzaWcsIGRhIGRlciBLaWxsZXIgaW56d2lzY2hlbiB6ZXJzdG9lcnQKKyAgIHNlaW4ga29lbm50ZS4KKyAgIERpZXNlIFByb3BlcnR5IHNvbGx0ZSBfbmljaHRfIHBlciBIYW5kIGdlc2V0enQgd2VyZGVuLCBzY2hvbiBnYXIgbmljaHQKKyAgIHdhZWhyZW5kIGVpbmVzIE5vdGlmeVBsYXllckRlYXRoKCksIHdlaWwgZXMgZXZ0bC4gbm9jaCBhbmRlcmUgT2JqZWt0ZSBnaWJ0LAorICAgZGllIHNpY2ggZGFmdWVyIGludGVyZXNzaWVyZW4hCisKK0JFTUVSS1VOR0VOOgorICAgTm9ybWFsZXJ3ZWlzZSBzdGVodCBoaWVyIGVpbiBPYmpla3QgZHJpbiAocy5vLikuIEVzIGdpYnQgYWxsZXJkaW5ncyBlaW5lCisgICBBdXNuYWhtZTogU3RpcmJ0IGVpbiBMZWJld2VzZW4gYW4gR2lmdCwgZW50aGFlbHQgUF9LSUxMRVIgZGVuIFN0cmluZworICAgImdpZnQiLgorCitTSUVIRSBBVUNIOgorICAgZG9fZGFtYWdlKCkKKworMjkuMDguMjAwOCwgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfS0lMTFMgYi9kb2MvcHJvcHMvUF9LSUxMUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGFlNzJkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfS0lMTFMKQEAgLTAsMCArMSwxMCBAQAorTkFNRToKKyAgICBQX0tJTExTICAgICAgICAgICAgICAgICAgICAgICAicGxheWVya2lsbHMiICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQW56YWhsIGRlciBTcGllbGVyLCBkaWUgZGllc2VyIFNwaWVsZXIgc2Nob24gZ2V0b2V0ZXQgaGF0LgorICAgICBVbmVybGF1YnRlIE1hbmlwdWxhdGlvbiBpc3QgZWluIFNDSFdFUkVTIFZFUkdFSEVOIGdlZ2VuCisgICAgIGRpZSBNdWRyZWdsZW4uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9LSUxMX01TRyBiL2RvYy9wcm9wcy9QX0tJTExfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhOWUzYmIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9LSUxMX01TRwpAQCAtMCwwICsxLDgwIEBACitQX0tJTExfTVNHCisKK05BTUU6CisJUF9LSUxMX01TRwkJCSJraWxsX21zZyIKKworREVGSU5JRVJUIElOOgorCS9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2VubiBlaW4gU3BpZWxlciBnZXRvZXRldCB3aXJkLCBzbyBlcnNjaGVpbnQgZGF6dSBlaW5lIGt1cnplIEluZm9ybWF0aW9uCisgICAgIGF1ZiBkZW0gVG9kZXNrYW5hbC4gVW0gZGVtIHRvZXRlbmRlbiBPYmpla3QgenVzYWV0emxpY2ggZGllIE1vZWdsaWNoa2VpdAorICAgICB6dSBnZWJlbiwgbm9jaCBldHdhcyBtZWhyIGF1ZiBkaWVzZW0gS2FuYWwgYXVzenVnZWJlbiwga2FubiBtYW4gaW4KKyAgICAgZGllc2VyIFByb3BlcnR5IGVpbmVuIFN0cmluZyB1ZWJlcmdlYmVuLgorICAgICBOb2V0aWdlIFplaWxlbnVtYnJ1ZWNoZSB3ZXJkZW4gaGllcmJlaSBhdXRvbWF0aXNjaCBnZW5lcmllcnQuCisKKyAgICAgRXMgaXN0IGF1Y2ggbW9lZ2xpY2ggYW56dWdlYmVuLCBvYiBFbW90ZXMgdmVyd2VuZGV0IHdlcmRlbiB1bmQgb2IgZGFzCisgICAgIHRvZXRlbmRlIE9iamVrdCBlaW4gUGx1cmFsLU9iamVrdCBpc3QuIEhpZXJ6dSB1ZWJlcmdpYnQgbWFuIGVpbiBBcnJheQorICAgICBkZXIgR2VzdGFsdDoKKworCSh7S2lsbG1lc3NhZ2UsRW1vdGVzfSkgYnp3LiAoe0tpbGxtZXNzYWdlLEVtb3RlcyxQTFVSQUx9KQorCisgICAgIERlciBFaW50cmFnIDxLaWxsbWVzc2FnZT4gc3RlbGx0IGhpZXJiZWkgZGllIE1lbGR1bmcgc2VsYnN0IGRhciwgUExVUkFMCisgICAgIGdpYnQgYW4sIGRhc3MgZXMgc2ljaCB1bSBlaW4gUGx1cmFsLU9iamVrdCBoYW5kZWx0IHVuZCA8RW1vdGVzPiBrYW5uCisgICAgIGZvbGdlbmRlIFdlcnRlIGFubmVobWVuOgorCisJTVNHX1NBWSAgICAtIE1lbGR1bmcgd2lyZCBub3JtYWwgYXVzZ2VnZWJlbi4KKwlNU0dfRU1PVEUgIC0gTWVsZHVuZyBlcnNjaGVpbnQgYWxzIEVtb3RlLgorCU1TR19HRU1PVEUgLSBNZWxkdW5nIGVyc2NoZWludCBhbHMgR2VuaXRpdi1FbW90ZS4KKwlNU0dfRU1QVFkgIC0gTWVsZHVuZyBlcnNjaGVpbnQgb2huZSB6dXZvcmlnZSBBbmdhYmUgZGVzCisJICAgICAgICAgICAgICAgdG9ldGVuZGVuIE9iamVrdGVzLgorCisgICAgIE1vZWNodGUgbWFuIGRpZSBNZWxkdW5nIG5vY2ggZXR3YXMgInBlcnNvZW5saWNoZXIiIDstKSBnZXN0YWx0ZW4sIHNvCisgICAgIGthbm4gbWFuIGRlbiBQbGF0emhhbHRlciAlcyB2ZXJ3ZW5kZW4uIEFuIGRlc3NlbiBTdGVsbGUgd2lyZCBkYW5uIGRlcgorICAgICBOYW1lIGRlcyBWZXJibGljaGVuZW4gZWluZ2VzZXR6dC4KKworQkVJU1BJRUw6CisgICAgIEVpbiBuZXR0ZXMgQmVpc3BpZWwgaXN0IGRhcyBmb2xnZW5kZTogV2VubiBlaW4gU3BpZWxlciBzaWNoIGFscworICAgICBEcmFjaGVudG9ldGVyIGJld2VocnQgaGF0LCBzbyBrYW5uIGVyIHRyYWRpdGlvbmVsbCBpbiBzZWluZW0gQmx1dCBiYWRlbi4KKyAgICAgSGluIHVuZCB3aWVkZXIgaXN0IGplZG9jaCBhdWNoIGRlciBEcmFjaGUgZXJmb2xncmVpY2gsIGRlbSBtYW4gZWluZQorICAgICBsdXN0aWdlIFp1c2F0em1lbGR1bmcgZnVlciBkZW4gVG9kZXNrYW5hbCB1ZWJlcmdlYmVuIGthbm46CisKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAgOjpjcmVhdGUoKTsKKyAgICAgICAuLi4KKyAgICAgICBTZXRQcm9wKFBfS0lMTF9NU0csIkpldHp0IGJhZGUgaWNoIG1hbCBpbiBERUlORU0gQmx1dCwgJXMhIik7CisgICAgICAgLi4uCisgICAgIH0KKworCisgICAgIEZhbGxzIGRlciAnS2lsbGVyJyBlaW4gUGx1cmFsLU9iamVrdCBvZGVyIC1OUEMgd2FyLCBrb2VubnRlIGVpbmUgTWVsZHVuZworICAgICBhdWNoIGZvbGdlbmRlcm1hc3NlbiBhdXNzZWhlbjoKKworICAgICBTZXRQcm9wKFBfS0lMTF9NU0csKHsiaGF1biBzaWNoIGpldHp0IGRpZSBIdWNrZSB2b2xsLiIsCisJCQkgIE1TR19FTU9URSwKKwkJCSAgUExVUkFMfSkpOworCisgICAgIHdvYmVpIFBfS0lMTF9OQU1FIGhpZXIgbmF0dWVybGljaCBhdWYgIkVpbmUgTWVuZ2UgT3JrcyIgb2RlcgorICAgICBkZXJnbGVpY2hlbiBnZXNldHp0IHNlaW4gc29sbHRlLiBBdWYgZGVtIEthbmFsIHdhZXJlIGRhbm4gZGllcyB6dQorICAgICBsZXNlbjoKKworCVtUb2Q6TGFyc10gRWluZSBNZW5nZSBPcmtzIGhhYmVuIGdlcmFkZSBPcmt0b2V0ZXIgdW1nZWJyYWNodC4KKwlbVG9kOkVpbmUgTWVuZ2UgT3JrcyBoYXVuIHNpY2ggamV0enQgZGllIEh1Y2tlIHZvbGwuXQorCisKKyAgICAgV2VpdGVyZXMgQmVpc3BpZWwuCisgICAgIE1hbiBoYWJlIGVpbmVuIE5QQywgZGVzc2VuIEtpbGxuYW1lIGFscyBQbHVyYWwgYXVmenVmYXNzZW4gaXN0LCBkZXIgYWJlcgorICAgICBrZWluZW4genVzYWV0bGljaGVuIFRleHQgYXVmIC1Ub2QgYnJpbmdlbiBzb2xsLgorCisgICAgIFNldFByb3AoUF9OQU1FLCAiRWluZSBIb3JkZSBHdW1taWJhZXJlbiIpOworICAgICBTZXRQcm9wKFBfS0lMTF9OQU1FLCAiVmllbGUga2xlaW5lIEd1bW1pYmFlcmVuIik7CisgICAgIFNldFByb3AoUF9LSUxMX01TRywgKHswLCAwLCAxfSkpOworCitTSUVIRSBBVUNIOgorICAgICBUb2Q6CQlkaWUoTCkKKyAgICAgVG9kZXNtZWxkdW5nZW46CVBfS0lMTF9OQU1FLCBQX0RJRV9NU0csIFBfTVVSREVSX01TRworCQkJUF9aQVBfTVNHLCBQX0VORU1ZX0RFQVRIX1NFUVVFTkNFCisgICAgIFNvbnN0aWdlczoJCVBfQ09SUFNFLCBQX05PQ09SUFNFLCAvcm9vbS9kZWF0aC9kZWF0aF9yb29tLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEF1ZyAyMSAxNDozNjowNCAyMDAyIGJ5IEJhbWJpCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9LSUxMX05BTUUgYi9kb2MvcHJvcHMvUF9LSUxMX05BTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YyMTRhYgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0tJTExfTkFNRQpAQCAtMCwwICsxLDQzIEBACitQX0tJTExfTkFNRQorCitOQU1FOgorICAgICBQX0tJTExfTkFNRQkJCSJraWxsX25hbWUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZW5uIGVpbiBTcGllbGVyIGdldG9ldGV0IHdpcmQsIHNvIGVyc2NoZWludCBlaW5lIGt1cnplIEluZm9ybWF0aW9uIGF1ZgorICAgICBkZW0gVG9kZXNrYW5hbC4gSW0gTm9ybWFsZmFsbCB3ZXJkZW4gZGllIEluZm9ybWF0aW9uZW4gYXVzIFBfTkFNRSwKKyAgICAgUF9BUlRJQ0xFIHVuZCBQX0dFTkRFUiBkZXMgdG9ldGVuZGVuIE9iamVrdGVzIHZlcndlbmRldCwgdW0gZWluZW4gTmFtZW4KKyAgICAgZnVlciBlYmVuIGRpZXNlcyBPYmpla3QgenUga3JlaWVyZW4uIE1hbmNobWFsIG1vZWNodGUgbWFuIGplZG9jaCBlaW5lbgorICAgICBkYXZvbiB1bmFiaGFlbmdpZ2VuIE5hbWVuIGRvcnQgc3RlaGVuIGhhYmVuLiBEYW5uIGtvbW10IGRpZSBQcm9wZXJ0eQorICAgICBQX0tJTExfTkFNRSB6dW0gRWluc2F0ei4KKyAgICAgTWFuIHNvbGx0ZSBiZWFjaHRlbiwgZGFzcyBkZXIgTmFtZSBkZXMgVG9ldGVuZGVuIG5pY2h0IHp1IGxhbmcgc2VpbgorICAgICBzb2xsdGUsIGRlbm4gb2J3b2hsIGJlaSBlaW5lciBUb2Rlc21lbGR1bmcgYXV0b21hdGlzY2ggdW1nZWJyb2NoZW4gd2lyZCwKKyAgICAga2FubiBlcyBkb2NoIHppZW1saWNoIHN0b2VyZW4uIFdlbm4gZGFzIHRvZXRlbmRlIE9iamVrdCBlaW4gUGx1cmFsLQorICAgICBPYmpla3QgaXN0LCBzbyBrYW5uIG1hbiBkaWVzIHp1c2FldHpsaWNoIGluIGRlciBQcm9wZXJ0eSBQX0tJTExfTVNHCisgICAgIGFuZ2ViZW4uCisKK0JFSVNQSUVMOgorICAgICBFaW5lIFdvbGtlLCBkaWUgd2FobHdlaXNlIHp3aXNjaGVuIHZlcnNjaGllZGVuZW4gWnVzdGFlbmRlbiBtdXRpZXJ0LAorICAgICBrb2VubnRlIG1hbCBlaW5lIEVpc3dvbGtlLCBtYWwgZWluZSBHaWZ0d29sa2Ugb2RlciBhdWNoIG1hbCBlaW5lCisgICAgIEZldWVyd29sa2Ugc2Vpbi4gRnVlciBkZW4gVG9kZXNrYW5hbCBzb2xsIGplZG9jaCBpbW1lciBlcnNjaGVpbmVuOgorICAgICAnW1RvZDpdIEVpbmUgbXV0aWVyZW5kZSBXb2xrZSBoYXQgZ2VyYWRlIDxTcGllbGVyPiB1bWdlYnJhY2h0LicKKworICAgICB2b2lkIGNyZWF0ZSgpCisgICAgIHsKKyAgICAgICA6OmNyZWF0ZSgpOworICAgICAgIC4uLgorICAgICAgIFNldFByb3AoUF9LSUxMX05BTUUsIkVpbmUgbXV0aWVyZW5kZSBXb2xrZSIpOworICAgICAgIC4uLgorICAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgIFRvZDoJCWRpZShMKQorICAgICBUb2Rlc21lbGR1bmdlbjoJUF9LSUxMX01TRywgUF9ESUVfTVNHLCBQX01VUkRFUl9NU0cKKwkJCVBfWkFQX01TRywgUF9FTkVNWV9ERUFUSF9TRVFVRU5DRQorICAgICBTb25zdGlnZXM6CQlQX0NPUlBTRSwgUF9OT0NPUlBTRSwgL3Jvb20vZGVhdGgvZGVhdGhfcm9vbS5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFdlZCBKYW4gMTQgMTk6MTc6MDYgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0tOT1dOX1BPVElPTlJPT01TIGIvZG9jL3Byb3BzL1BfS05PV05fUE9USU9OUk9PTVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVhZGI5NwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0tOT1dOX1BPVElPTlJPT01TCkBAIC0wLDAgKzEsMTkgQEAKK05BTUU6CisgICAgUF9LTk9XTl9QT1RJT05ST09NUyAgICAgICAgICAgICAgICAgImtub3duX3BvdGlvbnJvb21zIiAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9wb3Rpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgQXJyYXkgbWl0IGRlbiBOdW1tZXJuIGRlciBSYWV1bWUsIGluIGRlbmVuIGRlciBTcGllbGVyIFphdWJlci0KKyAgICB0cmFlbmtlIGZpbmRlbiBrYW5uLiBEaWUgWnVvcmRudW5nIGRlciBSYWV1bWUgdW5kIE51bW1lcm4KKyAgICBnZXNjaGllaHQgaW0gUG90aW9ubWFzdGVyLgorCisgICAgTnVyIGxlc2JhcmUgX3F1ZXJ5IC0gUHJvcGVydHkuCisKK1NJRUhFIEFVQ0g6CisgICAgU29uc3RpZ2VzOiB6YXViZXJ0cmFlbmtlLCAvc2VjdXJlL3BvdGlvbm1hc3Rlci5jLCAvcm9vbS9vcmFrZWwuYworICAgIFZlcndhbmR0OiAgRmluZFBvdGlvbigpLCBBZGRLbm93blBvdGlvbigpLCBSZW1vdmVLbm93blBvdGlvbigpLCBJbkxpc3QoKQorICAgIFByb3BzOiAgICAgUF9QT1RJT05ST09NUworCis2LkZlYiAyMDE2IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MQVNURElSIGIvZG9jL3Byb3BzL1BfTEFTVERJUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWU5MDcxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTEFTVERJUgpAQCAtMCwwICsxLDE1IEBACitOQU1FOgorICAgIFBfTEFTVERJUiAgICAgICAgICAgICAgICAgICJwX2xpYl9sYXN0ZGlyIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9zaGVsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRGFzIGpld2VpbHMgbGV0enRlIFZlcnplaWNobmlzLCBpbiBkZW0gZGVyIE1hZ2llciB3YXIuCisgICAgKE51ciBmdWVyIE1hZ2llciB2b24gQmVsYW5nKQorCitTaWVoZSBhdWNoOgorICAgIFBfQ1VSUkVOVERJUgorCitMZXR6dGUgQWVuZGVydW5nOgorICAgIDAzLjA1LjIwMTYsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xBU1RfQ09NQkFUX1RJTUUgYi9kb2MvcHJvcHMvUF9MQVNUX0NPTUJBVF9USU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZGY5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX0NPTUJBVF9USU1FCkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisJUF9MQVNUX0NPTUJBVF9USU1FCQkibGFzdF9jb21iYXRfdGltZSIKKworREVGSU5JRVJUIElOOgorCS9zeXMvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorCUluIGRpZXNlciBQcm9wZXJ0eSB3aXJkIGdlbmF1IGRpZSBaZWl0IGZlc3RnZWhhbHRlbiwgenUgZGVyIGVpbgorCUxlYmV3ZXNlbiB6dWxldHp0IGVpbmVuIEFuZ3JpZmYgYWJnZXdlaHJ0IG9kZXIgZWluZW4gQW5ncmlmZgorCWR1cmNoZ2VmdWVocnQgaGF0LiBEaWUgUHJvcGVydHkgZW50aGFlbHQgZGllc2UgSW5mb3JtYXRpb24gaGllcmJlaQorCWltbWVyIGluIEZvcm0gZWluZXMgSW50ZWdlcndlcnRlcy4KKwlEaWVzZXIgV2VydCBrb2VubnRlIHouQi4gd2ljaHRpZyBzZWluLCB3ZW5uIG1hbiB3aXNzZW4gbW9lY2h0ZSwgd2FubgorCWVpbiBMZWJld2VzZW4genVsZXR6dCBnZWthZW1wZnQgaGF0LiBFcyBpc3QgYmVpc3BpZWxzd2Vpc2UgbmljaHQKKwltb2VnbGljaCwgd2FlaHJlbmQgb2RlciBhdWNoIHVubWl0dGVsYmFyIG5hY2ggZWluZW0gS2FtcGYgZGVuIEJlZmVobAorCSdFbmRlJyB6dSBudXR6ZW4sIGRhIGRpZXMgenVyIEZsdWNodCBtaXNzYnJhdWNodCB3ZXJkZW4ga2Fubi4gRGFmdWVyCisJd2lyZCBkZXIgV2VydCBkZXIgUHJvcGVydHkgenV2b3IgYXVzZ2V3ZXJ0ZXQuCisKK1NJRUhFIEFVQ0g6CisJUF9MQVNUX0RBTVRJTUUsIFBfTEFTVF9EQU1BR0UsIFBfTEFTVF9EQU1UWVBFUywgQXR0YWNrKCksIERlZmVuZCgpLAorCS9zdGQvbGl2aW5nL2NvbWJhdC5jLCAvc3RkL2xpdmluZy9saWZlLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIE1heSAyNiAxNjo0MzowMCAxOTk5IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEFTVF9DT01NQU5EX0VOViBiL2RvYy9wcm9wcy9QX0xBU1RfQ09NTUFORF9FTlYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTc2ZTM0ZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xBU1RfQ09NTUFORF9FTlYKQEAgLTAsMCArMSwxNSBAQAorUF9MQVNUX0NPTU1BTkRfRU5WCitOQU1FOgorICAgIFBfTEFTVF9DT01NQU5EX0VOViAgICAgICAgICAgICJsYXN0X2NvbW1hbmRfZW52IiAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERlciBSYXVtLCBpbiBkZW0gZGFzIGxldHp0ZSBLb21tYW5kbyBlaW5nZWdlYmVuIHd1cmRlLgorCitCRU1FUktVTkdFTjoKKyAgICAgS2VpbmUgZWNodGUgUHJvcGVydHksIF9xdWVyeV9sYXN0X2NvbW1hbmRfZW52KCkgaXN0CisgICAgIGluIC9zdGQvcGxheWVycy9jb21tYW5kLmMgaW1wbGVtZW50aWVydC4KKworMTQuRmViLjIwMDQgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xBU1RfQ09OVEVOVF9DSEFOR0UgYi9kb2MvcHJvcHMvUF9MQVNUX0NPTlRFTlRfQ0hBTkdFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmYTY0YmIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX0NPTlRFTlRfQ0hBTkdFCkBAIC0wLDAgKzEsMTYgQEAKK05BTUU6CisgICAgUF9MQVNUX0NPTlRFTlRfQ0hBTkdFICAgICAgICAgImxhc3RfY29udGVudF9jaGFuZ2UiICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFdhbm4gd3VyZGUgenVtIGxldHp0ZW4gTWFsIHdhcyBpbnMgT2JqIGdlc3RvcGZ0IG9kZXIgcmF1c2dlbm9tbWVuPworICAgICBXaWNodGlnIGZ1ZXIgZGVuIFdlaWdodC1DYWNoZQorCitBTk1FUktVTkc6CisgICAgIERpZSBQcm9wZXJ0eSBrYW5uIG51ciB1ZWJlciBRdWVyeVByb3AoKSB1bmQgU2V0UHJvcCgpIGF1c2dlbGVzZW4gYnp3LgorICAgICBnZXNldHp0IHdlcmRlbi4gUXVlcnkoKSB1bmQgU2V0KCkgZnVua3Rpb25pZXJlbiAqbmljaHQqLgorCisgICAgIEF1c3NlcmRlbSBmdWVocnQgZWluIFNldHplbiBwZXIgU2V0UHJvcCgpIHp1IGVpbmVyIEVyaG9laHVuZyBkZXMgCisgICAgIFdlcnRlcyB1bSBlaW5zIC0gdW5hYmhhZW5naWcgdm9tIGdlc2V0enRlbiBXZXJ0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEFTVF9EQU1BR0UgYi9kb2MvcHJvcHMvUF9MQVNUX0RBTUFHRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDYxOGIxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTEFTVF9EQU1BR0UKQEAgLTAsMCArMSwyMiBAQAorTkFNRToKKwlQX0xBU1RfREFNQUdFCQkJImxhc3RfZGFtYWdlIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorCUluIGRpZXNlciBQcm9wZXJ0eSB3aXJkIGdlbmF1IGRpZSBTY2hhZGVuc3N0YWVya2UgZmVzdGdlaGFsdGVuLAorCXdlbGNoZSBlaW4gTGViZXdlc2VuIHp1bGV0enQgYWJiZWtvbW1lbiBoYXQuIERpZSBQcm9wZXJ0eSBlbnRoYWVsdAorCWRpZXNlIEluZm9ybWF0aW9uIGhpZXJiZWkgaW1tZXIgaW4gRm9ybSBlaW5lcyBJbnRlZ2Vyd2VydGVzLgorCUF1Y2ggZGllIFN0YWVya2UgZGVzIEdpZnRzY2hhZGVucyBkdXJjaCBkaWUgV2lya3VuZyBlaW5lciBWZXJnaWZ0dW5nCisJd2lyZCBoaWVyIGZlc3RnZWhhbHRlbi4KKwlEaWVzZXIgV2VydCBrb2VubnRlIHouQi4gd2ljaHRpZyBzZWluLCB3ZW5uIG1hbiB3aXNzZW4gbW9lY2h0ZSwKKwl3ZWxjaGUgU2NoYWRlbnNzdGFlcmtlIG5hY2ggRWlud2lya3VuZyB2b24gRGVmZW5kZXJuLCBSdWVzdHVuZywKKwlIb29rcyB1bmQgU2tpbGxzIHVlYnJpZ2dlYmxpZWJlbiBpc3QuCisKK1NJRUhFIEFVQ0g6CisJUF9MQVNUX0RBTVRJTUUsIFBfTEFTVF9EQU1UWVBFUywgRGVmZW5kKCksCisJL3N0ZC9saXZpbmcvY29tYmF0LmMsIC9zdGQvbGl2aW5nL2xpZmUuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUdWUgSmFuIDI2IDEyOjM0OjI5IDE5OTkgYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MQVNUX0RBTVRJTUUgYi9kb2MvcHJvcHMvUF9MQVNUX0RBTVRJTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzJmZmI1MQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xBU1RfREFNVElNRQpAQCAtMCwwICsxLDIyIEBACitOQU1FOgorCVBfTEFTVF9EQU1USU1FCQkJImxhc3RfZGFtdGltZSIKKworREVGSU5JRVJUIElOOgorCS9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKwlJbiBkaWVzZXIgUHJvcGVydHkgd2lyZCBnZW5hdSBkaWUgWmVpdCBmZXN0Z2VoYWx0ZW4sIHp1IGRlciBlaW4KKwlMZWJld2VzZW4genVsZXR6dCBlaW5lbiBTY2hhZGVuIGFiYmVrb21tZW4gaGF0LiBEaWUgUHJvcGVydHkKKwllbnRoYWVsdCBkaWVzZSBJbmZvcm1hdGlvbiBoaWVyYmVpIGltbWVyIGluIEZvcm0gZWluZXMKKwlJbnRlZ2Vyd2VydGVzLgorCUF1Y2ggZGVyIFplaXRwdW5rdCBkZXIgRWlud2lya3VuZyB2b24gR2lmdHNjaGFkZW4gZHVyY2ggZGllIFdpcmt1bmcKKwllaW5lciBWZXJnaWZ0dW5nIHdpcmQgaGllciBmZXN0Z2VoYWx0ZW4uCisJRGllc2VyIFdlcnQga29lbm50ZSB6LkIuIHdpY2h0aWcgc2Vpbiwgd2VubiBtYW4gd2lzc2VuIG1vZWNodGUsIHdhbm4KKwllaW4gTGViZXdlc2VuIHp1bGV0enQgdmVybGV0enQgd3VyZGUuCisKK1NJRUhFIEFVQ0g6CisJUF9MQVNUX0NPTUJBVF9USU1FLCBQX0xBU1RfREFNQUdFLCBQX0xBU1RfREFNVFlQRVMsIERlZmVuZCgpLAorCS9zdGQvbGl2aW5nL2NvbWJhdC5jLCAvc3RkL2xpdmluZy9saWZlLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIE1heSAyNiAxNjo0NDozOCAxOTk5IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEFTVF9EQU1UWVBFUyBiL2RvYy9wcm9wcy9QX0xBU1RfREFNVFlQRVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ3YjA2MAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xBU1RfREFNVFlQRVMKQEAgLTAsMCArMSwyMSBAQAorTkFNRToKKwlQX0xBU1RfREFNVFlQRVMJCQkibGFzdF9kYW10eXBlcyIKKworREVGSU5JRVJUIElOOgorCS9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKwlJbiBkaWVzZXIgUHJvcGVydHkgd2VyZGVuIGdlbmF1IGRpZSBTY2hhZGVuc2FydGVuIGZlc3RnZWhhbHRlbiwKKwl3ZWxjaGUgZWluIExlYmV3ZXNlbiB6dWxldHp0IGFiYmVrb21tZW4gaGF0LiBEaWUgUHJvcGVydHkgZW50aGFlbHQKKwlkaWVzZSBJbmZvcm1hdGlvbiBoaWVyYmVpIGltbWVyIGluIEZvcm0gZWluZXMgQXJyYXlzLgorCUF1Y2ggZGVyIEdpZnRzY2hhZGVuIGR1cmNoIGRpZSBXaXJrdW5nIGVpbmVyIFZlcmdpZnR1bmcgd2lyZCBoaWVyCisJZmVzdGdlaGFsdGVuLgorCURpZXNlciBXZXJ0IGtvZW5udGUgei5CLiB3aWNodGlnIHNlaW4sIHdlbm4gbWFuIG5hY2ggZGVtIFRvZCBlaW5lcworCUxlYmV3ZXNlbnMgZmVzdHN0ZWxsZW4gbW9lY2h0ZSwgZHVyY2ggd2FzIGVzIHVtZ2Vrb21tZW4gaXN0LgorCitTSUVIRSBBVUNIOgorCVBfTEFTVF9EQU1BR0UsIFBfTEFTVF9EQU1USU1FLCBEZWZlbmQoKSwKKwkvc3RkL2xpdmluZy9jb21iYXQuYywgL3N0ZC9saXZpbmcvbGlmZS5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFR1ZSBKYW4gMjYgMTI6MzQ6MjkgMTk5OSBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xBU1RfREVBVEhfUFJPUFMgYi9kb2MvcHJvcHMvUF9MQVNUX0RFQVRIX1BST1BTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxMmUwNGUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX0RFQVRIX1BST1BTCkBAIC0wLDAgKzEsMTggQEAKK05BTUU6CisgICAgUF9MQVNUX0RFQVRIX1BST1BTICAgICAgICAgICAgICAgICJsYXN0X2RlYXRoX3Byb3BzIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgbmFjaCBkZW0gVG9kIGVpbmVzIFNwaWVsZXJzIGVpbiBNYXBwaW5nIG1pdCAKKyAgICAgZGVuIFdlcnRlIGFsbGVyIFByb3BlcnRpZXMsIGRpZSBpbSBkaWUoKSB6dXJ1ZWNrZ2VzZXR6dCB3ZXJkZW4uCisKKyAgICAgQXVmIGRpZXNlIFdlaXNlIGthbm4gZWluIE9iamVrdCBhdWNoIGltIE5vdGlmeVBsYXllckRlYXRoKCkgbm9jaCAKKyAgICAgYXVmIGRpZSBXZXJ0ZSB6dXJ1ZWNrZ3JlaWZlbiwgb2J3b2hsIHNpZSBiZXJlaXRzIGdlbG9lc2NodCBzaW5kLgorCisgICAgIEZvbGdlbmRlIFByb3BlcnRpZXMgd2VyZGVuIHNvIGdlc2ljaGVydDoKKyAgIAorICAgICBQX1BPSVNPTiwgUF9GUk9HLCBQX0FMQ09IT0wsIFBfRFJJTkssIFBfRk9PRCAsIFBfQkxJTkQsIFBfREVBRiwgCisgICAgIFBfTUFYX0hBTkRTLCBQX1BBUkEsIFBfTk9fUkVHRU5FUkFUSU9OICwgUF9IUCwgUF9TUCwgUF9MQVNUX0RFQVRIX1RJTUUKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEFTVF9ERUFUSF9USU1FIGIvZG9jL3Byb3BzL1BfTEFTVF9ERUFUSF9USU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxYmQ3ODcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX0RFQVRIX1RJTUUKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfTEFTVF9ERUFUSF9USU1FICAgICAgICAgICAgICAgICJsYXN0X2RlYXRoX3RpbWUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEZXIgWmVpdHB1bmt0IGRlcyBsZXR6dGVuIFRvZGVzIGRlcyBTcGllbGVycy4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xBU1RfTE9HSU4gYi9kb2MvcHJvcHMvUF9MQVNUX0xPR0lOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyODc2NTQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX0xPR0lOCkBAIC0wLDAgKzEsMTYgQEAKK05BTUU6CisgICAgUF9MQVNUX0xPR0lOICAgICAgICAgICAgICAgICAgImxhc3RfbG9naW4iICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBaZWl0cHVua3QgZGVzIGxldHp0ZW4gTG9naW5zCisKK0JFTUVSS1VOR0VOOgorICAgICBHZWdlbiBhZXVzc2VyZSBBZW5kZXJ1bmcgdW5kIFNldC9RdWVyeU1ldGhvZGVuIGdlc2NodWV0enQuCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfTEFTVF9MT0dPVVQsIHNhdmVfbWUKKworMjguIEphbiAyMDEzIEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MQVNUX0xPR09VVCBiL2RvYy9wcm9wcy9QX0xBU1RfTE9HT1VUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5NmFlOTIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX0xPR09VVApAQCAtMCwwICsxLDIwIEBACitOQU1FOgorICAgIFBfTEFTVF9MT0dPVVQgICAgICAgICAgICAgICAgICJsYXN0X2xvZ291dCIgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgWmVpdHB1bmt0IGRlcyBsZXR6dGVuIExvZ291dHMuIEFuaGFuZCBkaWVzZXIgWmVpdCB3ZXJkZW4gZGllIEZlaW5kZXMtCisgICAgIGxpc3RlbiB1bmQgaW4gQWJ3ZXNlbmhlaXQgZWluZ2VmdWVndGUgR2VnZW5zdGFlbmRlIGFrdHVhbGlzaWVydC4KKworICAgICBEaWVzZXMgRGF0dW0gd2lyZCBiZWkgTWFnaWVybiBuaWNodCBha3R1YWxpc2llcnQsIHdlbm4gc2llIHVuc2ljaHRiYXIKKyAgICAgc2luZC9zaWNoIHVuc2ljaHRiYXIgYXVzbG9nZ2VuLgorCitCRU1FUktVTkdFTjoKKyAgICAgR2VnZW4gYWV1c3NlcmUgQWVuZGVydW5nIHVuZCBTZXQvUXVlcnlNZXRob2RlbiBnZXNjaHVldHp0LgorCitTSUVIRSBBVUNIOgorICAgICBQX0xBU1RfTE9HSU4sIFBfSU5WSVMsIHNhdmVfbWUsIGluaXQsIFN0b3BIdW50Rm9yCisKKzI4LiBKYW4gMjAxMyBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEFTVF9NT1ZFIGIvZG9jL3Byb3BzL1BfTEFTVF9NT1ZFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiMjAyYTIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX01PVkUKQEAgLTAsMCArMSwyMSBAQAorTkFNRToKKwlQX0xBU1RfTU9WRQkJCSJsYXN0X21vdmUiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL3RoaW5nL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKwlJbiBkaWVzZXIgUHJvcGVydHkgd2lyZCBkaWUgWmVpdCBkZXIgbGV0enRlbiBCZXdlZ3VuZyBlaW5lcworCUxlYmV3ZXNlbnMgZmVzdGdlaGFsdGVuLiBTZWxic3RlcmtsYWVyZW5kIGlzdCBhdWNoIGRlciBkYXp1Z2Vob2VyaWdlCisJUXVlbGxjb2RlIGlubmVyaGFsYiBtb3ZlKCkgaW4gJy9zdGQvbGl2aW5nL21vdmluZy5jJzoKKwkgIFNldFByb3AoUF9MQVNUX01PVkUsdGltZSgpKTsKKwlXaWNodGlnIGlzdCBkaWVzZSBQcm9wZXJ0eSBpbnNiZXNvbmRlcmUgZnVlciBkaWUgVW50ZXJiaW5kdW5nIHZvbgorCVJlaW4tQW5ncmlmZi1SYXVzLVRha3Rpa2VuLiBEaWVzZXIgTW9kdXMgaXN0IHN0YW5kYXJkbWFlc3NpZyBpbiBqZWRlbQorCU5QQyBha3RpdmllcnQgdW5kIGthbm4gdWViZXIgZGllIFByb3BlcnR5IFBfRU5BQkxFX0lOX0FUVEFDS19PVVQKKwlhdXNnZXNjaGFsdGVuIHdlcmRlbi4KKworU0lFSEUgQVVDSDoKKwltb3ZlKCksIHRpbWUoKSwgUF9FTkFCTEVfSU5fQVRUQUNLX09VVCwgL3N0ZC9saXZpbmcvbW92aW5nLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFNhdCBKYW4gMzAgMTI6NTM6MDAgMTk5OSBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xBU1RfVVNFIGIvZG9jL3Byb3BzL1BfTEFTVF9VU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWNhODc1ZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xBU1RfVVNFCkBAIC0wLDAgKzEsMjAgQEAKK1BfTEFTVF9VU0UKKworTkFNRToKKyAgICAgUF9MQVNUX1VTRSAibGFzdF91c2UiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHByb3BlcnRpZXMuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSB3aXJkIGluIFJ1ZXN0dW5nZW4gdW5kIFdhZmZlbiBkYXp1IGJlbnV0enQgdW0KKyAgICAgZmVzdHp1aGFsdGVuLCB3YW5uIGRpZSBSdWVzdHVuZy9XYWZmZSB6dWxldHp0IGltIEthbXBmIGJlbnV0enQKKyAgICAgd3VyZGUuCisKK1NJRUhFIEFVQ0g6CisgICAgIFJ1ZXN0dW5nZW46CVF1ZXJ5RGVmZW5kKEwpCisgICAgIFdhZmZlbjoJCVF1ZXJ5RGFtYWdlKEwpCisgICAgIFNvbnN0aWdlczoJCVBfRVFVSVBfVElNRSwgUF9VTldJRUxEX1RJTUUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogRnJpIEZlYiAwNiAxMDoxNTowMCAxOTk4IGJ5IFBhcmFjZWxzdXMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xBU1RfV0VBUl9BQ1RJT04gYi9kb2MvcHJvcHMvUF9MQVNUX1dFQVJfQUNUSU9OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNGQyMjQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MQVNUX1dFQVJfQUNUSU9OCkBAIC0wLDAgKzEsMjQgQEAKK1BST1BFUlRZOgorCisJUF9MQVNUX1dFQVJfQUNUSU9OICAgICJsYXN0X3dlYXJfYWN0aW9uIgorCitERUZJTklFUlQgSU46IAorCisJL3N5cy9hcm1vdXIuaCAodW5kIGRhbWl0IGF1Y2ggaW4gcHJvcGVydGllcy5oKQorCitCRVNDSFJFSUJVTkc6CisKKwlEaWVzZSBQcm9wIGdpYnQgYW4sIHdlbGNoZSBBbi9BdXN6aWVoLUFrdGlvbiBlaW4gU3BpZWxlciB6dWxldHp0CisJZHVyY2hnZWZ1ZWhydCBoYXQuIFNpZSBpc3QgZWluIHp3ZWllbGVtZW50aWdlcyBBcnJheSwgd29iZWkgZGVyCisJZXJzdGUgRWludHJhZyBhbmdpYnQsIG9iIGRlciBTcGllbGVyIHNpY2ggYW4tIG9kZXIgYXVzZ2V6b2dlbgorCWhhdCAoV0FfV0VBUiwgV0FfVU5XRUFSLCBhdWNoIGluIGFybW91ci5oIGRlZmluaWVydCkgdW5kIGRlcgorCXp3ZWl0ZSBkZW4gWmVpdHB1bmt0LgorCisJRGllIFByb3BlcnR5IHdpcmQgKHVudGVyIGFuZGVyZW0/KSBkYWZ1ZXIgdmVyd2VuZGV0IGZlc3R6dXN0ZWxsZW4gb2IKKwlkZXIgU3BpZWxlciBpbiBkZXIgbGV0enRlbiBSdW5kZSBzY2hvbiBlaW5lbiBSdWVzdHVuZ3N3ZWNoc2VsCisJdm9yZ2Vub21tZW4gaGF0IHVuZCBlaW5lbiBlbnRnZWdlbmdlc2V0enRlbiB6dSB1bnRlcmJpbmRlbi4KKworTEVUWlRFIEFFTkRFUlVORzogCisKKzIwMDMtMDEtMjksIDE3OjMwIHZvbiBIdW1uaQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MQVNUX1hQIGIvZG9jL3Byb3BzL1BfTEFTVF9YUApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNWVlMDU1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTEFTVF9YUApAQCAtMCwwICsxLDI3IEBACitOQU1FOgorICAgIFBfTEFTVF9YUCAgICAgICAgICAgICAgICAgICAgICAgICJsYXN0X3hwIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFaW4gQXJyYXkgdm9tIFR5cCAoeyBwZmFkLCB4cCB9KS4KKworICAgIERlciBFaW50cmFnICJwZmFkIiBnaWJ0IGRhcyBHZWJpZXQgYW4sIGluIGRlbSBlaW4gU3BpZWxlciB6dWxldHp0IFhQCisgICAgYmVrb21tZW4gaGF0LiBEYWJlaSB3aXJkIGF1cyAiL2QvZWJlbmUvbWFnaWVyL3Jvb20vcmF1bTEuYyIgZGFubgorICAgICIvZC9lYmVuZS9tYWdpZXIvcm9vbSIuCisKKyAgICBEZXIgV2VydCAieHAiIHplaWd0IGFuLCB3aWV2aWVsZSBYUCBkZXIgU3BpZWxlciBfaW4gZGllc2VtIEdlYmlldF8KKyAgICBnZXNhbW1lbHQgaGF0LiBTb2JhbGQgZXIgYXVjaCBudXIgZWluZW4gWFAgaW4gZWluZW0gYW5kZXJlbiBHZWJpZXQKKyAgICBiZWtvbW10LCB6ZWlndCBQX0xBU1RfWFAgbnVyIG5vY2ggZGllc2VuIG5ldSBlcmhhbHRlbmVuIFhQIGFuLgorCisgICAgRGVyIEFud2VuZHVuZ3N6d2VjayB3YWVyZSB6LkIuIGVpbmUgSGVpbHN0ZWxsZSwgZGllIG51ciBkYW5uIFdpcmt1bmcKKyAgICB6ZWlndCwgd2VubiBkZXIgU3BpZWxlciB3aXJrbGljaCBpbiBkZW0gYmV0cmVmZmVuZGVuIEdlYmlldCBnZW1ldHplbHQgaGF0CisgICAgdW5kIG5pY2h0IG51ciB6dW0gVGFua2VuIGhlcmdlcmFubnQgaXN0IG9kZXIgZWluZSBVbnRlcnNjaGVpZHVuZywgb2IKKyAgICBqZW1hbmQgbWV0emVsdCBvZGVyIG51ciB1ZWJ0ICh1ZWJlciBkaWUgWFApLgorCitTSUVIRSBBVUNIOgorICAgICBGdW5rdGlvbmVuOiAgQWRkRXhwKCkKKyAgICAgVmVyd2FuZHQ6ICAgIFBfTk9fWFAsIFBfWFAKKworMTQuRmViIDIwMDcgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MRUFWRUNNRFMgYi9kb2MvcHJvcHMvUF9MRUFWRUNNRFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTMxY2Y4YQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xFQVZFQ01EUwpAQCAtMCwwICsxLDMyIEBACitOQU1FOgorICAgIFBfTEVBVkVDTURTICAgICAgICAgICAgICAgICAgICJsZWF2ZWNtZHMiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRWluIEFycmF5IG1pdCBCZWZlaGxlbiwgZGllIHp1bSBWZXJsYXNzZW4gZGVzIFRyYW5zcG9ydGVycyBmdWVocmVuLiAKKworQkVJU1BJRUw6CisgICAgU2V0UHJvcChQX0xFQVZFQ01EUywoeyAidmVybGFzcyIsInZlcmxhc3NlIiB9KSApOworCisgICAgR2lidCBkZXIgU3BpZWxlciBudW4gJ3Zlcmxhc3NlIHh4eCcgZWluLCBzbyBzb3JndCAvc3RkL3RyYW5zcG9ydC5jIAorICAgIGRhZnVlciwgZGFzIGRlciBTcGllbGVyIGF1Y2ggdm9uIG9kZXIgYXVzIGRlbSBUcmFuc3BvcnRlciBiZXdlZ3QgCisgICAgd2lyZC4gVm9yYXVzZ2VzZXR6dCBuYXR1ZXJsaWNoLCBlciBpc3QgYW4gZWluZW0gSGFsdGVwdW5rdCBhbmdlbGFuZ3QuCisKK0JFTUVSS1VOR0VOOgorICAgIFVtIC9zdGQvdHJhbnNwb3J0LmMgbmljaHQgYXVmenVibGFlaGVuLCB3ZXJkZW4gd2VpdGVyZSBBcmd1bWVudGUgd2llCisgICAgZXR3YSAndmVybGFzc2UgZGFzfGRpZXxkZW4geHh4JyBfbmljaHRfIHVudGVyc3R1ZXR6dCEKKworICAgIEhpZXIgbXVzcyBkZXIgdmVyYW50d29ydGxpY2hlIE1hZ2llciBzY2hvbiBlaW5lIGVpZ2VuZSBMb2VzdW5nIGZpbmRlbgorICAgIHVuZCBpbiBzZWluZW4gVHJhbnNwb3J0ZXIgc2NocmVpYmVuLgorCisgICAgU29sbGVuIEtvbW1hbmRvcyB6dW0gQmV0cmV0ZW4gVU5EIFZlcmxhc3NlbiBlaW5lcyBUcmFuc3BvcnRlcnMgdmVyLQorICAgIHdlbmRldCB3ZXJkZW4ga29lbm5lbiwgbXVlc3NlbiBkaWVzZSBpbiBQX1RSQVZFTF9DTURTIGdlc2V0enQgd2VyZGVuLgorCitTSUVIRSBBVUNIOgorICAgIFBfTEVBVkVGQUlMLCBQX0VOVEVSRkFJTCwgUF9FTlRFUkNNRFMsIFBfVFJBVkVMX0NNRFMsIHRyYW5zcG9ydGVyLAorCitMRVRaVEUgQUVOREVSVU5HOgorICAgIERvbiwgMjQuMDEuMjAwMiwgMTA6MTU6MDdoIHZvbiBUaWxseQorICAgIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xFQVZFRkFJTCBiL2RvYy9wcm9wcy9QX0xFQVZFRkFJTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNTRiNGExCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTEVBVkVGQUlMCkBAIC0wLDAgKzEsMjYgQEAKK05BTUU6CisgICAgUF9MRUFWRUZBSUwgICAgICAgICAgICAgICAgICAgImxlYXZlZmFpbCIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RyYW5zcG9ydC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWVsZHVuZyBhbiBkZW4gU3BpZWxlciwgd2VubiBlciBhdXNzZXJoYWxiIGRlciBBbmxlZ2V6ZWl0ZW4gZWluZW4gCisgICAgIFRyYW5zcG9ydGVyIHZlcmxhc3NlbiB3aWxsLiBJc3QgZGllIFByb3BlcnRpZSBlaW4gQXJyYXksIHNvIHdpcmQgCisgICAgIGRhcyBlcnN0ZSBFbGVtZW50IGFscyBNZWxkdW5nIGFuIGRlbiBTcGllbGVyLCBkYXMgendlaXRlIGFscyAKKyAgICAgTWVsZHVuZyBhbiBkaWUgTWl0c3BpZWxlciBpbSBUcmFuc3BvcnRlciBnZXNjaGlja3QuIElzdCBkZXIgRWludHJhZworICAgICBkYWdlZ2VuIGVpbiBzaW1wbGVyIFN0cmluZywgc28gd2lyZCBkaWUgTWVsZHVuZyBudXIgYW4gZGVuIFNwaWVsZXIKKyAgICAgYXVzZ2VnZWJlbi4KKworQkVJU1BJRUw6CisgICAgIFNldFByb3AoUF9MRUFWRUZBSUwsICJEaWUgV2lsZGdhZW5zZSBmbGllZ2VuIHZpZWwgenUgaG9jaCIgKTsKKworICAgICBTZXRQcm9wKFBfTEVBVkVGQUlMLCAoeyAiRGllIFdpbGRnYWVuc2UgZmxpZWdlbiB2aWVsIHp1IGhvY2giLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmVyc3VjaHQsIHZvbSBSdWVja2VuIGRlciBXaWxkZ2FucyB6dSAiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyJrbGV0dGVybiB1bmQgYmVzaW5udCBzaWNoIGRhbm4gZG9jaCIgfSkgKTsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitTSUVIRSBBVUNIOgorICAgICBQX0xFQVZFTVNHLCBQX0VOVEVSTVNHLCBQX0VOVEVSRkFJTCwgdHJhbnNwb3J0ZXIKKworTEVUWlRFIEFFTkRFUlVORzoKKyAgICBEb24sIDI0LjAxLjIwMDIsIDEwOjE1OjA3aCB2b24gVGlsbHkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xFQVZFTVNHIGIvZG9jL3Byb3BzL1BfTEVBVkVNU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTkyYmJjNAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xFQVZFTVNHCkBAIC0wLDAgKzEsMTkgQEAKK05BTUU6CisgICAgUF9MRUFWRU1TRyAgICAgICAgICAgICAgICAgICAgImxlYXZlbXNnIiAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RyYW5zcG9ydC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQXJyYXkgbWl0IHp3ZWkgTWVsZHVuZ2VuLiBEZXIgZXJzdGUgRWludHJhZyB3aXJkIGFuIGRlbiBUcmFuc3BvcnRlcgorICAgICBhdXNnZWdlYmVuLCBkZXIgendlaXRlIGFuIGRlbiBSYXVtIGluIGRlbiBkZXIgU3BpZWxlciBrb21tdC4KKworQkVJU1BJRUw6CisgICAgIFNldFByb3AoUF9MRUFWRU1TRywgKHsgImtsZXR0ZXJ0IHZvbSBSdWVja2VuIGRlciBXaWxkZ2FucyIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgImtvbW10IHZvbSBSdWVja2VuIGVpbmVyIFdpbGRnYW5zIGhlcnVudGVyIiB9KSApOworCitTSUVIRSBBVUNIOiAKKyAgICAgUF9FTlRFUk1TRywgUF9MRUFWRUZBSUwsIFBfRU5URVJGQUlMLCB0cmFuc3BvcnRlcgorCitMRVRaVEUgQUVOREVSVU5HOgorICAgIERvbiwgMjQuMDEuMjAwMiwgMTA6MTU6MDdoIHZvbiBUaWxseQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEVQIGIvZG9jL3Byb3BzL1BfTEVQCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2MjhiMWMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MRVAKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfTEVQICAgICAgICAgICAgICAgICAgICAgICAgICJsZXAiICAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIExldmVscHVua3RlIGVpbmVzIFNwaWVsZXJzCisgICAgIE5JQ0hUIFZPTiBIQU5EIFNFVFpFTiEhIQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTEVWRUwgYi9kb2MvcHJvcHMvUF9MRVZFTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MGJlNWQwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTEVWRUwKQEAgLTAsMCArMSwzMyBAQAorTkFNRToKKyAgICBQX0xFVkVMICAgICAgICAgICAgICAgICAgICAgICAibGV2ZWwiICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorCisgICAgIFNwaWVsZXItTGV2ZWwgKCE9IE1hZ2llcmxldmVsKQorCisgICAgIEluIEtyYW5raGVpdHMtIChDTF9ESVNFQVNFKSB1bmQgR2lmdG9iamVrdGVuIChDTF9QT0lTT04pIGRydWVja3QgCisgICAgIFBfTEVWRUwgYXVzLCB3aWUgc2Nod2VyIGRpZSBLcmFua2hlaXQvZGFzIEdpZnQgaXN0LiBKZSBuYWNoZGVtLCB3aWUgCisgICAgIGhvY2ggb2RlciBuaWVkcmlnIGRlciBMZXZlbCBnZXNldHp0IHdpcmQsIG11c3Mgei5CLiBlaW4gS2xlcmlrZXIgbWVociAKKyAgICAgb2RlciB3ZW5pZ2VyIG9mdCBrdXJpZXJlbiwgdW0gIGVpbmUgKGdnZi4gc3R1ZmVud2Vpc2UpIEhlaWx1bmcgenUgCisgICAgIGJld2lya2VuLgorCisgICAgIEluIEZsdWNob2JqZWt0ZW4gKENMX0NVUlNFKSBnaWJ0IFBfTEVWRUwgZWJlbmZhbGxzIGRpZSBTY2h3ZXJlIGRlcworICAgICBGbHVjaGVzIGFuLCBqZWRvY2ggaXN0IGhpZXIgenUgYmVhY2h0ZW4sIGRhc3Mgei5CLiBLbGVyaWtlciBha3R1ZWxsCisgICAgIGtlaW5lIHN0dWZlbndlaXNlIFNjaHdhZWNodW5nIGJld2lya2VuIGtvZW5uZW4sIHNvbmRlcm4gZW50d2VkZXIgZGVuCisgICAgIEZsdWNoIGVudGZlcm5lbiBrb2VubmVuIG9kZXIga29tcGxldHQgc2NoZWl0ZXJuLiAKKyAgICAgRGVyIEZsdWNobGV2ZWwgaXN0IGhpZXIgZ3JvYiBhbHMgQ2hhbmNlIGRlcyBTY2hlaXRlcm5zIGluIGVpbmVtIAorICAgICBXZXJ0ZWJlcmVpY2ggdm9uIDEtMTAwIHp1IHNlaGVuLCB3YXMgYmVkZXV0ZXQsIGRhc3MgZWluIEZsdWNobGV2ZWwgCisgICAgIHZvbiAxMDAgYWxzIHBlcm1hbmVudGVyLCBuaWNodCBlbnRmZXJuYmFyZXIgRmx1Y2ggYW56dXNlaGVuIGlzdC4KKworICAgICBHZW5hdWVyZXMgaXN0IGluIGRlciBLbGVydXNnaWxkZSBuYWNoenVsZXNlbiBvZGVyIGJlaW0gR00gS2xlcnVzIHp1CisgICAgIGVyZnJhZ2VuLgorCitTSUVIRSBBVUNIOgorICAgICBQcm9wZXJ0aWVzOiAgUF9HVUlMRF9MRVZFTAorICAgICBBbGxnZW1laW5lczogL2RvYy93aXovZ2lmdCwgL2RvYy9oZWxwL2dpZnQKKyAgICAgRnVua3Rpb25lbjogIEFkZENsYXNzKEwpLCBpc19jbGFzc19tZW1iZXIoTCkKKworTGV0enRlIEFlbmRlcnVuZzogMjAxNS1GZWItMDIsIEFyYXRob3JuLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTElGRVRJTUUgYi9kb2MvcHJvcHMvUF9MSUZFVElNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTBjMjg3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTElGRVRJTUUKQEAgLTAsMCArMSwzMCBAQAorTkFNRToNCisgICAgIFBfTElGRVRJTUUgICAgICAgICAgICAgICAgICAgICJzdGRfZm9vZF9saWZldGltZSINCisNCitERUZJTklFUlQgSU46DQorICAgICAvc3lzL2Zvb2QuaA0KKw0KK0JFU0NIUkVJQlVORzoNCisgICAgIFplaXQgaW4gU2VrdW5kZW4sIGRpZSBkaWUgU3BlaXNlIGhhbHRiYXIgaXN0Lg0KKyAgICAgTWl0IFNldHplbiBkaWVzZXIgUHJvcGVydHkgd2lyZCBkZXIgV2VydCBmdWVyIFBfUkVTRVRfTElGRVRJTUUgdW5kDQorICAgICBkb3J0IGdlc3BlaWNoZXJ0Lg0KKyAgICAgTmFjaCBkaWVzZXIgWmVpdCB3aXJkIGRpZXNlIFNwZWlzZSBzY2hsZWNodCB1bmQgamUgbmFjaCBLb25maWd1cmF0aW9uDQorICAgICBkZXIgU3BlaXNlIGV2ZW50dWVsbCB6ZXJzdG9lcnQuIFNpY2hlcmdlc3RlbGx0IHdpcmQgZGllcyBkdXJjaCBkZW4NCisgICAgIEF1ZnJ1ZiB2b24gcmVzZXQoKSBuYWNoIGRpZXNlciBBbnphaGwgU2VrdW5kZW4uDQorICAgICBNb2VjaHRlIG1hbiBlaW5lIFNwZWlzZSBoYWJlbiwgZGllIG5pZW1hbHMgdmVyZGlyYnQNCisgICAgIChnZW5laG1pZ3VuZ3NwZmxpY2h0aWchKSwgbnV0enQgbWFuIGRpZSBQcm9wZXJ0eSBQX05PX0JBRA0KKyAgICAgDQorQkVNRVJLVU5HRU46DQorICAgICBTb2JhbGQgZGVyIENvdW50ZG93biB6dW0gU2NobGVjaHR3ZXJkZW4gZGVyIFNwZWlzZSBsYWV1ZnQsIGFsc28gZWluDQorICAgICBTcGllbGVyIGRhbWl0IGluIEJlcnVlaHJ1bmcga2FtLCB6ZWlndCBTZXRQcm9wIGF1ZiBkaWVzZSBQcm9wZXJ0eSBrZWluZQ0KKyAgICAgV2lya3VuZyBtZWhyLg0KKw0KK0RFRkFVTFQ6DQorICAgICBPaG5lIFNldHplbiB2b24gUF9MSUZFVElNRSAsUF9SRVNFVF9MSUZFVElNRSB1bmQgUF9OT19CQUQgdmVyZGlyYnQgZGllDQorICAgICBTcGVpc2UgbmFjaCBlaW5lbSBSZXNldCwgYWxzbyB6d2lzY2hlbiAzMCB1bmQgNjAgTWludXRlbg0KKw0KK1NJRUhFIEFVQ0g6DQorICAgICB3aXovZm9vZCwgUF9SRVNFVF9MSUZFVElNRSwgUF9OT19CQUQNCisNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTElHSFQgYi9kb2MvcHJvcHMvUF9MSUdIVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTFlOTI3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTElHSFQKQEAgLTAsMCArMSw2MiBAQAorTkFNRToKKyAgICBQX0xJR0hUICAgICAgICAgICAgICAgICAgICAgICAibGlnaHQiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgR2lidCBkZW4gTGljaHRsZXZlbCBlaW5lcyBPYmpla3RlcyBhbiwgZC5oLiB3aWUgaGVsbCBkYXMgT2JqZWt0IHZvbiBzaWNoCisgICAgYXVzIGxldWNodGV0LiBNb2VjaHRlIG1hbiBkZW4gZ2VzYW10ZW4gTGljaHRsZXZlbCBoYWJlbiBkZXIgdm9uIGVpbmVtCisgICAgT2JqZWt0IGF1c2dlaHQsIHNvIHNvbGx0ZSBtYW4gUF9UT1RBTF9MSUdIVCBuZWhtZW4sIGRhcyBkZW4gSW5oYWx0IGVpbmVzCisgICAgQ29udGFpbmVycyBkaXJla3QgbWl0IHZlcnJlY2huZXQuCisKKyAgICBCaXR0ZSBfbnVyXyB1ZWJlciBTZXRQcm9wIGJ6dy4gUXVlcnlQcm9wIHp1Z3JlaWZlbiwgZGEgZXMgZnVlciBkaWUKKyAgICBCZXJlY2hudW5nIHdpY2h0aWcgaXN0LCBkYXMgaW4gYWxsZW4gQ29udGFpbmVybiBQX0xBU1RfQ09OVEVOVF9DSEFOR0UKKyAgICBnZXNldHp0IHdpcmQgdW0gZWluIG5ldWJlcmVjaG5lbiBkZXMgTGljaHRsZXZlbHMgYXVzenVsb2VzZW4hCisKK0FOTUVSS1VORzoKKyAgICBVbSBlaW4gdW5nZWZhZWhyZXMgR2VmdWVobCBkYXZvbiB6dSBiZWtvbW1lbiB3YXMgZWluIExpY2h0bGV2ZWwgaW4KKyAgICBldHdhIGJlZGV1dGV0IGhpZXIgZWluaWdlIGFsbGdlbWVpbmUgQmVpc3BpZWxlIHZvbiBHZWdlbnN0YWVuZGVuLgorICAgIEdydW5kc2FldHpsaWNoIHNvbGx0ZW4gTGljaHRsZXZlbCA8MCB1bmQgPjIgbnVyIGluIFJ1ZWNrc3ByYWNoZSBtaXQgZGVtCisgICAgQmFsYW5jZXRlYW0gYmVudXR6dCB3ZXJkZW4uCisKKyAgICBMaWNodGxldmVsIC0xLCAgei5CLiBlaW4gc2Nod2FyemVyIFJpbmcsIHZvbiBkZW0gZWluZSBrbGVpbmUgZHVua2xlIEF1cmEKKyAgICAgICAgICAgICAgICAgICAgYXVzZ2VodCwgZGllIGRlbiBTcGllbGVyIHVtZ2lidC4KKyAgICBMaWNodGxldmVsICAwLCAgZGVyIEdlZ2Vuc3RhbmQgYmVlaW5mbHVzc3QgZGFzIExpY2h0IHVlYmVyaGF1cHQgbmljaHQKKyAgICBMaWNodGxldmVsICAxLCAgZGVyIFNwaWVsZXIgaGFlbHQgZWluZSBrbGVpbmUgTGljaHRxdWVsbGUgaW4gSGFlbmRlbiwKKyAgICAgICAgICAgICAgICAgICAgZGllc2VzIGthbm4gZWluIExldWNodHBmaXJzaWNoLCBlaW5lIEZhY2tlbCBvZGVyIGVpbgorICAgICAgICAgICAgICAgICAgICBGZXVlcnNjaHdlcnQgb2RlciBhZWhubGljaGVzIHNlaW4uCisgICAgTGljaHRsZXZlbCAgMiwgIGVpbmUgZXR3YXMgZ3JvZXNzZXJlIExpY2h0cXVlbGxlLCBkaWUgYWJlciBpbW1lciBub2NoCisgICAgICAgICAgICAgICAgICAgIG5pY2h0IGRlbiBSYXVtIGJlbGV1Y2h0ZXQgc29uZGVybiBsZWRpZ2xpY2ggZGVtIFNwaWVsZXIKKyAgICAgICAgICAgICAgICAgICAgZWluZW4gTGljaHRzY2hlaW4gZ2V3YWVocnQgbWl0IGRlbSBlciBzZWhlbiBrYW5uLgorICAgIExpY2h0bGV2ZWwgPjIsICBleHRyZW0gaGVsbGUgTGljaHRxdWVsbGVuLCBkaWUgZGVuIGdlc2FtdGVuIFJhdW0KKyAgICAgICAgICAgICAgICAgICAgYXVzbGV1Y2h0ZW4sIGluIGRlciBSZWdlbCB3b2hsIGVoZXIgbWFnaXNjaGVyIE5hdHVyLgorICAgICAgICAgICAgICAgICAgICBTb2xjaGUgTGljaHRxdWVsbGVuIHNvbGx0ZW4gc2ljaCBtaXQgZGVyIFplaXQKKyAgICAgICAgICAgICAgICAgICAgdmVyYnJhdWNoZW4sIGRlbSBTcGllbGVyIFNjaGFkZW4genVmdWVnZW4gb2RlcgorICAgICAgICAgICAgICAgICAgICBhZWhubGljaGVzLCBkYW1pdCBkaWUgU3BpZWxlciBuaWNodCBkZWZhdWx0bWFlc3NpZyBtaXQKKyAgICAgICAgICAgICAgICAgICAgZWluZXIgc29sY2hlbiBMaWNodHF1ZWxsZSBkdXJjaHMgTUcgemllaG4uCisKKyAgICBEYXJhdXMgZXJnZWJlbiBzaWNoIGRhbm4gZm9sZ2VuZGUgS29uc2VxdWVuemVuIGZ1ZXIgUmFldW1lOgorICAgIExpY2h0bGV2ZWwgID4xOiBEZXIgUmF1bSBpc3Qgc2VociBoZWxsIGVybGV1Y2h0ZXQgdW5kIGthbm4gdm9uIFNwaWVsZXJuCisgICAgICAgICAgICAgICAgICAgIG5pY2h0IG9kZXIgbnVyIHNlaHIgc2Nod2VyIGFiZ2VkdW5rZWx0IHdlcmRlbi4gRWluIFdlcnQKKyAgICAgICAgICAgICAgICAgICAgdm9uIDItMyBrYW5uIGludGVyZXNzYW50IHNlaW4sIHdlbm4gZGllIE5QQ3MgaW0gUmF1bQorICAgICAgICAgICAgICAgICAgICB1ZWJlciBrZWluZSBOYWNodHNpY2h0IHZlcmZ1ZWdlbi4gVWViZXIgZWluIEFiZHVua2VsbiBkZXMKKyAgICAgICAgICAgICAgICAgICAgUmF1bWVzIGthbm4gZGVyIFNwaWVsZXIgZGFubiBkb2NoIGRlbiBOYWNodGthbXBmIG51dHplbi4KKyAgICBMaWNodGxldmVsICAgMTogRGVyIFJhdW0gaXN0IGVybGV1Y2h0ZXQgdW5kIGRpZSBTcGllbGVyIGtvZW5uZW4gb2huZQorICAgICAgICAgICAgICAgICAgICB3ZWl0ZXJlIExpY2h0cXVlbGxlbiBzZWhlbi4uLgorICAgIExpY2h0bGV2ZWwgICAwOiBFaW4gZHVua2xlciBSYXVtIGluIGRlbSBtYW4gbWl0IGplZGVyIEZhY2tlbCBzZWhlbiBrYW5uLgorICAgIExpY2h0bGV2ZWwgIC0xOiBtYW4gYmVub2V0aWd0IHp3ZWkgZWluZmFjaGUgTGljaHRxdWVsbGVuIG9kZXIgTmFjaHRzaWNodAorICAgICAgICAgICAgICAgICAgICB1bSBpbiBkaWVzZW0gUmF1bSBldHdhcyBzZWhlbiB6dSBrb2VubmVuLgorICAgIExpY2h0bGV2ZWwgIC0yOiBNYW4gYmVub2V0aWd0IHNjaG9uIGVpbmUgYmVzb25kZXJlIExpY2h0cXVlbGxlIHVtIGluCisgICAgICAgICAgICAgICAgICAgIGRpZXNlbSBSYXVtIG5vY2ggZXR3YXMgc2VoZW4genUga29lbm5lbi4gU29sY2hlCisgICAgICAgICAgICAgICAgICAgIExpY2h0cXVlbGxlbiBzaW5kIG5pY2h0cyBmdWVyIEFuZmFlbmdlciBvZGVyIG1pdHRsZXJlCisgICAgICAgICAgICAgICAgICAgIFNwaWVsZXIgZGEgc2llIHNjaHdlciB6dSBiZXNjaGFmZmVuIHVuZCBpbiBkZXIgUmVnZWwKKyAgICAgICAgICAgICAgICAgICAgYXVjaCBlaW5pZ2UgSGFuZGljYXBzIGhhYmVuLgorICAgIExpY2h0bGV2ZWwgPC0yOiBEZXIgUmF1bSBpc3Qgd2lya2xpY2ggYWJzb2x1dCBzdG9ja2R1c3RlciB1bmQKKyAgICAgICAgICAgICAgICAgICAgTGljaHRxdWVsbGVuIGRpZSBzb2xjaCBlaW5lbiBSYXVtIGF1c2xldWNodGVuIGtvZW5uZW4sCisgICAgICAgICAgICAgICAgICAgIHNpbmQgYXVzc2Vyb3JkZW50bGljaCBzZWx0ZW4gdW5kIGhhYmVuIGltbWVyIGlocmUKKyAgICAgICAgICAgICAgICAgICAgVHVlY2tlbi4gRGllc2UgTGljaHRsZXZlbCBzb2xsdGVuIG51ciBtaXQgVm9yc2ljaHQKKyAgICAgICAgICAgICAgICAgICAgZ2Vub3NzZW4gd2VyZGVuLgorCitTSUVIRSBBVUNIOgorICAgIFBfVE9UQUxfTElHSFQsIFBfSU5UX0xJR0hULCBQX1BMQVlFUl9MSUdIVCwgUF9MSUdIVF9NT0RJRklFUiwgQ2Fubm90U2VlKCkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xJR0hUREVTQyBiL2RvYy9wcm9wcy9QX0xJR0hUREVTQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ODk4ZGI4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTElHSFRERVNDCkBAIC0wLDAgKzEsMzQgQEAKK05BTUU6CisgICAgUF9MSUdIVERFU0MgICAgICAgICAgICAgICAgICAgImxpZ2h0ZGVzYyIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgU3RyaW5nIG9kZXIgQXJyYXkgdm9uIFN0cmluZ3MgbWl0IEFkamVrdGl2ZW4sIGRpZSBkYXMgTGV1Y2h0ZW4gZGVyIAorICAgIExpY2h0cXVlbGxlIGJlc2NocmVpYmVuICh6LkIuIGxldWNodGVuZCwgYnJlbm5lbmQsIGdsdWVoZW5kKS4KKyAgICBTdGFuZGFyZG1hZXNzaWcgaXN0IGRpZSBQcm9wZXJ0eSBhdWYgImJyZW5uZW5kIiBnZXNldHp0LgorCisgICAgV2VubiBlaW4gQXJyYXkgYW5nZWdlYmVuIHdpcmQsIHdlcmRlbiBkaWUgQmVzY2hyZWlidW5nZW4gcGFzc2VuZCBhdWYKKyAgICBkaWUgQmVubmRhdWVyIGF1ZmdldGVpbHQgdW5kIGRhcyB6dXIgYWt0dWVsbCBub2NoIHZvcmhhbmRlbmVuIFJlc3QtCisgICAgQnJlbm5kYXVlciBwYXNzZW5kZSBBZGpla3RpdiBhdXNnZWdlYmVuLiBEYXMgQXJyYXkgd2lyZCBkYWJlaSBydWVjay0KKyAgICBhZXJ0cyBkdXJjaGxhdWZlbiwgZC5oLiBmdWVyIGVpbmUgZnJpc2NoIGVudHp1ZW5kZXRlIExpY2h0cXVlbGxlIHdpcmQKKyAgICBkZXIgbGV0enRlIEVpbnRyYWcgZGVzIEFycmF5cyB2ZXJ3ZW5kZXQgKHMuIEJlaXNwaWVsZSkuCisKK0JFSVNQSUVMRToKKyAgICBFaW5lIGVpbmZhY2hlIE9lbGxhbXBlOgorCisgICAgU2V0UHJvcChQX0xJR0hUREVTQywgImFuZ2V6dWVuZGV0Iik7CisKKyAgICBFaW5lIEZhY2tlbCBtaXQgbWVocmVyZW4gQnJlbm5zdGFkaWVuIChhdXMgL2l0ZW1zL2ZhY2tlbC5jKToKKworICAgIFNldFByb3AoUF9MSUdIVERFU0MsICh7ImdsaW1tZW5kIiwiZmxhY2tlcm5kIiwibGVpY2h0IGZsYWNrZXJuZCIsCisgICAgICAgICAgICAgICAgICAgICAgICAgImJyZW5uZW5kIiwiaGVsbCBsb2Rlcm5kIiwiZnJpc2NoIGFuZ2V6dWVuZGV0In0pKTsKKworU0lFSEUgQVVDSDoKKyAgICBCYXNpc2tsYXNzZW46IC9zdGQvbGlnaHRzb3VyY2UuYworICAgIFByb3BlcnRpZXM6ICAgUF9GVUVMLCBQX0RPX0RFU1RSVUNULCBQX0xJR0hUCisgICAgTWV0aG9kZW46ICAgICBBZGRGdWVsKEwpCisKK0xFVFpURSBBRU5ERVJVTkc6CisgICAgMjIuIERlei4gMjAxNSwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xJR0hURUQgYi9kb2MvcHJvcHMvUF9MSUdIVEVECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwMjliMDIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MSUdIVEVECkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX0xJR0hURUQgICAgICAgICAgICAgICAgICAgICAibGlnaHRlZCIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmxhZywgb2IgZGllIExpY2h0cXVlbGxlIGluIEJldHJpZWIgaXN0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTElHSFRfQUJTT1JQVElPTiBiL2RvYy9wcm9wcy9QX0xJR0hUX0FCU09SUFRJT04KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzMTIwZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xJR0hUX0FCU09SUFRJT04KQEAgLTAsMCArMSwxNSBAQAorTkFNRToKKyAgICBQX0xJR0hUX0FCU09SUFRJT04gICAgICAgICAgICAgICAgICAibGlnaHRfYWJzb3JwdGlvbiIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcm9vbS9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBJbiBSYWV1bWVuIHZlcnRlaWx0IHNpY2ggYXVmZ3J1bmQgaWhyZXIgR3JvZXNzZSBkYXMgTGljaHQgdW5kIGdlcmFkZSBpbgorICAgIGdyb2Vzc2VyZW4gUmFldW1lbiBrYW5uIGVpbmUga2xlaW5lIEZhY2tlbCB1bnRlciBVbXN0YWVuZGVuIG5pY2h0IG1laHIKKyAgICBhdXNyZWljaGVuIGRlbiBnZXNhbXRlbiBSYXVtIGF1c3p1bGV1Y2h0ZW4uIEluIGRpZXNlbSBGYWxsIGthbm4gbWFuCisgICAgdWViZXIgZGllc2UgUHJvcGVydHkgZGFzIFZlcmhhbHRlbiBkZXMgTGljaHRzIHN0ZXVlcm4uCisgICAgRWluICJub3JtYWxlciIgZHVyY2hzY2huaXR0bGljaGVyIFJhdW0gaGF0IGhpZXIgZGVuIERlZmF1bHR3ZXJ0IDEuCisKK1NJRUhFIEFVQ0g6CisgICAgUF9UT1RBTF9MSUdIVCwgUF9JTlRfTElHSFQsIFBfUExBWUVSX0xJR0hULCBQX0xJR0hUX01PRElGSUVSLCBDYW5ub3RTZWUoKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTElHSFRfTU9ESUZJRVIgYi9kb2MvcHJvcHMvUF9MSUdIVF9NT0RJRklFUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDA5Yzc5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTElHSFRfTU9ESUZJRVIKQEAgLTAsMCArMSw0OSBAQAorTkFNRToKKyAgICBQX0xJR0hUX01PRElGSUVSICAgICAgICAgICAgICAgICAgICAgImxpZ2h0X21vZGlmaWVyIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIFZlcmFlbmRlcnQgZGFzIExpY2h0bGV2ZWwgZGFzIHZvbiBlaW5lbSBMZWJld2VzZW4gd2Focmdlbm9tbWVuIHdpcmQuCisgICAgRGVyIFdlcnQgZGllc2VyIFByb3BlcnR5IHdpcmQgYWRkaXRpdiBpbiBQX1BMQVlFUl9MSUdIVCBiZXJ1ZWNrc2ljaHRpZ3QuCisgICAgRXMgaXN0IGhpZXJtaXQgei5CLiBtb2VnbGljaCBlaW5lIFNvbm5lbmJyaWxsZSB6dSBwcm9ncmFtbWllcmVuLCBkaWVzZQorICAgIHZlcmFlbmRlcnQgamEgbmljaHQgZGFzIHRhdHNhZWNobGljaGUgTGljaHRsZXZlbCwgc29uZGVybiB2ZXJkdW5rZWx0IG51cgorICAgIGRpZSBTaWNodC4KKworQU5NRVJLVU5HOgorICAgIERhbWl0IE5QQ3MgaW4gZGVyIExhZ2Ugc2luZCBzb2xjaGUgR2VnZW5zdGFlbmRlIHJpY2h0aWcgZWluenVzY2hhZXR6ZW4sCisgICAgc29sbHRlIGRpZXNlIFByb3BlcnR5IGluIGplZGVtIEdlZ2Vuc3RhbmQgZGVyIGVpbmVuIExpZ2h0LU1vZGlmaWVyIHNldHp0LAorICAgIGF1Y2ggZ2VzZXR6dCBzZWluLiBEYXMgdmVyYWVuZGVybiBkaWVzZXIgUHJvcGVydHkgaW4gU3BpZWxlcm4gZHVyY2ggTlBDcworICAgIG9kZXIgR2VnZW5zdGFlbmRlIGlzdCBzZWxic3R2ZXJzdGFlbmRsaWNoIGdlbmVobWlndW5nc3BmbGljaHRpZy4KKworQkVJU1BJRUxFOgorICAgICAgIC8vIEVpbiBOUEMgZGVyIGF1Y2ggaW4gcmVsYXRpdiBkdW5rbGVuIFJhZXVtZW4gbWl0IExpY2h0bGV2ZWwgLTIKKyAgICAgICAvLyBub2NoIHNlaGVuIGthbm4uLi4KKyAgICAgICBjcmVhdGVfZGVmYXVsdF9ucGMoMTApOworICAgICAgIFNldFByb3AoUF9MSUdIVF9NT0RJRklFUiwgMyk7CisKKyAgICAgICAvLyBFaW5lIFNvbm5lbmJyaWxsZSwgZGllIGRhcyBMaWNodGxldmVsIHVtIGVpbnMgc2Vua3QuCisKKyAgICAgICBjcmVhdGUoKQorICAgICAgIHsKKyAgICAgICAgICA6CisgICAgICAgICAgU2V0UHJvcChQX0FSTU9VUl9UWVBFLCBBVF9HTEFTU0VTKTsKKyAgICAgICAgICBTZXRQcm9wKFBfTElHSFRfTU9ESUZJRVIsIC0xKTsKKyAgICAgICAgICA6CisgICAgICAgfQorCisgICAgICAgLy8gQWNodHVuZzogRmFsbHMgcGwgUXVlcnktIG9kZXIgU2V0LU1ldGhvZGVuIGF1ZiBQX0xJR0hUX01PRElGSUVSIGhhdCwKKyAgICAgICAvLyB3aXJkIGRpZXNlIE1ldGhvZGUgaGllciBmdXJjaHRiYXIgc2NoaWVmIGdlaGVuIHVuZCBpbSBiZXN0ZW4gRmFsbAorICAgICAgIC8vIG5pY2h0cyB2ZXJhZW5kZXJuLiBJbiByZWFsZW4gT2JqZWt0ZW4gZW1wZmllaGx0IHNpY2ggenVtaW5kZXN0IGVpbmUKKyAgICAgICAvLyBQcnVlZnVuZyBpbSBWb3JmZWxkLCBvYiBlaW5lIFF1ZXJ5LS9TZXQtTWV0aG9kZSBnZXNldHp0IGlzdC4KKyAgICAgICBwcm90ZWN0ZWQgdm9pZCBJbmZvcm1XZWFyKG9iamVjdCBwbCwgaW50IHNpbGVudCwgaW50IGFsbCkgeworICAgICAgICAgICBwbC0+U2V0UHJvcChQX0xJR0hUX01PRElGSUVSLCBwbC0+UXVlcnlQcm9wKFBfTElHSFRfTU9ESUZJRVIpIC0xKTsKKyAgICAgICB9CisKKyAgICAgICBwcm90ZWN0ZWQgdm9pZCBJbmZvcm1VbndlYXIob2JqZWN0IHBsLCBpbnQgc2lsZW50LCBpbnQgYWxsKSB7CisgICAgICAgICAgIHBsLT5TZXRQcm9wKFBfTElHSFRfTU9ESUZJRVIsIHBsLT5RdWVyeVByb3AoUF9MSUdIVF9NT0RJRklFUikgKzEpOworICAgICAgIH0KKworU0lFSEUgQVVDSDoKKyAgICBQX1RPVEFMX0xJR0hULCBQX0lOVF9MSUdIVCwgUF9QTEFZRVJfTElHSFQsIFBfTElHSFRfTU9ESUZJRVIsIENhbm5vdFNlZSgpCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MSUdIVF9UUkFOU1BBUkVOQ1kgYi9kb2MvcHJvcHMvUF9MSUdIVF9UUkFOU1BBUkVOQ1kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFmNDQxNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xJR0hUX1RSQU5TUEFSRU5DWQpAQCAtMCwwICsxLDE0IEBACitOQU1FOgorICAgIFBfTElHSFRfVFJBTlNQQVJFTkNZICAgICAgICAgICAgICJsaWdodF90cmFuc3BhcmVuY3kiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2NvbnRhaW5lci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBXaWV2aWVsIExpY2h0IHNjaGx1Y2t0IGVpbiBDb250YWluZXIsIGQuaC4gd2lldmllbCBMaWNodCBkcmluZ3QgYXVzCisgICAgZWluZW0gQmVoYWVsdGVyIG5vY2ggbmFjaCBkcmF1c3Nlbi4gQmVpIENvbnRhaW5lcm4gZGllIF9uaWNodF8KKyAgICB0cmFuc3BhcmVudCBzaW5kLCBsaWVmZXJ0IGVpbmUgX3F1ZXJ5X21ldGhvZCBoaWVyIGltbWVyIDk5OSB6dXJ1ZWNrLgorICAgIERlZmF1bHRtYWVzc2lnIHN0ZWh0IGRpZXNlIFByb3BlcnR5IGF1ZiAyLgorCitTSUVIRSBBVUNIOgorICAgIFBfVE9UQUxfTElHSFQsIFBfSU5UX0xJR0hULCBQX1BMQVlFUl9MSUdIVCwgUF9MSUdIVF9NT0RJRklFUiwgQ2Fubm90U2VlKCkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xJR0hUX1RZUEUgYi9kb2MvcHJvcHMvUF9MSUdIVF9UWVBFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3MzIyZTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MSUdIVF9UWVBFCkBAIC0wLDAgKzEsNzUgQEAKK05BTUU6CisgICAgUF9MSUdIVF9UWVBFICAgICAgICAgICAgICAgICAgICAgICAibGlnaHRfdHlwZSIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgR2lidCBhbiwgd2FzIGZ1ZXIgZWluIExpY2h0IGluIGVpbmVtIE9iamVrdCB2b3JoZXJyc2NodC4gCisgICAgCisgICAgRXMgc2luZCB2ZXJzY2hpZWRlbmUgJ2F0b21hcmUnIExpY2h0dHlwZW4sIHZvcmRlZmluaWVydDoKKyAgICBMVF9NSVNDICAgICAgICAgVW5iZXN0aW1tdCwga2VpbmUgQW5nYWJlbi4KKworICAgIExUX1NVTiAgICAgICAgICBTb25uZW5saWNodC4KKyAgICBMVF9NT09OICAgICAgICAgTW9uZGxpY2h0IAorICAgIExUX1NUQVJTICAgICAgICBTdGVybmVubGljaHQuCisgICAgCisgICAgTFRfRElGRlVTRSAgICAgIEluZGlyZWt0ZXMgVGFnZXNsaWNodC4gKHouQi4gaW0gV2FsZCkKKworICAgIExUX0NBTkRMRSAgICAgICBLZXJ6ZW5saWNodC4KKyAgICBMVF9UT1JDSCAgICAgICAgRmFja2Vsc2NoZWluLgorICAgIExUX09QRU5fRklSRSAgICBTb25zdGlnZXMgb2ZmZW5lcyBGZXVlci4gKExhZ2VyZmV1ZXIgZXRjLikKKyAgICAKKyAgICBMVF9NQUdJQyAgICAgICAgSXJnZW5kZWluZSBtYWdpc2NoZSBMaWNodHF1ZWxsZS4KKworICAgIExUX0dMT1dJTkcgICAgICBFaW5lIHNlbGJzdGxldWNodGVuZGUgTGljaHRxdWVsbGUuCisKKyAgICBMVF9EQVJLTkVTUyAgICAgS2VpbiB3aXJrbGljaGVzIExpY2h0LCBhYmVyIGF1Y2ggRHVua2VsaGVpdCBzb2xsCisgICAgICAgICAgICAgICAgICAgIGV4cGxpeml0IGdlc2V0enQgd2VyZGVuIGtvZW5uZW4uCisKKyAgICBJbiBlaW5lbSBPYmpla3Qga29lbm5lbiBtZWhyZXJlIExpY2h0dHlwZW4gZ2VzZXR6dCB3ZXJkZW4uIERpZXMKKyAgICBnZXNjaGllaHQgZHVyY2ggbG9naXNjaGUgT2Rlci1WZXJrbnVlcGZ1bmdlbiwgc2llaGUgbWFuIG9wZXJhdG9ycy4KKworICAgIFdlbm4gaW4gZWluZW0gUmF1bSBtZWhyIGFscyBlaW4gTGljaHR0eXAgZ2VzZXR6dCBpc3QsIGJlZGV1dGV0IGRhcywgCisgICAgbm9ybWFsZXJ3ZWlzZSwgZGFzcyBtZWhyZXJlIExpY2h0cXVlbGxlbiB2ZXJzY2hpZWRlbmVuIFR5cHMgaW0gUmF1bSAKKyAgICBzaW5kLgorCisgICAgRXMgZ2lidCB6dWRlbSBub2NoIExpY2h0dHlwZW4sIGRpZSB6dXNhbW1lbmdlc2V0enQgc2luZDoKKworICAgIExUX0RBWUxJR0hUICAgIFRhZ2VzbGljaHQgKFNvbm5lL0RpZmZ1c2UpCisgICAgTFRfTkFUVVJBTCAgICAgTmF0dWVybGljaGVzIExpY2h0IChEYXlsaWdodC9TdGVybmUvTW9uZCkKKyAgICBMVF9BUlRJRklDSUFMICBLdWVuc3RsaWNoZXMgTGljaHQgKE1hZ2llL0ZldWVyL0dsdWVoZW4pCisgICAgTFRfRklSRSAgICAgICAgRmV1ZXIgKEtlcnplbi9GYWNrZWxuL29mZmVuZXMgRmV1ZXIpCisKK0JFSVNQSUVMRToKKyAgICBFaW4gT2JqZWt0IHNvbGwgZWluIGdlaGVpbW5pc3ZvbGxlcyBHbHVlaGVuIHZvbiBzaWNoIGdlYmVuOgorICAgIAorICAgIG9iamVrdC0+U2V0UHJvcCggUF9MSUdIVF9UWVBFLCBMVF9HTE9XSU5HICkKKworICAgIFNvbGwgZWluIFJhdW0gYmVzY2hyaWViZW4gd2VyZGVuLCBkZXIgZHVyY2ggU3Rlcm5lbmxpY2h0IGVyaGVsbHQgaXN0LAorICAgIGluIGRlbSBhYmVyIHp1c2FldHpsaWNoIG5vY2ggZWluIExhZ2VyZmV1ZXIgYnJlbm50LCBzaWVodCBkaWUgU3ludGF4CisgICAgZm9sZ2VuZGVybWFzc2VuIGF1czoKKyAgICAKKyAgICByYXVtLT5TZXRQcm9wKCBQX0xJR0hUX1RZUEUsIExUX1NUQVJTfExUX09QRU5fRklSRSApOworCisgICAgRWluZXIgYnJlbm5lbmRlbiBIb3NlIGthbm4gZGVyIExpY2h0dHlwIGZ1ZXIgb2ZmZW5lcyBGZXVlciBtaXRnZWdlYmVuIAorICAgIHdlcmRlbi4gRXMgbXVzcyBqZWRvY2ggbmljaHQgendpbmdlbmQgZGVyIExpY2h0dHlwIGZ1ZXIgbWFnaXNjaGUKKyAgICBMaWNodHF1ZWxsZW4gYmVudXR6dCB3ZXJkZW4uIEVzIGlzdCBrbGFyLCBkYXNzIGVzIGlyZ2VuZHdhcyBtaXQgTWFnaWUKKyAgICB6dSB0dW4gaGF0LCB3ZW5uIGJyZW5uZW5kZSBTcGllbGVyIGR1cmNoIGRpZSBHZWdlbmQgbGF1ZmVuLCBvaG5lIHp1IAorICAgIHNjaHJlaWVuLiBQX0xJR0hUX1RZUEUgc29sbHRlIGplZG9jaCBkYXMgZmFzc2JhcmUgTGljaHQgYmVzY2hyZWliZW4uCisgICAgTFRfTUFHSUMgaXN0IGFsc28gZWhlciBlaW5lIE5vdGxvZXN1bmcgZnVlciBMaWNodCwgZGVzc2VuIFVyc2FjaGUgbWFuCisgICAgbmljaHQgZXJrbGFlcmVuIGthbm4uCisKKworQU5NRVJLVU5HOgorICAgIFBfTElHSFRfVFlQRSBkaWVudCBhdXNzY2hsaWVzc2xpY2ggZGVyIEJlc2NocmVpYnVuZyBkZXMgTGljaHRlcywgZGFzIAorICAgIHZvcmhlcnJzY2h0LiBFcyBpc3QgbmljaHQgdmVyYnVuZGVuIG1pdCBkZW0gTGljaHRzeXN0ZW0sIHVuZCBzb2xsIGVzCisgICAgYXVjaCBuaWNodCB3ZXJkZW4uCisKKyAgICBEaWUgRW1wZmluZGxpY2hrZWl0IGRlciBEdW5rZWxlbGZlbiBnZWdlbiBTb25uZW5saWNodCB3aXJkIHVlYmVyIGRpZXNlCisgICAgUHJvcGVydHkgZ2VzdGV1ZXJ0LiBTb2xsIGVpbiBSYXVtIG1pdCAoUF9JTkRPT1JTPT0wKSBzbyBkdW5rZWwgc2VpbiwgZGFzcworICAgIHNpZSBuaWNodCBpbiBHZWZhaHIgc2luZCwgc29sbHRlbiBuaWNodCBMVF9NSVNDIG9kZXIgTFRfU1VOIGdlc2V0enQKKyAgICBzZWluLgorCitTSUVIRSBBVUNIOgorICAgIENoZWNrTGlnaHRUeXBlLCAvc3RkL3RoaW5nL2Rlc2NyaXB0aW9uLmgsIG9wZXJhdG9ycwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTElRVUlEIGIvZG9jL3Byb3BzL1BfTElRVUlECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MzFhOGUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MSVFVSUQKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfTElRVUlEICAgICAgICAgICAgICAgICAgICAgICJ3X21heF93YXNzZXJmdWVsbG1lbmdlIiAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9maXNoaW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTE9DQUxDTURTIGIvZG9jL3Byb3BzL1BfTE9DQUxDTURTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhN2I1MTUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MT0NBTENNRFMKQEAgLTAsMCArMSwxMiBAQAorTkFNRToKKyAgICBQX0xPQ0FMQ01EUyAgICAgICAgICAgICAgICAgICAibG9jYWxjbWRzIiAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFaW4gQXJyYXkgdm9uIEFycmF5cyBhbGxlciBCZWZlaGxlIGRpZSBpbSBTcGllbGVyIHNlbGJzdCBkZWZpbmllcnQgc2luZC4KKyAgICAoeyAoeyAiYmVmZWhsIiwgImZ1bmt0aW9uIiwgZmxhZywgd2l6bGV2ZWwgfSkgfSkKKyAgICBXZW5uIGZsYWcgZ2VzZXR6dCBpc3Qgd2VyZGVuIG51ciBkaWUgZXJzdGVuIFplaWNoZW4gZGllIGF1Y2ggaW4gQmVmZWhsCisgICAgYW5nZWdlYmVuIHNpbmQgbWl0IGRlbSBWZXJiIHVlYmVycHJ1ZWZ0LiBTaWVoZSBhdWNoCisgICAgYWRkX2FjdGlvbigiZnVua3Rpb24iLCAiYmVmZWhsIiwgMSkgdW5kIEFkZENtZCgiYmVmZWhsIiwgImZ1bmt0aW9uIiwgMSkuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MT0NBVElPTiBiL2RvYy9wcm9wcy9QX0xPQ0FUSU9OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3MzQ0ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MT0NBVElPTgpAQCAtMCwwICsxLDE5IEBACitOQU1FOgorICAgIFBfTE9DQVRJT04gICAgICAgICAgICAgICAgICAgImxvY2F0aW9uIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBIaWVyIGthbm4gZGVyIFNwaWVsZXIgbWl0IGRlbSBCZWZlaGwgIm9ydCIgZGVuIE9ydCBzZXR6ZW4sCisgICAgdm9uIGRlbSBlciBrb21tdCBiencuIHp1IGtvbW1lbiBnbGF1YnQgOykKKyAgICBVbSB3aWVkZXIgZGVuIGF1dG9tYXRpc2NoIGVybWl0dGVsdGVuIE9ydCBhbnp1emVpZ2VuLCBpc3QKKyAgICBQX0xPQ0FUSU9OIGF1ZiAwIHp1IHNldHplbi4KKyAgICAKK1NJRUhFIEFVQ0g6CisgICAgb3J0CisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFNhdCBKdWwgMDEgMjM6MTY6MDAgMjAwMCBieSBNdXBmZWwKKyAgICAKKyAgICAKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xPR19JTkZPIGIvZG9jL3Byb3BzL1BfTE9HX0lORk8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZiZDhkYwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xPR19JTkZPCkBAIC0wLDAgKzEsMzIgQEAKK05BTUU6CisgICAgUF9MT0dfSU5GTyAgICAgICAgICAgICAgICAgICAgImxvZ19pbmZvIiAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFdlbm4gZGllc2UgUHJvcGVydHkgZ2VzZXR6dCBpc3Qgd2lyZCBqZWRlIEZyYWdlLCBkaWUgZWluCisgICAgIE1vbnN0ZXIgbmljaHQgYmVhbnR3b3J0ZW4ga2FubiwgaW0gUmVwb3J0LUZpbGUgZGVzCisgICAgIHp1c3RhZW5kaWdlbiBNYWdpZXJzIGdlbG9nZ3QuCisKKyAgICAgRXMgaXN0IGplZG9jaCBhdWNoIG1vZWdsaWNoLCBkaXJla3QgZWluZW4gRmlsZW5hbWVuIGFuenVnZWJlbi4KKyAgICAgQmVpIGRpZXNlbiB3aXJkIGRhbm4gamVkb2NoIGF1dG9tYXRpc2NoIGVpbiAvbG9nLyB2b3JuZSBhbmdlaGFlbmd0LgorCitCRUlTUElFTEU6CisgICAgIFNldFByb3AoUF9MT0dfSU5GTywxKTsgICAgICAgICAgIC8vIEFsbGUgZmVobGVuZGVuIEluZm9zIGRpZXNlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb25zdGVycyB3ZXJkZW4gaW4gZGFzIFJlcG9ydC0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmlsZSB1bnRlciAvbG9nL3JlcG9ydC8gZ2Vsb2d0LgorCisgICAgIFNldFByb3AoUF9MT0dfSU5GTywidGlsbHkvb3BhIik7IC8vIEFsbGUgZmVobGVuZGVuIEluZm9zIGRpZXNlcworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNb25zdGVycyB3ZXJkZW4gaW4gZGFzIEZpbGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9uc3RlciB1bnRlciAvbG9nL3RpbGx5LyBnZS0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9ndC4KK0JFTUVSS1VOR0VOOgorICAgICBCZWkgbmFjaHRyYWVnbGljaCBhbmdlc2NobG9zc2VuZW4gTW9uc3Rlcm4gZW1wZmllaGx0IHNpY2ggVmFyaWFudGUgCisgICAgIDIgZGVyIEJlaXNwaWVsZS4gRWluIG11ZWhzYW1lcyBTdWNoZW4gKHVuZCBMb2VzY2hlbikgZGVyIGZlaGxlbmRlbiAKKyAgICAgSW5mb3MgZGVzIE1vbnN0ZXJzIGltIFJlcG9ydC1GaWxlIGVydWVicmlndCBzaWNoIGRhbm4gbmFlbWxpY2guCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfTE9HX0ZJTEUsIHdyaXRlX2ZpbGUoKSwgbG9nX2ZpbGUoKSwgQWRkSW5mbworCitMZXR6dGUgQWVuZGVydW5nOiAxMy4wOS4wNCBUaWxseUBNb3JnZW5HcmF1ZW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX0xPTkcgYi9kb2MvcHJvcHMvUF9MT05HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0YTM2NTkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9MT05HCkBAIC0wLDAgKzEsMjkgQEAKK1BfTE9ORworTkFNRToKKyAgICAgUF9MT05HCQkJCQkibG9uZyIKKworREVGSU5JRVJUIElOOgorICAgICA8dGhpbmcvZGVzY3JpcHRpb24uaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWUgTGFuZ2Jlc2NocmVpYnVuZyBkZXMgT2JqZWt0ZXMgYWxzIFN0cmluZyBvZGVyIENsb3N1cmUgKGRpZXNlIG11c3MKKyAgICAgZWluZW4gU3RyaW5nIHp1cnVlY2tnZWJlbikuIERpZSBMYW5nYmVzY2hyZWlidW5nIHdpcmQgYmVpbSBVbnRlcnN1Y2hlbgorICAgICBkZXMgT2JqZWt0ZXMgYXVzZ2VnZWJlbi4gU2llIHNvbGx0ZSB1bWdlYnJvY2hlbiBzZWluLgorCisgICAgIERpZXNlIFByb3BlcnR5IGJlc3RpbW10IGRpZSBBbnNpY2h0IGRlcyBPYmpla3RlcyB2b24gYXVzc2VuLiBGdWVyIGRpZQorICAgICBJbm5lbihsYW5nKWFuc2ljaHQgdm9uIFJhZXVtZW4gbXVzcyBtYW4gUF9JTlRfTE9ORyBiZW51dHplbi4KKworQkVNRVJLVU5HRU46CisgICAgIC0gbG9uZygpICgidW50ZXJzdWNoZSIpIGZpbHRlcnQgUF9MT05HIGR1cmNoIHByb2Nlc3Nfc3RyaW5nKCkKKyAgICAgICAtPiBkYWhlciBzaW5kIENsb3N1cmVzIG1vZWdsaWNoCisKK0JFSVNQSUVMRToKKworICAgICBTZXRQcm9wKFBfTE9ORywgIkRpZXNlIEF4dCBpc3QgZWluZSBmdXJjaHRiYXJlIFdhZmZlIVxuIik7CisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6CVBfU0hPUlQsIGxvbmcoKQorICAgICBTb25zdGlnZXM6CQlQX0lOVF9MT05HLCBwcm9jZXNzX3N0cmluZygpLCBicmVha19zdHJpbmcoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTdW4gTWF5IDE5IDIwOjEwOjE4IDE5OTYgYnkgV2FyZ29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MT05HX0VNUFRZIGIvZG9jL3Byb3BzL1BfTE9OR19FTVBUWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTljY2UyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTE9OR19FTVBUWQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9MT05HX0VNUFRZICAgICAgICAgICAgICAgICAgIndfbG9uZ2Rlc2NfZW1wdHkiICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2Zpc2hpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgKioqIEtFSU5FIEJFU0NIUkVJQlVORyBWT1JIQU5ERU4gKioqCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9MT05HX0ZVTEwgYi9kb2MvcHJvcHMvUF9MT05HX0ZVTEwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2I5OTdmNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX0xPTkdfRlVMTApAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9MT05HX0ZVTEwgICAgICAgICAgICAgICAgICAgIndfbG9uZ2Rlc2NfZnVsbCIgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2Zpc2hpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgKioqIEtFSU5FIEJFU0NIUkVJQlVORyBWT1JIQU5ERU4gKioqCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NQUdJQyBiL2RvYy9wcm9wcy9QX01BR0lDCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYTBiYjcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQUdJQwpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9NQUdJQyAgICAgICAgICAgICAgICAgICAgICAgIm1hZ2ljIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlcyBPYmpla3QgaXN0IG1hZ2lzY2guCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NQUdJQ19SRVNJU1RBTkNFX09GRlNFVCBiL2RvYy9wcm9wcy9QX01BR0lDX1JFU0lTVEFOQ0VfT0ZGU0VUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2MTIwYTgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQUdJQ19SRVNJU1RBTkNFX09GRlNFVApAQCAtMCwwICsxLDMzIEBACitOQU1FOgorICAgICBQX01BR0lDX1JFU0lTVEFOQ0VfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgIm1hZ19yZXNfb2Zmc2V0IiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWFwcGluZyBtaXQgZ2FuenphaGxpZ2VuIFByb3plbnR3ZXJ0ZW4gaW4gMC4wMSUtU2Nocml0dGVuCisgICAgICgwLTEwMDAwKSB6dXIgUmVzaXN0ZW56L0VtcGZpbmRsaWNoa2VpdCBnZWdlbiBiZXN0aW1tdGUKKyAgICAgTWFnaWVrbGFzc2VuLgorCisgICAgIERpZSBQcm9wZXJ0eSB3aXJkIGluIGRlciBNZXRob2RlIFNwZWxsRGVmZW5kKCkgYXVzZ2V3ZXJ0ZXQgdW5kCisgICAgIGZ1ZXIgZWluZW4gYXVmIGRlbiBOUEMvU3BpZWxlciBnZXNwcm9jaGVuZW4gU3BlbGwgd2VyZGVuIGRpZQorICAgICBXZXJ0ZSBmdWVyIGFsbCBkZXNzZW4gTWFnaWVrbGFzc2VuIGF1ZmFkZGllcnQuIERhaGVyIHNpbmQgYXVjaAorICAgICBuZWdhdGl2ZSBXZXJ0ZSBmdWVyIGVpbnplbG5lIE1hZ2lla2xhc3NlbiBzaW5udm9sbC4KKworICAgICBQX01BR0lDX1JFU0lTVEFOQ0VfT0ZGU0VUIHVuZCBTcGVsbERlZmVuZCB3ZXJkZW4gdm9uIGRlbiBTcGVsbGJvb2tzCisgICAgIGF1c2dld2VydGV0LiBEZXIgRWluZmx1c3MgaXN0IGRhaGVyIGFiaORuZ2lnIHZvbSBTcGVsbGJvb2suCisKK0JFSVNQSUVMRToKKyAgICAgLy8gR29ibGlucworICAgICBTZXRQcm9wKFBfTUFHSUNfUkVTSVNUQU5DRV9PRkZTRVQsCisgICAgICAgICAgICAgICAoW01UX0FOR1JJRkY6NjAwLCAgICAgICAgIC8vIDYlIFJlc2lzdGVueiBnZWdlbiBBbmdyaWZmCisJICAgICAgICAgTVRfSUxMVVNJT046NTAwLCAgICAgICAgLy8gNiUgUmVzaXN0ZW56IGdlZ2VuIElsbHVzaW9uZW4KKyAgICAgICAgICAgICAgICAgTVRfVkVSV0FORExVTkc6LTMwMCwgICAgLy8gMyUgRW1wZmluZGxpY2hrZWl0CisJCSBNVF9IRUxMU0lDSFQ6LTc1MCwgICAgICAvLyA3LjUlIEVtcGZpbmRsaWNoa2VpdAorCQkgTVRfQkVIRVJSU0NIVU5HOjI1MF0pKTsgLy8gMi41JSBSZXNpc3RlbnoKKworU0lFSEUgQVVDSDoKKyAgICAgVmVyd2FuZHQ6ICAgICBTcGVsbERlZmVuZAorICAgICBBZWhubGljaDogICAgIFBfTk9NQUdJQworCisyOS5EZXogMjAwNyBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUFJTEFERFIgYi9kb2MvcHJvcHMvUF9NQUlMQUREUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMWI4NDlkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTUFJTEFERFIKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfTUFJTEFERFIgICAgICAgICAgICAgICAgICAgICJtYWlsYWRkciIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRU1haWxhZHJlc3NlIGRlcyBTcGllbGVycy4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BUF9SRVNUUklDVElPTlMgYi9kb2MvcHJvcHMvUF9NQVBfUkVTVFJJQ1RJT05TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkNDIyYzAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQVBfUkVTVFJJQ1RJT05TCkBAIC0wLDAgKzEsMzkgQEAKK05BTUU6CisgICAgUF9NQVBfUkVTVFJJQ1RJT05TICAgICAgICAgICAgICAgICAgICAgICJsaWJfcF9tYXBfcmVzdHJpY3Rpb25zIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9yb29tcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWl0IGRpZXNlciBQcm9wZXJ0eSBsYWVzc3Qgc2ljaCBiZWVpbmZsdXNzZW4sIHdlbGNoZSBJbmZvcm1hdGlvbmVuIHVlYmVyCisgICAgIGRlbiBSYXVtIGRhcyBNb3JnZW5ncmF1ZW4gZGVtIENsaWVudCB6dWtvbW1lbiBsYWVzc3QgKHp1ciBaZWl0IG51ciB2aWEKKyAgICAgR01DUCwgYWJlciBlcyBtYWcgaXJnZW5kd2FubiBhdWNoIGFuZGVyZSBXZWdlIGdlYmVuKS4KKyAgICAgQmVpc3BpZWxzd2Vpc2Ugc29sbGVuIHZpZWxsZWljaHQgaW4gZWluZW0gTGFieXJpbnRoIGtlaW5lIGVpbmRldXRpZ2VuCisgICAgIFJhdW0tSURzIHVlYmVybWl0dGVsdCB3ZXJkZW4uCisKKyAgICAgQWxzIFdlcnRlIGR1ZXJmZW4gYWxsZSBNUl8tS29uc3RhbnRlbiBhdXMgPHJvb21zLmg+IHZlcndlbmRldCB3ZXJkZW4uCisgICAgIERpZXNlIGR1ZXJmZW4gYXVjaCB2ZXItT0RFUi10IHdlcmRlbiwgd2VubiBtZWhyIGFscyBlaW5lIGRhdm9uIGdlbHRlbgorICAgICBzb2xsLgorCisgICAgIE1vZWdsaWNoZSBXZXJ0ZToKKyAgICAgICBNUl9OT1VJRCAtIHZlcmhpbmRlcnQsIGRhc3MgZGllIGVpbmRldXRpZ2UgUmF1bS1JRCB1ZWJlcnRyYWdlbiB3aXJkLgorICAgICAgIE1SX05PSU5GTyAtIHZlcmhpbmRlcnQsIGRhc3MgdWViZXJoYXVwdCBpcmdlbmRldHdhcyBhbiBkZW4gQ2xpZW50CisgICAgICAgICAgICAgICAgICAgdWViZXJtaXR0ZWx0IHdpcmQuIERhbWl0IGtyaWVndCBlciBnZ2YuIGF1Y2ggbmljaHQgbWl0LAorICAgICAgICAgICAgICAgICAgIGRhc3MgZXIgUmF1bSBnZXdlY2hzZWx0IHd1cmRlLiBJc3QgZnVlciBTZXF1ZW56cmFldW1lCisgICAgICAgICAgICAgICAgICAgZ2VkYWNodC4gQml0dGUgU0VIUiBzcGFyc2FtIGVpbnNldHplbi4KKworICAgICBEaWUgVmVyd2VuZHVuZyBkaWVzZXIgUHJvcGVydHkgc29sbHRlIGRlciBBdXNuYWhtZWZhbGwgc2VpbiEKKworQkVJU1BJRUw6CisgICAgIChpbiBlaW5lbSBSYXVtKQorICAgICBTZXRQcm9wKFBfTUFQX1JFU1RSSUNUSU9OUywgTVJfTk9VSUQpOworCisgICAgIE51biBiZWtvbW10IGRlciBDbGllbnQgendhciBkaWUgS3VyemJlc2NocmVpYnVuZyBkZXMgUmF1bXMsIGRpZSBSZWdpb24KKyAgICAgdW5kIGRpZSBzaWNodGJhcmVuIEF1c2dhZW5nZSwgYWJlciBrZWluZSBVSUQgbWVociB1ZWJlcm1pdHRlbHQuCisKK1NJRUhFIEFVQ0g6CisgICAgIGdtY3AKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjMuMDIuMjAxMywgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NQVJSSUVEIGIvZG9jL3Byb3BzL1BfTUFSUklFRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Njg0MDRlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTUFSUklFRApAQCAtMCwwICsxLDEyIEBACitOQU1FOgorICAgIFBfTUFSUklFRCAgICAgICAgICAgICAgICAgICAgICJtYXJyaWVkIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBFbnRoYWVsdCBlaW5lbiBTdHJpbmcgbWl0IGRlciB1aWQgZGVzIFBhcnRuZXJzCisgICAgIChzb2Zlcm4gdm9yaGFuZGVuKQorCitTSUVIRSBBVUNIOgorICAgICBzY2hlaWR1bmcKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BVEVSSUFMIGIvZG9jL3Byb3BzL1BfTUFURVJJQUwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWJlMWJlZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01BVEVSSUFMCkBAIC0wLDAgKzEsNzkgQEAKK1BfTUFURVJJQUwKK05BTUU6CisgICAgIFBfTUFURVJJQUwJCQkJCSJtYXRlcmlhbCIKKworREVGSU5JRVJUIElOOgorICAgICA8dGhpbmcvbWF0ZXJpYWwuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBNYXBwaW5nIG1pdCBwcm96ZW50dWFsZW4gQW50ZWlsZW4gdm9uIE1hdGVyaWFsaWVuLCBhdXMgZGVuZW4gZWluIE9iamVrdCAKKyAgICAgYmVzdGVodC4KKworQkVNRVJLVU5HRU46CisgICAgIEJlaSBTZXRQcm9wIGthbm4gbWFuIHp1IFZlcmVpbmZhY2h1bmcgYXVjaCBlaW4gZWluemVsbmVzIE1hdGVyaWFsIG9kZXIgCisgICAgIGVpbiBBcnJheSBhdXMgTWF0ZXJpYWxpZW4gYW5nZWJlbi4gRGllIEFudGVpbGUgd2VyZGVuIGRhbm4gCisgICAgIGdsZWljaG1hZXNzaWcgdmVydGVpbHQuCisKK0JFSVNQSUVMRToKKyAgICAgLy8gMTAwJSBFaXMKKyAgICAgU2V0UHJvcChQX01BVEVSSUFMLCBNQVRfSUNFKTsKKyAgICAgLy8gUXVlcnlQcm9wKFBfTUFURVJJQUwpIC0+IChbTUFUX0lDRToxMDBdKQorCisgICAgIC8vIDUwJSBFaXMsIDUwJSBNaXNjLUhvbHoKKyAgICAgU2V0UHJvcChQX01BVEVSSUFMLCAoeyBNQVRfSUNFLCBNQVRfTUlTQ19XT09EIH0pKTsKKyAgICAgLy8gUXVlcnlQcm9wKFBfTUFURVJJQUwpIC0+IChbTUFUX0lDRTo1MCwgTUFUX01JU0NfV09PRDogNTBdKQorCisgICAgIC8vIDYwJSBFaXMsIDQwJSBNaXNjLUhvbHoKKyAgICAgU2V0UHJvcChQX01BVEVSSUFMLCAoWyBNQVRfSUNFOiA2MCwgTUFUX01JU0NfV09PRDogNDAgXSkpOworCisgICAgIC8vIDEwMCUgUGFwaWVyCisgICAgIFNldFByb3AoUF9NQVRFUklBTCwgTUFUX1BBUEVSKTsKKyAgICAgLy8gUXVlcnlQcm9wKFBfTUFURVJJQUwpIC0+IChbTUFUX1BBUEVSOjEwMF0pCisKKyAgICAgLy8gNTAlIFNpbGJlciwgNTAlIEdvbGQKKyAgICAgU2V0UHJvcChQX01BVEVSSUFMLCAoe01BVF9TSUxWRVIsIE1BVF9HT0xEfSkpCisgICAgIC8vIFF1ZXJ5UHJvcChQX01BVEVSSUFMKSAtPiAoW01BVF9TSUxWRVI6NTAsTUFUX0dPTEQ6NTBdKQorCisgICAgIC8vIGVpbiB3ZWlzZXIgU2NobWllZCwgZGVyIHdhcyBkYXJhdXMgbWFjaHQ6CisgICAgIGludCBpOworICAgICBzdHJpbmcgKm1hdCwgbW5hbWUsIG1ncm91cDsKKyAgICAgbWF0PW1faW5kaWNlcyhvYi0+UXVlcnlQcm9wKFBfTUFURVJJQUwpKTsKKyAgICAgaT1zaXplb2YobWF0KTsKKworICAgICB3cml0ZSgiRGVyIFNjaG1pZWQgc2FndDogIitvYi0+TmFtZShXRVIpKyIgYmVzdGVodCBhdXMgLi4uXG4iKTsKKyAgICAgd2hpbGUoaS0tKSB7CisgICAgICAvLyBkZW4gTmFtZW4gZXJrZW5uZW4vYXVzc3ByZWNoZW46CisgICAgICAvLyBNYXRlcmlhbGllbiB3ZXJkZW4gYWxsZ2VtZWluIGdhbnogc2NobGVjaHQgZXJrYW5udCAoenUgNSUpLCBhYmVyCisgICAgICAvLyBhbGxlcyBhdXMgTWV0YWxsIHdpcmQgenUgKzEwMCUgZ3V0IGVya2FubnQgLi4uCisgICAgICBtbmFtZT1NQVRFUklBTERCLT5NYXRlcmlhbE5hbWUobWF0W2ldLCBXRVIsCisJICAgICAoezUsIChbTUFURVJJQUxfU1lNTUVUUklDX1JFQ09HTklaQUJJTElUWToKKwkJCSh7TUFUR1JPVVBfTUVUQUwsIDEwMH0pXSl9KSk7CisKKyAgICAgIC8vIHVuZCBudXIgTWV0YWxsZSBhbmFseXNpZXJlbiAuLi4KKyAgICAgIGlmKE1BVEVSSUFMREItPk1hdGVyaWFsR3JvdXAoKFttYXRbaV06MTAwXSksTUFUR1JPVVBfTUVUQUwpPj0xMDApIHsKKyAgICAgICBpbnQgajsKKyAgICAgICBzdHJpbmcgKm1ncjsKKyAgICAgICBtZ3I9TUFURVJJQUxEQi0+R2V0TWF0TWVtYmVyc2hpcChtYXRbaV0pOworICAgICAgIGo9c2l6ZW9mKG1ncik7CisgICAgICAgbWdyb3VwPSIgZ2Vob2VydCB6dSAiOworICAgICAgIHdoaWxlKGotLSkgeworICAgICAgICBtZ3JvdXArPU1BVEVSSUFMREItPkdyb3VwTmFtZShtZ3Jbal0pOworICAgICAgICBpZihqPjApIG1ncm91cCs9IiwgIjsKKyAgICAgICB9CisgICAgICB9IGVsc2UgbWdyb3VwPSIga2VubmUgaWNoIG5pY2h0IjsKKyAgICAgIHByaW50ZigiJS0xMi4xMnM6ICVzXG4iLG1uYW1lLCBtZ3JvdXApOworICAgICB9CisKKworU0lFSEUgQVVDSDoKKyAgICAgS29uemVwdGU6CSAgbWF0ZXJpYWwsIG1hdGVyaWFsZXJrZW5udW5nCisgICAgIEdydW5kbGVnZW5kOiAvc3lzL3RoaW5nL21hdGVyaWFsLmgKKyAgICAgTWV0aG9kZW46ICAgIFF1ZXJ5TWF0ZXJpYWwoKSwgUXVlcnlNYXRlcmlhbEdyb3VwKCksIE1hdGVyaWFsTGlzdCgpLAorICAgICBMaXN0ZW46CSAgQWxsTWF0ZXJpYWxzKCksIEFsbEdyb3VwcygpLCBEdW1wKCkKKwkJICBtYXRlcmlhbGxpc3RlLCBtYXRlcmlhbGdydXBwZW4KKyAgICAgTWFzdGVyOgkgIEFkZE1hdGVyaWFsKCksIENvbnZNYXRlcmlhbExpc3QoKSwgTWF0ZXJpYWxHcm91cCgpLAorCQkgIEdyb3VwTmFtZSgpLCBNYXRlcmlhbE5hbWUoKSwKKwkJICBHZXRHcm91cE1lbWJlcnMoKSwgR2V0TWF0TWVtYmVyc2hpcCgpCisgICAgIFNvbnN0aWdlczoJICBQX01BVEVSSUFMX0tOT1dMRURHRQorCis3LiBNYWkgMjAwNCBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BVEVSSUFMX0tOT1dMRURHRSBiL2RvYy9wcm9wcy9QX01BVEVSSUFMX0tOT1dMRURHRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTU0MDgzCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTUFURVJJQUxfS05PV0xFREdFCkBAIC0wLDAgKzEsMzkgQEAKK1BfTUFURVJJQUxfS05PV0xFREdFCitOQU1FOgorICAgICBQX01BVEVSSUFMX0tOT1dMRURHRQkJCQkibWF0ZXJpYWxfa25vd2xlZGdlIgorCitERUZJTklFUlQgSU46CisgICAgIDx0aGluZy9tYXRlcmlhbC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIE1hcHBpbmcsIENsb3N1cmUgb2RlciBJbnRlZ2VyIG1pdCBSZWdlbG4genVyIE1hdGVyaWFsaWVuZXJrZW5udW5nLiBEaWUKKyAgICAgUmVnZWxuIHNpbmQgaW4gIm1hbiBtYXRlcmlhbGVya2VubnVuZyIgenUgbGVzZW4uCisKKyAgICAgRGllc2Ugd2VyZGVuIGJlaSBBbmdhYmUgZWluZXMgU3BpZWxlcm9iamVrdGVzIGluIE1hdGVyaWFsTGlzdCgpIG9kZXIKKyAgICAgTWF0ZXJpYWxOYW1lKCkgYW4gZGllc2VtIGFiZ2VmcmFndCB1bmQgaGF0IEVpbmZsdXNzIGRhcmF1Ziwgb2IgZWluCisgICAgIE1hdGVyaWFsIGdlbmF1LCBnZW5lcmVsbCBvZGVyIGdhciBuaWNodCBlcmthbm50IHdpcmQuCisKKyAgICAgSW4gZGVuIGVpbnplbG5lbiBSYXNzZW5zaGVsbHMgc2luZCBEZWZhdWx0d2VydGUgZGFmdWVyIGFuZ2VnZWJlbi4KKworCitCRUlTUElFTEU6CisgICAgIC8vIEVya2VubnVuZ3Nib251cyBhdWYgZGl2ZXJzZSBNYXRlcmlhbGdydXBwZW4gdW5kCisgICAgIC8vIEVya2VubnVuZ3Nib251cy8tbWFsdXMgYXVmIGJpb2xvZ2lzY2hlL25pY2h0YmlvbG9naXNjaGUgTWF0ZXJpYWxpZW4KKyAgICAgU2V0UHJvcChQX01BVEVSSUFMX0tOT1dMRURHRSwKKwkoW01BVEdST1VQX1dPT0Q6MjAsCisJICBNQVRHUk9VUF9NRVRBTDoyMCwKKwkgIE1BVEdST1VQX0VMRU1FTlRBTDoyMCwKKwkgIE1BVEdST1VQX0NMT1RIOjIwLAorCSAgTUFURVJJQUxfU1lNTUVUUklDX1JFQ09HTklaQUJJTElUWTogKHtNQVRHUk9VUF9CSU8sNX0pXSkpOworCitTSUVIRSBBVUNIOgorICAgICBLb256ZXB0ZToJICBtYXRlcmlhbCwgbWF0ZXJpYWxlcmtlbm51bmcKKyAgICAgR3J1bmRsZWdlbmQ6IFBfTUFURVJJQUwsIC9zeXMvdGhpbmcvbWF0ZXJpYWwuaAorICAgICBNZXRob2RlbjogICAgUXVlcnlNYXRlcmlhbCgpLCBRdWVyeU1hdGVyaWFsR3JvdXAoKSwgTWF0ZXJpYWxMaXN0KCksCisgICAgIExpc3RlbjoJICBBbGxNYXRlcmlhbHMoKSwgQWxsR3JvdXBzKCksIER1bXAoKQorCQkgIG1hdGVyaWFsbGlzdGUsIG1hdGVyaWFsZ3J1cHBlbgorICAgICBNYXN0ZXI6CSAgQWRkTWF0ZXJpYWwoKSwgQ29udk1hdGVyaWFsTGlzdCgpLCBNYXRlcmlhbEdyb3VwKCksCisJCSAgR3JvdXBOYW1lKCksIE1hdGVyaWFsTmFtZSgpLAorCQkgIEdldEdyb3VwTWVtYmVycygpLCBHZXRNYXRNZW1iZXJzaGlwKCkKKworNy4gTWFpIDIwMDQgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NQVhfQUxDT0hPTCBiL2RvYy9wcm9wcy9QX01BWF9BTENPSE9MCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwYTY0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQVhfQUxDT0hPTApAQCAtMCwwICsxLDIxIEBACitOQU1FOgorCVBfTUFYX0FMQ09IT0wJCQkibWF4X2FsY29ob2wiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorCU51bWVyaXNjaGVyIFdlcnQgZnVlciBkZW4gbWF4aW1hbGVuIEdyYWQgZGVyIEJldHJ1bmtlbmhlaXQgZWluZXMKKwlMZWJld2VzZW5zLgorCitBTk1FUktVTkdFTjoKKwlEZXIgV2VydCB2b24gUF9NQVhfQUxDT0hPTCBpc3QgYmVpIGRlbiBlaW56ZWxuZW4gUmFzc2VuIHZlcnNjaGllZGVuLAorCWViZW5zbyB3aWUgZGVyIGZ1ZXIgUF9BTENPSE9MX0RFTEFZLiBEaWUgZ2VuYXVlbiBXZXJ0ZSBzdGVoZW4gaW4gZGVuCisJUmFzc2VuLVNoZWxscyAoL3N0ZC9zaGVsbHMpLgorCitTSUVIRSBBVUNIOgorCVBfQUxDT0hPTCwgUF9BTENPSE9MX0RFTEFZLCBkcmlua19hbGNvaG9sLAorCVBfTUFYX0ZPT0QsIFBfTUFYX0RSSU5LCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFR1ZSBEZWMgMTggMTI6MTY6MTAgMjAwMSBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BWF9EUklOSyBiL2RvYy9wcm9wcy9QX01BWF9EUklOSwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NDBlZGRjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTUFYX0RSSU5LCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisJUF9NQVhfRFJJTksJCQkibWF4X2RyaW5rIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKwlOdW1lcmlzY2hlciBXZXJ0IGZ1ZXIgZGllIG1heGltYWxlIFNhZXR0aWd1bmcgZWluZXMgTGViZXdlc2VucyBtaXQKKwlHZXRyYWVua2VuLgorCitBTk1FUktVTkdFTjoKKwlEZXIgV2VydCB2b24gUF9NQVhfRFJJTksgaXN0IGJlaSBkZW4gZWluemVsbmVuIFJhc3NlbiB2ZXJzY2hpZWRlbiwKKwllYmVuc28gd2llIGRlciBmdWVyIFBfRFJJTktfREVMQVkuIERpZSBnZW5hdWVuIFdlcnRlIHN0ZWhlbiBpbiBkZW4KKwlSYXNzZW4tU2hlbGxzICgvc3RkL3NoZWxscykuCisKK1NJRUhFIEFVQ0g6CisJUF9EUklOSywgUF9EUklOS19ERUxBWSwgZHJpbmtfc29mdCwKKwlQX01BWF9GT09ELCBQX01BWF9BTENPSE9MCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFR1ZSBEZWMgMTggMTI6MTY6MTAgMjAwMSBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BWF9GT09EIGIvZG9jL3Byb3BzL1BfTUFYX0ZPT0QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY0OWNmZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01BWF9GT09ECkBAIC0wLDAgKzEsMjAgQEAKK05BTUU6CisJUF9NQVhfRk9PRAkJCSJtYXhfZm9vZCIKKworREVGSU5JRVJUIElOOgorCS9zeXMvbGl2aW5nL2xpZmUuaAorCitCRVNDSFJFSUJVTkc6CisJTnVtZXJpc2NoZXIgV2VydCBmdWVyIGRpZSBtYXhpbWFsZSBTYWV0dGlndW5nIGVpbmVzIExlYmV3ZXNlbnMuCisKK0FOTUVSS1VOR0VOOgorCURlciBXZXJ0IHZvbiBQX01BWF9GT09EIGlzdCBiZWkgZGVuIGVpbnplbG5lbiBSYXNzZW4gdmVyc2NoaWVkZW4sIAorCWViZW5zbyB3aWUgZGVyIGZ1ZXIgUF9GT09EX0RFTEFZLiBEaWUgZ2VuYXVlbiBXZXJ0ZSBzdGVoZW4gaW4gZGVuCisJUmFzc2VuLVNoZWxscyAoL3N0ZC9zaGVsbHMpLgorCitTSUVIRSBBVUNIOgorCVBfRk9PRCwgUF9GT09EX0RFTEFZLCBlYXRfZm9vZCwKKwlQX01BWF9EUklOSywgUF9NQVhfQUxDT0hPTAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUdWUgRGVjIDE4IDEyOjE2OjEwIDIwMDEgYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NQVhfSEFORFMgYi9kb2MvcHJvcHMvUF9NQVhfSEFORFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTZiMWFlOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01BWF9IQU5EUwpAQCAtMCwwICsxLDI3IEBACitQX01BWF9IQU5EUworTkFNRToKKyAgICAgUF9NQVhfSEFORFMgICAgICAgICAgICAgICAgICAgIm1heF9oYW5kcyIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9jb21iYXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFuemFobCBkZXIgSGFlbmRlLCBkaWUgZWluIFdlc2VuIGhhdC4KKworQkVNRVJLVU5HRU46CisgICAgIEFuIGRpZXNlciBQcm9wZXJ0aWUgc29sbHRlIGJlaSBTcGllbGVybiBudXIgaW0gUmFobWVuIGRlcgorICAgICBHaWxkZW4gJ2dlc3BpZWx0JyB3ZXJkZW4uCisKKyAgICAgRnVlciBNYWdpZXIsIGRpZSBpbiBpaHJlbiBOcGMgZ2VybmUgYWxsZSBQcm9wZXJ0aWVzIHNldHplbiwKKyAgICAgZ2lsdCBmb2xnZW5kZXM6CisKKyAgICAgICAgICAgICAgICAgIFNldHp0IGRpZXNlIFByb3BlcnRpZSBOSUUgYXVmIDAgIQorCisgICAgIE9obmUgSGFlbmRlIHdpcmQga2VpbiBOcGMgaXJnZW5kZWluZW4gU3BpZWxlciBhbmdyZWlmZW4ga29lbm5lbi4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9IQU5EUywgUF9IQU5EU19VU0VEX0JZCisgICAgIFBfVVNFRF9IQU5EUywgUF9GUkVFX0hBTkRTCisgICAgIFVzZUhhbmRzLCBGcmVlSGFuZHMKKworMS5GZWIuMjAwNCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUFYX0hQIGIvZG9jL3Byb3BzL1BfTUFYX0hQCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYTg0YzQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQVhfSFAKQEAgLTAsMCArMSwxNCBAQAorTkFNRToKKyAgICBQX01BWF9IUCAgICAgICAgICAgICAgICAgICAgICAibWF4X2hwIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWF4aW1hbGUgQW56YWhsIGRlciBMZWJlbnNwdW5rdGUuCisKK1NJRUhFIEFVQ0g6CisgICAgIFByb3BzOglQX0hQCisgICAgIFZlcndhbmR0OglVcGRhdGVBdHRyaWJ1dGVzKCkKKworMjEuQXByaWwgMjAwNiBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BWF9PQkpFQ1RTIGIvZG9jL3Byb3BzL1BfTUFYX09CSkVDVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTc2ZjBkMQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01BWF9PQkpFQ1RTCkBAIC0wLDAgKzEsMjIgQEAKK05BTUU6CisgICAgUF9NQVhfT0JKRUNUUyAgICAgICAgICAgICAgICAgICJtYXhfb2JqZWN0cyIgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvY29udGFpbmVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNYXhpbWFsZSBBbnphaGwgYW4gT2JqZWt0ZW4sIGRpZSBpbiBlaW5lbiBDb250YWluZXIgcGFzc2VuLgorICAgICBQX01BWF9PQkpFQ1RTIHNvbGx0ZSBpbSBOb3JtZmFsbCB6d2lzY2hlbiAwIC0gMTAwIGxpZWdlbi4KKworQkVNRVJLVU5HRU46CisgICAgIFNvbGwgZXMgc2ljaCB1bSBlaW5lbiBoZXJhdXNyYWdlbmRlbiBDb250YWluZXIgaGFuZGVsbiwgZGVyIHp1bQorICAgICBCZWlzcGllbCBkYXMgR2V3aWNodCB1bSBtZWhyIGFscyA1MCUgcmVkdXppZXJ0LCBzb2xsdGUgUF9NQVhfT0JKRUNUUworICAgICBlaW5lbiBrbGVpbmVyZW4gV2VydCBoYWJlbi4gRGFzIFZlcmhhZWx0bmlzIHZvbiBQX01BWF9XRUlHSFQsCisgICAgIFBfV0VJR0hUX1BFUkNFTlQgdW5kIGRpZXNlciBQcm9wZXJ0eSBzb2xsdGUgc3RpbW1lbi4KKworQkVJU1BJRUxFOgorICAgICBBbHMgQmVpc3BpZWwgc29sbHRlIG1hbiBzaWNoIGRhcyBQb3N0cGFrZXQgYW5zZWhlbiB1bmQgc2ljaCBhbiBkZXNzZW4KKyAgICAgV2VydGVuIG9yaWVudGllcmVuICgvcC9zZXJ2aWNlL2xvY28vb2JqL3BhcmNlbCkuCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfTUFYX1dFSUdIVCwgUF9XRUlHSFRfUEVSQ0VOVCwgUF9MSUdIVF9UUkFOU1BBUkVOQ1ksIGNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUFYX1BBU1NFTkdFUlMgYi9kb2MvcHJvcHMvUF9NQVhfUEFTU0VOR0VSUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGJjNmE1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTUFYX1BBU1NFTkdFUlMKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfTUFYX1BBU1NFTkdFUlMgICAgICAgICAgICAgICJtYXhwYXNzIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE51bWVyaXNjaGVyIFdlcnQgZnVlciBkaWUgbWF4aW1hbGUgQW56YWhsIHZvbiBXZXNlbiBpbiBkZW0gVHJhbnNwb3J0ZXIuCisgICAgIDAgYmVkZXV0ZXQgdW5iZXNjaGFlbmt0ZSBTcGllbGVyemFobC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01BWF9QT0lTT04gYi9kb2MvcHJvcHMvUF9NQVhfUE9JU09OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1YjhlOWIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQVhfUE9JU09OCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX01BWF9QT0lTT04gICAgICAgICAgICAgICAgICAibWF4X3BvaXNvbiIgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWF4aW1hbGUgVmVyZ2lmdHVuZwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUFYX1NQIGIvZG9jL3Byb3BzL1BfTUFYX1NQCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwN2FhZjUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NQVhfU1AKQEAgLTAsMCArMSwxNCBAQAorTkFNRToKKyAgICBQX01BWF9TUCAgICAgICAgICAgICAgICAgICAgICAibWF4X3NwIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWF4aW1hbGUgQW56YWhsIGRlciBNYWdpZXB1bmt0ZS4KKworU0lFSEUgQVVDSDoKKyAgICAgUHJvcHM6CVBfU1AKKyAgICAgVmVyd2FuZHQ6CVVwZGF0ZUF0dHJpYnV0ZXMoKQorCisyMS5BcHJpbCAyMDA2IEdsb2luc29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUFYX1dFSUdIVCBiL2RvYy9wcm9wcy9QX01BWF9XRUlHSFQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UyZjE2YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01BWF9XRUlHSFQKQEAgLTAsMCArMSwxOSBAQAorTkFNRToKKyAgICBQX01BWF9XRUlHSFQgICAgICAgICAgICAgICAgICAibWF4X3dlaWdodCIgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvY29udGFpbmVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNYXhpbWFsZXMgR2V3aWNodCBpbiBHcmFtbSwgZGFzIGluIGRlbSBDb250YWluZXIgdmVyc3RhdXQgd2VyZGVuCisgICAgIGthbm4uCisKK0JFTUVSS1VOR0VOOgorICAgICBEYXMgVmVyaGFlbHRuaXMgdm9uIFBfV0VJR0hUX1BFUkNFTlQsIFBfTUFYX09CSkVDVFMgdW5kIGRpZXNlciBQcm9wZXJ0eQorICAgICBzb2xsdGUgc3RpbW1lbi4gRWluZSBmZXN0ZSBHcmVuemUgZ2lidCBlcyBuaWNodC4gQWxzIEJlaXNwaWVsIGthbm4gCisgICAgIGRhcyBQb3N0cGFrZXQgdm9uIExvY28gdW50ZXIgL3Avc2Vydml2ZS9sb2NvL29iaiBoZXJhbmdlem9nZW4gd2VyZGVuLgorICAgICBCZXNzZXJlIFdlcnRlIGFscyBpbiBkaWVzZW0gc29sbHRlIGVzIG5pY2h0LCB1bmQgd2VubiBkb2NoIG51ciBndXQgYmUtCisgICAgIGdydWVuZGV0LCBnZWJlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9XRUlHSFRfUEVSQ0VOVCwgUF9NQVhfT0JKRUNUUywgUF9MSUdIVF9UUkFOU1BBUkVOQ1ksIGNvbnRhaW5lcgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUVTU0FHRV9CRUVQIGIvZG9jL3Byb3BzL1BfTUVTU0FHRV9CRUVQCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNDBmYTUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NRVNTQUdFX0JFRVAKQEAgLTAsMCArMSwxOSBAQAorTkFNRToKKyAgICBQX01FU1NBR0VfQkVFUCAgICAgICAgICAgICAgICAgICAgICAgICJtZXNzYWdlX2JlZXAiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9jb21tLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZXJ0ZWJlcmVpY2g6IGludD0wLi4zNjAwIChTZWt1bmRlbikKKyAgICAgV2VubiBnZXNldHp0IHdpcmQgaW4gZGVyIEtvbW11bmlrYXRpb24gZGVzIFNwaWVsZXJzIGluIGRlbiBhbmdlZ2ViZW5lbgorICAgICBaZWl0cmFldW1lbiBlaW4gU2lnbmFsdG9uIGF1c2dlZ2ViZW4uIFdpcmQgaW4gcGxheWVyL2NvbW0uYyBpbiBjb21tX2JlZXAoKQorICAgICB2ZXJhcmJlaXRldC4KKyAgICAgQXVzZ2FiZSBlcmZvbGd0IG51ciwgd2VubiBQX1ZJU1VBTEJFTEwgbmljaHQgZ2VzZXR6dCBpc3QuCisgICAgIFdpcmQgaW0gU3BpZWxlcm9iamVrdCBnZXNwZWljaGVydCEKKworU0lFSEUgQVVDSDoKKyAgICAga2xpbmdlbHRvbiwgdG9uLCBQX1ZJU1VBTEJFTEwsIFBfTUVTU0FHRV9MQVNUX0JFRVAKKworTEVUWlRFIEFFTkRFUlVORzoKKyAgIDE2LiBNYWkgMjAwNyAgRW5ub3gKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01FU1NBR0VfUFJFUEVORCBiL2RvYy9wcm9wcy9QX01FU1NBR0VfUFJFUEVORApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTQ0ZGRhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTUVTU0FHRV9QUkVQRU5ECkBAIC0wLDAgKzEsMTggQEAKK05BTUU6CisgICAgUF9NRVNTQUdFX1BSRVBFTkQgICAgICAgICAgICAgICAgICAgICAgICAibWVzc2FnZV9wcmVwZW5kIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvY29tbS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2VydGViZXJlaWNoOiBpbnQgPSAwLDEKKyAgICAgV2VubiB2b20gWmllbCBlaW5nZXNjaGFsdGV0LCB3aXJkIHZvbiB0ZWlsZSBtaXQgKF90ZWxsKSB1bmQgc2FnIChfY29tbXVuaWNhdGUpIGRhcyAKKyAgICAgQlNfUFJFUEVORF9JTkRFTlQgRmxhZyBmdWVyIGJyZWFrX3N0cmluZyBnZW51dHp0LCB1bSBkZW4gSW5kZW50IChTZW5kZXIpIGdnZi4KKyAgICAgdm9yIGRlbSBUZXh0YmxvY2sgYW56dXplaWdlbi4KKyAgICAgV2lyZCBpbSBTcGllbGVyb2JqZWt0IGdlc3BlaWNoZXJ0IQorCitTSUVIRSBBVUNIOgorICAgICBncmFmaWsgYXVzLCBicmVha19zdHJpbmcsIHNlbmRlcndpZWRlcmhvbHVuZworCitMRVRaVEUgQUVOREVSVU5HOgorICAgMTYuIE1haSAyMDA3ICBFbm5veApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTUlOX1NUT0NLIGIvZG9jL3Byb3BzL1BfTUlOX1NUT0NLCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4OTZmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NSU5fU1RPQ0sKQEAgLTAsMCArMSwzNyBAQAorTkFNRToKKwlQX01JTl9TVE9DSwkJCSJtaW5fc3RvY2siCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2JhbmsuaAorCitCRVNDSFJFSUJVTkc6CisJUF9NSU5fU1RPQ0sgZW50aGFlbHQgZGllIEFuemFobCBhbiBPYmpla3RlbiwgZGllIGVpbiBMYWdlciBlaW5lcworCUxhZGVucyBtaW5pbWFsIGJlaGFlbHQuIFN0YW5kYXJkbWFlc3NpZyBlbnRzcHJpY2h0IGRpZXMgMjAgT2JqZWt0ZW4KKwl1bmQgc29sbHRlIGF1Y2ggbmljaHQgd2VzZW50bGljaCBlcmhvZWh0IHdlcmRlbi4gTnVyIGZ1ZXIKKwlBbmZhZW5nZXJnZWJpZXRlIHdhZXJlbiBXZXJ0ZSB6d2lzY2hlbiAyMCB1bmQgNjAgYWt6ZXB0YWJlbC4gSW4gZGllCisJQmVyZWNobnVuZyBkZXIgQW56YWhsIHZvbiBPYmpla3RlbiBnZWhlbiBrZWluZSBPYmpla3RlIGVpbiwgZGllIGltCisJTGFkZW4gbWl0dGVscyBBZGRGaXhlZE9iamVjdCgpIHN0YWVuZGlnIHZlcmZ1ZWdiYXIgZ2VtYWNodCB3b3JkZW4KKwlzaW5kIHVuZCBhdWNoIGtlaW5lIE9iamVrdGUsIGRpZSBwZXIgQWRkSXRlbSgpIGltIExhZ2VyIGhpbnp1Z2VmdWVndAorCXd1cmRlbiB1bmQgbmFjaCBqZWRlbSBSZXNldCBhdWZnZWZyaXNjaHQgd2VyZGVuLgorCUJlaSBqZWRlbSBSZXNldCB3aXJkIG51biBhdXMgU3BlaWNoZXItIHVuZCBMYWdncnVlbmRlbiBkYXMgTGFnZXIgdW0KKwllaW5lIGJlc3RpbW10ZSBQcm96ZW50emFobCBhbiBPYmpla3RlbiBkZXppbWllcnQuIEVudHNjaGVpZGVuZAorCWRhZnVlciBpc3QgZGVyIFdlcnQgaW4gZGVyIFByb3BlcnR5IFBfU1RPUkVfQ09OU1VNRS4KKwlCZWlkZSBoaWVyIGVyd2FlaG50ZW4gUHJvcGVydGllcyBzb2xsdGVuIHVlYmVyaWdlbnMgbnVyIG1pdHRlbHMKKwlRdWVyeVByb3AvU2V0UHJvcCBhdXNnZWxlc2VuIGJ6dy4gdmVyYWVuZGVydCB3ZXJkZW4uCisKK0JFSVNQSUVMOgorCUluICcvc3RkL3N0b3JlLmMnIGJlZmluZGV0IHNpY2ggYmVyZWl0cyBlaW4gZ3V0ZXMgQmVpc3BpZWwsIGRhIGRvcnQKKwlkZXIgU3RhbmRhcmR3ZXJ0IHZvbiAyMCBPYmpla3RlbiBiZXJlaXRnZXN0ZWxsdCB3aXJkOgorCSAgY3JlYXRlKCkKKwkgIHsgLi4uCisJICAgIFNldFByb3AoUF9NSU5fU1RPQ0ssMjApOworCSAgfQorCURpZXNlbiBXZXJ0IGthbm4gbWFuIGluIGVpbmVtIGRhdm9uIGFiZ2VsZWl0ZXRlbiBlaWdlbmVuIExhZ2VyCisJbmF0dWVybGljaCBhdWNoIHZlcmFlbmRlcm4uCisKK1NJRUhFIEFVQ0g6CisJUF9TVE9SRV9DT05TVU1FLCBTZXRTdG9yYWdlUm9vbSgpLCAvc3RkL3N0b3JlLmMsIC9zdGQvc2hvcC5jCisJQWRkSXRlbSgpLCBSZW1vdmVJdGVtKCksIEFkZEZpeGVkT2JqZWN0KCksIFJlbW92ZUZpeGVkT2JqZWN0KCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTktSnVuLTIwMTUsIEFyYXRob3JuIApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTU1TR0lOIGIvZG9jL3Byb3BzL1BfTU1TR0lOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNkOGU4NGUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NTVNHSU4KQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfTU1TR0lOICAgICAgICAgICAgICAgICAgICAgICJtbXNnaW4iICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvbW92aW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBTdHJpbmcgbWl0IGRlciBNZWxkdW5nLCBkaWUgYmVpbSBWZXJsYXNzZW4gZWluZXMgUmF1bWVzIG1pdCBNX1RQT1JUCisgICAgIGFuIGRpZSB1ZWJyaWdlbiBBbndlc2VuZGVuIGF1c2dlZ2ViZW4gd2lyZC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01NU0dPVVQgYi9kb2MvcHJvcHMvUF9NTVNHT1VUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZmQwOWYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NTVNHT1VUCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX01NU0dPVVQgICAgICAgICAgICAgICAgICAgICAibW1zZ291dCIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgU3RyaW5nIG1pdCBkZXIgTWVsZHVuZywgZGllIGJlaW0gQmV0cmV0ZW4gZWluZXMgUmF1bWVzIG1pdCBNX1RQT1JUCisgICAgIGFuIGRpZSB1ZWJyaWdlbiBBbndlc2VuZGVuIGF1c2dlZ2ViZW4gd2lyZC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01TR0lOIGIvZG9jL3Byb3BzL1BfTVNHSU4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2YxNGE5MQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01TR0lOCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX01TR0lOICAgICAgICAgICAgICAgICAgICAgICAibXNnaW4iICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgU3RyaW5nIG1pdCBkZXIgTWVsZHVuZywgZGllIGJlaW0gQmV0cmV0ZW4gZWluZXMgUmF1bWVzIG1pdCBNX0dPCisgICAgIGFuIGRpZSB1ZWJyaWdlbiBBbndlc2VuZGVuIGF1c2dlZ2ViZW4gd2lyZC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01TR09VVCBiL2RvYy9wcm9wcy9QX01TR09VVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNTg3YWZiCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTVNHT1VUCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX01TR09VVCAgICAgICAgICAgICAgICAgICAgICAibXNnb3V0IiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgU3RyaW5nIG1pdCBkZXIgTWVsZHVuZywgZGllIGJlaW0gVmVybGFzc2VuIGVpbmVzIFJhdW1lcyBtaXQgTV9HTworICAgICBhbiBkaWUgdWVicmlnZW4gQW53ZXNlbmRlbiBhdXNnZWdlYmVuIHdpcmQuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NU0dfUFJPQiBiL2RvYy9wcm9wcy9QX01TR19QUk9CCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1MjAwNjcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NU0dfUFJPQgpAQCAtMCwwICsxLDE5IEBACitOQU1FOgorICAgIFBfTVNHX1BST0IgICAgICAgICAgICAgICAgICAgICJtc2dfcHJvYiIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9yb29tL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBQYXJhbWV0ZXIgZnVlciBkaWUgV2FydGV6ZWl0IGluIFNla3VuZGVuIGJpcyB6dXIgbmFlY2hzdGVuIEF1c2dhYmUKKyAgICAgZWluZXIgUmF1bW5hY2hyaWNodC4KKyAgICAgV2lyZCBpbiBBZGRSb29tTWVzc2FnZSgpIGV4cGxpeml0IG1pdGdlc2V0enQuIEtvZW5udGUgbmF0dWVybGljaCB2b24KKyAgICAgZWluZXIgTmFjaHJpY2h0ZW5tZXRob2RlIGF1Y2ggcmVnZWxtYWVzc2lnIGdlYWVuZGVydCB3ZXJkZW4sIHVtCisgICAgIG1laHIgWnVmYWxsIGluIGRpZSBJbnRlcnZhbGxlIHp1IGJyaW5nZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIExGdW5zOiAgICBBZGRSb29tTWVzc2FnZSgpCisgICAgIFByb3BzOiAgICBQX1JPT01fTVNHLCBQX01TR19QUk9CCisgICAgIFZlcndhbmR0OiBjYWxsX291dCgpCisKKzIuRmViIDIwMTYgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX01VRF9ORVdCSUUgYi9kb2MvcHJvcHMvUF9NVURfTkVXQklFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYmI3N2YKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NVURfTkVXQklFCkBAIC0wLDAgKzEsMTcgQEAKK05BTUU6CisgICAgUF9NVURfTkVXQklFICAgICAgICAgICAgICAgICAgICAgICJfbGliX211ZF9uZXdiaWUiIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEZXIgU3BpZWxlciBoYXQgYmVpIEVyc3RlbGx1bmcgZGVzIENoYXJha3RlcnMgYW5nZWdlYmVuLCBub2NoIG5pZSBpbiBlaW5lbQorICAgIE11ZCBnZXNwaWVsdCB6dSBoYWJlbi4gSW4gZGllc2VtIEZhbGwgZW50aGFlbHQgZGllIFByb3BlcnR5IGRlbgorICAgIFplaXRzdGVtcGVsIGRlciBDaGFyYWt0ZXJlcnN0ZWxsdW5nLgorCisgICAgQUNIVFVORzogRGllc2UgUHJvcCB3aXJkIG5pY2h0IGdlc3BlaWNoZXJ0LCBkLmguIG5hY2hkZW0gZWluIHNvbGNoZXIKKyAgICBTcGllbGVyICJlbmRlIiBnZW1hY2h0IGhhdCBvZGVyIGVpbiBSZWJvb3QgZXJmb2xndGUsIGlzdCBkaWVzZSBJbmZvcm1hdGlvbgorICAgIHZlcmxvcmVuLgorCitTSUVIRSBBVUNIOgorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9NVVJERVJfTVNHIGIvZG9jL3Byb3BzL1BfTVVSREVSX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NWJiZjgxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTVVSREVSX01TRwpAQCAtMCwwICsxLDYzIEBACitQX01VUkRFUl9NU0cKKworTkFNRToKKyAgICAgUF9NVVJERVJfTVNHCQkJIm11cmRlcl9tc2ciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBJbiBkaWVzZXIgUHJvcGVydHkga2FubiBtYW4gZWluZW4gU3RyaW5nIG9kZXIgZWluZSBDbG9zdXJlIGFibGVnZW4KKyAgICAgZGVzc2VuIFdlcnQgYnp3LiBkZXJlbiBSZXN1bHRhdCBiZWltIFRvZCBkZXMgTlBDcyBhdWYgZGVtCisgICAgIE1vZXJkZXItS2FuYWwgZXJzY2hlaW50LgorICAgICBOb3JtYWxlcndlaXNlIGlzdCBkaWUgUHJvcGVydHkgbmljaHQgZ2VzZXR6dCwgd29yYXVmaGluIHp1ZmFlbGxpZworICAgICBlaW5lIE1lbGR1bmcgZ2VuZXJpZXJ0IHdpcmQuCisKKyAgICAgT2IgZGVyIFRvZCBlaW5lcyBOUENzIGF1ZiBkZW0gTW9lcmRlci1LYW5hbCBlcnNjaGVpbnQsIGhhZW5ndCBkYXZvbiBhYiwKKyAgICAgd2llIG9mdCB1bmQgd2VsY2hlIEFydCB2b24gTlBDcyBpbiBkZXIgbGV0enRlbiBaZWl0IGdldG9ldGV0IHd1cmRlbi4gWnVtCisgICAgIEJlaXNwaWVsIGlzdCBlcyBlaGVyIHNlbHRlbiwgZGFzcyBlaW4gc2Nod2FjaGVyIE5QQyBhdWYgZGVtIEthbmFsCisgICAgIGVyc2NoZWludCwgd2VubiBrdWVyemxpY2ggdmllbGUgc3RhcmtlIE5QQ3MgZ2V0b2V0ZXQgd3VyZGVuLiBBbGxlcmRpbmdzCisgICAgIGthbm4gbWFuIGF1ZiBkaWVzZSBSZWdlbHVuZyBtaXR0ZWxzIGRlciBQcm9wZXJ0eSBQX0ZPUkNFX01VUkRFUl9NU0cKKyAgICAgRWluZmx1c3MgbmVobWVuLgorCisgICAgIFdpcmQgaW4gZWluZW4gU3RyaW5nIGRlciBQbGF0emhhbHRlciAlcyBlaW5nZWZ1ZWd0LCBzbyBlcnNjaGVpbnQgYW4gZGVyCisgICAgIFN0ZWxsZSBzcGFldGVyIGRlciBOYW1lIGRlcyBNb2VyZGVycy4KKworQkVJU1BJRUxFOgorICAgICAvLyBadW0gQmVpc3BpZWwga29lbm50ZSBtYW4gamEgYmVpIGVpbmVyIFJhdHRlLCBkaWUgZ2V0b2V0ZXQgd2lyZCwKKyAgICAgLy8gZm9sZ2VuZGVzIGF1ZiBkZW0gTW9lcmRlci1LYW5hbCBhdXNnZWJlbiBsYXNzZW46CisgICAgIFNldFByb3AoUF9NVVJERVJfTVNHLAorICAgICAgICJSYXR0ZW4gYWxsZXIgTVVEcywgdmVyZWluaWd0IGV1Y2ggZ2VnZW4gJXMhIik7CisKKworICAgICAvLyBVbSBhdWNoIG1hbCBlaW5lIENsb3N1cmUgenUgemVpZ2VuOiBkaWUgUmF0dGUga/ZubnRlIGF1Y2ggaWhyZQorICAgICAvLyBNZWxkdW5nIGVyc3QgYmVpIGlocmVtIFRvZCBlcnN0ZWxsZW4gbGFzc2VuOgorICAgICBwcml2YXRlIHN0cmluZyBtb2VyZGVyX21lbGR1bmcoKSB7CisgICAgICAgcmV0dXJuICh7IkFjaHdlaCEiLCAiQXUhIiwgIldlaWEhIn0pW3JhbmRvbSgzKV07CisgICAgIH0KKworICAgICBTZXRQcm9wKFBfTVVSREVSX01TRywgIydtb2VyZGVyX21lbGR1bmcpOworCitCRU1FUktVTkdFTjoKKyAgICAgLSBQX05PQ09SUFNFOgorICAgICAgIElzdCBpbiBkZW0gTnBjIGRpZSBQcm9wZXJ0eSBQX05PQ09SUFNFIGdlc2V0enQsIHNvIHdpcmQgZGllCisgICAgICAgTW9lcmRlcm1lbGR1bmcgbmljaHQgYXVmIGRlbSBLYW5hbCBnZXNlbmRldCwgZGEgZGllc2UgQXVzZ2FiZSB1ZWJlcgorICAgICAgIC9zdGQvY29ycHNlIGxhZXVmdC4KKyAgICAgICBXaWxsIG1hbiBkZW5ub2NoIGVpbmUgTWVsZHVuZywgc28gc29sbHRlIG1hbiAvc3RkL2NvcnBzZSBpbSBkaWUoKQorICAgICAgIHNlbGJzdCBjbG9uZW4sIGRhcmFuIElkZW50aWZ5KHRoaXNfb2JqZWN0KCkpIHJ1ZmVuIHVuZCBkYXMgZ2VjbG9udGUKKyAgICAgICBPYmpla3Qgd2llZGVyIGVudHNvcmdlbi4KKworICAgICAtIENsb3N1cmVzOgorICAgICAgIENsb3N1cmVzIGJpZXRlbiBzaWNoIGFuLCB3ZW5uIGVpbiB6ZW50cmFsZXMgT2JqZWt0IGb8ciBtZWhyZXJlIE5QQ3MKKyAgICAgICBiZXN0aW1tdGUgTW9lcmRlcm1lbGR1bmdlbiBnZW5lcmllcmVuIHNvbGwuIERhbm4gbXVzcyBudXIgbm9jaCBiZWkKKyAgICAgICBkZW4gTlBDcyBkaWUgQ2xvc3VyZSwgZGllIGF1ZiBkaWUgZXJzdGVsbGVuZGUgTWV0aG9kZSB6ZWlndCBnZXNldHp0CisgICAgICAgd2VyZGVuLgorCitTSUVIRSBBVUNIOgorICAgICBUb2Q6CQlkaWUoTCkKKyAgICAgVmVyd2FuZHQ6CQlQX0ZPUkNFX01VUkRFUl9NU0cKKyAgICAgVG9kZXNtZWxkdW5nZW46CVBfS0lMTF9OQU1FLCBQX0tJTExfTVNHLCBQX0RJRV9NU0cKKwkJCVBfWkFQX01TRywgUF9FTkVNWV9ERUFUSF9TRVFVRU5DRQorICAgICBTb25zdGlnZXM6CQlQX0NPUlBTRSwgUF9OT0NPUlBTRSwgL3N0ZC9jb3Jwc2UuYworCiszMC4gTWFpIDIwMDYsIEdsb2luc29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTV9BVFRSX01PRCBiL2RvYy9wcm9wcy9QX01fQVRUUl9NT0QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE3OTcxNwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX01fQVRUUl9NT0QKQEAgLTAsMCArMSw0MiBAQAorTkFNRToKKyAgICBQX01fQVRUUl9NT0QgICAgICAgICAgICAgICAgICAibWFnaWNfYXR0cmlidXRlc19tb2RpZmllciIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2F0dHJpYnV0ZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgTWFwcGluZywgZGFzIGRpZSBBdHRyaWJ1dGUgZGVzIFNwaWVsZXJzIHZlcmFlbmRlcnQsIGRlciBkaWVzZSBSdWVzdHVuZworICAgIGJ6dy4gV2FmZmUgdHJhZWd0IGJ6dy4gYmVudXR6dC4KKworICAgIFp1IGJlYWNodGVuOgorICAgIFBfTV9BVFRSX01PRCBrYW5uIHByb2JsZW1sb3MgZHVyY2ggZWluIFNldFByb3AoKSBnZXNldHp0IHdlcmRlbi4gRXMgd2lyZAorICAgIG51ciBkYW5uIGJlcnVlY2tzaWNodGlndCwgd2VubiBkaWUgUnVlc3R1bmcvV2FmZmUgZ2V0cmFnZW4vYmVudXR6dCB3aXJkLgorICAgIEJlaW0gVHJhZ2VuL0F1c3ppZWhlbi9adWVja2VuL1dlZ3N0ZWNrZW4gd2lyZCBpbSBTcGllbGVyIGF1dG9tYXRpc2NoCisgICAgVXBkYXRlQXR0cmlidXRlcygpIGF1ZmdlcnVmZW4uCisKKyAgICBGdWVyIEtyYW5raGVpdGVuIGV0Yy4gb2RlciBPYmpla3RlLCBkZXJlbiAqQmVzaXR6KiBhbGxlaW4gc2Nob24gZGllCisgICAgQXR0cmlidXRlIHZlcmFlbmRlcm4gc29sbGVuLCB2ZXJ3ZW5kZXQgbWFuIGJlc3NlciBQX1hfQVRUUl9NT0QuCisKKyAgICBQX1hfQVRUUl9NT0QgdW5kIFBfTV9BVFRSX01PRCBkdWVyZmVuIGVpbmVuIGdlbWVpbnNhbWVuIGt1bXVsaWVydGVuCisgICAgcG9zaXRpdmVuIEdyZW56d2VydCBuaWNodCB1ZWJlcnNjaHJlaXRlbi4gRGllc2VyIEdyZW56d2VydCwKKyAgICBDVU1VTEFUSVZFX0FUVFJfTElNSVQsIGlzdCBpbiAvc3lzL2xpdmluZy9hdHRyaWJ1dGVzLmggZGVmaW5pZXJ0LgorCitCRU1FUktVTkdFTjoKKyAgICBEaWUgV2VydGUgc29sbHRlbiBtb2VnbGljaHN0IG5pY2h0IGR5bmFtaXNjaCBnZWFlbmRlcnQgd2VyZGVuLgorICAgIFdlbm4gZG9jaCwgbXVzcyBtaXQgVGVzdExpbWl0VmlvbGF0aW9uKCkgYW0gU3BpZWxlciBhdWYgVmFsaWRpdGFldAorICAgIGdlcHJ1ZWZ0IHVuZCBnZ2YuIG1pdCBVcGRhdGVBdHRyaWJ1dGVzKCkgYW4gaWhtIHVwZ2VkYXRldCB3ZXJkZW4uCisKK0JFSVNQSUVMRToKKyAgICAvLyBEZW0gU3BpZWxlciwgZGVyIGRhcyBPYmpla3QgYmVudXR6dCwgd2lyZCAyIHZvbiBBX0lOVCBhYmdlem9nZW4gdW5kCisgICAgLy8gZGFmdWVyIDEgYXVmIEFfU1RSIGF1ZmFkZGllcnQuCisgICAgU2V0UHJvcChQX01fQVRUUl9NT0QsIChbQV9JTlQ6LTIsIEFfU1RSOjFdKSApOworCitTSUVIRSBBVUNIOgorICAgIFF1ZXJ5QXR0cmlidXRlKCksIFF1ZXJ5UmVhbEF0dHJpYnV0ZSgpLCBRdWVyeUF0dHJpYnV0ZU9mZnNldCgpLAorICAgIFNldEF0dHJpYnV0ZSgpLCBTZXRSZWFsQXR0cmlidXRlKCksIFVwZGF0ZUF0dHJpYnV0ZXMoKSwKKyAgICBTZXRUaW1lZEF0dHJNb2RpZmllcigpLCBRdWVyeVRpbWVkQXR0ck1vZGlmaWVyKCksCisgICAgRGVsZXRlVGltZWRBdHRyTW9kaWZpZXIoKSwKKyAgICBQX1hfSEVBTFRIX01PRCwgUF9NX0hFQUxUSF9NT0QsIFBfQVRUUklCVVRFUywgUF9BVFRSSUJVVEVTX09GRlNFVFMsCisgICAgUF9USU1FRF9BVFRSX01PRCwgUF9YX0FUVFJfTU9ELCBQX01fQVRUUl9NT0QsIC9zdGQvbGl2aW5nL2F0dHJpYnV0ZXMuYworCiswMi4wMi4yMDE2LCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTV9IRUFMVEhfTU9EIGIvZG9jL3Byb3BzL1BfTV9IRUFMVEhfTU9ECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0Yzg5ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9NX0hFQUxUSF9NT0QKQEAgLTAsMCArMSw0MCBAQAorTkFNRToKKyAgICAgUF9NX0hFQUxUSF9NT0QgICAgICAgICAgICAgICAgICAibWFnaWNfaGVhbHRoX21vZGlmaWVyIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL2F0dHJpYnV0ZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1hcHBpbmcsIG1pdCBkZW0gZGllIG1heGltYWxlbiBMZWJlbnNwdW5rdGUgdW5kIE1hZ2llcHVua3RlIGVpbmVzIAorICAgICBTcGllbGVycyB2ZXJhZW5kZXJ0IHdlcmRlbiwgZGVyIGRpZXNlIFJ1ZXN0dW5nL1dhZmZlIHRyYWVndC9iZW51dHp0LiBJbSAKKyAgICAgR2VnZW5zYXR6IHp1IFBfTV9BVFRSX01PRCBlcmZvbGd0IGhpZXIgamVkb2NoIGtlaW5lIEJsb2NrYWRlLgorCisgICAgIFp1IGJlYWNodGVuOiBQX01fSEVBTFRIX01PRCBrYW5uIHByb2JsZW1sb3MgZHVyY2ggZWluIFNldFByb3AoKSBnZXNldHp0IAorICAgICB3ZXJkZW4sIGVzIHdpcmQgbnVyIGJlcnVlY2tzaWNodGlndCwgd2VubiBkaWUgUnVlc3R1bmcvV2FmZmUgCisgICAgIGdldHJhZ2VuL2JlbnV0enQgd2lyZC4gQmVpbSB0cmFnZW4vYXVzemllaGVuL3p1ZWNrZW4vd2Vnc3RlY2tlbiB3aXJkIGltIAorICAgICBTcGllbGVyIGF1dG9tYXRpc2NoIFVwZGF0ZUF0dHJpYnV0ZXMoKSBhdWZnZXJ1ZmVuLgorCisgICAgIEZ1ZXIgS3JhbmtoZWl0ZW4gZXRjLiB2ZXJ3ZW5kZXQgbWFuIGJlc3NlciBkaWUgUHJvcGVydHkgUF9YX0hFQUxUSF9NT0QuCisKKyAgICAgQml0dGUgYmVhY2h0ZW46IERpZSBwb3NpdGl2ZW4gTW9kaWZpZXIgd2VyZGVuIG5pY2h0IG1laHIgMToxIGF1ZiBkaWUKKyAgICAgTGViZW5zLSB1bmQgTWFnaWVwdW5rdGUgZHJhdWZhZGRpZXJ0LiBTdGF0dGRlc3NlbiB3aXJkIG51ciBub2NoIGVpbiAKKyAgICAgZ2V3aXNzZXIgVGVpbCBkb3J0IGhpbnp1YWRkaWVydCwgZGVyIG1pdCBncm9lc3NlcmVyIE1lbmdlIHZvbiBQdW5rdGVuCisgICAgIHp1bmltbXQsIHVuZCBpbSB1bnRlcmVuIEJlcmVpY2ggZ3JvYiBkZW0gV2VydCBlbnRzcHJpY2h0LiBEYXMgCisgICAgIHRoZW9yZXRpc2NoZSBNYXhpbXVtIGlzdCBpbnNnZXNhbXQgMTQ5LgorCitCRU1FUktVTkdFTjoKKyAgICAgRGllIFdlcnRlIHNvbGx0ZW4gbW9lZ2xpY2hzdCBuaWNodCBkeW5hbWlzY2ggZ2VhZW5kZXJ0IHdlcmRlbi4KKyAgICAgV2VubiBkb2NoLCBtdXNzIG1pdCBUZXN0TGltaXRWaW9sYXRpb24oKSBhbSBTcGllbGVyIGF1ZiBWYWxpZGl0YWV0IAorICAgICBnZXBydWVmdCB3ZXJkZW4gdW5kIG1pdCBVcGRhdGVBdHRyaWJ1dGVzKCkgYW4gaWhtIGdnZi4gdXBnZWRhdGV0LgorCitCRUlTUElFTDoKKyAgICAgU2V0UHJvcChQX01fSEVBTFRIX01PRCwoW1BfSFA6NSxQX1NQOi01XSkpOworICAgICAvLyBEZW0gU3BpZWxlciwgZGVyIGRhcyBPYmpla3QgYmVudXR6dCwgd2lyZCBQX01BWF9IUCB1bSA1IGVyaG9laHQgdW5kCisgICAgIC8vIFBfTUFYX1NQIHVtIDUgZXJuaWVkcmlndC4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9YX0hFQUxUSF9NT0QsIFBfWF9BVFRSX01PRCwgUF9NX0FUVFJfTU9ELCBiYWxhbmNlCisKK0xFVFpURSBBZU5ERVJVTkc6CisgICAgRnJlLDExLjA1LjIwMDcsIDAwOjIwIHZvbiBIdW1uaQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9OQU1FIGIvZG9jL3Byb3BzL1BfTkFNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjA5Y2VhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTkFNRQpAQCAtMCwwICsxLDY1IEBACitQX05BTUUKKworTkFNRToKKyAgICAgUF9OQU1FICJuYW1lIgorCitERUZJTklFUlQgSU46CisgICAgIDx0aGluZy9kZXNjcmlwdGlvbi5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIEluIGRpZXNlciBQcm9wZXJ0eSB3aXJkIGRlciBOYW1lIGVpbmVzIE9iamVrdGVzIHZlcm1lcmt0LiBXZW5uIGRlciBOYW1lCisgICAgIHJlZ2VsbWFlc3NpZyBkZWtsaW5pZXJ0IHdpcmQsIHJlaWNodCBlaW4gZWluZmFjaGVyIFN0cmluZy4gV2lyZCBkZXIKKyAgICAgTmFtZSB1bnJlZ2VsbWFlc3NpZyBkZWtsaW5pZXJ0LCBzbyBrYW5uIG1hbiBlaW4gQXJyYXkgdm9uIHZpZXIgU3RyaW5ncworICAgICBtaXQgZGVtIE5hbWVuIGltIE5vbWluYXRpdiwgR2VuaXRpdiwgRGF0aXYgdW5kIEFra3VzYXRpdiAoaW4gZGllc2VyCisgICAgIFJlaWhlbmZvbGdlKSBhbmdlYmVuLgorCisgICAgIERpZSBGdW5rdGlvbiBuYW1lKCkgYmVoYW5kZWx0IHJlY2h0IHZpZWxlIFNvbmRlcmZhZWxsZTsgbWFuIHNvbGx0ZSBkZW4KKyAgICAgTmFtZW4gYWxzbyBlcnN0IGVpbm1hbCBpbiBkZXIgRm9ybSBlaW5lcyBlaW56ZWxuZW4gU3RyaW5ncyBwcnVlZmVuLgorCisgICAgIEVpbmUgU29uZGVycm9sbGUgbmVobWVuIFVuaXQtT2JqZWt0ZSBlaW46IEhpZXIga2FubiBtYW4gZWluZW4gTmFtZW4KKyAgICAgZnVlciBkZW4gU2luZ3VsYXIgdW5kIGVpbmVuIE5hbWVuIGZ1ZXIgZGVuIFBsdXJhbCB2ZXJnZWJlbi4KKworICAgICBTZXR6dCBtYW4gUF9OQU1FIGVpbmVzIFVuaXQtT2JqZWt0cyBhdWYgZWluZW4gZWluZmFjaGVuIFN0cmluZywgc28gd2lyZAorICAgICBkaWVzZXIgYWxzIE5hbWUgc293b2hsIGltIFNpbmd1bGFyIGFscyBhdWNoIGltIFBsdXJhbCB2ZXJ3ZW5kZXQuCisKKyAgICAgVWViZXJnaWJ0IG1hbiBlaW4gQXJyYXkgdm9uIFN0cmluZ3MsIHNvIHdpcmQgZGVyIGVyc3RlIEVpbnRyYWcgZnVlciBkZW4KKyAgICAgU2luZ3VsYXIgdW5kIGRlciB6d2VpdGUgRWludHJhZyBmdWVyIGRlbiBQbHVyYWwgYmVudXR6dC4KKworICAgICBCZWkgVW5pdC1PYmpla3RlbiBpc3QgZXMgbmljaHQgbW9lZ2xpY2gsIGF1Y2ggbm9jaCB6d2lzY2hlbiBkZW4KKyAgICAgdmVyc2NoaWVkZW5lbiBGYWVsbGVuIHp1IHVudGVyc2NoZWlkZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbnVyIGRlbiByZWluZW4gTmFtZW4gZW50aGFsdGVuOyB3aWxsIG1hbiBkZW0KKyAgICAgTmFtZW4gbm9jaCBBZGpla3RpdmUgdm9yYW5zdGVsbGVuLCBzbyBzb2xsdGUgbWFuIGRpZXMgbWl0IFBfTkFNRV9BREoKKyAgICAgYmV3ZXJrc3RlbGxpZ2VuLCBhbHNvIHN0YXR0CisKKyAgICAgU2V0UHJvcChQX05BTUUsICh7ICJhbHRlciBIdXQiLCAiYWx0ZW4gSHV0cyIsCisgICAgICAgICAgICAgICAgICAgICAgICAiYWx0ZW4gSHV0IiwgImFsdGVuIEh1dCIgfSkgKTsKKworICAgICBiZXNzZXIKKworICAgICBTZXRQcm9wKFBfTkFNRSwgIkh1dCIpOworICAgICBTZXRQcm9wKFBfTkFNRV9BREosICJhbHQiKTsKKworICAgICBCZWkgTGViZXdlc2VuIHdpcmQgbG93ZXJfY2FzZShQX05BTUUpIChiZWkgQXJyYXlzIGRhcyBlcnN0ZSBFbGVtZW50IAorICAgICBkYXJhdXMpIGF1dG9tYXRpc2NoIGFscyBMaXZpbmdOYW1lIGdlc2V0enQuCisKK0JFSVNQSUVMRToKKyAgICAgRWluIHJlZ2VsbWFlc3NpZyBkZWtsaW5pZXJiYXJlciBOYW1lOgorCisgICAgIFNldFByb3AoUF9OQU1FLCAiQXJrc2hhdCIpOworCisgICAgIEhpZXIgZWluIEJlaXNwaWVsIGZ1ZXIgZWluZW4gdW5yZWdlbG1hZXNzaWcgZGVrbGluaWVyYmFyZW4gTmFtZW46CisKKyAgICAgU2V0UHJvcChQX05BTUUsICh7ICJEcmFjaGUiLCAiRHJhY2hlbiIsICJEcmFjaGVuIiwgIkRyYWNoZW4iIH0pKTsKKworICAgICBVbmQgc2NobGllc3NsaWNoIGRlciBOYW1lIGVpbmVzIGFsbHNlaXRzIGJla2FubnRlbiBVbml0LU9iamVrdGVzOgorCisgICAgIFNldFByb3AoUF9OQU1FLCAoeyAiTXVlbnplIiwgIk11ZW56ZW4iIH0pKTsKKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC90aGluZy9kZXNjcmlwdGlvbi5jLCBuYW1lKCksIFBfTkFNRV9BREosIHNldF9saXZpbmdfbmFtZSgpLAorICAgICBmaW5kX2xpdmluZygpLCBmaW5kX2xpdmluZ3MoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiAxOS4gT2t0LiAyMDE1LCBBcmF0aG9ybi4gCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9OQU1FX0FESiBiL2RvYy9wcm9wcy9QX05BTUVfQURKCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiZjE1ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OQU1FX0FESgpAQCAtMCwwICsxLDU1IEBACitQX05BTUVfQURKCisKK05BTUU6CisgICAgIFBfTkFNRV9BREogIm5hbWVfYWRqIgorCitERUZJTklFUlQgSU46CisgICAgIDx0aGluZy9kZXNjcmlwdGlvbi5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbiBvZGVyIG1laHJlcmUgQWRqZWt0aXZlIGluIEZvcm0gZWluZXMgQXJyYXlzCisgICAgIHZvbiBTdHJpbmdzLiBFcyBpc3QgbnVyIGRlciBXb3J0c3RhbW0gYW56dWdlYmVuISBEaWUgQWRqZWt0aXZlIHdlcmRlbgorICAgICB2b24gZGVyIEZ1bmt0aW9uIG5hbWUoKSBkZWtsaW5pZXJ0IHVuZCB2b3IgZGVuIE5hbWVuIGdlc2V0enQsIHdpcmtlbgorICAgICBhbHNvIGFscyBBdWZ6YWVobHVuZyB2b24gQWRqZWt0aXZlbiB2b3IgZGVtIE5hbWVuLgorCisgICAgIERpZSBoaWVyIGFuZ2VnZWJlbmVuIEFkamVrdGl2ZSBkaWVuZW4gbnVyIHp1ciBBdXNnYWJlISBTb2xsIHNpY2ggZGFzCisgICAgIE9iamVrdCBhdWNoIHVlYmVyIEFkamVrdGl2ZSBhbnNwcmVjaGVuIGxhc3NlbiwgbXVzcyBtYW4gZGllc2UgbWl0CisgICAgIEFkZEFkamVjdGl2ZSgpIHVlYmVyZ2ViZW4uCisKKyAgICAgU29sbCBkYXMgT2JqZWt0IG51ciBlaW4gZWluemVsbmVzIE5hbWVuc2FkamVrdGl2IGJlc2l0emVuLCBrYW5uIG1hbiBkZW0KKyAgICAgU2V0UHJvcCgpLUF1ZnJ1ZiBhdWNoIGVpbmVuIFN0cmluZyB1ZWJlcmdlYmVuOyBnZXNwZWljaGVydCB3aXJkIGRpZQorICAgICBQcm9wZXJ0eSBhYmVyIGluIGplZGVtIEZhbGwgYWxzIEFycmF5LgorCisgICAgIFdlbm4gZWluIEFkamVrdGl2IHVucmVnZWxtYWVzc2lnIGlzdCwga2FubiBtYW4gZGllIHZpZXIgRmFlbGxlIGF1Y2gKKyAgICAgYWxzIEFycmF5IHVlYmVyZ2ViZW4uIE1hbiBtdXNzIGRhbm4gYWJlciBBcnJheXMgc2NoYWNodGVsbiwgZGFtaXQgdm9uIGRlbgorICAgICBtZWhyZmFjaGVuIEFkamVrdGl2ZW4gdW50ZXJzY2hpZWRlbiB3ZXJkZW4ga2Fubi4KKwkKK0JFSVNQSUVMRToKKyAgICAgU2V0UHJvcChQX05BTUUsICJIdXQiKTsKKyAgICAgU2V0UHJvcChQX05BTUVfQURKLCAiYWx0Iik7CisKKyAgICAgbmFtZShXRVNTRU4sMSkgICAgICA9PiAiZGVzIGFsdGVuIEh1dHMiCisKKworICAgICAvLyBad2VpIEFkamVrdGl2ZSwgZ2xlaWNocmFuZ2lnIHp1IFN1YnN0YW50aXYKKyAgICAgU2V0UHJvcChQX05BTUVfQURKLCAoeyJhbHQiLCAiZ2FtbWVsaWcifSkpOworCisgICAgIG5hbWUoV0VTU0VOLDEpICAgICAgPT4gImRlcyBhbHRlbiwgZ2FtbWVsaWdlbiBIdXRzIgorCisKKyAgICAgLy8gWndlaSBBZGpla3RpdmUsIGVyc3RlcyBpc3QgQXR0cmlidXQgenUgendlaXRlbQorICAgICBmYWxzY2g6ICBTZXRQcm9wKFBfTkFNRV9BREosICh7ImdydWVuIiwgImdlc3RyZWlmdCJ9KSk7CisgICAgICAgICAgICAgIG5hbWUoV0VTU0VOLDEpICAgICAgPT4gImRlcyBncnVlbmVuLCBnZXN0cmVpZnRlbiBIdXRzIgorICAgICByaWNodGlnOiBTZXRQcm9wKFBfTkFNRV9BREosICh7ImdydWVuIGdlc3RyZWlmdCJ9KSk7CisgICAgICAgICAgICAgIG5hbWUoV0VTU0VOLDEpICAgICAgPT4gImRlcyBncnVlbiBnZXN0cmVpZnRlbiBIdXRzIgorCisgICAgIC8vIFVucmVnZWxtYWVzc2lnZXMgQWRqZWt0aXYKKyAgICAgU2V0UHJvcCggUF9OQU1FX0FESiwoeyh7InJvc2EiLCJyb3NhIiwicm9zYSIsInJvc2EifSl9KTsKKyAgICAgICAgICAgICAgbmFtZShXRVNTRU4sMSkgICAgICAgICA9PiAiZGVzIHJvc2EgSHV0cyIKKyAgICAgLy8gT2huZSBpbm5lcmVzIEFycmF5IGhhZXR0ZSBtYW4gNCBtYWwgcm9zYSBhbHMgQWRqZWt0aXYKKyAgICAgLy8gPT4gImRlcyByb3NhZW4sIHJvc2Flbiwgcm9zYWVuLCByb3NhZW4gSHV0cyIKKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC90aGluZy9kZXNjcmlwdGlvbi5jLCBuYW1lKCksIFBfTkFNRSwgRGVjbEFkaigpCisKKzIzLkFwcmlsIDIwMDcgUnVtYXRhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ORUVERURfUVAgYi9kb2MvcHJvcHMvUF9ORUVERURfUVAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTM4ZjllYgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05FRURFRF9RUApAQCAtMCwwICsxLDE1IEBACitOQU1FOgorICAgIFBfTkVFREVEX1FQICAgICAgICAgICAgICAgICAgICJuZWVkZWRfcXAiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgQVBzLCBkaWUgbWFuIGZ1ZXIgZGVuIFNlaGVyc3RhdHVzIGJyYXVjaHQKKworICAgICBEaWVzZSBQcm9wZXJ0eSBpc3QgbWl0dGxlcndlaWxlIG9ic29sZXQuIERpZQorICAgICBha3R1ZWxsIGdlbHRlbmRlbiBTZWhlci1BbmZvcmRlcnVuZ2VuIHN0ZWhlbiBpbgorICAgICAvc2VjdXJlL2xlcG1hc3Rlci5oCisKK0xFVFpURSBBRU5ERVJVTkc6CisgICAgIDIwMDYtMDktMzAsIFpvb2suClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTkVUREVBRF9FTlYgYi9kb2MvcHJvcHMvUF9ORVRERUFEX0VOVgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmQ2MzE3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTkVUREVBRF9FTlYKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICBQX05FVERFQURfRU5WICAgICAgICAgICAgICAgICAgIm5ldGRlYWRfZW52IgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBrYW5uIGluIG5ldHp0b3RlbiBTcGllbGVybiBhYmdlZnJhZ3Qgd2VyZGVuLAorCQl1bSBoZXJhdXN6dWZpbmRlbiwgaW4gd2VsY2hlbSBSYXVtIHNpZSBuZXR6dG90IGdld29yZGVuIHNpbmQuCisKKwkJRXMgd2lyZCBkZXIgc2VsYmUgV2VydCB6dXJ1ZWNrZ2VnZWJlbiwgZGVuIGRpZSBNdWRsaWIgYmVudXR6ZW4KKwkJd3VlcmRlLCB1bSBkaWUgU3BpZWxlciBiZWltIHJlY29ubmVjdCB3aWVkZXIgYW4gZGVuIHJpY2h0aWdlbgorCQlvcnQgenUgYnJpbmdlbi4gRGFzIGlzdCBub3JtYWxlcndlaXNlIGRhcyBSYXVtb2JqZWt0IG9kZXIgZGVyCisJCURhdGVpbmFtZSBkZXMgUmF1bXMgKHp1bSBCZWlzcGllbCBzbyBkaWVzZXIgZWluIGNsb25lIHdhcikuCisKKwkJQmVpIG5pY2h0IG5ldHp0b3RlbiBTcGllbGVybiB3aXJkIDAgenVydWVja2dlZ2ViZW4uCisKK0JFTUVSS1VOR0VOOgorICAgIERpZXNlIFByb3BlcnR5IGlzdCByZWFkLW9ubHkuCisKK1NJRUhFIEFVQ0g6CisgICAgUF9ORVRERUFEX0lORk8KKworMjAwOS0wOC0wNCBSdW1hdGEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05FVERFQURfSU5GTyBiL2RvYy9wcm9wcy9QX05FVERFQURfSU5GTwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2MzNmZkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTkVUREVBRF9JTkZPCkBAIC0wLDAgKzEsOTEgQEAKK05BTUU6CisgICAgUF9ORVRERUFEX0lORk8gICAgICAgICAgICAgICAgIm5ldGRlYWRfaW5mbyIgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2lyZCBpbSBSYXVtIFggZ2VzZXR6dCB1bmQgd2lya3QgbnVyLCBmYWxscyBkaWVzZXIgUmF1bSBlaW4gJyMnIGltCisgICAgIG9iamVjdF9uYW1lKCkgaGF0IChub3JtYWxlIENsb25lcywgekIgIi9yb29tL3ZvaWQjMTAxNTMwMTgiKS4KKyAgICAgCisgICAgIEJlaSBFaW5zY2hsYWZlbiBlaW5lcyBTcGllbGVycyBpbiBkaWVzZW0gUmF1bSB3ZXJkZW4gZGllIFdlcnRlIGF1cworICAgICBkZXIgUHJvcGVydHkgaW0gU3BpZWxlciBnZXNwZWljaGVydCAoTmV0enRvdGVuaW5mb3JtYXRpb25lbikuCisKKyAgICAgSXN0IGJlaW0gQXVmd2FjaGVuIGRlcyBTcGllbGVycyBkYXMgUmF1bW9iamVrdCBYIHplcnN0b2VydCB3b3JkZW4sIGRhbm4KKyAgICAgd2lyZCBiZWkgZGVyIEJsdWVwcmludCB2b24gWCBwZXIgU2V0UHJvcCgpIGRpZSBnZXNwZWljaGVydGUgSW5mb3JtYXRpb24KKyAgICAgZ2VzZXR6dC4gRGVyIFJ1ZWNrZ2FiZXdlcnQgZGVzIFNldFByb3Agd2lyZCBhbHMgUGZhZCB6dSBlaW5lbSBBdXN3ZWljaC0KKyAgICAgQXVmd2FjaC1SYXVtIGludGVycHJldGllcnQgdW5kIGRlciBTcGllbGVyIHdpcmQgaW4gZGVtIEZhbGwgZG9ydGhpbgorICAgICBiZXdlZ3QuCisKK0JFTUVSS1VOR0VOOgorICAgICBadW0gQ2xvbmVuIHZvbiBSYWV1bWVuIHNvbGx0ZW4gVmlydHVhbCBDb21waWxlciBiZW51dHp0IHdlcmRlbjoKKyAgICAgV2lyZCBpbiBkZW4gZXJ6ZXVndGVuIE9iamVrdG5hbWVuIEtFSU4gJyMnIHZlcndlbmRldCwgZGFubiBpc3QgZGllc2UKKyAgICAgUHJvcGVydHkgbmljaHQgc2lubnZvbGwgdW5kIHdpcmQgbmljaHQgdmVyd2VuZGV0LiBFaW4gb3JkZW50bGljaGVyCisgICAgIFZDIGthbm4gQmV3ZWdlbiBlaW5lcyBTcGllbGVycyBpbiBkZXNzZW4gYWx0ZW4sIG5pY2h0IG1laHIgZXhpc3RpZXJlbmRlbgorICAgICBSYXVtIG9kZXIgZWluZW4gRXJzYXR6cmF1bSBiZWltIEF1ZndhY2hlbiBzZWxic3QgbG9lc2VuLgorCitCRUlTUElFTEU6CisgICAgIC8vICMxOiBnZWNsb250ZXIgUmF1bSBtaXQgQXVzd2VpY2gtQXVmd2FjaHJhdW06IEtsZXJ1cy1HaWxkZQorICAgICAjaW5jbHVkZSA8cHJvcGVydGllcy5oPgorICAgICBpbmhlcml0ICIvc3RkL3Jvb20iOworICAgICAKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAgOjpjcmVhdGUoKTsKKworICAgICAgIFNldFByb3AoUF9ORVRERUFEX0lORk8sICIvZ2lsZGVuL2tsZXJ1cyIpOworICAgICAgIFNldFByb3AoUF9MSUdIVCwgMSk7CisgICAgIH0KKyAgICAgCisgICAgIC8vICMyOiBrb21wbGV4ZXJlciBCZWlzcGllbHJhdW0gZnVlciBQX05FVERFQURfSU5GTy1GdW5rdGlvbmFsaXRhZXQKKyAgICAgLy8gU2llaGUgYXVjaDogL2RvYy9iZWlzcGllbGUvdGVzdG9iamVrdGUvbmV0ZGVhZF9pbmZvX3Rlc3RyYXVtLmMKKyAgICAgI2luY2x1ZGUgPHByb3BlcnRpZXMuaD4KKyAgICAgaW5oZXJpdCAiL3N0ZC9yb29tIjsKKworICAgICB2b2lkIGNyZWF0ZSgpIHsKKyAgICAgICA6OmNyZWF0ZSgpOworCisgICAgICAgaWYgKGNsb25lcCh0aGlzX29iamVjdCgpKSkKKyAgICAgICAgIC8vIHNldHplIEluZm9ybWF0aW9uZW4sIGRpZSBpbSBOZXR6dG90ZW4gZ2VzcGVpY2hlcnQgd2VyZGVuIHNvbGxlbgorICAgICAgICAgU2V0KFBfTkVUREVBRF9JTkZPLCByYW5kb20oNSkpOworICAgICAgIGVsc2UKKyAgICAgICAgIC8vIEJsdWVwcmludDogaGllciBrYW5uIG1hbiB6dSBlaW5lbSBDbG9uZXJhdW0gZ2VoZW4KKyAgICAgICAgIEFkZEV4aXQoImNsb25lcmF1bSIsICMnY3JlYXRlX3Jvb20pOworCisgICAgICAgLy8gU2V0LU1ldGhvZCwgdW0gZGllIEluZm9ybWF0aW9uZW4gYXVzIFBfTkVUREVBRF9JTkZPIGJlaW0gQXVmd2FjaGVuCisgICAgICAgLy8gaW4gZGVyIEJsdWVwcmludCBhdXN3ZXJ0ZW4genUga29lbm5lbgorICAgICAgIFNldChQX05FVERFQURfSU5GTywgIydjcmVhdGVfZGVzdGlueSwgRl9TRVRfTUVUSE9EKTsKKyAgICAgICBTZXRQcm9wKFBfTElHSFQsIDEpOworICAgICB9CisgICAgIAorICAgICAvLyBSYXVtIGVudGZlcm5lbiwgbm9ybWFsZXJ3ZWlzZSBzbyBLRUlORSBHVVRFIElERUUhCisgICAgIHZvaWQgQmVjb21lc05ldERlYWQob2JqZWN0IHBsKSB7CisgICAgICAgY2FsbF9vdXQoIydyZW1vdmUsIDMwKTsKKyAgICAgfQorCisgICAgIC8vIGVyemV1Z2UgZWluZW4gQ2xvbmVyYXVtIHVuZCBiZXdlZ2UgZGVuIFNwaWVsZXIgZGFoaW4KKyAgICAgaW50IGNyZWF0ZV9yb29tKHN0cmluZyBkaXIpIHsKKyAgICAgICBvYmplY3QgZGVzdCA9IGNsb25lX29iamVjdChvYmplY3RfbmFtZSh0aGlzX29iamVjdCgpKSk7CisgICAgICAgdGhpc19wbGF5ZXIoKS0+bW92ZShkZXN0LCBNX05PQ0hFQ0spOworICAgICAgIHJldHVybiAxOworICAgICB9CisgICAgIAorICAgICAvLyBTZXQtTWV0aG9kIGZ1ZXIgUF9ORVRERUFEX0lORk86IGdpYnQgUGZhZCB6dXJ1ZWNrCisgICAgIC8vIGJlbnV0emUgZGllIEluZm9ybWF0aW9uZW4gYXVzIGRlbSBqZXR6dCBhdWZ3YWNoZW5kZW4gTmV0enRvdGVuLCB1bQorICAgICAvLyBlaW5lbiBhbHRlcm5hdGl2ZW4gQXVmd2FjaHJhdW0genUgZXJtaXR0ZWxuLCBkYSBkZXIgRWluc2NobGFmcmF1bQorICAgICAvLyB6ZXJzdG9lcnQgaXN0CisgICAgIHN0cmluZyBjcmVhdGVfZGVzdGlueShtaXhlZCB2YWwpIHsKKyAgICAgICBpZiAoaW50cCh2YWwpKSB7CisgICAgICAgICBzd2l0Y2ggKHZhbCkgeworICAgICAgICAgICBjYXNlIDA6CisgICAgICAgICAgICAgcmV0dXJuICIvZC9lYmVuZS9yb29tL1BvcnRWYWluL3BvX2hhZjEiOworICAgICAgICAgICBjYXNlIDE6CisgICAgICAgICAgICAgcmV0dXJuICIvZ2lsZGVuL2tsZXJ1cyI7CisgICAgICAgICAgIGNhc2UgMjoKKyAgICAgICAgICAgICByZXR1cm4gIi9naWxkZW4va2FyYXRlIjsKKyAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgIH0KKyAgICAgICAgIHJldHVybiAiL2QvZWJlbmUvcm9vbS93YWxkd2VnNCI7CisgICAgICAgfQorICAgICB9CisKKzIuIEphbiAyMDEyIEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ORVZFUkRST1AgYi9kb2MvcHJvcHMvUF9ORVZFUkRST1AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODAzNjRjZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05FVkVSRFJPUApAQCAtMCwwICsxLDI5IEBACitOQU1FOgorCVBfTkVWRVJEUk9QCQkJIm5ldmVyZHJvcCIKKworREVGSU5JRVJUIElOOgorCS9zeXMvdGhpbmcvbW92aW5nLmgKKworQkVTQ0hSRUlCVU5HOgorCU9iamVrdGUsIHdlbGNoZSBkaWVzZSBQcm9wZXJ0eSBnZXNldHp0IGhhYmVuLCB3ZXJkZW4gYmVpbSBUb2QgZWluZXMKKwlMZWJld2VzZW5zIG5pY2h0IGF1dG9tYXRpc2NoIGluIGRpZSBMZWljaGUgb2RlciBpbiBkZW4gdW1nZWJlbmRlbgorCVJhdW0gKHouQi4gYmVpIGJlaSBnZXNldHp0ZW0gUF9OT0NPUlBTRSkgdHJhbnNwb3J0aWVydC4KKworQkVNRVJLVU5HRU46CisJU29sbCBkYXMgT2JqZWt0IHZvbSBMZWJld2VzZW4gbmljaHQgd2VnZ2VsZWd0IHdlcmRlbiBrb2VubmVuLCBzbyBpc3QKKwlkaWUgUHJvcGVydHkgUF9OT0RST1AgenUgdmVyd2VuZGVuLgorCUJlaWRlIFByb3BlcnRpZXMgenVzYW1tZW4gc3RlbGxlbiBzaWNoZXIsIGRhc3MgZWluIE9iamVrdCBuaWNodAorCXdlaXRlcmdlZ2ViZW4gd2VyZGVuIGthbm4uCisKK0JFSVNQSUVMRToKKwlFaW5lIGRhdWVyaGFmdGUgQmVsb2hudW5nLCBkaWUgYXVjaCBiZWltIFRvZCBkZXMgU3BpZWxlcnMgYmVpIGlobQorCXZlcmJsZWliZW4gc29sbCwgc2V0enQgZGFzIHNvOgorCSAgU2V0UHJvcChQX05FVkVSRFJPUCwxKTsKKwlTb2xsZW4gYXVjaCBSZWJvb3RzIHVlYmVyc3RhbmRlbiB3ZXJkZW4sIGlzdCB6dXNhZXR6bGljaAorCVBfQVVUT0xPQURPQkogenUgc2V0emVuLgorCitTSUVIRSBBVUNIOgorCVBfTk9EUk9QLCBQX05PR0VULCBQX05PQ09SUFNFLCBQX0FVVE9MT0FET0JKLCAvc3RkL2xpdmluZy9saWZlLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IEp1biAxNCAyMjoyNjoyOSAyMDAxIGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTkVWRVJfQ0xFQU4gYi9kb2MvcHJvcHMvUF9ORVZFUl9DTEVBTgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTg0ODIwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTkVWRVJfQ0xFQU4KQEAgLTAsMCArMSwzNSBAQAorTkFNRToKKwlQX05FVkVSX0NMRUFOCQkJIiBuZXZlciBjbGVhbiAiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisJL3N5cy9yb29tcy5oCisKK0JFU0NIUkVJQlVORzoKKwlOb3JtYWxlcndlaXNlIHdpcmQgZWluIFJhdW0gbmFjaCAyIFJlc2V0cyB6ZXJzdG9lcnQsIHdlbm4gZXIgd2FlcmVuZAorCWRpZXNlciBaZWl0IHZvbiBrZWluZW0gTGViZXdlc2VuIGJldHJldGVuIHd1cmRlIHVuZCB3ZW5uCisJa2VpbmUgUkVGUkVTSF9OT05FLSBvZGVyIFJFRlJFU0hfREVTVFJVQ1QtT2JqZWt0ZSBleGlzdGllcmVuLCBkaWUKKwluaWNodCBtZWhyIGltIFJhdW0gdm9yaGFuZGVuIHNpbmQuCisJTWl0IGRpZXNlciBQcm9wZXJ0eSBrYW5uIG1hbiBkZW4gc29nZW5hbm50ZW4gQ2xlYW4tVXAgdW50ZXJiaW5kZW4uCisKK0JFSVNQSUVMOgorCURlciBmb2xnZW5kZSBSYXVtIHdpcmQgbmljaHQgbWVociB6ZXJzdG9lcnQsIHdlbm4gZXIgZWlubWFsIGdlbGFkZW4KKwl3dXJkZToKKwkgICNpbmNsdWRlIDxwcm9wZXJ0aWVzLmg+CisJICAvLyAjaW5jbHVkZSA8cm9vbXMuaD4gLi4uIHdpcmQgc2Nob24gdm9uIHByb3BlcnRpZXMuaCBpbmNsdWRlZCEKKwkgIGluaGVyaXQgInN0ZC9yb29tIjsKKwkgIHZvaWQgY3JlYXRlKCkKKwkgIHsgOjpjcmVhdGUoKTsKKwkgICAgU2V0UHJvcChQX1NIT1JULCJFaW4gdG9sbGVyIFJhdW0iKTsKKwkgICAgLi4uCisJICAgIFNldFByb3AoUF9ORVZFUl9DTEVBTiwxKTsKKwkgICAgLi4uCisJICB9CisJTWFuIHNvbGx0ZSBkaWUgQW53ZW5kdW5nIG5pY2h0IHVlYmVydHJlaWJlbiEgV2ljaHRpZyBpc3QgZGllc2UKKwlGdW5rdGlvbiB6dW0gQmVpc3BpZWwgZnVlciBSYWV1bWUsIGRpZSBnbGVpY2h6ZWl0aWcgTWFzdGVyb2JqZWt0ZQorCWRhcnN0ZWxsZW4uCisKK1NJRUhFIEFVQ0g6CisJL3N0ZC9yb29tLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEZlYiAgMyAwMDo1NDozMiAxOTk5IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTkVXU0tJTExTIGIvZG9jL3Byb3BzL1BfTkVXU0tJTExTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YmExZmYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ORVdTS0lMTFMKQEAgLTAsMCArMSwyMCBAQAorTkFNRToKKwlQX05FV1NLSUxMUwkJCSJuZXdza2lsbHMiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisJL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorCUluIGRpZXNlciBQcm9wZXJ0eSBzaW5kIHNhZW10bGljaGUgU2tpbGxzIHVuZCBTcGVsbHMgdmVybWVya3QsIGRpZQorCWRhcyBMZWJld2VzZW4ga2VubnQuCisKK0JFTUVSS1VOR0VOOgorCU1hbiBzb2xsdGUgZGllc2UgUHJvcGVydHkgbmljaHQgcGVyIEhhbmQgdmVyYWVuZGVybiwgc29uZGVybiBkaWUKKwlGdW5rdGlvbmVuIHZvbiAiL3N0ZC9saXZpbmcvc2tpbGxzLmMiIG51dHplbi4KKworU0lFSEUgQVVDSDoKKwlNb2RpZnlTa2lsbCgpLCBMZWFyblNraWxsKCksIFVzZVNraWxsKCksIC9zdGQvbGl2aW5nL3NraWxscy5jLAorCVBfR1VJTERfU0tJTExTLCBQX1NCX1NQRUxMUworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBXZWQgSmFuIDE0IDE5OjE3OjA2IDE5OTggYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ORVhUX0RFQVRIX1NFUVVFTkNFIGIvZG9jL3Byb3BzL1BfTkVYVF9ERUFUSF9TRVFVRU5DRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWU3ZTdhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTkVYVF9ERUFUSF9TRVFVRU5DRQpAQCAtMCwwICsxLDQ4IEBACitQX05FWFRfREVBVEhfU0VRVUVOQ0UKKworTkFNRToKKyAgICAgUF9ORVhUX0RFQVRIX1NFUVVFTkNFICAgICAgICAgInBfbGliX25leHRfZGVhdGhfc2VxdWVuY2UiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBJbSBTcGllbGVyIGthbm4gZGFtaXQgZGVzc2VuIGVpZ2VuZSBUb2Rlc3NlcXVlbnogZnVlciBkZW4gbmFlY2hzdGVuCisgICAgIFRvZCBmZXN0Z2VsZWd0IHdlcmRlbi4gTmFjaCBlaW5lbSBUb2QgKGVnYWwgd2VsY2hlIFRvZGVzc2VxdWVuegorICAgICBnZXdhZWhsdCB3dXJkZSkgd2lyZCBkaWUgUHJvcGVydHkgZ2Vsb2VzY2h0IHVuZCBtdWVzc3RlIG5ldSBnZXNldHp0CisgICAgIHdlcmRlbi4KKworICAgICBFcyBnaWJ0IGZvbGdlbmRlIGd1ZWx0aWdlIFdlcnRlOgorICAgICAtIHN0cmluZzogUGZhZCB6dSBlaW5lciBlaWdlbmVuIFRvZGVzc2VxdWVueiBpbSBndWVsdGlnZW4gRm9ybWF0CisgICAgIC0gbWl4ZWQqICBFaW5lIFRvZGVzc2VxdWVueiBpbSBGb3JtYXQgZGVzIFRvZGVzcmF1bWVzOgorICAgICAgICAgICAgICAgKHs8aW50IGdlc2FtdGxhZW5nZT4sCisgICAgICAgICAgICAgICAgIChbPGludCBpbmRleDE+OiA8c3RyaW5nIHVtZ2Vicm9jaGVuZSBNZWxkdW5nMT4sCisgICAgICAgICAgICAgICAgICAgPGludCBpbmRleDI+OiA8c3RyaW5nIHVtZ2Vicm9jaGVuZSBNZWxkdW5nMj4sCisgICAgICAgICAgICAgICAgICAgLi4uXSkKKyAgICAgICAgICAgICAgIH0pCisgICAgIC0gbWFwcGluZyBJbiBkaWUgU3RhbmRhcmQtTGFycy1Ub2Rlc3NlcXVlbnogZWluenVmdWVnZW5kZSBaZWlsZW46CisgICAgICAgICAgICAgICAoWzxpbnQgemVpdGluZGV4PjogPHN0cmluZyB1bWdlYnJvY2hlbmVyIFRleHQ+XSkKKworQkVNRVJLVU5HRU46CisgICAgIEVpbmUgVG9kZXNzZXF1ZW56IGVpbmVzIEdlZ25lcnMsIGZlc3RnZWxlZ3QgdWViZXIKKyAgICAgUF9FTkVNWV9ERUFUSF9TRVFVRU5DRSBoYXQgVm9ycmFuZyB2b3IgZGllc2VyIFByb3BlcnR5LgorCitCRUlTUElFTEU6CisgICAgIC8vIFBmYWQgenUgZWluZXIgZWlnZW5lbiBEU1EKKyAgICAgU2V0UHJvcChQX05FWFRfREVBVEhfU0VRVUVOQ0UsICAiLi4uL3Bhc3NlbmRlX2RzcS50eHQiKTsKKworICAgICAvLyBlaWdlbmUgRFNRIGltIFRvZGVzcmF1bWZvcm1hdDoKKyAgICAgU2V0UHJvcChQX05FWFRfREVBVEhfU0VRVUVOQ0UsCisgICAgICAgICAgICAgKHsgMiwgKFsxOiAiRGVyIFRvZCBlbnRsYWVzc3QgZGljaCBlaWxpZy5cbiJdKX0pKTsKKworICAgICAvLyBFaW5mdWVnZW4gZWluZXIgTWVsZHVuZyBpbiBkaWUgU3RhbmRhcmQtVG9kZXNzZXF1ZW56CisgICAgIFNldFByb3AoUF9ORVhUX0RFQVRIX1NFUVVFTkNFLAorICAgICAgICAgICAgIChbNTogIkR1IGZ1ZWhsc3QgZGljaCBldHdhcyBkYWVtbGljaC5cbiJdKSk7CisKK1NJRUhFIEFVQ0g6CisgICAgIFRvZDogICAgICAgICAgICBkaWUoTCkKKyAgICAgVG9kZXNtZWxkdW5nZW46IFBfS0lMTF9OQU1FLCBQX0tJTExfTVNHLCBQX0RJRV9NU0csIFBfTVVSREVSX01TRworICAgICAgICAgICAgICAgICAgICAgUF9aQVBfTVNHLCBQX0VORU1ZX0RFQVRIX1NFUVVFTkNFCisgICAgIFNvbnN0aWdlczogICAgICBQX0NPUlBTRSwgUF9OT0NPUlBTRSwgL3Jvb20vZGVhdGgvZGVhdGhfcm9vbS5jCisKKzEwLiBOb3YgMjAxMSBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05FWFRfRElTQUJMRV9BVFRBQ0sgYi9kb2MvcHJvcHMvUF9ORVhUX0RJU0FCTEVfQVRUQUNLCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcwMTlhYzYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ORVhUX0RJU0FCTEVfQVRUQUNLCkBAIC0wLDAgKzEsMzEgQEAKK1BST1BFUlRZCisgIFBfTkVYVF9ESVNBQkxFX0FUVEFDSyAgICAibmV4dF9kaWFibGVfYXR0YWNrIgorCitERUZJTklFUlQgSU4gCisgIGNvbWJhdC5oCisKK0JFU0NIUkVJQlVORworICBEaWVzZSBQcm9wZXJ0eSBnaWJ0IGFuLCB3YW5uIGRlciBOUEMgZGFzIG5hZWNoc3RlIE1hbCBwYXJhbHlzaWVydAorICB3ZXJkZW4ga2Fubi4gVWVibGljaGVyd2Vpc2Ugd2lyZCBzaWUgYXV0b21hdGlzY2ggYmVpbSBTZXR6ZW4KKyAgdm9uIFBfRElTQUJMRV9BVFRBQ0sgZ2VzZXR6dC4gU2llIGdpYnQgZWluZW4gWmVpdHB1bmt0IHdpZQorICBkaWUgRnVua3Rpb24gdGltZSgpIGFuLCBhbiBkZW0genVtIGVyc3RlbiBNYWwgd2llZGVyIFBhcmFseXNlCisgIG1vZWdsaWNoIGlzdC4KKworICBXaWxsIG1hbiBlaW5lbiBOUEMgc2NocmVpYmVuLCBkZXIgaW1tZXIgcGFyYWx5c2llcmJhciBpc3QgdW5kIG5pY2h0IGVyc3QKKyAgbmFjaCBlaW5lciBnZXdpc3NlbiBXYXJ0ZXplaXQgbmFjaCBkZXIgbGV0enRlbiBQYXJhbHlzZSwgbGFlc3N0IHNpY2ggZGllcworICBkdXJjaCBlaW5lIFNldC1NZXRob2RlIGF1ZiBQX05FWFRfRElTQUJMRV9BVFRBQ0sgZXJyZWljaGVuOgorICAgIAorICBTZXQoUF9ORVhUX0RJU0FCTEVfQVRUQUNLLCBmdW5jdGlvbiBpbnQgKCkge3JldHVybiAwO30sIEZfU0VUX01FVEhPRCk7CisKKyAgRGllc2UgU2V0LU1ldGhvZGUgdmVyaGluZGVydCBkYXMgU2V0emVuIHZvbiBQX05FWFRfRElTQUJMRV9BVFRBQ0sgbWl0dGVscworICBlaW5lcyBTZXRQcm9wLUF1ZnJ1ZmVzLgorCitCRU1FUktVTkdFTjoKKyAgRGllIFplaXQgenVtIFNjaHV0eiB2b3IgZXJuZXV0ZXIgUGFyYWx5c2UgZXhpc3RpZXJ0IGFic2ljaHRsaWNoLiBCaXR0ZQorICB3YWVndCBzb3JnZmFlbHRpZyBhYiwgYmV2b3IgaWhyIGRpZXNlIFByb3BlcnR5IGFuIEdlZ25lcm4vU3BpZWxlcm4KKyAgbWFuaXB1bGllcnQuCisKK1NJRUhFIEFVQ0g6CisgIFBfRElTQUJMRV9BVFRBQ0sKKworMjEuSnVsIDIwMTQgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PQlVZIGIvZG9jL3Byb3BzL1BfTk9CVVkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTYxYmJiYQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PQlVZCkBAIC0wLDAgKzEsMTAgQEAKK05BTUU6CisgICAgUF9OT0JVWSAgICAgICAgICAgICAgICAgICAgICAgIm5vYnV5IiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFdlbm4gZGllc2UgUHJvcGVydHkgZ2VzZXR6dCBpc3QsIHdpcmQgZGFzIE9iamVrdCBuYWNoIGVpbmVtCisgICAgIFZlcmthdWYgaW0gTGFkZW4gemVyc3RvZXJ0LCBkYW1pdCBlcyBuaWNodCB3aWVkZXIgdm9uIGVpbmVtIFNwaWVsZXIKKyAgICAgZ2VrYXVmdCB3ZXJkZW4ga2Fubi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PQ09SUFNFIGIvZG9jL3Byb3BzL1BfTk9DT1JQU0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk5MzkxYQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PQ09SUFNFCkBAIC0wLDAgKzEsMzAgQEAKK05BTUU6CisJUF9OT0NPUlBTRQkJCSJub2NvcnBzZSIKKworREVGSU5JRVJUIElOOgorCS9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBQcm9wZXJ0eSBpc3QgZ2VzZXR6dCwgd2VubiBpbSBUb2Rlc2ZhbGwga2VpbiBMZWljaG5hbQorCWF1dG9tYXRpc2NoIGVyemV1Z3Qgd2VyZGVuIHNvbGwuCisKK0JFTUVSS1VOR0VOOgorCUluIGRpZXNlbSBGYWxsIHdpcmQgZGllIFByb3BlcnR5IFBfQ09SUFNFIGlnbm9yaWVydCwgbWl0IGRlciBtYW4KKwllaW4gc3BlemllbGxlcyBMZWljaGVub2JqZWt0IGFuZ2ViZW4ga2Fubiwgc29mZXJuIG5pY2h0IGRpZQorCVN0YW5kYXJkbGVpY2hlICIvc3RkL2NvcnBzZS5jIiB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwuCisJRGEgZGllIE1vZXJkZXJtZWxkdW5nZW4gdWViZXIgZWJlbmRpZXNlIE9iamVrdCBsYXVmZW4sIHdlcmRlbgorCWhpZXJiZWkgYXVjaCBrZWluZSBhdXNnZWdlYmVuLgorCitCRUlTUElFTEU6CisJRGFzIExlYmV3ZXNlbiBzb2xsIGtlaW5lIExlaWNoZSBoaW50ZXJsYXNzZW4sIHdlaWwgZXMgenUgU3RhdWIKKwl6ZXJmYWVsbHQ6CisJICBTZXRQcm9wKFBfRElFX01TRywiIHplcmZhZWxsdCB6dSBTdGF1YiFcbiIpOworCSAgU2V0UHJvcChQX05PQ09SUFNFLDEpCisJRXMgd3VyZGUgYXVjaCBnbGVpY2ggZGllIFN0ZXJiZW1lbGR1bmcgZGVtZW50c3ByZWNoZW5kIGdlc2V0enQuCisKK1NJRUhFIEFVQ0g6CisJUF9DT1JQU0UsIFBfWkFQX01TRywgUF9ESUVfTVNHLCBQX01VUkRFUl9NU0csIFBfS0lMTF9NU0csCisJUF9ORVZFUkRST1AsIC9zdGQvY29ycHNlLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IEp1biAxNCAyMjoyNjoyOSAyMDAxIGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9EUklOS19NU0cgYi9kb2MvcHJvcHMvUF9OT0RSSU5LX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjg0N2M3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9EUklOS19NU0cKQEAgLTAsMCArMSwyNSBAQAorTkFNRToKKyAgICAgUF9OT0RSSU5LX01TRyAgICAgICAgICAgICAgICAgInN0ZF9mb29kX25vZHJpbmtfbXNnIgorCitERUZJTklFUlQgSU46CisgICAgIDxzeXMvZm9vZC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIE1lbGR1bmcgYW4gZGVuIEtvbnN1bWVudGVuLCB3ZW5uIHZlcnN1Y2h0IHdpcmQsIGVpbiBOaWNodC1HZXRyYWVuaworICAgICB6dSB0cmlua2VuLiBTb2JhbGQgZWluZSBTcGVpc2UgZWluZW4gV2VydCBpbiBQX0ZPT0Qgc2V0enQsIGdpbHQgZXMgYWxzCisgICAgIE5pY2h0LUdldHJhZW5rLgorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UKKyAgICAgMi4gS29uc3VtZW50CisgICAgIHZlcmFyYmVpdGV0LCBrYW5uIGFscyBlbnRzcHJlY2hlbmRlIFBsYXR6aGFsdGVyIGVudGhhbHRlbgorICAgICAKK0RFRkFVTFQ6CisgICAgICJAV0VOMSBrYW5uIG1hbiBuaWNodCB0cmlua2VuISIKKworU0lFSEUgQVVDSDoKKyAgICAgUF9GT09ELCBQX0RSSU5LLCB3aXovZm9vZCwgcmVwbGFjZV9wZXJzb25hbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9OT0RST1AgYi9kb2MvcHJvcHMvUF9OT0RST1AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdlYjViNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PRFJPUApAQCAtMCwwICsxLDM5IEBACitOQU1FOgorCVBfTk9EUk9QCQkJIm5vZHJvcCIgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL3RoaW5nL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKwlJc3QgZGllc2UgUHJvcGVydHkgaW4gZWluZW0gT2JqZWt0IGdlc2V0enQsIHNvIGthbm4gZWluIExlYmV3ZXNlbgorCWRhcyBPYmpla3QgbmljaHQgd2VnbGVnZW4uCisJQWxzIFN0YW5kYXJkbWVsZHVuZyBrb21tdCBpbiBkaWVzZW0gRmFsbCBiZWlzcGllbHN3ZWlzZToKKwkgIER1IGthbm5zdCA8T2JqZWt0bmFtZT4gbmljaHQgd2Vnd2VyZmVuIQorCSAgRHUga2FubnN0IDxPYmpla3RuYW1lPiBuaWNodCB3ZWdnZWJlbi4KKwlNYW4ga2FubiBhdWNoIGVpbmUgYWx0ZXJuYXRpdmUgTWVsZHVuZyBhbmdlYmVuLCB3b2JlaSBzZWxic3RhZW5kaWcKKwlhdWYgZWluZW4ga29ycmVrdGVuIFplaWxlbnVtYnJ1Y2ggenUgYWNodGVuIGlzdC4KKworQkVNRVJLVU5HRU46CisJU29sbCBlaW4gT2JqZWt0IGJlaW0gVG9kIGRlcyBMZWJld2VzZW5zIG9kZXIgYmVpIEVuZGUgZWluZXMgU3BpZWxlcnMKKwluaWNodCBpbiBkZXIgTGVpY2hlIGJ6dy4gaW0gUmF1bSB6dXJ1ZWNrZ2VsYXNzZW4gd2VyZGVuLCBzbyBpc3QKKwlkaWUgUHJvcGVydHkgUF9ORVZFUkRST1AgenUgbnV0emVuLgorCUJlaWRlIFByb3BlcnRpZXMgenVzYW1tZW4gc3RlbGxlbiBzaWNoZXIsIGRhc3MgZWluIE9iamVrdCBuaWNodAorCXdlaXRlcmdlZ2ViZW4gd2VyZGVuIGthbm4uCisKK0JFSVNQSUVMRToKKwlFaW4gc2Nod2VyIHp1IGVya2FlbXBmZW5kZXIgRG9sY2gga29lbm50ZSBmb2xnZW5kZXMgYmVpbmhhbHRlbiwKKwl1bSBuaWNodCB3ZWl0ZXJnZWdlYmVuIHdlcmRlbiB6dSBrb2VubmVuOgorCSAgU2V0UHJvcChQX05PRFJPUCwxKTsKKwlJbmZvcm1hdGl2ZXIgamVkb2NoIGlzdCBlaW5lIGVpZ2VuZSBNZWxkdW5nOgorCSAgU2V0UHJvcChQX05PRFJPUCwKKwkgIkRlbiBEb2xjaCBoYXN0IER1IERpciBoYXJ0IGVya2FlbXBmdCwgbmljaHQgd2Vnd2VyZmVuIVxuIik7CisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfTk9HRVQsIFBfTkVWRVJEUk9QLCBQX1RPT19IRUFWWV9NU0csIFBfRU5WX1RPT19IRUFWWV9NU0csCisgICAgICAgICAgICAgICAgIFBfVE9PX01BTllfTVNHLCBQX05PSU5TRVJUX01TRywgUF9OT0xFQVZFX01TRywgIAorICAgICBFcmZvbGc6ICAgICBQX1BJQ0tfTVNHLCBQX0RST1BfTVNHLCBQX0dJVkVfTVNHLCBQX1BVVF9NU0csCisgICAgICAgICAgICAgICAgIFBfV0VBUl9NU0csIFBfV0lFTERfTVNHCisgICAgIFNvbnN0aWdlczogIHJlcGxhY2VfcGVyc29uYWwoRSksIC9zdGQvbGl2aW5nL3B1dF9hbmRfZ2V0LmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IEp1biAxNCAyMjoyNjoyOSAyMDAxIGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9GT09EX01TRyBiL2RvYy9wcm9wcy9QX05PRk9PRF9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM2N2I3YwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PRk9PRF9NU0cKQEAgLTAsMCArMSwyNSBAQAorTkFNRToKKyAgICAgUF9OT0ZPT0RfTVNHICAgICAgICAgICAgICAgICAgInN0ZF9mb29kX25vZm9vZF9tc2ciCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHN5cy9mb29kLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWVsZHVuZyBhbiBkZW4gS29uc3VtZW50ZW4sIHdlbm4gdmVyc3VjaHQgd2lyZCwgZWluIEdldHJhZW5rIHp1IGVzc2VuLgorICAgICBTb2JhbGQgZWluZSBTcGVpc2Uga2VpbmVuIFdlcnQgaW4gUF9GT09EIHVuZCBlaW5lbiBXZXJ0IGluIFBfRFJJTksKKyAgICAgc2V0enQsIGdpbHQgZXMgYWxzIEdldHJhZW5rLgorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UKKyAgICAgMi4gS29uc3VtZW50CisgICAgIHZlcmFyYmVpdGV0LCBrYW5uIGFscyBlbnRzcHJlY2hlbmRlIFBsYXR6aGFsdGVyIGVudGhhbHRlbgorICAgICAKK0RFRkFVTFQ6CisgICAgICJAV0VOMSBrYW5uIG1hbiBuaWNodCBlc3NlbiEiCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfRk9PRCwgUF9EUklOSywgd2l6L2Zvb2QsIHJlcGxhY2VfcGVyc29uYWwKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9HRVQgYi9kb2MvcHJvcHMvUF9OT0dFVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjNlZDFkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9HRVQKQEAgLTAsMCArMSwzMSBAQAorTkFNRToKKwlQX05PR0VUCQkJCSJub2dldCIKKworREVGSU5JRVJUIElOOgorCS9zeXMvdGhpbmcvbW92aW5nLmgKKworQkVTQ0hSRUlCVU5HOgorCUlzdCBkaWVzZSBQcm9wZXJ0eSBpbiBlaW5lbSBPYmpla3QgZ2VzZXR6dCwgc28ga2FubiBlaW4gTGViZXdlc2VuCisJZGFzIE9iamVrdCBuaWNodCBuZWhtZW4uCisJQWxzIFN0YW5kYXJkbWVsZHVuZyBrb21tdCBpbiBkaWVzZW0gRmFsbCBiZWlzcGllbHN3ZWlzZToKKwkgIER1IGthbm5zdCA8T2JqZWt0bmFtZT4gbmljaHQgbmVobWVuLgorCSAgRHUga2FubnN0IDxPYmpla3RuYW1lPiBzbyBuaXJnZW5kd28gcmVpbnN0ZWNrZW4uCisJTWFuIGthbm4gYXVjaCBlaW5lIGFsdGVybmF0aXZlIE1lbGR1bmcgYW5nZWJlbiwgd29iZWkgc2VsYnN0YWVuZGlnCisJYXVmIGVpbmVuIGtvcnJla3RlbiBaZWlsZW51bWJydWNoIHp1IGFjaHRlbiBpc3QuCisKK0JFSVNQSUVMRToKKwlFaW4gT2JqZWt0LCB3ZWxjaGVzIGZlc3QgaW0gUmF1bSB2ZXJhbmtlcnQgaXN0LCBrYW5uIG5hdHVlcmxpY2gKKwluaWNodCBlbnRmZXJudCB3ZXJkZW4sIHouQi4gZWluIGFuZ2VidW5kZW5lcyBTZWlsOgorCSAgU2V0UHJvcChQX05PR0VULCJEYXMgU2VpbCBpc3QgZmVzdCBhbSBCYXVtIHZlcmtub3RldCFcbiIpOworCUluIGVpbmVtIEtvbW1hbmRvIHp1bSBMb3Nrbm90ZW4ga29lbm50ZSBtYW4gZGllIFByb3BlcnR5IGRhbm4KKwlsb2VzY2hlbiwgdW0gZWluIFdlZ25laG1lbiB6dSBlcm1vZWdsaWNoZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfTk9EUk9QLCBQX1RPT19IRUFWWV9NU0csIFBfRU5WX1RPT19IRUFWWV9NU0csCisgICAgICAgICAgICAgICAgIFBfVE9PX01BTllfTVNHLCBQX05PSU5TRVJUX01TRywgUF9OT0xFQVZFX01TRyAKKyAgICAgRXJmb2xnOiAgICAgUF9QSUNLX01TRywgUF9EUk9QX01TRywgUF9HSVZFX01TRywgUF9QVVRfTVNHLAorICAgICAgICAgICAgICAgICBQX1dFQVJfTVNHLCBQX1dJRUxEX01TRworICAgICBTb25zdGlnZXM6ICByZXBsYWNlX3BlcnNvbmFsKEUpLCAvc3RkL2xpdmluZy9wdXRfYW5kX2dldC5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBKdW4gMTQgMjI6MjY6MjkgMjAwMSBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PSU5TRVJUX01TRyBiL2RvYy9wcm9wcy9QX05PSU5TRVJUX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzk5OTRlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9JTlNFUlRfTVNHCkBAIC0wLDAgKzEsNDYgQEAKK05BTUU6CisgICAgUF9OT0lOU0VSVF9NU0cgICAgICAgICAgICAgICAgICAgICAgIm5vaW5zZXJ0X21zZyIgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RoaW5nL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZWluZSBNZWxkdW5nLCBkaWUgYXVzZ2VnZWJlbiB3aXJkLCB3ZW5uCisgICAgIGplbWFuZCB2ZXJzdWNodCwgZWluIE9iamVrdCBpbiBlaW5lbiBCZWhhZWx0ZXIgenUgYmV3ZWdlbiB1bmQgZGVyCisgICAgIEJlaGFlbHRlciBkaWVzZXMgaW0gUHJldmVudEluc2VydCgpIHZlcmhpbmRlcnQuCisgICAgIERpZSBQcm9wZXJ0eSBpc3QgaW0gWmllbGJlaGFlbHRlciB6dSBzZXR6ZW4uCisgICAgIElzdCBkaWVzZSBQcm9wZXJ0eSBuaWNodCBvZGVyIGF1ZiBlaW5lbiBuaWNodC1TdHJpbmctV2VydCBnZXNldHp0LAorICAgICBzbyB3aXJkIGRpZSBTdGFuZGFyZG1lbGR1bmcgYXVzZ2VnZWJlbi4KKyAgICAgKCI8T2JqZWt0PiBrYW5uc3QgRHUgZG9ydCBuaWNodCBoaW5laW5zdGVja2VuLiIpCisgICAgIERlciBTdHJpbmcgaW4gZGVyIFByb3BlcnR5IHdpcmQgbm9jaCBkdXJjaCByZXBsYWNlX3BlcnNvbmFsKCkKKyAgICAgdmVyYXJiZWl0ZXQsIGRhcyB6dSBiZXdlZ2VuZGUgT2JqZWt0IHdpcmQgYWxzIGVyc3RlcywgZGVyIFppZWxiZWhhZWx0ZXIKKyAgICAgYWxzIHp3ZWl0ZXMgT2JqZWt0IGFuZ2VnZWJlbi4gRGFuYWNoIHdpcmQgZGVyIFN0cmluZyBhdWYgNzggWmVpY2hlbgorICAgICB1bWdlYnJvY2hlbi4KKyAgICAgRGFzIFNldHplbiBlaW5lcyBsZWVyZW4gU3RyaW5ncyB1bnRlcmRydWVja3QgZGllIEF1c2dhYmUgZWluZXIgTWVsZHVuZworICAgICBnYW56LgorCitCRUlTUElFTEU6CisgICAgIDEuIEVpbiBLb2NodG9wZiBsYWVzc3QgaW0gUHJldmVudEluc2VydCBudXIgYmVzdGltbXRlIE9iamVrdGUgenUsIGRpZSB6dQorICAgICBlaW5lciBTdXBwZSBnZWhvZXJlbi4gRnVlciBlaW5lIHBhc3NlbmRlIE1lbGR1bmcgd2lyZCBpbSBUb3BmIGpldHp0IGRpZQorICAgICBQcm9wZXJ0eSBnZXNldHp0OgorICAgICBTZXRQcm9wKFBfTk9JTlNFUlRfTVNHLCAiRHUga2FubnN0IEBXRU4xIG5pY2h0IGluIGRlbiBLb2NodG9wZiB0dW4sIGRhIgorCSAgICAgICAgICAgICAgICAgICAgICIgZ2Vob2VyZW4gZG9jaCBudXIgU3VwcGVuenV0YXRlbiByZWluISIpOworICAgICBXZW5uIGplbWFuZCBqZXR6dCB2ZXJzdWNodCwgZWluZSBNdWVuemUgcmVpbnp1c3RlY2tlbiwgZGFubiB3dWVyZGUKKyAgICAgZm9sZ2VuZGUgTWVsZHVuZyBlcnNjaGVpbmVuOgorCUR1IGthbm5zdCBkaWUgTXVlbnplIG5pY2h0IGluIGRlbiBLb2NodG9wZiB0dW4sIGRhIGdlaG9lcmVuIGRvY2ggbnVyCisJU3VwcGVuenV0YXRlbiByZWluIQorCisgICAgIDIuIEVpbiBSdWNrc2FjayBzb2xsIGluIGVpbmVyIGJlc3RpbW10ZW4gUmVpaGVuZm9sZ2UgZ2VwYWNrdCB3ZXJkZW4sIGRhenUKKyAgICAga2FubiBpbSBQcmV2ZW50SW5zZXJ0IGRpZSBNZWxkdW5nIGplIG5hY2ggQmVkYXJmIGdlc2V0enQgd2VyZGVuOgorICAgICBpZiAoPG9iamVrdCBub2NoIG5pY2h0IGFuIGRlciBSZWloZT4pCisJU2V0UHJvcChQX05PSU5TRVJUX01TRywgIkBXRU4xIHNvbGx0ZXN0IGR1IGVyc3Qgc3BhZXRlciBlaW5wYWNrZW4uIik7CisgICAgIGVsc2UgaWYgKDxvYmpla3Qgc2Nob24gaW0gUnVja3NhY2s+KQorCVNldFByb3AoUF9OT0lOU0VSVF9NU0csICJBYmVyIEBXRVIxIGlzdCBkb2NoIHNjaG9uIGVpbmdlcGFja3QhIik7CisgICAgIGVsc2UgLi4uCisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfVE9PX0hFQVZZX01TRywgUF9FTlZfVE9PX0hFQVZZX01TRywgUF9UT09fTUFOWV9NU0csCisgICAgICAgICAgICAgICAgIFBfTk9MRUFWRV9NU0csIFBfTk9EUk9QLCBQX05PR0VUIAorICAgICBFcmZvbGc6ICAgICBQX1BJQ0tfTVNHLCBQX0RST1BfTVNHLCBQX0dJVkVfTVNHLCBQX1BVVF9NU0csCisgICAgICAgICAgICAgICAgIFBfV0VBUl9NU0csIFBfV0lFTERfTVNHCisgICAgIFNvbnN0aWdlczogIHJlcGxhY2VfcGVyc29uYWwoRSksIC9zdGQvbGl2aW5nL3B1dF9hbmRfZ2V0LmMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PTEVBVkVfTVNHIGIvZG9jL3Byb3BzL1BfTk9MRUFWRV9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFhZDBmMQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PTEVBVkVfTVNHCkBAIC0wLDAgKzEsMzMgQEAKK05BTUU6CisgICAgUF9OT0xFQVZFX01TRyAgICAgICAgICAgICAgICAgICAgICAibm9sZWF2ZV9tc2ciICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9tb3ZpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbmUgTWVsZHVuZywgZGllIGF1c2dlZ2ViZW4gd2lyZCwgd2VubgorICAgICBqZW1hbmQgdmVyc3VjaHQsIGVpbiBPYmpla3QgYXVzIGVpbmVtIEJlaGFlbHRlciB6dSBlbnRmZXJuZW4gdW5kIGRlcgorICAgICBCZWhhZWx0ZXIgZGllc2VzIGltIFByZXZlbnRMZWF2ZSgpIHZlcmhpbmRlcnQuCisgICAgIERpZSBQcm9wZXJ0eSBpc3QgaW0gdmVyaGluZGVybmRlbiBCZWhhZWx0ZXIgenUgc2V0emVuLgorICAgICBJc3QgZGllc2UgUHJvcGVydHkgbmljaHQgb2RlciBhdWYgZWluZW4gbmljaHQtU3RyaW5nLVdlcnQgZ2VzZXR6dCwKKyAgICAgc28gd2lyZCBkaWUgU3RhbmRhcmRtZWxkdW5nIGF1c2dlZ2ViZW4uCisgICAgICgiRHUga2FubnN0IDxPYmpla3Q+IG5pY2h0IG5laG1lbi4iKQorICAgICBEZXIgU3RyaW5nIGluIGRlciBQcm9wZXJ0eSB3aXJkIG5vY2ggZHVyY2ggcmVwbGFjZV9wZXJzb25hbCgpCisgICAgIHZlcmFyYmVpdGV0LCBkYXMgenUgYmV3ZWdlbmRlIE9iamVrdCB3aXJkIGFscyBlcnN0ZXMsIGRlciB2ZXJoaW5kZXJuZGUKKyAgICAgQmVoYWVsdGVyIGFscyB6d2VpdGVzIE9iamVrdCBhbmdlZ2ViZW4uIERhbmFjaCB3aXJkIGRlciBTdHJpbmcgYXVmIDc4CisgICAgIFplaWNoZW4gdW1nZWJyb2NoZW4uCisgICAgIERhcyBTZXR6ZW4gZWluZXMgbGVlcmVuIFN0cmluZ3MgdW50ZXJkcnVlY2t0IGRpZSBBdXNnYWJlIGVpbmVyIE1lbGR1bmcKKyAgICAgZ2Fuei4KKworQkVJU1BJRUxFOgorICAgICBOdXIgQmllcnNjaPx0dGxlciBzb2xsZW4gZWluZSBCaWVyZmxhc2NoZSBhdXMgZWluZW0gS2FzdGVuIG5laG1lbgorICAgICBrb2VubmVuLCBuZWJlbiBlaW5lciBlbnRzcHJlY2hlbmRlbiBCZWhhbmRsdW5nIGltIFByZXZlbnRMZWF2ZSBzZXR6dCBtYW4KKyAgICAgZGF6dSBkaWUgUHJvcGVydHk6CisgICAgIFNldFByb3AoUF9OT0xFQVZFX01TRywgIk51ciBCaWVyc2NodWV0dGxlciBkdWVyZmVuIGRhcyEiKTsKKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2hlczogUF9UT09fSEVBVllfTVNHLCBQX0VOVl9UT09fSEVBVllfTVNHLCBQX1RPT19NQU5ZX01TRywKKyAgICAgICAgICAgICAgICAgUF9OT0lOU0VSVF9NU0csIFBfTk9EUk9QLCBQX05PR0VUIAorICAgICBFcmZvbGc6ICAgICBQX1BJQ0tfTVNHLCBQX0RST1BfTVNHLCBQX0dJVkVfTVNHLCBQX1BVVF9NU0csCisgICAgICAgICAgICAgICAgIFBfV0VBUl9NU0csIFBfV0lFTERfTVNHCisgICAgIFNvbnN0aWdlczogIHJlcGxhY2VfcGVyc29uYWwoRSksIC9zdGQvbGl2aW5nL3B1dF9hbmRfZ2V0LmMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PTUFHSUMgYi9kb2MvcHJvcHMvUF9OT01BR0lDCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkZWU3ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OT01BR0lDCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgUF9OT01BR0lDICAgICAgICAgICAgICAgICAgICAgIm5vbWFnaWMiICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFuZ2FiZSBpbiBQcm96ZW50LCBtaXQgd2VsY2hlciBXYWhyc2NoZWlubGljaGtlaXQgTWFnaWUgZmVobHNjaGxhZWd0LgorICAgICAKKyAgICAgRnVlciBlaW5lbiBSYXVtIGlzdCBlcyBlaW5lIGdlbmVyZWxsZSBBdXNzYWdlLCB3aWUgd2FocnNjaGVpbmxpY2ggZWluCisgICAgIFNwZWxsIGluIGlobSBmZWhsc2NobGFlZ3QuIEJlaSBOUEMgemVpZ3QgZXMgYW4sIHdpZSB3YWhyc2NoZWlubGljaAorICAgICBlaW4gYXVmIGlobiBnZXNwcm9jaGVuZXIgU3BlbGwgZmVobHNjaGxhZWd0LgorCitCRUlTUElFTDoKKyAgICAgLy8gaW4gZWluZW0gUmF1bSBrZWluZSBTcGVsbHMgenVsYXNzZW4KKyAgICAgU2V0UHJvcChQX05PTUFHSUMsIDEwMCkKKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2g6ICAgICBQX01BR0lDX1JFU0lTVEFOQ0VfT0ZGU0VULCBTcGVsbERlZmVuZAorCisyOS5EZXogMjAwNyBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9TRUxMIGIvZG9jL3Byb3BzL1BfTk9TRUxMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ4YjBkZGIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OT1NFTEwKQEAgLTAsMCArMSwzMyBAQAorTkFNRToKKyAgICBQX05PU0VMTCAgICAgICAgICAgICAgICAgICAgICAibm9zZWxsIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZW5uIGRpZXNlIFByb3BlcnR5IGdlc2V0enQgaXN0LCBrYW5uIGRhcyBPYmpla3QgbmljaHQgaW4gZWluZW0KKyAgICAgTGFkZW4gdmVya2F1ZnQgd2VyZGVuLgorICAgICBHaWJ0IG1hbiBpbiBkZXIgUHJvcGVydHkgZWluZW4gU3RyaW5nIGFuLCB3aXJkIGRpZXNlciBhdXNnZWdlYmVuLAorICAgICBhbnNvbnN0ZW4gZXJmb2xndCBlaW5lIE1lbGR1bmcgIkR1IGthbm5zdCA8TkFNRT4gbmljaHQgdmVya2F1ZmVuISIKKworICAgICBEaWVzZSBNZWxkdW5nIGJlaW5oYWx0ZXQgYXVjaCBkZW4gTmFtZW4gZGVzIGluIFBfTkFNRSBlaW5nZS0KKyAgICAgdHJhZ2VuZW4gQmVzaXR6ZXIgZGVzIExhZGVucy4gSXN0IGRpZXMgbmljaHQgZ2VzZXR6dCwgd2lyZCBwZXIKKyAgICAgZGVmYXVsdCAnRGVyIEhhZW5kbGVyJyBhdXNnZWdlYmVuLgorCitCRUlTUElFTDoKKyAgICAgU2V0UHJvcChQX05PU0VMTCwiRGVuIFNjaHJvdHQgYmVoYWVsdHN0IER1IGxpZWJlciBzZWxiZXIuIik7CisKKyAgICAgPT0+IEFwdSBzYWd0OiBEZW4gU2Nocm90dCBiZWhhZWx0c3QgRHUgbGllYmVyIHNlbGJlci4KKyAgICAgPT0+IERlciBIYWVuZGxlciBzYWd0OiBEZW4gU2Nocm90dCBiZWhhZWx0c3QgRHUgbGllYmVyIHNlbGJlci4KKworICAgICBTZXRQcm9wKFBfTk9TRUxMLDEpOworCisgICAgID09PiBBcHUgc2FndDogRHUga2FubnN0IDxuYW1lPiBuaWNodCB2ZXJrYXVmZW4hCisgICAgID09PiBEZXIgSGFlbmRsZXIgc2FndDogRHUga2FubnN0IDxuYW1lPiBuaWNodCB2ZXJrYXVmZW4hCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfTk9CVVksIFBfTk9EUk9QLCBQX0tFRVBFUgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiswMy4wOS4yMDEwLCBaZXNzdHJhCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PX0FTQ0lJX0FSVCBiL2RvYy9wcm9wcy9QX05PX0FTQ0lJX0FSVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjQwY2RlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9fQVNDSUlfQVJUCkBAIC0wLDAgKzEsMjAgQEAKK05BTUU6CisgICAgUF9OT19BU0NJSV9BUlQgICAgICAgICAgICAgICAgICAgIm5vX2FzY2lpX2FydCIKKworCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBrYW5uIGRlciBTcGllbGVyIG1pdCBkZW0gQmVmZWhsICJncmFmaWsgYXVzIiBhdWYKKyAgICAxIHNldHplbi4gRGFtaXQgemVpZ3QgZXIgYW4sIGRhc3MgZXIga2VpbmUgQVNDSUkgQXJ0IHNlaGVuIG1vZWNodGUuCisKKyAgICBXZXIgQVNDSUktQXJ0IGVpbnNldHp0LCBzb2xsdGUgYW4gZGllc2VuIFN0ZWxsZW4gZGllIFByb3BlcnR5IAorICAgIGFiZnJhZ2VuIHVuZCB0ZXh0bGljaGUgVW1zY2hyZWlidW5nZW4gb2RlciBBbHRlcm5hdGl2bG9lc3VuZ2VuCisgICAgZWluYmF1ZW4uCisgICAgCitTSUVIRSBBVUNIOgorICAgIGdyYWZpaworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisgICAgTGV0enRlIEFlbmRlcnVuZzogMjAwNS0xMC0xOCwgWm9vay4gICAKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PX0FUVEFDSyBiL2RvYy9wcm9wcy9QX05PX0FUVEFDSwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjM5MTgwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9fQVRUQUNLCkBAIC0wLDAgKzEsODIgQEAKK1BfTk9fQVRUQUNLCisKK05BTUU6CisgICAgIFBfTk9fQVRUQUNLICJub19hdHRhY2siCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGxpdmluZy9jb21iYXQuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBXZW5uIGVpbiBOUEMgbmljaHQgYW5ncmVpZmJhciBzZWluIHNvbGwgKHdlaWwgZXIgenVtIEJlaXNwaWVsIGluIGVpbmVyCisgICAgIEdpbGRlIG9kZXIgZWluZXIgUXVlc3QgSW5mb3JtYXRpb25lbiB2ZXJtaXR0ZWx0IG9kZXIgYWVobmxpY2hlbiksIHNvbGx0ZQorICAgICBtYW4gZGllc2UgUHJvcGVydHkgYXVmIGVpbmVuIFdlcnQgdW5nbGVpY2ggTnVsbCBzZXR6ZW4uIFNpZSB3aXJkIGltbWVyCisgICAgIGFiZ2VmcmFndCwgd2VubiBlcm1pdHRlbHQgd2lyZCwgb2IgZWluIExlYmV3ZXNlbiBwcmluemlwaWVsbCBhbmdyZWlmYmFyCisgICAgIGlzdC4gRC5oLiBhdWNoLCBkYXNzIG5hY2ggQWJmcmFnZW4gdm9uIFBfTk9fQVRUQUNLIF9uaWNodF8gaW1tZXIgZWluCisgICAgIEthbXBmIGdlc3RhcnRldCB3aXJkIHVuZCBkYXNzIG1hbiBkYWJlaSBfbmljaHRfIGltIEthbXBmIHNlaW4gbXVzcyEKKworICAgICBHaWJ0IG1hbiBoaWVyIGVpbmVuIFN0cmluZyBhbiAobWl0IGVpbmVtIFNhdHp6ZWljaGVuIHVuZCAiXG4iIGFiZ2UtCisgICAgIHNjaGxvc3NlbiksIHdpcmQgZGllc2VyIGJlaSBkaXJla3RlbiBBbmdyaWZmZW4gYXVzZ2VnZWJlbi4gQmVpIGFuZGVyZW4KKyAgICAgRGF0ZW50eXBlbiB3aXJkIGVpbmUgRGVmYXVsdG1lbGR1bmcgYXVzZ2VnZWJlbi4gRGllIERlZmF1bHRtZWxkdW5nCisgICAgIGxhdXRldDogIjxOYW1lPiBsYWVzc3Qgc2ljaCBuaWNodCBhbmdyZWlmZW4hXG4iCisKKyAgICAgTWl0IGRpcmVrdGVuIEFuZ3JpZmZlbiBzaW5kICd0b2V0ZSA8bmFtZT4nIHVuZCBBbmdyaWZmc3phdWJlciBnZW1laW50CisgICAgIChiencuIGFsbGVzLCB3YXMgbGl2aW5nL2xpZmU6OktpbGwoKSwgc3BlbGxib29rOjpUcnlBdHRhY2tTcGVsbCgpLAorICAgICBzcGVsbGJvb2s6OlRyeURlZmF1bHRBdHRhY2tTcGVsbCgpIHVuZCBzcGVsbGJvb2s6OkZpbmRFbmVteVZpY3RpbSgpCisgICAgIGF1ZnJ1ZnQpLgorCitBQ0hUVU5HOgorCisgIDEpIFp1bSBUaGVtYSBRdWVyeU1ldGhvZGVuIGF1ZiBQX05PX0FUVEFDSworICAgICBHcnVuZHNhZXR6bGljaCBsZWd0IG1hbiBlbnR3ZWRlciBlaW5lIFF1ZXJ5LU1ldGhvZGUgYXVmIFBfTk9fQVRUQUNLOgorICAgICAgICBTZXQoUF9OT19BVFRBQ0ssICMnbXlfbm9fYXR0YWNrLCBGX1FVRVJZX01FVEhPRCk7CisgICAgIG9kZXIgZGVmaW5pZXJ0IGVpbmUgRnVua3Rpb24gX3F1ZXJ5X25vX2F0dGFjaygpIGltIE5QQy4KKworICAgICBXaWUgbXVzcyBudW4gZWluZSBzb2xjaGUgRnVua3Rpb24gYXVzc2VoZW4/IFouQi46CisgICAgIAorICAgICBpbnR8c3RyaW5nIG15X25vX2F0dGFjaygpIHsKKyAgICAgICBpZiAoIW9iamVjdHAodGhpc19wbGF5ZXIoKSkpIHJldHVybiAwOworICAgICAgIGlmIChvcGZlcj09Z2V0dWlkKHRoaXNfcGxheWVyKCkpIHx8IHRoaXNfcGxheWVyKCk9PXRoaXNfb2JqZWN0KCkpCisgICAgICAgICByZXR1cm4oMCk7CisgICAgICAgcmV0dXJuKDEpOyAvL25pY2h0IGFuZ3JlaWZiYXIKKyAgICAgfQorCisgICAgIERpZXNlIEZ1bmt0aW9uIG1hY2h0IGRlbiBOUEMgbnVuIG51ciBmdWVyIGRlbiBTcGllbGVyICdvcGZlcicgYW5ncmVpZmJhci4KKyAgICAgU3RhdHRkZXNzZW4ga2FubiBuYXR1ZXJsaWNoIGF1Y2ggamVkZSBhbmRlcmUgQmVkaW5ndW5nIGdlbnV0enQgd2VyZGVuLgorCisgICAgIEFiZXIgd2FydW0gZGllIHp3ZWl0ZSBCZWRpbmd1bmcsIHRoaXNfcGxheWVyKCk9PXRoaXNfb2JqZWN0KCk/CisgICAgIFdhcnVtIHNvbGx0ZSBkZXIgTlBDIHNpY2ggc2VsYmVyIGFuZ3JlaWZlbiBkdWVyZmVuPworCisgICAgIERhcyBsaWVndCBhbiBmb2xnZW5kZW4gMiBEaW5nZW46CisKKyAgICAgMS4gS2FlbXBmZXIga3JpZWdlbiBiZWkgZWluZ2VzY2hhbHRldGVtIEZva3VzIFByb2JsZW1lLCB3ZW5uIG1hbiBkYXMgCisgICAgIG5pY2h0IG1hY2h0LiBEYXMgbGllZ3QgYW4gZm9sZ2VuZGVtOiBXZW5uIGRlciBOUEMgYW5ncmVpZnQsIHJ1ZnQgZXIgCisgICAgIG5hdHVlcmxpY2ggRGVmZW5kKCkgaW0gU3BpZWxlciBhdWYuIERpZXNlcyBzY2hhdXQgbmFjaCwgb2IgZGVyIFNwaWVsZXIgCisgICAgIGRlbiBTa2lsbCBTS19NQUdJQ0FMX0RFRkVOU0UgaGF0LiBEaWVzZXIgaXN0IGJlaSBLYWVtcGZlcm4gZGFzIFBhcmllcmVuLgorICAgICBEaWVzZXMgc2NoYXV0IG5hY2gsIG9iIGRlciBGb2t1cyBha3RpdiBpc3QsIHdlbm4gamEsIHdpcmQgZGVtIAorICAgICBnZSdmb2t1cyd0ZSBHZWduZXIgYmVzb25kZXJzIGd1dCBhdXNnZXdpY2hlbi4gWnUgZGllc2VtIFp3ZWNrIHdpcmQgZGllIAorICAgICBMaXN0ZSBkZXIgRmVpbmQgaW0gUmF1bSBlcnN0ZWxsdCBtaXQgUHJlc2VudEVuZW1pZXMoKSBhYmdlcnVmZW4uIERpZXNlcyAKKyAgICAgZnJhZ3QgYWJlciBpbiBhbGxlbiAocG90ZW50aWVsbGVuKSBHZWduZXJuIFBfTk9fQVRUQUNLIGFiIHVuZCBiZWVuZGV0IAorICAgICBkZW4gS2FtcGYgbWl0IGFsbGVuIEdlZ25lcm4sIGRpZSBuaWNodCBhbmdyZWlmYmFyIHNpbmQuIEJlaSBkaWVzZXIgCisgICAgIEFiZnJhZ2UgaXN0IGplZG9jaCBUUD09TlBDLCB3ZWlsIGRlciBqYSBhbmdyZWlmdC4gV2VubiBlciBudW4gMSAKKyAgICAgenVydWVja2dpYnQsIHdpcmQgZGVyIEthbXBmIGFuIGRlciBTdGVsbGUgYmVlbmRldC4gCisKKyAgICAgMi4gV2VubiBkZXIgTlBDIGRlbiBTcGllbGVyIGFuZ3JlaWZ0LCB3aXJkIGltIFNwaWVsZXIgSW5zZXJ0RW5lbXkoTlBDKQorICAgICBhdWZnZXJ1ZmVuLiBBdWNoIGRpZXNlbSBGYWxsIGZpbmRldCBkaWUgQWJmcmFnZSB2b24gUF9OT19BVFRBQ0sgc3RhdHQsIAorICAgICBkYSBJbnNlcnRFbmVteSgpIGphIGVyc3RtYWwgcmF1c2ZpbmRlbiBtdXNzLCBvYiBkZXIgR2VnbmVyIGFuZ3JlaWZiYXIgCisgICAgIGlzdCwgYmV2b3IgZXIgaW4gZGllIEZlaW5kbGlzdGUgZWluZ2V0cmFnZW4gd2lyZC4gRGEgZGVyIE5QQyBkZW4gCisgICAgIEFuZ3JpZmYgYmVnaW5udCwgaXN0IFRQIGRlciBOUEMuIFdlbm4gZGllIFF1ZXJ5LU1ldGhvZGUgYXVmIFBfTk9fQVRUQUNLCisgICAgIGhpZXIgYWJicmljaHQsIHdpcmQgZGVyIE5QQyBuaWNodCBpbiBkaWUgRmVpbmRsaXN0ZSBkZXMgU3BpZWxlcnMgCisgICAgIGVpbmdldHJhZ2VuLiBEYW5uIGJla2FlbXBmdCBkZXIgTlBDIGRlbiBTcGllbGVyLCBhYmVyIGRlciBTcGllbGVyIG5pY2h0CisgICAgIGRlbiBOUEMuCisKKworICAyKSBQX05PX0FUVEFDSyBkZXMgTlBDIHdpcmQgei5CLiBiZWltIEthbXBmIGVpbmVzIEthZW1wZmVycyBtaXQgZGVtIE5QQyAKKyAgICAgcHJvIEthbXBmcnVuZGUgdW0gZGllIDEwbWFsIGFiZ2VydWZlbi4gV2VubiBkZXIgS2FlbXBmZXIgbnVyIGVpbmUgCisgICAgIEF0dGFja2UgbWFjaHQuIFdlbm4gZXIgbm9jaCBTb25kZXJhdHRhY2tlbiBtYWNoZW4sIFNwZWxscyBhdXNmdWVocnQsIAorICAgICBldGMuIHdpcmQgZGFzIG5vY2ggbWVoci4gRC5oLiB3YXMgYXVjaCBpbW1lciBpaHIgaW4gZGVyIFF1ZXJ5LU1ldGhvZGUgCisgICAgIGltIE5QQyBtYWNodDogCisgICAgIEVzIHNvbGx0ZSBzY2huZWxsIHNlaW4sIGplZGVyIFRpY2sgYW4gUmVjaGVuemVpdCB6YWVobHQgaGllciB4ZmFjaCEKKworCitMRVRaVEUgQUVOREVSVU5HOgorMDkuMTEuMjAxNSwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PX0JBRCBiL2RvYy9wcm9wcy9QX05PX0JBRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGRmMWU3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9fQkFECkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisgICAgIFBfTk9fQkFEICAgICAgICAgICAgICAgICAgICAgICJzdGRfZm9vZF9ub19iYWQiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPHN5cy9mb29kLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmxhZywgb2IgZGllIFNwZWlzZSBld2lnIGhhbHRiYXIgaXN0LgorICAgICAwOiBTcGVpc2UgdmVyZGlyYnQgbmFjaCBkZXIgQW56YWhsIFNla3VuZGVuLCBkaWUgaW4gUF9MSUZFVElNRQorICAgICAgICBhbmdlZ2ViZW4gaXN0IGJ6dy4gbmFjaCBlaW5lbSBSZXNldAorICAgICAxOiBTcGVpc2UgdmVyZGlyYnQgbmljaHQKKyAgICAgCisgICAgIEFDSFRVTkc6IERpZXNlIFByb3BlcnR5IGRhcmYgbnVyIGluIEFic3ByYWNoZSBtaXQgZGVyIEJhbGFuY2UKKyAgICAgICAgICAgICAgZ2VhZW5kZXJ0IHdlcmRlbi4KKyAgICAgCitERUZBVUxUOgorICAgICBJbml0aWFsIGlzdCBkaWVzZSBQcm9wZXJ0eSBhdWYgMCBnZXNldHp0LgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2Zvb2QuYywgd2l6L2Zvb2QKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9fR0xPQkFMX0FUVEFDSyBiL2RvYy9wcm9wcy9QX05PX0dMT0JBTF9BVFRBQ0sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDFkZjRlOQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PX0dMT0JBTF9BVFRBQ0sKQEAgLTAsMCArMSwyMCBAQAorUF9OT19HTE9CQUxfQVRUQUNLCisKK05BTUU6CisgICAgIFBfTk9fR0xPQkFMX0FUVEFDSyAibm9fZ2xvYmFsX2F0dGFjayIKKworREVGSU5JRVJUIElOOgorICAgICA8Y29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgU2V0enQgbWFuIGRpZXNlIFByb3BlcnR5IGluIGVpbmVtIE5QQyBhdWYgZWluZW4gV2VydCB1bmdsZWljaCAwLCBzbworICAgICB3aXJkIGRlciBOUEMgYmVpIGVpbmVtICJ0b2V0ZSBhbGxlIiBuaWNodCBhbmdlZ3JpZmZlbi4KKworICAgICBEYW1pdCBrYW5uIG1hbiB6Qi4gTlBDcywgZGllIGRlbSBlaWdlbmVuIFNjaHV0eiBkaWVuZW4gKGFscyBGb2xnZSB2b24KKyAgICAgWmF1YmVyc3BydWVjaGVuIG8uYWUuKSB2b3IgdmVyc2VoZW50bGljaGVuIEFuZ3JpZmZlbiBzY2h1ZXR6ZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvbnBjLmMsIFBfRlJJRU5ECisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFNhdCBNYXkgMTggMTU6MjY6MjggMTk5NiBieSBXYXJnb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PX1BBUkFfVFJBTlMgYi9kb2MvcHJvcHMvUF9OT19QQVJBX1RSQU5TCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OGMyNDUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OT19QQVJBX1RSQU5TCkBAIC0wLDAgKzEsMTUgQEAKK05BTUU6CisJUF9OT19QQVJBX1RSQU5TCQkJCSJub19wYXJhX3RyYW5zIgorCitERUZJTklFUlQgSU46CisJL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorCVdlbm4gaW4gZWluZW0gUmF1bSBkaWVzZSBQcm9wZXJ0eSBnZXNldHp0IGlzdCwgZGFyZiBkb3J0IGtlaW4KKwlXZWNoc2VsIGluIG9kZXIgYXVzIGRlciBQYXJhbGVsbHdlbHQgZXJmb2xnZW4uIE9iamVrdGUgZGllIHNvCisJZWluZW4gV2VjaHNlbCBlcm1vZWdsaWNoZW4gc2luZCBkYWZ1ZXIgdmVyYW50d29ydGxpY2ggZGllc2UKKwlQcm9wZXJ0eSBhYnp1ZnJhZ2VuLgorCitTSUVIRSBBVUNIOgorCVBfTk9fVFBPUlQKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9fUExBWUVSUyBiL2RvYy9wcm9wcy9QX05PX1BMQVlFUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYyYjkxNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PX1BMQVlFUlMKQEAgLTAsMCArMSwzNyBAQAorTkFNRToKKyAgICBQX05PX1BMQVlFUlMgICAgICAgICAgICAgICAgICAgICAibm9fcGxheWVycyIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcm9vbXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgV2VubiBpbiBlaW5lbSBSYXVtIGRpZSBQcm9wZXJ0eSBQX05PX1BMQVlFUlMgYXVmIGVpbmVuIFdlcnQgIT0gMCBnZXNldHp0CisgICAgaXN0LCBrYW5uIGRpZXNlciB2b24gU3BpZWxlcm4gYXVmIG5vcm1hbGVtIFdlZ2UgbmljaHQgbWVociBiZXRyZXRlbiB3ZXJkZW4uCisgICAgTWFnaWVyIHVuZCBUZXN0c3BpZWxlcigqKSBrb2VubmVuIGRlbiBSYXVtIGJldHJldGVuOyBTcGllbGVyIG11ZXNzZW4gbWl0CisgICAgTV9OT0NIRUNLIGhpbmVpbmJld2VndCB3ZXJkZW4uCisKKyAgICBBdWYgZGllc2UgV2Vpc2Uga29lbm5lbiBHZWJpZXRlLCBkaWUgbm9jaCBuaWNodCBvZmZpemllbGwgYW5nZXNjaGxvc3NlbgorICAgIHNpbmQsIHZvciAndW5iZWFic2ljaHRpZ3RlbScgQmV0cmV0ZW4gZHVyY2ggU3BpZWxlciBnZXNjaHVldHp0IHdlcmRlbi4KKworICAgIE1vZWNodGUgbWFuIHp1IGVpbmVtIHNjaG9uIGFuZ2VzY2hsb3NzZW5lbiBHZWJpZXQgbmFjaHRyYWVnbGljaCBlaW5lCisgICAgUGFyYWxsZWx3ZWx0IGVpbmJhdWVuLCBzbyBzb2xsdGUgUF9OT19QTEFZRVJTICpkcmluZ2VuZCogaW4gZGVuCisgICAgUGFyYWxsZWx3ZWx0cmFldW1lbiBnZXNldHp0IHdlcmRlbiwgYmlzIGRpZSBQYXJhbGxlbHdlbHQgYXVzZHJ1ZWNrbGljaAorICAgIGZ1ZXIgU3BpZWxlciBmcmVpZ2VnZWJlbiB3aXJkLiBBbmRlcm5mYWxscyBzaW5kIGFsbGUgUGFyYWxsZWx3ZWx0cmFldW1lLAorICAgIHp1IGRlbmVuIGFuZ2VzY2hsb3NzZW5lIE5vcm1hbHdlbHRyYWV1bWUgbWl0IGdsZWljaGVtIEZpbGVuYW1lbiBleGlzdGllcmVuLAorICAgIGF1dG9tYXRpc2NoIGR1cmNoIFNwaWVsZXIgZXJyZWljaGJhciEKKworICAgICgqKSBBdXNzY2hsaWVzc2xpY2ggVGVzdHNwaWVsZXIsIGRpZSBhdWYgZGVuIE5hbWVuIGVpbmVzIGV4aXN0aWVyZW5kZW4KKyAgICBNYWdpZXJzIG1hcmtpZXJ0IHNpbmQsIGtvZW5uZW4gJ2dlc2NodWV0enRlJyBSYWV1bWUgYmV0cmV0ZW4uCisgICAgR2lsZGVudGVzdGllcyB3ZXJkZW4gd2llIFNwaWVsZXIgYmVoYW5kZWx0LgorCitBTk1FUktVTkc6CisgICAgSW0gR2VnZW5zYXR6IHp1IEJld2VndW5nZW4gdm9uIExpdmluZ3Mgd2lyZCBiZWkgZGVyIEJld2VndW5nIHZvbiBHZWdlbi0KKyAgICBzdGFlbmRlbiBQX05PX1BMQVlFUlMgbnVyIGJlaW0gV2VjaHNlbCBkZXIgV2VsdCBhdXNnZXdlcnRldCwgdW0gei5CLiB6dQorICAgIHZlcmhpbmRlcm4sIGRhc3MgQnVtZXJhbmdzIGluIG5vY2ggbmljaHQgYW5nZXNjaGxvc3NlbmUgR2ViaWV0ZSBmbGllZ2VuLgorCisgICAgTW9lY2h0ZSBtYW4gaW4gc2VpbmVtIGVpZ2VuZW4gR2ViaWV0IG1pdCBCdW1lcmFuZ3Mgby5hZS4gdGVzdGVuLCBtdXNzCisgICAgaW4gZGllc2VuIFBfVEVTVFBMQVlFUiBnZXNldHp0IHNlaW4uIERhcyBpc3QgendhciBlaGVyIGVpbiBNaXNzYnJhdWNoCisgICAgZGVyIFByb3BlcnR5LCBhYmVyIGVpbiBVbWtvbXBpZXJlbiB2b20gV2VyZmVyIHdhciBhdWYgRGF1ZXIgenUgdGV1ZXIuIDstKQorCitTSUVIRSBBVUNIOgorICAgIFBfUEFSQSwgbW92ZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9fUkVHRU5FUkFUSU9OIGIvZG9jL3Byb3BzL1BfTk9fUkVHRU5FUkFUSU9OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4ZGVhOGMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OT19SRUdFTkVSQVRJT04KQEAgLTAsMCArMSwzNCBAQAorUF9OT19SRUdFTkVSQVRJT04KKworTkFNRToKKyAgICAgUF9OT19SRUdFTkVSQVRJT04gICAgIm5vX3JlZ2VuZXJhdGlvbiIKKworREVGSU5JRVJUIElOOgorICAgICA8bGl2aW5nL2xpZmUuaD4gdW5kIDxoZWFsdGguaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBEdXJjaCBkYXMgU2V0emVuIGRpZXNlciBQcm9wZXJ0eSBrYW5uIG1hbiB2ZXJoaW5kZXJuLCBkYXMgZWluIExlYmV3ZXNlbgorICAgICBzaWNoIHJlZ2VuZXJpZXJ0LgorICAgICBFcyBnaWJ0IHNpZWJlbiBtb2VnbGljaGUgV2VydGUsIGRpZSBtYW4gZHVyY2ggdmVyb2Rlcm4ga29tYmluaWVyZW4KKyAgICAga2FubjoKKyAgICAgTk9fUkVHX0hQICAgICAgICA6IGVzIHdlcmRlbiBrZWluZSBIUCByZWdlbmVyaWVydAorICAgICBOT19SRUdfQlVGRkVSX0hQIDogZXMgd2VyZGVuIGJlaW0gInRhbmtlbiIga2VpbmUgSFAgcmVnZW5lcmllcnQKKyAgICAgTk9fUkVHX1NQICAgICAgICA6IGVzIHdlcmRlbiBrZWluZSBTUCByZWdlbmVyaWVydAorICAgICBOT19SRUdfQlVGRkVSX1NQIDogZXMgd2VyZGVuIGJlaW0gInRhbmtlbiIga2VpbmUgU1AgcmVnZW5lcmllcnQKKyAgICAgTk9fUkVHX0FMQ09IT0wgICA6IGRlciBBbGtvaG9sc3BpZWdlbCB3aXJkIG5pY2h0IGdlc2Vua3QKKyAgICAgTk9fUkVHX0RSSU5LICAgICA6IGRlciBGbHVlc3NpZ2tlaXRzc3BpZWdlbCB3aXJkIG5pY2h0IGdlc2Vua3QKKyAgICAgTk9fUkVHX0ZPT0QgICAgICA6IGRlciBOYWhydW5nc3NwaWVnZWwgd2lyZCBuaWNodCBnZXNlbmt0CisgICAgIHNvd2llIGRpZSBLb25zdGFudGUgTk9fUkVHLCBkaWUgZWluZSBLb21iaW5hdGlvbiBhbGxlciBtb2VnbGljaGVuCisgICAgIFdlcnRlIGRhcnN0ZWxsdCAocXVhc2kgZGFzIGdyb2Vzc3Rtb2VnbGljaGUgVWViZWwgOykuCisKK0JFSVNQSUVMRToKKyAgICAgRGllc2VzIExlYmV3ZXNlbiBoZWlsdCBudXIgYmVpbSAidGFua2VuIiBpbiBkZXIgS25laXBlLCBhbnNvbnN0ZW4KKyAgICAgbmljaHQ6CisgICAgIAorICAgICBTZXRQcm9wKCBQX05PX1JFR0VORVJBVElPTiwgTk9fUkVHX0hQfE5PX1JFR19TUCApOworCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2xpdmluZy9saWZlLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTQtMDUtMjAwMSBieSBNdXBmZWwKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PX1NDT1JFIGIvZG9jL3Byb3BzL1BfTk9fU0NPUkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmM0YTJkMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PX1NDT1JFCkBAIC0wLDAgKzEsNTEgQEAKK05BTUU6CisgICAgIFBfTk9fU0NPUkUgICAgICAgICAgICAgICAibm9fc2NvcmUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3NlY3VyZS9zY29yZW1hc3Rlci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllIFByb3BlcnR5IHN0ZWxsdCBlaW4gRmxhZyBpbm5lcmhhbGIgdm9uIExlYmV3ZXNlbiBkYXIsIHdlbGNoZXMKKyAgICAgc3RhbmRhcmRtYWVzc2lnIG5pY2h0IGdlc2V0enQgaXN0LiBJbiBkaWVzZW0gRmFsbCB3ZXJkZW4KKyAgICAgRXJzdGtpbGxzdHVmZW5wdW5rdGUgYW4gZGVuIEFuZ3JlaWZlciB2ZXJnZWJlbiwgc29mZXJuIGVyIGVpbiBPcGZlcgorICAgICB0b2V0ZXQuCisKKyAgICAgSW5uZXJoYWxiIGVpbmVzIFRlYW1zIGtvZW5uZW4gRXJzdGtpbGxzdHVmZW5wdW5rdGUgYXVjaCBhbgorICAgICBNaXRnbGllZGVyIHZlcmdlYmVuIHdlcmRlbiwgZGllIGRhcyBMZWJld2VzZW4gbmljaHQgc2VsYnN0IGdldG9ldGV0CisgICAgIGhhYmVuLiBWb3JhdXNzZXR6dW5nIGhpZXJmdWVyIGlzdCwgZGFzcyBkZXJqZW5pZ2UsIGRlciBkZW4gbGV0enRlbgorICAgICBTY2hsYWcgYXVzZnVlaHJ0ZSwgZGVuIEtpbGwgc2Nob24gaGF0LiBEYW5hY2ggd2VyZGVuIE1pdGdsaWVkZXIgZGVzCisgICAgIFRlYW1zIGdlc3VjaHQsIHdlbGNoZSBkZW4gS2lsbCBub2NoIG5pY2h0IGhhYmVuIHVuZCBpbiBkZXIgRm9ybWF0aW9uCisgICAgIG1vZWdsaWNoc3Qgd2VpdCB2b3JuZSBzdGVoZW4uCisKKyAgICAgTWl0IGRlciBnZXNldHp0ZW4gUHJvcGVydHkgUF9OT19TQ09SRSBpbSBPcGZlciBlcnJlaWNodCBtYW4gbnVuLAorICAgICBkYXNzIGRpZXNlIEd1dHNjaHJpZnQgZnVlciBkZW4vZGllIEFuZ3JlaWZlciB1bnRlcmJ1bmRlbiB3aXJkLgorCitCRUlTUElFTDoKKyAgICAgRm9sZ2VuZGVybWFzc2VuIHVudGVyYmluZGV0IG1hbiBkaWUgVmVyZ2FiZSB2b24KKyAgICAgRXJzdGtpbGxzdHVmZW5wdW5rdGVuIGZ1ZXIgZGVuIFRvZCBlaW5lcyBOUEMnczoKKworICAgICAgIGluY2x1ZGUgIi9zZWN1cmUvc2NvcmVtYXN0ZXIuaCIKKyAgICAgICBpbmhlcml0ICJzdGQvbnBjIjsKKyAgICAgICB2b2lkIGNyZWF0ZSgpIHsKKyAgICAgICAgIDo6Y3JlYXRlKCk7CisgICAgICAgICAuLi4KKyAgICAgICAgIFNldFByb3AoUF9OT19TQ09SRSwxKTsKKyAgICAgICB9CisKKyAgICAgRGFtaXQga2FubiBQX1hQIGVpbmVuIFdlcnQgaGFiZW4sIGRlciBlaWdlbnRsaWNoIHp1bSBhdXRvbWF0aXNjaGVuCisgICAgIEVpbnRyYWdlbiB2b24gRXJzdGtpbGxzdHVmZW5wdW5rdGVuIGZ1ZXIgZWluIExlYmV3ZXNlbiBmdWVocnQsIHVuZAorICAgICB0cm90emRlbSB3aXJkIGRpZXNlciBFaW50cmFnIG5pY2h0IHZvcmdlbm9tbWVuLgorICAgICBTaW5udm9sbCBpc3QgZGllcyBpbnNiZXNvbmRlcmUgYmVpIExlYmV3ZXNlbiwgZGllIG5pY2h0IGplZGVyCisgICAgIFNwaWVsZXIgZXJyZWljaGVuIGthbm4gKG1hbiBtb2VjaHRlIGRvY2ggZWluZSBnZXdpc3NlCisgICAgIENoYW5jZW5nbGVpY2hoZWl0IGZ1ZXIgZGFzIEVycmVpY2hlbiB2b24gU3R1ZmVucHVua3RlbiBiaWV0ZW4pLgorCitCRU1FUktVTkdFTjoKKyAgICAgQXVjaCBkaWUgVmVyZ2FiZSB2b24gRXJmYWhydW5nc3B1bmt0ZW4ga2FubiBleHBsaXppdCB1bnRlcmJ1bmRlbgorICAgICB3ZXJkZW4uIEhpZXJmdWVyIGdpYnQgZXMgZGllIGFlaG5saWNoIGdlYXJ0ZXRlIFByb3BlcnR5IFBfTk9fWFAuCisKK1NJRUhFIEFVQ0g6CisgICAgIEZ1bmt0aW9uZW46ICBHaXZlS2lsbFNjb3JlKCksIGRvX2RhbWFnZSgpCisgICAgIFZlcndhbmR0OiAgICBQX05PX1hQCisgICAgIFNvbnN0aWdlczogICBQX1hQCisKKzE0LkZlYiAyMDA3IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9OT19TVERfRFJJTksgYi9kb2MvcHJvcHMvUF9OT19TVERfRFJJTksKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTkxZTkyZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PX1NURF9EUklOSwpAQCAtMCwwICsxLDE5IEBACitOQU1FOgorCVBfTk9fU1REX0RSSU5LCQkJIm5vX3N0ZF9kcmluayIKKworREVGSU5JRVJUIElOOgorCS9zeXMvcHViLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICAgICBEdXJjaCBzZXR6ZW4gZGllc2VyIFByb3BlcnR5IGluIGVpbmVyIEtuZWlwZSBzb3JndCBtYW4gZGFmdWVyLCBkYXNzIAorICAgICAgICAiU3RhbmRhcmQtRHJpbmtzIiAoei5CLiBHbHVlaHdlaW4gaW0gRGV6ZW1iZXIpIG5pY2h0IGluIGRhcyBNZW51ZQorICAgICAgICBkZXIgS25laXBlIGF1Zmdlbm9tbWVuIHdlcmRlbi4KKworQkVNRVJLVU5HRU46CisgICAgICAgIEtlaW5lLgorCitTSUVIRSBBVUNIOgorCS9zdGQvcm9vbS9wdWIuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTYXQgTWFyIDA0IDIyOjQyOjAwIDIwMDAgYnkgUGFyYWNlbHN1cwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTk9fVFBPUlQgYi9kb2MvcHJvcHMvUF9OT19UUE9SVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDM1MGU1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTk9fVFBPUlQKQEAgLTAsMCArMSwxNSBAQAorTkFNRToKKyAgICBQX05PX1RQT1JUICAgICAgICAgICAgICAgICAgICAidHBvcnQiICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgS2FubiBmb2xnZW5kZSBXZXJ0ZSBhbm5uZWhtZW4gKGRlZmluaWVydCBpbiBtb3ZpbmcuaCk6CisgICAgIE5PX1RQT1JUX0lOCT0gTWFuIGthbm4gbmljaHQgaW4gZGVuIFJhdW0gaGluZWluIHRlbGVwb3J0aWVyZW4uCisgICAgIE5PX1RQT1JUX09VVCA9IE1hbiBrYW5uIG5pY2h0IGF1cyBkZW0gUmF1bSBoaW5hdXMgdGVsZXBvcnRpZXJlbi4KKyAgICAgTk9fVFBPUlQJPSBXZWRlciBub2NoLgorCitTSUVIRSBBVUNIOgorCVBfTk9fUEFSQV9UUkFOUworCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9OT19UUkFWRUxJTkcgYi9kb2MvcHJvcHMvUF9OT19UUkFWRUxJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE0MjViYwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PX1RSQVZFTElORwpAQCAtMCwwICsxLDI1IEBACitOQU1FOgorICAgIFBfTk9fVFJBVkVMSU5HICAgICAgICAgICAgICAgICAgICJub190cmF2ZWxpbmciICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSGllciBzdGVodCBkZXIgYWxsZ2VtZWluZSByZWlzZS1CZWZlaGwgbmljaHQgenVyIFZlcmZ1ZWd1bmcuCisKK0JFTUVSS1VOR0VOOgorICAgIFBfTk9fVFJBVkVMSU5HIHdpcmQgaW4gVHJhbnNwb3J0ZXJuIGdlc2V0enQgd2VubiBTcGllbGVyIGlobiAKKyAgICBuaWNodCBtZWhyICdhdXRvbWF0aXNjaCcgbWl0dGVscyBkZXMgJ3JlaXNlJy1CZWZlaGxzIGJldHJldGVuCisgICAga29lbm5lbiBzb2xsZW4uCisKKyAgICBTaWUgYmVrb21tZW4gaW4gZGVtIFRyYW5zcG9ydGVyIHVuZCBpbiBkZW4gWmllbHJhZXVtZW4gYXVjaCAKKyAgICBrZWluZXJsZWkgSGlud2Vpc2UgZGFyYXVmLCB3b2hpbiBzaWUgZXZ0bC4gcmVpc2VuIGtvZW5udGVuLgorICAgIAorICAgIFN0YW5kYXJkbWFlc3NpZyBpc3QgUF9OT19UUkFWRUxJTkcgbmF0dWVybGljaCAwLgorCitTSUVIRSBBVUNIOgorICAgIHJlaXNlCisKK0xFVFpURVIgQUVOREVSVU5HOgorICAgIERvbiwgMjQuMDEuMjAwMiwgMTA6MTU6MDdoIHZvbiBUaWxseQorICAgIApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05PX1hQIGIvZG9jL3Byb3BzL1BfTk9fWFAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjEyZmU4ZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX05PX1hQCkBAIC0wLDAgKzEsNDMgQEAKK05BTUU6CisgICAgIFBfTk9fWFAgICAgICAgICAgICAgICAgICAgICJub194cCIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBJbSBOb3JtYWxmYWxsIGJla29tbXQgbWFuIGltIEthbXBmIGdlZ2VuIGVpbmVuIEdlZ25lciBmdWVyIFRyZWZmZXIKKyAgICAgdW5kIGJlaW0gVG9ldGVuIGVpbmUgWFAtR3V0c2NocmlmdC4KKworICAgICBJc3QgUF9OT19YUCBnZXNldHp0LCBzbyBlcmjkbHQgbWFuIGtlaW5lcmxlaSBYUC1HdXRzY2hyaWZ0ZW4KKyAgICAgZvxyIGRlbiBLYW1wZiBvZGVyIGRlbiBUb2QgZGVzIE5QQ3MuCisKK0JFSVNQSUVMOgorICAgICBGb2xnZW5kZXJtYXNzZW4gdW50ZXJiaW5kZXQgbWFuIGRpZSBWZXJnYWJlIHZvbiBFcmZhaHJ1bmdzcHVua3RlCisgICAgIGZ1ZXIgZGVuIEFuZ3JpZmYgZWluZXMgTlBDJ3M6CisKKyAgICAgICBpbmNsdWRlICIvc3lzL2xpdmluZy9saWZlLmgiCisgICAgICAgaW5oZXJpdCAic3RkL25wYyI7CisgICAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAgICA6OmNyZWF0ZSgpOworICAgICAgICAgLi4uCisgICAgICAgICBTZXRQcm9wKFBfTk9fWFAsMSk7CisgICAgICAgfQorCisgICAgIERhbWl0IGthbm4gUF9YUCB0cm90emRlbSBlaW5lbiBXZXJ0IGltIE5QQyBoYWJlbiwgZGVyCisgICAgIEVyc3RraWxsc3R1ZmVucHVua3RlIGZ1ZXIgTGViZXdlc2VuIGF1dG9tYXRpc2NoIGVpbnRyYWVndCEKKworICAgICBBdWNoIGZ1ZXIgZGFzIGt1cnp6ZWl0aWdlIFVudGVyYmluZGVuIGRlciBWZXJnYWJlIHZvbgorICAgICBFcmZhaHJ1bmdzcHVua3RlbiBpc3QgZGllc2UgUHJvcGVydHkgc2lubnZvbGxlciwgYWxzIFBfWFAgaW0gTlBDCisgICAgIGF1ZiAwIHp1IHNldHplbi4KKworQkVNRVJLVU5HRU46CisgICAgIEF1Y2ggZGllIFZlcmdhYmUgdm9uIEVyc3RraWxsc3R1ZmVucHVua3RlbiBrYW5uIGV4cGxpeml0IHVudGVyYnVuZGVuCisgICAgIHdlcmRlbi4gSGllcmZ1ZXIgZ2lidCBlcyBkaWUgYWVobmxpY2ggZ2VhcnRldGUgUHJvcGVydHkgUF9OT19TQ09SRS4KKworU0lFSEUgQVVDSDoKKyAgICAgRnVua3Rpb25lbjogIEFkZEV4cCgpLCBEaXN0cmlidXRlRXhwKCksIGRvX2RhbWFnZSgpCisgICAgIFByb3BlcnRpZXM6ICBQX1hQLCBQX0xBU1RfWFAKKyAgICAgVmVyd2FuZHQ6ICAgIFBfTk9fU0NPUkUKKyAgICAgU29uc3RpZ2VzOiAgIFBfVE9UQUxfV0MsIGNyZWF0ZV9kZWZhdWx0X25wYygpCisKKzE0LkZlYiAyMDA3IEdsb2luc29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfTlBDIGIvZG9jL3Byb3BzL1BfTlBDCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZDEyNzAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OUEMKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfTlBDICAgICAgICAgICAgICAgICAgICAgICAgICJpc19ucGMiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBHZXNldHp0IGJlaSBNb25zdGVybi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX05QQ19GQVNUSEVBTCBiL2RvYy9wcm9wcy9QX05QQ19GQVNUSEVBTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjU4OGI5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfTlBDX0ZBU1RIRUFMCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisJUF9OUENfRkFTVEhFQUwJCQkibnBjX2Zhc3RoZWFsIgorCitERUZJTklFUlQgSU46CisJL3N5cy9wdWIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICAgIER1cmNoIHNldHplbiBkaWVzZXIgUHJvcGVydHkgaW4gZWluZXIgS25laXBlIHNvcmd0IG1hbiBkYWZ1ZXIsIGRhc3MgCisgICAgICAgIGJlaSBOUENzLCBkaWUgZG9ydCAidGFua2VuIiwgZGllIExlYmVucy0gdW5kIEtvbnplbnRyYXRpb25zcHVua3RlCisgICAgICAgIGRpcmVrdCBlcmhvZWh0IHdlcmRlbiB1bmQgbmljaHQsIHdpZSBiZWkgdW5nZXNldHp0ZXIgUHJvcGVydHksIGluCisgICAgICAgIGRpZSBqZXcuIEJ1ZmZlciBnZXNjaHJpZWJlbiB3ZXJkZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICAgICBEaWUgQmVudXR6dW5nIGRpZXNlciBQcm9wZXJ0eSBzb2xsdGUgbmljaHQgdW5iZWRpbmd0IHp1bSBTdGFuZGFyZAorICAgICAgICB3ZXJkZW4uCisKK1NJRUhFIEFVQ0g6CisJL3N0ZC9yb29tL3B1Yi5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFdlZCBTZXAgMjkgMTM6NTg6MDAgMTk5OSBieSBQYXJhY2Vsc3VzCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9OUl9IQU5EUyBiL2RvYy9wcm9wcy9QX05SX0hBTkRTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwODI3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9OUl9IQU5EUwpAQCAtMCwwICsxLDMxIEBACitQX05SX0hBTkRTCitOQU1FOgorICAgICBQX05SX0hBTkRTICJucl9oYW5kcyIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2lldmllbGUgSGFlbmRlIG11c3MgbWFuIGZyZWkgaGFiZW4sIHVtIGRpZSBXYWZmZSB6dWVja2VuIG9kZXIgZGVuCisgICAgIFNjaGlsZCB0cmFnZW4genUga29lbm5lbj8KKyAgICAgRGllc2VyIFdlcnQgbXVzcyBtaW5kZXN0ZW5zIDEgYmV0cmFnZW4hCisKKyAgICAgU29sbGVuIFNwaWVsZXIgZGllIFdhZmZlIGJlbnV0emVuIGtvZW5uZW4sIHNvIHNpbmQgaGllciBudXIgZGllIFdlcnRlIDEKKyAgICAgdW5kIDIgbW9lZ2xpY2guIEZhbGxzIGRpZSBXYWZmZSBudXIgdm9uIE1vbnN0ZXJuIGJlbnV0emJhciBzZWluIHNvbGwsCisgICAgIGthbm4gbWFuIGhpZXIgYXVjaCBob2VoZXJlIFdlcnRlIGVpbnRyYWdlbiAoZGF6dSBtdXNzIG1hbiBiZWltIE1vbnN0ZXIKKyAgICAgUF9NQVhfSEFORFMgZW50c3ByZWNoZW5kIGhvY2ggc2V0emVuKS4gQWxzIEJlaXNwaWVsIHNlaSBoaWVyIG51ciBkYXMKKyAgICAgdmllcmhhZW5kaWdlIFNjaHdlcnQgYXVzIGRlbSBGcmllZGhvZiBnZW5hbm50LgorCisgICAgIERlZmF1bHRtYWVzc2lnIHNpbmQgYWxsZSBXYWZmZW4gWndlaWhhZW5kZXIuCisKKyAgICAgRGllc2UgUHJvcGVydHkga2FubiBhdWNoIGJlaSBaYXViZXJuIGJlbnV0enQgd2VyZGVuLCBiZWkgZGVuZW4gbWFuIGVpbmUKKyAgICAgb2RlciBtZWhyZXJlIEhhZW5kZSBmcmVpIGhhYmVuIG11c3MuCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfSEFORFMsIFBfSEFORFNfVVNFRF9CWQorICAgICBQX01BWF9IQU5EUywgUF9VU0VEX0hBTkRTLCBQX0ZSRUVfSEFORFMKKyAgICAgVXNlSGFuZHMsIEZyZWVIYW5kcworICAgICAvc3RkL3dlYXBvbi5jLCAvc3RkL3NwZWxsYm9vay5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFN1biBNYXkgMTkgMTU6MDA6MDIgMTk5NiBieSBXYXJnb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX09SQUtFTCBiL2RvYy9wcm9wcy9QX09SQUtFTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjM4M2RhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfT1JBS0VMCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX09SQUtFTCAgICAgICAgICAgICAgICAgICAgICAib3Jha2VsIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2VubiBkaWVzZSBQcm9wZXJ0eSBnZXNldHp0IGlzdCwga2FubiBkZXIgV2FuZGVyZXIgaW4gZGllc2VuCisgICAgIFJhdW0gaGluZWluLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfT1JJR19GSUxFX05BTUUgYi9kb2MvcHJvcHMvUF9PUklHX0ZJTEVfTkFNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMDY0MzYwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfT1JJR19GSUxFX05BTUUKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfT1JJR19GSUxFX05BTUUgICAgICAgICAgICAgICAgIm9yaWdpbmFsX29iamVjdF9uYW1lIiAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBJbiBlaW5lciBMZWljaGUgZGVyIEZpbGVuYW1lIGRlcyBHZXN0b3JiZW5lbi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX09SSUdfTkFNRSBiL2RvYy9wcm9wcy9QX09SSUdfTkFNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmE1ZDczCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfT1JJR19OQU1FCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX09SSUdfTkFNRSAgICAgICAgICAgICAgICAgICAib3JpZ2luYWxfbmFtZSIgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgSW4gZWluZXIgTGVpY2hlIGRlciBOYW1lIGRlcyBHZXN0b3JiZW5lbi4gKG5hbWUoUkFXKSkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BBUkEgYi9kb2MvcHJvcHMvUF9QQVJBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3Y2M5MmIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QQVJBCkBAIC0wLDAgKzEsNTQgQEAKK05BTUU6CisgICAgUF9QQVJBICAgICAgICAgICAgICAgICAgICAgICAgInBhcmEiICAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgTnVtbWVyIGRlciBQYXJhbGxlbHdlbHQsIGluIGRlciBzaWNoIGVpbiBTcGllbGVyIGJlZmluZGV0LgorCisgICAgSXN0IGRpZSBQcm9wZXJ0eSBQX1BBUkEgYXVmIE51bGwgZ2VzZXR6dCwgc28gYmVmaW5kZXQgc2ljaCBkZXIgU3BpZWxlciBpbgorICAgIGRlciAnTm9ybWFsd2VsdCcuIEdpYnQgZXMgYmVpIGVpbmVyIEJld2VndW5nIGRpZXNlcyBTcGllbGVycyBtZWhyZXJlCisgICAgbW9lZ2xpY2hlIFppZWxyYWV1bWUgbWl0IGlkZW50aXNjaGVtIE5hbWVuIGFiZXIgdW50ZXJzY2hpZWRsaWNoZW4gRW5kdW5nZW4KKyAgICAnbmFtZS5jJywgJ25hbWVeMS5jJywgJ25hbWVeMi5jJyBldGMuLCBzbyB3aXJkIGRlciBTcGllbGVyIGluIGRlbiBSYXVtCisgICAgJ25hbWUuYycgYmV3ZWd0LiAKKworICAgIFdpcmQgZGllIFByb3BlcnR5IFBfUEFSQSBhdWYgZWluZW4gV2VydCBuPjAgZ2VzZXR6dCwgc28gbGFuZGV0IGRlciBTcGllbGVyCisgICAgYmVpIGVpbmVyIEJld2VndW5nIGltIFJhdW0gJ25hbWVebi5jJy4gSXN0IGtlaW4gUmF1bSBtaXQgZW50c3ByZWNoZW5kZXIKKyAgICBFbmR1bmcgdm9yaGFuZGVuLCB3aXJkIGRlciBTcGllbGVyIHN0YXR0ZGVzc2VuIGluIGRlbiBOb3JtYWx3ZWx0cmF1bQorICAgIGJld2VndC4KKworICAgIERpZXNlIFByb3Aga2FubiBhdWNoIGluIGVpbmVtIFZpcnR1YWwgQ29tcGlsZXIgZ2VzZXR6dCB3ZXJkZW4uIEluIGRpZXNlbQorICAgIEZhbGwgc2NocmFlbmt0IHNpZSBkaWUgRGltZW5zaW9uZW4gZWluLCBpbiBkZW5lbiBkZXIgVkMgT2JqZWt0ZSBlcnpldWd0LgorICAgIERpZSBQcm9wIGthbm4gZWluZSBlaW56ZWxuZSBaaWZmZXIgKEludCkgb2RlciBlaW4gQXJyYXkgdm9uIEludHMgCisgICAgYXVmbmVobWVuLCBkYW5uIGlzdCBkZXIgVkMgZnVlciBhbGxlIGFuZ2VnZWJlbiBEaW1lbnNpb25lbiB6dXN0YWVuZGlnLiAKKyAgICBFaW4gbGVlcmVzIEFycmF5IGVybGF1YnQgZ2FyIGtlaW5lIFBhcmEtT2JqZWt0ZS4KKworQU5NRVJLVU5HOgorICAgIERpZSBFbmR1bmcgJ14wJyBrZW5uemVpY2huZXQgX25pY2h0XyBkaWUgTm9ybWFsd2VsdC4gU28gbGFuZ2Uga2VpbiBBdXNnYW5nCisgICAgZXhwbGl6aXQgYXVmIGRlbiBSYXVtICduYW1lXjAuYycgdmVyd2Vpc3QsIHdpcmQga2VpbiBTcGllbGVyIGRlbiBSYXVtCisgICAgYmV0cmV0ZW4ga29lbm5lbi4gRGVzaGFsYiBrYW5uIG1hbiBkaWUgRW5kdW5nICdeMCcgei5CLiBkYXp1IGJlbnV0emVuLCB1bQorICAgIGVpZ2VuZSBTdGFuZGFyZHJhZXVtZSBmdWVyIGVpbiBHZWJpZXQgenUgc2NocmVpYmVuLCBkaWUgZGFubiBzb3dvaGwgdm9uCisgICAgZGVuIE5vcm1hbC0gYWxzIGF1Y2ggdm9uIGRlbiBQYXJhbGxlbHdlbHRyYWV1bWVuIGluaGVyaXRldCB3ZXJkZW4uCisKKyAgICBSYWV1bWUgbWl0IEVuZHVuZ2VuICdebi5jJywgYmVpIGRlbmVuICduJyBrZWluZSBwb3NpdGl2ZSBnYW56ZSBaYWhsIGlzdCwKKyAgICB3ZXJkZW4gbmljaHQgYmVhY2h0ZXQuCisKKyAgICBGdWVyIGRpZSBFbnRzY2hlaWR1bmcsIGluIHdlbGNoZW0gUmF1bSBlaW4gU3BpZWxlciBpbiBBYmhhZW5naWdrZWl0IHZvbgorICAgIFBfUEFSQSBsYW5kZXQsIGlzdCBkaWUgRnVua3Rpb24gbW92ZSgpIHp1c3RhZW5kaWcuIEFscyBNYWdpZXIgbXVzcyBtYW4gc2ljaAorICAgIGRhcnVtIG5pY2h0IGdlc29uZGVydCBrdWVtbWVybi4gRGFzIGhlaXNzdCBhYmVyIGF1Y2gsIGRhc3MgYmVpbSBBbnNjaGx1c3MKKyAgICBlaW5lcyBOb3JtYWx3ZWx0cmF1bWVzIGF1dG9tYXRpc2NoIGFsbGUgaW4gZGVtIFZlcnplaWNobmlzIG1pdCBnbGVpY2hlbQorICAgIE5hbWVuIHZvcmhhbmRlbmVuIFBhcmFsbGVsd2VsdHJhZXVtZSBtaXQgYW5nZXNjaGxvc3NlbiB3ZXJkZW4uCisKKyAgICBTb2xsZW4gZWluemVsbmUgUGFyYWxsZWx3ZWx0cmFldW1lIG5vY2ggbmljaHQgYW5nZXNjaGxvc3NlbiB3ZXJkZW4sIHNvIG11c3MKKyAgICBpbiBpaG5lbiBkaWUgUHJvcGVydHkgUF9OT19QTEFZRVJTIGdlc2V0enQgd2VyZGVuLiBEaWVzZSBSYWV1bWUgc2luZCBkYW5uCisgICAgbnVyIGR1cmNoIE1hZ2llciB1bmQgVGVzdHNwaWVsZXIgenUgYmV0cmV0ZW4gKHVuZCB6dSB0ZXN0ZW4pLgorCisgICAgSW4gUGFyYXdlbHRyYWV1bWVuIGxpZWZlcnQgUF9QQVJBICduJyB6dXJ1ZWNrLgorICAgIE1hbiBrYW5uIGFsc28gei5CLiBpbiBOUENzIGVpbmZhY2ggdWViZXIgZW52aXJvbm1lbnQoKS0+UXVlcnlQcm9wKFBfUEFSQSkgCisgICAgYWJmcmFnZW4sIGluIHdlbGNoZXIgUGFyYXdlbHQgc2ljaCBkaWVzZXIgZ2VyYWRlIGJlZmluZGV0LgorCitTSUVIRSBBVUNIOgorICAgIFBfTk9fUExBWUVSUywgbW92ZSwgcGFyYXJhZXVtZQorICAgIAorMjUuSmFuIDIwMTUgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BBUlJZIGIvZG9jL3Byb3BzL1BfUEFSUlkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM1NTBkZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BBUlJZCkBAIC0wLDAgKzEsMzEgQEAKK1BfUEFSUlkKKworTkFNRToKKyAgICAgUF9QQVJSWSAicGFycnkiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGNvbWJhdC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGxlZ3QgZmVzdCwgaW53aWVmZXJuIGVpbmUgV2FmZmUgYWxzIFBhcmllcndhZmZlCisgICAgIGdlbnV0enQgd2VyZGVuIGthbm4uIE1vZWdsaWNoZSBXZXJ0ZToKKworICAgICAgICAgUEFSUllfTk9UICAgICBFaW5lIHJlaW5lIEFuZ3JpZmZzd2FmZmUgb2huZSBQYXJpZXJmdW5rdGlvbi4KKworICAgICAgICAgUEFSUllfVE9PICAgICBFaW5lIGtvbWJpbmllcnRlIEFuZ3JpZmZzLSB1bmQgUGFyaWVyd2FmZmUuCisKKyAgICAgICAgIFBBUlJZX09OTFkgICAgRWluZSByZWluZSBQYXJpZXJ3YWZmZS4gRGllc2Uga2FubiB6dXNhZXR6bGljaAorICAgICAgICAgICAgICAgICAgICAgICB6dSBlaW5lciBub3JtYWxlbiBXYWZmZSBnZXp1ZWNrdCB3ZXJkZW4uCisKKyAgICAgTWFuIHNvbGx0ZSBudXIgZGllIGluIDxjb21iYXQuaD4gZGVmaW5pZXJ0ZW4gS29uc3RhbnRlbiB2ZXJ3ZW5kZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICBEdXJjaCBkaWVzZSBQcm9wZXJ0aWUgbGFlc3N0IHNpY2ggX2tlaW5fIFBhcmFkZS1Cb251cyBmdWVyIFRydmVzIAorICAgICBzZXR6ZW4hIEFsbGUgR2lsZGVuIGhhYmVuIGV0d2FzIGRhdm9uLiBWb3IgVmVyd2VuZHVuZyBiaXR0ZSBtaXQKKyAgICAgZGVyIE9iamVrdC1CYWxhbmNlIGFic3ByZWNoZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvd2VhcG9uL2NvbWJhdC5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFNhdCBKdW4gMDEgMTM6Mjg6NDUgMjAwMSBieSBUaWxseQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUEFSUllfV0VBUE9OIGIvZG9jL3Byb3BzL1BfUEFSUllfV0VBUE9OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4NzNiZmIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QQVJSWV9XRUFQT04KQEAgLTAsMCArMSwxNyBAQAorUF9QQVJSWV9XRUFQT04KKworTkFNRToKKyAgICAgUF9QQVJSWV9XRUFQT04gInBhcnJ5X3dlYXBvbiIKKworREVGSU5JRVJUIElOOgorICAgICA8Y29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZ2lidCBhbiwgd2VsY2hlIFBhcmllcndhZmZlIGVpbiBTcGllbGVyIGRlcnplaXQKKyAgICAgZ2V6dWVja3QgaGF0LgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL3dlYXBvbi9jb21iYXQuYywgL3N0ZC9saXZpbmcvY29tYmF0LmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU2F0IEp1biAyNiAxNToyMzowMCAxOTk5IGJ5IFBhcmFjZWxzdXMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BFQUNFX0hJU1RPUlkgYi9kb2MvcHJvcHMvUF9QRUFDRV9ISVNUT1JZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzY2IyZDIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QRUFDRV9ISVNUT1JZCkBAIC0wLDAgKzEsNDIgQEAKK1BfUEVBQ0VfSElTVE9SWQorCitOQU1FOgorICAgICBQX1BFQUNFX0hJU1RPUlkgICAgICAiX3BlYWNlX2hpc3RvcnkiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEluIGRpZXNlciBQcm9wIHdpcmQgbmFjaCBHaWxkZW4gZ2V0cmVubnQgZ2VzcGVpY2hldCwgd2llIG9mdCBkYXMgTGViZXdlc2VuCisgICAgaW4gbGV0enRlciBaZWl0IGJlZnJpZWRldCB3b3JkZW4gaXN0LiBEaWVzZSBJbmZvcm1hdGlvbiBnZWh0IGluIGRpZQorICAgIENoYW5jZSBhdWYgZWluZSB6dWt1ZW5mdGlnZSBCZWZyaWVkdW5nIGVpbi4KKyAgICBEaWUgWmFlaGxlciB3ZXJkZW4gaW0gRHVyY2hzY2huaXR0IGFsbGUgMjcwMHMgdW0gMi0zIHJlZHV6aWVydC4KKyAgICBEaWUgRGF0ZW5zdHJ1a3R1ciBpc3QgZWluIEFycmF5LCB3ZWxjaGVzIGVpbmVuIFplaXRzdGVtcGVsIGFscyBlcnN0ZXMKKyAgICBFbGVtZW50IHVuZCBlaW4gTWFwcGluZyBhbHMgendlaXRlcyBlbnRoYWVsdC4gRGFzIE1hcHBpbmcgZW50aGFlbHQgdW50ZXIKKyAgICBkZW4gR2lsZGVubmFtZW4gYWxzIEtleXMgZGVuIGdhbnp6YWhsaWdlbiBaYWVobGVyIGVyZm9sZ3JlaWNoZXIKKyAgICBCZWZyaWVkdW5nZW4gdm9uIFNwaWVsZXJuIGRpZXNlciBHaWxkZS4KKworQkVNRVJLVU5HRU46CisgICAgKiBEaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbmllbWFscyBkaXJla3QgZ2VhZW5kZXJ0IHdlcmRlbi4gQml0dGUgZ3JlaWZ0IGFsc28KKyAgICAgIG51ciBsZXNlbmQgZGFyYXVmIHp1LiBTb2xsdGUgaGllcm1pdCBTY2hpbmRsdWRlciBnZXRyaWViZW4gd2VyZGVuLAorICAgICAgd2VyZGVuIGRpZSBEYXRlbiB2b3IgZXh0ZXJuZXIgQWVuZGVydW5nIGdlc2NodWV0enQuCisgICAgKiBEaWUgRGF0ZW5zdHJ1a3R1ciBpbiBkaWVzZXIgUHJvcCBrYW5uIGluIFp1a3VuZnQgdS5VLiBnZWFlbmRlcnQgd2VyZGVuLgorICAgICAgRGFoZXIgYWVuZGVydCBzaWUgYW0gYmVzdGVuIGF1Y2ggbmljaHQgaW0gZWlnZW5lbiBOUEMgb2RlciBzZWlkIGRhcmF1ZgorICAgICAgZ2VmYXNzdCwgaXJnZW5kd2FubiBIYW5kIGFubGVnZW4genUgbXVlc3Nlbi4KKyAgICAqIERpZSBBa3R1YWxpc2llcnVuZyAoYXVjaCBkaWUgUmVkdWt0aW9uKSBmaW5kZXQgaW0gWnVnZSBlaW5lcworICAgICAgUXVlcnlQYWNpZnkoKSBzdGF0dCwgbmljaHQgaW0gUmVzZXQgZGVzIExlYmV3ZXNlbnMuCisKK0JFSVNQSUVMOgorICAgIEluIFBfUEVBQ0VfSElTVE9SWSBzdGVodDoKKyAgICAoezEyMDk2NTQ1OTcsIChbInphdWJlcmVyIjogMywgImtsZXJ1cyI6IDRdKSB9KQorICAgIEJlaSBkZXIgQmVyZWNobnVuZyBkZXIgbmFlY2hzdGVuIEJlZnJpZWRlLUNoYW5jZSBnZWhlbiBiZWkgWmF1YmVyZXJuIGFsc28KKyAgICAzIGVyZm9sZ3JlaWNoZSBWZXJzdWNoZSwgYmVpIEtsZXJpa2VybiA0IGVyZm9sZ3JlaWNoZSBWZXJzdWNoZSBlaW4uCisgICAgRGVyIFplaXR3ZXJ0IGFuIGVyc3RlciBTdGVsbGUgZGVzIEFycmF5cyB3aXJkIGRlciBiZWkgZGVyIEJlcmVjaG51bmcgZGVyCisgICAgbmFlY2hzdGVuIFJlZHVrdGlvbiBkZXIgWmFlaGxlciBiZXJ1ZWNrc2ljaHRpZ3QuIChHZW5hdWVzOiBzLiBjb21iYXQuYykKKworU0lFSEUgQVVDSDoKKyAgICAgUF9QRUFDRV9BQ0NFUFQKKyAgICAgUXVlcnlQYWNpZnkoKQorICAgICAvc3RkL2xpdmluZy9jb21iYXQuYworCiswMS4wNS4yMDA4LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9QRVJNX1NUUklORyBiL2RvYy9wcm9wcy9QX1BFUk1fU1RSSU5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OTA0YjcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QRVJNX1NUUklORwpAQCAtMCwwICsxLDExIEBACitOQU1FOgorICAgIFBfUEVSTV9TVFJJTkcgICAgICAgICAgICAgICAgICJwZXJtX3N0cmluZyIgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvY29tbS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRnVlciBTcHJhY2hmbHVlY2hlLCBQcm9wZXJ0eSBpc3QgaW0gU3BpZWxlci1PYmpla3QgenUgc2V0emVuLiBJbiBkZW0KKyAgICAgT2JqZWt0LCBkYXMgaW4gUF9QRVJNX1NUUklORyBnZXNwZWljaGVydCBpc3QsIHdpcmQgYmVpIFNwcmFjaGJlZmVobGVuCisgICAgIHBlcm11dGF0ZV9zdHJpbmcoc3RyKSBhdWZnZXJ1ZmVuIHVuZCBkZXIgenVydWVja2dlZ2ViZW5lIFN0cmluZyAKKyAgICAgc3RhdHRkZXNzZW4gYXVzZ2VnZWJlbi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BJQ0tfTVNHIGIvZG9jL3Byb3BzL1BfUElDS19NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjc3ZDUwOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BJQ0tfTVNHCkBAIC0wLDAgKzEsNjAgQEAKK1BfUElDS19NU0cKK05BTUU6CisgICAgIFBfUElDS19NU0cJCQkJInBpY2tfbWVzc2FnZSIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9wdXRfYW5kX2dldC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWl0IFBfUElDS19NU0cga2FubiBtYW4gZGllIE1lbGR1bmcsIGRpZSBtYW4gYmVpbSBBdWZuZWhtZW4gZWluZXMKKyAgICAgT2JqZWt0ZXMgYmVrb21tdCwgbW9kaWZpemllcmVuLgorCisgICAgIEZvbGdlbmRlIFdlcnRlIHNpbmQgbW9lZ2xpY2g6CisKKyAgICAgbyAwCisgICAgICAgRXMgd2lyZCBlaW5lIFN0YW5kYXJkbWVsZHVuZyBhdXNnZWdlYmVuLiBEaWVzIGlzdCBWb3JlaW5zdGVsbHVuZy4KKworICAgICBvIE5PX1BOR19NU0cgICAgICAgPT0gLTEKKyAgICAgICBFcyB3aXJkIGtlaW5lcmxlaSBNZWxkdW5nIGF1c2dlZ2ViZW4KKworICAgICBvIEVpbiBBcnJheSBhdXMgU3RyaW5ncworICAgICAgIERlciBlcnN0ZSBTdHJpbmcgd2lyZCBhbiBkZW4gU3BpZWxlciBhdXNnZWdlYmVuLCBkZXIgendlaXRlCisgICAgICAgKG9wdGlvbmFsZSkgYW4gZGVuIFJhdW0uCisKKyAgICAgICBEaWUgU3RyaW5ncyB3ZXJkZW4gZHVyY2ggZGllIEZ1bmt0aW9uIHJlcGxhY2VfcGVyc29uYWwoKSBnZXBhcnN0LgorCU9iamVrdDEgLSBTcGllbGVyCisgICAgICAgIE9iamVrdDIgLSBkYXMgT2JqZWt0LCBkYXMgZ2Vub21tZW4gd2lyZAorCisgICAgICAgV2lyZCBkZXIgendlaXRlIFN0cmluZyBuaWNodCBhbmdlZ2ViZW4sIGVyZm9sZ3Qga2VpbmUgTWVsZHVuZyBhbiBkZW4KKyAgICAgICBSYXVtLgorCitCRUlTUElFTDoKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAuLi4KKyAgICAgIFNldFByb3AoIFBfU0hPUlQsICJFdHdhcyBTYW5kIiApOworICAgICAgU2V0UHJvcCggUF9MT05HLCBicmVha19zdHJpbmcoCisgICAgICAgIkVpbiB3ZW5pZyBtYWdpc2NoZXIgU2FuZC4gU2VociBmZWlua3J1ZW1lbGlnLiIsNzggKSk7CisKKyAgICAgIFNldFByb3AoIFBfTkFNRSwgIlNhbmQiICk7CisgICAgICBBZGRJZCggKHsic2FuZCJ9KSApOworICAgICAgU2V0UHJvcCggUF9HRU5ERVIsIE1BTEUgKTsKKworICAgICAgU2V0UHJvcCggUF9QSUNLX01TRywgKHsKKyAgICAgICAiRHUgc2NoYXVmZWxzdCBAV0VOMiBpbiBkZWluZSBIYW5kLiIsCisgICAgICAgIkBXRVIxIHNjaGF1ZmVsdCBAV0VOMiBpbiBlaW5lIEhhbmQuIn0pKTsKKyAgICAgIC4uLgorICAgICB9CisKKyAgICAgRGFzIGdhbnplIGZ1ZWhydCBiZWkgVWdhcnMgIm5pbW0gc2FuZCIgenUgZm9sZ2VuZGVuCisgICAgIE1lbGR1bmdlbjoKKworICAgICBVZ2FyOiAiRHUgc2NoYXVmZWxzdCBkZW4gU2FuZCBpbiBkZWluZSBIYW5kLiIKKyAgICAgUmF1bTogIlVnYXIgc2NoYXVmZWx0IGRlbiBTYW5kIGluIGVpbmUgSGFuZC4iCisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfRFJPUF9NU0csIFBfUFVUX01TRywgUF9HSVZFX01TRywgUF9XRUFSX01TRywgUF9XSUVMRF9NU0cKKyAgICAgRmVobGVyOiAgICAgUF9UT09fSEVBVllfTVNHLCBQX0VOVl9UT09fSEVBVllfTVNHLCBQX1RPT19NQU5ZX01TRywKKyAgICAgICAgICAgICAgICAgUF9OT0lOU0VSVF9NU0csIFBfTk9MRUFWRV9NU0csIFBfTk9EUk9QLCBQX05PR0VUIAorICAgICBTb25zdGlnZXM6ICByZXBsYWNlX3BlcnNvbmFsKEUpLCBwaWNrX29iaihMKSwgL3N0ZC9saXZpbmcvcHV0X2FuZF9nZXQuYworCisxNC4gTWFlcnogMjAwNCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUElMRV9OQU1FIGIvZG9jL3Byb3BzL1BfUElMRV9OQU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1NGRjNzIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QSUxFX05BTUUKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfUElMRV9OQU1FICAgICAgICAgICAgICAgICAgICJmaWxlX25hbWUiICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2NvbnRhaW5lci9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBJbiBlaW5lciBMZWljaGUgZGVyIE5hbWUgZGVzIEdlc3RvcmJlbmVuIGltIERhdGl2LiAobmFtZShXRU0pKQorICAgICBXaXJkIHZvbSBIYXVmZW4gYmVub2V0aWd0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUExBWUVSX0xJR0hUIGIvZG9jL3Byb3BzL1BfUExBWUVSX0xJR0hUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZDU5YjUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QTEFZRVJfTElHSFQKQEAgLTAsMCArMSwyOCBAQAorTkFNRToKKyAgICBQX1BMQVlFUl9MSUdIVCAgICAgICAgICAgICAgICAgICAgICAgInBsYXllcl9saWdodCIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBHaWJ0IGRlbiBMaWNodGxldmVsIGFuLCBtaXQgZGVtIGVpbiBMZWJld2VzZW4gc2llaHQsIGVpbiBBYmZyYWdlbiBkaWVzZXIKKyAgICBQcm9wZXJ0eSBrYW5uIHouQi4gc2lubnZvbGwgc2VpbiB3ZW5uIG1hbiBhYmZyYWdlbiB3aWxsIG9iIGVpbiBTcGllbGVyCisgICAgZ2VudWcgTGljaHQgZGFiZWkgaGF0IHVtIGVpbiBiZXN0aW1tdGVzIERldGFpbCB1bnRlcnN1Y2hlbiB6dSBrb2VubmVuLgorCisgICAgQml0dGUgX251cl8gdWViZXIgUXVlcnlQcm9wIGF1ZiBkaWVzZSBQcm9wZXJ0eSB6dWdyZWlmZW4sCisgICAgZGEgZGFzIExpY2h0bGV2ZWwgZ2dmLiBuZXUgYmVyZWNobmV0IHdlcmRlbiBtdXNzIQorCisgICAgRWluIGRpcmVrdGVzIHNldHplbiBkaWVzZXIgUHJvcGVydHkgaXN0IE5JQ0hUIG1vZWdsaWNoLiBFcyBpc3QgamVkb2NoCisgICAgbW9lZ2xpY2ggZW50d2VkZXIgZWluZSBDbG9zdXJlIHp1IGJlbnV0emVuIG9kZXIgZGVuIFdlcnQgdWViZXIgZWluZW4KKyAgICBQX0xJR0hUX01PRElGSUVSIHp1IHZlcmFlbmRlcm4uCisKKyAgICBVbSB6dSBlcnJlaWNoZW4sIGRhcyBlaW4gTlBDIE5hY2h0c2ljaHQgYmVrb21tdCwgZ2lidCBlcyBudW4gMyBWYXJpYW50ZW4uCisgICAgLSBlaW5lIGNsb3N1cmU6CisgICAgICAgIFNldChQX1BMQVlFUl9MSUdIVCwgZnVuY3Rpb24gaW50ICgpIHtyZXR1cm4gMTt9ICwgRl9RVUVSWV9NRVRIT0QpIAorICAgICAgZGllc2VzIGJlZGV1dGV0LCBkYXNzIGRlciBOUEMgaW4gamVkZXIgRHVua2VsaGVpdCBwZXJmZWt0IHNlaGVuIGthbm4uCisgICAgLSBkYXMgc2V0emVuIHZvbiBlaW5lbSBQX0xJR0hUX01PRElGSUVSCisgICAgLSBkYXMgYmVudXR6ZW4gZGVzIHN0ZHNraWxscy4gSGllcnp1IHNjaHJlaWJ0IG1hbiBpbiBkYXMgY3JlYXRlKCkgZGVzCisgICAgICBOUENzIGVpbmZhY2ggZWluOiBNb2RpZnlTa2lsbChTS19OSUdIVFZJU0lPTiwgMTAwMDApOworCitTSUVIRSBBVUNIOgorICAgIFBfTElHSFRfTU9ESUZJRVIsIFBfTElHSFQsIFBfVE9UQUxfTElHSFQsIFBfSU5UX0xJR0hULCBDYW5ub3RTZWUoKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUExVUkFMIGIvZG9jL3Byb3BzL1BfUExVUkFMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNWUzYTUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QTFVSQUwKQEAgLTAsMCArMSwzOSBAQAorTkFNRToKKyAgICBQX1BMVVJBTCAgICAgICAgICAgICAgICAgICAgICAicGx1cmFsIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9sYW5ndWFnZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNaXQgSGlsZmUgdm9uIFBfUExVUkFMIGtvZW5uZW4gYXVjaCBuaWNodCBVbml0IE9iamVrdGUgYWxzIFBsdXJhbG9iamVrdGUKKyAgICBtYXJraWVydCB3ZXJkZW4uIEJlaSBlaW5lbSBXZXJ0ID4gMSB3aXJkIGRlciBXZXJ0IGF1c3NlcmRlbSBhdWNoIG5vY2ggaW4KKyAgICBkZW4gTmFtZW4gZWluZ2VmdWVndC4gU29sbHRlIG1hbiBpbiBlaWdlbmVtIENvZGUgenVsYXNzZW4gd29sbGVuLCBkYXMKKyAgICBldHdhcyBtaXQgYmVzdGltbXRlbiBPYmpla3RlbiBnZXNjaGllaHQsIGRhbm4gc29sbHRlIG1hbiBkaWUgVmVyYmVuCisgICAgZW50c3ByZWNoZW4ga29uanVnaWVyZW4uCisKK0JFTUVSS1VOR0VOOgorICAgIFdpcmt0IG5pY2h0IGF1ZiBUb2Rlc21lbGR1bmdlbiAtPiBzaWVoZSBkYWZ1ZXIgUF9LSUxMX01TRworCitCRUlTUElFTEU6CisgICAgU2V0UHJvcChQX05BTUUsICJTdGllZmVsIik7IFNldFByb3AoUF9QTFVSQUwsIDIpOworICAgIG5hbWUoV0VSLCAxKSAtPiAiZGllIHp3ZWkgU3RpZWZlbCIKKworICAgIFNldFByb3AoUF9OQU1FLCAiU3RpZWZlbCIpOyBTZXRQcm9wKFBfUExVUkFMLCAxKTsKKyAgICBuYW1lKFdFUiwgMSkgLT4gImRpZSBTdGllZmVsIgorCisgICAgLy8gRWluIEJlaXNwaWVsIGZ1ZXIgZGFzIGtvbmp1Z2llcmVuIHZvbiBWZXJiZW4KKyAgICBzdGF0aWMgaW50IGNtZF9vcGZlcihzdHJpbmcgc3RyKQorICAgIHsKKyAgICAgICBpbnQgaTsKKyAgICAgICBvYmplY3QgKm9iczsKKyAgICAgICBub3RpZnlfZmFpbCgiV2FzIG1vZWNodGVzdCBEdSBvcGZlcm4/XG4iKTsKKyAgICAgICBpZiAoIXN0ciB8fCAhc2l6ZW9mKG9icz1QTC0+ZmluZF9vYnMoc3RyKSkpIHJldHVybiAwOworICAgICAgIGZvciAoaT1zaXplb2Yob2JzKS0xOyBpPj0wOyBpLS0pCisgICAgICAgICAgaWYgKG9ic1tpXS0+UXVlcnlQcm9wKFBfVkFMVUUpPD0wKQorICAgICAgICAgICAgd3JpdGUob2JzW2ldLT5OYW1lKFdFUikrIiAiCisgICAgICAgICAgICAgICAgICsob2ItPlF1ZXJ5UHJvcChQX1BMVVJBTCkgPyAic2luZCIgOiAiaXN0IikKKyAgICAgICAgICAgICAgICAgKyIgZG9jaCBnYXIgbmljaHRzIHdlcnQuXG4iKTsKKyAgICAgICAgICBlbHNlIG9ic1tpXS0+cmVtb3ZlKCk7CisgICAgfQorCisyNi4gSnVuaSAyMDA0IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9QT0lTT04gYi9kb2MvcHJvcHMvUF9QT0lTT04KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmI3ZWE3YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BPSVNPTgpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9QT0lTT04gICAgICAgICAgICAgICAgICAgICAgInBvaXNvbiIgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFdpZSBzdGFyayB3aXIgdmVyZ2lmdGV0IHNpbmQgKDAtMTEpCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9QT0lTT05fREVMQVkgYi9kb2MvcHJvcHMvUF9QT0lTT05fREVMQVkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJhNTdjNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BPSVNPTl9ERUxBWQpAQCAtMCwwICsxLDEzIEBACitOQU1FOgorICAgIFBfUE9JU09OX0RFTEFZICAgICAgICAgICAgICAgICAgICAgInBvaXNvbl9kZWxheSIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2xpZmUuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFuemFobCBkZXIgaGVhcnRfYmVhdHMgbmFjaCBkZW5lbiBzaWNoIGRpZSBHaWZ0d2lya3VuZyBlcm5ldXQgCisgICAgIHplaWd0LiBKZSBrbGVpbmVyIGRlciBXZXJ0LCBkZXN0byBlbXBmaW5kbGljaGVyIGlzdCBkYXMgTGViZXdlc2VuCisgICAgIGdlZ2VuIEdpZnQuCisgICAgIEFlbmRlcnVuZ2VuIGRpZXNlciBQcm9wZXJ0eSBpbiBTcGllbGVybiBiZWR1ZXJmZW4gZGVyIEdlbmVobWlndW5nCisgICAgIGRlcyBFTXMgZnVlciBCYWxhbmNlLgorICAgICAKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BPUlRJT05TIGIvZG9jL3Byb3BzL1BfUE9SVElPTlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2IxMzRlNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BPUlRJT05TCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgIFBfUE9SVElPTlMgICAgICAgICAgICAgICAgICAgICJzdGRfZm9vZF9wb3J0aW9ucyIKKworREVGSU5JRVJUIElOOgorICAgICA8c3lzL2Zvb2QuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBJbiBkaWVzZXIgUHJvcGVydHkgc3RlaHQgZGllIEFuemFobCBkZXIgUG9ydGlvbmVuIGVpbmVyIFNwZWlzZS4KKyAgICAgRXMgZHVlcmZlbiBudXIgV2VydGUgPiAtMSBnZXNldHp0IHdlcmRlbi4gSXN0IGRpZXNlIFByb3BlcnR5IDAsCisgICAgIHdpcmQgZGllIFNwZWlzZSBhbHMgbGVlciBiencuIHZlcmJyYXVjaHQgYW5nZXNlaGVuIHVuZCBrYW5uIG5pY2h0CisgICAgIGtvbnN1bWllcnQgd2VyZGVuLgorICAgICAKK0RFRkFVTFQ6CisgICAgIEluaXRpYWwgaXN0IGRpZXNlIFByb3BlcnR5IGF1ZiAxIGdlc2V0enQsIGRpZSBTcGVpc2UgaXN0IGFsc28gbWl0CisgICAgIGVpbmVtIEJpc3Nlbi9TY2hsdWNrIHZlcmJyYXVjaHQgYnp3LiBsZWVyLgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2Zvb2QuYywgd2l6L2Zvb2QKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUE9TVCBiL2RvYy9wcm9wcy9QX1BPU1QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNhNmY3NAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BPU1QKQEAgLTAsMCArMSw2NCBAQAorTkFNRToKKwlQX1BPU1QJCQkJIlBvc3QiCisKK0RFRklOSUVSVCBJTjoKKwkvbWFpbC9wb3N0LmgKKworQkVTQ0hSRUlCVU5HOgorCUluIGRpZXNlciBQcm9wZXJ0eSBsYWVzc3Qgc2ljaCBkaWUgVmVyc2VuZGVlcmxhdWJuaXMgdm9uIFBha2V0ZW4KKwlyZWdlbG4uIEhpZXJiZWkgZ2lidCBlcyB6dW0gZWluZW4gZGllIHBvc3RsYWdlcm5kZW4gUGFrZXRlLCBkaWUgbWFuCisJaW4gZWluZXIgUG9zdCBhYmhvbGVuIG11c3MsIHVuZCBlcyBnaWJ0IGRpZSBzb2dlbmFubnRlbgorCUt1cmllcnBha2V0ZSwgd2VsY2hlIGRpcmVrdCB1bmQgdW5taXR0ZWxiYXIgenVnZXN0ZWxsdCB3ZXJkZW4uCisJTmljaHQgaW1tZXIgaXN0IGVzIGVyd3VlbnNjaHQsIGRhc3MgUGFrZXRlIGF1cyBkZXIgRmVybmUgaW4gZWluZW4KKwlSYXVtIGdlc2NoaWNrdCB3ZXJkZW4gZHVlcmZlbi4gRGllcyBkdWVyZnRlIGluc2Jlc29uZGVyZSBpbm5lcmhhbGIKKwl2b24gR2ViaWV0ZW4gaW50ZXJlc3NhbnQgc2VpbiwgaW4gd2VsY2hlIG1hbiBudXIgYmVzY2hyYWVua3QgdmllbGUKKwlPYmpla3RlIG1pdGZ1ZWhyZW4ga2Fubi4gTWl0IGRpZXNlciBQcm9wZXJ0eSBudW4gaXN0IGVzIGxlaWNodAorCW1vZWdsaWNoLCBkaWVzIHp1IHZlcmJpZXRlbi4gTWFuIGthbm4gYXVjaCBpbiBkZW4gT2JqZWt0ZW4gc2VsYnN0CisJYW5nZWJlbiwgb2IgZGllc2UgcGVyIHBvc3RsYWdlcm5kZW0gUGFrZXQgYnp3LiBLdXJpZXJwYWtldAorCXZlcnNjaGlja3Qgd2VyZGVuIGR1ZXJmZW4uIERpZXMgZHVlcmZ0ZSB6dW0gQmVpc3BpZWwgYmVpIEtvbXBvbmVudGVuCisJZnVlciBTcGVsbHMgb2RlciBmdWVyIFVuaXF1ZS1PYmpla3RlIGludGVyZXNzYW50IHNlaW4uCisJRm9sZ2VuZGUgV2VydGUgc2luZCBtb2VnbGljaCwgd29iZWkgaW4gUmFldW1lbiB1bmQgT2JqZWt0ZW4KKwlTdGFuZGFyZG1hZXNzaWcgUFBfREVGQVVMVCBnZW51dHp0IHdpcmQ6CisKKwkgIFBQX0ZPUkJJRERFTgkJLTIJLy8gYXVmIGplZGVuIEZhbGwgdmVyYm90ZW4KKwkgIFBQX05PX0VYUFJFU1MJCS0xCS8vIEt1cmllcnBha2V0ZSB2ZXJib3RlbgorCSAgUFBfREVGQVVMVAkJIDAJLy8gRGVmYXVsdAorCSAgUFBfTk9STUFMX0FMTE9XRUQJIDEJLy8gcG9zdGxhZ2VybmRlIFBha2V0ZSBlcmxhdWJ0CisJICBQUF9BTExPV0VECQkgMgkvLyBhdWYgamVkZW4gRmFsbCBlcmxhdWJ0CisKKwlSYWV1bWUsIGRpZSB2b24gL3N0ZC9wb3N0LmMgYWJnZWxlaXRldCB3dXJkZW4sIG51dHplbiBhbHMgU3RhbmRhcmQKKwluYXR1ZXJsaWNoIFBQX0FMTE9XRUQuCisKK0JFSVNQSUVMOgorCVVtIEt1cmllcnBha2V0ZSBmdWVyIGVpbmVuIFJhdW0genUgdmVyYmlldGVuLCBudXR6dCBtYW4gZGllCisJRnVua3Rpb25hbGl0YWV0IGRpZXNlciBQcm9wZXJ0eSBmb2xnZW5kZXJtYXNzZW46CisKKwkgIGluY2x1ZGUgIi9tYWlsL3Bvc3QuaCIKKwkgIC4uLgorCSAgdm9pZCBjcmVhdGUoKQorCSAgeyA6OmNyZWF0ZSgpOworCSAgICAuLi4KKwkgICAgU2V0UHJvcChQX1BPU1QsUFBfTk9fRVhQUkVTUyk7CisJICAgIC4uLgorCSAgfQorCisJT2JqZWt0ZSBzZWxic3Qga29lbm50ZSBtYW4gZm9sZ2VuZGVybWFzc2VuIGF1cyBQYWtldGVuIHZlcmJhbm5lbiwKKwl3ZWxjaGUgdmVyc2VuZGV0IHdlcmRlbiBzb2xsZW46CisKKwkgIGluY2x1ZGUgIi9tYWlsL3Bvc3QuaCIKKwkgIC4uLgorCSAgdm9pZCBjcmVhdGUoKQorCSAgeyA6OmNyZWF0ZSgpOworCSAgICAuLi4KKwkgICAgU2V0UHJvcChQX1BPU1QsUFBfRk9SQklEREVOKTsKKwkgICAgLi4uCisJICB9CisKKwlJbiBsZXR6dGVyZW0gRmFsbCBmdW5rdGlvbmllcmVuIGltIEdlZ2Vuc2F0eiB6dW0gZXJzdGVuIEJlaXNwaWVsCisJYXVjaCBrZWluZSBwb3N0bGFnZXJuZGVuIFBha2V0ZSBtZWhyLgorCitTSUVIRSBBVUNIOgorCS9zdGQvcG9zdC5jLCAvc3RkL21haWxjYWJpbi5jLCAvcC9zZXJ2aWNlL2xvY28vc3RkL21haWxjYWJpbi5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFN1biBTZXAgIDYgMTk6MzQ6MzcgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BPVElPTlJPT01TIGIvZG9jL3Byb3BzL1BfUE9USU9OUk9PTVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTgyMGJlMgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BPVElPTlJPT01TCkBAIC0wLDAgKzEsMTkgQEAKK05BTUU6CisgICAgUF9QT1RJT05ST09NUyAgICAgICAgICAgICAgICAgInBvdGlvbnJvb21zIiAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9wb3Rpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgQXJyYXkgbWl0IGRlbiBOdW1tZXJuIGRlciBSYWV1bWUsIGluIGRlbmVuIGRlciBTcGllbGVyIG5vY2ggWmF1YmVyLQorICAgIHRyYWVua2UgaGF0LiBEaWUgRnJlaXNjaGFsdHVuZyBhbHMgYmVrYW5udCBnZXNjaGllaHQgaW0gT3Jha2VsLgorICAgIERpZSBadW9yZG51bmcgZGVyIFJhZXVtZSB1bmQgTnVtbWVybiBnZXNjaGllaHQgaW0gUG90aW9ubWFzdGVyLgorCisgICAgTnVyIGxlc2JhcmUgX3F1ZXJ5IC0gUHJvcGVydHkuCisKK1NJRUhFIEFVQ0g6CisgICAgU29uc3RpZ2VzOiB6YXViZXJ0cmFlbmtlLCAvc2VjdXJlL3BvdGlvbm1hc3Rlci5jLCAvcm9vbS9vcmFrZWwuYworICAgIFZlcndhbmR0OiAgRmluZFBvdGlvbigpLCBBZGRLbm93blBvdGlvbigpLCBSZW1vdmVLbm93blBvdGlvbigpLCBJbkxpc3QoKQorICAgIFByb3BzOiAgICAgUF9LTk9XTl9QT1RJT05ST09NUworCis2LkZlYiAyMDE2IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9QUkFZX1JPT00gYi9kb2MvcHJvcHMvUF9QUkFZX1JPT00KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M4ZjlmZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BSQVlfUk9PTQpAQCAtMCwwICsxLDM2IEBACitOQU1FOgorICAgIFBfUFJBWV9ST09NICAgICAgICAgICAgICAgICAgICAgICJfbGliX3BfcHJheV9yb29tIiAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzIGlzdCBkZXIgUmF1bSwgaW4gZGVuIGRlciBTcGllbGVyIG5hY2ggZGVtIEVuZGUgZGVyIFRvZGVzc2VxdWVuegorICAgIGJld2VndCB3aXJkLCBkLmguIGVpbiBSYXVtLCB3byBlciBiZXRlbiBrYW5uLCB1bSBlaW5lbiBuZXVlbiBLb2VycGVyIHp1CisgICAgZXJoYWx0ZW4uCisgICAgRGVyIFJhdW0gbXVzcyBhbHMgU3RyaW5nIGFuZ2VnZWJlbiB3ZXJkZW4gKGtlaW4gT2JqZWt0KS4KKworICAgIERpZXNlIFByb3BlcnR5IHdpcmQgaW0gU3BpZWxlciByZWJvb3RmZXN0IGdlc3BlaWNoZXJ0LgorCisgICAgRGVyIGpld2VpbHMgZ3VlbHRpZ2UgQmV0cmF1bSB3aXJkIGltIFNwaWVsZXIgbWl0dGVscyBRdWVyeVByYXlSb29tKCkKKyAgICBlcm1pdHRlbHQuIEplZGUgUmFzc2UgaGF0IGVpbmVuIERlZmF1bHQgZnVlciBkaWVzZSBGdW5rdGlvbi4gV2lyZCBkaWUKKyAgICBQcm9wZXJ0eSBhdWYgMCBkZ2VzZXR6dCwgd2lyZCBkaWVzZXIgRGVmYXVsdCB3aWVkZXJoZXJnZXN0ZWxsdC4KKworICAgIFZvbiBlaW5lciBVZWJlcmxhZ2VydW5nIG1pdHRlbHMgUXVlcnktIG9kZXIgZ2FyIFNldG1ldGhvZGVuIHdpcmQKKyAgICBhYmdlcmF0ZW4uIEViZW5zbyBsYXNzdCBiaXR0ZSBkaWUgTW9kdXNiaXRzIHVudmVyYWVuZGVydC4KKworICAgIFZvciBlaW5lciBBZW5kZXJ1bmcgZGllc2VyIFByb3BlcnR5IHNvbGx0ZSBnZXBydWVmdCB3ZXJkZW4sIG9iIHNpZSAwIGlzdC4KKyAgICBXZW5uIG5pY2h0LCBzb2xsdGUgdm9uIGVpbmVtIFNldHplbiBkZXIgUHJvcGVydHkgYWJnZXNlaGVuIHdlcmRlbiwgZGEgZGFubgorICAgIHNjaG9uIGplbWFuZCBhbmRlcnMgZGVuIEJldHJhdW0gZGVzIFNwaWVsZXJzIGdlYWVuZGVydCBoYXQuIChHbGVpY2hlcyBnaWx0CisgICAgZnVlcnMgTG9lc2NoZW4uKSBCaXR0ZSBuaWVtYWxzIGRlbiBJbmhhbHQgZGVyIFByb3BlcnR5IHdvYW5kZXJzIHNwZWljaGVybgorICAgIHVuZCBzcGFldGVyIHp1cnVlY2tzY2hyZWliZW4uCisKKyAgICBFaW5lIGRhdWVyaGFmdGUgQWVuZGVydW5nIGRlcyBCZXRyYXVtcyBkZXMgU3BpZWxlcnMgbXVzcyBtaXQgZGVtIEVNCisgICAgUmFzc2VuIHVuZCBkZW0gRU0gR2lsZGVuIGFiZ2VzdGltbXQgd2VyZGVuLgorCitTSUVIRSBBVUNICisgICAgUXVlcnlQcmF5Um9vbSgpLCBTZXREZWZhdWx0UHJheVJvb20oKQorCitMRVRaVEUgQWVOREVSVU5HOgorMjEuMDUuMjAxMywgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9QUkVGRVJFRF9FTkVNWSBiL2RvYy9wcm9wcy9QX1BSRUZFUkVEX0VORU1ZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlZDU4ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QUkVGRVJFRF9FTkVNWQpAQCAtMCwwICsxLDI2IEBACitOQU1FOgorCVBfUFJFRkVSRURfRU5FTVkJCSJwcmVmX2VuZW15IgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorCURpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbiBBcnJheSBtaXQgZm9sZ2VuZGVuIEVpbnRyYWVnZW46CisJICBFaW50cmFnIDE6ICAgICAgSW50ZWdlcndlcnQgendpc2NoZW4gMCB1bmQgMTAwLCB3ZWxjaGVyIGRpZQorCSAgICAgICAgICAgICAgICAgIFdhaHJzY2hlaW5saWNoa2VpdCBkYWZ1ZXIgYW5naWJ0LCBkYXNzIGVpbgorCSAgICAgICAgICAgICAgICAgIExlYmV3ZXNlbiBiZXZvcnp1Z3QgYmVpIGVpbmVtIEFuZ3JpZmYgZ2V3YWVobHQKKwkgICAgICAgICAgICAgICAgICB3ZXJkZW4gc29sbC4KKwkgIEVpbnRyYWVnZSBhYiAyOiBMZWJld2VzZW4sIGF1cyB3ZWxjaGVuIHBlciBadWZhbGwgZWluZXMKKwkgICAgICAgICAgICAgICAgICBhdXNnZXdhZWhsdCB3aXJkLCB3ZWxjaGVzIGJlaW0gYWt0dWVsbGVuIEFuZ3JpZmYKKwkgICAgICAgICAgICAgICAgICBiZXZvcnp1Z3Qgd2lyZC4KKwlFcyBpc3QgenUgYmVhY2h0ZW4sIGRhc3Mgc29sY2ggZWluIGJldm9yenVndGVzIE9wZmVyIG5hdHVlcmxpY2ggYXVjaAorCXdpcmtsaWNoIEdlZ25lciBzZWluIG11c3MgdW5kIGF1Y2ggaW0gc2VsYmVuIFJhdW0genUgc3RlaGVuIGhhdCwgd2llCisJZGVyIEFuZ3JlaWZlci4gSXN0IGRpZXMgbmljaHQgZGVyIEZhbGwsIHdpcmQgZGFubiBkb2NoIGlyZ2VuZGVpbgorCWFuZGVyZXIgR2VnbmVyIGF1cyBkaWVzZW0gUmF1bSBnZW5vbW1lbi4KKworU0lFSEUgQVVDSDoKKwlRdWVyeVByZWZlcmVkRW5lbXkoKSwgSXNFbmVteSgpLCBTZWxlY3RFbmVteSgpLCBBdHRhY2soKSwKKwkvc3RkL2xpdmluZy9jb21iYXQuYywgL3N0ZC9saXZpbmcvbGlmZS5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFdlZCBNYXkgMjYgMTY6NDQ6MzggMTk5OSBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BSRVNBWSBiL2RvYy9wcm9wcy9QX1BSRVNBWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWVjMmQyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUFJFU0FZCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX1BSRVNBWSAgICAgICAgICAgICAgICAgICAgICAicHJlc2F5IiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBQcmVzYXkgZGVzIFNwaWVsZXJzLiBFcnNjaGVpbnQgdm9yIGRlbSBOYW1lbiBpbiBLdXJ6L0xhbmdiZXNjaHJlaWJ1bmcuCisgICAgIEVyc2NoZWludCBhdWNoIGluIG5hbWUoKSwgYWxzbyBpbiBzYWcsIHJ1ZiwgdGVpbGUgbWl0IHVzdy4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BSRVZFTlRfUElMRSBiL2RvYy9wcm9wcy9QX1BSRVZFTlRfUElMRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOWRkZjE0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUFJFVkVOVF9QSUxFCkBAIC0wLDAgKzEsMjIgQEAKK05BTUU6CisgICAgUF9QUkVWRU5UX1BJTEUgICAgICAgICAgICAgICAgICAgInByZXZlbnRfcGlsZSIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvY29udGFpbmVyL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgV2VubiBpbiBlaW5lbSBSYXVtIGRpZXNlIFByb3BlcnR5IGdlc2V0enQgaXN0LCBlbmRldCBkYXMgVmVyd2VzZW4gZWluZXIKKyAgICBMZWljaGUgZGFtaXQsIGRhc3MgaWhyIEludmVudGFyIGluIGRlbSBSYXVtIHZlcnRlaWx0IHdpcmQuIElzdCBkaWVzZQorICAgIFByb3BlcnR5IG5pY2h0IGdlc2V0enQsIGVudHN0ZWh0IGVpbiAiSGF1ZmVuIiwgZGVyIGRhcyBJbnZlbnRhcgorICAgIGVudGhhZWx0LgorCisgICAgRGllc2UgUHJvcGVydHkgc29sbHRlIG51ciBpbiBBdXNuYWhtZWZhZWxsZW4gYmVudXR6dCB3ZXJkZW4hCisKKyAgICBEaWVzZSBQcm9wZXJ0eSBpc3Qgdm9yIGFsbGVtIGZ1ZXIgIlN0b3JlLVJvb21zIiBnZWRhY2h0LCBpbiBkZW5lbiBkaWUKKyAgICBNYWdpZXIgZGllIExlaWNoZSBlaW5lcyBTcGllbGVyIGFibGVnZW4gdW5kIGluIGRlbmVuIG5hY2hoZXIgZGllCisgICAgZ2VzYW1tZWx0ZW4gU2FjaGVuIHZvbiBlaW5lciBhbmRlcmVuIFN0ZWxsZSBhdXMgZ2VzdWNodCB3ZXJkZW4uIEluCisgICAgZGllc2VtIEZhbGwgd3VlcmRlbiBTcGllbGVyIHNvbnN0IGRpZSBNb2VnbGljaGtlaXQgaGFiZW4sIGVpbmVuIEhhdWZlbgorICAgIGFscyBHYW56ZXMgenUgYmVrb21tZW4sIGRhcyBzb2xsIGFiZXIgKk5JRSogcGFzc2llcmVuLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUdWUgTWF5IDE1IDEzOjU2OjE4IENFU1QgMjAwNyBieSBSdW1hdGEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BSRV9JTkZPIGIvZG9jL3Byb3BzL1BfUFJFX0lORk8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhmMWQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BSRV9JTkZPCkBAIC0wLDAgKzEsNTUgQEAKK05BTUU6CisgICAgICAgIFBfUFJFX0lORk8gICAgICAgICAgICAgICAgICAgICAgICAibnBjX3ByZV9pbmZvIgorCitERUZJTklFUlQgSU46CisgICAgICAgIC9zeXMvbnBjLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICAgICBJc3QgZGllIFByb3BlcnR5IGluIGVpbmVtIE5QQyBkZWZpbmllcnQsIHNvIHdpcmQgaWhyIEVyZ2VibmlzCisgICAgICAgIGF1c2dld2VydGV0LCBiZXZvciBlaW5lIEZyYWdlIGFuIGRhcyBJbmZvc3lzdGVtIHVlYmVyZ2ViZW4gd2lyZC4KKyAgICAgICAgCisgICAgICAgIE1vZWdsaWNoZSBXZXJ0ZToKKyAgICAgICAgLSBudW1lcmlzY2hlciBXZXJ0IHVuZ2xlaWNoIDAKKyAgICAgICAgICA9PiBkZXIgTlBDIGdpYnQgX2tlaW5lcmxlaV8gQW50d29ydCwgZGllIEZyYWdlIGZ1ZWhydCBzb3p1c2FnZW4KKyAgICAgICAgICAgICBpbnMgTGVlcmUKKworICAgICAgICAtIFN0cmluZ3dlcnQKKyAgICAgICAgICA9PiB3aXJkIGFscyBSdWVja2dhYmUgYW4gZGVuIEZyYWdlbmRlbiBhdXNnZWdlYmVuLCB1bXN0ZWhlbmRlIAorICAgICAgICAgICAgIFBlcnNvbmVuIGJla29tbWVuIGRlbiBUZXh0OgorICAgICAgICAgICAgIlhZIGlzdCBuaWNodCBnZXdpbGx0LCBTcGllbGVyIFlaIHp1IGFudHdvcnRlbiIuCisgICAgICAgICAgICBEZXIgRnJhZ2VuZGUgc2VsYnN0IGJla29tbXQgYmVpIGFuZ2VnZWJlbmVtIFN0cmluZ3dlcnQ6CisgICAgICAgICAgICAiWFkgIiArIFN0cmluZ3dlcnQuCisKKyAgICAgICAgLSBDbG9zdXJlCisgICAgICAgICAgPT4gZGllIEFudHdvcnQgYnp3LiBSZWFrdGlvbiBkZXMgTlBDcyBvYmxpZWd0IGdhbnogZGVyIAorICAgICAgICAgICAgIGFuZ2VnZWJlbmVuIENsb3N1cmUuIERpZXNlIG11c3MgZGFiZWkgZWluZW4gU3RyaW5nIG9kZXIgCisgICAgICAgICAgICAgR2FuenphaGxlbi1XZXJ0IHp1cnVlY2tnZWJlbgorCitCRUlTUElFTDoKKyAgICAgICAgRWluIE5QQyBkZXIgbWFuY2htYWwgaGVydW1yZW5udCwgdW0gei5CLiBlaW5lIEF1ZmdhYmUgenUgdmVycmljaHRlbiwKKyAgICAgICAga29lbm50ZSBzbyBsYW5nZSBDaGF0cyBhYnNjaGFsdGVuLCB6LkIuCisKKyAgICAgICAgICBTZXRQcm9wKFBfQ0hBVF9DSEFOQ0UsMCk7IC8vIE5QQyBsYXRzY2h0IGxvcworICAgICAgICAKKyAgICAgICAgVW5kIGVpbmUgV2VpbGUgc3BhZXRlcjoKKyAgICAgICAgCisgICAgICAgICAgU2V0UHJvcChQX0NIQVRfQ0hBTkNFLDUpOyAvLyBOUEMgcnVodCB3aWVkZXIsIHF1YXNzZWx0IHJ1bQorICAgICAgICAKKyAgICAgICAgV2FlaHJlbmQgZGVzIEhlcnVtbGF1ZmVucywgYWxzbyB3ZW5uIGVyIG5pY2h0IGF1dG9tYXRpc2NoIHNjaHdhdHp0LAorICAgICAgICBzb2xsIGVyIGF1Y2gga2VpbmVybGVpIEZyYWdlbiBiZWFudHdvcnRlbjoKKyAgICAgICAgICAKKyAgICAgICAgICBTZXQoUF9QUkVfSU5GTywgZnVuY3Rpb24gbWl4ZWQgKCkgeworICAgICAgICAgICAgcmV0dXJuIChRdWVyeVByb3AoUF9DSEFUX0NIQU5DRSkgPyAwIDogCisgICAgICAgICAgICAgICJoYXQgZ2VyYWRlIGtlaW5lIFplaXQgZnVlciBEaWNoLiIpOyAKKyAgICAgICAgICAgIH0sIEZfUVVFUllfTUVUSE9EKTsKKworSElOV0VJU0U6CisgICAgICAgIEJpdHRlIGJlYWNodGVuLCBkYXNzIGRlciBpbnRlcm5lIE5hbWUgZGVyIFByb3BlcnR5ICJucGNfcHJlX2luZm8iIAorICAgICAgICBpc3QgdW5kIHNvbWl0IG51ciBkYXMgVWViZXJzY2hyZWliZW4gdm9uIF9xdWVyeV9ucGNfcHJlX2luZm8oKSAKKyAgICAgICAgZnVua3Rpb25pZXJ0LiAKKworU0lFSEUgQVVDSDoKKyAgICAgICAgQWRkSW5mbygpLCAvc3RkL25wYy9pbmZvLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMDEuMDMuMjAxNiBieSBBcmF0aG9ybgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUFJPTVBUIGIvZG9jL3Byb3BzL1BfUFJPTVBUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzODAyMTUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QUk9NUFQKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICJwcm9tcHQiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGFzIFByb21wdCAoTnVyIGZ1ZXIgTWFnaWVyKS4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BVQl9OT1RfT05fTUVOVSBiL2RvYy9wcm9wcy9QX1BVQl9OT1RfT05fTUVOVQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzAyOWIwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUFVCX05PVF9PTl9NRU5VCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisJUF9QVUJfTk9UX09OX01FTlUJCQkicHViX25vdF9vbl9tZW51IgorCitERUZJTklFUlQgSU46CisJL3N5cy9wdWIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICAgIEluIGRpZXNlIFByb3BlcnR5IGthbm4gbWFuIGVpbmVuIFN0cmluZyBzY2hyZWliZW4sIGRlciBhdXNnZWdlYmVuCisgICAgICAgIHdpcmQsIHdlbm4gZGVyIFNwaWVsZXIgZXR3YXMgYmVzdGVsbHQsIHdhcyBlcyBpbiBkZXIgS25laXBlIG5pY2h0CisgICAgICAgIGdpYnQuCisKK0JFTUVSS1VOR0VOOgorICAgICAgICBEaWUgU3RhbmRhcmRtZWxkdW5nIGlzdDoKKyAgICAgICAgIlR1dCBtaXIgbGVpZCwgZGFzIGZ1ZWhyZW4gd2lyIG5pY2h0ISBXaXIgc2luZCBlaW4gYW5zdGFlbmRpZ2VzCisgICAgICAgICBMb2thbCFcbiIKKworU0lFSEUgQVVDSDoKKwkvc3RkL3Jvb20vcHViLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU2F0IE1hciAwNCAyMjo0NjowMCAyMDAwIGJ5IFBhcmFjZWxzdXMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1BVQl9OT19LRUVQRVIgYi9kb2MvcHJvcHMvUF9QVUJfTk9fS0VFUEVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmNGMyNmUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QVUJfTk9fS0VFUEVSCkBAIC0wLDAgKzEsMTkgQEAKK05BTUU6CisJUF9QVUJfTk9fS0VFUEVSCQkJCSJwdWJfbm9fa2VlcGVyIgorCitERUZJTklFUlQgSU46CisJL3N5cy9wdWIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICAgIEluIGRpZXNlIFByb3BlcnR5IGthbm4gbWFuIGVpbmVuIFN0cmluZyBzY2hyZWliZW4sIGRlciBhdXNnZWdlYmVuCisgICAgICAgIHdpcmQsIHdlbm4gZGVyIGluIFBfS0VFUEVSIGVpbmdldHJhZ2VuZSBOUEMgbmljaHQgYW53ZXNlbmQgaXN0LgorCitCRU1FUktVTkdFTjoKKyAgICAgICAgRGllIFN0YW5kYXJkbWVsZHVuZyBpc3Q6CisgICAgICAgICJFcyBpc3QgbmllbWFuZCBhbndlc2VuZCwgZGVyIERpY2ggYmVkaWVuZW4ga29lbm50ZS5cbiIKKworU0lFSEUgQVVDSDoKKwkvc3RkL3Jvb20vcHViLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU29uIEFwciAxMSAxOToyODowMCAyMDEwIGJ5IENhbGRyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUFVCX05PX01PTkVZIGIvZG9jL3Byb3BzL1BfUFVCX05PX01PTkVZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZjI5M2EKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QVUJfTk9fTU9ORVkKQEAgLTAsMCArMSwyMSBAQAorTkFNRToKKwlQX1BVQl9OT19NT05FWQkJCQkicHViX25vX21vbmV5IgorCitERUZJTklFUlQgSU46CisJL3N5cy9wdWIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICAgIEluIGRpZXNlIFByb3BlcnR5IGthbm4gbWFuIGVpbmVuIFN0cmluZyBzY2hyZWliZW4sIGRlciBhdXNnZWdlYmVuCisgICAgICAgIHdpcmQsIHdlbm4gZGVyIFNwaWVsZXIgbmljaHQgdWViZXIgZ2VudWcgR2VsZCB2ZXJmdWVndCwgdW0gZGFzCisgICAgICAgIGdld3VlbnNjaHRlIEdlcmljaHQgenUgYmV6YWhsZW4uCisgICAgICAgIEZ1ZXIgZGVuIFByZWlzIGthbm4gbWFuIGVpbiAlZCBhbHMgUGxhdHpoYWx0ZXIgZWluZnVlZ2VuLgorCitCRU1FUktVTkdFTjoKKyAgICAgICAgRGllIFN0YW5kYXJkbWVsZHVuZyBpc3Q6CisgICAgICAgICJEYXMga29zdGV0ICVkIEdvbGRzdHVlY2tlLCB1bmQgRHUgaGFzdCBuaWNodCBzbyB2aWVsIVxuIgorCitTSUVIRSBBVUNIOgorCS9zdGQvcm9vbS9wdWIuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTYXQgTWFyIDA0IDIyOjQ4OjAwIDIwMDAgYnkgUGFyYWNlbHN1cwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUFVCX1VOQVZBSUxBQkxFIGIvZG9jL3Byb3BzL1BfUFVCX1VOQVZBSUxBQkxFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYWFhNGYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9QVUJfVU5BVkFJTEFCTEUKQEAgLTAsMCArMSwyMCBAQAorTkFNRToKKwlQX1BVQl9VTkFWQUlMQUJMRQkJCSJwdWJfdW5hdmFpbGFibGUiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL3B1Yi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgICAgSW4gZGllc2UgUHJvcGVydHkga2FubiBtYW4gZWluZW4gU3RyaW5nIHNjaHJlaWJlbiwgZGVyIGF1c2dlZ2ViZW4KKyAgICAgICAgd2lyZCwgd2VubiBpbiBlaW5lciBLbmVpcGUgZWluIEdldHJhZW5rIG9kZXIgZWluZSBTcGVpc2UgbmljaHQgbWVocgorICAgICAgICB2b3JyYWV0aWcgaXN0LgorCitCRU1FUktVTkdFTjoKKyAgICAgICAgRGllIFN0YW5kYXJkbWVsZHVuZyBpc3Q6CisgICAgICAgICJEYXZvbiBpc3QgbGVpZGVyIG5pY2h0cyBtZWhyIGRhLlxuIgorCitTSUVIRSBBVUNIOgorCS9zdGQvcm9vbS9wdWIuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTYXQgTWFyIDA0IDIyOjQ0OjAwIDIwMDAgYnkgUGFyYWNlbHN1cwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUFVSU1VFUlMgYi9kb2MvcHJvcHMvUF9QVVJTVUVSUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMzViZmUyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUFVSU1VFUlMKQEAgLTAsMCArMSwxNCBAQAorTkFNRToKKyAgICBQX1BVUlNVRVJTICAgICAgICAgICAgICAgICAgICAicHVyc3VlcnMiICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRW50aGFlbHQgVmVyZm9sZ2VyIC0gbmljaHQgdm9uIEhhbmQgbWFuaXB1bGllcmVuIQorCitTSUVIRSBBVUNIOgorICAgICBBZGRQdXJzdWVyKEwpLCBSZW1vdmVQdXJzdWVyKEwpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxNi4wNi4yMDE2LCBBcmF0aG9ybgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUFVUX01TRyBiL2RvYy9wcm9wcy9QX1BVVF9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWY2Y2FlZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1BVVF9NU0cKQEAgLTAsMCArMSw2MiBAQAorUF9QVVRfTVNHCitOQU1FOgorICAgICBQX1BVVF9NU0cJCQkJInB1dF9tZXNzYWdlIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL3B1dF9hbmRfZ2V0LmgKKworQkVTQ0hSRUlCVU5HOgorCisgICAgIE1pdCBQX1BVVF9NU0cga2FubiBtYW4gZGllIE1lbGR1bmcsIGRpZSBtYW4gYmVpbSBIaW5laW5zdGVja2VuIGVpbmVzCisgICAgIE9iamVrdGVzIGluIGVpbmVuIENvbnRhaW5lciBiZWtvbW10LCBtb2RpZml6aWVyZW4uCisKKyAgICAgRm9sZ2VuZGUgV2VydGUgc2luZCBtb2VnbGljaDoKKworICAgICBvIDAKKyAgICAgICBFcyB3aXJkIGVpbmUgU3RhbmRhcmRtZWxkdW5nIGF1c2dlZ2ViZW4uIERpZXMgaXN0IFZvcmVpbnN0ZWxsdW5nLgorCisgICAgIG8gTk9fUE5HX01TRwk9PSAtMQorICAgICAgIEVzIHdpcmQga2VpbmVybGVpIE1lbGR1bmcgYXVzZ2VnZWJlbgorCisgICAgIG8gRWluIEFycmF5IGF1cyBTdHJpbmdzCisgICAgICAgRGVyIGVyc3RlIFN0cmluZyB3aXJkIGFuIGRlbiBTcGllbGVyIGF1c2dlZ2ViZW4sIGRlciB6d2VpdGUKKyAgICAgICAob3B0aW9uYWxlKSBhbiBkZW4gUmF1bS4KKworICAgICAgIERpZSBTdHJpbmdzIHdlcmRlbiBkdXJjaCBkaWUgRnVua3Rpb24gcmVwbGFjZV9wZXJzb25hbCgpIGdlcGFyc3QuCisJT2JqZWt0MSAtIFNwaWVsZXIKKyAgICAgICAgT2JqZWt0MiAtIGRhcyBPYmpla3QsIGRhcyBpcmdlbmR3b2hpbiBnZXN0ZWNrdCB3aXJkCisJT2JqZWt0MyAtIGRlciBDb250YWluZXIKKworICAgICAgIFdpcmQgZGVyIHp3ZWl0ZSBTdHJpbmcgbmljaHQgYW5nZWdlYmVuLCBlcmZvbGd0IGtlaW5lIE1lbGR1bmcgYW4gZGVuCisgICAgICAgUmF1bS4KKworQkVJU1BJRUw6CisgICAgIHZvaWQgY3JlYXRlKCkgeworICAgICAgLi4uCisgICAgICBTZXRQcm9wKCBQX1NIT1JULCAiRXR3YXMgU2FuZCIgKTsKKyAgICAgIFNldFByb3AoIFBfTE9ORywgYnJlYWtfc3RyaW5nKAorICAgICAgICJFaW4gd2VuaWcgbWFnaXNjaGVyIFNhbmQuIFNlaHIgZmVpbmtydWVtZWxpZy4iLDc4ICkpOworCisgICAgICBTZXRQcm9wKCBQX05BTUUsICJTYW5kIiApOworICAgICAgQWRkSWQoICh7InNhbmQifSkgKTsKKyAgICAgIFNldFByb3AoIFBfR0VOREVSLCBNQUxFICk7CisKKyAgICAgIFNldFByb3AoIFBfUFVUX01TRywgKHsKKyAgICAgICAiRHUgbGFlc3N0IEBXRU4yIGluIEBXRU5VMyByaWVzZWxuLiIsCisgICAgICAgIkBXRVIxIGxhZXNzdCBAV0VOMiBpbiBAV0VOVTMgcmllc2Vsbi4ifSkpOworICAgICAgLi4uCisgICAgIH0KKworICAgICBEYXMgZ2FuemUgZnVlaHJ0IGJlaSBVZ2FycyAic3RlY2tlIHNhbmQgaW4gcGFrZXQiIHp1IGZvbGdlbmRlbgorICAgICBNZWxkdW5nZW46CisKKyAgICAgVWdhcjogIkR1IGxhZXNzdCBkZW4gU2FuZCBpbiBlaW4gUGFrZXQgcmllc2Vsbi4iCisgICAgIFJhdW06ICJVZ2FyIGxhZXNzdCBkZW4gU2FuZCBpbiBlaW4gUGFrZXQgcmllc2Vsbi4iCisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfUElDS19NU0csIFBfRFJPUF9NU0csIFBfR0lWRV9NU0csIFBfV0VBUl9NU0csIFBfV0lFTERfTVNHCisgICAgIEZlaGxlcjogICAgIFBfVE9PX0hFQVZZX01TRywgUF9FTlZfVE9PX0hFQVZZX01TRywgUF9UT09fTUFOWV9NU0csCisgICAgICAgICAgICAgICAgIFBfTk9JTlNFUlRfTVNHLCBQX05PTEVBVkVfTVNHLCBQX05PRFJPUCwgUF9OT0dFVCAKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgcHV0X29iaihMKSwgL3N0ZC9saXZpbmcvcHV0X2FuZF9nZXQuYworCisxNC4gTWFlcnogMjAwNCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUVAgYi9kb2MvcHJvcHMvUF9RUApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGZiNWE0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUVAKQEAgLTAsMCArMSwxMyBAQAorTkFNRToKKyAgICBQX1FQICAgICAgICAgICAgICAgICAgICAgICAgICAicXVlc3Rwb2ludHMiICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL3F1ZXN0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBBbnphaGwgZGVyIFF1ZXN0cHVua3RlLCBkaWUgZWluIFNwaWVsZXIgaGF0LgorCitISU5XRUlTOgorICAgICBOdXIgQWJmcmFnZW4gZGVyIFByb3BlcnR5IG1pdCBRdWVyeVByb3AoKSBsaWVmZXJ0IGRlbiBrb3JyZWt0ZW4gV2VydCwKKyAgICAgZGEgZWluZSBRdWVybWV0aG9kZSBmdWVyIGRpZSBBdXNsaWVmZXJ1bmcgZGVyIERhdGVuIHNvcmd0LiBRdWVyeSgpCisgICAgIG9kZXIgZ2FyIFF1ZXJ5UHJvcGVydGllcygpIGVudGhhbHRlbiB1LlUuIGVpbmVuIHZlcmFsdGV0ZW4gV2VydC4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1FVQUxJVFkgYi9kb2MvcHJvcHMvUF9RVUFMSVRZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhNDExOGMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9RVUFMSVRZCkBAIC0wLDAgKzEsMzggQEAKK1BfUVVBTElUWQorCitOQU1FOgorICAgICBQX1FVQUxJVFkgInF1YWxpdHkiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgPGNvbWJhdC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgIFJ1ZXN0dW5nZW4gdW5kIFdhZmZlbiBrb2VubmVuIGltIEVpZmVyIGRlcyBHZWZlY2h0cyBiZXNjaGFlZGlndCB3ZXJkZW4uCisgICAgIFNldHp0IG1hbiBkaWUgUHJvcGVydHkgUF9RVUFMSVRZIGF1ZiBlaW5lbiBXZXJ0IG4gKG4+MCksIHNvIHdpcmQKKyAgICAgZWluZSBXYWZmZSAoUnVlc3R1bmcpIGJlaSBqZWRlbSBuLXRlbiBTY2hsYWcgKFRyZWZmZXIpIGJlc2NoYWVkaWd0LAorICAgICBkLmguIFBfV0MgKFBfQUMpIHdpcmQgdW0gMSBlcm5pZWRyaWd0IHVuZCBQX0RBTUFHRUQgdW0gMSBlcmhvZWh0LgorCitCRUlTUElFTDoKKyAgICAgaW5oZXJpdCAiL3N0ZC93ZWFwb24iOworCisgICAgIC4uLgorICAgICAjaW5jbHVkZSA8Y29tYmF0Lmg+CisKKyAgICAgY3JlYXRlKCkKKyAgICAgeworICAgICAgIC4uLgorICAgICAgIFNldFByb3AoUF9RVUFMSVRZLDIwMCk7CisgICAgICAgLi4uCisgICAgIH0KKworICAgICBEaWVzZSBXYWZmZSB3dWVyZGUgYmVpIGplZGVtIDIwMC4gU2NobGFnIGV0d2FzIGJlc2NoYWVkaWd0LgorCitCRU1FUktVTkc6CisgICAgIERlZmF1bHRtYWVzc2lnIGlzdCBQX1FVQUxJVFkgYXVmIDAgZ2VzZXR6dCwgZC5oLiBkaWUgZW50c3ByLgorICAgICBXYWZmZS9SdWVzdHVuZyB3aXJkIG5pY2h0IGJlc2NoYWVkaWd0LgorCitTSUVIRSBBVUNIOgorICAgICAvc3RkL2FybW91ci5jLCAvc3RkL3dlYXBvbi5jLCBUYWtlRmxhdygpLCBRdWVyeUZsYXcoKSwgRGFtYWdlKCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogVGh1IE1heSAyMiAxMDo0MjozOSAxOTk3IGJ5IFBhcmFjZWxzdXMKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1FVRVNUUyBiL2RvYy9wcm9wcy9QX1FVRVNUUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDZlYTkwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUVVFU1RTCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX1FVRVNUUyAgICAgICAgICAgICAgICAgICAgICAicXVlc3RzIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL3F1ZXN0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBMaXN0ZSBkZXIgZ2Vsb2VzdGVuIFF1ZXN0cy4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1FVRVNUX0lURU0gYi9kb2MvcHJvcHMvUF9RVUVTVF9JVEVNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ZWViYjUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9RVUVTVF9JVEVNCkBAIC0wLDAgKzEsNDYgQEAKK05BTUU6CisJUF9RVUVTVF9JVEVNCQkJCSJxdWVzdF9pdGVtIiAKKworREVGSU5JRVJUIElOOgorCS9zeXMvcXVlc3RfaXRlbXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgICAgIERpZXNlIFByb3BlcnR5IGdpYnQgYW4sIG9iIGVzIHNpY2ggYmVpIGRlbSBPYmpla3QgdW0gZWluIFF1ZXN0LQorCXJlbGV2YW50ZXMgT2JqZWt0IGhhbmRlbHQuCisJCitCRUlTUElFTDoKKyAgICAgICAgRWluIFNjaHdlcnQgKE5vdHVuZykga29lbm50ZSBmb2xnZW5kZXJtYXNzZW4gZGVmaW5pZXJ0IHNlaW46CisKKwljcmVhdGUoKQorCXsKKwkgIDo6Y3JlYXRlKCkgOworCSAgU2V0UHJvcChQX1NIT1JULCAiTm90dW5nIGRhcyBuZWlkbGljaGUgU2Nod2VydCIpIDsKKwkgIFNldFByb3AoUF9MT05HLCAiRGFzIGF1cyBzZWluZW4gVHJ1ZW1tZXJuIG5ldSBnZXNjaG1pZWRldGUgU2Nod2VydCAiIAorCSAgICAgICAgICAgICAgICAgICJOb3R1bmcuXG4iKTsKKworCSAgU2V0UHJvcChQX05BTUUsICJOb3R1bmciKTsKKwkgIFNldFByb3AoUF9HRU5ERVIsIE5FVVRFUik7CisJICBTZXRQcm9wKFBfQVJUSUNMRSwwKTsKKwkgIEFkZElkKCh7Im5vdHVuZyIsInNjaHdlcnQiLCJOb3R1bmciLCAiXG5Ob3R1bmcifSkpOworCQorCSAgU2V0UHJvcChQX1dFQVBPTl9UWVBFLCBXVF9TV09SRCk7CisJICBTZXRQcm9wKFBfREFNX1RZUEUsIERUX0JMVURHRU9OKTsKKworCSAgU2V0UHJvcChQX1FVRVNUX0lURU0sUUlfT0JKKTsKKwkgIC4uLgorCX0KKwkgICAgCisJQW5kZXJlIE1hZ2llciBrb2VubmVuIG51biBhdWYgTm90dW5nIFJ1ZWNrc2ljaHQgbmVobWVuLCB1bmQgenVtCisJQmVpc3BpZWwgZGF2b24gYWJzZWhlbiwgZXMgYmVpIGVpbmVtIE5QQy1TcGVsbCB6dSBkZXN0cnVjdGVuLgorCitCRU1FUktVTkdFTjoKKyAgICAgICAgQWxsZSBxdWVzdHJlbGV2YW50ZW4gT2JqZWt0ZSBzb2xsdGVuIGF1ZiBkaWVzZSBXZWlzZSBtYXJraWVydCB3ZXJkZW4uCisJCisJUXVlc3RyZWxldmFudGUgT2JqZWt0ZSBhbmRlcmVyIE1hZ2llciBzb2xsdGVuIGltbWVyIG1pdCBWb3JzaWNodCAKKwliZWhhbmRlbHQgd2VyZGVuLgorCitTSUVIRSBBVUNIOgorCSIvc3lzL3F1ZXN0X2l0ZW1zLmgiCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBKdWwgMTAgMDc6MDg6MzIgMjAwMyBieSBWYW5pb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JBQ0UgYi9kb2MvcHJvcHMvUF9SQUNFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlZDc3Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9SQUNFCkBAIC0wLDAgKzEsMzAgQEAKK05BTUU6CisJUF9SQUNFCQkJCSJyYWNlIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisJRGllIFJhc3NlIGVpbmVzIExlYmV3ZXNlbnMga2FubiB1ZWJlciBkaWVzZSBQcm9wZXJ0eSBlcm1pdHRlbHQgYnp3LgorCWdlc2V0enQgd2VyZGVuLiBFcyBlbXBmaWVobHQgc2ljaCBoaWVyYmVpLCBSYXNzZW4gbnVyIGluIEZvcm0gdm9uCisJZ3Jvc3NnZXNjaHJpZWJlbmVuIFN0cmluZ3MgenUgc2V0emVuLiBMZWljaGVuIGVyaGFsdGVuIG1pdHRlbHMKKwlkaWVzZXIgUHJvcGVydHkgYXV0b21hdGlzY2ggZGllIFJhc3NlIGRlciBMZWJld2VzZW4sIGF1cyBkZW5lbiBzaWUKKwloZXJ2b3JnZWdhbmdlbiBzaW5kLgorCURlciBTaW5uIGRlcyBHYW56ZW4gbGllZ3QgZGFyaW4sIGRhcyBTcGllbCBkaWZmZXJlbnppZXJ0ZXIgenUKKwlnZXN0YWx0ZW4gdW5kIGF1ZiBSYXNzZW5zcGV6aWZpa2EgZWluenVnZWhlbi4gWnVtIEJlaXNwaWVsIGtvZW5uZW4KKwlFbGZlbiB3ZW5pZ2VyIEFsa29ob2wgdmVydHJhZ2VuIGFscyBad2VyZ2UsIHdhcyBpbiAnL3N0ZC9wdWInCisJYmVydWVja3NpY2h0aWd0IHd1cmRlLgorCitCRUlTUElFTDoKKwl2b2lkIGNyZWF0ZSgpCisJeyA6OmNyZWF0ZSgpOworCSAgLy8gRGVmaW5pdGlvbmVuCisJICBTZXRQcm9wKFBfUkFDRSwiT3JrIik7CisJICAvLyB3ZWl0ZXJlIERlZmluaXRpb25lbgorCX0KKworU0lFSEUgQVVDSDoKKwkvc3RkL25wYy5jLCAvc3RkL3B1Yi5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IE1vbiBTZXAgMTUgMjE6MTU6NDkgMjAwMyBieSBWYW5pb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JBQ0VTVFJJTkcgYi9kb2MvcHJvcHMvUF9SQUNFU1RSSU5HCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NWY0NmIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9SQUNFU1RSSU5HCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX1JBQ0VTVFJJTkcgICAgICAgICAgICAgICAgICAicmFjZXN0cmluZyIgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgR2lidCBlaW5lIGRlbSBHZXNjaGxlY2h0IGFuZ2VwYXNzdGUgQmVzY2hyZWlidW5nIGRlciBSYXNzZSB6dXJ1ZWNrCisgICAgICgiWndlcmciIG9kZXIgIlp3ZXJnaW4iIGV0Yy4pCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SQUNFX0RFU0NSSVBUSU9OIGIvZG9jL3Byb3BzL1BfUkFDRV9ERVNDUklQVElPTgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YjJlYmZiCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUkFDRV9ERVNDUklQVElPTgpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9SQUNFX0RFU0NSSVBUSU9OICAgICAgICAgICAgInJhY2VkZXNjciIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEJlc2NocmVpYnVuZyBkZXIgVm9yL05hY2h0ZWlsZSBlaW5lciBSYXNzZS4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JBTkdFIGIvZG9jL3Byb3BzL1BfUkFOR0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdhOThiNwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1JBTkdFCkBAIC0wLDAgKzEsMjYgQEAKK1BfUkFOR0UKKworTkFNRToKKyAgICBQX1JBTkdFICAgICAicmFuZ2UiCisKK0RFRklOSUVSVCBJTjoKKyAgICA8Y29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICBMZWd0IGRpZSBSZWljaHdlaXRlIGVpbmVyIFNjaHVzc3dhZmZlIGZlc3QuIElzdCBlaW4gU2NodWV0emUgaW4gZWluZW0KKyAgICBSYXVtIG1pdCBndWVsdGlnZW0gUF9UQVJHRVRfQVJFQSAoYW5kZXJlIFJhdW0pIG9kZXIgZW52aXJvbm1lbnQoKSB1bmQKKyAgICBpc3QgZnVlciBkaWVzZW4gUmF1bSBQX1NIT09USU5HX0FSRUEgZmVzdGdlbGVndCwgZGFubiBrYW5uIGVyIG1pdCBzZWluZXIKKyAgICBTY2h1c3N3YWZmZSBpbiBkaWVzZW4gYW5kZXJlbiBSYXVtIHNjaGll32VuLCB3ZW5uIGRpZSBQX1JBTkdFIGdyb2Vzc2VyCisgICAgYWxzIFBfU0hPT1RJTkdfQVJFQSBpc3QuCisKK0JFSVNQSUVMRToKKyAgICAvLyBMYW5nYm9nZW4gbWl0IDEwMCBSZWljaHdlaXRlCisgICAgU2V0UHJvcChQX1JBTkdFLCAxMDApOworCitTSUVIRSBBVUNIOgorICAgIEdlbmVyZWxsOiAgUF9BTU1VTklUSU9OLCBQX1NIT09USU5HX1dDLCBQX1NUUkVUQ0hfVElNRQorICAgIE1ldGhvZGVuOiAgRmluZFJhbmdlZFRhcmdldChMKSwgc2hvb3RfZGFtKEwpLCBjbWRfc2hvb3QoTCkKKyAgICBHZWJpZXQ6ICAgIFBfU0hPT1RJTkdfQVJFQSwgUF9UQVJHRVRfQVJFQQorICAgIFNvbnN0aWdlczogZmVybndhZmZlbgorCisyOS5KdWwgMjAxNCBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JFQURfREVUQUlMUyBiL2RvYy9wcm9wcy9QX1JFQURfREVUQUlMUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzVhMmNjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUkVBRF9ERVRBSUxTCkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgUF9SRUFEX0RFVEFJTFMgICAgICAgICAgICAgICAgInJlYWRfZGV0YWlscyIgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RoaW5nL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIE1hcHBpbmcgbWl0IGRlbiBEYXRlbiBkZXIgRGV0YWlscywgZGllIGR1cmNoIExlc2VuIGVybWl0dGVsdCB3ZXJkZW4KKyAgICBrb2VubmVuLgorCitCRU1FUktVTkdFTjoKKyAgICBCaXR0ZSBudXIgbWl0IGRlbiBlbnRzcHJlY2hlbmRlbiBNZXRob2RlbiB2ZXJhZW5kZXJuIQorCitTSUVIRSBBVUNIOgorICAgIFNldHplbjogICAgQWRkUmVhZERldGFpbCgpCisgICAgTG9lc2NoZW46ICBSZW1vdmVSZWFkRGV0YWlsKCkKKyAgICBBZWhubGljaDogIEFkZERldGFpbCgpLCBQX0RFVEFJTFMKKyAgICBWZXJhbHRldDogIFBfUkVBRF9NU0cKKyAgICBTb25zdGlnZXM6IEdldERldGFpbCgpLCBicmVha19zdHJpbmcoKQorCisyNy4gSmFuIDIwMTMgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SRUFEX05FV1MgYi9kb2MvcHJvcHMvUF9SRUFEX05FV1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjY0YTI1MgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1JFQURfTkVXUwpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9SRUFEX05FV1MgICAgICAgICAgICAgICAgICAgInJlYWRfbmV3cyIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZWxjaGUgQXJ0aWtlbCBiZXJlaXRzIGdlbGVzZW4gd3VyZGUgKGZydWVoZXI6IGluIGRlciBNUEEpCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SRUFMX1JBQ0UgYi9kb2MvcHJvcHMvUF9SRUFMX1JBQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgyNzlhNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1JFQUxfUkFDRQpAQCAtMCwwICsxLDcyIEBACitOQU1FOgorCVBfUkVBTF9SQUNFCQkJCSJyZWFsX3JhY2UiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZGllIFJhc3NlIGRlcyBMaXZpbmdzLiBTaWUgZGFyZiBuaWNodCBkdXJjaCAKKwlTaGFkb3dzIHVlYmVyc2NocmllYmVuIHdlcmRlbi4KKwkKKwlXaXJrbGljaCBpbnRlcmVzc2FudCBpc3Qgc2llLCB3ZW5uIGVpbiBTcGllbGVyIHNpY2ggdGFybnQuIERvcnQga2FubgorCW1hbiBtaXQgZGllc2VyIFByb3BlcnR5IHRyb3R6IFRhcm51bmcgZmVzdHN0ZWxsZW4sIHdlbGNoZSBSYXNzZSBkZXIKKwlTcGllbGVyIGhhdC4KKworCUJlaSBOUEMgZW50aGFlbHQgc2llIGRlbiBnbGVpY2hlbiBXZXJ0IHdpZSBQX1JBQ0UuIFdlbm4gUF9SRUFMX1JBQ0UKKwlhbGxlcmRpbmdzIGdlc2V0enQgd2lyZCwga2FubiBtYW4gZGFtaXQgZWluZW4gZ2V0YXJudGVuIE5QQyBzaW11LQorCWxpZXJlbiwgZGEgZGFubiBQX1JBQ0UgdW5kIFBfUkVBTF9SQUNFIHZvbmVpbmFuZGVyIGFid2VpY2hlbi4KKwkKK0JFSVNQSUVMOgorICAgICAgICBFaW4gWndlcmcgbWFnIFp3ZXJnZW5icm90LCBmdWVyIEVsZmVuIGlzdCBlcyBnaWZ0aWcuIFNlbGJzdCB3ZW5uIGRlcgorCUVsZiBzaWNoIGFscyBad2VyZyB0YXJudCwgd2lyZCBpaG0gZHVyY2ggbGVtYmFzIHNpY2hlciB1ZWJlbCB3ZXJkZW46CisKKyAgICAgICAgaW50IGZ1dHRlcihzdHJpbmcgYXJnKQorICAgICAgICB7CisgICAgICAgICAgbm90aWZ5X2ZhaWwoIldhcyB3aWxsc3QgRHUgZXNzZW4/XG4iKTsKKyAgICAgICAgICBpZighYXJnIHx8ICFpZChhcmcpKSByZXR1cm4gMDsKKworICAgICAgICAgIG5vdGlmeV9mYWlsKCJEdSBrYW5uc3QgbmljaHRzIG1laHIgZXNzZW4uXG4iKTsKKyAgICAgICAgICBpZighdGhpc19wbGF5ZXIoKS0+ZWF0X2Zvb2QoNTUpKSByZXR1cm4gMDsKKworICAgICAgICAgIHdyaXRlKCJEdSBpc3N0IGVpbiBTdHVlY2sgWndlZ2VuYnJvdC4gRHUgdmVyc3VjaHN0IGVzIHp1bWluZGVzdCFcbiIpOworICAgICAgICAgIHNheShzcHJpbnRmKCIlcyBiZWlzc3QgaW4gZWluIFN0dWVjayBad2VyZ2VuYnJvdC4gWmFobnNjaG1lcnohISFcbiIsCisgICAgICAgICAgICAgIHRoaXNfcGxheWVyKCktPk5hbWUoKSkpOworCisKKyAgICAgICAgICBzd2l0Y2goIHRoaXNfcGxheWVyKCktPlF1ZXJ5UHJvcChQX1JFQUxfUkFDRSkgKQorICAgICAgICAgIHsKKyAgICAgICAgICBjYXNlICJad2VyZyI6CisJICAgIGlmICgodGhpc19wbGF5ZXIoKS0+UXVlcnlQcm9wKFBfUkFDRSkpIT0iWndlcmciKQorCSAgICAgIHdyaXRlKCJadXIgVGFybnVuZyBzcHVja3N0IER1IGV0d2FzIHZvbiBkZW0gQnJvdCBhdXMhXG4iKTsgCisgICAgICAgICAgICB0aGlzX3BsYXllcigpLT5idWZmZXJfaHAoMTAwLDEwKTsKKyAgICAgICAgICAgIHRoaXNfcGxheWVyKCktPmJ1ZmZlcl9zcCgxMDAsMTApOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBjYXNlICJFbGYiOgorCSAgICB3cml0ZSgiRGFzIFp3ZXJnZW5icm90IGJyZW5udCB3aWUgRmV1ZXIgYXVmIERlaW5lciBadW5nZSEiKTsKKwkgICAgLy8gR2V0YXJudD8KKwkgICAgaWYgKCh0aGlzX3BsYXllcigpLT5RdWVyeVByb3AoUF9SQUNFKSkhPSJFbGYiKQorCSAgICAgIHdyaXRlKCIgRGVpbmUgVGFybnVuZyBudXR6dCBEaXIgZGEgd2VuaWcuXG4iCisgICAgICAgICAgICBlbHNlIHdyaXRlKCJcbiIpOworICAgICAgICAgICAgdGhpc19wbGF5ZXIoKS0+cmVzdG9yZV9zcGVsbF9wb2ludHMoLTEwMCk7CisgICAgICAgICAgICB0aGlzX3BsYXllcigpLT5kb19kYW1hZ2UoMTAwLHRoaXNfb2JqZWN0KCkpOworICAgICAgICAgICAgYnJlYWs7CisKKyAgICAgICAgICBkZWZhdWx0OgorCSAgICB3cml0ZSgiRHUgYmVrb21tc3QgbnVyIHdlbmlnIGRhdm9uIGhlcnVudGVyLi5cbiIpOworICAgICAgICAgICAgdGhpc19wbGF5ZXIoKS0+YnVmZmVyX2hwKDEwLDEpOworICAgICAgICAgICAgdGhpc19wbGF5ZXIoKS0+YnVmZmVyX3NwKDEwLDIpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgfQorICAKKyAgICAgICAgICByZW1vdmUoKTsKKyAgCisgICAgICAgICAgcmV0dXJuIDE7CisgICAgICAgIH0KKworCQorU0lFSEUgQVVDSDoKKwkvc3RkL2xpdmluZy9kZXNjcmlwdGlvbi5jLCAvc3lzL2xpdmluZy9kZXNjcmlwdGlvbi5oLCBQX1JBQ0UKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogTW9uIFNlcCAxNSAyMToxNTo0OSAyMDAzIGJ5IFZhbmlvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUkVGRVJFTkNFX09CSkVDVCBiL2RvYy9wcm9wcy9QX1JFRkVSRU5DRV9PQkpFQ1QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJhNjQwNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1JFRkVSRU5DRV9PQkpFQ1QKQEAgLTAsMCArMSwyNyBAQAorUF9SRUZFUkVOQ0VfT0JKRUNUCitOQU1FOgorICAgICBQX1JFRkVSRU5DRV9PQkpFQ1QgICAgICAgICAgICAicmVmZXJlbmNlX29iamVjdCIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3BsYXllci9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgSW4gZGllc2VyIFByb3BlcnRpZSB3aXJkIGRhcyBha3R1ZWxsZSBCZXp1Z3NvYmpla3QgZWluZXMgU3BpZWxlcnMgCisgICAgIGdlc3BlaWNoZXJ0LiBVbnRlcnN1Y2h0IGRlciBTcGllbGVyIGVpbiBNb25zdGVyLCBzbyBpc3QgZGllcyBkYXMgCisgICAgIE1vbnN0ZXJvYmpla3QsIHVudGVyc3VjaHQgZGVyIFNwaWVsZXIgc2ljaCBzZWxiZXIsIGlzdCBlcyBkYXMgCisgICAgIFNwaWVsZXJvYmpla3QuCisKKyAgICAgRGVyIEluaGFsdCBkaWVzZXIgUHJvcGVydGllIGJlc3RlaHQgYWxzbyBpbW1lciBhdXMgZGVtIHp1bGV0enQgCisgICAgIGJldHJhY2h0ZXRlbiBPYmpla3QuIFNlaSBlcyBlaW4gUmF1bSwgZWluZSBSdWVzdHVuZywgZWluIE1vbnN0ZXIgb2RlciAKKyAgICAgd2FzIGF1Y2ggaW1tZXIuIEJld2VndW5nc2JlZmVobGUgdW5kIGFuZGVyZSBLb21tYW5kb3Mgd2VyZGVuIG5pY2h0IAorICAgICBiZXJ1ZWNrc2ljaHRpZ3QuCisKKyAgICAgRWluemlnIHdlbm4gZGVyIFNwaWVsZXIgJ3NjaGF1JyB0aXBwdCwgd2lyZCBkZXIgSW5oYWx0IGRlciBQcm9wZXJ0aWUgCisgICAgIGdlbG9lc2NodCB1bmQgYmV0cmFlZ3QgMC4KKworU0lFSEUgQVVDSDoKKyAgICAgU29uc3RpZ2VzOgkJUF9JTlRfTE9ORywgUF9MT05HLCBQX1NIT1JUCisJCQlpbnRfbG9uZygpLCBsb25nKCksIHNob3J0KCksIG1ha2VfaW52bGlzdCgpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xldHp0ZSBBZW5kZXJ1bmc6IDI5LjA2LjAyLCAyMzo1MDowMCBoLCB2b24gVGlsbHkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JFSkVDVCBiL2RvYy9wcm9wcy9QX1JFSkVDVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWYwN2YzCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUkVKRUNUCkBAIC0wLDAgKzEsNTEgQEAKK05BTUU6CisJUF9SRUpFQ1QJCQkicmVqZWN0IgorCitERUZJTklFUlQgSU46CisJL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorCURpZXNlIFByb3BlcnR5IHplaWd0IHN0YW5kYXJkbWFlc3NpZyBudXIgaW4gTlBDcyBlaW5lIFdpcmt1bmcuIE1pdAorCWlociBsYWVzc3Qgc2ljaCBzZWhyIGVpbmZhY2ggZWluc3RlbGxlbiwgd2llIHNpY2ggZWluIHNvbGNoZXIgTlBDCisJZ2VnZW51ZWJlciBHZWdlbnN0YWVuZGVuIHZlcmhhbHRlbiBzb2xsLCB3ZWxjaGUgaWhtIHp1Z2VzdGVja3QKKwl3ZXJkZW4uIEhpZXJiZWkgYmVzdGVodCBkaWUgUHJvcGVydHkgYXVzIDIgRWxlbWVudGVuLCB3ZWxjaGUKKwliZXN0aW1tdCwgd2FzIGRlciBOUEMgbWl0IERpbmdlbiB0dWVuIHNvbGwsIGRpZSBpaG0gZ2VnZWJlbiB3ZXJkZW4uCisJU3RhbmRhcmRtYWVzc2lnIGJlaGFlbHQgZGVyIE5QQyBkaWUgU2FjaGVuIGVpbmZhY2guCisJRm9sZ2VuZGUgTW9lZ2xpY2hrZWl0ZW4gZ2lidCBlcyBhdXNzZXJkZW06CisJICAxLiBBcnJheWVsZW1lbnQ6IEFydCBkZXIgSGFuZGx1bmcuIChhdXMgIi9zeXMvbW92aW5nLmgiKQorCSAgICBSRUpFQ1RfR0lWRTogRGVyIE5QQyBnaWJ0IGRhcyBPYmpla3QgenVydWVjay4KKwkgICAgUkVKRUNUX0RST1A6IERlciBOUEMgbGFlc3N0IGRhcyBPYmpla3QgZmFsbGVuLgorCSAgICBSRUpFQ1RfS0VFUDogRGVyIE5QQyBiZWhhZWx0IGRhcyBPYmpla3QgZG9jaC4KKwkgICAgUkVKRUNUX0xJR0hUX01PRElGSUVSOiBEZXIgTlBDIG5pbW10IGtlaW5lIEdlZ2Vuc3RhZW5kZSBhbiwgZGllCisJICAgICAgc2VpbiBMaWNodGxldmVsIHZlcmFlbmRlcm4gdW5kIGRhbWl0IEVpbmZsdXNzIGF1ZiBzZWluCisJICAgICAgS2FtcGZ2ZXJoYWx0ZW4gaGFiZW4ga29lbm50ZW4uCisJICAyLiBBcnJheWVsZW1lbnQ6IE1lbGR1bmcsIG1pdCB3ZWxjaGVyIGRlciBOUEMgZGllIEhhbmRsdW5nCisJICAgICAgICAgICAgICAgICAgIGtvbW1lbnRpZXJ0LgorCSAgICBEZXIgTWVsZHVuZyB3aXJkIG5pY2h0cyBhdXRvbWF0aXNjaCB2b3Jhbmdlc3RlbGx0IHVuZCBlaW4KKwkgICAgYWJzY2hsaWVzc2VuZGVyIFplaWxlbnVtYnJ1Y2ggaXN0IGViZW5mYWxscyBzZWxic3RhZW5kaWcKKwkgICAgdm9yenVuZWhtZW4uIE1pdCBlaW5lbSBMZWVyc3RyaW5nIGlzdCBzb21pdCBhdWNoIGdhciBrZWluZQorCSAgICBSdWVja21lbGR1bmcgbW9lZ2xpY2guCisKK0JFSVNQSUVMOgorCURlciBOUEMgc2NobWVpc3N0IGFsbGUgaWhtIGdlZ2ViZW5lbiBHZWdlbnN0YWVuZGUgZWluZmFjaCB3ZWc6CisJICB2b2lkIGNyZWF0ZSgpCisJICB7IDo6Y3JlYXRlKCk7CisJICAgIC4uLgorCSAgICBTZXRQcm9wKFBfUkVKRUNULCh7UkVKRUNUX0dJVkUsCisJICAgIE5hbWUoV0VSKSsiIG11cm1lbHQ6IFdhcyBzb2xsIGljaCBkZW5uIGRhbWl0PyFcbiJ9KSk7CisJICAgIC4uLgorCSAgfQorCU1hbmNobWFsIGlzdCBkYXMgcmVjaHQgbnVldHpsaWNoLCB6LkIuIGthbm4gbWFuIHNvIGVpZ2VudGxpY2ggc2Nod2VyCisJenUgdG9ldGVuZGUgTlBDcyBkYWdlZ2VuIHNjaHVldHplbiwgZGFzcyBtYW4gaWhuZW4gYW5nZXp1ZW5kZXRlcworCUR5bmFtaXQgb2RlciBhZWhubGljaGVzIHVlYmVycmVpY2h0LgorCitCRU1FUktVTkdFTjoKKwlJbm5lcmhhbGIgdm9uIE5QQ3MgaXN0IGRpZSBGdW5rdGlvbiBnaXZlX25vdGlmeSgpIGZ1ZXIgZGllCisJYXV0b21hdGlzY2hlIEF1c3dlcnR1bmcgZGllc2VyIFByb3BlcnR5IHZlcmFudHdvcnRsaWNoOyBkYXMgc29sbHRlCisJbWFuIGluc2Jlc29uZGVyZSBiZWltIFVlYmVyc2NocmVpYmVuIGRpZXNlciBGdW5rdGlvbiBiZWFjaHRlbiEKKworU0lFSEUgQVVDSDoKKwlnaXZlX25vdGlmeSgpLCAvc3RkL25wYy9wdXRfYW5kX2dldC5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBNb24gQXByIDIzIDE2OjU0OjA3IDIwMDEgYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SRU1PVkVfRlVOQyBiL2RvYy9wcm9wcy9QX1JFTU9WRV9GVU5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkNDMxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9SRU1PVkVfRlVOQwpAQCAtMCwwICsxLDI1IEBACitQX1JFTU9WRV9GVU5DCisKK05BTUU6CisgICAgIFBfUkVNT1ZFX0ZVTkMgInJlbW92ZV9mdW5jIgorCitERUZJTklFUlQgSU46CisgICAgIDxhcm1vdXIuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBGYWxscyBlaW4gT2JqZWt0IGVpbmUgUmVtb3ZlRnVuYygpIGZ1ZXIgZGllIFJ1ZXN0dW5nIG9kZXIgS2xlaWR1bmcgCisgICAgIGRlZmluaWVydCwgc28gbXVzcyBkaWVzZXMgT2JqZWt0IGluIGRpZXNlciBQcm9wZXJ0eSBlaW5nZXRyYWdlbiBzZWluLgorCisgICAgIERpZSBBdXN3ZXJ0dW5nIGRpZXNlciBQcm9wZXJ0eSBlcmZvbGd0IGltIExhdWZlIGRlcyBEb1Vud2VhcigpIGluCisgICAgIGRlciBuaWNodC1vZWZmZW50bGljaGVuIEZ1bmt0aW9uZW4gX2NoZWNrX3Vud2Vhcl9yZXN0cmljdGlvbnMoKS4KKworQkVJU1BJRUxFOgorICAgICBTaWVoZSBkYXMgQmVpc3BpZWwgenUgUmVtb3ZlRnVuYygpCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvYXJtb3VyLmMsIC9zdGQvY2xvdGhpbmcuYywgY2xvdGhpbmcsIGFybW91cnMKKyAgICAgUmVtb3ZlRnVuYygpCisKKworTGV0enRlIEFlbmRlcnVuZzoKKzE1LjAyLjIwMDksIFplc3N0cmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SRU1PVkVfTVNHIGIvZG9jL3Byb3BzL1BfUkVNT1ZFX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZWIxZDhkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUkVNT1ZFX01TRwpAQCAtMCwwICsxLDI4IEBACitOQU1FOgorICAgICBQX1JFTU9WRV9NU0cgICAgICAgICAgICAgICAgICAic3RkX2Zvb2RfcmVtb3ZlX21zZyIKKworREVGSU5JRVJUIElOOgorICAgICA8c3lzL2Zvb2QuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBNZWxkdW5nLCB3ZW5uIGVpbmUgdmVyZG9yYmVuZSBTcGVpc2UgZ2VyYWRlIHZlcm5pY2h0ZXQgd2lyZC4KKyAgICAgRGllc2UgTWVsZHVuZyBlcnNjaGVpbnQgbnVyLCB3ZW5uIGluIFBfREVTVFJPWV9CQUQgZWluIHBvc2l0aXZlcgorICAgICBJbnRlZ2VyLVdlcnQgZ2VzZXR6dCBpc3QuCisgICAgIEJlZmluZGV0IHNpY2ggZGllIFNwZWlzZSBpbiBlaW5lbSBTcGllbGVyLCBnZWh0IGRpZSBNZWxkdW5nIGFuIGdlbmF1CisgICAgIGRpZXNlbiwgbGllZ3QgZGllIFNwZWlzZSBpbSBSYXVtLCBnZWh0IGRpZSBNZWxkdW5nIGFuIGFsbGUgYW53ZXNlbmRlbgorICAgICBTcGllbGVyLgorICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBNZWxkdW5nIHdpcmQgdm9uIHJlcGxhY2VfcGVyc29uYWwgbWl0IGRlbiBBcmd1bWVudGVuOgorICAgICAxLiBTcGVpc2UKKyAgICAgMi4gS29uc3VtZW50CisgICAgIHZlcmFyYmVpdGV0LCBrYW5uIGFscyBlbnRzcHJlY2hlbmRlIFBsYXR6aGFsdGVyIGVudGhhbHRlbgorICAgICAKK0RFRkFVTFQ6CisgICAgICJAV0VSMSB6ZXJmYWVsbHQgenUgU3RhdWIuIgorCitTSUVIRSBBVUNIOgorICAgICBQX0RFU1RST1lfQkFELCB3aXovZm9vZCwgcmVwbGFjZV9wZXJzb25hbAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SRVNFVF9MSUZFVElNRSBiL2RvYy9wcm9wcy9QX1JFU0VUX0xJRkVUSU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3OGNmMGMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9SRVNFVF9MSUZFVElNRQpAQCAtMCwwICsxLDMxIEBACitOQU1FOg0KKyAgICAgUF9SRVNFVF9MSUZFVElNRSAgICAgICAgICAgICAgInN0ZF9mb29kX2xpZmV0aW1lX3Jlc2V0Ig0KKw0KK0RFRklOSUVSVCBJTjoNCisgICAgIC9zeXMvZm9vZC5oDQorDQorQkVTQ0hSRUlCVU5HOg0KKyAgICAgWmVpdCBpbiBSZXNldHMsIGRpZSBkaWUgU3BlaXNlIGhhbHRiYXIgaXN0Lg0KKyAgICAgSmVkZXIgZWluemVsbmUgUmVzZXQgd2lyZCBpbiBzZWluZXIgTGFlbmdlIHp1ZmFlbGxpZyBmZXN0Z2VsZWd0IHVuZA0KKyAgICAgenUgZWluZXIgR2VzYW10YW56YWhsIHZvbiBTZWt1bmRlbiB6dXNhbW1lbmdlZmFzc3QuIERpZXNlIFplaXQgaW4NCisgICAgIFNla3VuZGVuIHdpcmQgZGFubiBpbiBQX0xJRkVUSU1FIGdlc3BlaWNoZXJ0Lg0KKyAgICAgTmFjaCBkaWVzZXIgWmVpdCB3aXJkIGRpZXNlIFNwZWlzZSBzY2hsZWNodCB1bmQgamUgbmFjaCBLb25maWd1cmF0aW9uDQorICAgICBkZXIgU3BlaXNlIGV2ZW50dWVsbCB6ZXJzdG9lcnQuIFNpY2hlcmdlc3RlbGx0IHdpcmQgZGllcyBkdXJjaCBkZW4NCisgICAgIEF1ZnJ1ZiB2b24gcmVzZXQoKSBuYWNoIGRpZXNlciBBbnphaGwgIlJlc2V0cyIuDQorICAgICBNb2VjaHRlIG1hbiBlaW5lIFNwZWlzZSBoYWJlbiwgZGllIG5pZW1hbHMgdmVyZGlyYnQNCisgICAgIChnZW5laG1pZ3VuZ3NwZmxpY2h0aWchKSwgbnV0enQgbWFuIGRpZSBQcm9wZXJ0eSBQX05PX0JBRA0KKyAgICAgDQorQkVNRVJLVU5HRU46DQorICAgICBTb2JhbGQgZGVyIENvdW50ZG93biB6dW0gU2NobGVjaHR3ZXJkZW4gZGVyIFNwZWlzZSBsYWV1ZnQsIGFsc28gZWluDQorICAgICBTcGllbGVyIGRhbWl0IGluIEJlcnVlaHJ1bmcga2FtLCB6ZWlndCBTZXRQcm9wIGF1ZiBkaWVzZSBQcm9wZXJ0eSBrZWluZQ0KKyAgICAgV2lya3VuZyBtZWhyLg0KKw0KK0RFRkFVTFQ6DQorICAgICBPaG5lIFNldHplbiB2b24gUF9MSUZFVElNRSAsUF9SRVNFVF9MSUZFVElNRSB1bmQgUF9OT19CQUQgdmVyZGlyYnQgZGllDQorICAgICBTcGVpc2UgbmFjaCBlaW5lbSBSZXNldCwgYWxzbyB6d2lzY2hlbiAzMCB1bmQgNjAgTWludXRlbg0KKw0KK1NJRUhFIEFVQ0g6DQorICAgICB3aXovZm9vZCwgUF9MSUZFVElNRSwgUF9OT19CQUQNCisNCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfUkVTSVNUQU5DRSBiL2RvYy9wcm9wcy9QX1JFU0lTVEFOQ0UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmYzZGU3NAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1JFU0lTVEFOQ0UKQEAgLTAsMCArMSwzNyBAQAorUF9SRVNJU1RBTkNFCitOQU1FOgorICAgICBQX1JFU0lTVEFOQ0UgICAgICAgICAgICAgICAgICAicmVzaXN0YW5jZSIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9jb21iYXQuaAorCitXSUNIVElHOgorICAgICBESUVTRSBQUk9QRVJUWSBJU1QgVkVSQUxURVQhIEJJVFRFIFBfUkVTSVNUQU5DRV9TVFJFTkdUSFMKKyAgICAgVkVSV0VOREVOISBBVUNIIEZVTktUSU9OSUVSVCBTZXQoKSBOSUNIVCBXSUUgRVMgU09MTFRFLgorCitCRVNDSFJFSUJVTkc6CisgICAgIEhpZXJtaXQga29lbm5lbiBkaWUgUmVzaXN0ZW56ZW4gZWluZXMgTGViZXdlc2VucyBzZWhyIGVpbmZhY2ggZ2VzZXR6dAorICAgICB3ZXJkZW4uIEVzIGthbm4gZWluIEFycmF5IG1pdCBTY2hhZGVuc2FydGVuIGdlc2V0enQgd2VyZGVuLCBqZWRlcgorICAgICBFaW50cmFnIGVpbmVzIFNjaGFkZW5zIHZlcmRvcHBlbHQgZGllIFJlc2lzdGVueiBnZWdlbiBkaWVzZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICAtIFBfUkVTSVNUQU5DRV9TVFJFTkdUSFMgc3BpZWdlbHQgZGllc2UgRWludHJhZWdlIGhpZXIgd2llZGVyCisgICAgIC0gdW0gZ2VuYXVlcmUgV2VydGUgYW56dWdlYmVuIGVpbmVuIEFkZFJlc2lzdGFuY2VNb2RpZmllcigpIG9kZXIKKyAgICAgICBQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTIGJlbnV0emVuLgorICAgICAtIFBfUkVTSVNUQU5DRSBrYW5uIHVuZCB3aXJkIG5pY2h0IGF1cyBQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTCisgICAgICAgdXBnZWRhdGV0CisKK0JFSVNQSUVMRToKKyAgICAgLy8gZWluIE5QQyBtaXQgaGFsYmllcnRlciBGZXVlcmVtcGZpbmRsaWNoa2VpdCB1bmQKKyAgICAgLy8gZ2V2aWVydGVsdGVyIFdpbmRlbXBmaW5kbGljaGtlaXQKKyAgICAgU2V0UHJvcChQX1JFU0lTVEFOQ0UsICh7RFRfRklSRSwgRFRfQUlSLCBEVF9BSVJ9KSk7CisKK1NJRUhFIEFVQ0g6CisgICAgIHNpbXBsZSBSZXNpc3Rlbno6CVBfUkVTSVNUQU5DRQorICAgICBNb2RpZmlrYXRvcmVuOglBZGRSZXNpc3RhbmNlTW9kaWZpZXIsIFJlbW92ZVJlc2lzdGFuY2VNb2RpZmllcigpLAorCQkJUF9SRVNJU1RBTkNFX01PRElGSUVSCisgICAgIEhhdXB0bWFwcGluZzoJUF9SRVNJU1RBTkNFX1NUUkVOR1RIUworICAgICBCZXJlY2hudW5nOglDaGVja1Jlc2lzdGFuY2UoKSwgVXBkYXRlUmVzaXN0YW5jZVN0cmVuZ3RocygpCisgICAgIGFuZGVyZXM6CQliYWxhbmNlLCAvc3RkL2FybW91ci9jb21iYXQuYywgL3N0ZC9saXZpbmcvY29tYmF0LmMKKworMS5EZXogMjAwNCwgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JFU0lTVEFOQ0VfTU9ESUZJRVIgYi9kb2MvcHJvcHMvUF9SRVNJU1RBTkNFX01PRElGSUVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMDUzOGUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9SRVNJU1RBTkNFX01PRElGSUVSCkBAIC0wLDAgKzEsMjYgQEAKK05BTUU6CisgICAgIFBfUkVTSVNUQU5DRV9NT0RJRklFUiAgICAgICAgICAgICAicnN0cjptb2QiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBIaWVyIHdlcmRlbiBkaWUgUmVzaXN0ZW56bW9kaWZpa2F0b3JlbiBpbiBlaW5lbSBNYXBwaW5nIGFiZ2VzcGVpY2hlcnQuCisKKyAgICAgRm9ybWF0OgorCisgICAgIChbIm1lIjo8QXVmYWRkaXRpb24gYWxsZXIgUmVzaXN0ZW56L0VtcGZpbmRsaWNoa2VpdHNtb2RpZmlrYXRpb25lbj47MCwKKyAgICAgICAiPE9iamVrdG5hbWU+IzxTY2hsdWVzc2VsPiI6PFJlc2lzdGVuem1hcHBpbmc+OzxPYmpla3JlZmVyZW56PiwKKyAgICAgICAuLi5dKQorCitCRU1FUktVTkdFTjoKKyAgICAgTnVyIHVlYmVyIEFkZFJlc2lzdGFuY2VNb2RpZmllcigpLCBSZW1vdmVSZXNpc3RhbmNlTW9kaWZpZXIoKSBhZW5kZXJuIQorCitTSUVIRSBBVUNIOgorICAgICBNb2RpZmlrYXRvcmVuOglBZGRSZXNpc3RhbmNlTW9kaWZpZXIsIFJlbW92ZVJlc2lzdGFuY2VNb2RpZmllcigpCisgICAgIHNpbXBsZSBSZXNpc3Rlbno6CVBfUkVTSVNUQU5DRSwgUF9WVUxORVJBQklMSVRZCisgICAgIEhhdXB0bWFwcGluZzoJUF9SRVNJU1RBTkNFX1NUUkVOR1RIUworICAgICBCZXJlY2hudW5nOglDaGVja1Jlc2lzdGFuY2UoKSwgVXBkYXRlUmVzaXN0YW5jZVN0cmVuZ3RocygpCisgICAgIGFuZGVyZXM6CQliYWxhbmNlLCAvc3RkL2FybW91ci9jb21iYXQuYywgL3N0ZC9saXZpbmcvY29tYmF0LmMKKworMjkuQXByIDIwMDIsIEdsb2luc29uQE1HCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9SRVNJU1RBTkNFX1NUUkVOR1RIUyBiL2RvYy9wcm9wcy9QX1JFU0lTVEFOQ0VfU1RSRU5HVEhTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMjRkMmQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9SRVNJU1RBTkNFX1NUUkVOR1RIUwpAQCAtMCwwICsxLDkyIEBACitOQU1FOgorICAgICBQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTICAgICAicmVzaXN0YW5jZV9zdHJlbmd0aHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBMZWJld2VzZW46CisKKyAgICAgTWFwcGluZyBtaXQgU2NoYWRlbnNhcnRlbiwgZ2VnZW4gZGllIGRhcyBMZWJld2VzZW4gcmVzaXN0ZW50IG9kZXIKKyAgICAgYW5mYWVsbGlnIGlzdC4gRHVyY2ggZWluZSBfcXVlcnlfbWV0aG9kIHdlcmRlbiBhbGxlIGV4aXN0aWVyZW5kZW4KKyAgICAgUmVzaXN0ZW56ZW4gaGllciB6dXNhbW1lbmdlZmFzc3QuCisKKyAgICAgRGllIFN0YWVya2UgZGVyIFJlc2lzdGVueiBvZGVyIEFuZmFlbGxpZ2tlaXQgd2lyZCBudW1lcmlzY2ggYXVzLQorICAgICBnZWRydWVja3Q6CisgICAgIC0gUmVzaXN0ZW56ZW4gZ2VoZW4gYmlzIHZvbiAwIGJpcyAtMS4wIChhYnNvbHV0ZSBSZXNpc3RlbnopCisgICAgICAgLSAtMC41ID09IGhhbGJpZXJ0ZXIgU2NoYWRlbiwgLTAuNzUgPT0gZ2V2aWVydGVsdGVyIFNjaGFkZW4KKyAgICAgICAtPiBpbiAlIGRlcyAiYXVmZ2VoYWx0ZW5lbiIgU2NoYWRlbnMgaW50ZXJwcmV0aWVyYmFyCisgICAgIC0gRW1wZmluZGxpY2hrZWl0ZW4gZ2VoZW4gdm9uIDAgYmlzIE1BWF9JTlQKKyAgICAgICAtICAxLjAgPT0gdmVyZG9wcGVsdGVyIFNjaGFkZW4sIDMuMCA9PSB2ZXJ2aWVyZmFjaHRlciBTY2hhZGVuCisgICAgICAgLT4gYWxzIEZha3RvciAoeCsxLjApIGludGVycHJldGllcmJhcgorCisgICAgIFJ1ZXN0dW5nZW46CisKKyAgICAgTWFwcGluZyBtaXQgUHJvemVudHdlcnRlbiBkZXIgTWF4aW1hbHdlcnRlIGZ1ZXIgUnVlc3R1bmdlbiBkZXMKKyAgICAgZW50c3ByZWNoZW5kZW4gVHlwcy4gRGFiZWkgc2luZCBwb3NpdGl2ZSBXZXJ0ZSBSZXNpc3RlbnplbiB1bmQKKyAgICAgbmVnYXRpdmUgRW1wZmluZGxpY2hrZWl0ZW4uIERhYmVpIGR1ZXJmZW4gZGllIFByb3plbnR3ZXJ0ZSBudXIKKyAgICAgaW0gQmVyZWljaCB2b24gKzEwMCBiaXMgLTgwMCAoLTEwMDAgPyEpIGxpZWdlbi4KKworICAgICBCZWkgUnVlc3R1bmdlbiBpc3QgZXMgZGFtaXQgdW5ub2V0aWcsIFJlc2lzdGVuemVuIG1pdHRlbHMKKyAgICAgQWRkUmVzaXN0YW5jZU1vZGlmaWVyKCkgaW0gVHJhZWdlciB6dSBzZXR6ZW4sIGRhIGRpZXMgYmVyZWl0cworICAgICBpbiAvc3RkL2FybW91ciBhdXRvbWF0aXNjaCBnZW1hY2h0IHdpcmQuIERlciBTY2hsdWVzc2VsIGZ1ZXIKKyAgICAgZGVuIEVpbnRyYWcgaXN0IGRhYmVpIFBfQVJNT1VSX1RZUEUuCisKKyAgICAgRGllIE1heGltYWx3ZXJ0ZSBzaW5kIGRlcnplaXQ6CisgICAgICBBVF9DTE9BSywgQVRfUklORywgQVRfQU1VTEVUOiBtYXggMTAlIFJlc2lzdGVuegorICAgICAgQVRfU0hJRUxELCBBVF9BUk1PVVI6ICBtYXggMTUlIFJlc2lzdGVuegorICAgICAgYWxsZSBhbmRlcmVuOiAgIG1heCA1JSBSZXNpc3RlbnoKKworQkVNRVJLVU5HRU46CisgICAgIFJ1ZXN0dW5nZW46CisgICAgICogZGllIFByb3BlcnR5IG11c3MgX25hY2hfIFBfQVJNT1VSX1RZUEUgZ2VzZXR6dCB3ZXJkZW4gKF9zZXQtTWV0aG9kKQorCisgICAgIExlYmV3ZXNlbjoKKyAgICAgKiAtMS4wIGJlZGV1dGV0IGJlcmVpdHMgYWJzb2x1dGUgUmVzaXN0ZW56LCBiZWkga2xlaW5lcmVuIFdlcnRlbiB3ZXJkZW4KKyAgICAgICBkaWUgYW5kZXJlbiBTY2hhZGVuc2FudGVpbGUgaW0gS2FtcGYgdS5VLiBuaWNodCBtZWhyIHdpZSBnZXd1ZW5zY2h0CisgICAgICAgYmlsYW56aWVydC4gQml0dGUgZGFoZXIgZHJhdWYgdmVyemljaHRlbi4gOy0pCisgICAgICogQWVuZGVydW5nZW4gYW4gUF9SRVNJU1RBTkNFIHVuZCBQX1ZVTE5FUkFCSUxJVFkgd2VyZGVuIGRpcmVrdCBpbiAKKyAgICAgICBQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTIGdlc3BlaWNoZXJ0OgorICAgICAgIC0+IGRhaGVyIG5pZW1hbHMgaW0gTmFjaGhpbmVpbiBiZWkgZnJlbWRlbiBOUENzIFBfUkVTSVNUQU5DRV9TVFJFTkdUSFMKKyAgICAgICAgICBtYW5pcHVsaWVyZW4sIGRhZnVlciBnaWJ0IGVzIEFkZFJlc2lzdGFuY2VNb2RpZmllcgorICAgICAqIFF1ZXJ5UHJvcChQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTKSBlbnRoYWVsdCBkaWUgZ2VzYW10ZW4gUmVzaXN0ZW56ZW4KKyAgICAgICBQX1JFU0lTVEFOQ0UsIFBfVlVMTkVSQUJJTElUWSwgUF9SRVNJU1RBTkNFX01PRElGSUVSIChfcXVlcnktTWV0aG9kKQorCisgICAgIERpZSBXZXJ0ZSBpbiBQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTIHNvbGx0ZW4gbnVyIGluIEF1c25haG1lZmFlbGxlbiBvZGVyCisgICAgIGd1dCBiZWdydWVuZGV0IGRlbiBIb2VjaHN0d2VydCBoYWJlbi4gRWluIEVpc3dlc2VuIGthbm4gendhciBzZWhyCisgICAgIHJlc2lzdGVudCBnZWdlbiBLYWVsdGVzY2hhZGVuIHNlaW4sIHNvbGx0ZSBhYmVyIHp1IGdsZWljaGVtIFRlaWwgYXVjaAorICAgICBhbmZhZWxsaWcgYXVmIEZldWVyc2NoYWRlbiBzZWluLgorCisgICAgIEF1ZiBkaWVzZXIgUHJvcGVydHkgbGllZ3QgZWluZSBRdWVyeW1ldGhvZGUsIHdlbGNoZSBlaW5lIEtvcGllIGRlcgorICAgICBEYXRlbiB6dXJ1ZWNrbGllZmVydC4KKworQkVJU1BJRUxFOgorICAgICAvLyBlaW4gRWlzdHJvbGwKKyAgICAgU2V0UHJvcChQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTLChbRFRfRklSRTowLjUsRFRfQ09MRDotMC41LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEVF9NQUdJQzowLjFdKSk7CisKKyAgICAgRmV1ZXJhbmdyaWZmZSB3ZXJkZW4gbWl0IDEuNSBtdWx0aXBsaXppZXJ0LCBtYWdpc2NoZSBtaXQgMS4xIHVuZAorICAgICBkZXIgU2NoYWRlbnN3ZXJ0IHZvbiBLYWVsdGVhbmdyaWZmZW4gd2lyZCBoYWxiaWVydC4gWnVtIEJlaXNwaWVsCisgICAgIHd1ZXJkZQorICAgICBEZWZlbmQoMTAwLCAoe0RUX0ZJUkUsRFRfTUFHSUN9KSwgLi4uKQorICAgICBlaW5lbiBTY2hhZGVuIHZvbiAxMzAgc3RhdHQgZGVuIG5vcm1hbGVuIDEwMCB2ZXJ1cnNhY2hlbi4KKworCisgICAgIC8vIGVpbmUgRWlzcnVlc3R1bmcKKyAgICAgU2V0UHJvcChQX1JFU0lTVEFOQ0VfU1RSRU5HVEhTLCAoW0RUX0NPTEQ6NTAsIERUX0ZJUkU6LTEwMF0pKTsKKworICAgICBEaWVzZXMgS2V0dGVuaGVtZCBzY2h1ZXR6dCBudW4gbWl0IDUwJSBkZXMgTWF4aW1hbHdlcnRlcyBnZWdlbgorICAgICBLYWVsdGUgKGFsc28gMC41KjE1JT03LDUlIFJlc2lzdGVueikgdW5kIG1hY2h0IG1pdCBkZW0gTWF4aW1hbC0KKyAgICAgd2VydCBhbmZhZWxsaWcgZ2VnZW4gRmV1ZXIgKDEqMTUlPTE1JSBFbXBmaW5kbGljaGtlaXQpLgorCisgICAgICEgZGVyIENvZGUgc3ByaWNodCB6dXNhZXR6bGljaCB2b24KKyAgICAgICBFbXBmaW5kbGljaGtlaXQ9KEVtcGZpbmRsaWNoa2VpdC80KSo1IC0+IDE1LzQqNT0xOC43NSUgIQorCitTSUVIRSBBVUNIOgorICAgICBzaW1wbGUgUmVzaXN0ZW56OiBQX1JFU0lTVEFOQ0UsIFBfVlVMTkVSQUJJTElUWQorICAgICBNb2RpZmlrYXRvcmVuOiBBZGRSZXNpc3RhbmNlTW9kaWZpZXIsIFJlbW92ZVJlc2lzdGFuY2VNb2RpZmllcigpLAorICAgICBQX1JFU0lTVEFOQ0VfTU9ESUZJRVIKKyAgICAgQmVyZWNobnVuZzogQ2hlY2tSZXNpc3RhbmNlKCksIFVwZGF0ZVJlc2lzdGFuY2VTdHJlbmd0aHMoKQorICAgICBhbmRlcmVzOiAgYmFsYW5jZSwgL3N0ZC9hcm1vdXIvY29tYmF0LmMsIC9zdGQvbGl2aW5nL2NvbWJhdC5jCisKKzYuRmViIDIwMTYgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JFU1RSSUNUSU9OUyBiL2RvYy9wcm9wcy9QX1JFU1RSSUNUSU9OUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDg5MGZmCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUkVTVFJJQ1RJT05TCkBAIC0wLDAgKzEsMTQwIEBACitOQU1FOgorICAgIFBfUkVTVFJJQ1RJT05TICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicmVzdHJpY3Rpb25zIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9jb21iYXQuaAorICAgIChEaWUgU1JfKi1QYXJhbWV0ZXIgc2luZCBpbiAvc3lzL25ld19za2lsbHMuaCBkZWZpbmllcnQuKQorCitCRVNDSFJFSUJVTkc6CisgICAgRW50aGFlbHQgZWluIG1hcHBpbmcgbWl0IGRlbiB6dSBwcnVlZmVuZGVuIEVpbnNjaHJhZW5rdW5nZW4uCisKKyAgICBJbiBkaWVzZXIgUHJvcGVydHkgbGFzc2VuIHNpY2ggUmVzdHJpa3Rpb25lbiBzZXR6ZW4sIGRpZSB2b3IgZGVtCisgICAgWnVlY2tlbiBlaW5lciBXYWZmZSAvIEFuemllaGVuIGVpbmVyIFJ1ZXN0dW5nIG9kZXIgS2xlaWR1bmcgZ2VwcnVlZnQKKyAgICB3ZXJkZW4gdW5kIGRpZXMgZ2VnZWJlbmZhbGxzIHZlcmhpbmRlcm4sIG9obmUgZ2xlaWNoIGF1ZiBlaW5lIGV2dGwuCisgICAgdm9yaGFuZGVuZSBXaWVsZEZ1bmMgLyBXZWFyRnVuYyB6dXp1Z3JlaWZlbi4KKworICAgIERpZSBBdXN3ZXJ0dW5nIGVyZm9sZ3QgdWViZXIgZGVuIEF1ZnJ1ZiB2b24gY2hlY2tfcmVzdHJpY3Rpb25zKCkKKyAgICBpbiAvc3RkL3Jlc3RyaWN0aW9uX2NoZWNrZXIuYworCisgICAgRm9sZ2VuZGUgS2V5cyB3ZXJkZW4gaW4gZGVtIE1hcHBpbmcgYXVzZ2V3ZXJ0ZXQ6CisKKyAgICBQX0xFVkVMCisgICAgICBNaW5kZXN0c3R1ZmUsIGRpZSBkYXMgTGViZXdlc2VuIGJlc2l0emVuIG11c3MsIHVtIGRpZSBBa3Rpb24KKyAgICAgIGF1c3p1ZnVlaHJlbi4KKyAgICBQX0dVSUxEX0xFVkVMCisgICAgICBHaWxkZW5sZXZlbCwgZGFzIGRhcyBMZWJld2VzZW4gbWluZGVzdGVucyBlcnJlaWNodCBoYWJlbiBtdXNzLCB1bSBkaWUKKyAgICAgIEFrdGlvbiBhdXN6dWZ1ZWhyZW4uCisgICAgU1JfU0VFUgorICAgICAgSXN0IGdlc2V0enQsIHdlbm4gZGFzIExlYmV3ZXNlbiBTZWhlciBzZWluIG11c3MuCisgICAgICBBdXN3ZXJ0dW5nIG51ciBmdWVyIEludGVyYWN0aXZlcywgTlNDIGlnbm9yaWVyZW4gZGFzIEZsYWcuCisgICAgUF9YUAorICAgICAgTWluZGVzdG1lbmdlIGFuIEVyZmFocnVuZ3NwdW5rdGVuLCBkaWUgZWluIExlYmV3ZXNlbiBiZXNpdHplbiBtdXNzLAorICAgICAgdW0gZGllIEFrdGlvbiBhdXN6dWZ1ZWhyZW4uCisgICAgUF9RUAorICAgICAgTWluZGVzdG1lbmdlIGFuIEFiZW50ZXVlcnB1bmt0ZW4sIGRpZSBkYXMgTGViZXdlc2VuIGhhYmVuIG11c3MuCisgICAgUF9BTENPSE9MCisgICAgICBNZW5nZSBhbiBBbGtvaG9sLCB1bnRlciBkZXIgZGVyIEFsa29ob2xzcGllZ2VsIGRlcyBMZWJld2VzZW4gbGllZ2VuCisgICAgICBtdXNzLCB1bSBkaWUgQWt0aW9uIG5vY2ggYXVzZnVlaHJlbiB6dSBrb2VubmVuLgorICAgIFBfRFJJTksKKyAgICAgIE1lbmdlIGFuIEZsdWVzc2lna2VpdCwgdW50ZXIgZGVyIGRlciBGbHVlc3NpZ2tlaXRzc3BpZWdlbCBkZXMKKyAgICAgIExlYmV3ZXNlbiBsaWVnZW4gbXVzcywgdW0gZGllIEFrdGlvbiBub2NoIGF1c2Z1ZWhyZW4genUga29lbm5lbi4KKyAgICBQX0ZPT0QKKyAgICAgIEJlaW5oYWx0ZXQgZGllIE1lbmdlIGFuIE5haHJ1bmcsIHVudGVyIGRlciBkZXIgTmFocnVuZ3NzcGllZ2VsIGRlcworICAgICAgU3BpZWxlcnMgbGllZ2VuIG11c3MsIHVtIGRpZSBBa3Rpb24gbm9jaCBhdXNmdWVocmVuIHp1IGtvZW5uZW4uCisgICAgUF9ERUFGCisgICAgICBJc3QgZ2VzZXR6dCwgZmFsbHMgZGVyIFNwaWVsZXIgbmljaHQgdGF1YiBzZWluIGRhcmYuCisgICAgUF9GUk9HCisgICAgICBJc3QgZ2VzZXR6dCwgZmFsbHMgZGVyIFNwaWVsZXIga2VpbiBGcm9zY2ggc2VpbiBkYXJmLgorICAgIFBfQkxJTkQKKyAgICAgIElzdCBnZXNldHp0LCBmYWxscyBkZXIgU3BpZWxlciBuaWNodCBibGluZCBzZWluIGRhcmYuCisgICAgICBBY2h0dW5nOiBkYXMgaXN0IG5pY2h0IGdsZWljaGJlZGV1dGVuZCBtaXQgZGVtIFVtc3RhbmQsIGRhc3MgZXIgZXZ0bC4KKyAgICAgIG5pY2h0cyBtZWhyIHNlaGVuIGthbm4uIEF1Y2ggYW5kZXJlIEdydWVuZGUgKHp1bSBCZWlzcGllbCBEdW5rZWxoZWl0KQorICAgICAga29lbm5lbiBiZXdpcmtlbiwgZGFzcyBlaW4gU3BpZWxlciBuaWNodHMgbWVociBzaWVodC4KKyAgICBBX0lOVCwgQV9ERVgsIEFfQ09OLCBBX1NUUgorICAgICAgSmV3ZWlsaWdlIE1pbmRlc3Rob2VoZSBlaW5lcyBBdHRyaWJ1dCwgdW0gZWluZSBBa3Rpb24gYXVzZnVlaHJlbiB6dQorICAgICAga29lbm5lbi4KKyAgICBTUl9CQUQsIFNSX0dPT0QKKyAgICAgIEdpYnQgYW4sIHdpZSBbbWluaW1hbF0gYm9lc2UgYnp3LiB3aWUgW21heGltYWxdIGd1dCBlaW4gQ2hhcmFrdGVyIHNlaW4KKyAgICAgIGRhcmYsIHVtIGVpbmUgQWt0aW9uIGF1c2Z1ZWhyZW4genUga29lbm5lbi4KKyAgICBTUl9NSU5fU0laRSwgU1JfTUFYX1NJWkUKKyAgICAgIEdpYnQgZGllIG1pbmltYWxlLCBiencuIGRpZSBtYXhpbWFsZSBHcm9lc3NlIGFuLCBkaWUgZWluIENoYXJha3RlcgorICAgICAgbWF4aW1hbCBoYWJlbiBkYXJmLCB1bSBlaW5lIEFrdGlvbiBhdXNmdWVocmVuIHp1IGtvZW5uZW4uCisgICAgU1JfRlJFRV9IQU5EUworICAgICAgR2lidCBhbiwgd2lldmllbGUgZnJlaWUgSGFlbmRlIGVpbiBDaGFyYWt0ZXIgZnVlciBkaWVzZSBBa3Rpb24KKyAgICAgIGJlc2l0emVuIG11c3MuCisgICAgU1JfRVhDTFVERV9SQUNFCisgICAgICBNaXRnbGllZGVyIGFsbGVyIGluIGRpZXNlciBMaXN0ZSBhdWZnZWZ1ZWhydGVuIFJhc3NlbiBrb2VubmVuCisgICAgICBkaWVzZSBBa3Rpb24gbmljaHQgYXVzZnVlaHJlbi4KKyAgICBTUl9JTkNMVURFX1JBQ0UKKyAgICAgIE1pdGdsaWVkZXIgYWxsZXIgTklDSFQgaW4gZGllc2VyIExpc3RlIGF1ZmdlZnVlaHJ0ZW4gUmFzc2VuIGtvZW5uZW4KKyAgICAgIGRpZXNlIEFrdGlvbiBuaWNodCBhdXNmdWVocmVuLgorICAgIFNNX1JBQ0UKKyAgICAgIEhpZXIga2FubiBwcm8gUmFzc2UgZWluIE1hcHBpbmcgbWl0IGJlc29uZGVyZW4gKG51cikgZnVlciBkaWVzZSBSYXNzZQorICAgICAgZ2VsdGVuZGVuIEVpbnNjaHJhZW5rdW5nZW4gdm9yZ2Vub21tZW4gd2VyZGVuLiBBbHMgS2V5cyBzaW5kIGRpZQorICAgICAgaW4gZGllc2VyIE1hbnBhZ2UgYmVzY2hyaWViZW5lbiBLZXlzIGVybGF1YnQsIHdvYmVpIFNNX1JBQ0UgbmljaHQKKyAgICAgIHJla3Vyc2l2IGF1c2dld2VydGV0IHdpcmQuCisgICAgICBEZXIgUmFzc2VubmFtZSBpc3QgZ3Jvc3MgZ2VzY2hyaWViZW4gdW5kICIqIiBzdGVodCBmdWVyIGFsbGUgUmFzc2VuLgorICAgIFNSX0VYQ0xVREVfR1VJTEQKKyAgICBTUl9JTkNMVURFX0dVSUxECisgICAgICBEaWVzZSBiZWlkZW4gS2V5cyB2ZXJoYWx0ZW4gc2ljaCB3aWUgU1JfKl9SQUNFLCBudXIgZGFzcyBoaWVyIEdpbGRlbgorICAgICAgZ2VuYW5udCB3ZXJkZW4uCisgICAgU1JfRlVOCisgICAgICBIaWVyIGthbm4gZWluZSBGdW5rdGlvbiBpbiB2ZXJzY2hpZWRlbmVuIEZvcm1lbiB6dW0gUHJ1ZWZlbiBkZXIKKyAgICAgIFJlc3RyaWt0aW9uZW4gYW5nZWdlYmVuIHdlcmRlbiwgc2llaGUgZXhlY3V0ZV9hbnl0aGluZygpLgorICAgICAgRGFzIGthbm4gbnVldHpsaWNoIHNlaW4sIHVtIGFuZGVyZSBSZXN0cmlrdGlvbmVuIHp1IHBydWVmZW4sCisgICAgICB3aWUgZGFzIEJlc3RlaGVuIHZvbiBNaW5pcXVlc3RzIG9kZXIgYW5kZXJlIEZhZWhpZ2tlaXRlbi9GbGFncy4KKyAgICAgIElzdCBkZXIgVGVzdCBuaWNodCBiZXN0YW5kZW4sIGdpYnQgZGllIEZ1bmt0aW9uIGVpbmVuIFN0cmluZyB6dXJ1ZWNrLgorICAgIFNSX1BST1AKKyAgICAgIEhpZXIga2FubiBlaW4gTWFwcGluZyBtaXQgUHJvcGVydGllcyB1bmQgenVnZWhvZXJpZ2VuIFdlcnRlbiBhbmdlZ2ViZW4KKyAgICAgIHdlcmRlbiwgZGllIGpld2VpbHMgYXVmIElkZW50aXRhZXQgZ2VwcnVlZnQgd2VyZGVuLiBadXNhZXR6bGljaCBzb2xsdGUKKyAgICAgIGVpbmUgTWVsZHVuZyBhbmdlZ2ViZW4gd2VyZGVuLCBkaWUgYWxzIEZlaGxlcm1lbGR1bmcgYXVzZ2VnZWJlbiB3aXJkLAorICAgICAgd2VubiBkZXIgU3BpZWxlciBkaWUgQmVkaW5ndW5nIG5pY2h0IGVyZnVlbGx0LiBFcyBzb2xsdGUgaW1tZXIgZWluZQorICAgICAgcGFzc2VuZGUgTWVsZHVuZyBmdWVyIGRlbiBTcGllbGVyIGVpbmdlYmF1dCB3ZXJkZW4uIEJlaXNwaWVsOgorICAgICAgKFsgU1JfUFJPUDogKFtQX0FVU0dBTkdfRU5UREVDS1Q6IDE7ICJEZWluIFNjaHdlcnQgZmx1ZXN0ZXJ0ICIKKyAgICAgICAgICAidmVyYWVyZ2VydDogSWNoIHdlcmRlIERpciBlcnN0IGRhbm4genUgRGllbnN0ZW4gc2Vpbiwgd2VubiBEdSAiCisgICAgICAgICAgIkRpY2ggYWxzIHd1ZXJkaWcgZXJ3aWVzZW4gaGFzdCEiXSkgXSkKKyAgICAgIEF1ZmdydW5kIGRlciBNZWxkdW5nIHdpcmQgZW1wZm9obGVuLCBTUl9QUk9QIG5pY2h0IGluIFJlc3RyaWt0aW9uZW4gCisgICAgICBlaW56dXNldHplbiwgZGllIG1hc3NlbndlaXNlIGluIFNhdmVmaWxlcyBsYW5kZW4gKHouQi4gCisgICAgICBTcGllbGVyc2F2ZWZpbGVzKS4KKyAgICBTUl9RVUVTVAorICAgICAgSGllciBrYW5uIGVpbiBTdHJpbmctQXJyYXkgbWl0IGRlbiBOYW1lbiAoS2V5cykgZGVyIFF1ZXN0KHMpIGFuZ2VnZWJlbgorICAgICAgd2VyZGVuLCBkaWUgZGVyIFNwaWVsZXIgYmVzdGFuZGVuIGhhYmVuIG11c3MsIHVtIGRpZSBBa3Rpb24gYXVzZnVlaHJlbgorICAgICAgenUga29lbm5lbi4KKyAgICBTUl9NSU5JUVVFU1QKKyAgICAgIEhpZXIga2FubiBlbnR3ZWRlciBlaW4gU3RyaW5nLUFycmF5IG1pdCBkZW4gTGFkZW5hbWVuIGRlciB2ZXJnZWJlbmRlbgorICAgICAgT2JqZWt0ZSBvZGVyIGVpbiBJbnQtQXJyYXkgbWl0IGRlbiBJbmRleC1OdW1tZXJuIChJRHMpIGRlcgorICAgICAgTWluaXF1ZXN0KHMpIChlbXBmb2hsZW4hKSBhbmdlZ2ViZW4gd2VyZGVuLCBkaWUgZGVyIFNwaWVsZXIgYmVzdGFuZGVuCisgICAgICBoYWJlbiBtdXNzLCB1bSBkaWUgQWt0aW9uIGF1c2Z1ZWhyZW4genUga29lbm5lbi4KKworCisKK0JFTUVSS1VOR0VOOgorICAgIERpZXNlIFByb3BlcnR5IGVpZ25ldCBzaWNoIGhlcnZvcnJhZ2VuZCBkYWZ1ZXIsIGVpbmlnZSBHcnVuZGJlZGluZ3VuZ2VuCisgICAgZnVlciBkYXMgTnV0emVuIGRlciBXYWZmZSAvIFJ1ZXN0dW5nIC8gS2xlaWR1bmcgenUgc3RlbGxlbiBvaG5lIGdsZWljaAorICAgIGVpbmUgV2llbGQtIG9kZXIgV2VhckZ1bmMgc2V0emVuIHVuZCBhdXN3ZXJ0ZW4genUgbXVlc3Nlbi4KKworICAgIERlbmtiYXIgd2FlcmUgZGVyIEVpbnNhdHogYmVpIGhvY2h3ZXJ0aWdlbiBXYWZmZW4gLyBSdWVzdHVuZ2VuIC8gS2xlaWR1bmcsCisgICAgei5CLiBhdXMgZGVyIFBhcmEtV2VsdCBvZGVyIHNvbGNoZW4sIGRpZSBzaWNoIG5haCBhbSBMaW1pdCBkZXIgZ2VsdGVuZGVuCisgICAgR3Jlbnp3ZXJ0ZSBmdWVyIFBfV0MgLyBQX0FDIGJld2VnZW4gb2RlciBzb2dhciAobmFjaCBHZW5laG1pZ3VuZyBkdXJjaAorICAgIGRpZSBCYWxhbmNlKSBkYXJ1ZWJlci4KKworQkVJU1BJRUw6CisgICAgTWluZGVzdHN0dWZlIDI1OiBTZXRQcm9wKFBfUkVTVFJJQ1RJT05TLChbUF9MRVZFTDoyNV0pKTsKKyAgICBLZWluZSBNZW5zY2hlbjogIFNldFByb3AoUF9SRVNUUklDVElPTlMsKFtTUl9FWENMVURFX1JBQ0U6KHsiTWVuc2NoIn0pXSkpOworICAgIEFsaWdubWVudCA+NDk5OiAgU2V0UHJvcChQX1JFU1RSSUNUSU9OUywoW1NSX0dPT0Q6NTAwXSkpOworCisgICAgS29tcGxleGVyZXMgQmVpc3BpZWwKKworICAgIFF1ZXN0ICJEaWFtb25kIENsdWIiIGJlc3RhbmRlbiwgbWFnaWVyZWlnZW5lIFByb3BlcnR5IFBfQVVTR0FOR19HRUZVTkRFTgorICAgIG11c3MgZ2VzZXR6dCBzZWluLCBTdHVmZSAxMCwgbmljaHQgdGF1YiwgbWF4LiA0NSBGb29kOgorICAgIFNldFByb3AoUF9SRVNUUklDVElPTlMsIChbIFBfTEVWRUw6IDEwLCBQX0RFQUY6IDEsIFBfRk9PRDogNDUsCisgICAgICBTUl9QUk9QOiAoW1BfQVVTR0FOR19HRUZVTkRFTjoxXSksIFNSX1FVRVNUOih7IkRpYW1vbmQgQ2x1YiJ9KSBdKSk7CisKK1NJRUhFIEFVQ0g6CisgICAgY2hlY2tfcmVzdHJpY3Rpb25zKEwpCisgICAgV2llbGRGdW5jKEwpLCBXZWFyRnVuYyhMKSwgUmVtb3ZlRnVuYyhMKSwgVW53aWVsZEZ1bmMoTCksCisgICAgUF9XSUVMRF9GVU5DLCBQX1dFQVJfRlVOQywgUF9SRU1PVkVfRlVOQywgUF9VTldJRUxEX0ZVTkMKKyAgICAvc3RkL2FybW91ci93ZWFyLmMsIC9zdGQvd2VhcG9uL2NvbWJhdC5jLCBjbG90aGluZywgYXJtb3Vycywgd2VhcG9uCisKK0xFVFpURSBBZU5ERVJVTkc6CiswMy4gSmFudWFyIDIwMTQsIEFyYXRob3JuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9ST09NX01TRyBiL2RvYy9wcm9wcy9QX1JPT01fTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzMzI0ZjIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9ST09NX01TRwpAQCAtMCwwICsxLDIwIEBACitOQU1FOgorICAgIFBfUk9PTV9NU0cgICAgICAgICAgICAgICAgICAgICJyb29tX21zZyIgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9yb29tL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBMaXN0ZSBtaXQgTWVsZHVuZ2VuLCBkaWUgenVmYWVsbGlnIGltIFJhdW0gYXVzZ2VnZWJlbiB3ZXJkZW4uCisKKyAgICAgSGllciBzaW5kIG51ciBkaWUgVGV4dG1lbGR1bmdlbiBhbHMgU3RyaW5nLUFycmF5IGdlc3BlaWNoZXJ0LgorCitBTk1FUktVTkdFTjoKKyAgICAgQml0dGUgQWRkUm9vbU1lc3NhZ2UoKSB6dW0gSGluenVmdWVnZW4vVWViZXJzY2hyZWliZW4gYmVudXR6ZW4hCisKK1NJRUhFIEFVQ0g6CisgICAgIExGdW5zOiAgICBBZGRSb29tTWVzc2FnZSgpCisgICAgIFZlcndhbmR0OiB0ZWxsX3Jvb20oKSwgUmVjZWl2ZU1zZygpCisgICAgIFByb3BzOiAgICBQX0ZVTkNfTVNHLCBQX01TR19QUk9CCisKKzIuRmViIDIwMTYgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1JPT01fVFlQRSBiL2RvYy9wcm9wcy9QX1JPT01fVFlQRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOWRkNzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfUk9PTV9UWVBFCkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisgICAgUF9ST09NX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICJyb29tX3R5cGUiICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcm9vbXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSW4gUF9ST09NX1RZUEUgd2lyZCBkaWUgQXJ0IGRlcyBSYXVtZXMgZHVyY2ggZW50c3ByZWNoZW5kZSBGbGFncworICAgIGJlc2NocmllYmVuLgorCisgICAgQmlzaGVyIHVudGVyc3R1ZXR6dCB3ZXJkZW46CisgICAgICAgIC0gUlRfU0hPUCAgICAgICBmdWVyIFJhZXVtZSwgZGllIC9zdGQvcm9vbS9zaG9wIGluaGVyaXRlbgorICAgICAgICAtIFJUX1BVQiAgICAgICAgZnVlciBSYWV1bWUsIGRpZSAvc3RkL3Jvb20vcHViIGluaGVyaXRlbgorCitCRUlTUElFTDoKKyAgICBXZW5uIGVpbiBOUEMgYWJmcmFnZW4gbW9lY2h0ZSwgb2IgZXIgc2ljaCBpbiBlaW5lciBLbmVpcGUgYXVmaGFlbHQgKHVtCisgICAgc2VsYnN0c3RhZW5kaWcgdGFua2VuIHp1IGtvZW5uZW4pIGtvZW5udGUgZWluZSBBYmZyYWdlIHouQi4gc28gYXVzc2VoZW46CisKKyAgICAgICAgaWYgKCBlbnZpcm9ubWVudCgpICYmCisgICAgICAgICAgICAgZW52aXJvbm1lbnQoKS0+UXVlcnlQcm9wKFBfUk9PTV9UWVBFKSAmIFJUX1BVQiApeworCisgICAgICAgICAgICAuLi4gdGFua2VuIC4uLgorICAgICAgICB9CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TQl9TUEVMTFMgYi9kb2MvcHJvcHMvUF9TQl9TUEVMTFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODRhYTcyMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NCX1NQRUxMUwpAQCAtMCwwICsxLDIzIEBACitOQU1FOgorICAgIFBfU0JfU1BFTExTICAgICAgICAgICAgInNiX3NwZWxscyIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSW4gZGllc2VyIFNwZWxsYm9va3Byb3BlcnR5IHNpbmQgc2FlbXRsaWNoZSBTcHJ1ZWNoZSBkZXMgU3BlbGxib29rcworICAgIHZlcm1lcmt0LiBWZXJhZW5kZXJ0IHdpcmQgc2llIGR1cmNoIEFkZFNwZWxsKCkuCisKK0JFTUVSS1VOR0VOOgorICAgIE1hbiBzb2xsdGUgZGllc2UgUHJvcGVydHkgbmljaHQgcGVyIEhhbmQgdmVyYWVuZGVybiwgc29uZGVybiBkaWUKKyAgICBGdW5rdGlvbiBBZGRTcGVsbCgpIG51dHplbi4KKworU0lFSEUgQVVDSDoKKyAgICBHT2JqIFZlcndhbHRlbjogICBMZWFyblNraWxsLCBMZWFyblNwZWxsLCBJbml0aWFsU2tpbGxBYmlsaXR5CisgICAgKiBQcm9wZXJ0aWVzOiAgICAgUF9HVUlMRF9TS0lMTFMKKyAgICBTcGVsbGJvb2sgTGVybmVuOiBMZWFybiwgU3BlbGxTdWNjZXNzLCBFcmZvbGcsIE1pc3NlcmZvbGcKKyAgICAqIFZlcndhbHRlbjogICAgICBBZGRTcGVsbCwgUXVlcnlTcGVsbAorICAgICogUHJvcGVydGllczogICAgIFBfR0xPQkFMX1NLSUxMUFJPUFMKKyAgICBTa2lsbHM6ICAgICAgICAgICBQX05FV1NLSUxMUywgc3BydWNoZXJtdWVkdW5nLCBza2lsbF9pbmZvX2xpc3RlCisKK0xhc3QgbW9kaWZpZWQ6IFdlZCBKYW4gMTQgMTk6MTc6MDYgMTk5OCBieSBQYXRyeW4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TQ1JFRU5TSVpFIGIvZG9jL3Byb3BzL1BfU0NSRUVOU0laRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYzlkZDE1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0NSRUVOU0laRQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9TQ1JFRU5TSVpFICAgICAgICAgICAgICAgICAgInNjcmVlbnNpemUiICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBCaWxkc2NoaXJtZ3JvZXNzZSBpbiBaZWlsZW4gKGZ1ZXIgTW9yZSkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NFQ09ORCBiL2RvYy9wcm9wcy9QX1NFQ09ORApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWE4MzVhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0VDT05ECkBAIC0wLDAgKzEsMjEgQEAKK05BTUU6CisgICAgUF9TRUNPTkQgICAgICAgICAgICAgICAgICAgICAgInNlY29uZCIgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBXZW5uIGRpZXNlIFByb3AgZ2VzZXR6dCBpc3QsIGlzdCBkZXIgU3BpZWxlciBlaW4gWndlaXRpZS4gSW5oYWx0IGRlcgorICAgICBQcm9wIGlzdCBlaW4gU3RyaW5nIG1pdCBkZW0gKGxvd2VyY2FzZSkgTmFtZW4gZGVzIEVyc3RpZXMuCisKK0JFSVNQSUVMOgorICAgICBpZiAodGhpc19wbGF5ZXIoKS0+UXVlcnlQcm9wKFBfU0VDT05EKT09Im5vdHN0cm9tIikgeworICAgICAgIHRlbGxfb2JqZWN0KHRoaXNfcGxheWVyKCksICJOaWNodCBhbGxlcyBhdWZlc3NlbiFcbiIpOworICAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgIFByb3BlcnRpZXM6IFBfU0VDT05EX01BUksKKyAgICAgU29uc3RpZ2VzOiAgL3NlY3VyZS96d2VpdGllcy5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IDE4LUp1bi0yMDE1LCBBcmF0aG9ybi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NFQ09ORF9NQVJLIGIvZG9jL3Byb3BzL1BfU0VDT05EX01BUksKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzFjMGM0MgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NFQ09ORF9NQVJLCkBAIC0wLDAgKzEsMTggQEAKK05BTUU6CisgICAgUF9TRUNPTkRfTUFSSyAgICAgICAgICAgICAgICAgInNlY29uZF9tYXJrIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgR2lidCBhbiwgd2llIG1pdCBkZXIgWndlaXRpZS1NYXJraWVydW5nIGVpbmVzIFNwaWVsZXJzIHVtZ2VnYW5nZW4gd2lyZC4KKworICAgICAtMSAgJ3Vuc2ljaHRiYXJlJyBNYXJraWVydW5nOyBpbSB3ZXIva3dlciB3aXJkIGJlaSBkaWVzZW0gWndlaXRpZSBzCisgICAgICAgICBvZGVyIFMgYW5nZXplaWd0LgorCisgICAgICAwICAnc2ljaHRiYXJlJyBNYXJraWVydW5nOyBpbSB3ZXIva3dlciB3aXJkIGJlaSBkaWVzZW0gWndlaXRpZSB6IG9kZXIKKyAgICAgICAgIFogYW5nZXplaWd0LiBEZXIgTmFtZSBkZXMgRXJzdGllcyBpc3QgYmVpbSBGaW5nZXJuIGplZG9jaCBudXIKKyAgICAgICAgIGZ1ZXIgTWFnaWVyIHNpY2h0YmFyLgorCisgICAgICAxICBNYXJraWVydW5nICdzaWNodGJhciArIE5hbWUnOyB3aWUgMCwgbnVyIGRhc3MgYmVpbSBGaW5nZXJuIGFsbGUKKyAgICAgICAgIFNwaWVsZXIgZGVuIE5hbWVuIGRlcyBFcnN0aWVzIHNlaGVuIGtvZW5uZW4uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TRUVSRE9PUlMgYi9kb2MvcHJvcHMvUF9TRUVSRE9PUlMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZmYjg1MgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NFRVJET09SUwpAQCAtMCwwICsxLDI2IEBACitQX1NFRVJET09SUworCitOQU1FOgorICAgICBQX1NFRVJET09SUyAgICAgICJyd19zZWhlcnRvcmUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL2Qvc2VoZXIvcG9ydGFsZS9zZWhlcnRvci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgU2VoZXJ0b3ItcmVsZXZhbnRlIFByb3BlcnR5LgorCisgICAgIEVudGhhZWx0IGVpbiBNYXBwaW5nIG1pdCBkZW4gV2VydGVwYWFyZW4KKyAgICAgKFsgU2VoZXItUG9ydGFsLU51bW1lcjogeCBdKQorICAgICBtaXQgeCAhPSAwIGZ1ZXIgZW50ZGVja3RlIFRvcmUuCisgICAgIAorICAgICAwIGhhdCBlaW4gU29uZGVydmVyaGFsdGVuIGZ1ZXIgbW9iaWxlIFRvcmUuCisKK0JFTUVSS1VORzoKKyAgICAgQXVmIGdhciBrZWluZW4gRmFsbCBpbiBTcGllbGVybiBtYW5pcHVsaWVyZW4hIFVuZCBiaXR0ZSBkYXMgZW50aGFsdGVuZQorICAgICBNYXBwaW5nIG5pY2h0IHZvbiBlaW5lbSBTcGllbGVyIGFiZnJhZ2VuIHVuZCBQX1NFRVJET09SUyBpbiBlaW5lbQorICAgICBUZXN0c3BpZWxlciB6dXdlaXNlbiEKKyAgICAgCitTSUVIRSBBVUNIOgorICAgICBQX0ZBT19QT1JUQUxTCisgICAgIAorMS5TZXB0ZW1iZXIgMjAwOCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0VFUkRPT1JfQUxMT1dFRCBiL2RvYy9wcm9wcy9QX1NFRVJET09SX0FMTE9XRUQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgyMjVlMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NFRVJET09SX0FMTE9XRUQKQEAgLTAsMCArMSwxNSBAQAorTkFNRToKKyAgICBQX1NFRVJET09SX0FMTE9XRUQJCSJyd19zZWhlcnRvcl9lcmxhdWJ0IiAgICAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvZC9zZWhlci9wb3J0YWxlL3NlaGVydG9yLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBtdXNzIGluIGVpbmVtIFJhdW0gZ2VzZXR6dCBzZWluLCBzb2xsCisgICAgIGVpbiBTZWhlciBkb3J0IGVpbiBtb2JpbGVzIFNlaGVydG9yIGFic3RlbGxlbiBkdWVyZmVuLgorICAgICBadXNhZXR6bGljaCBkYXJmIGRlciBSYXVtIG5pY2h0IGluIFBBUkEgbGllZ2VuIHVuZCBtdXNzCisgICAgIGFscyBlaWdlbmVzIEZpbGUgZXhpc3RpZXJlbi4KKyAgICAgRXMgaXN0IGRhcmF1ZiB6dSBhY2h0ZW4sIFNlaGVydG9yZSBuaWNodCBpbiBRdWVzdGdlYmlldGVuLAorICAgICBkaXJla3QgYW4gVGFua2VuIG9kZXIgYWVobmxpY2hlbiBQbGFldHplbiB6dSBlcmxhdWJlbi4KKyAgICAgRXMgZ2lsdCBkaWUgRWluc2NoYWV0enVuZyBkZXMgZnVlciBkZW4gUmF1bSBWZXJhbnR3b3J0bGljaGVuLgorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TRU5TSVRJVkUgYi9kb2MvcHJvcHMvUF9TRU5TSVRJVkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjNkMWZlZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NFTlNJVElWRQpAQCAtMCwwICsxLDEyNSBAQAorUF9TRU5TSVRJVkUKK05BTUU6CisgICAgIFBfU0VOU0lUSVZFICAgICAgICAgICAgICAgICAgICJzZW5zaXRpdmUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy90aGluZy9tb3ZpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGthbm4gaW4gT2JqZWt0ZW4gZ2VzZXR6dCB3ZXJkZW4sIGRpZSBhdWYgYmVzdGltbXRlCisgICAgIFNjaGFkZW5zYXJ0ZW4gZW1wZmluZGxpY2ggcmVhZ2llcmVuIHNvbGxlbi4gTW9lZ2xpY2hlIEFud2VuZHVuZ3NmYWVsbGU6CisgICAgIC0gRGFzIExlYmV3ZXNlbiwgaW4gZGVzc2VuIEludmVudGFyIHNpY2ggZWluIE9iamVrdCBiZWZpbmRldCwgZXJsZWlkZXQKKyAgICAgICBlaW5lbiBBbmdyaWZmIG1pdCBkZXIgZnJhZ2xpY2hlbiBTY2hhZGVuc2FydCAoQmVpc3BpZWw6IGVpbmUgCisgICAgICAgUHVzdGVibHVtZSwgZGllIGJlaSBBbmdyaWZmIG1pdCBMdWZ0c2NoYWRlbiBhdXNlaW5hbmRlcmZhZWxsdCkuCisgICAgIC0gWndlaSBPYmpla3RlIHRyZWZmZW4gaW0gZ2xlaWNoZW4gRW52aXJvbm1lbnQgYXVmZWluYW5kZXIsIHdvYmVpCisgICAgICAgZWluZXMgZW1wZmluZGxpY2ggYXVmIGVpbmUgU2NoYWRlbnNhcnQgcmVhZ2llcnQsIHVuZCBkYXMgendlaXRlIGRpZXNlCisgICAgICAgU2NoYWRlbnNhcnQgbWl0YnJpbmd0LCBkLmguIGRpZSBFbXBmaW5kbGljaGtlaXQgYXVzbG9lc2VuIGthbm4uCisgICAgICAgKEJlaXNwaWVsOiBlaW4gZmV1ZXJlbXBmaW5kbGljaGVyIFBvc3RzYWNrIHdpcmQgYW5nZXNlbmd0LCB3ZW5uIGVpbmUKKyAgICAgICAgYnJlbm5lbmRlIEZhY2tlbCBpbnMgZ2xlaWNoZSBJbnZlbnRhciBrb21tdC4pCisgICAgICAgRGFzIEF1c2xvZXNlbiBkaWVzZXIgRW1wZmluZGxpY2hrZWl0IGlzdCB1bmFiaGFlbmdpZyBkYXZvbiwgd2VsY2hlcyAKKyAgICAgICBPYmpla3QgenVlcnN0IGRhIHdhci4KKworICAgICBEaWUgUHJvcGVydHkgZW50aGFlbHQgZWluIEFycmF5IGF1cyBBcnJheXM6CisgICAgICAgKHs8c2Vuc3Byb3BzXzE+LCA8c2Vuc3Byb3BzXzI+LCAuLi4sIDxzZW5zcHJvcHNfbj59KQorICAgICAKKyAgICAgd29iZWkgamVkZXIgRWludHJhZyA8c2Vuc3Byb3BzPiBqZXdlaWxzIGZvbGdlbmRlIFN0cnVrdHVyIGhhdDoKKyAgICAgICAoe3N0cmluZyBsaXN0X2tleSwgc3RyaW5nIGRhbXR5cGUsIGludCB0cmVzaG9sZCwgbWl4ZWQgb3B0aW9ucyB9KQorICAgICAKKyAgICAgRGllIEVpbnRyYWVnZSBoYWJlbiBkYWJlaSBmb2xnZW5kZSBCZWRldXR1bmc6CisgICAgIAorICAgICBsaXN0X2tleTogS2FubiBlaW5lbiB2b24gZm9sZ2VuZGVuIGRyZWkgV2VydGVuIGFubmVobWVuIAorICAgICAgICAgIDEpIFNFTlNJVElWRV9JTlZFTlRPUlksIHBhc3NpdmUgRWlnZW5zY2hhZnQ7IHplaWd0IGFuLCBkYXNzIGRhcworICAgICAgICAgICAgIE9iamVrdCBlbXBmaW5kbGljaCBhdWYgYWt0aXZlIE9iamVrdGUgcmVhZ2llcnQsIGRpZSBpbiBkYXMKKyAgICAgICAgICAgICBJbnZlbnRvcnkgZGVzIENvbnRhaW5lcnMgaGluZWluYmV3ZWd0IHdlcmRlbgorICAgICAgICAgIDIpIFNFTlNJVElWRV9BVFRBQ0ssIHBhc3NpdmUgRWlnZW5zY2hhZnQ7IHplaWd0IGFuLCBkYXNzIGRhcyAKKyAgICAgICAgICAgICBPYmpla3QgZW1wZmluZGxpY2ggYXVmIGFldXNzZXJlIEVpbmZsdWVzc2UgYnp3LiBBbmdyaWZmZSAKKyAgICAgICAgICAgICBhdWYgZWluIExlYmV3ZXNlbiByZWFnaWVydCwgaW4gZGVzc2VuIEludmVudGFyIGVzIHNpY2ggYmVmaW5kZXQKKyAgICAgICAgICAzKSBTRU5TSVRJVkVfSU5WRU5UT1JZX1RSSUdHRVIsIGFrdGl2ZSBFaWdlbnNjaGFmdDsgemVpZ3QgYW4sIGRhc3MKKyAgICAgICAgICAgICBkYXMgT2JqZWt0IGVpbmUgQXVzc3RyYWhsdW5nIGF1ZiBhbmRlcmUgT2JqZWt0ZSBpbSBJbnZlbnRhcgorICAgICAgICAgICAgIGhhdC4gV2lyZCBhdXNnZWxvZXN0LCB3ZW5uIGRhcyBPYmpla3QgaW5zIEludmVudGFyIGhpbmVpbmJld2VndAorICAgICAgICAgICAgIHdpcmQuCisgICAgIGRhbXR5cGU6IGVpbmUgU2NoYWRlbnNhcnQgKERUX0ZJUkUsIERUX1dBVEVSLCAuLi4pCisgICAgIHRyZXNob2xkOiBoYXQgendlaSBCZWRldXR1bmdlbiBhYmhhZW5naWcgdm9uIGRlbSBXZXJ0IGluIGxpc3Rfa2V5OgorICAgICAgICAgIDEpIEZ1ZXIgT2JqZWt0ZSBtaXQgU0VOU0lUSVZFX0lOVkVOVE9SWSBvZGVyIFNFTlNJVElWRV9BVFRDSyBpc3QKKyAgICAgICAgICAgICBkaWVzIGRlciBTY2hhZGVuc3dlcnQsIGFiIGRlbSBkYXMgT2JqZWt0IGJlbmFjaHJpY2h0aWd0IHdlcmRlbiAKKyAgICAgICAgICAgICBzb2xsLgorICAgICAgICAgICAgIEhpZXIgd2lyZCBlaW4gV2VydCBpbiAiRGVmZW5kLUVpbmhlaXRlbiIgZXJ3YXJ0ZXQsIGQuaC4gZGFzCisgICAgICAgICAgICAgWmVobmZhY2hlIGRlc3Nlbiwgd2FzIGFtIEVuZGUgaW4gTFAgYWJnZXpvZ2VuIHd1ZXJkZS4KKyAgICAgICAgICAyKSBGdWVyIE9iamVrdGUgbWl0IFNFTlNJVElWRV9JTlZFTlRPUllfVFJJR0dFUiBpc3QgZGllcyBkZXIgCisgICAgICAgICAgICAgU2NoYWRlbnN3ZXJ0LCBtaXQgZGVtIGRhcyBPYmpla3QgYW5kZXJlIGJlcmVpdHMgaW0gSW52ZW50YXIKKyAgICAgICAgICAgICBkZXMgQ29udGFpbmVycyBiZWZpbmRsaWNoZSBPYmpla3RlIGJlZWluZmx1c3N0LCBkaWUgZWluZSAKKyAgICAgICAgICAgICBlbnRzcHJlY2hlbmRlIEVtcGZpbmRsaWNoa2VpdCBnZXNldHp0IGhhYmVuCisgICAgIG9wdGlvbnM6IE9wdGlvbmFsZSBEYXRlbiwgZGllIGRlciBwcm9ncmFtbWllcmVuZGUgTWFnaWVyIHNlbGJzdAorICAgICAgICAgICAgZGVmaW5pZXJlbiBrYW5uLiBXZXJkZW4gYW4gZGllIGluIGRlbiBiZXRyb2ZmZW5lbiBPYmpla3RlbgorICAgICAgICAgICAgYXVmZ2VydWZlbmVuIEZ1bmt0aW9uZW4gZHVyY2hnZXJlaWNodC4KKworICAgICBFaW4gU0VOU0lUSVZFX0FUVEFDSy1PYmpla3QsIGRlc3NlbiBUcmlnZ2VyLUJlZGluZ3VuZ2VuIGVyZnVlbGx0IHNpbmQsCisgICAgIHdpcmQgZHVyY2ggZm9sZ2VuZGVuIEZ1bmt0aW9uc2F1ZnJ1ZiBkYXJ1ZWJlciBpbmZvcm1pZXJ0OgorICAgICAgIHRyaWdnZXJfc2Vuc2l0aXZlX2F0dGFjayhvYmplY3QgZW5lbXksIHN0cmluZyBkYW10eXBlLCBpbnQgZGFtYWdlLAorICAgICAgICAgICAgICAgICBtaXhlZCBzcGVsbCwgbWl4ZWQgb3B0aW9ucykKKyAgICAgCisgICAgIEVpbiBTRU5TSVRJVkVfSU5WRU5UT1JZLU9iamVrdCwgZGVzc2VuIFRyaWdnZXItQmVkaW5ndW5nZW4gZXJmdWVsbHQgc2luZCwKKyAgICAgd2lyZCBkdXJjaCBmb2xnZW5kZW4gRnVua3Rpb25zYXVmcnVmIGRhcnVlYmVyIGluZm9ybWllcnQ6CisgICAgICAgdHJpZ2dlcl9zZW5zaXRpdmVfaW52KG9iamVjdCB3aG9kaWQsIHN0cmluZyBkYW10eXBlLCBpbnQgdGhyZXNob2xkLAorICAgICAgICAgICAgICAgICBtaXhlZCBvcHRpb25zLCBtaXhlZCBvcHRpb25zKQorCisgICAgIERpZSBiZWlkZW4gRnVua3Rpb25lbiBtdWVzc2VuIHNlbGJzdCBnZS0vdWViZXJzY2hyaWViZW4gd2VyZGVuLgorCitCRU1FUktVTkdFTjoKKyAgICAgMS4gUF9TRU5TSVRJVkUtT2JqZWt0ZSBrb3N0ZW4gUmVjaGVuemVpdCBiZWkgamVkZW0gQW5ncmlmZiBvZGVyIGplZGVtCisgICAgICAgIG1vdmUoKSAtIGRhaGVyIGJpdHRlIHNwYXJzYW0gdmVyd2VuZGVuCisgICAgIDIuIElzdCBQX1NFTlNJVElWRSBuaWNodCBzdGF0aXNjaCwgc29uZGVybiB3aXJkIGVzIHNpdHVhdGlvbnNhYmhhZW5naWcgCisgICAgICAgIGdlYWVuZGVydCwgbXVzcyBtYW4gZGFzIGVudmlyb25tZW50KCkgamV3ZWlscyBzZWxic3QgdWViZXIgc2VpbmUgCisgICAgICAgIG5ldWUgRW1wZmluZGxpY2hrZWl0IGJlbmFjaHJpY2h0aWdlbi4gRGllcyBnZXNjaGllaHQgbWl0IGRlbiAKKyAgICAgICAgRnVua3Rpb25lbiBSZW1vdmVTZW5zaXRpdmVPYmplY3QoKSBiencuSW5zZXJ0U2Vuc2l0aXZlT2JqZWN0KCksIAorICAgICAgICBzaWVoZSBkZXJlbiBNYW5wYWdlcy4KKworQkVJU1BJRUw6CisgICAgIEJlaXNwaWVsIDE6CisgICAgIEJlaXNwaWVsY29kZSBlaW5lcyBPYmpla3RlcyBtaXQgU0VOU0lUSVZFX0FUVEFDSyB1bmQgU0VOU0lUSVZFX0lOVkVOVE9SWQorICAgICBzaWVoZSBoaWVyOiAvZG9jL2JlaXNwaWVsZS90ZXN0b2JqZWt0ZS9hdHRhY2tfYnVzeV9zZW5zaXRpdmVfdGVzdG9iai5jCisKKyAgICAgQmVpc3BpZWwgMjoKKyAgICAgRWluIEVpc3phcGZlbiwgZGVyIGJlaSBGZXVlcmFuZ3JpZmZlbiBvZGVyIGJlaSBoZWlzc2VuIEdlZ2Vuc3RhZW5kZW4gaW0KKyAgICAgZ2VtZWluc2FtZW4gRW52aXJvbm1lbnQgemVyc2NobWVsemVuIHNvbGw6CisKKyAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAgU2V0UHJvcCggUF9TRU5TSVRJVkUsICh7ICh7U0VOU0lUSVZFX0FUVEFDSywgICAgIERUX0ZJUkUsIDEwMH0pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHtTRU5TSVRJVkVfSU5WRU5UT1JZLCBEVF9GSVJFLCAxMDB9KSB9KSApOworICAgICAgIFsuLi5dCisgICAgIH0KKworICAgICB2YXJhcmdzIHZvaWQgdHJpZ2dlcl9zZW5zaXRpdmVfYXR0YWNrKCkgeworICAgICAgIHJlbW92ZSgpOworICAgICB9CisKKyAgICAgdmFyYXJncyB2b2lkIHRyaWdnZXJfc2Vuc2l0aXZlX2ludigpIHsKKyAgICAgICBjYWxsX291dCgicmVtb3ZlIiwwKTsgIC8vIHZlcnpvZWdlcnQsIHdlZ2VuIG1vdmUoKQorICAgICB9CisKKyAgICAgdmFyYXJncyBpbnQgcmVtb3ZlKGludCBzaWxlbnQpIHsKKyAgICAgICBpZighc2lsZW50KSB7CisgICAgICAgICBvYmplY3Qgcm9vbSA9IGFsbF9lbnZpcm9ubWVudCh0aGlzX29iamVjdCgpKVs8MV07CisgICAgICAgICB0ZWxsX3Jvb20ocm9vbSwgTmFtZSgpKyIgemVyc2NobWlsenQuXG4iKTsKKyAgICAgICB9CisgICAgICAgcmV0dXJuIDo6cmVtb3ZlKCk7CisgICAgIH0KKworICAgICAtIHdpcmQgZWluZSBGYWNrZWwgbWl0CisgICAgICAgU2V0UHJvcChQX1NFTlNJVElWRSwoeyh7U0VOU0lUSVZFX0lOVkVOVE9SWV9UUklHR0VSLERUX0ZJUkUsMjUwfSl9KSkKKyAgICAgICBpbiBkYXMgZ2xlaWNoZSBlbnZpcm9ubWVudCgpIHdpZSBkaWVzZXIgWmFwZmVuIGJld2VndCB3aXJkLCBsb2VzdAorICAgICAgIGRpZXNlIGltIFphcGZlbiB0cmlnZ2VyX3NlbnNpdGl2ZV9pbnYoKSBhdXMKKyAgICAgLSB3aXJkIGVpbiBBbmdyaWZmIG1pdCBEVF9GSVJFIHVuZCBpbml0aWFsZW0gU2NoYWRlbiA+IDEwMCBhdWYgZGFzCisgICAgICAgZW52aXJvbm1lbnQoKSB2ZXJ1ZWJ0LCBsb2VzdCBkaWVzIGltIFphcGZlbiB0cmlnZ2VyX3NlbnNpdGl2ZV9hdHRhY2soKQorICAgICAgIGF1cworCitTSUVIRSBBVUNIOgorICAgICBQcm9wZXJ0aWVzOiBQX1NFTlNJVElWRV9BVFRBQ0ssIFBfU0VOU0lUSVZFX0lOVkVOVE9SWSwKKyAgICAgICAgICAgICAgICAgUF9TRU5TSVRJVkVfSU5WRU5UT1JZX1RSSUdHRVIKKyAgICAgRnVua3Rpb25lbjogSW5zZXJ0U2Vuc2l0aXZlT2JqZWN0KEwpLCBSZW1vdmVTZW5zaXRpdmVPYmplY3QoTCksCisgICAgICAgICAgICAgICAgIENoZWNrU2Vuc2l0aXZlQXR0YWNrKEwpLCBEZWZlbmQoKSwgCisgICAgICAgICAgICAgICAgIGluc2VydF9zZW5zaXRpdmVfaW52KEwpLCBpbnNlcnRfc2Vuc2l0aXZlX2ludl90cmlnZ2VyKEwpLAorICAgICAgICAgICAgICAgICB0cmlnZ2VyX3NlbnNpdGl2ZV9pbnYoTCksIHRyaWdnZXJfc2Vuc2l0aXZlX2F0dGFjayhMKQorICAgICBEZWZpbmVzOiAgICAvc3lzL3NlbnNpdGl2ZS5oCisKK0xldHp0ZSBBZW5kZXJ1bmc6IDEwLiBKYW51YXIgMjAxNSwgQXJhdGhvcm4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NFTlNJVElWRV9BVFRBQ0sgYi9kb2MvcHJvcHMvUF9TRU5TSVRJVkVfQVRUQUNLCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNTg2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TRU5TSVRJVkVfQVRUQUNLCkBAIC0wLDAgKzEsMjQgQEAKK1BfU0VOU0lUSVZFX0FUVEFDSworTkFNRToKKyAgICBQX1NFTlNJVElWRV9BVFRBQ0sgICAgICAgICAgICAic2Vuc2l0aXZlX2F0dGFjayIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvc2Vuc2l0aXZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEhpZXIgc3RlaHQgZGllIExpc3RlIGRlciB6dSBpbmZvcm1pZXJlbmRlbiBPYmpla3RlLCBkaWUgcG90ZW50aWVsbAorICAgIGF1ZiBlaW5lbiBBbmdyaWZmIHJlYWdpZXJlbiBrb2VubnRlbi4KKyAgICBXaXJkIHZvbiBJbnNlcnRTZW5zaXRpdmVPYmplY3QoKSB1bmQgUmVtb3ZlU2Vuc2l0aXZlT2JqZWN0KCkKKyAgICBnZXNjaHJpZWJlbiB1bmQgaW4gQ2hlY2tTZW5zaXRpdmVBdHRhY2soKSBhdXNnZXdlcnRldC4KKworQkVNRVJLVU5HRU46CisgICAgTmljaHQgc2VsYnN0IHZlcmFlbmRlcm4gLSBiaXR0ZSBQX1NFTlNJVElWRSBmdWVyIEVpbnRyYWVnZSBiZW51dHplbi4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9TRU5TSVRJVkUKKyAgICAgSW5zZXJ0U2Vuc2l0aXZlT2JqZWN0LCBSZW1vdmVTZW5zaXRpdmVPYmplY3QKKyAgICAgaW5zZXJ0X3NlbnNpdGl2ZV9pbnZfdHJpZ2dlciwgaW5zZXJ0X3NlbnNpdGl2ZV9pbnYKKyAgICAgUF9TRU5TSVRJVkVfSU5WRU5UT1JZX1RSSUdHRVIsIFBfU0VOU0lUSVZFX0lOVkVOVE9SWQorICAgICBDaGVja1NlbnNpdGl2ZUF0dGFjaworCisyNS5BcHIuMjAwMSwgR2xvaW5zb25ATUcKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NFTlNJVElWRV9JTlZFTlRPUlkgYi9kb2MvcHJvcHMvUF9TRU5TSVRJVkVfSU5WRU5UT1JZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNzU0MjMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TRU5TSVRJVkVfSU5WRU5UT1JZCkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisgICAgUF9TRU5TSVRJVkVfSU5WRU5UT1JZICAgICAgICAgInNlbnNpdGl2ZV9pbnYiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3NlbnNpdGl2ZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBIaWVyIHN0ZWh0IGRpZSBMaXN0ZSBkZXIgenUgaW5mb3JtaWVyZW5kZW4gT2JqZWt0ZSwgZGllIHBvdGVudGllbGwKKyAgICBhdWYgZWluIGFuZGVyZXMgT2JqZWt0IG1pdCBnZXNldHp0ZW0gUF9TRU5TSVRJVkVfSU5WRU5UT1JZX1RSSUdHRVIKKyAgICByZWFnaWVyZW4ga29lbm50ZW4uCisgICAgV2lyZCB2b24gSW5zZXJ0U2Vuc2l0aXZlT2JqZWN0KCkgdW5kIFJlbW92ZVNlbnNpdGl2ZU9iamVjdCgpCisgICAgZ2VzY2hyaWViZW4uCisKK0JFTUVSS1VOR0VOOgorICAgIE5pY2h0IHNlbGJzdCB2ZXJhZW5kZXJuIC0gYml0dGUgUF9TRU5TSVRJVkUgZnVlciBFaW50cmFlZ2UgYmVudXR6ZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfU0VOU0lUSVZFCisgICAgIEluc2VydFNlbnNpdGl2ZU9iamVjdCwgUmVtb3ZlU2Vuc2l0aXZlT2JqZWN0CisgICAgIGluc2VydF9zZW5zaXRpdmVfaW52X3RyaWdnZXIsIGluc2VydF9zZW5zaXRpdmVfaW52CisgICAgIFBfU0VOU0lUSVZFX0lOVkVOVE9SWV9UUklHR0VSLCBQX1NFTlNJVElWRV9BVFRBQ0sKKyAgICAgQ2hlY2tTZW5zaXRpdmVBdHRhY2sKKworMjUuQXByLjIwMDEsIEdsb2luc29uQE1HCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TRU5TSVRJVkVfSU5WRU5UT1JZX1RSSUdHRVIgYi9kb2MvcHJvcHMvUF9TRU5TSVRJVkVfSU5WRU5UT1JZX1RSSUdHRVIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGY2ZmVhZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NFTlNJVElWRV9JTlZFTlRPUllfVFJJR0dFUgpAQCAtMCwwICsxLDI0IEBACitQX1NFTlNJVElWRV9JTlZFTlRPUllfVFJJR0dFUgorTkFNRToKKyAgICBQX1NFTlNJVElWRV9JTlZFTlRPUllfVFJJR0dFUiAic2Vuc2l0aXZlX2ludl90cmlnZ2VyIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9zZW5zaXRpdmUuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSGllciBzdGVodCBkaWUgTGlzdGUgZGVyIGFrdGl2ZW4gT2JqZWt0ZSwgZGllIGVpbmUgcG90ZW50aWVsbGUKKyAgICAiQXVzc3RyYWhsdW5nIiBhdWYgYW5kZXJlIE9iamVrdGUgaGFiZW4uCisgICAgV2lyZCB2b24gSW5zZXJ0U2Vuc2l0aXZlT2JqZWN0KCkgdW5kIFJlbW92ZVNlbnNpdGl2ZU9iamVjdCgpCisgICAgZ2VzY2hyaWViZW4uCisKK0JFTUVSS1VOR0VOOgorICAgIE5pY2h0IHNlbGJzdCB2ZXJhZW5kZXJuIC0gYml0dGUgUF9TRU5TSVRJVkUgZnVlciBFaW50cmFlZ2UgYmVudXR6ZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfU0VOU0lUSVZFCisgICAgIEluc2VydFNlbnNpdGl2ZU9iamVjdCwgUmVtb3ZlU2Vuc2l0aXZlT2JqZWN0CisgICAgIGluc2VydF9zZW5zaXRpdmVfaW52X3RyaWdnZXIsIGluc2VydF9zZW5zaXRpdmVfaW52CisgICAgIFBfU0VOU0lUSVZFX0FUVEFDSywgUF9TRU5TSVRJVkVfSU5WRU5UT1JZCisgICAgIENoZWNrU2Vuc2l0aXZlQXR0YWNrCisKKzI1LkFwci4yMDAxLCBHbG9pbnNvbkBNRwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0hPT1RJTkdfQVJFQSBiL2RvYy9wcm9wcy9QX1NIT09USU5HX0FSRUEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzcwNTY0ZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NIT09USU5HX0FSRUEKQEAgLTAsMCArMSwyNCBAQAorUF9TSE9PVElOR19BUkVBCisKK05BTUU6CisgICAgUF9TSE9PVElOR19BUkVBICAgICAic2hvb3RpbmdfYXJlYSIKKworREVGSU5JRVJUIElOOgorICAgIDxjb21iYXQuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgIExlZ3QgZGllICdHcm9lc3NlJyBlaW5lcyBSYXVtZXMgZmVzdC4gRWluIFNjaHVldHplIGthbm4gbWl0IHNlaW5lcgorICAgIEZlcm5rYW1wZndhZmZlIG51ciBkYW5uIGF1cyBkaWVzZW0gUmF1bSBpbiBlaW5lbiBhbmRlcmVuIFJhdW0gc2NoaWVzc2VuLAorICAgIHdlbm4gZGllIFBfUkFOR0Ugc2VpbmVyIFdhZmZlIG1pbmRlc3RlbnMgZ2xlaWNoIGlzdC4KKworICAgIEVycmVpY2hiYXJlIFJhZXVtZSBzaW5kIGVudHdlZGVyIGRhcyBlbnZpcm9ubWVudCgpIG9kZXIgZGVyIGluCisgICAgUF9TSE9PVElOR19BUkVBIGZlc3RnZWxlZ3RlIFJhdW0uCisKK1NJRUhFIEFVQ0g6CisgICAgR2VuZXJlbGw6ICBQX0FNTVVOSVRJT04sIFBfU0hPT1RJTkdfV0MsIFBfU1RSRVRDSF9USU1FCisgICAgTWV0aG9kZW46ICBGaW5kUmFuZ2VkVGFyZ2V0KEwpLCBzaG9vdF9kYW0oTCksIGNtZF9zaG9vdChMKQorICAgIEdlYmlldDogICAgUF9SQU5HRSwgUF9UQVJHRVRfQVJFQQorICAgIFJhZXVtZTogICAgUF9ORVZFUl9DTEVBTgorICAgIFNvbnN0aWdlczogZmVybndhZmZlbgorCisyOS5KdWwgMjAxNCBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NIT09USU5HX1dDIGIvZG9jL3Byb3BzL1BfU0hPT1RJTkdfV0MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVjYTIxNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NIT09USU5HX1dDCkBAIC0wLDAgKzEsMzEgQEAKK1BfU0hPT1RJTkdfV0MKKworTkFNRToKKyAgICBQX1NIT09USU5HX1dDICAgICAic2hvb3Rpbmdfd2MiCisKK0RFRklOSUVSVCBJTjoKKyAgICA8Y29tYmF0Lmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICBMZWd0IGluIGVpbmVyIEZlcm5rYW1wZndhZmZlIFVORCBpaHJlciBNdW5pdGlvbiBkaWUgV2FmZmVuc3RhZXJrZSBmZXN0LgorICAgIEJlaSBlaW5lbSBTY2h1c3Mgd2lyZCBkaWUgU3VtbWUga29tYmluaWVydCBtaXQgZGVyIEdlc2NoaWNrbGljaGtlaXQKKyAgICB6dXIgQmVyZWNobnVuZyBkZXIgQW5ncmlmZnN0YWVya2UgYmVudXR6dC4KKworQkVJU1BJRUxFOgorICAgIFNldFByb3AoUF9TSE9PVElOR19XQywgNzApOyAgICAgLy8gTGFuZ2JvZ2VuCisgICAgU2V0UHJvcChQX1NIT09USU5HX1dDLCA1MCk7ICAgICAvLyBLdXJ6Ym9nZW4KKworICAgIFNldFByb3AoUF9TSE9PVElOR19XQywgNDApOyAgICAgLy8gQmFtYnVzcGZlaWwKKyAgICBTZXRQcm9wKFBfU0hPT1RJTkdfV0MsIDYwKTsgICAgIC8vIEFsdW1pbml1bXBmZWlsCisKKyAgICAvLyBTbyBoYWV0dGVuIExhbmdib2dlbiBtaXQgQWx1bWluaXVtcGZlaWwgZWluZSBQX1NIT09USU5HX1dDIHZvbiA3MCs2MC4KKworU0lFSEUgQVVDSDoKKyAgICBHZW5lcmVsbDogIFBfQU1NVU5JVElPTiwgUF9TVFJFVENIX1RJTUUKKyAgICBNZXRob2RlbjogIEZpbmRSYW5nZWRUYXJnZXQoTCksIHNob290X2RhbShMKSwgY21kX3Nob290KEwpCisgICAgR2ViaWV0OiAgICBQX1JBTkdFLCBQX1NIT09USU5HX0FSRUEsIFBfVEFSR0VUX0FSRUEKKyAgICBXYWZmZW46ICAgIFBfV0VBUE9OX1RZUEUsIFBfV0MsIFBfRVFVSVBfVElNRSwgUF9OUl9IQU5EUworICAgIEthbXBmOiAgICAgQXR0YWNrKEwpLCBEZWZlbmQoTCksIFBfRElTQUJMRV9BVFRBQ0ssIFBfQVRUQUNLX0JVU1kKKyAgICBTb25zdGlnZXM6IGZlcm53YWZmZW4KKworMjkuSnVsIDIwMTQgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TSE9SVCBiL2RvYy9wcm9wcy9QX1NIT1JUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2NTAyZDQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TSE9SVApAQCAtMCwwICsxLDQxIEBACitQX1NIT1JUCitOQU1FOgorICAgICBQX1NIT1JUCQkJCSJzaG9ydCIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3RoaW5nL2Rlc2NyaXB0aW9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBkaWUgS3VyemJlc2NocmVpYnVuZyBkZXMgT2JqZWt0ZXMgYWxzIFN0cmluZyAKKyAgICAgb2RlciBDbG9zdXJlIChkaWVzZSBtdXNzIGVpbmVuIFN0cmluZyB6dXJ1ZWNrZ2ViZW4pLgorCisgICAgIEFDSFRVTkc6IERpZSBLdXJ6YmVzY2hyZWlidW5nIHNvbGx0ZSBkYWJlaSB3ZWRlciBtaXQgZWluZW0KKwkgICAgICBTYXR6emVpY2hlbiBub2NoIG1pdCBlaW5lbSAiXG4iIGFiZ2VzY2hsb3NzZW4gc2VpbgorCSAgICAgIChkaWVzIHdpcmQgdm9uIGRlbiB6dXN0YWVuZGlnZW4gRnVua3Rpb25lbiBlcmxlZGlndCkuCisKKyAgICAgU2V0enQgbWFuIGRpZXNlIFByb3BlcnR5IGF1ZiAwLCBzbyBpc3QgZGFzIE9iamVrdCB1bnNpY2h0YmFyLCBhbGxlcmRpbmdzCisgICAgIGFuc3ByZWNoYmFyLCB3ZW5uIGRlciBTcGllbGVyIGVpbmUgSUQgZGVzIE9iamVrdGVzIGtlbm50LiBELmguIE9iamVrdGUKKyAgICAga29lbm5lbiBtaXRnZW5vbW1lbiwgd2VnZ2V3b3JmZW4gb2RlciBnZ2YuIGF1Y2ggYW5nZWdyaWZmZW4gd2VyZGVuLiBXaWxsCisgICAgIG1hbiBkaWVzIG5pY2h0LCBzb2xsdGUgbWFuIGRhcyBPYmpla3QgbWl0IFBfSU5WSVMgdW5zaWNodGJhciBtYWNoZW4uCisKKyAgICAgRGllc2UgUHJvcGVydHkgYmVzdGltbXQgZGllIEFuc2ljaHQgZGVzIE9iamVrdGVzIHZvbiBhdXNzZW4uIEZ1ZXIgZGllCisgICAgIElubmVuKGt1cnopYW5zaWNodCB2b24gUmFldW1lbiBtdXNzIG1hbiBQX0lOVF9MT05HIGJlbnV0emVuLgorCitCRU1FUktVTkdFTjoKKyAgICAgRGllIEZ1bmt0aW9uLCBkaWUgZGllIEt1cnpiZXNjaHJlaWJ1bmcgYXVzZ2lidCAoc2hvcnQoKSksIGZpbHRlcnQgUF9TSE9SVAorICAgICBkdXJjaCBwcm9jZXNzX3N0cmluZygpLiBWb24gZGVyIE51dHp1bmcgZGllc2VzIEZlYXR1cmVzIHdpcmQgaW4gbmV1ZW0KKyAgICAgQ29kZSBhYmdlcmF0ZW4uCisgICAgIFNvbGwgZWluZSBkeW4uIEt1cnpiZXNjaHJlaWJ1bmcgZ2VzY2hhZmZlbiB3ZXJkZW4sIGJpdHRlIGVpbmUKKyAgICAgRl9RVUVSWV9NRVRIT0QgZWluc2V0emVuIG9kZXIgc2hvcnQoKSBwYXNzZW5kIHVlYmVyc2NocmVpYmVuLgorCitCRUlTUElFTEU6CisgICAgIC8vIGVpbmUgQXh0IHNpZWh0IG5hdHVlcmxpY2ggc28gYXVzOgorICAgICBTZXRQcm9wKFBfU0hPUlQsICJFaW5lIEF4dCIpOworCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOglQX0xPTkcsIHNob3J0KCkKKyAgICAgU29uc3RpZ2VzOgkJUF9JTlRfU0hPUlQsIHByb2Nlc3Nfc3RyaW5nKCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjcuMDUuMjAxNSwgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TSE9SVF9DV0QgYi9kb2MvcHJvcHMvUF9TSE9SVF9DV0QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYzNDNhZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NIT1JUX0NXRApAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9TSE9SVF9DV0QgICAgICAgICAgICAgICAgICAgInNob3J0X2N3ZCIgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3NoZWxscy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgLnJlYWRtZSBiZWkgY2QgYXVzZ2ViZW4gb2RlciBuaWNodApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0hPV0VNQUlMIGIvZG9jL3Byb3BzL1BfU0hPV0VNQUlMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZDEzNDgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TSE9XRU1BSUwKQEAgLTAsMCArMSwxMCBAQAorTkFNRToKKyAgICAgUF9TSE9XRU1BSUwgICAgICAgICAgICAgICAgICAgICAgICAic2hvd2VtYWlsIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcGxheWVyL2Jhc2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEVpbnRyYWcsIHdlciBkaWUgRS1NYWlsIGltICJmaW5nZXIiIHp1IHNlaGVuIGJla29tbWVuIHNvbGw6CisgICAgIDAsICJhbGxlIiwgImZyZXVuZGUiCisgICAgIEthbm4gZHVyY2ggImVtYWlsYW56ZWlnZSIgKC9zdGQvcGxheWVyL2Jhc2UuYykgZ2VhZW5kZXJ0IHdlcmRlbi4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NIT1dfQUxJQVNfUFJPQ0VTU0lORyBiL2RvYy9wcm9wcy9QX1NIT1dfQUxJQVNfUFJPQ0VTU0lORwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjQ5Y2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0hPV19BTElBU19QUk9DRVNTSU5HCkBAIC0wLDAgKzEsOCBAQAorTkFNRToKKyAgICBQX1NIT1dfQUxJQVNfUFJPQ0VTU0lORyAgICAgICAic2hvd19hbGlhc19wcm9jZXNzaW5nIiAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBBcmJlaXQgZGVzIFBhcnNlcnMgYmVvYmFjaHRlbiAoZGVidWdnaW5nKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0hPV19FWElUUyBiL2RvYy9wcm9wcy9QX1NIT1dfRVhJVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM4ZDg3YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NIT1dfRVhJVFMKQEAgLTAsMCArMSwxNSBAQAorTkFNRToKKyAgICBQX1NIT1dfRVhJVFMgICAgICAgICAgICAgICAgICAic2hvd19leGl0cyIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL2Jhc2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEltIFNwaWVsZXIgZ2VzZXR6dCwgd2VubiBkZXIgU3BpZWxlciBkaWUgb2ZmZW5zaWNodGxpY2hlbiBBdXNnYWVuZ2UKKyAgICAgaW1tZXIgYXV0b21hdGlzY2ggc2VoZW4gd2lsbC4KKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2hlczoJUF9ISURFX0VYSVRTCisgICAgIFNvbnN0aWdlczoJCUFkZEV4aXQoKSwgR2V0RXhpdHMoKSwgaW50X2xvbmcoKSwgaW50X3Nob3J0KCkKKworMTEuIE1haSAyMDA0IEdsb2luc29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0hPV19JTlYgYi9kb2MvcHJvcHMvUF9TSE9XX0lOVgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2EyZmZlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0hPV19JTlYKQEAgLTAsMCArMSwxOSBAQAorUF9TSE9XX0lOVgorCitOQU1FOgorICAgICBQX1NIT1dfSU5WICJzaG93X2ludiIKKworREVGSU5JRVJUIElOOgorICAgICA8dGhpbmcvZGVzY3JpcHRpb24uaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBXZW5uIGRpZXNlIFByb3BlcnR5IGF1ZiBlaW5lbiBXZXJ0IHVuZ2xlaWNoIDAgZ2VzZXR6dCBpc3QsIHdpcmQgZGFzCisgICAgIE9iamVrdCwgc293ZWl0IGVzIHNpY2ggaW4gZWluZW0gU3BpZWxlciBiZWZpbmRldCwgaW4gZGVzc2VuCisgICAgIExhbmdiZXNjaHJlaWJ1bmcgYW5nZXplaWd0LiBadXIgQW56ZWlnZSB3aXJkIGRlciBOYW1lIGRlcyBPYmpla3RlcworICAgICB2ZXJ3ZW5kZXQuCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvdGhpbmcvZGVzY3JpcHRpb24uYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTdW4gTWF5IDE5IDIwOjM2OjA1IDE5OTYgYnkgV2FyZ29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TSE9XX01TRyBiL2RvYy9wcm9wcy9QX1NIT1dfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4NDExNTQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TSE9XX01TRwpAQCAtMCwwICsxLDUxIEBACitQX1NIT1dfTVNHCitOQU1FOgorICAgIFBfU0hPV19NU0cgICAgICAgICAgICAgICAgICAgICAgICAgICJzaG93X21lc3NhZ2UiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9wdXRfYW5kX2dldC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNaXQgUF9TSE9XX01TRyBrYW5uIG1hbiBkaWUgTWVsZHVuZ2VuLCBkaWUgYmVpbSBWb3J6ZWlnZW4gZWluZXMgT2JqZWt0ZXMKKyAgICBhdXNnZWdlYmVuIHdlcmRlbiwgbW9kaWZpemllcmVuLgorCisgICAgRm9sZ2VuZGUgV2VydGUgc2luZCBtb2VnbGljaDoKKworICAgIG8gMAorICAgICAgRXMgd2lyZCBlaW5lIFN0YW5kYXJkbWVsZHVuZyBhdXNnZWdlYmVuLiBEaWVzIGlzdCBWb3JlaW5zdGVsbHVuZy4KKworICAgIG8gTk9fUE5HX01TRyAgICAgICAgPT0gLTEKKyAgICAgIEVzIHdpcmQga2VpbmVybGVpIE1lbGR1bmcgYXVzZ2VnZWJlbgorCisgICAgbyBFaW4gQXJyYXkgYXVzIFN0cmluZ3MKKyAgICAgIERlciBlcnN0ZSBTdHJpbmcgd2lyZCBhbiBkZW4gU3BpZWxlciBhdXNnZWdlYmVuLCBkZXIgendlaXRlCisgICAgICAob3B0aW9uYWxlKSBhbiBkZW4gUmF1bSwgZGVyIGRyaXR0ZSAoZWJlbmZhbGxzIG9wdGlvbmFsZSkgYW4gZGVuCisgICAgICBFbXBmYWVuZ2VyLgorCisgICAgICBEaWUgU3RyaW5ncyB3ZXJkZW4gZHVyY2ggZGllIEZ1bmt0aW9uIHJlcGxhY2VfcGVyc29uYWwoKSBnZXBhcnN0LgorICAgICAgICBPYmpla3QxIC0gU3BpZWxlcgorICAgICAgICBPYmpla3QyIC0gZGFzIE9iamVrdCwgZGFzIHVlYmVyZ2ViZW4gd2lyZAorICAgICAgICBPYmpla3QzIC0gRW1wZmFlbmdlcgorCisgICAgICBXaXJkIGRlciB6d2VpdGUgU3RyaW5nIG5pY2h0IGFuZ2VnZWJlbiwgZXJmb2xndCBrZWluZSBNZWxkdW5nIGFuIGRlbgorICAgICAgUmF1bS4gQmVpbSBGZWhsZW4gZGVzIGRyaXR0ZW4gZ2lidCBlcyBrZWluZSBNZWxkdW5nIGFuIGRlbiBFbXBmYWVuZ2VyLgorCitCRUlTUElFTDoKKyAgICBTZXRQcm9wKFBfU0hPV19NU0csICh7CisgICAgICAiRHUgaGFlbHRzdCBAV0VNMyBAV0VOMiB1bnRlciBkaWUgTmFzZS4iLAorICAgICAgIkBXRVIxIGhhZWx0IEBXRU0zIEBXRU5VMiB1bnRlciBkaWUgTmFzZS4iLAorICAgICAgIkBXRVIxIGhhZWx0IERpciBAV0VOVTIgdW50ZXIgZGllIE5hc2UuIgorICAgIH0pKTsKKworICAgIERhcyBmdWVocnQgYmVpIFVnYXJzICJ6ZWlnIHBldGVyIG1lZGFpbGxlIiB6dSBmb2xnZW5kZW4gTWVsZHVuZ2VuOgorCisgICAgVWdhcjogIkR1IGhhZWx0c3QgUGV0ZXIgZGllIE1lZGFpbGxlIHVudGVyIGRpZSBOYXNlLiIKKyAgICBSYXVtOiAiVWdhciBoYWVsdCBQZXRlciBlaW5lIE1lZGFpbGxlIHVudGVyIGRpZSBOYXNlLiIKKyAgICBQZXRlcjogIlVnYXIgaGFlbHQgRGlyIGVpbmUgTWVkYWlsbGUgdW50ZXIgZGllIE5hc2UuIgorCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOiBQX0RST1BfTVNHLCBQX1BVVF9NU0csIFBfUElDS19NU0csIFBfR0lWRV9NU0cKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgc2hvdyhMKSwgc2hvd19vYmplY3RzKEwpLAorICAgICAgICAgICAgICAgICBzaG93X25vdGlmeShMKSwgL3N0ZC9saXZpbmcvcHV0X2FuZF9nZXQuYworCiszLiBKdW5pIDIwMDggQW15bnRob3IKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NJQkxJTkdTIGIvZG9jL3Byb3BzL1BfU0lCTElOR1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVkMDk3NwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NJQkxJTkdTCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX1NJQkxJTkdTICAgICAgICAgICAgICAgICAgICAgInNpYmxpbmdzIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRW50aGFlbHQgZWluZW4gU3RyaW5nIG1pdCBkZW4gQmx1dHNicnVlZGVybiBlaW5lcyBTcGllbGVycworICAgICAoc29mZXJuIHZvcmhhbmRlbikuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TSVpFIGIvZG9jL3Byb3BzL1BfU0laRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWZkYjcyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0laRQpAQCAtMCwwICsxLDMxIEBACitOQU1FOgorICAgIFBfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICJzaXplIiAgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBHcm9lc3NlIGRlcyBMZWJld2VzZW5zIGJ6dy4gTGFlbmdlIGRlciBXYWZmZSAoaW4gY20pLgorCisgICAgIFdpcmQga2VpbmUgV2FmZmVubGFlbmdlIGV4cGxpeml0IGFuZ2VnZWJlbiwgc28gc2luZCBkaWUgRGVmYXVsdHdlcnRlCisgICAgIGZ1ZXIgZGllIGVudHNwcmVjaGVuZGVuIFdhZmZlbnR5cGVuIGZvbGdlbmRlOgorCisgICAgCVdUX1NXT1JEICA6IDEwMAorICAgIAlXVF9BWEUgICAgOiAgODAKKyAgICAJV1RfQ0xVQiAgIDogIDgwCisgICAgCVdUX1NQRUFSICA6IDE4MAorICAgIAlXVF9LTklGRSAgOiAgMjAKKyAgICAJV1RfV0hJUCAgIDogMjAwCisgICAgCVdUX1NUQUZGICA6IDE1MAorCitCRU1FUktVTkdFTjoKKyAgICAgMS4gVWViZXJ0cmVpYnQgZXMgYml0dGUgbWl0IGRlciBHcm9lc3NlIG5pY2h0LCBhdWNoIHNlaHIgZ3Jvc3NlIE5QQ3MgCisgICAgICAgIHNvbGx0ZW4gbmljaHQgdWViZXIgMTAwMDAwMCBsaWVnZW4uIFNvbnN0IGtyaWVndCBkaWUgS2FyYXRlZ2lsZGUgCisgICAgICAgIFByb2JsZW1lLgorICAgICAyLiBOZWdhdGl2ZSBXZXJ0ZSBmdWVyIFBfU0laRSBzaW5kIG5pY2h0IG1vZWdsaWNoLCBkYSBkaWVzIHp1bSBlaW5lbgorICAgICAgICB2b2VsbGlnIHVuc2lubmlnIGlzdCB1bmQgenVtIGFuZGVyZW4gZXZ0bC4genUgUHJvYmxlbWVuIG1pdCBXYWZmZW4KKyAgICAgICAgZnVlaHJ0LCBkaWUgU2NoYWRlbiBpbiBBYmhhZW5naWdrZWl0IHZvbiBQX1NJWkUgbWFjaGVuIHVuZCBzaWNoCisgICAgICAgIGRhcmF1ZiB2ZXJsYXNzZW4sIGRhc3MgbnVyIHBvc2l0aXZlIFdlcnRlIHZvcmtvbW1lbi4KKworTEVUWlRFIEFFTkRFUlVORzoKKyAgICAyMDA2LTA5LTI5LCB2b24gWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0tJTExTIGIvZG9jL3Byb3BzL1BfU0tJTExTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyYTc2YzcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TS0lMTFMKQEAgLTAsMCArMSwxNSBAQAorTkFNRToKKwlQX1NLSUxMUwkJCSJza2lsbHMiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisJL3N5cy9wbGF5ZXIvc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorCURpZXNlIFByb3BlcnR5IHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIFNpZSB3dXJkZQorCXZvbGxzdGFlbmRpZyBkdXJjaCBQX05FV1NLSUxMUyBlcnNldHp0LgorCitTSUVIRSBBVUNIOgorCVBfTkVXX1NLSUxMUworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBXZWQgSmFuIDE0IDE5OjE3OjA2IDE5OTggYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TS0lMTF9BVFRSSUJVVEVTIGIvZG9jL3Byb3BzL1BfU0tJTExfQVRUUklCVVRFUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZWI1Yjk3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0tJTExfQVRUUklCVVRFUwpAQCAtMCwwICsxLDUwIEBACitOQU1FOgorICAgIFBfU0tJTExfQVRUUklCVVRFUyAgICAgICAgInNraWxsX2F0dHIiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9za2lsbF9hdHRyaWJ1dGVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEluIGRpZXNlciBQcm9wIHN0ZWhlbiBhbGxlIG5pY2h0LXBlcm1hbmVudGVuIE1vZGlmaWthdG9yZW4gZGVyCisgICAgU2tpbGwtQXR0cmlidXRlLgorICAgIERpZSBEYXRlbnN0cnVrdHVyIGlzdCBlaW4gTWFwcGluZyBtaXQgZGVuIFNBLU5hbWVuIGFscyBTY2hsdWVzc2VsIHVuZAorICAgIGpld2VpbHMgZHJlaSBXZXJ0ZW4gcHJvIFNjaGx1ZXNzZWwuCisgICAgRGVyIGVyc3RlIFdlcnQgaXN0IGVpbiBBcnJheSBtaXQgZHJlaSBXZXJ0ZW46IGRlciBTdW1tZSBkZXIgc3RhdC4KKyAgICBNb2RpZmllciwgZGVtIFplaXRwdW5rdCBhbiBkZW0gZGllcyBTdW1tZSB1bmd1ZWx0aWcgd2lyZCB1bmQgZGVyCisgICAgR2VzYW10emFobCBha3RpdmVyIE1vZGlmaWthdG9yZW4uCisgICAgRGVyIHp3ZWl0ZSBXZXJ0IGVudGhhZWx0IGVpbiBNYXBwaW5nIG1pdCBhbGxlbiBzdGF0aXNjaGVuIE1vZGlmaWthdG9yZW4KKyAgICB1bmQgZGVuIE9iamVrdGVuIGRpZXNlciBNb2RzIGFscyBTY2hsdWVzc2VsLiBEaWUgYmVpZGVuIFdlcnRlIGRpZXNlcworICAgIE1hcHBpbmdzIHNpbmQgZGVyIFdlcnQgZGVzIE1vZGlmaWthdG9ycyAoaW50KSB1bmQgZGllIEFibGF1ZnplaXQgKGludCkuCisgICAgRGVyIGRyaXR0ZSBXZXJ0IGVudGhhZWx0IGVpbiBNYXBwaW5nIG1pdCBhbGxlbiBkeW5hbWlzY2hlbgorICAgIE1vZGlmaWthdG9yZW4gdW5kIGRlbiBPYmpla3RlbiBkaWVzZXIgTW9kcyBhbHMgU2NobHVlc3NlbC4gRGllIGJlaWRlbgorICAgIFdlcnRlIGRpZXNlcyBNYXBwaW5ncyBzaW5kIGRpZSB6dSBydWZlbmRlIENsb3N1cmUgKGNsb3N1cmUpIHVuZCBkaWUKKyAgICBBYmxhdWZ6ZWl0IGRlcyBNb2RzIChpbnQpLgorCisgICAgKFsgU0FfQVRUUjogKHtTdW1tZV9TdGF0X01vZGlmaWVyLCBaZWl0cHVua3QsIEFuemFobE1vZGlmaWVyLCB9KTsKKyAgICAgICAgICAgICAgICAoWyBvYjE6dmFsdWU7ZHVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgb2IyOnZhbHVlO2R1cmF0aW9uLCAuLi5dKTsgIC8vIHN0YXQuIE1vZGlmaWVyCisgICAgICAgICAgICAgICAgKFsgb2IxOmNsb3N1cmU7ZHVyYXRpb24sCisgICAgICAgICAgICAgICAgICAgb2IyOmNsb3N1cmU7ZHVyYXRpb24sIC4uLl0pICAgICAvLyBkeW4uIE1vZGlmaWVyCisgICAgICAgICAgICAgICAgLAorICAgICAgIFNBX0FUVFIyOiAoey4uLn0pOyAoW10pOyAoW10pLAorICAgICAgIFNBX0FUVFIzOiAoey4uLn0pOyAoW10pOyAoW10pLAorICAgIF0pCisKK0JFTUVSS1VOR0VOOgorICAgIERpZXNlIFByb3BlcnR5IGRhcmYgQVVGIEdBUiBLRUlORU4gRkFMTCBwZXIgSGFuZCBtYW5pcHVsaWVydCB3ZXJkZW4sCisgICAgZGFmdWVyIGdpYnQgZXMgZGllIEZ1bmt0aW9uZW4gTW9kaWZ5U2tpbGxBdHRyaWJ1dGUoKSB1bmQKKyAgICBSZW1vdmVTa2lsbEF0dHJpYnV0ZU1vZGlmaWVyKCkuCisgICAgWnVtIEF1c2xlc2VuIHN0ZWhlbiBRdWVyeVNraWxsQXR0cmlidXRlKCkgdW5kCisgICAgUXVlcnlTa2lsbEF0dHJpYnV0ZU1vZGlmaWVyKCkgenVyIFZlcmZ1ZWd1bmcuCisKK1NJRUhFIEFVQ0g6CisgICAgU2tpbGxzIExlcm5lbjogIExlYXJuU2tpbGwsIE1vZGlmeVNraWxsLCBMaW1pdEFiaWxpdHkKKyAgICAqIE51dHp1bmc6ICAgICAgVXNlU3BlbGwsIFVzZVNraWxsCisgICAgKiBBYmZyYWdlbjogICAgIFF1ZXJ5U2tpbGwsIFF1ZXJ5U2tpbGxBYmlsaXR5CisgICAgKiBNb2RpZmlrYXRpb246IE1vZGlmeVNraWxsQXR0cmlidXRlLCBRdWVyeVNraWxsQXR0cmlidXRlLAorICAgICAgICAgICAgICAgICAgICBRdWVyeVNraWxsQXR0cmlidXRlTW9kaWZpZXIsIFJlbW92ZVNraWxsQXR0cmlidXRlTW9kaWZpZXIKKyAgICAgICogUHJvcGVydGllczogUF9TS0lMTF9BVFRSSUJVVEVTLCBQX1NLSUxMX0FUVFJJQlVURV9PRkZTRVRTCisgICAgKiBzb25zdGlnOiAgICAgIHNwcnVjaGVybXVlZHVuZywgc2tpbGxfaW5mb19saXN0ZQorICAgICogUHJvcGVydGllczogICBQX05FV1NLSUxMUworCisxMy4wOS4yMDA4LCBaZXNzdHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU0tJTExfQVRUUklCVVRFX09GRlNFVFMgYi9kb2MvcHJvcHMvUF9TS0lMTF9BVFRSSUJVVEVfT0ZGU0VUUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTY4Zjc2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU0tJTExfQVRUUklCVVRFX09GRlNFVFMKQEAgLTAsMCArMSwzMiBAQAorTkFNRToKKyAgICBQX1NLSUxMX0FUVFJJQlVURV9PRkZTRVRTICAgICAgICJza2lsbF9hdHRyX29mZnNldHMiICAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9za2lsbF9hdHRyaWJ1dGVzLmgKKworQkVTSFJFSUJVTkc6CisKKyAgICBEZXIgV2VydCBkZXIgUHJvcGVydHkgaXN0IGVpbiBNYXBwaW5nOiAoW0F0dHJpYnV0bmFtZTogV2VydF0pCisgICAgSW4gZGllc2VyIFByb3BlcnR5IHN0ZWhlbiBwZXJtYW5lbnRlIEFid2VpY2h1bmdlbiBkZXIgU2tpbGxhdHRyaWJ1dGUKKyAgICB2b20gU3RhbmRhcmR3ZXJ0IDEwMC4KKworICAgIFp1IGRlbiBNb2VnbGljaGVuIEF0dHJpYnV0d2VydGVuLCBzaWVoZSBQX1NLSUxMX0FUVFJJQlVURVMuCisKKyAgICBEaWUgV2VydGUgZHVlcmZlbiB6d2lzY2hlbiAxMCB1bmQgMTAwMCBsaWVnZW4uCisKK0JFTUVSS1VORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBzb2xsdGUgQVVGIEdBUiBLRUlORU4gRkFMTCBpbiBlaW5lbSBTcGllbGVyIGdlc2V0enQKKyAgICB3ZXJkZW4sIG9obmUgUnVlY2tzcHJhY2hlbiBtaXQgYWxsZXJob2VjaHN0ZW4gU3RlbGxlbiEKKworU0lFSEUgQVVDSDoKKyAgICBTa2lsbHMgTGVybmVuOiAgTGVhcm5Ta2lsbCwgTW9kaWZ5U2tpbGwsIExpbWl0QWJpbGl0eQorICAgICogTnV0enVuZzogICAgICBVc2VTcGVsbCwgVXNlU2tpbGwKKyAgICAqIEFiZnJhZ2VuOiAgICAgUXVlcnlTa2lsbCwgUXVlcnlTa2lsbEFiaWxpdHkKKyAgICAqIE1vZGlmaWthdGlvbjogTW9kaWZ5U2tpbGxBdHRyaWJ1dGUsIFF1ZXJ5U2tpbGxBdHRyaWJ1dGUsCisgICAgICAgICAgICAgICAgICAgIFF1ZXJ5U2tpbGxBdHRyaWJ1dGVNb2RpZmllciwgUmVtb3ZlU2tpbGxBdHRyaWJ1dGVNb2RpZmllcgorICAgICAgKiBQcm9wZXJ0aWVzOiBQX1NLSUxMX0FUVFJJQlVURVMsIFBfU0tJTExfQVRUUklCVVRFX09GRlNFVFMKKyAgICAqIHNvbnN0aWc6ICAgICAgc3BydWNoZXJtdWVkdW5nLCBza2lsbF9pbmZvX2xpc3RlCisgICAgKiBQcm9wZXJ0aWVzOiAgIFBfTkVXU0tJTExTCisKKzMxLjEyLjIwMTMsIFplc3N0cmEKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU01FTExTIGIvZG9jL3Byb3BzL1BfU01FTExTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MTBjZTEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TTUVMTFMKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICBQX1NNRUxMUyAgICAgICAgICAgICJzbWVsbF9kZXRhaWxzIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBlbnRzcHJpY2h0IGRlbSBQX0RFVEFJTFMgZnVlciBTdGFuZGFyZGRldGFpbHMsCisgICAgbnVyIHdlcmRlbiBoaWVyaW4gR2VydWVjaGUgZ2VzcGVpY2hlcnQ6CisgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZWluIE1hcHBpbmcsIGluIGRlciBEZXRhaWxzIGltIE9iamVrdAorICAgIGRlZmluaWVydCB3ZXJkZW4gdW5kIEJlc2NocmVpYnVuZ2VuLCBkaWUgYXVzZ2VnZWJlbiB3ZXJkZW4sIHdlbm4gbWFuCisgICAgc2ljaCBkaWVzZSBEZXRhaWxzIGFuc2NoYXV0LgorCitCRU1FUktVTkdFTjoKKyAgICBNYW4gc29sbHRlIGRpZXNlIFByb3BlcnR5IG5pY2h0IHBlciBIYW5kIHZlcmFlbmRlcm4sIHNvbmRlcm4gZGllCisgICAgRnVua3Rpb25lbiBudXR6ZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgU2V0emVuOiAgICBBZGRTbWVsbHMoKQorICAgIExvZXNjaGVuOiAgUmVtb3ZlU21lbGxzKCkKKyAgICBBZWhubGljaDogIEFkZERldGFpbCgpLCBQX0RFVEFJTFMKKyAgICBTb25zdGlnZXM6IEdldERldGFpbCgpLCBicmVha19zdHJpbmcoKQorCisyNy4gSmFuIDIwMTMgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TTk9PUEZMQUdTIGIvZG9jL3Byb3BzL1BfU05PT1BGTEFHUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzQ3ZTM5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU05PT1BGTEFHUwpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9TTk9PUEZMQUdTICAgICAgICAgICAgICAgICAgInNub29wZmxhZ3MiICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Nub29waW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICoqKiBLRUlORSBCRVNDSFJFSUJVTkcgVk9SSEFOREVOICoqKgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU09VTkRTIGIvZG9jL3Byb3BzL1BfU09VTkRTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliOWEzNTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TT1VORFMKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICBQX1NPVU5EUyAgICAgICAgICAgICJzb3VuZF9kZXRhaWxzIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBlbnRzcHJpY2h0IGRlbSBQX0RFVEFJTFMgZnVlciBTdGFuZGFyZGRldGFpbHMsICAgCisgICAgbnVyIHdlcmRlbiBoaWVyaW4gR2VyYXVlc2NoZSBnZXNwZWljaGVydDoKKyAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBlaW4gTWFwcGluZywgaW4gZGVyIERldGFpbHMgaW0gT2JqZWt0CisgICAgZGVmaW5pZXJ0IHdlcmRlbiB1bmQgQmVzY2hyZWlidW5nZW4sIGRpZSBhdXNnZWdlYmVuIHdlcmRlbiwgd2VubiBtYW4KKyAgICBzaWNoIGRpZXNlIERldGFpbHMgYW5zY2hhdXQuCisKK0JFTUVSS1VOR0VOOgorICAgIE1hbiBzb2xsdGUgZGllc2UgUHJvcGVydHkgbmljaHQgcGVyIEhhbmQgdmVyYWVuZGVybiwgc29uZGVybiBkaWUKKyAgICBGdW5rdGlvbmVuIG51dHplbi4KKworU0lFSEUgQVVDSDoKKyAgICBTZXR6ZW46ICAgIEFkZFNvdW5kcygpCisgICAgTG9lc2NoZW46ICBSZW1vdmVTb3VuZHMoKQorICAgIEFlaG5saWNoOiAgQWRkRGV0YWlsKCksIFBfREVUQUlMUworICAgIFNvbnN0aWdlczogR2V0RGV0YWlsKCksIGJyZWFrX3N0cmluZygpCisKKzI3LiBKYW4gMjAxMyBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NQIGIvZG9jL3Byb3BzL1BfU1AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDJiYWI2NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NQCkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisgICAgUF9TUCAgICAgICAgICAgICAgICAgICAgICAgICAgInNwIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvbGlmZS5oCisKK0JFU0NIUkVJQlVORzoKKworICAgICAtIExlYmV3ZXNlbgorICAgICAgIEFuemFobCBkZXIgS29uemVudHJhdGlvbnNwdW5rdGUgZGVzIFdlc2Vucy4KKworICAgICAtIFNwZWlzZW4vS25laXBlbgorICAgICAgIEhlaWx3aXJrdW5nIGVpbmVyIFBvcnRpb24gZGVyIFNwZWlzZSBhdWYgZGllIEtvbnplbnRyYXRpb25zcHVua3RlCisgICAgICAgZGVzIEtvbnN1bWVudGVuCisKK1NJRUhFIEFVQ0g6CisgICAgIFByb3BzOgkJUF9NQVhfU1AKKyAgICAgVmVyYWVuZGVydW5nOglyZWR1Y2Vfc3BlbGxfcG9pbnRzKCksIHJlc3RvcmVfc3BlbGxfcG9pbnRzKCkKKwkJCWJ1ZmZlcl9zcCgpCisgICAgIFNwZWlzZW4vS25laXBlbjogICBzdGQvcHViLCB3aXovZm9vZCwgY29uc3VtZQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TUEVDSUFMX0RFVEFJTFMgYi9kb2MvcHJvcHMvUF9TUEVDSUFMX0RFVEFJTFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmViMjEyMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NQRUNJQUxfREVUQUlMUwpAQCAtMCwwICsxLDIzIEBACitOQU1FOgorICAgIFBfU1BFQ0lBTF9ERVRBSUxTICAgICAgICAgICAgICJzcGVjaWFsX2RldGFpbHMiICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNYXBwaW5nIHZvbiBEZXRhaWxzLCBkaWUgYmVpbSBBbnNjaGF1ZW4gZWluZSBGdW5rdGlvbiBzdGFydGVuLgorCitCRU1FUktVTkdFTjoKKyAgICBEaWVzIGlzdCBrZWluZSAiZWNodGUiIFByb3BlcnR5LiBEaWUgRGF0ZW4gd2VyZGVuIGJlaSBkZXIgQWJmcmFnZSBpbiBlaW5lcgorICAgIFF1ZXJ5bWV0aG9kZSBkeW5hbWlzY2ggYXVzIFBfREVUQUlMUyBleHRyYWhpZXJ0LiBEZW1lbnRzcHJlY2hlbmQKKyAgICBmdW5rdGlvbmllcnQgZXMgYXVjaCBuaWNodCwgaGllciBlaW5lIFF1ZXJ5LSBvZGVyIFNldG1ldGhvZGUgdm9uIGF1c3NlbgorICAgIGRyYXVmIHp1IGxlZ2VuLgorCitTSUVIRSBBVUNIOgorICAgIFNldHplbjogICAgQWRkRGV0YWlsKCkKKyAgICBMb2VzY2hlbjogIFJlbW92ZURldGFpbCgpCisgICAgRGF0ZW46ICAgICBQX0RFVEFJTFMKKyAgICBWZXJhbHRldDogIEFkZFNwZWNpYWxEZXRhaWwoKSwgUmVtb3ZlU3BlY2lhbERldGFpbCgpCisgICAgU29uc3RpZ2VzOiBHZXREZXRhaWwoKSwgYnJlYWtfc3RyaW5nKCkKKworMjcuIEphbiAyMDEzIEdsb2luc29uClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU1BFQ0lBTF9FWElUUyBiL2RvYy9wcm9wcy9QX1NQRUNJQUxfRVhJVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTkxNDM2NgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1NQRUNJQUxfRVhJVFMKQEAgLTAsMCArMSw5IEBACitOQU1FOgorICAgIFBfU1BFQ0lBTF9FWElUUyAgICAgICAgICAgICAgICJzcGVjaWFsX2V4aXRzIiAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaXRvLCBhYmVyIGFuc3RhdHQgZGVzIE5hY2hiYXJyYXVtcyB3aXJkIGVpbmUgRnVua3Rpb24gKGltIFJhdW0pCisgICAgIGFuZ2VnZWJlbSwgZGllIGJlaSBFaW5nYWJlIGRlciBSaWNodHVuZyBhdXNnZWZ1ZWhydCB3aXJkLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU1BFTExSQVRFIGIvZG9jL3Byb3BzL1BfU1BFTExSQVRFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2NzJhMzMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TUEVMTFJBVEUKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfU1BFTExSQVRFICAgICAgICAgICAgICAgICAgICJzcGVsbHJhdGUiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBOUEMtU3BlbGxyYXRlIChpbiAlKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU1BFTExTIGIvZG9jL3Byb3BzL1BfU1BFTExTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3MTEyZmIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TUEVMTFMKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfU1BFTExTICAgICAgICAgICAgICAgICAgICAgICJzcGVsbHMiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBOUEMtU3BlbGxzCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TUF9ERUxBWSBiL2RvYy9wcm9wcy9QX1NQX0RFTEFZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0ZjYzNzIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TUF9ERUxBWQpAQCAtMCwwICsxLDEwIEBACitOQU1FOgorICAgIFBfU1BfREVMQVkgICAgICAgICAgICAgICAgICJzcF9kZWxheSIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2xpZmUuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFuemFobCBkZXIgaGVhcnRfYmVhdHMsIGJpcyBkaWUgTWFnaWVwdW5rdGUgdW0gZWluZW4gUHVua3Qgc3RlaWdlbi4KKyAgICAgQWVuZGVydW5nZW4gZGllc2VyIFByb3BlcnR5IGluIFNwaWVsZXJuIGJlZHVlcmZlbiBkZXIgCisgICAgIEdlbmVobWlndW5nIGRlcyBFTSBmdWVyIEJhbGFuY2UuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TVEFSVF9IT01FIGIvZG9jL3Byb3BzL1BfU1RBUlRfSE9NRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWZmZjJjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU1RBUlRfSE9NRQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9TVEFSVF9IT01FICAgICAgICAgICAgICAgICAgInN0YXJ0X2hvbWUiICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBSYXVtLCBpbiBkZW0gZGVyIFNwaWVsZXIgbmFjaCBkZW0gRWlubG9nZ2VuIGxhbmRlbiBzb2xsCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TVERfT0JKRUNUIGIvZG9jL3Byb3BzL1BfU1REX09CSkVDVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44N2UyMWRhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfU1REX09CSkVDVApAQCAtMCwwICsxLDM4IEBACitOQU1FOgorICAgIFBfU1REX09CSkVDVCAgICAgICAgICAgICAgICAgICJzdGRfb2JqZWN0IiAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy92X2NvbXBpbGVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgRW50aGFlbHQgZGVuIE5hbWVuIGVpbmVzIEZpbGVzIHdlbGNoZXMgYWxzIFN0YW5kYXJkLU9iamVrdCBmdWVyIGRlbiAKKyAgIFZpcnR1YWwgQ29tcGlsZXIgZ2VsdGVuIHNvbGwuCisKKyAgIEluIGRpZXNlbSBGaWxlIHdlcmRlbiBkYXMgZ2VuZXJlbGxlIEF1c3NlaGVuLCBBdXNnYWVuZ2UsIEZ1bmt0aW9uZW4KKyAgIHVzdy4gZGVyIFZDLWdlbmVyaWVydGVuIFJhZXVtZSAvIE9iamVrdGUgZmVzdGdlbGVndC4KKworICAgRGllc2VzIEZpbGUgaXN0IGVpbiAnbm9ybWFsZXMnIC5jIC0gRmlsZSwgd2VsY2hlcyBnZWNsb250IHdpcmQgdW5kCisgICBhbnNjaGxpZXNzZW5kIHVtYmVuYW5udCB3aXJkLgorICAgCisgICBHYW56IHdpY2h0aWc6IEZhbGxzIGV1ZXIgU3RhbmRhcmRvYmpla3QgKGRpcmVrdCBvZGVyIGluZGlyZWt0KSB2b24KKyAgIC9zdGQvcm9vbS5jIGVyYnQsIHNvbGx0ZXQgaWhyIGRhcmF1ZiBhY2h0ZW4sIGRhc3MgZXVlciBPYmpla3QgYXVzc2VyIGRlbQorICAgY3JlYXRlKCkgbm9jaCBlaW5lIHdlaXRlcmUgKGJlbGllYmlnZSkgRnVua3Rpb24gaGF0LiAgCisgICBBbnNvbnN0ZW4gd3VlcmRlIGRhcyBQcm9ncmFtbSBldXJlcyBTdGFuZGFyZG9iamVrdHMgYXV0b21hdGlzY2ggZHVyY2gKKyAgIC9zdGQvcm9vbS5jIGVyc2V0enQsIHdhcyBpbiBkZXIgUmVnZWwgenUgc2Nod2VyIHp1IGZpbmRlbmVuIEJ1Z3MgZnVlaHJ0LgorCitCRUlTUElFTDoKKyAgIChjcmVhdGUgZWluZXMgVkNzKQorICAgcHJvdGVjdGVkIHZvaWQgY3JlYXRlKCkgeworICAgICAuLi4KKyAgICAgU2V0UHJvcChQX1NURF9PQkpFQ1QsIi9kL3JlZ2lvbi9tYWdpZXIvdmMvc3RkX3JhdW0iKTsKKyAgICAgLi4uCisgICB9CisKKyAgIFdhcyBpbiBkaWVzZW0gc3RkX3JhdW0uYyBudW4gc3RlaHQsIHdpcmQgaW4gamVkZW0gVkMtQ2xvbmUKKyAgIHZlcmZ1ZWdiYXIuIFNlaSBlcyBEZXRhaWxzLCBHZXJ1ZWNoZSwgYXVjaCBPYmpla3RlIGRpZSBwZXIgCisgICBBZGRJdGVtIGVpbmdlYnVuZGVuIHNpbmQsIC4uLgorCitTSUVIRSBBVUNIOgorICAgUF9DT01QSUxFUl9QQVRILCB2aXJ0dWFsX2NvbXBpbGVyCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGV0enRlIEFlbmRlcnVuZzogMjIuMTAuMDcgdm9uIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1NUT1JFX0NPTlNVTUUgYi9kb2MvcHJvcHMvUF9TVE9SRV9DT05TVU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiNjU2NDEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TVE9SRV9DT05TVU1FCkBAIC0wLDAgKzEsNTEgQEAKK05BTUU6CisJUF9TVE9SRV9DT05TVU1FCQkJInN0b3JlX2NvbnN1bWUiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2JhbmsuaAorCitCRVNDSFJFSUJVTkc6CisJRGllc2UgUHJvcGVydHkgaXN0IGVudHNjaGVpZGVuZCBkYWZ1ZXIsIHdpZXZpZWwgUHJvemVudCBhbiBPYmpla3RlbgorCWJlaSBqZWRlbSBSZXNldCBpbiBlaW5lbSBMYWdlciBlaW5lcyBMYWRlbnMgdmVybmljaHRldCB3ZXJkZW4uIERpZXMKKwlnZXNjaGllaHQgYXVzIFNwZWljaGVyLSB1bmQgTGFnZ3J1ZW5kZW4uIEVzIHZlcmJsZWlidCBkYWJlaSBqZWRvY2gKKwllaW5lIEdydW5kbWVuZ2UgYW4gT2JqZWt0ZW4sIGRlcmVuIEFuemFobCBpbiBkZXIgUHJvcGVydHkKKwlQX01JTl9TVE9DSyBmZXN0Z2VoYWx0ZW4gaXN0LiBTdGFuZGFyZHdlcnQgZnVlciBQX1NUT1JFX0NPTlNVTUUgaXN0CisJaGllcmJlaSAzMCUsIGFiZXIgaW4gb2Z0IGJlbnV0enRlbiBMYWVkZW4ga2FubiBtYW4gZG9ydCBydWhpZyBlaW5lbgorCWhvZWhlcmVuIFdlcnQgZWludHJhZ2VuLiBFcmxhdWJ0IHNpbmQgV2VydGUgendpc2NoZW4gMCUgdW5kIDEwMCUuCisJQXVmZ2VyYWV1bXQgd2VyZGVuIGplZG9jaCBrZWluZSBPYmpla3RlLCBkaWUgbWl0dGVscyBBZGRJdGVtKCkgaW0KKwlMYWdlciBlaW5nZWJ1bmRlbiB3dXJkZW4uIE1pdHRlbHMgZGVyIExhZGVuZnVua3Rpb24gQWRkRml4ZWRPYmplY3QoKQorCWFscyBzdGFlbmRpZyB2ZXJmdWVnYmFyIG1hcmtpZXJ0ZSBPYmpla3RlIHdlcmRlbiBuYXR1ZXJsaWNoIGF1Y2gKKwluaWNodCBiZXJ1ZWNrc2ljaHRpZ3QuCisJQmVpZGUgaGllciBlcndhZWhudGVuIFByb3BlcnRpZXMgc29sbHRlbiB1ZWJlcmlnZW5zIG51ciBtaXR0ZWxzCisJUXVlcnlQcm9wL1NldFByb3AgYXVzZ2VsZXNlbiBiencuIHZlcmFlbmRlcnQgd2VyZGVuLgorCitCRUlTUElFTDoKKwlFaW4gZWlnZW5lciBoYWV1ZmlnIGJlbnV0enRlciBMYWRlbiBrb2VubnRlIGVpbiBMYWdlciBpbiBmb2xnZW5kZXIKKwlGb3JtIGVyaGFsdGVuOgorCSAgLy8gbXlTdG9yZQorCSAgI2luY2x1ZGUgPGJhbmsuaD4KKwkgIGluaGVyaXQgInN0ZC9zdG9yZSI7CisJICB2b2lkIGNyZWF0ZSgpCisJICB7IDo6Y3JlYXRlKCk7CisJICAgIFNldFByb3AoUF9TVE9SRV9DT05TVU1FLDkwKTsKKwkgICAgLy8ga2VpbmUgd2VpdGVyZW4gQmVzY2hyZWlidW5nZW4sIFNwaWVsZXIgc29sbGVuIGRhIGRyaW4KKwkgICAgLy8gc2NobGllc3NsaWNoIG5pY2h0IHJ1bXd1c2VsbgorCSAgfQorCVVtIGRhcyBMYWdlciBkZW0gTGFkZW4genV6dXdlaXNlbiwgbnV0enQgbWFuIGZvbGdlbmRlczoKKwkgIC8vIG15U2hvcAorCSAgaW5oZXJpdCAic3RkL2xhZGVuIjsKKwkgIHZvaWQgY3JlYXRlKCkKKwkgIHsgOjpjcmVhdGUoKTsKKwkgICAgU2V0U3RvcmFnZVJvb20oInBmYWQvbXlTdG9yZSIpOworCSAgICAvLyBCZXNjaHJlaWJ1bmdlbiBmb2xnZW4KKwkgICAgLi4uCisJICB9CisJRXMgd2VyZGVuIGhpZXJiZWkgd2FlaHJlbmQgamVkZXMgTGFnZXItUmVzZXRzIDkwJSBkZXIgaW0gTGFnZXIKKwliZWZpbmRsaWNoZW4gT2JqZWt0ZSB2ZXJuaWNodGV0LgorCitTSUVIRSBBVUNIOgorCVBfTUlOX1NUT0NLLCBTZXRTdG9yYWdlUm9vbSgpLCAvc3RkL3N0b3JlLmMsIC9zdGQvc2hvcC5jCisJQWRkSXRlbSgpLCBSZW1vdmVJdGVtKCksIEFkZEZpeGVkT2JqZWN0KCksIFJlbW92ZUZpeGVkT2JqZWN0KCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTktSnVuLTIwMTUsIEFyYXRob3JuIApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfU1RSRVRDSF9USU1FIGIvZG9jL3Byb3BzL1BfU1RSRVRDSF9USU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZWY0ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TVFJFVENIX1RJTUUKQEAgLTAsMCArMSwyMCBAQAorUF9TVFJFVENIX1RJTUUKKworTkFNRToKKyAgICBQX1NUUkVUQ0hfVElNRSAgICAgInN0cmV0Y2hfdGltZSIKKworREVGSU5JRVJUIElOOgorICAgIDxjb21iYXQuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgIEVudGhhZWx0IGRpZSBaZWl0IGluIFJ1bmRlbiAoMnMpLCBkaWUgbWFuIGJyYXVjaHQsIHVtIGVpbmUgRmVybndhZmZlIHp1CisgICAgc3Bhbm5lbi9iZW51dHplbi4gWmFlaGx0IHNlaXQgZGVtIGxldHp0ZW4gU2NodXNzIG9kZXIgZGVyIFplaXQgZGVzCisgICAgWnVlY2tlbnMgKFBfRVFVSVBfVElNRSkuCisKK1NJRUhFIEFVQ0g6CisgICAgR2VuZXJlbGw6ICBQX0FNTVVOSVRJT04sIFBfU0hPT1RJTkdfV0MKKyAgICBNZXRob2RlbjogIEZpbmRSYW5nZWRUYXJnZXQoTCksIHNob290X2RhbShMKSwgY21kX3Nob290KEwpCisgICAgR2ViaWV0OiAgICBQX1JBTkdFLCBQX1NIT09USU5HX0FSRUEsIFBfVEFSR0VUX0FSRUEKKyAgICBTb25zdGlnZXM6IGZlcm53YWZmZW4KKworMjkuSnVsIDIwMTQgR2xvaW5zb24KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9TVUJHVUlMRF9USVRMRSBiL2RvYy9wcm9wcy9QX1NVQkdVSUxEX1RJVExFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4YTU5ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9TVUJHVUlMRF9USVRMRQpAQCAtMCwwICsxLDIwIEBACitQX1NVQkdVSUxEX1RJVExFCitOQU1FOgorICAgICBQX1NVQkdVSUxEX1RJVExFCQkic3ViZ3VpbGRfdGl0bGUiICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGV2ZW50dWVsbGUgWnVzYXR6dGl0ZWwgZWluZXMgU3BpZWxlcnMsIGRlbiBlcgorICAgICBpbm5lcmhhbGIgZWluZXIgR2lsZGUgdHJhZWd0LiBEYXMga2FubiB6LkIuIGVpbiBDbGFuIHNlaW4sIGVpbiBad2VpZyBvZGVyCisgICAgIGVpbmZhY2ggbnVyIGRlciBHaWxkZW5yYW5nLgorCitCRU1FUktVTkdFTjoKKyAgICAgSW5oYWx0IGRlciBQcm9wZXJ0eSBrYW5uIDAgc2VpbiBvZGVyIGVpbiBTdHJpbmcuICBFaW4gWnVzYXR6dGl0ZWwga2FubgorICAgICBtaXR0ZWxzIFBfVklTSUJMRV9TVUJHVUlMRF9USVRMRSB2b3JnZXRhZXVzY2h0IHdlcmRlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9HVUlMRF9USVRMRSwgUF9WSVNJQkxFX1NVQkdVSUxEX1RJVExFCisKKzI2LiBNYWVyeiAyMDA0IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UQVJHRVRfQVJFQSBiL2RvYy9wcm9wcy9QX1RBUkdFVF9BUkVBCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkMmNlYzkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UQVJHRVRfQVJFQQpAQCAtMCwwICsxLDc1IEBACitQX1RBUkdFVF9BUkVBCisKK05BTUU6CisgICAgUF9UQVJHRVRfQVJFQSAgICAgInRhcmdldF9hcmVhIgorCitERUZJTklFUlQgSU46CisgICAgPGNvbWJhdC5oPgorCitCRVNDSFJFSUJVTkc6CisgICAgS2FubiBpbiBlaW5lbSBSYXVtIGdlc2V0enQgd2VyZGVuLCB1bSBlaW5lbiBhbmRlcmVuLCB2b24gZG9ydCBhdXMgbWl0CisgICAgRmVybmthbXBmd2FmZmVuIGJlc2NoaWVzc2JhcmVuIFJhdW0gYWxzIE9iamVrdCBvZGVyIE9iamVrdG5hbWVuICh6dQorICAgIGVpbmVtIGdlbGFkZW5lbiBPYmpla3QpIGZlc3R6dWxlZ2VuLgorCitCRU1FUktVTkdFTjoKKyAgICBFaW4gU2NodWV0emUga2FubiBudXIgaW4gZGVuIGFuZGVyZW4gUmF1bSBzY2hpZXNzZW4sIHdlbm4gZGllIFBfUkFOR0UKKyAgICBzZWluZXIgV2FmZmUgbWluZGVzdCBnbGVpY2ggZGVyIFBfU0hPT1RJTkdfQVJFQSBkZXMgUmF1bXMgKG5pY2h0IGRlcworICAgIFppZWxyYXVtcykgaXN0LgorCisgICAgSWRlYWxlcndlaXNlIHNvbGx0ZSBpbiBtaXQgUF9UQVJHRVRfQVJFQSBhbmdlZ2ViZW5lbiBSYWV1bWVuIGF1Y2gKKyAgICBQX05FVkVSX0NMRUFOIGdlc2V0enQgc2Vpbi4KKworQkVJU1BJRUxFOgorICAgIC8vICMxIEVpbiBCYXVtLVJhdW0gKC9zdGQvcm9vbSkKKyAgICB2b2lkIGNyZWF0ZSgpIHsKKyAgICAgIDo6Y3JlYXRlKCk7CisgICAgICBTZXRQcm9wKFBfSU5UX1NIT1JULCAiQXVmIGVpbmVtIEJhdW0iKTsKKyAgICAgIFNldFByb3AoUF9JTlRfTE9ORywgYnJlYWtfc3RyaW5nKCJEdSBob2Nrc3QgYXVmIGVpbmVtIEJhdW0gdW5kIGthbm5zdCAiCisgICAgICAgICJhdWYgZGllIExpY2h0dW5nIHVudGVyIERpciBzZWhlbi5cbiIpOworCisgICAgICBBZGRFeGl0KCJ1bnRlbiIsIFJBRVVNRSgibGljaHR1bmciKSk7CisKKyAgICAgIFNldFByb3AoUF9UQVJHRVRfQVJFQSwgUkFFVU1FKCJsaWNodHVuZyIpKTsgIC8vIExpY2h0dW5nIGJlc2NoaWVzc2JhcgorICAgICAgU2V0UHJvcChQX1NIT09USU5HX0FSRUEsIDE1KTsgICAgICAgICAgICAgICAgLy8gMTUgRW50ZmVybnVuZworICAgIH0KKworICAgIC8vICMyIEVpbiBFbGVmYW50ZW4tVHJhbnNwb3J0ZXIgKC9zdGQvdHJhbnNwb3J0KQorICAgIC8vIEVyIHRyYW1wZWx0IGR1cmNoIG1laHJlcmUgUmFldW1lIGR1cmNoIHVuZCBkZXIgU2NodWV0emUga2FubiB2b20KKyAgICAvLyBSdWVja2VuIGRlcyBFbGVmYW50ZW4gYXVzIGF1ZiBHZWduZXIgZHJhdXNzZW4gc2NoaWVzc2VuLgorICAgIHZvaWQgY3JlYXRlKCkgeworICAgICAgOjpjcmVhdGUoKTsKKyAgICAgIFNldFByb3AoUF9OQU1FLCAiS2FtcGZlbGVmYW50Iik7CisgICAgICBBZGRJZCgoeyJlbGVmYW50IiwgImthbXBmZWxlZmFudCIpfSk7CisgICAgICBTZXRQcm9wKFBfR0VOREVSLCBNQUxFKTsKKyAgICAgIFNldFByb3AoUF9TSE9SVCwgIkVpbiBLYW1wZmVsZWZhbnQiKTsKKyAgICAgIFNldFByb3AoUF9JTlRfU0hPUlQsICJBdWYgZWluZW0gS2FtcGZlbGVmYW50ZW4iKTsKKyAgICAgIC8vIFBfTE9ORywgUF9JTlRfTE9ORworCisgICAgICBTZXRQcm9wKFBfRU5URVJDTURTLCAoeyJrbGV0dGVyIiwgImVya2xldHRlciJ9KSk7CisgICAgICBTZXRQcm9wKFBfTEVBVkVDTURTLCAoeyJ2ZXJsYXNzIiwgInZlcmxhc3NlIn0pKTsKKworICAgICAgU2V0UHJvcChQX0FSUklWRU1TRywgKHsiRGVyIEVsZWZhbnQgdHJhbXBlbHQgaW4gZWluZW4gUmF1bS5cbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJFaW4gS2FtcGZlbGVmYW50IHRyYW1wZWx0IGhlcmVpbi5cbiJ9KSk7CisgICAgICBTZXRQcm9wKFBfREVQQVJUTVNHLCAoeyJEZXIgRWxlZmFudCB0cmFtcGVsdCB3ZWl0ZXIuXG4iLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiRGVyIEthbXBmZWxlZmFudCB0cmFtcGVsdCB3ZWl0ZXIuXG4ifSkpOworCisgICAgICBTZXRQcm9wKFBfU0hPT1RJTkdfQVJFQSwgOCk7IC8vIHdlaXRlciBhbHMgOCBzb2xsdGUgbWFuIHNjaGllc3NlbgorCisgICAgICBBZGRSb3V0ZShSQUVVTUUoInNjaGxhY2h0ZmVsZCIpLCAyMCtyYW5kb20oMTApLCA2LCAiU2NobGFjaHRmZWxkIik7CisgICAgICBBZGRSb3V0ZShSQUVVTUUoImJ1cmd0b3IiKSwgMjArcmFuZG9tKDEwKSwgNiwgIkJ1cmd0b3IiKTsKKyAgICAgIEFkZFJvdXRlKFJBRVVNRSgiYnVyZ2hvZiIpLCAyMCtyYW5kb20oMTApLCA2LCAiQnVyZ2hvZiIpOworICAgICAgQWRkUm91dGUoUkFFVU1FKCJoYWxsZSIpLCAyMCtyYW5kb20oMTApLCA2LCAiSGFsbGUiKTsKKyAgICAgIEFkZFJvdXRlKFJBRVVNRSgiYnJlc2NoZSIpLCAyMCtyYW5kb20oMTApLCA2LCAiQnJlc2NoZSIpOworICAgICAgLy8gLi4uCisKKyAgICAgIFN0YXJ0KCk7CisgICAgfQorCitTSUVIRSBBVUNIOgorICAgIEdlbmVyZWxsOiAgUF9BTU1VTklUSU9OLCBQX1NIT09USU5HX1dDLCBQX1NUUkVUQ0hfVElNRQorICAgIE1ldGhvZGVuOiAgRmluZFJhbmdlZFRhcmdldChMKSwgc2hvb3RfZGFtKEwpLCBjbWRfc2hvb3QoTCkKKyAgICBHZWJpZXQ6ICAgIFBfUkFOR0UsIFBfU0hPT1RJTkdfQVJFQQorICAgIFJhZXVtZTogICAgUF9ORVZFUl9DTEVBTgorICAgIFNvbnN0aWdlczogZmVybndhZmZlbgorCisyOS5KdWwgMjAxNCBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RFQU0gYi9kb2MvcHJvcHMvUF9URUFNCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMzEwOWQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9URUFNCkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisJUF9URUFNICAgICAgICAgICAgICAgICAgICAgICAgICJ0ZWFtIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvdGVhbS5oCisKK0JFU0NIUkVJQlVORzoKKwlMaWVmZXJ0IGRhcyBUZWFtb2JqZWt0LCBmYWxscyBTcGllbGVyIGluIGVpbmVtIFRlYW0gaXN0LCBzb25zdCAwLgorCitTSUVIRSBBVUNIOgorICAgICAgICBVZWJlcnNpY2h0OiB0ZWFta2FtcGYKKyAgICAgICAgUHJvcGVydGllczogUF9BU1NPQ19NRU1CRVJTLCBQX1RFQU1fQVRUQUNLX0NNRCwgUF9URUFNX0FVVE9GT0xMT1csCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9DT0xPUlMsIFBfVEVBTV9MRUFERVIsIFBfVEVBTV9ORVdNRU1CRVIsCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9XQU5URURfUk9XLCBQX1RFQU1fV0lNUFlfUk9XCisgICAgICAgIEJld2VndW5nOiAgIElzVGVhbU1vdmUsIFRlYW1GbGVlCisgICAgICAgIE1pdGdsaWVkZXI6IElzVGVhbUxlYWRlciwgVGVhbU1lbWJlcnMKKyAgICAgICAgS2FtcGY6ICAgICAgRGVBc3NvY01lbWJlciwgSW5zZXJ0RW5lbXlUZWFtLCBTZWxlY3ROZWFyRW5lbXksCisgICAgICAgICAgICAgICAgICAgIFNlbGVjdEZhckVuZW15CisgICAgICAgIFBvc2l0aW9uZW46IFByZXNlbnRQb3NpdGlvbiwgUHJlc2VudFJvd3MsIFByZXNlbnRFbmVteVJvd3MsCisgICAgICAgICAgICAgICAgICAgIFByZXNlbnRUZWFtUG9zaXRpb24sIFN3YXBSb3dzCisgICAgICAgIFNvbnN0aWdlczogIFRlYW1QcmVmaXgsIHRlYW1rYW1wZl9pbnRlcm4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTYtMDgtMjAxMCwgR2FieWxvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVEVBTV9BU1NPQ19NRU1CRVJTIGIvZG9jL3Byb3BzL1BfVEVBTV9BU1NPQ19NRU1CRVJTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0Zjk1YjgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9URUFNX0FTU09DX01FTUJFUlMKQEAgLTAsMCArMSwzMCBAQAorTkFNRToKKwlQX1RFQU1fQVNTT0NfTUVNQkVSUyAgICAgICAgICAgInRlYW1fYXNzb2NfbWVtYmVycyIKKworREVGSU5JRVJUIElOOgorCS9zeXMvbGl2aW5nL3RlYW0uaAorCitCRVNDSFJFSUJVTkc6CisJQXJyYXkgbWl0IGRlbiB6dWdlb3JkbmV0ZW4gTlBDcyBkZXMgU3BpZWxlcnMgYnp3LiBkZXIgU3BpZWxlciwKKwlkZW0gZGllc2VyIE5QQyB6dWdlb3JkbmV0IGlzdC4KKwladWdlb3JkbmV0ZSBOUENzIHNpbmQgYXV0b21hdGlzY2ggaW0gVGVhbSBkZXMgU3BpZWxlcnMuCisKK0JFTUVSS1VORzoKKwlEZXIgWnVncmlmZiBhdWYgZGllc2UgUHJvcGVydHkgc29sbHRlIHVlYmVyIEFzc29jTWVtYmVyKCkKKwliencuIERlQXNzb2NNZW1iZXIoKSBlcmZvbGdlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgICAgVWViZXJzaWNodDogdGVhbWthbXBmCisgICAgICAgIFByb3BlcnRpZXM6IFBfVEVBTSwgUF9URUFNX0FUVEFDS19DTUQsIFBfVEVBTV9BVVRPRk9MTE9XLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fQ09MT1JTLCBQX1RFQU1fTEVBREVSLCBQX1RFQU1fTkVXTUVNQkVSLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fV0FOVEVEX1JPVywgUF9URUFNX1dJTVBZX1JPVworICAgICAgICBCZXdlZ3VuZzogICBJc1RlYW1Nb3ZlLCBUZWFtRmxlZQorICAgICAgICBNaXRnbGllZGVyOiBJc1RlYW1MZWFkZXIsIFRlYW1NZW1iZXJzCisgICAgICAgIEthbXBmOiAgICAgIERlQXNzb2NNZW1iZXIsIEluc2VydEVuZW15VGVhbSwgU2VsZWN0TmVhckVuZW15LAorICAgICAgICAgICAgICAgICAgICBTZWxlY3RGYXJFbmVteQorICAgICAgICBQb3NpdGlvbmVuOiBQcmVzZW50UG9zaXRpb24sIFByZXNlbnRSb3dzLCBQcmVzZW50RW5lbXlSb3dzLAorICAgICAgICAgICAgICAgICAgICBQcmVzZW50VGVhbVBvc2l0aW9uLCBTd2FwUm93cworICAgICAgICBTb25zdGlnZXM6ICBUZWFtUHJlZml4LCB0ZWFta2FtcGZfaW50ZXJuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IDE2LTA4LTIwMTAsIEdhYnlsb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RFQU1fQVRUQUNLX0NNRCBiL2RvYy9wcm9wcy9QX1RFQU1fQVRUQUNLX0NNRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjc3MzQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVEVBTV9BVFRBQ0tfQ01ECkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisJUF9URUFNX0FUVEFDS19DTUQgICAgICAgICAgICAgICJ0ZWFtX2F0dGFja19jbWQiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy90ZWFtLmgKKworQkVTQ0hSRUlCVU5HOgorCUFuZ3JpZmZzYmVmZWhsIGRlcyBTcGllbGVycywgbmljaHQgc2V0emJhci4KKworU0lFSEUgQVVDSDoKKyAgICAgICAgVWViZXJzaWNodDogdGVhbWthbXBmCisgICAgICAgIFByb3BlcnRpZXM6IFBfVEVBTSwgUF9BU1NPQ19NRU1CRVJTLCBQX1RFQU1fQVVUT0ZPTExPVywKKyAgICAgICAgICAgICAgICAgICAgUF9URUFNX0NPTE9SUywgUF9URUFNX0xFQURFUiwgUF9URUFNX05FV01FTUJFUiwKKyAgICAgICAgICAgICAgICAgICAgUF9URUFNX1dBTlRFRF9ST1csIFBfVEVBTV9XSU1QWV9ST1cKKyAgICAgICAgQmV3ZWd1bmc6ICAgSXNUZWFtTW92ZSwgVGVhbUZsZWUKKyAgICAgICAgTWl0Z2xpZWRlcjogSXNUZWFtTGVhZGVyLCBUZWFtTWVtYmVycworICAgICAgICBLYW1wZjogICAgICBEZUFzc29jTWVtYmVyLCBJbnNlcnRFbmVteVRlYW0sIFNlbGVjdE5lYXJFbmVteSwKKyAgICAgICAgICAgICAgICAgICAgU2VsZWN0RmFyRW5lbXkKKyAgICAgICAgUG9zaXRpb25lbjogUHJlc2VudFBvc2l0aW9uLCBQcmVzZW50Um93cywgUHJlc2VudEVuZW15Um93cywKKyAgICAgICAgICAgICAgICAgICAgUHJlc2VudFRlYW1Qb3NpdGlvbiwgU3dhcFJvd3MKKyAgICAgICAgU29uc3RpZ2VzOiAgVGVhbVByZWZpeCwgdGVhbWthbXBmX2ludGVybgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiAxNi0wOC0yMDEwLCBHYWJ5bG9uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9URUFNX0FVVE9GT0xMT1cgYi9kb2MvcHJvcHMvUF9URUFNX0FVVE9GT0xMT1cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDViZTUwZgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RFQU1fQVVUT0ZPTExPVwpAQCAtMCwwICsxLDI0IEBACitOQU1FOgorCVBfVEVBTV9BVVRPRk9MTE9XICAgICAgICAgICAgICAidGVhbV9hdXRvZm9sbG93IgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvdGVhbS5oCisKK0JFU0NIUkVJQlVORzoKKwlGb2xnZXd1bnNjaCBkZXMgU3BpZWxlcnMsIG5pY2h0IHNldHpiYXIuCisKK1NJRUhFIEFVQ0g6CisgICAgICAgIFVlYmVyc2ljaHQ6IHRlYW1rYW1wZgorICAgICAgICBQcm9wZXJ0aWVzOiBQX1RFQU0sIFBfQVNTT0NfTUVNQkVSUywgUF9URUFNX0FUVEFDS19DTUQsCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9DT0xPUlMsIFBfVEVBTV9MRUFERVIsIFBfVEVBTV9ORVdNRU1CRVIsCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9XQU5URURfUk9XLCBQX1RFQU1fV0lNUFlfUk9XCisgICAgICAgIEJld2VndW5nOiAgIElzVGVhbU1vdmUsIFRlYW1GbGVlCisgICAgICAgIE1pdGdsaWVkZXI6IElzVGVhbUxlYWRlciwgVGVhbU1lbWJlcnMKKyAgICAgICAgS2FtcGY6ICAgICAgRGVBc3NvY01lbWJlciwgSW5zZXJ0RW5lbXlUZWFtLCBTZWxlY3ROZWFyRW5lbXksCisgICAgICAgICAgICAgICAgICAgIFNlbGVjdEZhckVuZW15CisgICAgICAgIFBvc2l0aW9uZW46IFByZXNlbnRQb3NpdGlvbiwgUHJlc2VudFJvd3MsIFByZXNlbnRFbmVteVJvd3MsCisgICAgICAgICAgICAgICAgICAgIFByZXNlbnRUZWFtUG9zaXRpb24sIFN3YXBSb3dzCisgICAgICAgIFNvbnN0aWdlczogIFRlYW1QcmVmaXgsIHRlYW1rYW1wZl9pbnRlcm4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTYtMDgtMjAxMCwgR2FieWxvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVEVBTV9DT0xPUlMgYi9kb2MvcHJvcHMvUF9URUFNX0NPTE9SUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjM4MTVkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVEVBTV9DT0xPUlMKQEAgLTAsMCArMSwyNSBAQAorTkFNRToKKwlQX1RFQU1fQ09MT1JTICAgICAgICAgICAgICAgICAgInRlYW1fY29sb3JzIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvdGVhbS5oCisKK0JFU0NIUkVJQlVORzoKKwlHcmVuendlcnRlIGZ1ZXIgZmFyYmlnZSBBbnplaWdlIGltIFRlYW1pbmZvLgorCUFycmF5IG1pdCA0IFdlcnRlbjogKHsgbHBfcm90LCBscF9nZWxiLCBzcF9yb3QsIHNwX2dlbGIgfSkKKworU0lFSEUgQVVDSDoKKyAgICAgICAgVWViZXJzaWNodDogdGVhbWthbXBmCisgICAgICAgIFByb3BlcnRpZXM6IFBfVEVBTSwgUF9BU1NPQ19NRU1CRVJTLCBQX1RFQU1fQVRUQUNLX0NNRCwKKyAgICAgICAgICAgICAgICAgICAgUF9URUFNX0FVVE9GT0xMT1csIFBfVEVBTV9MRUFERVIsIFBfVEVBTV9ORVdNRU1CRVIsCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9XQU5URURfUk9XLCBQX1RFQU1fV0lNUFlfUk9XCisgICAgICAgIEJld2VndW5nOiAgIElzVGVhbU1vdmUsIFRlYW1GbGVlCisgICAgICAgIE1pdGdsaWVkZXI6IElzVGVhbUxlYWRlciwgVGVhbU1lbWJlcnMKKyAgICAgICAgS2FtcGY6ICAgICAgRGVBc3NvY01lbWJlciwgSW5zZXJ0RW5lbXlUZWFtLCBTZWxlY3ROZWFyRW5lbXksCisgICAgICAgICAgICAgICAgICAgIFNlbGVjdEZhckVuZW15CisgICAgICAgIFBvc2l0aW9uZW46IFByZXNlbnRQb3NpdGlvbiwgUHJlc2VudFJvd3MsIFByZXNlbnRFbmVteVJvd3MsCisgICAgICAgICAgICAgICAgICAgIFByZXNlbnRUZWFtUG9zaXRpb24sIFN3YXBSb3dzCisgICAgICAgIFNvbnN0aWdlczogIFRlYW1QcmVmaXgsIHRlYW1rYW1wZl9pbnRlcm4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTYtMDgtMjAxMCwgR2FieWxvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVEVBTV9MRUFERVIgYi9kb2MvcHJvcHMvUF9URUFNX0xFQURFUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMTIzYzM3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVEVBTV9MRUFERVIKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKwlQX1RFQU1fTEVBREVSICAgICAgICAgICAgICAgICAgInRlYW1fbGVhZGVyIgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvdGVhbS5oCisKK0JFU0NIUkVJQlVORzoKKwlMaWVmZXJ0IGRhcyBUZWFtb2JqZWt0LCBmYWxscyBTcGllbGVyIEFuZnVlaHJlciBlaW5lcyBUZWFtcyBpc3QuCisKK1NJRUhFIEFVQ0g6CisgICAgICAgIFVlYmVyc2ljaHQ6IHRlYW1rYW1wZgorICAgICAgICBQcm9wZXJ0aWVzOiBQX1RFQU0sIFBfQVNTT0NfTUVNQkVSUywgUF9URUFNX0FUVEFDS19DTUQsCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9BVVRPRk9MTE9XLCBQX1RFQU1fQ09MT1JTLCBQX1RFQU1fTkVXTUVNQkVSLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fV0FOVEVEX1JPVywgUF9URUFNX1dJTVBZX1JPVworICAgICAgICBCZXdlZ3VuZzogICBJc1RlYW1Nb3ZlLCBUZWFtRmxlZQorICAgICAgICBNaXRnbGllZGVyOiBJc1RlYW1MZWFkZXIsIFRlYW1NZW1iZXJzCisgICAgICAgIEthbXBmOiAgICAgIERlQXNzb2NNZW1iZXIsIEluc2VydEVuZW15VGVhbSwgU2VsZWN0TmVhckVuZW15LAorICAgICAgICAgICAgICAgICAgICBTZWxlY3RGYXJFbmVteQorICAgICAgICBQb3NpdGlvbmVuOiBQcmVzZW50UG9zaXRpb24sIFByZXNlbnRSb3dzLCBQcmVzZW50RW5lbXlSb3dzLAorICAgICAgICAgICAgICAgICAgICBQcmVzZW50VGVhbVBvc2l0aW9uLCBTd2FwUm93cworICAgICAgICBTb25zdGlnZXM6ICBUZWFtUHJlZml4LCB0ZWFta2FtcGZfaW50ZXJuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IDE2LTA4LTIwMTAsIEdhYnlsb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RFQU1fTkVXTUVNQkVSIGIvZG9jL3Byb3BzL1BfVEVBTV9ORVdNRU1CRVIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUwNmM1YgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RFQU1fTkVXTUVNQkVSCkBAIC0wLDAgKzEsMjUgQEAKK05BTUU6CisJUF9URUFNX05FV01FTUJFUiAgICAgICAgICAgICAgICJwb3RlbnRpYWxfdGVhbV9tZW1iZXIiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy90ZWFtLmgKKworQkVTQ0hSRUlCVU5HOgorCUVudGhhZWx0IGRhcyBPYmpla3QgZGVzIFRlYW1sZWFkZXJzLCBzb2JhbGQgZWluIFNwaWVsZXIgdW0KKwlUZWFtYXVmbmFobWUgZ2ViZXRlbiBoYXQsIHNvbnN0IDAuCisKK1NJRUhFIEFVQ0g6CisgICAgICAgIFVlYmVyc2ljaHQ6IHRlYW1rYW1wZgorICAgICAgICBQcm9wZXJ0aWVzOiBQX1RFQU0sIFBfQVNTT0NfTUVNQkVSUywgUF9URUFNX0FUVEFDS19DTUQsCisgICAgICAgICAgICAgICAgICAgIFBfVEVBTV9BVVRPRk9MTE9XLCBQX1RFQU1fQ09MT1JTLCBQX1RFQU1fTEVBREVSLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fV0FOVEVEX1JPVywgUF9URUFNX1dJTVBZX1JPVworICAgICAgICBCZXdlZ3VuZzogICBJc1RlYW1Nb3ZlLCBUZWFtRmxlZQorICAgICAgICBNaXRnbGllZGVyOiBJc1RlYW1MZWFkZXIsIFRlYW1NZW1iZXJzCisgICAgICAgIEthbXBmOiAgICAgIERlQXNzb2NNZW1iZXIsIEluc2VydEVuZW15VGVhbSwgU2VsZWN0TmVhckVuZW15LAorICAgICAgICAgICAgICAgICAgICBTZWxlY3RGYXJFbmVteQorICAgICAgICBQb3NpdGlvbmVuOiBQcmVzZW50UG9zaXRpb24sIFByZXNlbnRSb3dzLCBQcmVzZW50RW5lbXlSb3dzLAorICAgICAgICAgICAgICAgICAgICBQcmVzZW50VGVhbVBvc2l0aW9uLCBTd2FwUm93cworICAgICAgICBTb25zdGlnZXM6ICBUZWFtUHJlZml4LCB0ZWFta2FtcGZfaW50ZXJuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IDE2LTA4LTIwMTAsIEdhYnlsb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RFQU1fV0FOVEVEX1JPVyBiL2RvYy9wcm9wcy9QX1RFQU1fV0FOVEVEX1JPVwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2QzYzM2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVEVBTV9XQU5URURfUk9XCkBAIC0wLDAgKzEsMjQgQEAKK05BTUU6CisJUF9URUFNX1dBTlRFRF9ST1cgICAgICAgICAgICAgICJ0ZWFtX3dhbnRlZF9yb3ciCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy90ZWFtLmgKKworQkVTQ0hSRUlCVU5HOgorCUdld3VlbnNjaHRlIFJlaWhlIGRlcyBTcGllbGVycyAodm9uIDEgYmlzIE1BWF9URUFNUk9XUykKKworU0lFSEUgQVVDSDoKKyAgICAgICAgVWViZXJzaWNodDogdGVhbWthbXBmCisgICAgICAgIFByb3BlcnRpZXM6IFBfQVNTT0NfTUVNQkVSUywgUF9URUFNX0FUVEFDS19DTUQsIFBfVEVBTV9BVVRPRk9MTE9XLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fQ09MT1JTLCBQX1RFQU1fTEVBREVSLCBQX1RFQU1fTkVXTUVNQkVSLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fV0lNUFlfUk9XCisgICAgICAgIEJld2VndW5nOiAgIElzVGVhbU1vdmUsIFRlYW1GbGVlCisgICAgICAgIE1pdGdsaWVkZXI6IElzVGVhbUxlYWRlciwgVGVhbU1lbWJlcnMKKyAgICAgICAgS2FtcGY6ICAgICAgRGVBc3NvY01lbWJlciwgSW5zZXJ0RW5lbXlUZWFtLCBTZWxlY3ROZWFyRW5lbXksCisgICAgICAgICAgICAgICAgICAgIFNlbGVjdEZhckVuZW15CisgICAgICAgIFBvc2l0aW9uZW46IFByZXNlbnRQb3NpdGlvbiwgUHJlc2VudFJvd3MsIFByZXNlbnRFbmVteVJvd3MsCisgICAgICAgICAgICAgICAgICAgIFByZXNlbnRUZWFtUG9zaXRpb24sIFN3YXBSb3dzCisgICAgICAgIFNvbnN0aWdlczogIFRlYW1QcmVmaXgsIHRlYW1rYW1wZl9pbnRlcm4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMTYtMDgtMjAxMCwgR2FieWxvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVEVBTV9XSU1QWV9ST1cgYi9kb2MvcHJvcHMvUF9URUFNX1dJTVBZX1JPVwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hODMyMjU1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVEVBTV9XSU1QWV9ST1cKQEAgLTAsMCArMSwyOCBAQAorTkFNRToKKwlQX1RFQU1fV0lNUFlfUk9XICAgICAgICAgICAgICAgInRlYW1fd2ltcHlfcm93IgorCitERUZJTklFUlQgSU46CisJL3N5cy9saXZpbmcvdGVhbS5oCisKK0JFU0NIUkVJQlVORzoKKwlGbHVjaHRyZWloZSBkZXMgU3BpZWxlcnMsIHZvbiAxIGJpcyBNQVhfVEVBTVJPV1MuCisKK0JFTUVSS1VORzoKKwlXZW5uIGRpZSBGbHVjaHRyZWloZSA8PTEgaXN0LCBpc3QgZGllIEZsdWNodCBpbiBlaW5lIGhpbnRlcmUgUmVpaGUKKwlkZWFrdGl2aWVydC4KKworU0lFSEUgQVVDSDoKKyAgICAgICAgVWViZXJzaWNodDogdGVhbWthbXBmCisgICAgICAgIFByb3BlcnRpZXM6IFBfQVNTT0NfTUVNQkVSUywgUF9URUFNX0FUVEFDS19DTUQsIFBfVEVBTV9BVVRPRk9MTE9XLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fQ09MT1JTLCBQX1RFQU1fTEVBREVSLCBQX1RFQU1fTkVXTUVNQkVSLAorICAgICAgICAgICAgICAgICAgICBQX1RFQU1fV0FOVEVEX1JPVworICAgICAgICBCZXdlZ3VuZzogICBJc1RlYW1Nb3ZlLCBUZWFtRmxlZQorICAgICAgICBNaXRnbGllZGVyOiBJc1RlYW1MZWFkZXIsIFRlYW1NZW1iZXJzCisgICAgICAgIEthbXBmOiAgICAgIERlQXNzb2NNZW1iZXIsIEluc2VydEVuZW15VGVhbSwgU2VsZWN0TmVhckVuZW15LAorICAgICAgICAgICAgICAgICAgICBTZWxlY3RGYXJFbmVteQorICAgICAgICBQb3NpdGlvbmVuOiBQcmVzZW50UG9zaXRpb24sIFByZXNlbnRSb3dzLCBQcmVzZW50RW5lbXlSb3dzLAorICAgICAgICAgICAgICAgICAgICBQcmVzZW50VGVhbVBvc2l0aW9uLCBTd2FwUm93cworICAgICAgICBTb25zdGlnZXM6ICBUZWFtUHJlZml4LCB0ZWFta2FtcGZfaW50ZXJuCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IDE2LTA4LTIwMTAsIEdhYnlsb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RFTE5FVF9SVFRJTUUgYi9kb2MvcHJvcHMvUF9URUxORVRfUlRUSU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjMzAwMTEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9URUxORVRfUlRUSU1FCkBAIC0wLDAgKzEsMjUgQEAKK05BTUU6CisgICAgUF9URUxORVRfUlRUSU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwX2xpYl90ZWxuZXRfcnR0aW1lIgorCitERUZJTklFUlQgSU46CisgICAgL3NlY3VyZS90ZWxuZXRuZWcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSW4gZGllc2VyIFByb3BlcnRpZXMgc3RlaHQgZGllIGxldHp0ZSBnZW1lc3NlbmUgJ3JvdW5kLXRyaXAnIFplaXQKKyAgICAoaW4gTWlrcm9zZWt1bmRlbikgZWluZXIgJ1RlbG5ldCB0aW1pbmcgbWFyaycgdm9tIE1VRCB6dW0gQ2xpZW50IHVuZAorICAgIHp1cnVlY2suCisKKyAgICBWb3JhdXNzZXR6dW5nIGhpZXJmdWVyIGlzdCBhbGxlcmRpbmdzLCBkYXNzIGRhcyBUZWxuZXQgZGVzIFNwaWVsZXJzCisgICAgVGVsbmV0bmVnb3RpYXRpb25zIHVudGVyc3R1ZXR6dCB1bmQgJ3RlbG5ldCBrZWVwYWxpdmUnIGVpbmdlc2NoYWx0ZXQKKyAgICBpc3QsIGFuc29uc3RlbiBibGVpYnQgZGllc2UgUHJvcGVydHkgMC4KKyAgICBEaWUgbWVpc3RlbiBUZWxuZXRzL0NsaWVudHMgYW50d29ydGVuIHp1bWluZGVzdCBlaW5lIEFibGVobnVuZyBhdWYKKyAgICBkaWUgJ3RpbWluZyBtYXJrcycsIHNvIGRhc3MgdHJvdHpkZW0gZWluZSBaZWl0IGJlc3RpbW10IHdlcmRlbiBrYW5uLgorCisgICAgRGllIFByb3Aga2FubiBuaWNodCBnZXNldHp0IHdlcmRlbiBiencuIGVzIGhhdCBrZWluZW4gRWZmZWt0LgorCitTSUVIRSBBVUNIOgorICAgIFBfVFRZX0NPTFMsIFBfVFRZX1JPV1MsIFBfVFRZX1NIT1csIFBfVFRZLCBQX1RUWV9UWVBFCisKK0xFVFpURSBBZU5ERVJVTkc6CisgICAgMDMuMDIuMjAxMywgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9URVNUUExBWUVSIGIvZG9jL3Byb3BzL1BfVEVTVFBMQVlFUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjY0YWRlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVEVTVFBMQVlFUgpAQCAtMCwwICsxLDI5IEBACitOQU1FOgorICAgIFBfVEVTVFBMQVlFUiAgICAgICAgICAgICAgICAgICJ0ZXN0cGxheWVyIiAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgR2VzZXR6dCwgd2VubiBkZXIgU3BpZWxlciBlaW4gVGVzdHNwaWVsZXIgaXN0LiBFbnRoYWVsdCBkaWUgVUlEIGRlcworICAgICBNYWdpZXJzLCBkZW0gZGllc2VyIFRlc3RpZSAobW9tZW50YW4pIGdlaG9lcnQuCisgICAgIAorICAgICBCZWkgVGVzdHNwaWVsZXJuIGR1ZXJmZW4gU2tpbGxzIGdlYWVuZGVydCB3ZXJkZW4sIHNpZSBkdWVyZmVuIGdlemFwcHQKKyAgICAgd2VyZGVuIHVuZCAtIGlocmUgZWlnZW50bGljaGUgQXVmZ2FiZSAtIG5pY2h0IGFuZ2VzY2hsb3NzZW5lIEdlYmlldGUKKyAgICAgdGVzdGVuLgorCisgICAgIEFVU05BSE1FTjogR2lsZGVudGVzdGllcyBkdWVyZmVuIG51ciBzZWhyIGVpbmdlc2NocmFlbmt0IG1hbmlwdWxpZXJ0CisgICAgICAgICAgICAgICAgd2VyZGVuIHdlcmRlbiwgZGEgc2llIGltIGdhbnplbiBNdWQgcnVtbGF1ZmVuIGtvZW5uZW4sCisgICAgICAgICAgICAgICAgU3BpZWxlcmtvbnRha3QgaGFiZW4gdW5kIG5hY2ggQWJzY2hsdXNzIGRlciBUZXN0cyBnZ2YuIHNvZ2FyCisgICAgICAgICAgICAgICAgZGllIFRlc3RpZW1hcmtpZXJ1bmcgZW50ZmVybnQgd2VyZGVuIGthbm4uCisgICAgICAgICAgICAgICAgCisgICAgIEZ1ZXIgU3BpZWxlcnRlc3RpZXMsIGRpZSB2b24gZWluZW0gU3BpZWxlciBrb250cm9sbGllcnQgd2VyZGVuLCBnZWx0ZW4KKyAgICAgdGVpbHdlaXNlIGJlc29uZGVyZSBSZWdlbG4sIHMuICdzcGllbGVydGVzdGllcycuCisKK0JFTUVSS1VOR0VOOiAKKyAgICAgUF9URVNUUExBWUVSIGthbm4gbnVyIHBlciBTZXRQcm9wKCkgZ2VzZXR6dCB3ZXJkZW4gdW5kIGRhcyBhdWNoIG51ciBlaW4KKyAgICAgTWFsISBHZWxvZXNjaHQgd2VyZGVuIGthbm4gZGFzIEZsYWcgbnVyIHZvbiBFTSsuCisKK1pVTEVUWlQgR0VBZU5ERVJUOgorMDUuMDEuMjAxMCwgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9USU1FRF9BVFRSX01PRCBiL2RvYy9wcm9wcy9QX1RJTUVEX0FUVFJfTU9ECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNzVjNTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9USU1FRF9BVFRSX01PRApAQCAtMCwwICsxLDU5IEBACitOQU1FOgorICAgIFBfVElNRURfQVRUUl9NT0QgICAgICAgICAidGltZWRfYXR0cl9tb2QiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2xpdmluZy9hdHRyaWJ1dGVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEluIGRpZXNlciBQcm9wZXJ0eSB3ZXJkZW4gQXR0cmlidXQtTW9kaWZpa2F0b3JlbiBnZXNwZWljaGVydCwgZGllCisgICAgbmljaHQgdWViZXIgbGFlbmdlcmUgWmVpdCB3aXJrc2FtIHNlaW4gc29sbGVuLgorICAgIERpZSBXaXJrc2Fta2VpdCBkZXIgTW9kaWZpa2F0b3JlbiBrYW5uIGFuIFplaXQgdW5kIE9iamVrdGUKKyAgICBnZWJ1bmRlbiB3ZXJkZW4uCisKKyAgICBJbnRlcm4gd2VyZGVuIGRpZSBNb2RpZmlrYXRvcmVuIGluIGVpbmVyIERhdGVuc3RydWt0dXIgZGVyIEZvcm0KKworICAgICh7CisgICAgICAgKHsgQWJsYXVmemVpdGVuIH0pLAorICAgICAgIChbIEtleSA6IEFibGF1Zm9iamVrdCBdKSwKKyAgICAgICAoWyBLZXkgOiAoWyBNYXBwaW5nIG1pdCBkZW4gTW9kaWZpa2F0b3JlbiBdKTsKKyAgICAgICAgIEFibGF1ZnplaXQgOyBBYmxhdWZvYmpla3QgOyBOYWNocmljaHRlbmVtcGZhZW5nZXIKKyAgICAgICBdKQorICAgIH0pCisKKyAgICBnZXNwZWljaGVydCBtaXQ6CisgICAgKiBBYmxhdWZ6ZWl0ZW46ICBaZWl0IGluIFNla3VuZGVuIHNlaXQgMS4gSmFuIDE5NzAsIDAuMDowIEdNVAorICAgICogQWJsYXVmb2JqZWt0ZTogT2JqZWt0ZSwgYW4gZGVyZW4gRXhpc3RlbnogZGllIEF0dHJpYnV0LQorICAgICAgICAgICAgICAgICAgICAgdmVyYWVuZGVydW5nZW4gZ2VidW5kZW4gc2luZAorICAgICogTmFjaHJpY2h0ZW5lbXBmYWVuZ2VyOgorICAgICAgT2JqZWt0ZS9LbGFzc2VuLCB3ZWxjaGUgdWViZXIgYWJnZWxhdWZlbmUgQXR0cmlidXR2ZXJhZW5kZXJ1bmcKKyAgICAgIGR1cmNoIGRlbiBBdWZydWYgdm9uICJOb3RpZnlUaW1lZEF0dHJNb2RFeHBpcmVkIiAobWl0IGtleSBhbHMKKyAgICAgIEFyZ3VtZW50KSBiZW5hY2hyaWNodGlndCB3ZXJkZW4uCisKKyAgICBEYXMgU2V0emVuIGRlciBXZXJ0ZSBlcmZvbGd0IE5VUiB1ZWJlciBkaWUgTWV0aG9kZW4gU2V0VGltZWRBdHRyTW9kaWZpZXIKKyAgICB1bmQgRGVsZXRlVGltZWRBdHRyTW9kaWZpZXIuCisKKyAgICBEaWUgRGF0ZW4genUgZWluZW0gS2V5IGtvZW5uZW4gdWViZXIgUXVlcnlUaW1lZEF0dHJNb2RpZmllciBhYmdlZnJhZ3QKKyAgICB3ZXJkZW4uIERpZSBBYmZyYWdlIG1pdHRlbHMgUXVlcnlQcm9wIGxpZWZlcnQgZWluZSBLb3BpZSBkZXIgZ3VlbHRpZ2VuCisgICAgRGF0ZW5zdHJ1a3R1ciwgZGllIHBlciBRdWVyeSBuaWNodCAoc2llaGUgQmVtZXJrdW5nZW4pLgorCisgICAgRGllIEJlZGluZ3VuZ2VuIGZ1ZXIgZGllIHVlYmVyIFBfVElNRURfQVRUUl9NT0QgZ2VzZXR6dGVuCisgICAgQXR0cmlidXR2ZXJhZW5kZXJ1bmdlbiB3ZXJkZW4gaW0gSGVhcnRiZWF0IGluIGRlciBGdW5rdGlvbgorICAgIGF0dHJpYnV0ZV9oYiB1ZWJlcnBydWVmdC4gRWluZSB2ZXJtaW5kZXJ0ZSBGdW5rdGlvbmFsaXRhZXQgaW0KKyAgICBGYWxsZSB2b24gTWFnaWVybiBpc3Qgc29taXQga2VpbiBGZWhsZXJmYWxsLgorCitCRU1FUktVTkdFTjoKKyAgICBLZWluZSBlY2h0ZSBQcm9wZXJ0eS4gRGllIE1ldGhvZGUgX3F1ZXJ5X3RpbWVkX2F0dHJfbW9kKCkgaW4KKyAgICAvc3RkL2xpdmluZy9hdHRyaWJ1dGVzLmMgc3RlbGx0IGRpZSBEYXRlbiB6dXNhbW1lbi4KKworICAgIEFDSFRVTkc6IEJpdHRlIG51ciBkaWUgYmVyZWl0Z2VzdGVsbHRlbiBNZXRob2RlbiB6dXIgTWFuaXB1bGF0aW9uCisgICAgICAgICAgICAgYmVudXR6ZW4hIFNldHplbiBhbHMgUHJvcGVydHkgaGF0IGtlaW5lbiBFZmZla3QuCisKK1NJRUhFIEFVQ0g6CisgICAgUXVlcnlBdHRyaWJ1dGUoKSwgUXVlcnlSZWFsQXR0cmlidXRlKCksIFF1ZXJ5QXR0cmlidXRlT2Zmc2V0KCksCisgICAgU2V0QXR0cmlidXRlKCksIFNldFJlYWxBdHRyaWJ1dGUoKSwgVXBkYXRlQXR0cmlidXRlcygpLAorICAgIFNldFRpbWVkQXR0ck1vZGlmaWVyKCksIFF1ZXJ5VGltZWRBdHRyTW9kaWZpZXIoKSwKKyAgICBEZWxldGVUaW1lZEF0dHJNb2RpZmllcigpLAorICAgIFBfQVRUUklCVVRFUywgUF9BVFRSSUJVVEVTX09GRlNFVFMsIFBfQVRUUklCVVRFU19NT0RJRklFUiwKKyAgICBQX1hfQVRUUl9NT0QsIFBfTV9BVFRSX01PRCwgL3N0ZC9saXZpbmcvYXR0cmlidXRlcy5jCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUdWUgSnVsIDI3IDIwOjAwOjIwIDIwMDQgYnkgTXVhZGliCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9USU1FWk9ORSBiL2RvYy9wcm9wcy9QX1RJTUVaT05FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNDNkMDcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9USU1FWk9ORQpAQCAtMCwwICsxLDEwIEBACitOQU1FOgorICAgIFBfVElNRVpPTkUgICAgICAgICAgICAgICAgICJ0aW1lem9uZSIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcGxheWVyL2Jhc2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEVpbiBJbnRlZ2VyLVdlcnQsIGRlciBiZWkgZGVyIFVocnplaXRtZWxkdW5nIHVuZCBiZWltIEJlZmVobAorICAgICAiKHVocil6ZWl0IiBiZXJ1ZWNrc2ljaHRpZyB3aXJkLiBHaWJ0IGRpZSBBbnphaGwgZGVyIFN0dW5kZW4KKyAgICAgWmVpdGFid2VpY2h1bmcgdm9uIEJlcmxpbmVyIFplaXQgYW4uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9USVRMRSBiL2RvYy9wcm9wcy9QX1RJVExFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YWZkNTcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9USVRMRQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9USVRMRSAgICAgICAgICAgICAgICAgICAgICAgInRpdGxlIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgVGl0ZWwgZGVzIFNwaWVsZXJzLiBFcnNjaGVpbnQgaGludGVyIGRlbSBOYW1lbiBpbiBLdXJ6L0xhbmdiZXNjaHJlaWJ1bmcuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UT09fSEVBVllfTVNHIGIvZG9jL3Byb3BzL1BfVE9PX0hFQVZZX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yN2VmMzE1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVE9PX0hFQVZZX01TRwpAQCAtMCwwICsxLDMxIEBACitOQU1FOgorICAgIFBfVE9PX0hFQVZZX01TRyAgICAgICAgICAgICAgICAgICAgICAidG9vX2hlYXZ5X21zZyIgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RoaW5nL21vdmluZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZWluZSBNZWxkdW5nLCBkaWUgYXVzZ2VnZWJlbiB3aXJkLCB3ZW5uIGplbWFuZAorICAgICB2ZXJzdWNodCwgZWluIE9iamVrdCBpbiBlaW5lbiBCZWhhZWx0ZXIgenUgbGVnZW4sIGZ1ZXIgZGVuIGRpZXNlcyBPYmpla3QKKyAgICAgenUgc2Nod2VyIGlzdC4KKyAgICAgRGllIFByb3BlcnR5IGlzdCBpbSBCZWhhZWx0ZXIgenUgc2V0emVuLgorICAgICBJc3QgZGllc2UgUHJvcGVydHkgbmljaHQgb2RlciBhdWYgZWluZW4gbmljaHQtU3RyaW5nLVdlcnQgZ2VzZXR6dCwKKyAgICAgc28gd2lyZCBkaWUgU3RhbmRhcmRtZWxkdW5nIGF1c2dlZ2ViZW4uCisgICAgICgiPE9iamVrdD4gcGFzc3QgaW4gPEJlaGFlbHRlcj4gbmljaHQgbWVociByZWluLiIpCisgICAgIERlciBTdHJpbmcgaW4gZGVyIFByb3BlcnR5IHdpcmQgbm9jaCBkdXJjaCByZXBsYWNlX3BlcnNvbmFsKCkKKyAgICAgdmVyYXJiZWl0ZXQsIGRhcyB6dSBiZXdlZ2VuZGUgT2JqZWt0IHdpcmQgYWxzIGVyc3RlcywgZGVyIEJlaGFlbHRlciBhbHMKKyAgICAgendlaXRlcyBPYmpla3QgYW5nZWdlYmVuLiBEYW5hY2ggd2lyZCBkZXIgU3RyaW5nIGF1ZiA3OCBaZWljaGVuCisgICAgIHVtZ2Vicm9jaGVuLgorICAgICBEYXMgU2V0emVuIGVpbmVzIGxlZXJlbiBTdHJpbmdzIHVudGVyZHJ1ZWNrdCBkaWUgQXVzZ2FiZSBlaW5lciBNZWxkdW5nCisgICAgIGdhbnouCisKK0JFSVNQSUVMRToKKyAgICAgU2V0UHJvcChQX1RPT19IRUFWWV9NU0csICJXZW5uIGR1IEBXRU4xIG5vY2ggaW4gZGVuIEJldXRlbCBzdGVja2VuIgorCQkJICAgICAgIiB3dWVyZGVzdCwgd3VlcmRlIGVyIHJlaXNzZW4uIik7CisKK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfRU5WX1RPT19IRUFWWV9NU0csIFBfVE9PX01BTllfTVNHLCBQX05PSU5TRVJUX01TRywKKyAgICAgICAgICAgICAgICAgUF9OT0xFQVZFX01TRywgUF9OT0RST1AsIFBfTk9HRVQgCisgICAgIEVyZm9sZzogICAgIFBfUElDS19NU0csIFBfRFJPUF9NU0csIFBfR0lWRV9NU0csIFBfUFVUX01TRywKKyAgICAgICAgICAgICAgICAgUF9XRUFSX01TRywgUF9XSUVMRF9NU0cKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgL3N0ZC9saXZpbmcvcHV0X2FuZF9nZXQuYwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVE9PX01BTllfTVNHIGIvZG9jL3Byb3BzL1BfVE9PX01BTllfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyM2NlMzIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UT09fTUFOWV9NU0cKQEAgLTAsMCArMSwzMSBAQAorTkFNRToKKyAgICBQX1RPT19NQU5ZX01TRyAgICAgICAgICAgICAgICAgICAgICAidG9vX21hbnlfbXNnIiAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvbW92aW5nLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBlaW5lIE1lbGR1bmcsIGRpZSBhdXNnZWdlYmVuIHdpcmQsIHdlbm4gamVtYW5kCisgICAgIHZlcnN1Y2h0LCBlaW4gT2JqZWt0IGluIGVpbmVuIEJlaGFlbHRlciB6dSBsZWdlbiwgZGVyIHNjaG9uIGRpZSBtYXhpbWFsZQorICAgICBBbnphaGwgYW4gT2JqZWt0ZW4gZW50aGFlbHQuCisgICAgIERpZSBQcm9wZXJ0eSBpc3QgaW0gQmVoYWVsdGVyIHp1IHNldHplbi4KKyAgICAgSXN0IGRpZXNlIFByb3BlcnR5IG5pY2h0IG9kZXIgYXVmIGVpbmVuIG5pY2h0LVN0cmluZy1XZXJ0IGdlc2V0enQsCisgICAgIHNvIHdpcmQgZGllIFN0YW5kYXJkbWVsZHVuZyBhdXNnZWdlYmVuLgorICAgICAoIkRhZnVlciBpc3QgbmljaHQgbWVociBnZW51ZyBQbGF0eiBpbiA8QmVoYWVsdGVyPi4iKQorICAgICBEZXIgU3RyaW5nIGluIGRlciBQcm9wZXJ0eSB3aXJkIG5vY2ggZHVyY2ggcmVwbGFjZV9wZXJzb25hbCgpCisgICAgIHZlcmFyYmVpdGV0LCBkYXMgenUgYmV3ZWdlbmRlIE9iamVrdCB3aXJkIGFscyBlcnN0ZXMsIGRlciBCZWhhZWx0ZXIgYWxzCisgICAgIHp3ZWl0ZXMgT2JqZWt0IGFuZ2VnZWJlbi4gRGFuYWNoIHdpcmQgZGVyIFN0cmluZyBhdWYgNzggWmVpY2hlbgorICAgICB1bWdlYnJvY2hlbi4KKyAgICAgRGFzIFNldHplbiBlaW5lcyBsZWVyZW4gU3RyaW5ncyB1bnRlcmRydWVja3QgZGllIEF1c2dhYmUgZWluZXIgTWVsZHVuZworICAgICBnYW56LgorCitCRUlTUElFTEU6CisgICAgIFNldFByb3AoUF9UT09fTUFOWV9NU0csICJBYmVyIGRlciBLb3JiIGhhdCBkb2NoIG51ciBkcmVpIEZhZWNoZXIsIGRpZSIKKwkJCSAgICAgIiBzaW5kIGFsbGUgc2Nob24gdm9sbC4iKTsKKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2hlczogUF9UT09fSEVBVllfTVNHLCBQX0VOVl9UT09fSEVBVllfTVNHLCBQX05PSU5TRVJUX01TRywKKyAgICAgICAgICAgICAgICAgUF9OT0xFQVZFX01TRywgUF9OT0RST1AsIFBfTk9HRVQgCisgICAgIEVyZm9sZzogICAgIFBfUElDS19NU0csIFBfRFJPUF9NU0csIFBfR0lWRV9NU0csIFBfUFVUX01TRywKKyAgICAgICAgICAgICAgICAgUF9XRUFSX01TRywgUF9XSUVMRF9NU0cKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgL3N0ZC9saXZpbmcvcHV0X2FuZF9nZXQuYwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVE9UQUxfQUMgYi9kb2MvcHJvcHMvUF9UT1RBTF9BQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjJjZmZhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVE9UQUxfQUMKQEAgLTAsMCArMSwyMyBAQAorTkFNRToKKyAgICBQX1RPVEFMX0FDICAgICAgICAgICAgICAgICAgICAidG90YWxfYWMiICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTnVtZXJpc2NoZXIgV2VydCBkZXIgQWJ3ZWhyc3RhZXJrZSBkZXMgV2VzZW5zLgorICAgICBEaWVzZXIgd2lyZCBkdXJjaCBBdWZhZGRpZXJlbiBkZXIgUF9BQyBhbGxlciBnZXRyYWdlbmVuIFJ1ZXN0dW5nZW4KKyAgICAgYmVzdGltbXQuIEF1cyBkaWVzZW0gR3J1bmQgaXN0IGRhcyBBYmZyYWdlbiBkaWVzZXIgUHJvcGVydHkgemllbWxpY2gKKyAgICAgdGV1ZXIuIEZhbGxzIGRhcyBFcmdlYm5pcyBtZWhyZmFjaCBrdXJ6IGhpbnRlcmVpbmFuZGVyIGdlYnJhdWNodCB3aXJkLAorICAgICBzb2xsdGUgZGllIFByb3BlcnR5IGF1ZiBqZWRlbiBGYWxsIG51ciBlaW5tYWwgYWJnZWZyYWd0IHVuZCBkZXIgV2VydAorICAgICBnZXNwZWljaGVydCB3ZXJkZW4uCisKK0JFTUVSS1VOR0VOOgorICAgIEF1ZiBkaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbmljaHQgbWl0dGVscyBRdWVyeSgpIG9kZXIgU2V0KCkgenVnZWdyaWZmZW4KKyAgICB3ZXJkZW4sIGRhcyBTZXR6ZW4gdm9uIFF1ZXJ5LSBvZGVyIFNldG1ldGhvZGVuIGJpdHRlIGF1ZiBqZWRlbiBGYWxsCisgICAgdW50ZXJsYXNzZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgUF9BQworCiswNS4wOS4yMDA4LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UT1RBTF9MSUdIVCBiL2RvYy9wcm9wcy9QX1RPVEFMX0xJR0hUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxMDA2ZDIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UT1RBTF9MSUdIVApAQCAtMCwwICsxLDIzIEBACitOQU1FOgorICAgIFBfVE9UQUxfTElHSFQgICAgICAgICAgICAgICAgICJ0b3RhbF9saWdodCIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBHaWJ0IGRhcyBMaWNodGxldmVsIGFuLCBkYXMgdm9uIGVpbmVtIE9iamVrdCBhdXNnZWh0LiBIaWVyenUgd2lyZCBkYXMKKyAgICBlaWdlbmUgTGljaHRsZXZlbCBQX0xJR0hUIG1pdCBkZW0gZ2VzYW10ZW4gSW5oYWx0IGVpbmVzIENvbnRhaW5lcnMKKyAgICB2ZXJyZWNobmV0LgorCisgICAgQml0dGUgX251cl8gdWViZXIgUXVlcnlQcm9wIGF1ZiBkaWVzZSBQcm9wZXJ0eSB6dWdyZWlmZW4sCisgICAgZGEgZGFzIExpY2h0bGV2ZWwgZ2dmLiBuZXUgYmVyZWNobmV0IHdlcmRlbiBtdXNzIQorCisgICAgRWluIGRpcmVrdGVzIHNldHplbiBkaWVzZXIgUHJvcGVydHkgaXN0IE5JQ0hUIG1vZWdsaWNoLCBoaWVyenUgYml0dGUKKyAgICBQX0xJR0hUIGJlbnV0emVuIQorCitCRU1FUktVTkdFTjoKKyAgICBEYXMgaXN0IGRpZSBWT04gZWluZW0gT2JqZWt0IGF1c2dlaGVuZGUgTGljaHRzdGFlcmtlLiBGdWVyIGRhcyBJTiBlaW5lbQorICAgIFJhdW0gaGVycnNjaGVuZGUgTGljaHQgYml0dGUgUF9JTlRfTElHSFQgYWJmcmFnZW4hCisKK1NJRUhFIEFVQ0g6CisgICAgUF9MSUdIVCwgUF9JTlRfTElHSFQsIFBfUExBWUVSX0xJR0hULCBQX0xJR0hUX01PRElGSUVSLCBDYW5ub3RTZWUoKQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVE9UQUxfT0JKRUNUUyBiL2RvYy9wcm9wcy9QX1RPVEFMX09CSkVDVFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWYwMTU2NwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RPVEFMX09CSkVDVFMKQEAgLTAsMCArMSwxNiBAQAorTkFNRToKKyAgICBQX1RPVEFMX09CSkVDVFMgICAgICAgICAgICAgICAgInRvdGFsX29iamVjdHMiICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9jb250YWluZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEFuemFobCBkZXIgT2JqZWt0ZSBpbSBDb250YWluZXIuIERpZXNlIFByb3BlcnR5IGthbm4gbWFuIG51ciBhYmZyYWdlbiEKKyAgICAgRXMgd2VyZGVuIG51ciBPYmpla3RlIGdlemFlaGx0LCBkZXJlbiBNZXRob2RlIHNob3J0KCkgZWluZW4KKyAgICAgV2VydCAhPSAwIHp1cnVlY2tnaWJ0LiBJbnNvZmVybiBrb2VubmVuIFNwaWVsZXJuIGJlbGllYmlnCisgICAgIHZpZWxlIHVuc2ljaHRiYXJlIE9iamVrdGUgZ2VnZWJlbiB3ZXJkZW4gb2huZSBzaWUgenUgYmVoaW5kZXJuLgorCitTSUVIRSBBVUNIOgorICAgICBQX01BWF9PQkpFQ1RTCisKKzI2LkphbiAyMDA1IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UT1RBTF9XQyBiL2RvYy9wcm9wcy9QX1RPVEFMX1dDCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ZWY0YTkKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UT1RBTF9XQwpAQCAtMCwwICsxLDI3IEBACitOQU1FOgorCVBfVE9UQUxfV0MJCQkidG90YWxfd2MiCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisJSW4gZGllc2VyIFByb3BlcnR5IHdpcmQgZGVyIG51bWVyaXNjaGUgV2VydCBkZXIgQW5ncmlmZnNzdGFlcmtlCisJZWluZXMgTGViZXdlc2VucyByZWdpc3RyaWVydC4KKyAgSGllcnp1IHdlcmRlbiBkaWUgUF9XQyB2b24gUF9XRUFQT04gYnp3LiBQX0hBTkRTIHNvd2llIGRpZSBLcmFmdCBkZXMKKyAgTGViZXdlc2VucyBiZXJ1ZWNrc2ljaHRpZ3QuCisJTmljaHQgZWluZ2VyZWNobmV0IGluIGRpZSBBbmdyaWZmc3N0YWVya2Ugc2luZCBuYXR1ZXJsaWNoIEV4dHJhc3BlbGxzIHVuZAorICAtc2tpbGxzIGRlcyBBbmdyZWlmZXJzLgorICBCcmF1Y2h0IG1hbiBkZW4gV2VydCBtZWhyZmFjaCBrdXJ6IGhpbnRlcmVpbmFuZGVyLCBzb2xsdGUgbWFuIGRpZSBQcm9wIGFiZXIKKyAgbnVyIGVpbm1hbCBhYmZyYWdlbiB1bmQgZGVuIFdlcnQgc3BlaWNoZXJuIChzb2Zlcm4gc2ljaCBpbiBkZXIgWndpc2NoZW56ZWl0CisgIG5pY2h0cyBhbiBkZXIgV2FmZmUsIGRlbiBIYW5kcyBvZGVyIGRlbiBBdHRyaWJ1dGVuIGRlcyBMZWJlbndlc2VucyBhZW5kZXJ0KS4KKworQkVNRVJLVU5HRU46CisgIEF1ZiBkaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbmljaHQgbWl0dGVscyBRdWVyeSgpIG9kZXIgU2V0KCkgenVnZWdyaWZmZW4gCisgIHdlcmRlbiwgZGFzIFNldHplbiB2b24gUXVlcnktIG9kZXIgU2V0bWV0aG9kZW4gYml0dGUgYXVmIGplZGVuIEZhbGwgCisgIHVudGVybGFzc2VuLgorCitTSUVIRSBBVUNIOgorCVBfSEFORFMsIFBfV0MsIFBfWFAKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMDUuMDkuMjAwOCwgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVE9UQUxfV0VJR0hUIGIvZG9jL3Byb3BzL1BfVE9UQUxfV0VJR0hUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiNjJkYjEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UT1RBTF9XRUlHSFQKQEAgLTAsMCArMSw4IEBACitOQU1FOgorICAgIFBfVE9UQUxfV0VJR0hUICAgICAgICAgICAgICAgICJ0b3RhbF93ZWlnaHQiICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9yZXN0cmljdGlvbnMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEdld2ljaHQgaW5jbC4gSW5oYWx0IGluIEdyYW1tLiBQX1dFSUdIVF9QRVJDRU5UIHdpcmQgYmVydWVja3NpY2h0aWd0LgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVE9VQ0hfREVUQUlMUyBiL2RvYy9wcm9wcy9QX1RPVUNIX0RFVEFJTFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDA2NzBmNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RPVUNIX0RFVEFJTFMKQEAgLTAsMCArMSwyNCBAQAorTkFNRToKKyAgICBQX1RPVUNIX0RFVEFJTFMgICAgICAgICAgICAidG91Y2hfZGV0YWlscyIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvZGVzY3JpcHRpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgRGllc2UgUHJvcGVydHkgZW50c3ByaWNodCBkZW0gUF9ERVRBSUxTIGZ1ZXIgU3RhbmRhcmRkZXRhaWxzLAorICAgIG51ciB3ZXJkZW4gaGllcmluIEdlcnVlY2hlIGdlc3BlaWNoZXJ0OgorICAgIERpZXNlIFByb3BlcnR5IGVudGhhZWx0IGVpbiBNYXBwaW5nLCBpbiBkZXIgRGV0YWlscyBpbSBPYmpla3QKKyAgICBkZWZpbmllcnQgd2VyZGVuIHVuZCBCZXNjaHJlaWJ1bmdlbiwgZGllIGF1c2dlZ2ViZW4gd2VyZGVuLCB3ZW5uIG1hbgorICAgIHNpY2ggZGllc2UgRGV0YWlscyBhbnNjaGF1dC4KKworQkVNRVJLVU5HRU46CisgICAgTWFuIHNvbGx0ZSBkaWVzZSBQcm9wZXJ0eSBuaWNodCBwZXIgSGFuZCB2ZXJhZW5kZXJuLCBzb25kZXJuIGRpZQorICAgIEZ1bmt0aW9uZW4gbnV0emVuLgorCitTSUVIRSBBVUNIOgorICAgIFNldHplbjogICAgQWRkVG91Y2hEZXRhaWwoKQorICAgIExvZXNjaGVuOiAgUmVtb3ZlVG91Y2hEZXRhaWwoKQorICAgIEFlaG5saWNoOiAgQWRkRGV0YWlsKCksIFBfREVUQUlMUworICAgIFNvbnN0aWdlczogR2V0RGV0YWlsKCksIGJyZWFrX3N0cmluZygpCisKKzI3LiBKYW4gMjAxMyBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RQT1JUX0NPU1RfSU4gYi9kb2MvcHJvcHMvUF9UUE9SVF9DT1NUX0lOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNWU5NDgKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UUE9SVF9DT1NUX0lOCkBAIC0wLDAgKzEsOSBAQAorTkFNRToKKyAgICBQX1RQT1JUX0NPU1RfSU4gICAgICAgICAgICAgICAidHBvcnRfY29zdF9pbiIgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgSW4gZWluZW0gUmF1bSBtaXQgU2VoZXJ0b3I6IEtvc3RlbmFudGVpbCwgdW0gc2ljaCBpbiBkZW4gUmF1bSB6dQorICAgICB0ZWxlcG9ydGllcmVuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UUE9SVF9DT1NUX09VVCBiL2RvYy9wcm9wcy9QX1RQT1JUX0NPU1RfT1VUCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2OWEzNWQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UUE9SVF9DT1NUX09VVApAQCAtMCwwICsxLDkgQEAKK05BTUU6CisgICAgUF9UUE9SVF9DT1NUX09VVCAgICAgICAgICAgICAgInRwb3J0X2Nvc3Rfb3V0IiAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEluIGVpbmVtIFJhdW0gbWl0IFNlaGVydG9yOiBLb3N0ZW5hbnRlaWwsIHNpY2ggYXVzIGRlbSBSYXVtIGhlcmF1cworICAgICB6dSB0ZWxlcG9ydGllcmVuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UUkFOS19GSU5ERU4gYi9kb2MvcHJvcHMvUF9UUkFOS19GSU5ERU4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRiMjM2NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RSQU5LX0ZJTkRFTgpAQCAtMCwwICsxLDkgQEAKK05BTUU6CisgICAgUF9UUkFOS19GSU5ERU4gICAgICAgICAgICAgICAgInRyYW5rX2ZpbmRlbiIgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9wb3Rpb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFdlbm4gZGllIFByb3BlcnR5IGF1ZiAxIHN0ZWh0IGthbm4gaW1tZXIgZWluIFphdWJlcnRyYW5rIGdlZnVuZGVuCisgICAgIHdlcmRlbiwgYXVjaCB3ZW5uIGVyIG5pY2h0IGluIGRlciBMaXN0ZSBkZXMgU3BpZWxlcnMgc3RlaHQuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UUkFOU1BBUkVOVCBiL2RvYy9wcm9wcy9QX1RSQU5TUEFSRU5UCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwODFiMDAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UUkFOU1BBUkVOVApAQCAtMCwwICsxLDI5IEBACitQX1RSQU5TUEFSRU5UCitOQU1FOgorICAgICBQX1RSQU5TUEFSRU5UICAgICAgICAgICAgICAgICAidHJhbnNwYXJlbnQiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9jb250YWluZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIGlzdCAhPSAwLCB3ZW5uIGluIGVpbmVuIENvbnRhaW5lciBoaW5laW4gKG9mZmVuKSBvZGVyIGF1cyBlaW5lbSAKKyAgICAgaGluYXVzZ2VzY2hhdXQgd2VyZGVuIGthbm4uCisKKyAgICAgU2NoYXV0IG1hbiBhdXMgZWluZW0gaGluYXVzLCBlcmhhZWx0IGRlciBTcGllbGVyIG5vcm1hbGVyd2Vpc2UgZGllIAorICAgICBNZWxkdW5nICdBdXNzZXJoYWxiIHNpZWhzdCBEdTonLiBEaWVzZSBrYW5uIGplZG9jaCBkdXJjaCBlaW5lIGVpZ2VuZSwgCisgICAgIHN0aW1taWdlcmUgIE1lbGR1bmcgZXJzZXR6dCB3ZXJkZW4sIHdlbm4gaW4gUF9UUkFOU1BBUkVOVCBlaW4gU3RyaW5nIAorICAgICBtaXQgZGllc2VyIE1lbGR1bmcgYW5nZWdlYmVuIHdpcmQuCisKK0JFSVNQSUVMOgorICAgICBTZXRQcm9wKFBfVFJBTlNQQVJFTlQsMSk7IC0+IG5vcm1hbGUgTWVsZHVuZworCisgICAgIFNldFByb3AoUF9UUkFOU1BBUkVOVCwiVm9tIFJ1ZWNrZW4gZGVzIFBmZXJkZXMgYXVzIHNpZWhzdCBEdTpcbiIpOworCisgICAgIERpZXNlIE1lbGR1bmcgaXN0IG5hdHVlcmxpY2ggbnVyIGRhbm4gc2lubnZvbGwsIHdlbm4gZXMgc2ljaAorICAgICBhdWNoIHRhdHNhZWNobGljaCB1bSBlaW4gUGZlcmQgaGFuZGVsdCA6LSkKKworU0lFSEUgQVVDSDoKKyAgICAgaW50X2xvbmcoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBNb24gSnVsIDE4IDI0OjAwOjAwIDIwMDEgYnkgVGlsbHkKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RSQVZFTF9DTURTIGIvZG9jL3Byb3BzL1BfVFJBVkVMX0NNRFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzJmNmY2NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RSQVZFTF9DTURTCkBAIC0wLDAgKzEsMzggQEAKK05BTUU6CisgICAgUF9UUkFWRUxfQ01EUyAgICAgICAgICAgICAgICAgICAidHJhdmVsX2NtZHMiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90cmFuc3BvcnQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRWluIEFycmF5IG1pdCBCZWZlaGxlbiwgZGllIHp1bSBWZXJsYXNzZW4gVU5EIEJldHJldGVuIGRlcyBUcmFucy0KKyAgICBwb3J0ZXJzIGZ1ZWhyZW4uIAorCitCRUlTUElFTDoKKyAgICB2b2lkIGNyZWF0ZSgpCisgICAgeworICAgICAgOjpjcmVhdGUoKTsKKworICAgICAgU2V0UHJvcChQX1RSQVZFTF9DTURTLCh7ICJzdGVpZyIsInN0ZWlnZSIgfSkgKTsKKworICAgIH0KKworICAgIEFscyBQYXJhbWV0ZXIgd2VyZGVuIGhpZXIgYXVzc2NobGllc3NsaWNoICdhdWYsaW4nIHVuZCAndm9uLGF1cycKKyAgICB2ZXJhcmJlaXRldC4KKworICAgIHN0ZWlnZSBhdWZ8aW4gIDx4eHg+ICAgIGZ1ZWhydCBhbHNvIHp1bSBCZXRyZXRlbiBkZXMgVHJhbnNwb3J0ZXJzLAorICAgIHN0ZWlnZSB2b258YXVzIDx4eHg+ICAgIGRhZ2VnZW4gZnVlaHJ0IHp1bSBWZXJsYXNzZW4gZGVzc2VsYmVuLgorCitCRU1FUktVTkdFTjoKKyAgICBVbSAvc3RkL3RyYW5zcG9ydC5jIG5pY2h0IGF1Znp1YmxhZWhlbiwgd2VyZGVuIHdlaXRlcmUgUGFyYW1ldGVyIHdpZQorICAgIGV0d2EgJ3N0ZWlnZSBhdWZ8aW4gZGFzfGRpZXxkZW4geHh4JyBfbmljaHRfIHVudGVyc3R1ZXR6dCEKKworICAgIEhpZXIgbXVzcyBkZXIgdmVyYW50d29ydGxpY2hlIE1hZ2llciBzY2hvbiBlaW5lIGVpZ2VuZSBMb2VzdW5nIGZpbmRlbgorICAgIHVuZCBpbiBzZWluZW4gVHJhbnNwb3J0ZXIgc2NocmVpYmVuLgorCitTSUVIRSBBVUNIOgorICAgIFBfTEVBVkVGQUlMLCBQX0VOVEVSRkFJTCwgUF9FTlRFUkNNRFMsIFBfTEVBVkVDTURTLCB0cmFuc3BvcnRlciwKKworTEVUWlRFUiBBRU5ERVJVTkc6CisgICAgRG9uLCAyNC4wMS4yMDAyLCAxMDoxNTowN2ggdm9uIFRpbGx5CisgICAgClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVFJBVkVMX0lORk8gYi9kb2MvcHJvcHMvUF9UUkFWRUxfSU5GTwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2E1MDJlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVFJBVkVMX0lORk8KQEAgLTAsMCArMSwzMSBAQAorTkFNRToKKyAgICBQX1RSQVZFTF9JTkZPICAgICAgICAgICAgICAgICAidHJhdmVsX2luZm8iCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3RyYW5zcG9ydC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBBcnJheSBtaXQgSW5mb3JtYXRpb25lbiB6dXIgdm9tIFNwaWVsZXIgZ2V3dWVuc2NodGVuIFJlaXNlcm91dGUuCisKKyAgICBbMF0gICAgICAgIERlciBSYXVtIChvYmplY3QpLCBpbiBkZW0gZGllIFJlaXNlcm91dGUgbW9tZW50YW4gCisgICAgICAgICAgICAgICAnYWt0aXYnIGlzdC4gTnVyIGhpZXIgd2lyZCBzaWUgYmVydWVja3NpY2h0aWd0LgorCisgICAgWzFdICAgICAgICBEYXMgZ2V3dWVuc2NodGUgVHJhbnNwb3J0bWl0dGVsIChvYmplY3QpIGZhbGxzIAorICAgICAgICAgICAgICAgZ2V3YWVobHQuIEFuc29uc3RlbiAwLgorCisgICAgWzJdICAgICAgICBEZXIgZ2V3dWVuc2NodGUgWmllbG9ydCAoc3RyaW5nKSBvZGVyIDAgKHppZWxsb3MpLgorCisgICAgWzNdICAgICAgICBEZXIgZ2V3dWVuc2NodGUgWmllbG9ydCBhbHMgUmljaHR1bmcgKHN0cmluZyksIGZhbGxzCisgICAgICAgICAgICAgICBnZXdhZWhsdCAoei5CLiAnenVyIEZldWVyaW5zZWwnKS4gU29uc3QgMC4gV2lyZCBhdXMKKyAgICAgICAgICAgICAgIFBfSEFSQk9VUiBkZXMgWmllbHJhdW1lcyBhdXNnZWxlc2VuLgorCitCRU1FUktVTkdFTjoKKyAgICBEaWVzZSBQcm9wZXJ0eSB3aXJkIHZvbiAvc3RkL3RyYW5zcG9ydC5jIHNvd2llIHN0ZC9wbGF5ZXIvdHJhdmVsLmMKKyAgICB2ZXJ3ZW5kZXQsIHVuZCBzb2xsdGUgTklDSFQgdm9uIGFuZGVyZW4gT2JqZWt0ZW4gb2RlciBwZXIgSGFuZCAKKyAgICB2ZXJhZW5kZXJ0IHdlcmRlbiEKKworU0lFSEUgQVVDSDoKKyAgICAvc3RkL3RyYW5zcG9ydC5jLCAvc3RkL3BsYXllci90cmF2ZWwuYywgcmVpc2UKKworTEVUWlRFUiBBRU5ERVJVTkc6CisgICAgRG9uLCAyNC4wMS4yMDAyLCAxMDoxNTowN2ggdm9uIFRpbGx5CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UUkFZIGIvZG9jL3Byb3BzL1BfVFJBWQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGM5ZDkwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVFJBWQpAQCAtMCwwICsxLDggQEAKK05BTUU6CisgICAgUF9UUkFZICAgICAgICAgICAgICAgICAgICAgICAgInRyYXkiICAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgKioqIEtFSU5FIEJFU0NIUkVJQlVORyBWT1JIQU5ERU4gKioqCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UVFkgYi9kb2MvcHJvcHMvUF9UVFkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWU0YWRlZAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RUWQpAQCAtMCwwICsxLDI4IEBACitOQU1FOgorICAgIFBfVFRZICAgICAgICAgICAgICAgICAgICAgICAgICJ0dHkiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc2VjdXJlL3RlbG5ldG5lZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTmFtZSBkZXIgVGVybWluYWxlbXVsYXRpb24sIGRpZSBkZXIgU3BpZWxlciBudXR6dC4KKyAgICAgRXMgZXhpc3RpZXJlbiBiaXNoZXIgImR1bWIiLCAidnQxMDAiIHVuZCAiYW5zaSIuCisKKwkKK0FOTUVSS1VORzoKKyAgICAgRmFyYmVuIGR1ZXJmZW4gYXVzc2NobGllc3NsaWNoIGJlaSBQX1RUWT09ImFuc2kiIGJlbnV0enQgd2VyZGVuLgorICAgICBCZWkgbmljaHQgZmFyYmZhZWhpZ2VuIFRlcm1pbmFscyBrb2VubmVuIEFOU0ktQ29kZXMgZGllIGdlc2FtdGUKKyAgICAgQXVzZ2FiZSB6ZXJzY2hpZXNzZW4hCisKKyAgICAgRGllIEF0dHJpYnV0ZSBmZXR0LCB1bnRlcnN0cmljaGVuLCBibGlua2VuZCB1bmQgaW52ZXJzIGtvZW5uZW4gYXVjaAorICAgICBzY2hvbiB2b24gdnQxMDAtVGVybWluYWxzIGRhcmdlc3RlbGx0IHdlcmRlbi4gQWJlciBuaWNodCB1ZWJlcmFsbAorICAgICBzaW5kIGFsbGUgQXR0cmlidXRlL0ZhcmJlbiBpbXBsZW1lbnRpZXJ0LgorCisgICAgIEJlaSBhbGxlbiBBTlNJLUNvZGVzIHNpbmQgZHJlaSBTYWNoZW4genUgYmVhY2h0ZW46CisgICAgIAorICAgICAgICAxKSBTcGFyc2FtIGJlbnV0emVuISBBdWZnZXp3dW5nZW5lIEhlcnZvcmhlYnVuZ2VuIGtvZW5uZW4KKwkgICBTcGllbGVyIGdhbnogc2NobmVsbCBuZXJ2ZW4uCisKKwkyKSBOaWNodCBqZWRlciBiZW51dHp0IGRpZXNlbGJlIEhpbnRlcmdydW5kZmFyYmUhCisKKwkzKSBTcGFyc2FtIGJlbnV0emVuISBCZXNlciBub2NoOiBudXIgaW0gTm90ZmFsbCEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RUWV9DT0xTIGIvZG9jL3Byb3BzL1BfVFRZX0NPTFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcxNmEzMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RUWV9DT0xTCkBAIC0wLDAgKzEsMjIgQEAKK05BTUU6CisgICAgUF9UVFlfQ09MUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHR5X2NvbHMiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc2VjdXJlL3RlbG5ldG5lZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBJbiBkaWVzZXIgUHJvcGVydGllcyBzdGVodCBkaWUgQW56YWhsIGRlciBTcGFsdGVuLCBkaWUgZGFzIAorICAgIFRlcm1pbmFsZmVuc3RlciBkZXMgU3BpZWxlcnMgZGVyemVpdCBoYXQuCisKKyAgICBWb3JhdXNzZXR6dW5nIGhpZXJmdWVyIGlzdCBhbGxlcmRpbmdzLCBkYXNzIGRhcyBUZWxuZXQgZGVzIFNwaWVsZXJzCisgICAgVGVsbmV0bmVnb3RpYXRpb25zIHVudGVyc3R1ZXR6dCwgYW5zb25zdGVuIGJsZWlidCBkaWVzZSBQcm9wZXJ0eQorICAgIGxlZXIuCisgICAgRGFzIFNldHplbiBkZXIgUHJvcGVydHkgYWVuZGVydCBkaWUgRmVuc3Rlcmdyb2Vzc2UgZGVzIFNwaWVsZXJzCisgICAgbmF0dWVybGljaCBuaWNodC4KKworU0lFSEUgQVVDSDoKKyAgICBQX1RUWV9ST1dTLCBQX1RUWV9UWVBFLCBQX1RUWV9TSE9XCisKK0xFVFpURSBBZU5ERVJVTkc6CisgICAgU2F0LCAwNi4wMi4xOTk5LCAxNDowMDowMCB2b24gUGFyYWNlbHN1cworCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9UVFlfUk9XUyBiL2RvYy9wcm9wcy9QX1RUWV9ST1dTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyOTRkOWIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9UVFlfUk9XUwpAQCAtMCwwICsxLDIyIEBACitOQU1FOgorICAgIFBfVFRZX1JPV1MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInR0eV9yb3dzIgorCitERUZJTklFUlQgSU46CisgICAgL3NlY3VyZS90ZWxuZXRuZWcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgSW4gZGllc2VyIFByb3BlcnRpZXMgc3RlaHQgZGllIEFuemFobCBkZXIgWmVpbGVuLCBkaWUgZGFzCisgICAgVGVybWluYWxmZW5zdGVyIGRlcyBTcGllbGVycyBkZXJ6ZWl0IGhhdC4KKworICAgIFZvcmF1c3NldHp1bmcgaGllcmZ1ZXIgaXN0IGFsbGVyZGluZ3MsIGRhc3MgZGFzIFRlbG5ldCBkZXMgU3BpZWxlcnMKKyAgICBUZWxuZXRuZWdvdGlhdGlvbnMgdW50ZXJzdHVldHp0LCBhbnNvbnN0ZW4gYmxlaWJ0IGRpZXNlIFByb3BlcnR5CisgICAgbGVlci4KKyAgICBEYXMgU2V0emVuIGRlciBQcm9wZXJ0eSBhZW5kZXJ0IGRpZSBGZW5zdGVyZ3JvZXNzZSBkZXMgU3BpZWxlcnMKKyAgICBuYXR1ZXJsaWNoIG5pY2h0LgorCitTSUVIRSBBVUNIOgorICAgIFBfVFRZX0NPTFMsIFBfVFRZX1RZUEUsIFBfVFRZX1NIT1cKKworTEVUWlRFIEFlTkRFUlVORzoKKyAgICBTYXQsIDA2LjAyLjE5OTksIDE0OjAwOjAwIHZvbiBQYXJhY2Vsc3VzCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RUWV9TSE9XIGIvZG9jL3Byb3BzL1BfVFRZX1NIT1cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjcyNzQzMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RUWV9TSE9XCkBAIC0wLDAgKzEsMTcgQEAKK05BTUU6CisgICAgUF9UVFlfU0hPVyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHR5X3Nob3ciCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc2VjdXJlL3RlbG5ldG5lZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBCZWkgVGVsbmV0cywgZGllIFRlbG5ldG5lZ290aWF0aW9ucyB1bnRlcnN0dWV0emVuLCB3aXJkIGVpbmUgQWVuZGVydW5nCisgICAgZGVyIEZlbnN0ZXJncm9lc3NlIGRlbSBTcGllbGVyb2JqZWt0IG1pdGdldGVpbHQuIFN0ZWh0IGluIFBfVFRZX1NIT1cKKyAgICBlaW4gV2VydCB1bmdsZWljaCBOdWxsLCB3aXJkIGRlbSBTcGllbGVyIGRpZXNlIEFlbmRlcnVuZyBtaXRnZXRlaWx0LgorCitTSUVIRSBBVUNIOgorICAgIFBfVFRZX1JPV1MsIFBfVFRZX0NPTFMsIFBfVFRZX1RZUEUsIHRlbG5lZ3MKKworTEVUWlRFIEFlTkRFUlVORzoKKyAgICBTYXQsIDA2LjAyLjE5OTksIDE0OjAwOjAwIHZvbiBQYXJhY2Vsc3VzCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1RUWV9UWVBFIGIvZG9jL3Byb3BzL1BfVFRZX1RZUEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjkzNWIyMwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1RUWV9UWVBFCkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisgICAgUF9UVFlfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidHR5X3R5cGUiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc2VjdXJlL3RlbG5ldG5lZy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBJbiBkaWVzZXIgUHJvcGVydGllcyBzdGVodCBkZXIgVGVybWluYWx0eXAsIGRlbiBlaW4gU3BpZWxlciBsb2thbCBhdWYKKyAgICBzZWluZW0gUmVjaG5lciB2ZXJ3ZW5kZXQuCisKKyAgICBWb3JhdXNzZXR6dW5nIGhpZXJmdWVyIGlzdCBhbGxlcmRpbmdzLCBkYXNzIGRhcyBUZWxuZXQgZGVzIFNwaWVsZXJzCisgICAgVGVsbmV0bmVnb3RpYXRpb25zIHVudGVyc3R1ZXR6dCwgYW5zb25zdGVuIGJsZWlidCBkaWVzZSBQcm9wZXJ0eQorICAgIGxlZXIuIERpZSBtZWlzdGVuIFRlbG5ldHMvQ2xpZW50cyBnZWJlbiBpaHJlbiBUZXJtaW5hbHR5cCBhbGxlcmRpbmdzCisgICAgbmljaHQgcHJlaXMuCisgICAgRGFzIFNldHplbiBkZXIgUHJvcGVydHkgYWVuZGVydCBkZW4gVGVybWluYWx0eXAgZGVzIFNwaWVsZXJzCisgICAgbmF0dWVybGljaCBuaWNodC4KKworU0lFSEUgQVVDSDoKKyAgICBQX1RUWV9DT0xTLCBQX1RUWV9ST1dTLCBQX1RUWV9TSE9XCisKK0xFVFpURSBBZU5ERVJVTkc6CisgICAgU2F0LCAwNi4wMi4xOTk5LCAxNDowMDowMCB2b24gUGFyYWNlbHN1cworCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTklUX0RFQ0FZX0ZMQUdTIGIvZG9jL3Byb3BzL1BfVU5JVF9ERUNBWV9GTEFHUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTI0ZmY3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVU5JVF9ERUNBWV9GTEFHUwpAQCAtMCwwICsxLDcwIEBACitQX1VOSVRfREVDQVlfRkxBR1MKKworTkFNRToKKyAgICAgUF9VTklUX0RFQ0FZX0ZMQUdTCQkJCQkidW5pdF9kZWNheV9mbGFncyIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3VuaXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1pdCBkaWVzZXIgUHJvcCBrYW5uIGRhcyBaZXJmYWxsc3ZlcmhhbHRlbiBnZXN0ZXVlcnQgd2VyZGVuLCBlbnR3ZWRlcgorICAgICBmdWVyIGFsbGUgQ2xvbmVzIGR1cmNoIFNldHplbiBpbiBkZXIgQmx1ZXByaW50IG9kZXIgZnVlciBlaW56ZWxuZSBDbG9uZXMuCisKKyAgICAgSW4gZGllc2VyIFByb3Aga29lbm5lbiBtb21lbnRhbiA0IEZsYWdzIGdlc2V0enQgd2VyZGVuOgorICAgICAtIE5PX0RFQ0FZOiAKKyAgICAgICAgICBaZXJmYWxsIGlzdCBhYmdlc2NoYWx0ZXQuCisgICAgIC0gTk9fREVDQVlfVU5USUxfTU9WRTogCisgICAgICAgICAgRGVyIFplcmZhbGwgaXN0IHNvbGFuZ2UgYXVzZ2VzZXR6dCwgYmlzIGRpZXNlcyBPYmpla3QgaW4gZWluIGFuZGVyZXMKKyAgICAgICAgICBFbnYgYmV3ZWd0IHdpcmQuIFNldHp0IGFsc28gZWluIE5QQyBiZWltIEFkZEl0ZW0oKSBkaWVzZSBQcm9wLAorICAgICAgICAgIHplcmZhZWxsdCBzZWluZSBVbml0IG5pY2h0LCBiaXMgc2llIGJld2VndCB3dXJkZSAoTGVpY2hlLCBTcGllbGVyCisgICAgICAgICAgZXRjLikuIEhpZXJiZWkgemFlaGx0IGRhcyBtb3ZlKCkgbmljaHQsIHdlbm4gZGFzIE9iamVrdCBub2NoIGtlaW4KKyAgICAgICAgICBFbnYgaGF0dGUsIGVzIHphZWhsZW4gbnVyIE1vdmVzIHZvbiBlaW5lbSBFbnYgaW4gZWluIGFuZGVyZXMgRW52LgorICAgICAgICAgIERpZXNlcyBGbGFnIHNvbGx0ZSBudXIgaW4gQ2xvbmVzIGdlc2V0enQgd2VyZGVuLgorICAgICAtIElOQUNDVVJBVEVfREVDQVkKKyAgICAgICAgICBTb2xsZW4gei5iLiA0NS4zNCBFaW5oZWl0ZW4gemVyZmFsbGVuLCB3aXJkIGRlciBSZXN0IHZvbiAwLjM0CisgICAgICAgICAgbm9ybWFsZXJ3ZWlzZSBhbHMgV2FocnNjaGVpbmxpY2hrZWl0IGF1ZmdlZmFzc3QsIGRhc3MgZWluZQorICAgICAgICAgIHp1c2FldHpsaWNoZSBFaW5oZWl0IHplcmZhZWxsdC4gRGllc2VzIEZsYWcgc29yZ3QgZGFmdWVyLCBkYXNzCisgICAgICAgICAgZGllc2VyIFJlc3Qgd2VnZ2V3b3JmZW4gd2lyZCB1bmQgZWluZmFjaCA0NSBFaW5oZWl0ZW4gemVyZmFsbGVuLgorICAgICAgICAgIEdsZWljaHplaXRpZyB3aXJkIGJlaSBkaWVzZW0gRmxhZyBhYmVyIF9pbW1lciBtaW5fIDEgRWluaGVpdAorICAgICAgICAgIHplcnN0b2VydCEKKyAgICAgLSBBQlNPTFVURV9ERUNBWQorICAgICAgICAgIFBfVU5JVF9ERUNBWV9RVU9UQSB3aXJkIG5pY2h0IGFscyBwcm96ZW50dWFsZXIgQW50ZWlsIGF1ZmdlZmFzc3QsCisgICAgICAgICAgc29uZGVybiBhbHMgYWJzb2x1dGUgWmFobCwgZC5oLiBlcyB6ZXJmYWxsZW4gaW1tZXIgZWluZmFjaAorICAgICAgICAgIFBfVU5JVF9ERUNBWV9RVU9UQSBFaW5oZWl0ZW4uCisKKyAgICAgRGllc2UgRmxhZ3Mga29lbm5lbiB6LkIuIGdlbnV0enQgd2VyZGVuLCBkZW4gWmVyZmFsbCBmdWVyIGVpbnplbG5lCisgICAgIE9iamVrdGUgdGVtcG9yYWVyIG9kZXIgZGF1ZXJoYWZ0IGFienVzY2hhbHRlbiwgYXVjaCB3ZW5uIGFsbGUgYW5kZXJlbgorICAgICBDbG9uZXMgd2VpdGVyemVyZmFsbGVuLgorCisgICAgIERpZXNlIFByb3Aga2FubiBpbiBkZXIgQmx1ZXByaW50IGdlc2V0enQgd2VyZGVuLiBJbiBkaWVzZW0gRmFsbCB3aXJkCisgICAgIGFsbGVyZGluZ3MgTk9fREVDQVlfVU5USUxfTU9WRSBpZ25vcmllcnQsIHdlaWwgZGllIEJQIGphIG5pZSBiZXdlZ3QKKyAgICAgd3VlcmRlLiBOT19ERUNBWSBpbiBkZXIgQlAgc2NoYWx0ZXQgZGVuIFplcmZhbGxzcHJvemVzcyAodGVtcG9yYWVyKSBmdWVyCisgICAgIGFsbGUgQ2xvbmVzIGF1cy4gSXN0IG5pZSBlaW4gWmVyZmFsbCBnZXd1ZW5zY2h0LCBzb2xsdGUgaW4gZGVyIEJsdWVwcmludAorICAgICBhYmVyIGJlc3NlciBQX1VOSVRfREVDQVlfSU5URVJWQUwgYXVmIDAgZ2VzZXR6dCB3ZXJkZW4hCisKKyAgICAgSXN0IGRpZSBQcm9wIGluIGVpbmVtIGVpbnplbG5lbiBDbG9uZSBuaWNodCBleHBsaXppdCBnZXNldHp0LAorICAgICBsaWVmZXJ0IGVpbiBrbG9uLT5RdWVyeVByb3AoUF9VTklUX0RFQ0FZX0ZMQUdTKSBkZW4gaW4gZGVyIEJsdWVwcmludAorICAgICBlaW5nZXN0ZWxsdGVuIFdlcnQgenVydWVjay4KKyAgICAgCitCRU1FUktVTkdFTjoKKyAgICAgKiBTZXR6dCBtYW4gZGllc2UgUHJvcCBpbiBlaW5lbSBDbG9uZSBhdWYgMCwgd2lyZCBkZXIgV2VydCBhdXMgZGVyCisgICAgICAgQmx1ZXByaW50IHp1cnVlY2tnZWJlbi4gSGllcmJlaSB3aXJkIGFsbGVyZGluZ3MgZWluIE5PX0RFQ0FZX1VOVElMX01PVkUKKyAgICAgICBhdXNnZWZpbHRlcnQsIGRhIGRpZXMgZGVuIFplcmZhbGwgZnVlciBhbGxlIE9iamVrdGUgZGF1ZXJoYWZ0IHN0b3BwZW4KKyAgICAgICB3dWVyZGUsIHdlaWwgQlBzIG5pY2h0IGJld2VndCB3ZXJkZW4uCisgICAgICogRGllIEZsYWdzIGtvZW5uZW4gInZlcm9kZXJ0IiB3ZXJkZW46CisgICAgICAgU2V0UHJvcChQX1VOSVRfREVDQVlfRkxBR1MsIE5PX0RFQ0FZX1VOVElMX01PVkUgfCBBQlNPTFVURV9ERUNBWSk7CisKK0JFSVNQSUVMOgorICAgICAvLyBEaWVzZXIgTlBDIGhhdCB0b2xsZSBQZmVpbGUsIGRpZSBzb2xsZW4gYWJlciBuaWNodCB6ZXJmYWxsZW4sIHNvbGFuZ2UKKyAgICAgLy8gc2llIGltIEludmVudGFyIGRlcyBOUENzIHNpbmQ6CisgICAgIEFkZEl0ZW0oIi9kL3RvbGxlcmVnaW9uL3RvbGxlcm1hZ2llci9vYmovcGZlaWxlIiwgUkVGUkVTSF9OT05FLAorICAgICAgICAgKFsgUF9BTU9VTlQ6IDUwK3JhbmRvbSg1MCksCisgICAgICAgICAgICBQX1VOSVRfREVDQVlfRkxBR1M6IE5PX0RFQ0FZX1VOVElMX01PVkUgXSkgKTsKKworU0lFSEUgQVVDSDoKKyAgICAgdW5pdAorICAgICBQX1VOSVRfREVDQVlfSU5URVJWQUwsIFBfVU5JVF9ERUNBWV9RVU9UQSwgUF9VTklUX0RFQ0FZX01JTgorICAgICBEb0RlY2F5LCBEb0RlY2F5TWVzc2FnZQorICAgICAvc3RkL3VuaXQuYworCisxNC4xMC4yMDA3LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTklUX0RFQ0FZX0lOVEVSVkFMIGIvZG9jL3Byb3BzL1BfVU5JVF9ERUNBWV9JTlRFUlZBTApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzE1NGNkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVU5JVF9ERUNBWV9JTlRFUlZBTApAQCAtMCwwICsxLDM3IEBACitQX1VOSVRfREVDQVlfSU5URVJWQUwKKworTkFNRToKKyAgICAgUF9VTklUX0RFQ0FZX0lOVEVSVkFMCQkJCQkidW5pdF9kZWNheV9pbnRlcnZhbCIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3VuaXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3AgYmVzdGltbXQsIHdpZSBvZnQgZWluIFplcmZhbGwgZGVyIGVudHNwcmVjaGVuZGVuIFVuaXRvYmpla3RlCisgICAgIGR1cmNoZ2VmdWVocnQgd2lyZC4gRGFzIEludGVydmFsbCBpc3QgaW4gU2VrdW5kZW4gYW56dWdlYmVuIChpbnQpLgorICAgICBEaWUgUHJvcCBtdXNzIGluIGRlciBCbHVlcHJpbnQgZGVyIGVudHNwcmVjaGVuZGVuIFVuaXRvYmpla3RlIGdlc2V0enQKKyAgICAgd2VyZGVuLCBpbiBDbG9uZXMga2FubiBzaWUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4uCisgICAgIERpZSBCbHVlcHJpbnQgcmVzZXR0ZXQgZGFubiBpbiBkaWVzZW0gSW50ZXJ2YWxsIHVuZCBydWZ0IGluIGFsbGVuIGlocmVuCisgICAgIENsb25lcyAodW5kIGRlbmVuIGFsdGVyIFZlcnNpb25lbiBkZXIgZ2xlaWNoZW4gQlAhKSBEb0RlY2F5KCkgYXVmLAorICAgICB3b3JhdWZoaW4gZGllIENsb25lcyBkZW4gWmVyZmFsbCBkdXJjaGZ1ZWhyZW4uCisgICAgIElzdCBkaWUgUHJvcCBpbiBkZXIgQmx1ZXByaW50IG5pY2h0IGdlc2V0enQsIGVyZm9sZ3Qga2VpbiBaZXJmYWxsLgorCitCRU1FUktVTkdFTjoKKyAgICAgKiBJc3QgZGllIEJsdWVwcmludCBuaWNodCBnZWxhZGVuLCBlcmZvbGd0IGtlaW4gWmVyZmFsbCBkZXIgQ2xvbmVzLgorICAgICAqIEVpbiBTZXR6ZW4gZGllc2VyIFByb3AgYmVpbmhhbHRldCBpbW1lciBhdWNoIGVpbmVuIEF1ZnJ1ZiB2b24KKyAgICAgICBzZXRfbmV4dF9yZXNldCgpIGF1ZiBkYXMgZW5zcHJlY2hlbmRlIEludGVydmFsbC4KKyAgICAgKiBEaWUgUHJvcCBrYW5uIGluIGRlbiBDbG9uZXMgYWJnZWZyYWd0IHdlcmRlbiB1bmQgbGllZmVydCBkYXMgaW4gZGVyCisgICAgICAgQmx1ZXByaW50IGVpbmdlc3RlbGx0ZSBJbnRlcnZhbGwuCisgICAgICogVm9uIGVpbmVyIE1hbmlwdWxhdGlvbiBwZXIgU2V0KCkgd2lyZCBkcmluZ2VuZCBhYmdlcmF0ZW4uCisgICAgICogRGllIFByb3Aga2FubiBudXIgdm9tIE9iamVrdCBzZWxiZXIsIHZvbSBQcm9ncmFtbWllcmVyIGRlcyBPYmpla3RzLCB2b20KKyAgICAgICBSTSBkZXIgZW50c3ByZWNoZW5kZW4gUmVnaW9uLCB2b24gZWluZW0gV2Vpc2VuIG9kZXIgdm9uIGVpbmVtIE9iamVrdAorICAgICAgIGdlc2V0enQgd2VyZGVuLCB3ZWxjaGVzIGRpZSBnbGVpY2hlIFVJRCBoYXQuCisKK0JFSVNQSUVMOgorCitTSUVIRSBBVUNIOgorICAgICB1bml0CisgICAgIFBfVU5JVF9ERUNBWV9RVU9UQSwgUF9VTklUX0RFQ0FZX0ZMQUdTLCBQX1VOSVRfREVDQVlfTUlOCisgICAgIERvRGVjYXkoKSwgRG9EZWNheU1lc3NhZ2UoKQorCisxMy4xMC4yMDA3LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTklUX0RFQ0FZX01JTiBiL2RvYy9wcm9wcy9QX1VOSVRfREVDQVlfTUlOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5ZjljODAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9VTklUX0RFQ0FZX01JTgpAQCAtMCwwICsxLDUxIEBACitQX1VOSVRfREVDQVlfTUlOCisKK05BTUU6CisgICAgIFBfVU5JVF9ERUNBWV9NSU4JCQkJCSAgICAgICAgICAgICAgICAgICAgInVuaXRfZGVjYXlfbWluIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvdW5pdC5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcCBiZXN0aW1tdCwgd2lldmllbGUgRWluaGVpdGVuIGRlciBVbml0b2JqZWt0ZW4gbWluZGVzdGVucworICAgICB1ZWJyaWcgYmxlaWJlbiBzb2xsZW4uIAorICAgICBGYWVsbHQgZGllIE1lbmdlIGVpbmVzIFVuaXRvYmpla3RzIHVudGVyIGRpZXNlbiBXZXJ0LCB6ZXJmYWVsbHQgZGllc2UKKyAgICAgVW5pdCBzb2xhbmdlIG5pY2h0IHdlaXRlciwgYmlzIGRlciBXZXJ0IHdpZWRlciB1ZWJlcnNjaHJpdHRlbiB3aXJkLgorICAgICBEaWUgUHJvcCBrYW5uIGluIGRlciBCbHVlcHJpbnQgdW5kIGluIGRlbiBlaW56ZWxuZW4gQ2xvbmVzIGdlc2V0enQKKyAgICAgd2VyZGVuLgorICAgICBJc3QgZGllIFByb3AgaW4gZWluZW0gZWluemVsbmVuIENsb25lIG5pY2h0IGV4cGxpeml0IGdlc2V0enQsCisgICAgIGxpZWZlcnQgZWluIFF1ZXJ5UHJvcChQX1VOSVRfREVDQVlfTUlOKSBkZW4gaW4gZGVyIEJsdWVwcmludAorICAgICBlaW5nZXN0ZWxsdGVuIFdlcnQgenVydWVjayB1bmQgZGllIFVuaXQgemVyZmFlbGx0IGJpcyB6dSBkaWVzZXIKKyAgICAgTWluZGVzdG1lbmdlLi4KKyAgICAgRC5oLiBtYW4gc29sbHRlIGRpZXNlIFByb3AgaW4gZGVyIEJsdWVwcmludCBzZXR6ZW4gdW5kIGluIGVpbnplbG5lbgorICAgICBDbG9uZXMgbnVyIHNvd2VpdCBkaWVzZSBhYndlaWNoZW5kZSBXZXJ0ZSBoYWJlbiBzb2xsZW4uCisgICAgIEVzIHNpbmQgbnVyIFdlcnRlIHp3aXNjaGVuIDAgdW5kIDEwMCB6dWxhZXNzaWcuIEF1ZiBkaWVzZSBBcnQgbGFlc3N0IHNpY2gKKyAgICAgZGllIG1pbmlkZXN0ZW5zIHVlYnJpZyBibGVpYmVuZGUgTWVuZ2UgYWxsZXIgQ2xvbmVzIGR1cmNoIEFlbmRlcm4gZWluZXIKKyAgICAgUHJvcCBpbiBkZXIgQmx1ZXByaW50IGFlbmRlcm4uCisKK0JFTUVSS1VOR0VOOgorICAgICAqIFNldHp0IG1hbiBkaWVzZSBQcm9wIGluIGVpbmVtIENsb25lIGF1ZiAwLCB3aXJkIGRlciBXZXJ0IGF1cyBlcgorICAgICAgIEJsdWVwcmludCB6dW0gWmVyZmFsbCBiZW51dHp0LgorICAgICAqIFdpbGwgbWFuIGZ1ZXIgZWluIGJlc3RpbW10ZXMgVW5pdG9iamVrdCBrZWluIE1pbmltdW0gaGFiZW4sIGFsc28gZGFzcworICAgICAgIGRpZXNlcyBPYmpla3QgemVyZmFlbGx0LCBiaXMgbmljaHRzIG1laHIgZGEgaXN0LCBkaWUgQmx1ZXByaW50IGhhdCBhYmVyCisgICAgICAgZWluZW4gTWluaW1hbHdlcnQgZ2VzZXR6dCwgc29sbHRlIGRpZXNlIFByb3AgaW0gYmV0cmVmZmVuZGVuIE9iamVrdCBhdWYKKyAgICAgICAtMSBnZXNldHp0IHdlcmRlbi4KKyAgICAgKiBEaWVzZSBQcm9wIHNvbGx0ZSB2b3JzaWNodGlnIGFuZ2V3YW5kdCB3ZXJkZW4sIGRhIFNwaWVsZXIgc28gZGVuCisgICAgICAgWmVyZmFsbCB2b24gVW5pdHMgc3RvcHBlbiBrb2VubmVuLCBpbmRlbSBzaWUgZGllIFVuaXRzIGVudHNwcmVjaGVuZAorICAgICAgIGF1ZnRlaWxlbiwgc28gZGFzcyBqZWRlcyBFaW56ZWxvYmpla3QgdW50ZXIgZGVtIE1pbmltdW0gbGllZ3QuCisKK0JFSVNQSUVMOgorICAgICAvLyBlcyBzb2xsIG1pbi4gMSBFaW5oZWl0IHVlYnJpZyBibGVpYmVuLgorICAgICBTZXRQcm9wKFBfVU5JVF9ERUNBWV9NSU4sIDEpOworCisgICAgIC8vIGRpZSBCbHVlcHJpbnQgaGF0IGVpbiBNaW5pbXVtIHZvbiAxMCBnZXNldHp0LCBkaWVzZXIgQ2xvbmUgc29sbAorICAgICAvLyBhYmVyIHplcmZhbGxlbiwgYmlzIG5peCBtZWhyIGRhIGlzdC4KKyAgICAga2xvbi0+U2V0UHJvcChQX1VOSVRfREVDQVlfTUlOLCAtMSk7CisKK1NJRUhFIEFVQ0g6CisgICAgIHVuaXQKKyAgICAgUF9VTklUX0RFQ0FZX0lOVEVSVkFMLCBQX1VOSVRfREVDQVlfRkxBR1MsIFBfVU5JVF9ERUNBWV9RVU9UQQorICAgICBEb0RlY2F5LCBEb0RlY2F5TWVzc2FnZQorICAgICAvc3RkL3VuaXQuYworCisxNC4xMC4yMDA3LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTklUX0RFQ0FZX1FVT1RBIGIvZG9jL3Byb3BzL1BfVU5JVF9ERUNBWV9RVU9UQQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTQ0NTY0Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVU5JVF9ERUNBWV9RVU9UQQpAQCAtMCwwICsxLDQ1IEBACitQX1VOSVRfREVDQVlfUVVPVEEgKGludCkKKworTkFNRToKKyAgICAgUF9VTklUX0RFQ0FZX1FVT1RBCQkJCQkidW5pdF9kZWNheV9xdW90YSIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3VuaXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZXNlIFByb3AgYmVzdGltbXQsIHdlbGNoZXIgQW50ZWlsIGRlciBlaW56ZWxuZW4gVW5pdG9iamVrdGUgcHJvIFplcmZhbGwKKyAgICAgemVyc3RvZXJ0IHdpcmQuIERpZXNlciBBbnRlaWwgd2lyZCBhbHMgZ2FuemUgWmFobCB6d2lzY2hlbiAwIHVuZCAxMDAwMAorICAgICBhdXNnZWRydWVja3QuIDEgZW50c3ByaWNodCBlaW5lbSBaZXJmYWxsIHZvbiAwLjAxJSwgMTAwMDAgZW50c3ByaWNodAorICAgICAxMDAlLgorICAgICBNb21lbnRhbiBzaW5kIGtlaW5lIFdlcnRlIDwgMCB6dWxhZXNzaWcsIGRpZSBlaW5lbSBadXdhY2hzIGVudHNwcmVjaGVuZAorICAgICB3dXJkZW4uCisKKyAgICAgRmFsbHMgZGFzIEZsYWcgQUJTT0xVVEVfREVDQVkgKHMuIFBfVU5JVF9ERUNBWV9GTEFHUykgZ2VzZXR6dCBpc3QsIHN0ZWh0CisgICAgIGRpZSBaYWhsIGluIGRpZXNlciBQcm9wIGZ1ZXIgZGllIGFic29sdXRlIEFuemFobCBhbiB6dSB6ZXJzdG9lcmVuZGVuCisgICAgIEVpbmhlaXRlbi4KKworICAgICBEaWUgUHJvcCBrYW5uIGluIGRlciBCbHVlcHJpbnQgdW5kIGluIGRlbiBlaW56ZWxuZW4gQ2xvbmVzIGdlc2V0enQKKyAgICAgd2VyZGVuLgorICAgICBJc3QgZGllIFByb3AgaW4gZWluZW0gZWluemVsbmVuIENsb25lIG5pY2h0IGV4cGxpeml0IGdlc2V0enQsCisgICAgIGxpZWZlcnQgZWluIFF1ZXJ5UHJvcChQX1VOSVRfREVDQVlfUVVPVEEpIGRlbiBpbiBkZXIgQmx1ZXByaW50CisgICAgIGVpbmdlc3RlbGx0ZW4gV2VydCB6dXJ1ZWNrIHVuZCBkaWUgVW5pdCB6ZXJmYWVsbHQgenUgZGllc2VtIEFudGVpbC4KKyAgICAgRC5oLiBtYW4gc29sbHRlIGRpZXNlIFByb3AgaW4gZGVyIEJsdWVwcmludCBzZXR6ZW4gdW5kIGluIGVpbnplbG5lbgorICAgICBDbG9uZXMgbnVyIHNvd2VpdCBkaWVzZSBhYndlaWNoZW5kZSBaZXJmYWxsc3JhdGVuIGhhYmVuIHNvbGxlbi4KKworQkVNRVJLVU5HRU46CisgICAgICogU2V0enQgbWFuIGRpZXNlIFByb3AgaW4gZWluZW0gQ2xvbmUgYXVmIDAsIHdpcmQgZGVyIFdlcnQgYXVzIGVyCisgICAgICAgQmx1ZXByaW50IHp1bSBaZXJmYWxsIGJlbnV0enQuCisgICAgICogV2lsbCBtYW4gZGVuIFplcmZhbGwgZnVlciBlaW4gYmVzdGltbXRlcyBVbml0b2JqZWt0IGFic2NoYWx0ZW4sIHNvbGx0ZQorICAgICAgIG1hbiBQX1VOSVRfREVDQVlfRkxBR1MgYmVudXR6ZW4uCisKK0JFSVNQSUVMOgorICAgICAvLyBwcm8gWmVyZmFsbHNpbnRlcnZhbGwgc29sbGVuIDEyJSB6ZXJmYWxsZW4uCisgICAgIFNldFByb3AoUF9VTklUX0RFQ0FZX1FVT1RBLCAxMjAwKTsKKworU0lFSEUgQVVDSDoKKyAgICAgdW5pdAorICAgICBQX1VOSVRfREVDQVlfSU5URVJWQUwsIFBfVU5JVF9ERUNBWV9GTEFHUywgUF9VTklUX0RFQ0FZX01JTgorICAgICBEb0RlY2F5LCBEb0RlY2F5TWVzc2FnZQorICAgICAvc3RkL3VuaXQuYworCisxNC4wMy4yMDA4LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTldFQVJfTVNHIGIvZG9jL3Byb3BzL1BfVU5XRUFSX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWUwZDgwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVU5XRUFSX01TRwpAQCAtMCwwICsxLDU2IEBACitQX1VOV0VBUl9NU0cKK05BTUU6CisgICAgIFBfVU5XRUFSX01TRyAgICAgICAgICAgICAgICAgICAgICAgInVud2Vhcl9tc2ciICAgICAKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2FybW91ci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgWndlaXRlaWxpZ2VzIEFycmF5IG1pdCBNZWxkdW5nZW4sIGRpZSBiZWltIEF1c3ppZWhlbiBlaW5lciBSdWVzdHVuZyAKKyAgICAgb2RlciBLbGVpZHVuZyBhbiBkZW4gU3BpZWxlciB1bmQgZGllIFVtZ2VidW5nIGF1c2dlZ2ViZW4gd2VyZGVuLgorICAgICBEZXIgZXJzdGUgRWludHJhZyBnZWh0IGFuIGRlbiBTcGllbGVyLCBkZXIgendlaXRlIEVpbnRyYWcgYW4gZGllCisgICAgIFVtZ2VidW5nLiBaZWlsZW51bWJydWVjaGUgd2VyZGVuIGF1dG9tYXRpc2NoIGdlbWFjaHQsIGV4aXN0aWVyZW5kZQorICAgICBqZWRvY2ggYmVydWVja3NpY2h0aWd0LgorCisgICAgIFBsYXR6aGFsdGVyIGZ1ZXIgU3BpZWxlciBpc3QgQFdFeHh4MSwgZnVlciBkaWUgV2FmZmUgQFdFeHh4MiAoc2llaGUKKyAgICAgbWFuIHJlcGxhY2VfcGVyc29uYWwoKSkuCisKKyAgICAgW1dlZ2VuIEFid2FlcnRza29tcGF0aWJpbGl0YWV0IGlzdCBhdWNoIG5vY2ggZGVyIFBsYXR6aGFsdGVyICVzCisgICAgICBtb2VnbGljaCwgd29iZWkgaW4gZGVyIGVpZ2VuZW4gTWVsZHVuZyAlcyBmdWVyIGRlbiBXYWZmZW5uYW1lbiBzdGVodCwKKyAgICAgIGluIGRlciBhbiBkZW4gUmF1bSBkYXMgZXJzdGUgJXMgZnVlciBkZW4gU3BpZWxlcm5hbWVuLCBkYXMgendlaXRlIGZ1ZXIKKyAgICAgIGRlbiBXYWZmZW5uYW1lbi5dCisKK0JFSVNQSUVMRToKKyAgICBTZXRQcm9wKFBfTkFNRSwgIk1hbnRlbCIpOworICAgIFNldFByb3AoUF9VTldFQVJfTVNHLAorICAgICAoeyJEdSByZWlzc3QgRGlyIEBXRU4yIHZvbSBMZWliLiIsCisgICAgICAgIkBXRVIxIHJlaXNzdCBzaWNoIEBXRU5VMiB2b20gTGVpYi4iIH0pKTsKKworICAgIC0+IGJlaW0gQXVzemllaGVuIGR1cmNoIFVyazoKKyAgICAgICBVcmsgYmVrb21tdDogRHUgcmVpc3N0IGRpciBkZW4gTWFudGVsIHZvbSBMZWliLgorICAgICAgIERlciBSYXVtOiAgICBVcmsgcmVpc3N0IHNpY2ggZWluZW4gTWFudGVsIHZvbSBMZWliLgorCisgICAgU2V0UHJvcChQX1VOV0VBUl9NU0csCisgICAgICh7IkRpciB3aXJkIGZ1cmNodGJhciB3YXJtLiBTbyBlaW5lIEhpdHplIGFiZXIgYXVjaC4gU2NobmVsbCAiCisgICAgICAgInNjaGx1ZXBmc3QgRHUgYXVzIERlaW5lciBkaWNrZW4gUnVlc3R1bmcuIEFhYWFoLCB3YXMgZnVlciAiCisgICAgICAgImVpbmUgV29obHRhdC4iLAorICAgICAgICJAV0VNMSBzY2hlaW50IHBsb2V0emxpY2ggd2FybSB6dSB3ZXJkZW4uIFNjaG5lbGwgc2NobHVlcGZ0ICIKKyAgICAgICAiQFdFUlFQMSBhdXMgQFdFTVFQUEZTMSBkaWNrZW4gUnVlc3R1bmcuIER1IGhvZmZzdCBpbnN0YWVuZGlnLCAiCisgICAgICAgImRhcyBlcyBub2NoIGV0d2FzIHdhZXJtZXIgd2lyZCAuLi4gIn0pKTsKKworICAgIC0+IGJlaW0gQXVzemllaGVuIGR1cmNoIFVyazoKKyAgICAgICBVcmsgYmVrb21tdDogRGlyIHdpcmQgZnVyY2h0YmFyIHdhcm0uIFNvIGVpbmUgSGl0emUgYWJlciBhdWNoLgorCQkgICAgU2NobmVsbCBzY2hsdWVwZnN0IER1IGF1cyBEZWluZXIgZGlja2VuIFJ1ZXN0dW5nLgorCQkgICAgQWFhYWgsIHdhcyBmdWVyIGVpbmUgV29obHRhdC4KKyAgICAgICBEZXIgUmF1bTogICAgVXJrIHNjaGVpbnQgcGxvZXR6bGljaCB3YXJtIHp1IHdlcmRlbi4gU2NobmVsbAorCQkgICAgc2NobHVlcGZ0IGVyIGF1cyBzZWluZXIgZGlja2VuIFJ1ZXN0dW5nLiBEdSBob2Zmc3QKKwkJICAgIGluc3RhZW5kaWcsIGRhcyBlcyBub2NoIGV0d2FzIHdhZXJtZXIgd2lyZCAuLi4KK1NJRUhFIEFVQ0g6CisgICAgIEFlaG5saWNoZXM6IFBfV0VBUl9NU0csIFBfV0lFTERfTVNHLCBQX1VOV0lFTERfTVNHCisgICAgICAgICAgICAgICAgIFBfRFJPUF9NU0csIFBfUFVUX01TRywgUF9HSVZFX01TRywgUF9QSUNLX01TRworICAgICBGdW5rdGlvbmVuOiBXZWFyRnVuYywgVW53ZWFyRnVuYworICAgICBTb25zdGlnZXM6ICByZXBsYWNlX3BlcnNvbmFsKEUpLCAvc3RkL2FybW91ci93ZWFyLmMsIGFybW91cnMKKyAgICAgICAgICAgICAgICAgY2xvdGhpbmcsIC9zdGQvY2xvdGhpbmcud2Vhci5jCisKK0xFVFpURSBBZU5ERVJVTkc6CisxNS4wMi4yMDA5LCBaZXNzdHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVU5XSUVMRF9GVU5DIGIvZG9jL3Byb3BzL1BfVU5XSUVMRF9GVU5DCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMGZhN2MKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9VTldJRUxEX0ZVTkMKQEAgLTAsMCArMSwxOSBAQAorUF9VTldJRUxEX0ZVTkMKKworTkFNRToKKyAgICAgUF9VTldJRUxEX0ZVTkMgInVud2llbGRfZnVuYyIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmFsbHMgZWluIE9iamVrdCBlaW5lIFVud2llbGRGdW5jKCkgZnVlciBkaWUgV2FmZmUgZGVmaW5pZXJ0LCBzbyBtdXNzCisgICAgIGRpZXNlcyBPYmpla3QgaW4gZGllc2VyIFByb3BlcnR5IGVpbmdldHJhZ2VuIHdlcmRlbi4KKworICAgICBEaWUgQXVzd2VydHVuZyBkaWVzZXIgUHJvcGVydHkgZXJmb2xndCBpbiBEb1Vud2llbGQoKS4KKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC93ZWFwb24uYywgVW53aWVsZEZ1bmMoKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBTdW4gTWF5IDE5IDE1OjQ0OjA4IDE5OTYgYnkgV2FyZ29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTldJRUxEX01TRyBiL2RvYy9wcm9wcy9QX1VOV0lFTERfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ5YTY0NjYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9VTldJRUxEX01TRwpAQCAtMCwwICsxLDU5IEBACitQX1VOV0lFTERfTVNHCitOQU1FOgorICAgICBQX1VOV0lFTERfTVNHICAgICAgICAgICAgICAgICAgICAgICAidW53aWVsZF9tc2ciICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3dlYXBvbi5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgWndlaXRlaWxpZ2VzIEFycmF5IG1pdCBNZWxkdW5nZW4sIGRpZSBiZWltIFdlZ3N0ZWNrZW4gZWluZXIgCisgICAgIFdhZmZlIGFuIGRlbiBTcGllbGVyIHVuZCBkaWUgVW1nZWJ1bmcgYXVzZ2VnZWJlbiB3ZXJkZW4uCisKKyAgICAgRGVyIGVyc3RlIEVpbnRyYWcgZ2VodCBhbiBkZW4gU3BpZWxlciwgZGVyIHp3ZWl0ZSBFaW50cmFnIGFuIGRpZQorICAgICBVbWdlYnVuZy4gIFplaWxlbnVtYnJ1ZWNoZSB3ZXJkZW4gYXV0b21hdGlzY2ggZ2VtYWNodCwgZXhpc3RpZXJlbmRlCisgICAgIGplZG9jaCBiZXJ1ZWNrc2ljaHRpZ3QuCisKKyAgICAgUGxhdHpoYWx0ZXIgZnVlciBTcGllbGVyIGlzdCBAV0V4eHgxLCBmdWVyIGRpZSBXYWZmZSBAV0V4eHgyIChzaWVoZQorICAgICBtYW4gcmVwbGFjZV9wZXJzb25hbCgpKS4KKworICAgICBbV2VnZW4gQWJ3YWVydHNrb21wYXRpYmlsaXRhZXQgaXN0IGF1Y2ggbm9jaCBkZXIgUGxhdHpoYWx0ZXIgJXMKKyAgICAgIG1vZWdsaWNoLCB3b2JlaSBpbiBkZXIgZWlnZW5lbiBNZWxkdW5nICVzIGZ1ZXIgZGVuIFdhZmZlbm5hbWVuIHN0ZWh0LAorICAgICAgaW4gZGVyIGFuIGRlbiBSYXVtIGRhcyBlcnN0ZSAlcyBmdWVyIGRlbiBTcGllbGVybmFtZW4sIGRhcyB6d2VpdGUgZnVlcgorICAgICAgZGVuIFdhZmZlbm5hbWVuLl0KKworQkVJU1BJRUxFOgorICAgIFNldFByb3AoUF9OQU1FLCAiU3RyZWl0a29sYmVuIik7CisgICAgU2V0UHJvcChQX1VOV0lFTERfTVNHLAorICAgICAoeyAiRHUgc3RlY2tzdCBAV0VOMiB6dXJ1ZWNrIHVuZCBhdG1lc3QgZXJzdG1hbCB0aWVmIGR1cmNoLiIsIAorICAgICAgICAiQFdFUjEgc3RlY2t0IEBXRU5VMiB6dXJ1ZWNrIHVuZCBhdG1ldCBlcnN0bWFsIHRpZWYgZHVyY2guIiB9KSk7CisKKyAgICAtPiBiZWltIFdlZ3N0ZWNrZW4gZHVyY2ggVXJrOgorICAgICAgIFVyayBiZWtvbW10OiBEdSBzdGVja3N0IGRlbiBTdHJlaXRrb2xiZW4genVydWVjayB1bmQgYXRtZXN0IGVyc3RtYWwKKwkJICAgIHRpZWYgZHVyY2guCisgICAgICAgRGVyIFJhdW06ICAgIFVyayBzdGVja3QgZWluZW4gU3RyZWl0a29sYmVuIHp1cnVlY2sgdW5kIGF0bWV0IGVyc3RtYWwKKwkJICAgIHRpZWYgZHVyY2guCisKKyAgICBTZXRQcm9wKFBfVU5XSUVMRF9NU0csCisgICAgICh7IkR1IHN0ZWNrc3QgZGllIHNjaHdlcmUgS2V1bGUgenVydWVjay4gWnVmYWVsbGlnIGxhbmRldCBzaWUgIgorICAgICAgICJkYWJlaSBhdWYgRGVpbmVtIEZ1c3MuIExhdXQgc2NocmVpZW5kIGh1bXBlbHN0IER1IGluIGRlciAiCisgICAgICAgIkdlZ2VuZCBoZXJ1bS4iLAorICAgICAgICJAV0VSMSBzdGVja3QgZWluZSBzY2h3ZXJlIEtldWxlIHp1cnVlY2suIER1bW1lcndlaXNlIGxhbmRldCBkaWVzZSAiCisgICAgICAgImRpcmVrdCBhdWYgZGVtIGVpZ2VuZW4gRnVzcy4gQXVhLCBkYXMgdGF0IHNpY2hlciB3ZWggLi4uIG5pY2h0ICIKKyAgICAgICAidW1zb25zdCBodW1wZWx0IEBXRVJRUDEgamV0enQgc2NocmVpZW5kIGR1cmNoIGRpZSBHZWdlbmQuIn0pKTsKKworICAgIC0+IGJlaW0gV2Vnc3RlY2tlbiBkdXJjaCBVcms6CisgICAgICAgVXJrIGJla29tbXQ6IER1IHN0ZWNrc3QgZGllIHNjaHdlcmUgS2V1bGUgenVydWVjay4gWnVmYWVsbGlnIGxhbmRldAorCQkgICAgc2llIGRhYmVpIGF1ZiBEZWluZW0gRnVzcy4gTGF1dCBzY2hyZWllbmQgaHVtcGVsc3QgRHUgaW4KKwkJICAgIGRlciBHZWdlbmQgaGVydW0uCisgICAgICAgRGVyIFJhdW06ICAgIFVyayBzdGVja3QgZWluZSBzY2h3ZXJlIEtldWxlIHp1cnVlY2suIER1bW1lcndlaXNlCisJCSAgICBsYW5kZXQgZGllc2UgZGlyZWt0IGF1ZiBkZW0gZWlnZW5lbiBGdXNzLiBBdWEsIGRhcyB0YXQKKyAgICAgICAgICAgICAgICAgICAgc2ljaGVyIHdlaCAuLi4gbmljaHQgdW1zb25zdCBodW1wZWx0IGVyIGpldHp0IHNjaHJlaWVuZAorICAgICAgICAgICAgICAgICAgICBkdXJjaCBkaWUgR2VnZW5kLgorCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOiBQX1dJRUxEX01TRywgUF9XRUFSX01TRywgUF9VTldFQVJfTVNHCisgICAgICAgICAgICAgICAgIFBfRFJPUF9NU0csIFBfUFVUX01TRywgUF9HSVZFX01TRywgUF9QSUNLX01TRworICAgICBGdW5rdGlvbmVuOiBVbndpZWxkRnVuYywgV2llbGRGdW5jCisgICAgIFNvbnN0aWdlczogIHJlcGxhY2VfcGVyc29uYWwoRSksIC9zdGQvd2VhcG9uL2NvbWJhdC5jCisKKzI5LiBNYWVyeiAyMDA0IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9VTldJRUxEX1RJTUUgYi9kb2MvcHJvcHMvUF9VTldJRUxEX1RJTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMxMjhkNAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1VOV0lFTERfVElNRQpAQCAtMCwwICsxLDE5IEBACitQX1VOV0lFTERfVElNRQorCitOQU1FOgorICAgICAgUF9VTldJRUxEX1RJTUUJCQkidW53aWVsZF90aW1lIgorCitERUZJTklFUlQgSU46CisgICAgICAvc3lzL3dlYXBvbi5oDQorCitCRVNDSFJFSUJVTkc6CisgICAgICBFbnRoYWVsdCBkZW4gWmVpdHB1bmt0IHp1IGRlbSBlaW4gTGl2aW5nIGVpbmUgV2FmZmUgd2VnZ2VzdGVja3QgaGF0IHVuZA0KKyAgICAgIGlzdCBpbSBMaXZpbmcgZ2VzZXR6dC4NCisKK1NJRUhFIEFVQ0g6DQorICAgICAgVmVyd2FuZHQ6CQlQX1dFQVBPTiwgUF9XSUVMREVELCBEb1Vud2llbGQoKQ0KKwkJCVBfTEFTVF9VU0UKKyAgICAgIFNvbnN0aWdlczoJUF9FUVVJUF9USU1FDQorCQkJdGltZSgpCisKKzEwLkZlYiAyMDA1IEdsb2luc29uDQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVVNFRF9IQU5EUyBiL2RvYy9wcm9wcy9QX1VTRURfSEFORFMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU2ZDMyYwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1VTRURfSEFORFMKQEAgLTAsMCArMSwyMSBAQAorUF9VU0VEX0hBTkRTCitOQU1FOgorICAgIFBfVVNFRF9IQU5EUyAgICAgICAgICAgICAgICAgICJ1c2VkX2hhbmRzIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvY29tYmF0LmgKKworQkVTQ0hSRUlCVU5HOgorICAgIEFuemFobCBkZXIgSGFlbmRlIGluIEJlbnV0enVuZy4KKyAgICBFZmZla3RpdiBudXIgZWluIHNpemVvZihQX0hBTkRTX1VTRURfQlkpLgorCitCRU1FUktVTkdFTjoKKyAgICBLZWluZSBlY2h0ZSBQcm9wZXJ0eS4gRGllIE1ldGhvZGUgL3N0ZC9saXZpbmcvY29tYmF0OjpfcXVlcnlfdXNlZF9oYW5kcworICAgIHN0ZWxsdCBkaWUgRGF0ZW4genVzYW1tZW4uIE5pY2h0IHNldHplbiEKKworU0lFSEUgQVVDSDoKKyAgICBQX0hBTkRTLCBQX0hBTkRTX1VTRURfQlkKKyAgICBQX01BWF9IQU5EUywgUF9GUkVFX0hBTkRTCisgICAgVXNlSGFuZHMsIEZyZWVIYW5kcworCisxLiBPa3QgMjAxMiwgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1ZBTElEX0dVSUxEUyBiL2RvYy9wcm9wcy9QX1ZBTElEX0dVSUxEUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzM0YWQ5Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVkFMSURfR1VJTERTCkBAIC0wLDAgKzEsMjMgQEAKK05BTUU6CisJUF9WQUxJRF9HVUlMRFMJCQkidmFsaWRfZ3VpbGRzIiAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorCS9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBkaWUgenVnZWxhc3NlbmVuIEdpbGRlbiBpbiBGb3JtIHZvbgorCWtsZWluZ2VzY2hyaWViZW5lbiBHaWxkZW5uYW1lbiwgd2VsY2hlIGluIGVpbmVtIEFycmF5CisJenVzYW1tZW5nZWZhc3N0IHNpbmQuIFNpZSBpc3QgbnVyIGZ1ZXIgZGVuIEdpbGRlbm1hc3RlciBzZWxic3Qgdm9uCisJQmVkZXV0dW5nLgorCitCRUlTUElFTEU6CisJQWJmcmFnZSBkZXIgenVnZWxhc3NlbmVuIEdpbGRlbjoKKwkgIGZpbmRfb2JqZWN0KCIvb2JqL2dpbGRlbm1hc3RlciIpLT5RdWVyeVByb3AoUF9WQUxJRF9HVUlMRFMpCisJRGFzIGVyZ2lidCB6dW0gQmVpc3BpZWw6CisgICAgICAgICAgKHsiYWJlbnRldXJlciIsInphdWJlcmVyIiwia2xlcnVzIiwia2FlbXBmZXIifSkKKworU0lFSEUgQVVDSDoKKwlQX0dVSUxELCAvb2JqL2dpbGRlbm1hc3Rlci5jCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFdlZCBKYW4gMTQgMTk6MTc6MDYgMTk5OCBieSBQYXRyeW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1ZBTFVFIGIvZG9jL3Byb3BzL1BfVkFMVUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDliNTk2MQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1ZBTFVFCkBAIC0wLDAgKzEsMjYgQEAKK05BTUU6CisgICAgUF9WQUxVRSAgICAgICAgICAgICAgICAgICAgICAgInZhbHVlIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisKKyAgICAgLSBPYmpla3RlCisgICAgICAgV2VydCBkZXMgT2JqZWt0ZXMgaW4gR29sZG11ZW56ZW4uIERpZXNlbiBXZXJ0IGVyaGFlbHQgbWFuIGJlaW0KKyAgICAgICBWZXJrYXVmLiBLYXVmZW4ga29zdGV0IGVpbiBWaWVsZmFjaGVzIGhpZXJ2b24uCisKKyAgICAgLSBTcGVpc2VuL0tuZWlwZW4KKyAgICAgICBXZXJ0IGVpbmVyIFBvcnRpb24gZGVyIFNwZWlzZS4KKyAgICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBJbiB0cmFnYmFyZW4gU3BlaXNlbiAoZXJiZW4gdm9uIC9zdGQvZm9vZCkgc2V0enQgbWFuIG1pdCBTZXRQcm9wCisgICAgIGRlbiBXZXJ0IF9laW5lcl8gUG9ydGlvbi4gUGVyIFF1ZXJ5UHJvcCBlcmhhZWx0IG1hbiBhYmVyIGRlbiBHZXNhbXQtCisgICAgIHdlcnQgZGVyIFNwZWlzZSBpbmNsdXNpdmUgZGVzIGV2ZW50dWVsbCB2b3JoYW5kZW5lbiBCZWhhZWx0ZXJzLiBEZXIKKyAgICAgV2VydCBkZXMgQmVoYWVsdGVycyB3aXJkIGRhYmVpIGF1cyBQX0VNUFRZX1BST1BTW1BfVkFMVUVdIGdlbGVzZW4uCisgICAgIAorU0lFSEUgQVVDSDoKKyAgICAgU3BlaXNlbjogc3RkL3B1Yiwgd2l6L2Zvb2QsIFBfRU1QVFlfUFJPUFMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBUaHUgT2N0IDI4IDEyOjE1OjAwIDIwMTAgYnkgQ2FsZHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVkFMVUVfUEVSX1VOSVQgYi9kb2MvcHJvcHMvUF9WQUxVRV9QRVJfVU5JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTc3OWM1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVkFMVUVfUEVSX1VOSVQKQEAgLTAsMCArMSwxNCBAQAorTkFNRToKKyAgICBQX1ZBTFVFX1BFUl9VTklUICAgICAgICAgICAgICAidmFsdWVfcGVyX3VuaXQiICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgV2VydCBpbiBHb2xkc3R1ZWNrZW4gcHJvIFVudGVyZWluaGVpdC4KKworQkVNRVJLVU5HRU46CisgICAgIERlcHJlY2F0ZWQuIEJpdHRlIFNldENvaW5zUGVyVW5pdHMoKSAoVV9DUFUpIGJlbnV0emVuLgorCisyNS5BdWcgMjAxNSBHbG9pbnNvbgorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9WQVJJQUJMRVMgYi9kb2MvcHJvcHMvUF9WQVJJQUJMRVMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU3ZmI1YwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1ZBUklBQkxFUwpAQCAtMCwwICsxLDE2IEBACisKK05BTUU6CisgICAgUF9WQVJJQUJMRVMgInZhcmlhYmxlcyIgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9tYWdpZXIuaAorCitCRVNDSFJFSUJVTkc6CisJCisgICAgIEludGVybmUgVmFyaWFibGUgZGVyIE1hZ2llcnNoZWxsIGluIGRlbSBkaWUgbWl0IGRlbSAnU2V0Jy1CZWZlaGwKKyAgICAgZ2VzZXR6dGVuIFZhcmlhYmxlbiBnZXNwZWljaGVydCB3ZXJkZW4uCisgICAgIAorICAgICBOSUNIVCBWT04gSEFORCBWRVJBRU5ERVJOISBJTU1FUiAnU0VUJyBWRVJXRU5ERU4hCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xldHp0ZSBBZW5kZXJ1bmc6IDEzLjAyLjIwMDMgMjI6MDA6MDAgdm9uIE1hbmRyYWdvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVklTSUJMRV9HVUlMRCBiL2RvYy9wcm9wcy9QX1ZJU0lCTEVfR1VJTEQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGYyNjdiNQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1ZJU0lCTEVfR1VJTEQKQEAgLTAsMCArMSwyNSBAQAorUF9WSVNJQkxFX0dVSUxECitOQU1FOgorICAgICBQX1ZJU0lCTEVfR1VJTEQJCQkidmlzaWJsZV9ndWlsZCIgICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgRGllc2UgUHJvcGVydHkgZW50aGFlbHQgZGllIHNpY2h0YmFyZSBHaWxkZSBkZXMgTGViZXdlc2VucyBpbiBGb3JtIGVpbmVzCisgICAgIGtsZWluZ2VzY2hyaWViZW5lbiBTdHJpbmdzLCBhbHNvIGRpZSBHaWxkZSwgZGllIGJlaSBTcGllbGVybiB6dW0KKyAgICAgQmVpc3BpZWwgYmVpICdrd2VyJyBvZGVyICdmaW5nZXInIGFuZ2V6ZWlndCB3aXJkLiBTbyBrYW5uIG1hbiBmcmVtZGUKKyAgICAgR2lsZGVuIHRlc3RlbiB1bmQgdHJvdHpkZW0gbmFjaCBhdXNzZW4gaGluIGluIGRlciBnbGVpY2hlbiBHaWxkZSB3aWUKKyAgICAgenV2b3IgYmxlaWJlbi4KKworQkVJU1BJRUw6CisgICAgIFdlbm4gbWFuIGdlcm5lIG5hY2ggYXVzc2VuIGhpbiBaYXViZXJlciBibGVpYmVuIG1vZWNodGU6CisJICBwbC0+U2V0UHJvcChQX1ZJU0lCTEVfR1VJTEQsInphdWJlcmVyIik7CisgICAgIE5hY2ggYXVzc2VuIGhpbiBibGVpYnQgbWFuIGpldHp0IGF1Y2ggWmF1YmVyZXIsIHdlbm4gUF9HVUlMRCBlaW5lCisgICAgIGFuZGVyZSBHaWxkZSBhbmdpYnQuCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfR1VJTEQsIFBfREVGQVVMVF9HVUlMRAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiBXZWQgSmFuIDE0IDE5OjE3OjA2IDE5OTggYnkgUGF0cnluCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9WSVNJQkxFX1NVQkdVSUxEX1RJVExFIGIvZG9jL3Byb3BzL1BfVklTSUJMRV9TVUJHVUlMRF9USVRMRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMzk4ZjAyCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfVklTSUJMRV9TVUJHVUlMRF9USVRMRQpAQCAtMCwwICsxLDIxIEBACitQX1ZJU0lCTEVfU1VCR1VJTERfVElUTEUKK05BTUU6CisgICAgIFBfVklTSUJMRV9TVUJHVUlMRF9USVRMRQkJInZpc2libGVfc3ViZ3VpbGRfdGl0bGUiICAgICAgICAgICAgICAgICAgICAgICAKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBkaWVudCBkYXp1LCBhbHMgTWFnaWVyIGVpbmVuIFp1c2F0enRpdGVsIGlubmVyaGFsYiBlaW5lcgorICAgICBHaWxkZSB2b3J6dXRhZXVzY2hlbiwgb2huZSBkZW4gdGF0c2FlY2hsaWNoZW4gUF9TVUJHVUlMRF9USVRMRSB6dQorICAgICBhZW5kZXJuLgorCitCRU1FUktVTkdFTjoKKyAgICAgSW5oYWx0IGRlciBQcm9wZXJ0eSBrYW5uIDAgc2VpbiBvZGVyIGVpbiBTdHJpbmcuCisgICAgIFdlbm4gZGVyIEluaGFsdCAwIGlzdCwgd2lyZCBiZWkgUXVlcnlQcm9wIGRlciBQX1NVQkdVSUxEX1RJVExFCisgICAgIGR1cmNoZ2VyZWljaHQuCisKK1NJRUhFIEFVQ0g6CisgICAgIFBfR1VJTERfVElUTEUsIFBfU1VCR1VJTERfVElUTEUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogTW9uIEF1ZyAxMyAyMToyMDowMCAyMDAxIGJ5IE5hY2h0d2luZApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfVklTVUFMQkVMTCBiL2RvYy9wcm9wcy9QX1ZJU1VBTEJFTEwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTllODUxOQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1ZJU1VBTEJFTEwKQEAgLTAsMCArMSwzNyBAQAorTkFNRToKKwlQX1ZJU1VBTEJFTEwJCQkidmlzdWFsYmVsbCIKKworREVGSU5JRVJUIElOOgorCS9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWUgUHJvcGVydHkgc3RlbGx0IGVpbiBGbGFnIGlubmVyaGFsYiB2b24gU3BpZWxlcm4gZGFyLCB3ZWxjaGVzCisJc3RhbmRhcmRtYWVzc2lnIG5pY2h0IGdlc2V0enQgaXN0LiBJbiBkaWVzZW0gRmFsbCB3ZXJkZW4gVG9lbmUsCisJd2VsY2hlIGlubmVyaGFsYiBlaW5pZ2VyIEZ1bmt0aW9uZW4gZXJ6ZXVndCB3ZXJkZW4sIGF1Y2ggd2lya2xpY2ggYW4KKwlkZW4gU3BpZWxlciBnZXNjaGlja3QuCisJU2V0enQgbWFuIGRpZSBQcm9wZXJ0eSwgc28gZXJoYWVsdCBkZXIgU3BpZWxlciBrZWluZSBUb2VuZSBtZWhyLgorCitCRUlTUElFTDoKKwlQaWVwdG9lbmUgd2VyZGVuIGR1cmNoIGRlbiBBU0NJSS1Db2RlIDB4NyBwcmFlc2VudGllcnQuIEF1c2dlYmVuCisJa2FubiBtYW4gZGllc2VuIGZvbGdlbmRlcm1hc3NlbjoKKwkgIGlmKCFJU19XSVpBUkQoY2FzdGVyKSYmIXZpY3RpbS0+UXVlcnlQcm9wKFBfVklTVUFMQkVMTCkpCisJICAgIHRlbGxfb2JqZWN0KHZpY3RpbSxzcHJpbnRmKCIlYyIsNykpOworCURhcyB3YWVyZSBiZWlzcGllbHN3ZWlzZSBlaW4gQ29kZXN0dWVjayBhdXMgZWluZW0gUGllcHNwZWxsLiA6KQorCURhcyBPcGZlciBiZWtvbW10IGRlbiBQaWVwdG9uIGhpZXJiZWkgbnVyIGFiLCB3ZW5uIGRlciBDYXN0ZXIgZWluCisJTWFnaWVyIGlzdCBvZGVyIGRhcyBTcGllbGVyb3BmZXIgZGllIFByb3BlcnR5IFBfVklTVUFMQkVMTCBnZXNldHp0CisJaGF0IChrYW5uIG1pdCBLb21tYW5kbyAndG9uJyB2b20gU3BpZWxlciBiZWVpbmZsdXNzdCB3ZXJkZW4pLgorCitCRU1FUktVTkdFTjoKKyAgQWNodHVuZzogUF9WSVNVQUxCRUxMIHN0ZWh0IGF1ZiAxLCB3ZW5uIGRlciBTcGllbGVyIF9rZWluZV8gUGllcHN0b2VuZQorCWhvZXJlbiB3aWxsIQorCURpZSBGdW5rdGlvbmFsaXRhZXQgZGllc2VyIFByb3BlcnR5IHdpcmt0IG51ciBzb3dlaXQsIHdpZSBzaWUgYXVjaAorCXZvbiB0b25lcnpldWdlbmRlbiBCZWZlaGxlbiBzZWxic3QgdW50ZXJzdHVldHp0IHdpcmQuIEVzIGlzdCBkYXJhdWYKKwl6dSBhY2h0ZW4sIGRhc3MgUF9WSVNVQUxCRUxMIHp1IGRpZXNlbSBad2VjayBncnVuZHNhZXR6bGljaAorCWF1c2dld2VydGV0IHdpcmQhIEVpbmUgQXVzbmFobWUgc2VpIGhpZXJiZWkgenVnZWxhc3NlbjogTWFnaWVyCisJa29lbm5lbiBTcGllbGVybiBncnVuZHNhZXR6bGljaCBUb2VuZSB6dXNlbmRlbi4KKworU0lFSEUgQVVDSDoKKwl0b24sIHdlY2tlLCBlcndhcnRlLCBQX1dBSVRGT1IsIC9zdGQvcGxheWVyL2Jhc2UuYworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMYXN0IG1vZGlmaWVkOiAwNy4wMi4yMDA3IGJ5IFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1ZVTE5FUkFCSUxJVFkgYi9kb2MvcHJvcHMvUF9WVUxORVJBQklMSVRZCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMWM2NzYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9WVUxORVJBQklMSVRZCkBAIC0wLDAgKzEsMzcgQEAKK05BTUU6CisgICAgIFBfVlVMTkVSQUJJTElUWSAgICAgICAgICAgICAgICJ2dWxuZXJhYmlsaXR5IgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbGl2aW5nL2NvbWJhdC5oCisKK1dJQ0hUSUc6CisgICAgIERJRVNFIFBST1BFUlRZIElTVCBWRVJBTFRFVCEgQklUVEUgUF9SRVNJU1RBTkNFX1NUUkVOR1RIUworICAgICBWRVJXRU5ERU4hIEFVQ0ggRlVOS1RJT05JRVJUIFNldCgpIE5JQ0hUIFdJRSBFUyBTT0xMVEUuCisKK0JFU0NIUkVJQlVORzoKKyAgICAgSGllcm1pdCBrb2VubmVuIGRpZSBFbXBmaW5kbGljaGtlaXRlbiBlaW5lcyBMZWJld2VzZW5zIGRlZmluaWVydAorICAgICB3ZXJkZW4uIEVzIGthbm4gZWluIEFycmF5IG1pdCBTY2hhZGVuc2FydGVuIGdlc2V0enQgd2VyZGVuLCBqZWRlcgorICAgICBFaW50cmFnIGVpbmVzIFNjaGFkZW5zIHZlcmRvcHBlbHQgZGllIEVtcGZpbmRsaWNoa2VpdCBnZWdlbgorICAgICBkaWVzZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICAtIFBfUkVTSVNUQU5DRV9TVFJFTkdUSFMgc3BpZWdlbHQgZGllIEVpbnRyYWVnZSBoaWVyIHdpZWRlcgorICAgICAtIHVtIGdlbmF1ZXJlIFdlcnRlIGFuenVnZWJlbiBlaW5lbiBBZGRSZXNpc3RhbmNlTW9kaWZpZXIoKSBvZGVyCisgICAgICAgUF9SRVNJU1RBTkNFX1NUUkVOR1RIUyBiZW51dHplbi4KKyAgICAgLSBQX1ZVTE5FUkFCSUxJVFkga2FubiB1bmQgd2lyZCBuaWNodCBhdXMgUF9SRVNJU1RBTkNFX1NUUkVOR1RIUworICAgICAgIHVwZ2VkYXRldAorCitCRUlTUElFTEU6CisgICAgIC8vIGVpbiBOUEMgbWl0IHZlcmRvcHBlbHRlciBFaXNlbXBmaW5kbGljaGtlaXQgdW5kCisgICAgIC8vIHZlcnZpZXJmYWNodGVyIFdhc3NlcmVtcGZpbmRsaWNoa2VpdAorICAgICBTZXRQcm9wKFBfVlVMTkVSQUJJTElUWSwgKHtEVF9DT0xELCBEVF9XQVRFUiwgRFRfV0FURVJ9KSk7CisKK1NJRUhFIEFVQ0g6CisgICAgIHNpbXBsZSBSZXNpc3Rlbno6CVBfUkVTSVNUQU5DRQorICAgICBIYXVwdG1hcHBpbmc6CVBfUkVTSVNUQU5DRV9TVFJFTkdUSFMKKyAgICAgTW9kaWZpa2F0b3JlbjoJQWRkUmVzaXN0YW5jZU1vZGlmaWVyLCBSZW1vdmVSZXNpc3RhbmNlTW9kaWZpZXIoKSwKKwkJCVBfUkVTSVNUQU5DRV9NT0RJRklFUgorICAgICBCZXJlY2hudW5nOglDaGVja1Jlc2lzdGFuY2UoKSwgVXBkYXRlUmVzaXN0YW5jZVN0cmVuZ3RocygpCisgICAgIGFuZGVyZXM6CQliYWxhbmNlLCAvc3RkL2FybW91ci9jb21iYXQuYywgL3N0ZC9saXZpbmcvY29tYmF0LmMKKworMS5EZXogMjAwNCwgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1dBSVRGT1IgYi9kb2MvcHJvcHMvUF9XQUlURk9SCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4Y2Y4ZWUKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9XQUlURk9SCkBAIC0wLDAgKzEsMTQgQEAKK05BTUU6CisgICAgIFBfV0FJVEZPUiAgICAgICAgICAgICAgICAgICAgICJ3YWl0Zm9yIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcGxheWVyL2Jhc2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZSBFcndhcnRlLUxpc3RlLiBFaW4gQXJyYXkgbWl0IGRlbiBOYW1lbiBkZXIgRXJ3YXJ0ZXRlbi4KKworU0lFSEUgQVVDSDoKKyAgICAgZXJ3YXJ0ZQorICAgICBQX1dBSVRGT1JfUkVBU09OLCBQX1dBSVRGT1JfRkxBR1MKKworMTYuIEZlYiAyMDA4IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XQUlURk9SX0ZMQUdTIGIvZG9jL3Byb3BzL1BfV0FJVEZPUl9GTEFHUwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTM3ZGQxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfV0FJVEZPUl9GTEFHUwpAQCAtMCwwICsxLDE3IEBACitQX1dBSVRGT1JfRkxBR1MKK05BTUU6CisgICAgIFBfV0FJVEZPUl9GTEFHUyAgICAgICAgICAgICAgICAgICJ3YWl0Zm9yX2ZsYWdzIiAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcGxheWVyL2Jhc2UuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEVpbiBJbnQuIEJpc2hlciBiZWthbm50ZSBGbGFnczoKKyAgICAgCisgICAgIDB4MDEgLSAiZXJ3YXJ0ZSBhdXMiCisKK1NJRUhFIEFVQ0g6CisgICAgIGVyd2FydGUKKyAgICAgUF9XQUlURk9SLCBQX1dBSVRGT1JfUkVBU09OCisKKzE2LiBGZWIgMjAwOCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0FJVEZPUl9SRUFTT04gYi9kb2MvcHJvcHMvUF9XQUlURk9SX1JFQVNPTgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTljODIxCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfV0FJVEZPUl9SRUFTT04KQEAgLTAsMCArMSwxOCBAQAorUF9XQUlURk9SX1JFQVNPTgorTkFNRToKKyAgICAgUF9XQUlURk9SX1JFQVNPTiAgICAgICAgICAgICAgICAgICJ3YWl0Zm9yX3JlYXNvbiIgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3BsYXllci9iYXNlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBFaW4gTWFwcGluZyBtaXQgZGVuIEVyd2FydGV0ZW4gYWxzIFNjaGx1ZXNzZWwgdW5kIGVpbmVtIEdydW5kIGFscworICAgICBLZXksIHpCOgorICAgICAKKyAgICAgKFsiWm9vayI6Im11aCBtdWgiXSkKKworU0lFSEUgQVVDSDoKKyAgICAgZXJ3YXJ0ZSAoZXJ3YXJ0ZSA8d2VuPiB3ZWdlbiA8d2FzPikKKyAgICAgUF9XQUlURk9SLCBQX1dBSVRGT1JfRkxBR1MKKworMTYuIEZlYiAyMDA4IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XQU5UU19UT19MRUFSTiBiL2RvYy9wcm9wcy9QX1dBTlRTX1RPX0xFQVJOCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExNTUzYmQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9XQU5UU19UT19MRUFSTgpAQCAtMCwwICsxLDEyIEBACitOQU1FOgorICAgIFBfV0FOVFNfVE9fTEVBUk4gICAgICAgICAgICAgICJ3YW50c190b19sZWFybiIgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wbGF5ZXIvYmFzZS5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgR2VzZXR6dCwgd2VubiBkZXIgTWFnaWVyIGRpZSBGaWxlbmFtZW4gc2VoZW4gd2lsbC4KKyAgICAgKE51ciBmdWVyIE1hZ2llcikuIFdpcmQgZGllc2UgUHJvcGVydHkgYXVmIDAgZ2VzZXR6dCwgZ2VoZW4gYXVjaAorICAgICBlaW5pZ2UgYW5kZXJlIERpbmdlIG5pY2h0IG1laHIgLSB2ZXJmb2xnZSB6Qi4gRWlnZW50bGljaCBzb2xsdGVuCisgICAgIGRhbm4gYXVjaCBkaWUgTWFnaWVyYmVmZWhsZSB3aWUgImdvdG8iIHVzdyB1bnRlcmJ1bmRlbiB3ZXJkZW4gLQorICAgICBkYXMga29tbXQgdmllbGxlaWNodCBub2NoLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0FURVIgYi9kb2MvcHJvcHMvUF9XQVRFUgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmU0ZmU2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfV0FURVIKQEAgLTAsMCArMSwxMTAgQEAKK05BTUU6CisgICAgUF9XQVRFUiAgICAgICAgICAgICAgICAgICAgICAgIndhdGVyIiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL2Zpc2hpbmcuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRW50aGFlbHQgZGVuIEdld2Flc3NlcnR5cC4gS2FubiBpbiBSYWV1bWVuLCBBbmdlbG4gdW5kIFdhc3NlcmJlaGFlbHRlcm4KKyAgICB2ZXJ3ZW5kZXQgd2VyZGVuLiBEaWUgdmVyZnVlZ2JhcmVuIE9wdGlvbmVuIHVuZCBGdW5rdGlvbnN3ZWlzZW4gc2luZCBpbiAKKyAgICBkZW4gbmFjaGZvbGdlbmRlbiBBYnNjaG5pdHRlbiBhdWZnZWZ1ZWhydC4KKworICAgIFJhdW06CisgICAgKioqKioKKyAgICAgIExlZ3QgZGVuIFR5cCBkZXMgR2V3YWVzc2VycyBmZXN0LCBkYXMgZXMgaW4gZGllc2VtIFJhdW0gZ2lidC4gVm9uCisgICAgICBkaWVzZW0gVHlwIGhhZW5ndCBhYiwgd2VsY2hlIEFydGVuIHZvbiBGaXNjaGVuIGVzIGhpZXIgc3RhbmRhcmRtYWVzc2lnCisgICAgICBnaWJ0IHVuZCB3ZWxjaGUgQXJ0ZW4gdm9uIEFuZ2VsbiB2ZXJ3ZW5kZXQgd2VyZGVuIGtvZW5uZW4uIAorICAgICAgCisgICAgICBCZWlzcGllbDoKKworICAgICAgU2V0UHJvcChQX1dBVEVSLCBXX0hBUkJPUik7CisgICAgICAKKyAgICAgIEZvbGdlbmRlCisgICAgICBUeXBlbiBzdGVoZW4genVyIFZlcmZ1ZWd1bmcsIHZvbiBkZW5lbiBpbiBSYWV1bWVuIG51ciBlaW5lciBnZXNldHp0CisgICAgICB3ZXJkZW4gZGFyZjoKKworICAgICAgU2Fsendhc3NlcjoKKyAgICAgICAgV19CRUFDSCAgIFN0cmFuZDogU2Nob2xsZSwgRmx1bmRlciwgUm9jaGVuLCBTZWV6dW5nZSwgS2F0emVuaGFpCisgICAgICAgIFdfSEFSQk9SICBIYWZlbjogRG9yc2NoLCBSb2NoZW4sIFNlZXp1bmdlLCBIZXJpbmcsIEthdHplbmhhaQorICAgICAgICBXX09DRUFOICAgT3plYW4vTWVlcjogSGFpLCBUaHVuZmlzY2gsIEthYmVsamF1LCBTY2h3ZXJ0ZmlzY2gsIFNlZWhhc2UsCisgICAgICAgICAgICAgICAgICBTZWV0ZXVmZWwsIFNlZXdvbGYKKworICAgICAgU3Vlc3N3YXNzZXI6CisgICAgICAgIFdfUklWRVIgICBGbHVzczogUGlyYW5oYSwgTGFjaHMsIEZvcmVsbGUsIEJhY2hzYWlibGluZworICAgICAgICBXX1BPT0wgICAgVGVpY2g6IFN0aWNobGluZywgR29sZGZpc2NoLCBTY2hsZWksIEthcnBmZW4sIEdvbGRvcmZlCisgICAgICAgIFdfTEFLRSAgICBTZWU6IEthcnBmZW4sIEJhcnNjaCwgSGVjaHQsIFNlZXNhaWJsaW5nCisgICAgICAgIFdfUk9DSyAgICBCZXJnYmFjaDogTGFjaHMsIEZvcmVsbGUsIEJhY2hzYWlibGluZworICAgICAgICBXX1NUUkVBTSAgQmFjaDogU3RpY2hsaW5nLCBCYWNoZm9yZWxsZSwgTmV1YXVnZSwgQmFjaHNhaWJsaW5nCisKKyAgICAgIFNvbnN0aWdlOgorICAgICAgICBXX1VTRVIgICAgd2VubiBkaWVzZXIgR2V3YWVzc2VydHlwIGdlc2V0enQgd2lyZCwgTVVTUyBkZXIgUmF1bSAKKyAgICAgICAgICAgICAgICAgIHp1c2FldHpsaWNoIGRpZSBGdW5rdGlvbiBHZXRBcXVhcml1bSgpIGRlZmluaWVyZW4sIGRpZQorICAgICAgICAgICAgICAgICAgZWluZSBMaXN0ZSBkZXIgaGllciBmYW5nYmFyZW4gRmlzY2hlIHp1cnVlY2tnZWJlbiBtdXNzLgorICAgICAgICAgICAgICAgICAgQmVpc3BpZWw6CisKKyAgICAgICAgICAgICAgICAgIHN0cmluZyogR2V0QXF1YXJpdW0oKXsgCisgICAgICAgICAgICAgICAgICAgIHJldHVybiAoeyIvZC9lYmVuZS9mcmFnZ2xlL2FuZ2VsL2Zpc2NoIn0pOyAKKyAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgV19ERUFEICAgIExlYmxvc2VzIFdhc3Nlci4gRW50aGFlbHQga2VpbmUgRmlzY2hlLCBtYW4ga2FubgorICAgICAgICAgICAgICAgICAgYWJlciBkaWUgU3RhbmRhcmRmbGFzY2hlIGZ1ZWxsZW4uCisKKyAgICAgICAgV19PVEhFUiAgIDEwMjQgICAvLyBGbGFzY2hlIGVudGhhZWx0IEZsdWVzc2lna2VpdCE9V2Fzc2VyCisKKworICAgIEFuZ2VsOgorICAgICoqKioqKgorICAgICAgQW5nZWxuIHNpbmQgdWVibGljaGVyd2Vpc2UgYXVmIGJlc3RpbW10ZSBBbndlbmR1bmdzYmVyZWljaGUgYXVzZ2VsZWd0LgorICAgICAgT2IgZWluZSBBbmdlbCBpbiBlaW5lbSBHZXdhZXNzZXIgYmVudXR6dCB3ZXJkZW4ga2FubiwgaGFlbmd0IGRhdm9uIGFiLAorICAgICAgb2IgUF9XQVRFUiBpbiBkZXIgQW5nZWwgZGVuIEdld2Flc3NlcnR5cCBkZXMgUmF1bWVzIGVudGhhZWx0LiBWb24gZGVuCisgICAgICBvYmVuIGdlbmFubnRlbiBUeXBlbiBrb2VubmVuIG1laHJlcmUgdmVyLU9ERVItdCBnZXNldHp0IHdlcmRlbi4KKyAgICAgIFZlcndlbmR1bmcgZWluZXIgZnVlciBkYXMgb2VydGxpY2hlIEdld2Flc3NlciB1bmdlZWlnbmV0ZW4gQW5nZWwgZnVlaHJ0CisgICAgICB6dSBlaW5lciB1bSA2MCtyYW5kb20oNjApIFNla3VuZGVuIHZlcmxhZW5nZXJ0ZW4gV2FydGV6ZWl0IGJlaW0gQW5nZWxuLgorICAgICAgCisgICAgICBCZWlzcGllbDogU2V0enQgbWFuIGRlbiBHZXdhZXNzZXJ0eXAgbWl0IAorCisgICAgICAgIFNldFByb3AoUF9XQVRFUiwgV19IQVJCT1J8V19PQ0VBTik7CisKKyAgICAgIHNjaGFsdGV0IGRhcyBkaWUgQW5nZWwgc293b2hsIGZ1ZXIgSGFlZmVuLCBhbHMgYXVjaCBmdWVyIG9mZmVuZSBNZWVyZQorICAgICAgKE96ZWFuZSkgZnJlaS4KKworICAgICAgRm9sZ2VuZGUga29tYmluaWVydGUgR2V3YWVzc2VydHlwZW4gc2luZCBmdWVyIGVpbmZhY2hlIEFuZ2VsbiAKKyAgICAgIHZvcmRlZmluaWVydDoKKworICAgICAgS3VyemUgU3RhbmRhcmRhbmdlbG46CisgICAgICAgIFdfU0hPUlQgV19IQVJCT1J8V19SSVZFUnxXX1BPT0x8V19MQUtFfFdfUk9DS3xXX1VTRVJ8V19PQ0VBTnxXX1NUUkVBTQorICAgICAgU3BlemllbGxlIFN0cmFuZHJ1dGVuOgorICAgICAgICBXX0xPTkcgIFdfQkVBQ0h8V19VU0VSCisgICAgICBmdW5rdGlvbmllcnQgaW4gYWxsZW4gU2Fsemdld2Flc3Nlcm46CisgICAgICAgIFdfU0FMVCAgV19IQVJCT1J8V19PQ0VBTnxXX0JFQUNICisgICAgICBmdW5rdGlvbmllcnQgaW4gYWxsZW4gU3Vlc3NnZXdhZXNzZXJuOgorICAgICAgICBXX1NXRUVUIFdfUklWRVJ8V19QT09MfFdfTEFLRXxXX1JPQ0t8V19TVFJFQU0KKworICAgICAgSGlud2VpczogV19ERUFEIGlzdCBpbiBkaWVzZW4gS29tYmluYXRpb25lbiBuaWNodCBlbnRoYWx0ZW4sIGRhIGVzCisgICAgICBpbiBzb2xjaGVuIEdld2Flc3Nlcm4gb2huZWhpbiBrZWluZSBGaXNjaGUgZ2lidC4KKyAgICAgIERpZSBLb21iaS1UeXBlbiBlbnRoYWx0ZW4gV19VU0VSLCB1bSBiZWkgZW50c3ByZWNoZW5kZW4gR2V3YWVzc2VybgorICAgICAgenUgdmVybWVpZGVuLCBkYXNzIGVzIGRvcnQgc3RhbmRhcmRtYWVzc2lnIGVpbmVuIE1hbHVzIGF1ZiBkaWUgCisgICAgICBXYXJ0ZXplaXQgZ2lidC4gU3RhbmRhcmR3ZXJ0IGZ1ZXIgUF9XQVRFUiBpbiBBbmdlbG4gaXN0IGViZW5mYWxscyAKKyAgICAgIFdfVVNFUi4KKworICAgIEtvZWRlcjoKKyAgICAqKioqKioqCisgICAgICBBdWNoIEtvZWRlciBrb2VubmVuIGZ1ZXIgZGllIFZlcndlbmR1bmcgaW4gYmVzdGltbXRlbiBHZXdhZXNzZXJuIGJlc3NlcgorICAgICAgZ2VlaWduZXQgc2VpbiBhbHMgaW4gYW5kZXJlbiwgei5CLiBlaW5lIFNlZXNjaG5lY2tlIGZ1ZXIgU2Fsendhc3NlciwKKyAgICAgIGVpbiBNZWhsd3VybSBoaW5nZWdlbiBmdWVyIFN1ZXNzd2Fzc2VyLiBHZXNldHp0IHdpcmQgUF9XQVRFUiBoaWVyZnVlcgorICAgICAgYXVmIGRpZSBvYmVuIGF1ZmdlZnVlaHJ0ZW4gV2VydGUuCisgICAgICBWZXJ3ZW5kdW5nIGVpbmVzIHVuZ2VlaWduZXRlbiBLb2VkZXJzIGZ1ZWhydCB6dSBlaW5lciB1bSA2MCtyYW5kb20oNjApCisgICAgICBTZWt1bmRlbiBsYWVuZ2VyZW4gV2FydGV6ZWl0IGJlaW0gQW5nZWxuLgorCisgICAgV2Fzc2VyYmVoYWVsdGVyOgorICAgICoqKioqKioqKioqKioqKioKKyAgICAgIERpZSBQcm9wZXJ0eSBnaWJ0IGFuLCBvYiBkZXIgQmVoYWVsdGVyIFdhc3NlciBlbnRoYWVsdCBvZGVyIG5pY2h0LgorICAgICAgRGVyIFdlcnQgc29sbHRlIGltbWVyIGF1ZiBkZW4gVHlwIGplbmVzIEdld2Flc3NlcnMgZ2VzZXR6dCBzZWluLCBhdXMKKyAgICAgIGRlbSBkZXIgQmVoYWVsdGVyIGF1ZmdlZnVlbGx0IHd1cmRlLgorCitTSUVIRSBBVUNIOgorCisgICAgUHJvcGVydGllczogUF9GSVNICisgICAgTWV0aG9kZW46ICAgR2V0QXF1YXJpdW0oTCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitadWxldHp0IGdlYWVuZGVydDogMjAxNC1BdWctMjEsIEFyYXRob3JuCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XQyBiL2RvYy9wcm9wcy9QX1dDCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MmRlM2QKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9XQwpAQCAtMCwwICsxLDM3IEBACitOQU1FOgorCVBfV0MJCQkJIndjIgorCitERUZJTklFUlQgSU46CisJL3N5cy93ZWFwb24uaAorCitCRVNDSFJFSUJVTkc6CisJRGllIFdhZmZlbmtsYXNzZSAoZW5nbDogd2VhcG9uIGNsYXNzKSwgYWxzbyBkaWUgU3RhZXJrZSBkZXIgV2FmZmUsCisJc3RlbGx0IGVpbmVuIG51bWVyaXNjaGVuIFdlcnQgZGFyLCBkZXIgdW1zbyBncm9lc3NlciBpc3QsIGRlc3RvIG1laHIKKwlTY2hhZGVuIGVpbmUgV2FmZmUgaW0gS2FtcGYgYW5yaWNodGV0LiBCZWltIFp1ZWNrZW4gb2RlciBXZWdzdGVja2VuCisJZWluZXIgV2FmZmUgZHVyY2ggZWluIExlYmV3ZXNlbiB3aXJkIGlubmVyaGFsYiBkZXMgTGViZXdlc2VucyBhdWNoCisJZGllIFByb3BlcnR5IFBfVE9UQUxfV0MgYWt0dWFsaXNpZXJ0LCB3ZWxjaGUgc29taXQgaW1tZXIgZGllCisJYWt0dWVsbGUgQW5ncmlmZnNzdGFlcmtlIGVudGhhZWx0LiBCZWltIFp1ZWNrZW4gZXJoYWVsdCBzaWUgaGllcmJlaQorCWRpZSBXYWZmZW5rbGFzc2UgZGVyIFdhZmZlIHVuZCBiZWltIFdlZ3N0ZWNrZW4gZGllIEFuZ3JpZmZzc3RhZXJrZQorCWF1cyBkZXIgUHJvcGVydHkgUF9IQU5EUyAoS2FlbXBmZW4gbWl0IGJsb3NzZW4gSGFlbmRlbikuCisJRGllIFdhZmZlbmtsYXNzZSB2b24gZWluaGFlbmRpZ2VuIFdhZmZlbiBzb2xsdGUgMTUwIG5pY2h0CisJdWViZXJzY2hyZWl0ZW4sIGRpZSBPYmVyZ3JlbnplIGZ1ZXIgendlaWhhZW5kaWdlIFdhZmZlbiBsaWVndCBiZWkKKwkyMDAuIEF1c25haG1lbiB2b24gZGllc2VyIFJlZ2VsIGJlZHVlcmZlbiBkZXIgQWJzcHJhY2hlIG1pdCBkZW0KKwlFcnptYWdpZXIgZnVlciBSdWVzdHVuZ2VuLCBXYWZmZW4gdW5kIE1vbnN0ZXIhCisJTmVnYXRpdmUgV2VydGUgYmV3aXJrZW4ga2VpbmVuIFNjaGFkZW4sIGFsbGVyZGluZ3MgYXVjaCBrZWluZQorCUhlaWx1bmcuCisKK0JFTUVSS1VOR0VOOgorCVF1ZXJ5LSB1bmQgU2V0bWV0aG9kZW4gYXVmIFBfV0Mgc29sbHRlbiB1bmJlZGluZ3QgdmVybWllZGVuIHdlcmRlbi4gU2llCisJZnVlaHJlbiBpbiBkZXIgUmVnZWwgenUgbWFzc2l2ZW4gSW5rb25zaXN0ZW56ZW4gaW0gTWVjaGFuaXNtdXMgZGVyIAorCVJ1ZXN0dW5nc2Jlc2NoYWVkaWd1bmcgdW5kIC1yZXBhcmF0dXIuCisJQXVjaCBtaXQgZWluZXIgSGl0RnVuYygpIGR1ZXJmZW4gZGllIE9iZXJncmVuemVuIG5pY2h0IG9obmUKKwlBYnNwcmFjaGUgdWViZXJzY2hyaXR0ZW4gd2VyZGVuISBBdXNzZXJkZW0gaXN0IGVzIHJhdHNhbSwgZGllCisJenVzYWV0emxpY2hlbiBLYW1wZmVpZ2Vuc2NoYWZ0ZW4gaW4gUF9FRkZFQ1RJVkVfV0MgZ2Vzb25kZXJ0CisJYW56dWdlYmVuLgorCitTSUVIRSBBVUNIOgorCS9zdGQvd2VhcG9uLmMsIC9zdGQvd2VhcG9uL2NvbWJhdC5jCisJUF9EQU1BR0VELCBQX0VGRkVDVElWRV9XQywgUF9XRUFQT05fVFlQRQorCURhbWFnZSgpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiswMi4xMC4yMDA3LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XRUFQT04gYi9kb2MvcHJvcHMvUF9XRUFQT04KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxODU0YwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dFQVBPTgpAQCAtMCwwICsxLDE3IEBACitQX1dFQVBPTgorCitOQU1FOgorICAgICBQX1dFQVBPTiAgICAgICAgICAgICAgICAgICAgICAid2VhcG9uIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgIE1vbWVudGFuIGdlenVlY2t0ZSBXYWZmZS4gSW0gTGl2aW5nIGdlc2V0enQuCisKK1NJRUhFIEFVQ0g6CisgICAgICBWZXJ3YW5kdDoJCVBfQVJNT1VSUworICAgICAgV2FmZmVuOgkJUF9XQywgUF9XRUFQT05fVFlQRSwgUF9EQU1fVFlQRSwgUF9OUl9IQU5EUywgUF9QQVJSWQorICAgICAgU29uc3RpZ2VzOglQX1VOV0lFTERfVElNRSwgUF9FUVVJUF9USU1FLCBQX0xBU1RfVVNFCisKKzEwLkZlYiAyMDA1IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XRUFQT05fVEVBQ0hFUiBiL2RvYy9wcm9wcy9QX1dFQVBPTl9URUFDSEVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkxM2NmZTcKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9XRUFQT05fVEVBQ0hFUgpAQCAtMCwwICsxLDIwIEBACitQX1dFQVBPTl9URUFDSEVSICAgIndlYXBvbl90ZWFjaGVyIgorLS0tLS0tLS0tLS0tLS0tLQorCitERUZJTklFUlQgSU46CistLS0tLS0tLS0tLS0tCisKK2NvbWJhdC5oCisKK0JFU0NIUkVJQlVORworLS0tLS0tLS0tLS0tCisKK0RpZXNlIFByb3BlcnR5IHdpcmQgaW4gZWluZW0gQXp1YmkgZ2VzZXR6dCAoenVyIFplaXQgbnVyIGZ1ZXIgZGllIAorS2FlbXBmZXItR2lsZGUpLCBkZXIgc2VsYnN0IHVlYmVyIGRpZSBhbGxnZW1laW5lbiBXYWZmZW5za2lsbHMKK3ZlcmZ1ZWd0LgorCitJbiBkaWVzZSBQcm9wZXJ0eSB3aXJkIGRlciBOYW1lIGVpbmVzIEthZW1wZmVyZ2lsZGVuLUF1c2JpbGRlcnMKK2VpbmdldHJhZ2VuLgorCitVbnRlciBBbmxlaXR1bmcgZGVzIEF1c2JpbGRlcnMgbGVybnQgZGVyIEF6dWJpIGRhbm4gZXR3YXMgc2NobmVsbGVyCitkaWUgYWxsZ2VtZWluZW4gV2FmZmVuc2tpbGxzLgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0VBUE9OX1RZUEUgYi9kb2MvcHJvcHMvUF9XRUFQT05fVFlQRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmYzYzBiCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfV0VBUE9OX1RZUEUKQEAgLTAsMCArMSwzMSBAQAorUF9XRUFQT05fVFlQRQorCitOQU1FOgorICAgICBQX1dFQVBPTl9UWVBFICJ3ZWFwb25fdHlwZSIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgVW0gd2FzIGZ1ZXIgZWluZSBXYWZmZSBoYW5kZWx0IGVzIHNpY2g/IEVzIHN0ZWhlbiB2ZXJzY2hpZWRlbmUKKyAgICAgVHlwZW4genVyIEF1c3dhaGwuIE1hbiBzb2xsdGUgaGllciBudXIgZGllIGluIDxjb21iYXQuaD4gZGVmaW5pZXJ0ZW4KKyAgICAgS29uc3RhbnRlbiB2ZXJ3ZW5kZW46CisKKyAgICAgICAgV1RfQU1NVSAgICAgICAgICAgTXVuaXRpb24gZnVlciBGZXJua2FtcGZ3YWZmZW4KKyAgICAgICAgV1RfQVhFICAgICAgICAgICAgQXh0CisgICAgICAgIFdUX0NMVUIgICAgICAgICAgIEtldWxlCisgICAgICAgIFdUX0hBTkRTICAgICAgICAgIGJsb3NzZSBIYWVuZGUKKyAgICAgICAgV1RfS05JRkUgICAgICAgICAgTWVzc2VyLCBEb2xjaAorICAgICAgICBXVF9SQU5HRURfV0VBUE9OICBGZXJua2FtcGZ3YWZmZQorICAgICAgICBXVF9TUEVBUiAgICAgICAgICBTcGVlcgorICAgICAgICBXVF9TVEFGRiAgICAgICAgICBLYW1wZnN0YWIKKyAgICAgICAgV1RfU1dPUkQgICAgICAgICAgU2Nod2VydAorICAgICAgICBXVF9XSElQICAgICAgICAgICBQZWl0c2NoZQorICAgICAgICBXVF9NSVNDICAgICAgICAgICBTb25zdGlnZXMKKworICAgIERlciBXYWZmZW50eXAgV1RfTUlTQyBpc3Qgc2Nobm9lZGVtIFRhbmQgdW5kIG51dHpsb3NlbSBLcmFtIHZvcmJlaGFsdGVuLgorICAgIFdhZmZlbiBkaWVzZXMgVHlwcyBkdWVyZmVuIGtlaW5lIFBfV0MgPiAwIGJlc2l0emVuIG9kZXIga2FtcGZyZWxldmFudGUKKyAgICBCZWRldXR1bmcgaGFiZW4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xldHp0ZSBBZW5kZXJ1bmc6IDI3LiBNYWkgMjAxNSwgQXJhdGhvcm4uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XRUFSX0ZVTkMgYi9kb2MvcHJvcHMvUF9XRUFSX0ZVTkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWRjOWJjYwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dFQVJfRlVOQwpAQCAtMCwwICsxLDI0IEBACitQX1dFQVJfRlVOQworCitOQU1FOgorICAgICBQX1dFQVJfRlVOQyAid2Vhcl9mdW5jIgorCitERUZJTklFUlQgSU46CisgICAgIDxhcm1vdXIuaD4KKworQkVTQ0hSRUlCVU5HOgorICAgICBGYWxscyBlaW4gT2JqZWt0IGVpbmUgV2VhckZ1bmMoKSBmdWVyIGRpZSBSdWVzdHVuZyAvIEtsZWlkdW5nIGRlZmluaWVydCwgCisgICAgIHNvIG11c3MgZGllc2VzIE9iamVrdCBpbiBkaWVzZXIgUHJvcGVydHkgZWluZ2V0cmFnZW4gc2Vpbi4KKworICAgICBEaWUgQXVzd2VydHVuZyBkaWVzZXIgUHJvcGVydHkgZXJmb2xndCBpbiBMYXVmZSBlaW5lcyBEb1dlYXIoKSBpbiBkZXIKKyAgICAgbmljaHQtb2VmZmVudGxpY2hlbiBGdW5rdGlvbiBfY2hlY2tfd2Vhcl9yZXN0cmljdGlvbnMoKS4uCisKK0JFSVNQSUVMRToKKyAgICAgU2llaGUgZGFzIEJlaXNwaWVsIHp1IFdlYXJGdW5jKCkKKworU0lFSEUgQVVDSDoKKyAgICAgYXJtb3VycywgY2xvdGhpbmcsIC9zdGQvY2xvdGhpbmcvd2Vhci5jLCAvc3RkL2FybW91ci93ZWFyLmMKKyAgICAgV2VhckZ1bmMoKSwgSW5mb3JtV2VhcigpCisKK0xFVFpURSBBZU5ERVJVTkc6CisxNS4wMi4yMDA5LCBaZXNzdHJhClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0VBUl9NU0cgYi9kb2MvcHJvcHMvUF9XRUFSX01TRwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTQwN2ZhCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfV0VBUl9NU0cKQEAgLTAsMCArMSw2MSBAQAorUF9XRUFSX01TRworTkFNRToKKyAgICBQX1dFQVJfTVNHICAgICAgICAgICAgICAgICAgICAgICAid2Vhcl9tc2ciICAgICAgICAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvYXJtb3VyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBad2VpdGVpbGlnZXMgQXJyYXkgbWl0IE1lbGR1bmdlbiwgZGllIGJlaW0gQW56aWVoZW4gZWluZXIgUnVlc3R1bmcgb2RlcgorICAgICBLbGVpZHVuZyBhbiBkZW4gU3BpZWxlciB1bmQgZGllIFVtZ2VidW5nIGF1c2dlZ2ViZW4gd2VyZGVuLgorICAgICBEZXIgZXJzdGUgRWludHJhZyBnZWh0IGFuIGRlbiBTcGllbGVyLCBkZXIgendlaXRlIEVpbnRyYWcgYW4gZGllCisgICAgIFVtZ2VidW5nLiBaZWlsZW51bWJydWVjaGUgd2VyZGVuIGF1dG9tYXRpc2NoIGdlbWFjaHQsIGV4aXN0aWVyZW5kZQorICAgICBqZWRvY2ggYmVydWVja3NpY2h0aWd0LgorCisgICAgIFBsYXR6aGFsdGVyIGZ1ZXIgU3BpZWxlciBpc3QgQFdFeHh4MSwgZnVlciBkaWUgV2FmZmUgQFdFeHh4MiAoc2llaGUKKyAgICAgbWFuIHJlcGxhY2VfcGVyc29uYWwoKSkuCisKKyAgICAgW1dlZ2VuIEFid2FlcnRza29tcGF0aWJpbGl0YWV0IGlzdCBhdWNoIG5vY2ggZGVyIFBsYXR6aGFsdGVyICVzCisgICAgICBtb2VnbGljaCwgd29iZWkgaW4gZGVyIGVpZ2VuZW4gTWVsZHVuZyAlcyBmdWVyIGRlbiBXYWZmZW5uYW1lbiBzdGVodCwKKyAgICAgIGluIGRlciBhbiBkZW4gUmF1bSBkYXMgZXJzdGUgJXMgZnVlciBkZW4gU3BpZWxlcm5hbWVuLCBkYXMgendlaXRlIGZ1ZXIKKyAgICAgIGRlbiBXYWZmZW5uYW1lbi5dCisKK0JFSVNQSUVMRToKKyAgICBTZXRQcm9wKFBfTkFNRSwgIkhlbG0iKTsKKyAgICBTZXRQcm9wKFBfV0VBUl9NU0csCisgICAgICh7IkR1IHN0dWVscHN0IGRpZSBAV0VOMiB1ZWJlci4iLCAKKyAgICAgICAiQFdFUjEgc3R1ZWxwdCBzaWNoIEBXRU5VMiB1ZWJlci4ifSkpOworCisgICAgLT4gYmVpbSBBbnppZWhlIGR1cmNoIFVyazoKKyAgICAgICBVcmsgYmVrb21tdDogRHUgc3R1ZWxwc3QgZGlyIGRlbiBIZWxtIHVlYmVyLgorICAgICAgIERlciBSYXVtOiAgICBVcmsgc3R1ZWxwdCBzaWNoIGVpbmVuIEhlbG0gdWViZXIuCisKKyAgICBTZXRQcm9wKFBfV0VBUl9NU0csCisgICAgICh7IkFscyBEdSBEaXIgZGVuIGxhbmdlbiBNYW50ZWwgdWViZXJ6aWVoc3QsIHN0ZWNrc3QgRHUgZXJzdG1hbCAiCisgICAgICAgIm1pdCBEZWluZW0gZGlja2VuIFNjaGFlZGVsIGZlc3QuIERvY2ggbmFjaCBlaW5lbSBrcmFlZnRpZ2VuICIKKyAgICAgICAiUnVjayBiaXN0IER1IGVuZGxpY2ggZHVyY2ggdW5kIHNpZWhzdCB3aWVkZXIgZXR3YXMuIiwKKyAgICAgICAiQFdFUjEgemllaHQgc2ljaCBlaW5lbiBsYW5nZW4gTWFudGVsIHVlYmVyIHVuZCBibGVpYnQgIgorICAgICAgICJwcm9tcHQgbWl0IGRlbSBkaWNrZW4gU2NoYWVkZWwgc3RlY2tlbi4gRG9jaCBuYWNoIGVpbmVtICIKKyAgICAgICAia3JhZWZ0aWdlbiBSdWNrIGthbm4gQFdFUlFQMSB3aWVkZXIgZXR3YXMgc2VoZW4gdW5kIGdyaW5zdCBEaWNoICIKKyAgICAgICAidmVybGVnZW4gYW4uIn0pKTsKKworICAgIC0+IGJlaW0gQW56aWVoZW4gZHVyY2ggVXJrOgorICAgICAgIFVyayBiZWtvbW10OiBBbHMgRHUgRGlyIGRlbiBsYW5nZW4gTWFudGVsIHVlYmVyemllaHN0LCBzdGVja3N0IER1CisJCSAgICBlcnN0bWFsIG1pdCBEZWluZW0gZGlja2VuIFNjaGFlZGVsIGZlc3QuIERvY2ggbmFjaCBlaW5lbQorCQkgICAga3JhZWZ0aWdlbiBSdWNrIGJpc3QgRHUgZW5kbGljaCBkdXJjaCB1bmQgc2llaHN0IHdpZWRlcgorCQkgICAgZXR3YXMuCisKKyAgICAgICBEZXIgUmF1bTogICAgVXJrIHppZWh0IHNpY2ggZWluZW4gbGFuZ2VuIE1hbnRlbCB1ZWJlciB1bmQgYmxlaWJ0CisJCSAgICBwcm9tcHQgbWl0IGRlbSBkaWNrZW4gU2NoYWVkZWwgc3RlY2tlbi4gRG9jaCBuYWNoCisJCSAgICBlaW5lbSBrcmFlZnRpZ2VuIFJ1Y2sga2FubiBlciB3aWVkZXIgZXR3YXMgc2VoZW4gdW5kCisJCSAgICBncmluc3QgRGljaCB2ZXJsZWdlbiBhbi4KKworU0lFSEUgQVVDSDoKKyAgICAgQWVobmxpY2hlczogUF9VTldFQVJfTVNHLCBQX1dJRUxEX01TRywgUF9VTldJRUxEX01TRworICAgICAgICAgICAgICAgICBQX0RST1BfTVNHLCBQX1BVVF9NU0csIFBfR0lWRV9NU0csIFBfUElDS19NU0cKKyAgICAgRnVua3Rpb25lbjogV2VhckZ1bmMsIFVud2VhckZ1bmMsIEluZm9ybVdlYXIoKQorICAgICBTb25zdGlnZXM6ICByZXBsYWNlX3BlcnNvbmFsKEUpLCBjbG90aGluZywgL3N0ZC9jbG90aGluZy93ZWFyLmMKKyAgICAgICAgICAgICAgICAgYXJtb3VyLCAvc3RkL2FybW91ci93ZWFyLmMKKworTEVUWlRFIEFlTkRFUlVORzoKKzE1LjAyLjIwMDkKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XRUlHSFQgYi9kb2MvcHJvcHMvUF9XRUlHSFQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJhZjVmMAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dFSUdIVApAQCAtMCwwICsxLDI2IEBACitOQU1FOgorICAgIFBfV0VJR0hUICAgICAgICAgICAgICAgICAgICAgICJ3ZWlnaHQiICAgICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy90aGluZy9yZXN0cmljdGlvbnMuaAorCitCRVNDSFJFSUJVTkc6CisKKyAgICAgLSBPYmpla3RlCisgICAgICAgRGFzIEdld2ljaHQgZWluZXMgT2JqZXRlcyBpbiBHcmFtbS4KKworICAgICAtIFNwZWlzZW4KKyAgICAgICBHZXdpY2h0IGVpbmVyIFBvcnRpb24gZGVyIFNwZWlzZS4KKyAgICAgICAKK0JFTUVSS1VOR0VOOgorICAgICBJbiB0cmFnYmFyZW4gU3BlaXNlbiAoZXJiZW4gdm9uIC9zdGQvZm9vZCkgc2V0enQgbWFuIG1pdCBTZXRQcm9wCisgICAgIGRhcyBHZXdpY2h0IF9laW5lcl8gUG9ydGlvbi4gUGVyIFF1ZXJ5UHJvcCBlcmhhZWx0IG1hbiBhYmVyIGRhcworICAgICBHZXNhbXRnZXdpY2h0IGRlciBTcGVpc2UgaW5jbHVzaXZlIGRlcyBldmVudHVlbGwgdm9yaGFuZGVuZW4gQmVoYWVsdGVycy4KKyAgICAgRGFzIEdld2ljaHQgZGVzIEJlaGFlbHRlcnMgd2lyZCBkYWJlaSBhdXMgUF9FTVBUWV9QUk9QU1tQX1dFSUdIVF0KKyAgICAgZ2VsZXNlbi4KKyAgICAgCitTSUVIRSBBVUNIOgorICAgICBTcGVpc2VuOiB3aXovZm9vZCwgUF9FTVBUWV9QUk9QUworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0xhc3QgbW9kaWZpZWQ6IFRodSBPY3QgMjggMTI6MTU6MDAgMjAxMCBieSBDYWxkcmEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XRUlHSFRfUEVSQ0VOVCBiL2RvYy9wcm9wcy9QX1dFSUdIVF9QRVJDRU5UCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYjFhZDMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9XRUlHSFRfUEVSQ0VOVApAQCAtMCwwICsxLDI1IEBACitOQU1FOgorICAgIFBfV0VJR0hUX1BFUkNFTlQgICAgICAgICAgICAgICJ3ZWlnaHRfcGVyY2VudCIgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBnaWJ0IGFuLCB3aWV2aWVsIFByb3plbnQgZGVzIEdld2ljaHRzIGRlcyBJbmhhbHRlcworICAgICAibmFjaCBhdXNzZW4iIHdpZWRlcmdlZ2ViZW4gd2VyZGVuLgorCitCRU1FUktVTkdFTjoKKyAgICAgQWxsZSBXZXJ0ZSBkaWUgPCA1MCUgbGllZ2VuIHNvbGx0ZW4gc2VociBndXQgYmVncnVlbmRldCB1bmQgbWl0IFZvci0KKyAgICAgc2ljaHQgdmVyd2VuZGV0IHdlcmRlbi4gSGllciBrb2VubnRlbiBkYW5uIHp1bSBCZWlzcGllbCBQX01BWF9PQkpFQ1RTCisgICAgIGF1ZiBlaW5lbiBrbGVpbmVuIFdlcnQgYmVncmVuenQgd2VyZGVuLgorCisgICAgIENvbnRhaW5lciBkaWUgaGllciBlaW5lbiBXZXJ0IHVlYmVyIGRlbSBkZXMgUG9zdHBha2V0cyBoYWJlbiwgc29sbHRlbgorICAgICBhdWNoIHNjaHdlciB6dSBlcnJlaWNoZW4gc2Vpbi4gQXVmIGplZGVuIEZhbGwgbWl0IGRlbSBSZWdpb25zbWFnaWVyCisgICAgIGJlc3ByZWNoZW4hCisKK0JFSVNQSUVMRToKKyAgICAgVW0gc2ljaCB6dSBvcmllbnRpZXJlbiBrYW5uIGRhcyBQb3N0cGFrZXQgdm9uIExvY28gYWxzIEJlaXNwaWVsIGhpbi0KKyAgICAgenVnZXpvZ2VuIHdlcmRlbiAoL3Avc2VydmljZS9sb2NvL29iai9wYXJjZWwpLgorCitTSUVIRSBBVUNIOgorICAgICBQX01BWF9PQkpFQ1RTLCBQX01BWF9XRUlHSFQsIFBfTElHSFRfVFJBTlNQQVJFTkNZLCBjb250YWluZXIKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1dFSUdIVF9QRVJfVU5JVCBiL2RvYy9wcm9wcy9QX1dFSUdIVF9QRVJfVU5JVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzk2YjdiCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL1BfV0VJR0hUX1BFUl9VTklUCkBAIC0wLDAgKzEsMTMgQEAKK05BTUU6CisgICAgUF9XRUlHSFRfUEVSX1VOSVQgICAgICAgICAgICAgIndlaWdodF9wZXJfdW5pdCIgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIEdld2ljaHQgaW4gR3JhbW0gcHJvIFVudGVyZWluaGVpdC4KKworQkVNRVJLVU5HRU46CisgICAgIERlcHJlY2F0ZWQuIEJpdHRlIFNldEdyYW1zUGVyVW5pdHMoKSAoVV9HUFUpIGJlbnV0emVuLgorCisyNS5BdWcgMjAxNSBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0lFTERFRCBiL2RvYy9wcm9wcy9QX1dJRUxERUQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmNlODU4MAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dJRUxERUQKQEAgLTAsMCArMSwyMSBAQAorUF9XSUVMREVECisKK05BTUU6CisgICAgIFBfV0lFTERFRCAid2llbGRlZCIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgSXN0IGRpZXNlIFByb3BlcnR5IGdlc2V0enQsIGRhbm4gaXN0IGRpZSBXYWZmZSBnZXJhZGUgZ2V6dWVja3QuIERlcgorICAgICBUcmFlZ2VyIGlzdCBpbiBkZXIgUHJvcGVydHkgdmVybWVya3QuCisKK0JFTUVSS1VOR0VOOgorICAgICBEaWVzZSBQcm9wZXJ0eSBsYWVzc3Qgc2ljaCBudXIgYWJmcmFnZW4hCisKK1NJRUhFIEFVQ0g6CisgICAgIC9zdGQvd2VhcG9uLmMKKyAgICAgUF9XRUFQT04KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogMjAxNS1KdWwtMTEsIEFyYXRob3JuIApkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0lFTERfRlVOQyBiL2RvYy9wcm9wcy9QX1dJRUxEX0ZVTkMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFjNDgxYgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dJRUxEX0ZVTkMKQEAgLTAsMCArMSwyMiBAQAorUF9XSUVMRF9GVU5DCisKK05BTUU6CisgICAgIFBfV0lFTERfRlVOQyAid2llbGRfZnVuYyIKKworREVGSU5JRVJUIElOOgorICAgICA8d2VhcG9uLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgRmFsbHMgZWluIE9iamVrdCBlaW5lIFdpZWxkRnVuYygpIGZ1ZXIgZGllIFdhZmZlIGRlZmluaWVydCwgc28gbXVzcworICAgICBkaWVzZXMgT2JqZWt0IGluIGRpZXNlciBQcm9wZXJ0eSBlaW5nZXRyYWdlbiB3ZXJkZW4uCisKKyAgICAgRGllIEF1c3dlcnR1bmcgZGllc2VyIFByb3BlcnR5IGVyZm9sZ3QgaW4gd2llbGRfbWUoKS4KKworQkVJU1BJRUxFOgorICAgICBTaWVoZSBkYXMgQmVpc3BpZWwgenUgV2llbGRGdW5jKCkKKworU0lFSEUgQVVDSDoKKyAgICAgL3N0ZC93ZWFwb24uYywgV2llbGRGdW5jKCkKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogU3VuIE1heSAxOSAxNTo0MDowMiAxOTk2IGJ5IFdhcmdvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV0lFTERfTVNHIGIvZG9jL3Byb3BzL1BfV0lFTERfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1N2EzMDQKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9XSUVMRF9NU0cKQEAgLTAsMCArMSw1NyBAQAorUF9XSUVMRF9NU0cKK05BTUU6CisgICAgIFBfV0lFTERfTVNHICAgICAgICAgICAgICAgICAgICAgICAid2llbGRfbXNnIiAKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL3dlYXBvbi5oCisKK0JFU0NIUkVJQlVORzoKKworICAgICBad2VpdGVpbGlnZXMgQXJyYXkgbWl0IE1lbGR1bmdlbiwgZGllIGJlaW0gWnVlY2tlbiBlaW5lciBXYWZmZSBhbiBkZW4KKyAgICAgU3BpZWxlciB1bmQgZGllIFVtZ2VidW5nIGF1c2dlZ2ViZW4gd2VyZGVuLgorICAgICBEZXIgZXJzdGUgRWludHJhZyBnZWh0IGFuIGRlbiBTcGllbGVyLCBkZXIgendlaXRlIEVpbnRyYWcgYW4gZGllCisgICAgIFVtZ2VidW5nLiAgWmVpbGVudW1icnVlY2hlIHdlcmRlbiBhdXRvbWF0aXNjaCBnZW1hY2h0LCBleGlzdGllcmVuZGUKKyAgICAgamVkb2NoIGJlcnVlY2tzaWNodGlndC4KKworICAgICBQbGF0emhhbHRlciBmdWVyIFNwaWVsZXIgaXN0IEBXRXh4eDEsIGZ1ZXIgZGllIFdhZmZlIEBXRXh4eDIgKHNpZWhlCisgICAgIG1hbiByZXBsYWNlX3BlcnNvbmFsKCkpLgorCisgICAgIFtXZWdlbiBBYndhZXJ0c2tvbXBhdGliaWxpdGFldCBpc3QgYXVjaCBub2NoIGRlciBQbGF0emhhbHRlciAlcworICAgICAgbW9lZ2xpY2gsIHdvYmVpIGluIGRlciBlaWdlbmVuIE1lbGR1bmcgJXMgZnVlciBkZW4gV2FmZmVubmFtZW4gc3RlaHQsCisgICAgICBpbiBkZXIgYW4gZGVuIFJhdW0gZGFzIGVyc3RlICVzIGZ1ZXIgZGVuIFNwaWVsZXJuYW1lbiwgZGFzIHp3ZWl0ZSBmdWVyCisgICAgICBkZW4gV2FmZmVubmFtZW4uXQorCitCRUlTUElFTEU6CisgICAgU2V0UHJvcChQX05BTUUsICJTdHJlaXRrb2xiZW4iKTsKKyAgICBTZXRQcm9wKFBfV0lFTERfTVNHLAorICAgICAoeyJEdSB6dWVja3N0IEBXRU4yIHVuZCBzdG9lc3N0IGVpbmVuIG1hcmtlcnNjaHVldHRlcm5kZW4gU2NocmVpIGF1cy4iLCAKKyAgICAgICAiQFdFUjEgenVlY2t0IEBXRU5VMiB1bmQgc3RvZXNzdCBlaW5lbiBtYXJrZXJzY2h1ZXR0ZXJuZGVuIFNjaHJlaSAiCisgICAgICAgImF1cy4iIH0pKTsKKworICAgIC0+IGJlaW0gWnVlY2tlbiBkdXJjaCBVcms6CisgICAgICAgVXJrIGJla29tbXQ6IER1IHp1ZWNrc3QgZGVuIFN0cmVpdGtvbGJlbiB1bmQgc3RvZXNzdCBlaW5lbgorCQkgICAgbWFya2Vyc2NodWV0dGVybmRlbiBTY2hyZWkgYXVzLgorICAgICAgIERlciBSYXVtOiAgICBVcmsgenVlY2t0IGVpbmVuIFN0cmVpdGtvbGJlbiB1bmQgc3RvZXNzdCBlaW5lbgorCQkgICAgbWFya2Vyc2NodWV0dGVybmRlbiBTY2hyZWkgYXVzLgorCisgICAgU2V0UHJvcChQX1dJRUxEX01TRywKKyAgICAgKHsiRHUgenVlY2tzdCBkZW4ga2xvYmlnZW4gU3RyZWl0a29sYmVuIHVuZCBmdWNodGVsc3QgZGFtaXQgIgorICAgICAgICJ3aWxkIHZvciBEZWluZXIgTmFzZSBoZXJ1bS4iLAorICAgICAgICJAV0VSMSB6dWVja3QgZWluZW4ga2xvYmlnZW4gU3RyZWl0a29sYmVuIHVuZCBmdWNodGVsdCAiCisgICAgICAgImRhbWl0IHdpbGQgdm9yIGRlciBlaWdlbmVuIE5hc2UgaGVydW0uIEhvZmZlbnRsaWNoIHZlcmxldHp0ICIKKyAgICAgICAiQFdFUlFQMSBzaWNoIGRhYmVpIG5pY2h0IC4uLiJ9KSk7CisKKyAgICAtPiBiZWltIFp1ZWNrZW4gZHVyY2ggVXJrOgorICAgICAgIFVyayBiZWtvbW10OiBEdSB6dWVja3N0IGRlbiBrbG9iaWdlbiBTdHJlaXRrb2xiZW4gdW5kIGZ1Y2h0ZWxzdAorICAgICAgICAgICAgICAgICAgICBkYW1pdCB3aWxkIHZvciBEZWluZXIgTmFzZSBoZXJ1bS4KKyAgICAgICBEZXIgUmF1bTogICAgVXJrIHp1ZWNrdCBlaW5lbiBrbG9iaWdlbiBTdHJlaXRrb2xiZW4gdW5kIGZ1Y2h0ZWx0CisJCSAgICBkYW1pdCB3aWxkIHZvciBkZXIgZWlnZW5lbiBOYXNlIGhlcnVtLiBIb2ZmZW50bGljaAorICAgICAgICAgICAgICAgICAgICB2ZXJsZXR6dCBlciBzaWNoIGRhYmVpIG5pY2h0IC4uLgorCitTSUVIRSBBVUNIOgorICAgICBBZWhubGljaGVzOiBQX1VOV0lFTERfTVNHLCBQX1dFQVJfTVNHLCBQX1VOV0VBUl9NU0cKKyAgICAgICAgICAgICAgICAgUF9EUk9QX01TRywgUF9QVVRfTVNHLCBQX0dJVkVfTVNHLCBQX1BJQ0tfTVNHCisgICAgIEZ1bmt0aW9uZW46IFVud2llbGRGdW5jLCBXaWVsZEZ1bmMKKyAgICAgU29uc3RpZ2VzOiAgcmVwbGFjZV9wZXJzb25hbChFKSwgL3N0ZC93ZWFwb24vY29tYmF0LmMKKworMjkuIE1hZXJ6IDIwMDQgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1dJTVBZIGIvZG9jL3Byb3BzL1BfV0lNUFkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTc2MzNmYQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dJTVBZCkBAIC0wLDAgKzEsMTUgQEAKK05BTUU6CisgICAgUF9XSU1QWSAgICAgICAgICAgICAgICAgICAgICAgIndpbXB5IiAgICAgICAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3Byb3BlcnRpZXMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE51bWVyaXNjaGVyIFdlcnQuIERhcyBMZWJld2VzZW4gZmxpZWh0LCB3ZW5uIGRpZSBMZWJlbnNwdW5rdGUKKyAgICAgdW50ZXIgZGllc2VuIFdlcnQgc2lua2VuLgorCitTSUVIRSBBVUNIOgorICAgICBQX1dJTVBZX0RJUkVDVElPTgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMZXR6dGUgQWVuZGVydW5nOiBNb24gRmViIDEyIDE3OjUwOjQ3IDIwMDEgdm9uIFRpbGx5CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XSU1QWV9ESVJFQ1RJT04gYi9kb2MvcHJvcHMvUF9XSU1QWV9ESVJFQ1RJT04KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTdkMmYwMQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dJTVBZX0RJUkVDVElPTgpAQCAtMCwwICsxLDIyIEBACitOQU1FOgorICAgIFBfV0lNUFlfRElSRUNUSU9OICAgICAgICAgICAgICJ3aW1weV9kaXIiICAgICAgICAgICAgICAgICAgIAorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBGbHVjaHRyaWNodHVuZyBlaW5lcyBTcGllbGVycyBvZGVyIE5QQ3MKKworQkVNRVJLVU5HRU46CisgICAgIERpZSBGbHVjaHRyaWNodHVuZyBrYW5uIG5pY2h0IG51ciBlaW4gQXVzZ2FuZyAoc3VlZGVuLCBvc3RlbiwgLi4uKQorICAgICBzZWluLCBzb25kZXJuIGF1Y2ggZWluIEtvbW1hbmRvLCB3ZWxjaGVzIGRlciBTcGllbGVyIGJlaW0gQW5zY2hsYWdlbgorICAgICBhdXNmdWVocnQgKHouYi4gPGtsZXR0ZXIgc2VpbCBob2NoPiBvZGVyIDxydWZlIEVsZW5kZXIgTWlzdCE+KS4KKworICAgICBBdXNnZWZ1ZWhydCB3aXJkIGRpZSBGbHVjaHRyaWNodHVuZyBwZXIgY29tbWFuZCgpLCB3ZW5uIGRpZSBMUCBkZXMgCisgICAgIExlYmV3ZXNlbnMgdW50ZXIgZGllIG1pdCA8dm9yc2ljaHQ+IGFuZ2VnZWJlIExQLUdyZW56ZSBzaW5rdC4KKworU0lFSEUgQVVDSDoKKyAgICAgUF9XSU1QWQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitMZXR6dGUgQWVuZGVydW5nOiBNb24gRmViIDEyIDE3OjQ2OjQ3IDIwMDEgdm9uIFRpbGx5CmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvUF9XSVpfREVCVUcgYi9kb2MvcHJvcHMvUF9XSVpfREVCVUcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Y3YWMyMQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dJWl9ERUJVRwpAQCAtMCwwICsxLDIwIEBACitOQU1FOgorICAgIFBfV0laX0RFQlVHICAgICAgICAgICAgICAgICAgICAic3RkX3Bfd2l6ZGVidWciCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci9jb21tLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBHZXNldHp0LCB3ZW5uIGRlciBNYWdpZXIgKG9kZXIgZWluIFRlc3RzcGllbGVyKSBEZWJ1Z21lbGR1bmdlbiB3YWhybmVobWVuCisgICAgIG1vZWNodGUuCisgICAgIERlYnVnbWVsZHVuZ2VuIHNpbmQgTmFjaHJpY2h0ZW4sIGRpZSBtaXQgZGVtIFR5cCBNVF9ERUJVRyBhbiBSZWNlaXZlTXNnKCkKKyAgICAgdWViZXJnZWJlbiB3ZXJkZW4uCisgICAgIAorICAgICBEaWUgV2VydGUgdm9uIFBfV0laX0RFQlVHIHNpbmQgenVyIFplaXQgMCBvZGVyIDEsIGRhcyBrYW5uIHNpY2ggYWJlcgorICAgICBqZWRlcnplaXQgYWVuZGVybi4KKyAgICAgTWFnaWVyIGFlbmRlcm4gZGllc2UgUHJvcCBiaXR0ZSB1ZWJlciAibXNjaGF1Ii4KKworU0lFSEUgQVVDSDoKKyAgICAgbXNjaGF1CisgICAgIFBfV0FOVFNfVE9fTEVBUk4KKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfV09STiBiL2RvYy9wcm9wcy9QX1dPUk4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2FmZDAzZQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1dPUk4KQEAgLTAsMCArMSw0MCBAQAorUF9XT1JOCisKK05BTUU6CisgICAgIFBfV09STiAid29ybiIKKworREVGSU5JRVJUIElOOgorICAgICA8YXJtb3VyLmg+CisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWl0dGVscyBkaWVzZXIgUHJvcGVydHkgbGFlc3N0IHNpY2ggZXJtaXR0ZWxuLCBvYiBlaW5lIFJ1ZXN0dW5nIGJ6dy4gCisgICAgIEtsZWlkdW5nIGRlcnplaXQgZ2V0cmFnZW4gd2lyZCB1bmQgd2VubiBqYSwgdm9uIHdlbS4KKworICAgICBFbnR3ZWRlciBlbnRoYWVsdCBkaWUgUHJvcGVydHkgZGVuIFdlcnQgMCwgb2RlciBzaWUgZW50aGFlbHQgZGVuCisgICAgIFRyYWVnZXIgZGVyIFJ1ZXN0dW5nIC8gS2xlaWR1bmcgKGFscyBPYmpla3QpLgorCitCRU1FUktVTkdFTjoKKyAgICAgRGllc2UgUHJvcGVydHkgbGFlc3N0IHNpY2ggbnVyIGFiZnJhZ2VuIQorCitCRUlTUElFTEU6CisgICAgIEVpbmUgRGVmZW5kRnVuYygpIGtvZW5udGUgZGVtIFRyYWVnZXIgZGVyIFJ1ZXN0dW5nIHdpZSBmb2xndCBldHdhcworICAgICBtaXR0ZWlsZW46CisKKyAgICAgLy8gRGllIFJ1ZXN0dW5nIGdpYnQgU2NodXR6IGdlZ2VuIEZldWVyCisgICAgIGludCBEZWZlbmRGdW5jKHN0cmluZyAqZHR5cCwgbWl4ZWQgc3BlbGwsIG9iamVjdCBlbmVteSkKKyAgICAgeworICAgICAgIGlmIChtZW1iZXIoZHR5cCwgRFRfRklSRSkgIT0gLTEpIHsKKyAgICAgICAgIC8vIFBfV09STiBpc3QgYXVmIGplZGVuIEZhbGwgZ2VzZXR6dCwgZGEgc29uc3QgZGllCisgICAgICAgICAvLyBEZWZlbmRGdW5jIHVlYmVyaGF1cHQgbmljaHQgYXVmZ2VydWZlbiB3dWVyZGUhCisgICAgICAgICB0ZWxsX29iamVjdChRdWVyeVByb3AoUF9XT1JOKSwKKyAgICAgICAgICAgIkRpZSBGbGFtbWVuIHp1ZW5nZWxuIG51ciBsZWljaHQgdWViZXIgZGllIFJ1ZXN0dW5nLlxuIik7CisgICAgICAgICByZXR1cm4gMTA7CisgICAgICAgfQorICAgICAgIHJldHVybiAwOworICAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgIGNsb3RoaW5nLCAvc3RkL2Nsb3RoaW5nLmMsIGFybW91ciwgL3N0ZC9hcm1vdXIuYworCitMRVRaVEUgQWVOREVSVU5HOgorMTUuMDIuMjAwOSwgWmVzc3RyYQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1hQIGIvZG9jL3Byb3BzL1BfWFAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk3ZWM2NQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1hQCkBAIC0wLDAgKzEsNTkgQEAKK05BTUU6CisgICAgIFBfWFAgICAgICAgICAgICAgICAgICAgICJ4cCIKKworREVGSU5JRVJUIElOOgorICAgICAvc3lzL2xpdmluZy9saWZlLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBkaWUgQW56YWhsIGRlciBFcmZhaHJ1bmdzcHVua3RlLCBkaWUgZWluCisgICAgIExlYmV3ZXNlbiBlcnJlaWNodCBoYXQuIERpZXMgZ2VzY2hpZWh0IGluc2Jlc29uZGVyZSBkdXJjaAorICAgICBLYW1wZmhhbmRsdW5nZW4sIHdvYmVpIGVzIHNvd29obCBmdWVyIEVpbnplbHNjaGxhZWdlIGFscyBhdWNoIGZ1ZXIKKyAgICAgZGFzIFRvZXRlbiBlaW5lcyBPcGZlcnMgUHVua3RlIGdpYnQuCisKKyAgICAgQmVpIGVpbnplbG5lbiBTY2hsYWVnZW4gaXN0IGRpZSBWZXJnYWJlIHZvbiBFcmZhaHJ1bmdzcHVua3RlbiBkYXZvbgorICAgICBhYmhhZW5naWcsIHdpZSBzdGFyayBtYW4gZGFzIE9wZmVyIGdldHJvZmZlbiBoYXQsIHVuZCB3ZWxjaGUKKyAgICAgR2VzYW10d2FmZmVua2xhc3NlIGVzIGhhdCAoZGFtYWdlKlBfVE9UQUxfV0MvMTApLgorCisgICAgIEJlaW0gVG9kZXNzY2hsYWcgZXJoYWVsdCBtYW4genVzYWV0emxpY2ggZGllIEVyZmFocnVuZ3NwdW5rdGUgZGVzCisgICAgIE9wZmVycyBnZXRlaWx0IGR1cmNoIDEwMCAoUF9YUC8xMDApLiBEaWVzZXIgV2VydCB3aXJkIGFsbGVyZGluZ3MKKyAgICAgZ2VnZWJlbmVuZmFsbHMgYXVmIGVpbiBUZWFtIGF1ZmdldGVpbHQsIHNvZmVybiBkZXIgQW5ncmVpZmVyIHNpY2ggaW4KKyAgICAgZWluZW0gc29sY2hpZ2VuIGJlZmluZGV0LgorCitCRUlTUElFTDoKKyAgICAgTlBDJ3MgZ2lidCBtYW4gaW0gYWxsZ2VtZWluZW4gZWluZW4gbGV2ZWxhYmhhZW5naWdlbiBTb2NrZWx3ZXJ0IGFuCisgICAgIEVyZmFocnVuZ3NwdW5rdGVuIG1pdCwgZGEgc2llIG5pY2h0IGFsbHp1b2Z0IHNlbGJzdCBHZWduZXIgdG9ldGVuCisgICAgIHVuZCBzb21pdCBrYXVtIGRpZSBNb2VnbGljaGtlaXQgaGFiZW4sIGRpZXNlIFB1bmt0ZSBzZWxic3QKKyAgICAgYW56dXNhbW1lbG4uIFRyb3R6ZGVtIHNvbGxlbiBzaWUgamEgZGVtIFNwaWVsZXIgZWluZSBnZXdpc3NlIEFuemFobAorICAgICBhbiBFcmZhaHJ1bmdzcHVua3RlbiBsaWVmZXJuLCB3ZW5uIHNpZSBnZXRvZXRldCB3ZXJkZW46CisKKyAgICAgICBpbmNsdWRlICIvc3lzL2xpdmluZy9saWZlLmgiCisgICAgICAgaW5oZXJpdCAic3RkL25wYyI7CisgICAgICAgdm9pZCBjcmVhdGUoKSB7CisgICAgICAgICAuLi4KKyAgICAgICAgIFNldFByb3AoUF9YUCwyNTAwMDAwMCk7CisgICAgICAgfQorCisgICAgIEJlaW0gVG9ldGVuIGdpYnQgZXMgbnVuIDI1LjAwMC4wMDAvMTAwID0gMjUwLjAwMCBFcmZhaHJ1bmdzcHVua3RlLgorICAgICBEYW1pdCB3aXJkIGRlciBOUEMgc29nYXIgYXV0b21hdGlzY2ggZnVlciBkaWUgVmVyZ2FiZSB2b24KKyAgICAgRXJzdGtpbGxzdHVmZW5wdW5rdGVuIHZvcmdlc2VoZW4uCisKKyAgICAgRGllIEZ1bmt0aW9uIGNyZWF0ZV9kZWZhdWx0X25wYygpIHNldHp0IFBfWFAgdW5kIGFuZGVyZSBFaWdlbnNjaGFmdGVuCisgICAgIGF1ZiBnZWVpZ25ldGUgV2VydGUuCisKK0JFTUVSS1VOR0VOOgorICAgICBEaWUgVmVyZ2FiZSB2b24gRXJzdGtpbGxzdHVmZW5wdW5rdGVuIGthbm4gbWFuIHVlYmVyIGRpZSBQcm9wZXJ0eQorICAgICBQX05PX1NDT1JFIHVudGVyYmluZGVuLCBkaWUgVmVyZ2FiZSB2b24gRXJmYWhydW5nc3B1bmt0ZW4gdWViZXIKKyAgICAgUF9OT19YUC4gQXV0b21hdGlzY2ggd2VyZGVuIExlYmV3ZXNlbiBmdWVyIEVyc3RraWxsc3R1ZmVucHVua3RlCisgICAgIHZvcmdlc2VoZW4sIHNvZmVybiBzaWUgZWluZSBkZXIgZm9sZ2VuZGVuIEdyZW56ZW4gdWViZXJzY2hyaXR0ZW4KKyAgICAgaGFiZW46CisgICAgICAgU0NPUkVfTE9XX01BUks6ICAyMDAwMDAgKDEgU3R1ZmVucHVua3QpCisgICAgICAgU0NPUkVfSElHSF9NQVJLOiA2MDAwMDAgKDIgU3R1ZmVucHVua3RlKQorICAgICBEZWZpbmllcnQgc2luZCBkaWUgS29uc3RhbnRlbiBpbiAiL3NlY3VyZS9zY29yZW1hc3Rlci5oIi4KKworU0lFSEUgQVVDSDoKKyAgICAgRnVua3Rpb25lbjogIEFkZEV4cCgpLCBkb19kYW1hZ2UoKQorICAgICBWZXJ3YW5kdDogICAgUF9OT19YUCwgUF9MQVNUX1hQCisgICAgIFNvbnN0aWdlczogICBQX05PX1NDT1JFLCBjcmVhdGVfZGVmYXVsdF9ucGMoKQorICAgICAgICAgICAgICAgICAgUF9UT1RBTF9XQworCisxNC5GZWIgMjAwNyBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9QX1hfQVRUUl9NT0QgYi9kb2MvcHJvcHMvUF9YX0FUVFJfTU9ECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2YThiZGEKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9YX0FUVFJfTU9ECkBAIC0wLDAgKzEsNDYgQEAKK05BTUU6CisgICAgUF9YX0FUVFJfTU9EICAgICAgICAgICAgICAgICAgImV4dGVybl9hdHRyaWJ1dGVzX21vZGlmaWVyIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvYXR0cmlidXRlcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNYXBwaW5nLCBkYXMgZGllIEF0dHJpYnV0ZSBkZXMgU3BpZWxlcnMgdmVyYWVuZGVydCwgZGVyIGRhcyBPYmpla3QgYmVpCisgICAgc2ljaCBoYXQuCisKKyAgICBadSBiZWFjaHRlbjoKKyAgICBEaWVzZSBQcm9wZXJ0eSBiaXR0ZSBfYXVzc2NobGllc3NsaWNoXyBtaXQgU2V0UHJvcCBhZW5kZXJuLCB3ZWlsIGRhbWl0CisgICAgZ2xlaWNoemVpdGlnIFVwZGF0ZUF0dHJpYnV0ZXMoKSBpbSBMZWJld2VzZW4gYXVmZ2VydWZlbiB1bmQgZ2dmLiBkYXMKKyAgICBPYmpla3QgYWxzIFN0YXRtb2RpZml6aWVyZXIgcmVnaXN0cmllcnQgd2lyZC4KKworICAgIERpZXNlIFByb3BlcnR5IGlzdCBmdWVyIEtyYW5raGVpdGVuLCBGbHVlY2hlIGV0Yy4gZ2VkYWNodC4gQmVpCisgICAgV2FmZmVuL1J1ZXN0dW5nZW4sIGRpZSBkaWUgQXR0cmlidXRlIGJlZWluZmx1c3NlbiBzb2xsZW4sIHZlcndlbmRldAorICAgIG1hbiBiZXNzZXIgUF9NX0FUVFJfTU9ELgorCisgICAgUF9YX0FUVFJfTU9EIHVuZCBQX01fQVRUUl9NT0QgZHVlcmZlbiBlaW5lbiBnZW1laW5zYW1lbiBrdW11bGllcnRlbgorICAgIHBvc2l0aXZlbiBHcmVuendlcnQgbmljaHQgdWViZXJzY2hyZWl0ZW4uIERpZXNlciBHcmVuendlcnQsCisgICAgQ1VNVUxBVElWRV9BVFRSX0xJTUlULCBpc3QgaW4gL3N5cy9saXZpbmcvYXR0cmlidXRlcy5oIGRlZmluaWVydC4KKworQkVNRVJLVU5HRU46CisgICAgRGllIE1ldGhvZGUgL3N0ZC90aGluZy9yZXN0cmljdGlvbnM6Ol9zZXRfZXh0ZXJuX2F0dHJpYnV0ZXNfbW9kaWZpZXIoKQorICAgIGJlbmFjaHJpY2h0aWd0IHRyYWdlbmRlIExpdmluZ3MgdWViZXIgQWVuZGVydW5nZW4uCisgICAgQml0dGUgYmVpbSAiTG9lc2NoZW4iIGRlciBQcm9wIG5pY2h0IGRlbiBXZXJ0IGRlcyBqZXcuIEF0dHJpYnV0ZXMgaW0KKyAgICB1ZWJlcmdlYmVuZW4gTWFwcGluZyBhbHMgMCB1ZWJlcmdlYmVuLCBzb25kZXJuIGRhcyBLZXkvV2VydGUtUGFhciBnYW56CisgICAgZW50ZmVybmVuIHVuZCBiencuIGVpbiBsZWVyZXMgTWFwcGluZyBvZGVyIDAgdWViZXJnZWJlbi4KKworQkVJU1BJRUw6CisgICAgLy8gRGVtIExlYmV3ZXNlbiwgZGFzIGRhcyBPYmpla3QgYmVpIHNpY2ggaGF0LCB3aXJkIDIgdm9uIEFfSU5UIGFiZ2V6b2dlbgorICAgIFNldFByb3AoUF9YX0FUVFJfTU9ELChbQV9JTlQ6LTJdKSk7CisKKyAgICAvLyBTdGF0cyB3aWVkZXJoZXJzdGVsbGVuOgorICAgIFNldFByb3AoUF9YX0FUVFJfTU9ELChbXSkpOworCitTSUVIRSBBVUNIOgorICAgIFF1ZXJ5QXR0cmlidXRlKCksIFF1ZXJ5UmVhbEF0dHJpYnV0ZSgpLCBRdWVyeUF0dHJpYnV0ZU9mZnNldCgpLAorICAgIFNldEF0dHJpYnV0ZSgpLCBTZXRSZWFsQXR0cmlidXRlKCksIFVwZGF0ZUF0dHJpYnV0ZXMoKSwKKyAgICBTZXRUaW1lZEF0dHJNb2RpZmllcigpLCBRdWVyeVRpbWVkQXR0ck1vZGlmaWVyKCksCisgICAgRGVsZXRlVGltZWRBdHRyTW9kaWZpZXIoKSwKKyAgICBQX1hfSEVBTFRIX01PRCwgUF9NX0hFQUxUSF9NT0QsIFBfQVRUUklCVVRFUywgUF9BVFRSSUJVVEVTX09GRlNFVFMsCisgICAgUF9USU1FRF9BVFRSX01PRCwgUF9NX0FUVFJfTU9ELCBQX01fQVRUUl9NT0QsIC9zdGQvbGl2aW5nL2F0dHJpYnV0ZXMuYworCiswMi4wMi4yMDE2LCBHbG9pbnNvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfWF9IRUFMVEhfTU9EIGIvZG9jL3Byb3BzL1BfWF9IRUFMVEhfTU9ECm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OGQyYmYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvUF9YX0hFQUxUSF9NT0QKQEAgLTAsMCArMSwzNiBAQAorTkFNRToKKyAgICBQX1hfSEVBTFRIX01PRCAgICAgICAgICAgICAgICAgICJleHRlcm5faGVhbHRoX21vZGlmaWVyIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9saXZpbmcvYXR0cmlidXRlcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNYXBwaW5nLCBtaXQgZGVtIGRpZSBtYXhpbWFsZW4gTGViZW5zcHVua3RlIHVuZCBNYWdpZXB1bmt0ZSBlaW5lcworICAgIFNwaWVsZXJzIHZlcmFlbmRlcnQgd2VyZGVuLCBkZXIgZGllc2VzIE9iamVrdCBiZWkgc2ljaCB0cmFlZ3QuCisKKyAgICBadSBiZWFjaHRlbjogRGllc2UgUHJvcGVydHkgYml0dGUgX2F1c3NjaGxpZXNzbGljaF8gbWl0IFNldFByb3AKKyAgICBhZW5kZXJuLCB3ZWlsIGRhbWl0IGdsZWljaHplaXRpZyBVcGRhdGVBdHRyaWJ1dGVzKCkgaW0KKyAgICBMZWJld2VzZW4gYXVmZ2VydWZlbiB1bmQgZ2dmLiBkYXMgT2JqZWt0IGFscyBTdGF0bW9kaWZpemllcmVyIAorICAgIHJlZ2lzdHJpZXJ0IHdpcmQuCisKKyAgICBCZWkgUnVlc3R1bmdlbi9XYWZmZW4sIGRpZSBkaWVzZSBXaXJrdW5nIGVudGZhbHRlbiBzb2xsZW4sIHZlcndlbmRldAorICAgIG1hbiBiZXNzZXIgUF9NX0hFQUxUSF9NT0QuCisKK0JFTUVSS1VOR0VOOgorICAgIEJpdHRlIGJlaSAiTG9lc2NoZW4iIGRlciBQcm9wIG5pY2h0IGRlbiBXZXJ0IGRlcyBqZXcuIEF0dHJpYnV0ZXMgaW0gCisgICAgdWViZXJnZWJlbmVuIE1hcHBpbmcgYWxzIDAgdWViZXJnZWJlbiwgc29uZGVybiBkYXMgS2V5L1dlcnRlLVBhYXIgZ2FueiAKKyAgICBlbnRmZXJuZW4gdW5kIGdnZi4gZWluIGxlZXJlcyBNYXBwaW5nIG9kZXIgMCB1ZWJlcmdlYmVuLgorCitCRUlTUElFTDoKKyAgICAvLyBEZW0gU3BpZWxlciwgZGVyIGRhcyBPYmpla3QgYmVpIHNpY2ggdHJhZWd0LCB3aXJkIFBfTUFYX0hQIHVtIDUKKyAgICAvLyBlcmhvZWh0IHVuZCBQX01BWF9TUCB1bSA1IGVybmllZHJpZ3QuCisgICAgU2V0UHJvcChQX1hfSEVBTFRIX01PRCwoW1BfSFA6NSxQX1NQOi01XSkpOworICAgIC8vIFN0YXRzIHdpZWRlcmhlcnN0ZWxsZW46CisgICAgU2V0UHJvcChQX1hfSEVBTFRIX01PRCwoW10pOworCitTSUVIRSBBVUNIOgorICAgIFBfTV9IRUFMVEhfTU9ELCBQX1hfQVRUUl9NT0QsIFBfTV9BVFRSX01PRCwgYmFsYW5jZQorCitMRVRaVEUgQWVOREVSVU5HOgorICAgIFNhdCwgMDYuMDIuMTk5OSwgMTQ6MDA6MDAgdm9uIFBhcmFjZWxzdXMKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1BfWkFQX01TRyBiL2RvYy9wcm9wcy9QX1pBUF9NU0cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJhYmZmNAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9QX1pBUF9NU0cKQEAgLTAsMCArMSwyOCBAQAorUF9aQVBfTVNHCisKK05BTUU6CisgICAgICBQX1pBUF9NU0cJCQkiemFwX21zZyIKKworREVGSU5JRVJUIElOOgorICAgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICAgRGllIFByb3BlcnR5IGVudGhhZWx0IGVpbiBkcmVpZWxlbWVudGlnZXMgQXJyYXkgbWl0IGRlbiBmb2xnZW5kZW4NCisgICAgICBFaW50cmFlZ2VuOgorCSAgMS4pIE1lbGR1bmcsIGRpZSBkZXIgTWFnaWVyIGJlaW0gWmFwcGVuIGJla29tbXQuCisJICAyLikgTWVsZHVuZywgZGllIGRpZSBTcGllbGVyIGltIFJhdW0gYmVpbSBaYXBwZW4gYmVrb21tZW4uCisJICAzLikgTWVsZHVuZywgZGllIGRhcyBPcGZlciBiZWltIFphcHBlbiBiZWtvbW10LgorCisgICAgICBNaXQgQEB3ZXJAQCwgQEB3ZXNzZW5AQCwgLi4uIGthbm4gZGVyIE5hbWUgZGVzIE9wZmVycyB1bmQgbWl0IEBAaWNoQEANCisgICAgICBkZXIgTmFtZSBkZXMgTWFnaWVycyBpbiBkaWUgTWVsZHVuZyBlaW5nZXdvYmVuIHdlcmRlbi4KKworICAgICAgRGllIFByb3BlcnR5IGlzdCBpbiBNYWdpZXJuIGdlc2V0enQgdW5kIGdpbHQgbnVyIGRvcnQuCisKK1NJRUhFIEFVQ0g6CisgICAgIFRvZDoJCWRpZShMKQorICAgICBUb2Rlc21lbGR1bmdlbjoJUF9LSUxMX05BTUUsIFBfS0lMTF9NU0csIFBfRElFX01TRywgUF9NVVJERVJfTVNHCisJCQlQX0VORU1ZX0RFQVRIX1NFUVVFTkNFCisgICAgIFNvbnN0aWdlczoJCVBfQ09SUFNFLCBQX05PQ09SUFNFLCAvcm9vbS9kZWF0aC9kZWF0aF9yb29tLmMKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorTGFzdCBtb2RpZmllZDogV2VkIEphbiAxNCAxOToxNzowNiAxOTk4IGJ5IFBhdHJ5bgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL1VfUkVRIGIvZG9jL3Byb3BzL1VfUkVRCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiMzk1ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvVV9SRVEKQEAgLTAsMCArMSw2MyBAQAorTkFNRToKKyAgICBVX1JFUSAgICAgICAgICAgICAgICAgICAgICAgICAidV9yZXEiCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3VuaXQuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERpZSBQcm9wIGthbm4gaW4gVW5pdG9iamVrdGVuIGdlc2V0enQgd2VyZGVuLgorICAgICBTaWUgZ2lidCBkaWUgQW56YWhsIGRlciBFaW5oZWl0ZW4gYW4sIGRpZSBhbiBkZXIgVW5pdCBtYW5pcHVsaWVydCB3ZXJkZW4KKyAgICAgc29sbGVuLCBmYWxscyBtaXQgd2VuaWdlciBhbHMgUF9BTU9VTlQgdW1nZWdlZ2FuZ2VuIHdlcmRlbiBzb2xsLgorICAgICAKKyAgICAgRGllIFByb3Agd2lyZCBhdXRvbWF0aXNjaCBnZXNldHp0LCB3ZW5uIGlkKCkgYW4gZWluZW0gVW5pdG9iamVrdCBnZXJ1ZmVuCisgICAgIHdpcmQgdW5kIGRpZSBJRCBncnVuZHNhZXR6bGljaCB6dXRyZWZmZW5kIGlzdCwgZGllIGF1cyBkZXIgSUQgZXJtaXR0ZWx0ZQorICAgICBaYWhsIGFiZXIga2xlaW5lciBhbHMgUF9BTU9VTlQgaXN0LgorICAgICBTaWUga2FubiBhdWNoIG1hbnVlbGwgbWl0dGVsIFNldFByb3AoKSAoYWJlciBuaWNodCBTZXQoKSkgZ2VzZXR6dCB3ZXJkZW4uCisKKyAgICAgVV9SRVEgd2lyZCBiZWltIEJld2VnZW4gdW5kIFplcnN0b2VyZW4sIGJlaSBFcm1pdHRsdW5nIHZvbiBXZXJ0IHVuZAorICAgICBHZXdpY2h0IGJlcnVlY2tzaWNodGlndC4KKworICAgICBVX1JFUSB3aXJkIHZvbSBVbml0b2JqZWt0IGF1dG9tYXRpc2NoIHdpZWRlciBhdWYgUF9BTU9VTlQgZ2VzZXR6dCwgd2VubgorICAgICBzaWNoIHF1ZXJ5X3ZlcmIoKSBvZGVyIGRlYnVnX2luZm8oRElORk9fRVZBTF9OVU1CRVIpIHZlcmFlbmRlcnQgaGFiZW4uCisgICAgIChESU5GT19FVkFMX05VTUJFUiBpc3QgZWluZSBaYWhsLCBkaWUgc2ljaCBqZWRlc21hbCBlcmhvZWh0LCB3ZW5uIGRlcgorICAgICAgRHJpdmVyIGVpbmUgbmV1ZSBCZXJlY2hudW5nL0F1c2Z1ZWhydW5nIGJlZ2lubnQuIERpZXNlIE51bW1lciB3aXJkIGZ1ZXIKKyAgICAgIGplZGVuIHZvbSBkcml2ZXIgaW5pdGlpZXJ0ZW4gQXVmcnVmIHZvbiBMUEMtQ29kZSBlcmhvZWh0LCB6LkIuIGJlaSBqZWRlbQorICAgICAgS29tbWFuZG8sIGNhbGxfb3V0LCBoZWFydF9iZWF0IGV0Yy4gRGV0YWlscyBzLiBkZWJ1Z19pbmZvKCkuKQorCisgICAgIEViZW5zbyB3aXJkIFVfUkVRIGJlaSBkZXIgVmVyZWluaWd1bmcgbWl0IGVpbmVtIGFuZGVyZW4gKGdsZWljaGVuKQorICAgICBPYmpla3QgYXVmIFBfQU1PVU5UIGRlcyB2ZXJlaW5pZ3RlbiBPYmpla3RlcyBnZXNldHp0LgorCisKK0JVR1MKKyAgICBWaWVsZS4gRGllcyBpc3QgZWluIHVlYmxlciBIYWNrLiBHZWh0IGFiZXIgbmljaHQgb2huZS4KKyAgICBEaWVzZSBQcm9wIHdhciBlbmRsb3MgbGFuZyBnYXIgbmljaHQgZG9rdW1lbnRpZXJ0LiBIaWVyIGJlc2NocmllYmVuIGlzdAorICAgIGRhcyBWZXJoYWx0ZW4sIHdhcyB6dXIgWmVpdCB2b3JsaWVndC4gRGllcyBtYWcgdW50ZXJzY2hpZWRsaWNoIHp1IGRlbQorICAgIGlyZ2VuZHdhbm4gaW50ZW5kaWVydGVuIHNlaW4uCisKKworQkVJU1BJRUxFCisgICAgb2JqZWN0IG8gPSBjbG9uZV9vYmplY3QoInVuaXRvYmpla3QiKTsKKyAgICBvLT5TZXRQcm9wKFBfQU1PVU5ULCAxMDApOyAgIC8vIGFiIGpldHp0IGhhdCBvIDEwMCBFaW5oZWl0ZW4uCisgICAgby0+bW92ZShucGMsIE1fR0VUKTsgICAgICAgICAvLyBvYiBtaXQgMTAwIEVpbmhlaXRlbiB3aXJkIGJld2VndAorICAgIG8tPlNldFByb3AoVV9SRVEsIDUwKTsKKyAgICBvLT5tb3ZlKGFuZGVyZXJucGMsIE1fR0lWRSk7IC8vIDUwIEVpbmhlaXRlbiB3ZXJkZW4gYmV3ZWd0LCA1MCB2ZXJibGVpYmVuCisgICAgKFRlY2huaXNjaDogZGFzIE9iamVrdCB3aXJkIGF1ZiA1MCBFaW5oZWl0ZW4gZ2VhZW5kZXJ0LCBiZXdlZ3QgdW5kIGluIGRlcgorICAgICBhbHRlbiBVbWdlYnVuZyB3aXJkIGVpbiBuZXVlcyBPYmpla3QgbWl0IDUwIEVpbmhlaXRlbiBlcnpldWd0LikKKworICAgIG8tPlNldFByb3AoVV9SRVEsIDQyKTsKKyAgICBvLT5yZW1vdmUoMSk7ICAgICAgICAgICAgICAgLy8gNDIgRWluaGVpdGVuIHZvbiBkZW4gNTAgd2VyZGVuIHplcnN0b2VydC4KKyAgICAoVGVjaG5pc2NoOiBQX0FNT1VOVCB3aXJkIGVpbmZhY2ggdW0gVV9SRVEgcmVkdXppZXJ0LikKKworICAgICMgZ2liIDE4IG11ZW56ZW4gYW4gYmx1cHAKKyAgICBIaWVyYmVpIHdpcmQgb2ItPmlkKCIxOCBtdWVuemVuIikgZ2VydWZlbiwgd2FzIFVfUkVRIGltIEdlbGRvYmpla3QgYXVmIDE4CisgICAgc2V0enQuIEJlaSBkZXIgQmV3ZWd1bmcgYmVrb21tdCBibHVwcCBkYWhlciBkYXMgT2JqZWt0IG1pdCBQX0FNT1VOVD09MTgKKyAgICB1bmQgZGVyIFJlc3Qgd2lyZCBpbSBBYmdlYmVuZGVuIG5ldSBlcnpldWd0LgorICAgICMgZ2liIGdlbGQgYW4gZmx1YmJlbAorICAgIERhcyBVX1JFUSBhdXMgZGVtIHZlcmhlcmlnZW4gS29tbWFuZG8gaXN0IGpldHp0IG5pY2h0IG1laHIgZ3VlbHRpZy4gWndhcgorICAgIGlzdCBlcyBkYXMgZ2xlaWNoZSBLb21tYW5kb3ZlcmIsIGFiZXIgRElORk9fRVZBTF9OVU1CRVIgaXN0IGpldHp0CisgICAgYW5kZXJzLgorCisKK1pVTEVUWlQgR0VBZU5ERVJUOgorMTYuMDEuMjAxNSwgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvZ2lsZGVucHJvcHMvLnN5bm9ueW0gYi9kb2MvcHJvcHMvZ2lsZGVucHJvcHMvLnN5bm9ueW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc2MDdkOAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy8uc3lub255bQpAQCAtMCwwICsxLDkgQEAKK0tfQlJBV0xJTkdfRFQga2FlbXBmZXJib25pCitLX0JSQVdMSU5HX01TRyBrYWVtcGZlcmJvbmkKK0tfQlJBV0xJTkdfV0Mga2FlbXBmZXJib25pCitLX0NSSVRJQ0FMX0hJVCBrYWVtcGZlcmJvbmkKK0tfRElTVFJBQ1RJTkdfV0VBUE9OIGthZW1wZmVyYm9uaQorS19LTyBrYWVtcGZlcmJvbmkKK0tfTk9fSE9OSU5HIGthZW1wZmVyYm9uaQorS19USFJPV0lOR19XRUFQT04ga2FlbXBmZXJib25pCitLX1dFQVBPTl9TSEFUVEVSIGthZW1wZmVyYm9uaQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL2dpbGRlbnByb3BzL1BfR0xPVkVfRklOR0VSTEVTUyBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX0dMT1ZFX0ZJTkdFUkxFU1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRmYWVjNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX0dMT1ZFX0ZJTkdFUkxFU1MKQEAgLTAsMCArMSwxNiBAQAorUF9HTE9WRV9GSU5HRVJMRVNTCisKK05BTUU6CisgICAgIFBfR0xPVkVfRklOR0VSTEVTUyAgICAgICAgICAgICAgICAgICAgICJmaW5nZXJmcmVpZV9oYW5kc2NodWhlIgorCitERUZJTklFUlQgSU46CisgICAgIC9wL2thdHplbmtyaWVnZXIva2tyaWVnZXIuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIFNvIGdla2VubnplaWNobmV0ZSBIYW5kc2NodWhlIHNpbmQgZmluZ2VybG9zIHVuZCBrb2VubmVuCisgICAgIHdhZWhyZW5kICJrcmFsbGVuc2NobGFnIiBnZXRyYWdlbiB3ZXJkZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgIFZlcndhbmR0OglQX0FSTU9VUl9UWVBFLCBBVF9HTE9WRQorCisxMC5Pa3QgMjAwNiBHbG9pbnNvbgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfQVVUT1NISUVMRCBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfQVVUT1NISUVMRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjliOWFkCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL2dpbGRlbnByb3BzL1BfWl9BVVRPU0hJRUxECkBAIC0wLDAgKzEsMjYgQEAKK1BfWl9BVVRPU0hJRUxECisKK05BTUU6CisgICAgIFBfWl9BVVRPU0hJRUxECQkJCSJ6X2F1dG9zaGllbGQiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3AvemF1YmVyZXIvd2l6bnBjLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNaXQgZGllc2VyIFByb3BlcnR5ICBrYW5uIG1hbiBlaW5lbiBhdXRvbWF0aXNjaGVuIAorICAgICBTY2h1dHp6YXViZXIgaW4gWmF1YmVyZXItTlBDcyBlaW5zdGVsbGVuLCBkZXNzZW4gCisgICAgIFZvcmhhbmRlbnNlaW4gZGFubiBpbiBqZWRlciBLYW1wZnJ1bmRlIHVlYmVycHJ1ZWZ0CisgICAgIHdpcmQsIHouQi4gInNjaHV0eiIsInNjaHV0emh1ZWxsZSIsInphdWJlcnNjaGlsZCIuCisKK0JFTUVSS1VOR0VOOgorICAgICAiemF1YmVyc2NoaWxkIiBpc3QgZWluIE1hZ2lzdGVyc3BydWNoIHVuZCBrYW5uIG51ciBpbiAKKyAgICAgYmVzdGltbXRlbiBaZWl0YWJzdGFlbmRlbiBiZW51dHp0IHdlcmRlbi4gV2VyIGFsc28gYWxzCisgICAgIEF1dG9zaGllbGQgbnVyIFphdWJlcnNjaGlsZCBiZW51dHp0LCBibG9ja2llcnQgZGFtaXQKKyAgICAgYWxsZSBhbmRlcmVuIFNwZWxscywgc29sYW5nZSBkZXIgTWFnaXN0ZXJzcHJ1Y2ggbmljaHQKKyAgICAgZ2VzcHJvY2hlbiB3ZXJkZW4ga2Fubi4KKyAgICAgQWJoaWxmZTogX3F1ZXJ5X25leHRfbWFzdGVyX3NwZWxsX3RpbWUoKSAgcmV0dXJuIDA7IH0KKworU0lFSEUgQVVDSDoKKyAgICAgL3AvemF1YmVyZXIvdGV4dC93aXpucGMuZG9rdQorCisyMS5Pa3QgMjAwNiBDaGFnYWxsCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvZ2lsZGVucHJvcHMvUF9aX0lORk8gYi9kb2MvcHJvcHMvZ2lsZGVucHJvcHMvUF9aX0lORk8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDgyZDM4YQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfSU5GTwpAQCAtMCwwICsxLDUzIEBACitQX1pfSU5GTworCitOQU1FOgorICAgICBQX1pfSU5GTwkJCQkJCSJ6X2luZm8iCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3AvemF1YmVyZXIvd2l6bnBjLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBEaWVzZSBQcm9wZXJ0eSBtdXNzIGdlc2V0enQgd2VyZGVuLCB3ZW5uIG1hbiBkZW4KKyAgICAgWmF1YmVyZXJnaWxkZW4tU3RhbmRhcmQtTlBDIG51dHp0LiBTaWUgc2V0enQgZGllCisgICAgIEdydW5kZWluc3RlbGx1bmdlbiBkZXMgTlBDcyB1bmQgZ2VuZXJpZXJ0IGRhcyAKKyAgICAgTmV3c2tpbGxzLU1hcHBpbmcuIAorCisgICAgIERpZSBQcm9wZXJ0eSBpc3Qgd2llIGZvbGd0IGF1ZmdlYmF1dDoKKworICAgICAqIE1JTiAobWluaW1hbGUgU2tpbGxhYmlsaXR5IGltIEJlcmVpY2ggdm9uIDAgLSAxMDAwMCkKKyAgICAgKiBNQVggKG1heGltYWxlIFNraWxsYWJpbGl0eSBpbSBCZXJlaWNoIHZvbiAwIC0gMTAwMDApCisgICAgICogTEVWIChHaWxkZW5sZXZlbCkKKyAgICAgKiBaV0VJRyAoR2lsZGVuendlaWcpCisKKworQkVNRVJLVU5HRU46CisgICAgIEZ1ZXIgZGllIEFyZ3VtZW50ZSBMRVYgdW5kIFpXRUlHIHN0ZWhlbiBmb2xnZW5kZSBBdXN3YWhsLQorICAgICBtb2VnbGljaGtlaXRlbiB6dXIgVmVyZnVlZ3VuZy4KKworICAgICBMRVY6CisgICAgICAgIFpfQU5GQUVOR0VSCTAKKwlaX0xFSFJMSU5HCTEKKwlaX01FSVNURVIJMgorCVpfRVJaTUVJU1RFUgkzCisKKyAgICAgWldFSUc6CisgICAgICAgIFpaV19BTkdSSUZGCQkgIDEKKwlaWldfQUJXRUhSCQkgIDIKKwlaWldfSUxMVVNJT04JCSAgNAorCVpaV19CRUhFUlJTQ0hVTkcJICA4CisJWlpXX0hFTExTSUNIVAkJIDE2CisJWlpXX1ZFUldBTkRMVU5HCQkgMzIKKwlaWldfU0NIV0FSWgkJIDY0CUlOQUtUSVYKKwlaWldfV0VJU1MJCTEyOAorCVpaV19BTExFCQk1MTEKKworQkVJU1BJRUw6CisgICAgIFNldFByb3AoUF9aX0lORk8sICh7OTAwMCwgOTUwMCwgWl9FUlpNRUlTVEVSLCBaWldfQU5HUklGRnxaWldfQUJXRUhSfSkpOworICAgICBlcnpldWd0IGVpbmVuIEVyem1hZ2lzdGVyLVBDLCBkZXIgYWxsZSBMZWhybGluZ3MtIHNvd2llIGRpZSBNYWdpc3RlciB1bmQKKyAgICAgRXJ6bWFnaXN0ZXItU3BydWVjaGUgQW5ncmlmZiB1bmQgQWJ3ZWhyIG1pdCA5MC05NSUgYmVoZXJyc2NodC4KKworCitTSUVIRSBBVUNIOgorICAgICAvcC96YXViZXJlci90ZXh0L3dpem5wYy5kb2t1CisKKzIxLk9rdCAyMDA2IENoYWdhbGwKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfTk9fTUFURVJJQUwgYi9kb2MvcHJvcHMvZ2lsZGVucHJvcHMvUF9aX05PX01BVEVSSUFMCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMDQwYTAKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvZ2lsZGVucHJvcHMvUF9aX05PX01BVEVSSUFMCkBAIC0wLDAgKzEsMTggQEAKK1BfWl9OT19NQVRFUklBTAorCitOQU1FOgorICAgICBQX1pfTk9fTUFURVJJQUwgICAgICAgICAgICAgICAgICAgICAibnBjX2JyYXVjaHRfa2VpbmVfa21wIgorCitERUZJTklFUlQgSU46CisgICAgIC9wL3phdWJlcmVyL3phdWJlcmVyLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBTZXR6dCBtYW4gZGllc2UgUHJvcGVydHkgaW4gZWluZW0gTlBDLCBzbyBiZW5vZXRpZ3QgZXIgZnVlciBkaWUKKyAgICAgU3BydWVjaGUgZGVyIFphdWJlcmVyZ2lsZGUga2VpbmUgS29tcG9uZW50ZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICBOSUVNQUxTIGRpZXNlIFByb3BlcnR5IGVpbmZhY2ggc28gaW4gZWluZW0gU3BpZWxlciBzZXR6ZW4uCisKK1NJRUhFIEFVQ0g6CisKKzIxLk9rdCAyMDA2IENoYWdhbGwKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfTk9fTk9DT05OIGIvZG9jL3Byb3BzL2dpbGRlbnByb3BzL1BfWl9OT19OT0NPTk4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMyZGQxNAotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfTk9fTk9DT05OCkBAIC0wLDAgKzEsMjIgQEAKK1BfWl9OT19OT0NPTgorCitOQU1FOgorICAgICBQX1pfTk9fTk9DT04JCQkJCSJub19ub2NvbiIKKworREVGSU5JRVJUIElOOgorICAgICAvcC96YXViZXJlci93aXpucGMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIERlciBTdGFuZGFyZHphdWJlcmVyZ2lsZGVubnBjIHNldHp0IFNJX05PX0NPTlNFUVVFTkNFUywgZGFtaXQKKyAgICAgZGllIEdpbGRlbnBjcyBuaWNodCBkZW4gbmVnYXRpdmVuIEF1c3dpcmt1bmdlbiBiZWltIE1pc3NsaW5nZW4KKyAgICAgZGVyIFNwcnVlY2hlIGdlc2NodWV0enQgc2luZC4gU2V0enQgbWFuIGRpZXNlIFByb3BlcnR5IHZvcgorICAgICBQX1pfSU5GTyBhdWYgMCwgd2lyZCBkYXMgRmxhZyBuaWNodCBnZXNldHp0LgorCisKK0JFTUVSS1VOR0VOOgorICAgICBNdXNzIHZvciBQX1pfSU5GTyBnZXNldHp0IHdlcmRlbiwgZGFtaXQgZXMgd2lya3NhbSBpc3QuCisKK1NJRUhFIEFVQ0g6CisgICAgIC9wL3phdWJlcmVyL3RleHQvd2l6bnBjLmRva3UsIFBfWl9JTkZPCisKKzIxLk9rdCAyMDA2IENoYWdhbGwKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfTk9fU1BFTExfU1VQUE9SVCBiL2RvYy9wcm9wcy9naWxkZW5wcm9wcy9QX1pfTk9fU1BFTExfU1VQUE9SVApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YTFhYjI4Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL2dpbGRlbnByb3BzL1BfWl9OT19TUEVMTF9TVVBQT1JUCkBAIC0wLDAgKzEsMjUgQEAKK1BfWl9OT19TUEVMTF9TVVBQT1JUCisKK05BTUU6CisgICAgIFBfWl9OT19TUEVMTF9TVVBQT1JUCSJ6YXViZXJlcl9ydWVzdHVuZ191bnRlcnN0dWV0enRfbm9jaF9uaWNodCIKKworREVGSU5JRVJUIElOOgorICAgICAvcC96YXViZXJlci96YXViZXJlci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTm9ybWFsZXJ3ZWlzZSB1bnRlcnN0dWV0enQgZWluZSBSdWVzdHVuZyBkZW4gWmF1YmVyZXIsIHNvYmFsZCBzaWUgaW0KKyAgICAgZW50c3ByZWNoZW5kZW4gUnVlc3R1bmdzbWFzdGVyIGVpbmdldHJhZ2VuIGlzdC4gTW9lY2h0ZSBtYW4gYWxsZXJkaW5ncworICAgICBkaWUgVW50ZXJzdHVldHp1bmcgYW4gYmVzdGltbXRlIEJlZGluZ3VuZ2VuIGtudWVwZmVuLCB6LkIuIGRhcyBsb2VzZW4KKyAgICAgZWluZXIgTWluaXF1ZXN0LCBzbyBrYW5uIG1hbiBkaWVzZSBQcm9wZXJ0eSBhdWYgMSBzZXR6ZW4uIERpZSBSdWVzdHVuZworICAgICB1bnRlcnN0dWV0enQgZGFubiBuaWNodC4gVW0gZGllIFVudGVyc3R1ZXR6dW5nIHdpZWRlciB6dSBha3RpdmllcmVuLAorICAgICBzZXR6dCBtYW4gZGllIFByb3BlcnR5IHdpZWRlciBhdWYgMC4KKworQkVNRVJLVU5HRU46CisgICAgIE5JRU1BTFMgZGllc2UgUHJvcGVydHkgZWluZmFjaCBzbyBpbiBmcmVtZGVuIFphdWJlcmVycnVlc3R1bmdlbiAKKyAgICAgc2V0emVuLiBTb2xsdGUgZGVyIEdpbGRlbm1hZ2llciBlcmZhaHJlbiwgZGFzcyB6LkIuIGVpbiBOUEMKKyAgICAgZWluZmFjaCBzbyBkaWUgVW50ZXJzdHVldHp1bmcgZGVyIFJ1ZXN0dW5nZW4gYXVzc2NoYWx0ZXQsIHdpcmQKKyAgICAgZGllc2UgUHJvcGVydHkgd2llZGVyIGRlYWt0aXZpZXJ0LgorCitTSUVIRSBBVUNIOgorCisyMS5Pa3QgMjAwNiBDaGFnYWxsCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvZ2lsZGVucHJvcHMva2FlbXBmZXJib25pIGIvZG9jL3Byb3BzL2dpbGRlbnByb3BzL2thZW1wZmVyYm9uaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGU0YmU1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL2dpbGRlbnByb3BzL2thZW1wZmVyYm9uaQpAQCAtMCwwICsxLDI2NCBAQAorCitLYWVtcGZlcmJvbmkgdW5kIGRlcmVuIEltcGxlbWVudGF0aW9uCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0JlaSBkZW4gS2FlbXBmZXJuIGdpYnQgZXMgZWluaWdlIFByb3BlcnRpZXMsIGRpZSwgaW4gV2FmZmVuIG9kZXIgUnVlc3R1bmdlbgorZ2VzZXR6dCwgZGVyIEthbXBmdmVybGF1ZiBlaW5lcyBTcGllbGVycyBlcmhlYmxpY2ggYmVlaW5mbHVzc2VuIGtvZW5uZW4uCisKK1p1IGJlYWNodGVuIGlzdCwgZGFzcyBkaWUgQWJuYWhtZSB2b24gV2FmZmVuIG9kZXIgUnVlc3R1bmdlbiBtaXQgS2FlbXBmZXJib25pCithbGxlaW4gZGVyIEJhbGFuY2Ugb2JsaWVndC4gRGVyIEdpbGRlbm1hZ2llciBkZXIgS2FlbXBmZXIgc3RlaHQgYWJlciBnZXJuZQorbWl0IFJhdCB1bmQgVGF0IHp1ciBTZWl0ZS4KKworCitBYnNjaG5pdHQgQQorLS0tLS0tLS0tLS0KKworSW4gV2FmZmVuIGtvZW5uZW4gbmFjaGZvbGdlbmRlLCBpbiAvcC9rYWVtcGZlci9rYWVtcGZlci5oIGRlZmluaWVydGVuLAorUHJvcGVydGllcyBnZXNldHp0IHdlcmRlbi4gRGllIG1laXN0ZW4gZGF2b24gZnVuZ2llcmVuIGFscyAnQm9uaScgdW5kIHdlcmRlbgorZGVtIFNwaWVsZXIgYXVjaCBtaXR0ZWxzICdzY2hhZXR6IDx3YWZmZT4nIGFuZ2V6ZWlndDoKKworCisxIFdhZmZlbnNjaGxhZ2JvbnVzIC0gS19CUkFXTElOR19XQyAoSU5UKSAtICJrX2JyYXdsaW5nX3djIgorCisgIFdlbm4gZGllIFdhZmZlIGVpbmUgenVzYWV0emxpY2ggZ2VmYWVocmxpY2hlIFN0ZWxsZSBiZXNpdHp0IC0gei5CLiBlaW5lbgorICBoYXJ0ZW4gRG9ybiBhbSBTdGllbGVuZGUsIGVpbmUgU3BpdHplIGFtIFJ1ZWNrZW4gZWluZXIgQXh0a2xpbmdlLCBaYWNrZW4KKyAgYW0gRG9sY2hncmlmZiAtIGthbm4gbWFuIGRlciBXYWZmZSBlaW5lbiBXYWZmZW5zY2hsYWdib251cyBnZWJlbi4KKyAgRGllcyBiZWRldXRldCwgZGFzcyBkZXIgV2FmZmVuc2NobGFnIHVtIGVpbiBwYWFyIFByb3plbnRlIHZlcnN0YWVya3Qgd2lyZCwKKyAgZGEgZGVyIFNwaWVsZXIgbmF0dWVybGljaCB2ZXJzdWNodCwgaW1tZXIgZ2VuYXUgbWl0IGRpZXNlbSAnZmVhdHVyZScKKyAgZGVuIFdhZmZlbnNjaGxhZyBhdXN6dWZ1ZWhyZW4gKGRlciBXYWZmZW5zY2hsYWcgaXN0IGt1cnogZ2VzYWd0IGVpbgorICB1bmVyd2FydGV0ZXIgU2NobGFnLCBkZXIgbmljaHQgbWl0IGRlbSAnbm9ybWFsZW4nIFdhZmZlbmVuZGUgYXVzZ2VmdWVocnQKKyAgd2lyZCwgZGVyIEdlZ25lciB3aXJkIGRhZHVyY2ggdWViZXJyYXNjaHQgLT4gbWVociBTY2hhZGVuKS4KKyAgRGEgc29sY2ggZWluICdmZWF0dXJlJyBkb2NoIHJlY2h0IGF1ZmZhZWxsaWcgaXN0LCBzb2xsdGUgZXMgaW4gZGVyCisgIExhbmdiZXNjaHJlaWJ1bmcgZGVyIFdhZmZlIGF1ZiBqZWRlbiBGYWxsIGVyd2FlaG50IHdlcmRlbi4KKworICBJbnRlcmVzc2FudCB6dSB3aXNzZW4gd2FlcmUgbm9jaCwgZGFzcyBad2VpaGFuZHdhZmZlbiBlaW5lbiBnZW5lcmVsbGVuCisgIHp1c2FldHpsaWNoZW4gQm9udXMgYXVmIGRlbiBXYWZmZW5zY2hsYWcgYmVrb21tZW4gdW5kIGRhc3MgZXMgZWluZQorICBBYnN0dWZ1bmcgZ2lidCwgbmFjaCBkZXIgZGllIFdhZmZlbmdhdHR1bmdlbiBkaWUgSG9laGUgZGVzIEJhc2lzd2VydGVzCisgIGdlc2V0enQgYmVrb21tZW4sIHdvYmVpIFNwZWVyZSBkZW4gaG9lY2hzdGVuIHVuZCBNZXNzZXIgZGVuIG5pZWRyaWdzdGVuCisgIGJlc2l0emVuOgorCisgIFNwZWVyZSAtIEthbXBmc3RhZWJlIC0gQWV4dGUgLSBLZXVsZW4gLSBTY2h3ZXJ0ZXIgLSBNZXNzZXIKKworICBEZXIgbWF4LiBCb251cyBmdWVyIGRpZXNlIFByb3BlcnR5IGJldHJhZWd0IDMwLCB3b2JlaSAxLTEwIC0+IGdlcmluZ2VyCisgIEJvbnVzLCAxMS0yMCAtPiBndXRlciBCb251cywgMjEtMzAgLT4gc2VociBndXRlciBCb251cy4KKworICBCaXR0ZSBiZWFjaHRlbjogZWluIFp3ZWloYW5kLVNwZWVyIG1pdCBtYXguIFBfV0MgdW5kIG1heC4gS19CUkFXTElOR19XQworICBoYXV0IGVudHNwcmVjaGVuZCBndXQgcmVpbiB1bmQgc29sbHRlIG51ciBzY2h3ZXIgenUgZXJnYXR0ZXJuIHNlaW4sIGJ6dy4KKyAgbm9jaCBhbmRlcmUgQXVmbGFnZW4gaGFiZW4gKGdnZi4gdW5pcXVlLCBwZXJzb25hbGlzaWVydCwgZXRjLikKKworCisyIFdhZmZlbnNjaGxhZ3NjaGFkZW4gLSBLX0JSQVdMSU5HX0RUIChTVFJJTkcpIC0gImtfYnJhd2xpbmdfZHQiCisKKyAgV2VubiBkaWUgV2FmZmUsIG1pdCBkZXIgZGVyIEthZW1wZmVyIGVpbmVuIFdhZmZlbnNjaGxhZyBhdXNmdWVocnQsIGVpbgorICAnZmVhdHVyZScgaGF0LCBtaXQgZGVtIGVyIGRpZXNlbiBTY2hsYWcgYXVzZnVlaHJ0LCBrYW5uIGRpZXNlcyAnZmVhdHVyZScKKyAgZWluZW4gYW5kZXJlbiBXYWZmZW5zY2hsYWdzY2hhZGVuIGJlc2l0emVuLiBaLkIuIGthbm4gZWluIFNjaHdlcnQsIHdlbGNoZXMKKyAgbm9ybWFsZXJ3ZWlzZSBEVF9TTEFTSCBtYWNodCwgYmVzb25kZXJzIGxhbmdlIHVuZCBzcGl0emUgUGFyaWVyc3RhbmdlbgorICBiZXNpdHplbiwgZGllIHZpZWxsZWljaHQgYXVjaCBub2NoIHZlcmdpZnRldCBzaW5kLiBEYW5uIGthbm4gZGVyIE1hZ2llcgorICAoe0RUX1BJRVJDRSxEVF9QT0lTT059KSBzZXR6ZW4sIHNvIGRhc3MgYmVpbSBXYWZmZW5zY2hsYWcgaW1tZXIgZWluCisgIE1pc2Noc2NoYWRlbiBhdXMgU3RpY2hlIHVuZCBHaWZ0IGVyZm9sZ3QuCisKKworMyBXYWZmZW5zY2hsYWdzbWVsZHVuZyAtIEtfQlJBV0xJTkdfTVNHIChTVFJJTkcvU1RSSU5HKikgLSBrX2JyYXdsaW5nX21zZyIKKworICBJbiBkaWVzZSBQcm9wZXJ0eSBrYW5uIG1hbiBoaW5laW5zY2hyZWliZW4sIG1pdCB3ZWxjaGVtIFRlaWwgZGVyIFdhZmZlCisgIGRlciBXYWZmZW5zY2hsYWcgYXVzZ2VmdWVocnQgd2lyZC4gQW5nZW5vbW1lbiwgZXMgYmlldGV0IHNpY2ggYW4sIG1pdAorICBlaW5lciBXYWZmZSBzdGV0cyBkZW4gV2FmZmVuc2NobGFnIG1pdCBlaW5lbSBncm9zc2VuIEtuYXVmIGFtIEdyaWZmCisgIGF1c3p1ZnVlaHJlbiwgd2lyZCBzY2hsaWNodCB1bmQgZWluZmFjaCAibWl0IGVpbmVtIGdyb3NzZW4gS25hdWYgYW0KKyAgR3JpZmYgZGVyIFNjaGxhY2h0YXh0IiBpbiBkaWUgUHJvcGVydHkgZ2VzZXR6dC4KKyAgU29sbHRlIHNpY2ggYmVpIGRlciBQcm9ncmFtbWllcnVuZyBlcmdlYmVuLCBkYXNzIGVzIHNpY2ggYW5iaWV0ZXQsIGRlcgorICBXYWZmZSBtZWhyIGFscyBudXIgZWluZSBndWVuc3RpZ2UgU3RlbGxlIGFuenVkaWNodGVuIG1pdCBkZXIgbWFuIGRlbgorICBXYWZmZW5zY2hsYWcgYXVzZnVlaHJlbiBrYW5uLCBzbyBzZXR6dCBtYW4gZWluIEFycmF5LCB6LkIuICh7Im1pdCBlaW5lbQorICBncm9zc2VuIEtuYXVmIGFtIEdyaWZmIGRlciBTY2hsYWNodGF4dCIsIm1pdCBkZXIgYnJlaXRlbiBTZWl0ZSBkZXIgIgorICAiU2NobGFjaHRheHRrbGluZ2UifSkuIEluc2dlc2FtdCBpc3QgZGFyYXVmIHp1IGFjaHRlbiwgZGFzcyBkaWUgTWVsZHVuZ2VuCisgICd2b2xsc3RhbmRpZycgc2luZC4gRGFzIEFycmF5IGthbm4gYmVsaWViaWdlIEdyb2Vzc2UgYW5uZWhtZW4sIGVzIHdpcmQKKyAgZGFubiB6dWZhZWxsaWcgZWluZSBNZWxkdW5nIGJlaW0gU2NobGFnIGF1c2dlc3VjaHQuCisKKyAgRXMgZW1wZmllaGx0IHNpY2gsIGplZGUgV2FmZmUgbWl0IGRpZXNlciBQcm9wZXJ0eSB6dSBzY2htdWVja2VuLCBkaWUKKyAgS19CUkFXTElOR19XQyBnZXNldHp0IGhhYmVuLCBkYSBkaWUgV2FmZmVuc2NobGFnbWVsZHVuZ2VuIGRhbWl0IGltIEthbXBmCisgICdpbmRpdmlkdWFsaXNpZXJ0JyB3ZXJkZW4uIEluIGRlciBQcmF4aXMgd2lyZCBlcyBqZWRvY2ggZGFyYW4gc2NoZWl0ZXJuLAorICBkYXNzIGVzIHZpZWwgenUgdmllbGUgYWx0ZSBXYWZmZW4gZ2lidCwgZGllIGtlaW5lciBtZWhyIGFuZmFzc2VuIG1vZWNodGUuCisgIERhaGVyIHdpcmQgYXVmIFN0YW5kYXJkbWVsZHVuZ2VuIHp1cnVlY2tnZWdyaWZmZW4sIHNvbGx0ZSBkaWVzZSBQcm9wZXJ0eQorICBuaWNodCBnZXNldHp0IHNlaW4uCisKKworNCBXYWZmZW5icnVjaGJvbnVzIC0gS19XRUFQT05fU0hBVFRFUiAoSU5UKSAtICJrX3dlYXBvbl9zaGF0dGVyIgorCisgIFdhZmZlbiwgZGllIGJlc29uZGVycyBmdWVyIGRlbiBXYWZmZW5icnVjaCBrb25zdHJ1aWVydCB3dXJkZW4sIGtvZW5uZW4KKyAgZWluZW4gQm9udXMgZWluYnJpbmdlbiwgZGVyIGluIGRpZXNlciBQcm9wZXJ0eSBhbmdlZ2ViZW4gd2lyZC4gTmF0dWVybGljaAorICBlaWduZW4gc2ljaCBkaWUgdmVyc2NoaWVkZW5lbiBXYWZmZW50eXBlbiB3aWVkZXIgdW50ZXJzY2hpZWRsaWNoIGd1dCBmdWVyCisgIGVpbmVuIFdhZmZlbmJydWNoOiBLZXVsZW4gKG1laXN0IGF1ZmdydW5kIGlocmVzIEdld2ljaHRzKSBhbSBiZXN0ZW4sIE1lc3NlcgorICBhbSBzY2hsZWNodGVzdGVuLCBhbGxlIGFuZGVyZW4gZGF6d2lzY2hlbiAoQXh0IC0gU2Nod2VydCAtIFN0YWIgLSBTcGVlcikuCisgIERhYmVpIGtyaWVnZW4gYWxsZSBXYWZmZW4sIGRpZSB1LmEuIFNjaGxhZ3NjaGFkZW4gdmVydXJzYWNoZW4sIG5vY2htYWwKKyAgZWluZW4ga2xlaW5lbiBCb251cyBvYmVuZHJhdWYuCisKKyAgRGVyIG1heC4gQm9udXMgZnVlciBkaWVzZSBQcm9wZXJ0eSBiZXRyYWVndCA1MCwgd29iZWkgMS0xMCAtPiBnZXJpbmdlcgorICBCb251cywgMTEtMzAgLT4gZ3V0ZXIgQm9udXMsIDMxLTUwIC0+IHNlaHIgZ3V0ZXIgQm9udXMuCisKKyAgQmVpIGd1dCBnZWx1bmdlbmVtIFdhZmZlbmJydWNoIHdpcmQgZGllIFdhZmZlIGRlcyBHZWduZXJzIGJlc2NoYWVkaWd0LCB3ZW5uCisgIGRpZSBUZWNobmlrIHNlaHIgZ3V0IGdlbGluZ3QsIGthbm4gZXMgYXVjaCBzZWluLCBkYXNzIGRlbSBHZWduZXIgZGllIFdhZmZlCisgIGF1cyBkZXIgSGFuZCBnZXNjaGxhZ2VuIHdpcmQgKGRlciBTcGllbGVyIGthbm4gc2llIGFsbGVyZGluZ3MgbmljaHQKKyAgYXVmaGViZW4gdW5kIGRlciBOUEMgenVlY2t0IHNpZSBuYWNoIGVpbiBwYWFyIEthbXBmcnVuZGVuIHdpZWRlcikuCisKKworNSBCb251cyBmdWVyIEZpbnRlL1dhZmZlbnRyaWNrIC0gS19ESVNUUkFDVElOR19XRUFQT04gKElOVCkgLQorICAia19kaXN0cmFjdGluZ193ZWFwb24iCisKKyAgV2FmZmVuLCBkaWUgZnVlciBkZW4gR2VnbmVyIGF1ZmdydW5kIGlocmVyIEJhdXdlaXNlIGJlc29uZGVycyBpcnJpdGllcmVuZAorICBzZWluIGtvZW5uZW4sIGtvZW5uZW4gZWluZW4gQm9udXMgZnVlciBGaW50ZSB1bmQgV2FmZmVudHJpY2sgaGFiZW4uIERhYmVpCisgIHdpcmQgZGVyIEdlZ25lciBiZWkgZWluZXIgRmludGUgYnp3LiBlaW5lbSBXYWZmZW50cmljayBOT0NIIG1laHIgdmVyd2lycnQsCisgIGFscyBlciBlcyBvaG5laGluIHNjaG9uIG51ciBkdXJjaCBkaWUgYW5nZXdhbmR0ZSBUZWNobmlrIHdpcmQuCisgIEVpbiBndXRlcyBCZWlzcGllbCBoaWVyZnVlciBpc3Qgei5CLiBkZXIgS3JpZWdzaGFtc3RlcjogZWluIEhhbXN0ZXIsIGRlcgorICBhdWYgZWluZW0gSG9senN0YWIgYXVmZ2VzcGllc3N0IGlzdCwgc29sbHRlIGZ1ZXIgZGVuIEdlZ25lciBzY2hvbiBTRUhSCisgIGlycml0aWVyZW5kIHNlaW4gOykuCisgIERpZSBXYWZmZW5nYXR0dW5nIGhhdCBudXIgd2VuaWcgRWluZmx1c3MgYXVmIEZpbnRlL1dhZmZlbnRyaWNrLgorCisgIERlciBtYXguIEJvbnVzIGZ1ZXIgZGllc2UgUHJvcGVydHkgYmV0cmFlZ3QgNTAsIHdvYmVpIDEtMTAgLT4gZ2VyaW5nZXIKKyAgQm9udXMsIDExLTMwIC0+IGd1dGVyIEJvbnVzLCAzMS01MCAtPiBzZWhyIGd1dGVyIEJvbnVzLgorCisKKzYgVG9kZXNzdG9zc2JvbnVzIC0gS19DUklUSUNBTF9ISVQgKElOVCkgLSAia19jcml0aWNhbF9oaXQiCisKKyAgTWFuIHN0ZWxsZSBzaWNoIGVpbmUgV2FmZmUgbWl0IGJlc29uZGVycyBzcGl0emVyLCBsYW5nZXIgS2xpbmdlIHZvciBvZGVyCisgIGVpbmUgbWFnaXNjaGUgV2FmZmUsIGRpZSBkZW0gZ2VzY2h3YWVjaHRlbiBHZWduZXIgZGllIFNlZWxlIGVudHJlaXNzdC4KKyAgRGllc2UgRWlnZW5zY2hhZnRlbiB2ZXJsZWloZW4gZGVtIFNwaWVsZXIgYmVpbSBUb2Rlc3N0b3NzIGVpbmVuCisgIGVudHNwcmVjaGVuZGVuIEJvbnVzIHZvbiBiaXMgenUgMTAwJS4KKworICBFcyBpc3QgbW9lZ2xpY2gsIGRhc3MgZWluIHVuZCBkYXNzZWxiZSAnZmVhdHVyZScgc293b2hsIGRlbSBXYWZmZW5zY2hsYWcKKyAgYWxzIGF1Y2ggZGVtIFRvZGVzc3Rvc3MgZGVuIEJvbnVzIHN0ZWxsdCwgei5CLiB6d2VpIEhpZWJrbGluZ2VuIGF1ZiBkZW0KKyAgS2xpbmdlbnJ1ZWNrZW4gZWluZXIgZ3Jvc3NlbiBBeHQuIEF1Y2ggZGllcyBzb2xsdGUgbWFuIGRldXRsaWNoIGF1cyBkZXIKKyAgTGFuZ2Jlc2NocmVpYnVuZyBoZXJhdXNsZXNlbiBrb2VubmVuLgorCisgIERlciBtYXguIEJvbnVzIGZ1ZXIgZGllc2UgUHJvcGVydHkgYmV0cmFlZ3QgMTAwLCB3b2JlaSAxMDAgZWluZSBWZXJkb3BwbHVuZworICBkZXIgUF9XQyBiZWltIFRvZGVzc3Rvc3MgYmVkZXV0ZXQhCisgIEFuc29uc3RlbiBiZWRldXRldCAxLTIwIC0+IGdlcmluZ2VyIEJvbnVzLCAyMS02MCAtPiBndXRlciBCb251cywKKyAgNjEtMTAwIC0+IHNlaHIgZ3V0ZXIgQm9udXMuCisKKworNyBXYWZmZW53dXJmYm9udXMgLSBLX1RIUk9XSU5HX1dFQVBPTiAoSU5UKSAtICJrX3Rocm93aW5nX3dlYXBvbiIKKworICBXZW5uIGVpbmUgV2FmZmUgYmVzb25kZXJzIGd1dCB6dW0gV2VyZmVuIGdlZWlnbmV0IGlzdCwgei5CLiBlaW4gV3VyZmRvbGNoLAorICBkYW5uIGthbm4gZGllc2UgUHJvcGVydHkgZ2VzZXR6dCB3ZXJkZW4uIE5hdHVlcmxpY2ggaXN0IGRlciBHcnVuZHdlcnQgd2llZGVyCisgIHZvbiBkZXIgV2FmZmVuZ2F0dHVuZyBhYmhhZW5naWcuIEVzIGdpbHQsIGRhc3MgbWFuIE1lc3NlciB1bmQgU3BlZXJlCisgIGdydW5kc2FldHpsaWNoIGFtIGJlc3RlbiB3ZXJmZW4gLSB1bmQgZGFiZWkgZ3V0IFNjaGFkZW4gbWFjaGVuIC0ga2FubiwgYW0KKyAgc2NobGVjaHRlc3RlbiBzY2huZWlkZW4gS2V1bGVuIHVuZCBLYW1wZnN0YWViZSBhYi4KKworICBEZXIgbWF4LiBCb251cyBmdWVyIGRpZXNlIFByb3BlcnR5IGJldHJhZWd0IDUwLCB3b2JlaSAxLTIwIC0+IGdlcmluZ2VyCisgIEJvbnVzLCAyMS00MCAtPiBndXRlciBCb251cywgMzEtNTAgLT4gc2VociBndXRlciBCb251cy4KKworICBadSBiZWFjaHRlbiBpc3QgaGllcmJlaSwgZGFzcyBlaW4gc2VociBob2hlciBCb251cyBudXIgYmVpIFdhZmZlbiBtaXQgZXR3YXMKKyAgZ2VyaW5nZXJlciBQX1dDIHZlcmdlYmVuIHdlcmRlbiBzb2xsdGUuIEVpbiByZWluZXMgV3VyZm1lc3NlciBpc3QgbnVubWFsIGltCisgIG5vcm1hbGVuIEthbXBmIG5pY2h0IGRpZSBnZWZhZWhybGljaHN0ZSBhbGxlciBXYWZmZW4gKHNwZXppZWxsCisgIGF1c2JhbGFuY2llcnQsIGtlaW5lbiByaWNodGlnZW4gR3JpZmYsIGV0Yy4pLgorICBOYXR1ZXJsaWNoIGthbm4gZXMgZWluZW4gV3VyZnNwZWVyIG1pdCBtYXguIFBfV0MgdW5kIHNlaHIgaG9oZW0KKyAgV2FmZmVud3VyZmJvbnVzIGdlYmVuLCBhbGxlcmRpbmdzIG1pdCBkZW4gdWVibGljaCBob2hlbiBSZXN0cmlrdGlvbmVuLgorCisKKzggS08tU2NobGFnLUJvbnVzIC0gS19LTyAoSU5UKSAtICJrX2tvIgorCisgIFdhZmZlbiwgZGllIGJlc29uZGVycyBmdWVyIGVpbmVuIEtPLVNjaGxhZyBnZWVpZ25ldCBzaW5kLCBrb2VubmVuIGVpbmVuCisgIEJvbnVzIG1pdCBkaWVzZXIgUHJvcGVydHkgYmVrb21tZW4uIEVpbmUgZW50c3ByZWNoZW5kZSBXYWZmZSBrb2VubnRlIHouQi4KKyAgZWluIGxlZGVydW13aWNrZWx0ZXIgUHJ1ZWdlbCBzZWluLCBkZW5uIG1hbiB3aWxsIGRlbiBHZWduZXIgamEgbnVyIEtPCisgIHNjaGxhZ2VuIHVuZCBuaWNodCBnbGVpY2ggdG9ldGVuLgorCisgIERlciBtYXguIEJvbnVzIGZ1ZXIgZGllc2UgUHJvcGVydHkgYmV0cmFlZ3QgNTAsIHdvYmVpIDEtMjAgLT4gZ2VyaW5nZXIKKyAgQm9udXMsIDIxLTMwIC0+IGd1dGVyIEJvbnVzLCAzMS01MCAtPiBzZWhyIGd1dGVyIEJvbnVzLgorCisKKzkgS2VpbiBXYWZmZW5zY2hhZXJmZW4gLSBLX05PX0hPTklORyAoSU5UKSAtICJrX25vX2hvbmluZyIKKworICBXZW5uIGVpbmUgV2FmZmUgYXVzIGlyZ2VuZGVpbmVtIEdydW5kIG5pY2h0IGdlc2NoYWVyZnQgd2VyZGVuIGthbm4gb2RlcgorICBkYXJmLCBtdXNzIG1hbiBkaWVzZSBQcm9wZXJ0eSBhdWYgMSBzZXR6ZW4uCisgIEVpbmUgRXJrbGFlcnVuZyBkYWZ1ZXIgc29sbHRlIGluIGRlciBQX0xPTkcgYnp3LiBQX0lORk8gZXJmb2xnZW4uCisKKworQWJzY2huaXR0IEIKKy0tLS0tLS0tLS0tCisKK0RpZSBiZWlkZW4gUHJvcGVydGllcywgUF9FRkZFQ1RJVkVfQUMgdW5kIFBfRUZGRUNUSVZFX1dDLCB3ZWxjaGUgaW4KKzxjb21iYXQuaD4gZGVmaW5pZXJ0IHNpbmQsIHNpbmQgZWlnZW50bGljaCBudXIgZGF6dSBkYSwgdW0gUnVlc3R1bmdlbiB1bmQKK1dhZmZlbiwgZGllIGVpbmUgRGVmZW5kRnVuYygpIGJ6dy4gSGl0RnVuYygpIGJlc2l0emVuLCBrb3JyZWt0IHZvbSBTcGllbGVyCitlaW5zY2hhZXR6ZW4gbGFzc2VuIHp1IGtvZW5ubmVuLgorCitEYXMgS2FlbXBmZXJzcGVsbGJvb2sgdmVyd2VuZGV0IGRpZXNlIFByb3BlcnRpZXMgZGFydWViZXJoaW5hdXMgd2llIGZvbGd0OgorCisKKzEgU2NodXR6Ym9uaSBpbiBXYWZmZW4gLSBQX0VGRkVDVElWRV9BQyAoSU5UKSAtICJlZmZlY3RpdmVfYWMiCisKKyAgSXN0IGRpZXNlIFByb3BlcnR5IGluIGVpbmVyIFdhZmZlIGdlc2V0enQsIGdlaHQgZGFzIEthZW1wZmVyc3BlbGxib29rCisgIGRhdm9uIGF1cywgZGFzcyBkaWVzZSBXYWZmZSBtZWhyIG9kZXIgd2VuaWdlciBkaWUgRmFlaGlna2VpdCBiZXNpdHp0LAorICBhdWNoIHdpZSBlaW5lIFJ1ZXN0dW5nIHNjaHVldHplbiB6dSBrb2VubmVuLiBEYSBtYW4gZWluZSBXYWZmZSBhYmVyIG5pY2h0CisgIGFuemllaGVuLCBzb25kZXJuIG51ciB2b3Igc2ljaCBoZXJ0cmFnZW4ga2Fubiwga2FubiBhdWNoIGRlciBtYXguCisgIFJ1ZXN0dW5nc3NjaHV0eiBlaW5lciBXYWZmZSBudXIgZ2xlaWNoIGRlbSBtYXguIFJ1ZXN0dW5nc3NjaHV0eiBlaW5lcworICBTY2hpbGRlcyBlbnRzcHJlY2hlbi4KKyAgRWluZSBnZXNldHp0ZSBQX0VGRkVDVElWRV9BQyBpbiBlaW5lciBXYWZmZSB3aXJkIGRlbSBTcGllbGVyIGFscyBtZWhyCisgIG9kZXIgd2VuaWdlciBndXRlICdQYXJhZGV3YWZmZScgaW0gJ3NjaGFldHonIGFuZ2V6ZWlndCB1bmQgZ2VodCBzb3dvaGwgYmVpCisgIGRlciBXYWZmZW5wYXJhZGUgYWxzIGF1Y2ggYmVpbSBCbG9jayBhbHMgQm9udXMgbWl0IGVpbi4KKworICBaLkIuIGtvZW5udGUgZWluIGxlaWNodGVzIFNjaHdlcnQsIHdhcyBhdWZncnVuZCBzZWluZXIgQmF1d2Vpc2UgbWVociBmdWVyCisgIGRlbiBkZWZlbnNpdmVuIEthbXBmIGF1c2dlbGVndCBpc3QgKGV4dHJhbGFuZ2UgUGFyaWVyc3RhbmdlbiwgdmVyc3RhZXJrdGVyCisgIEhhbmRzY2h1dHogaW0gR3JpZmZiZXJlaWNoLCAuLi4pIHdpZSBlaW4gbWFlc3NpZ2VzIFNjaGlsZCB3aXJrZW4uIERpZQorICBWb3J0ZWlsZSBsaWVnZW4gYXVmIGRlciBIYW5kOiBkZXIgU3BpZWxlciBiZWtvbW10IHZlcnN0YWVya3RlbiBTY2h1dHosCisgIGthbm4gYWJlciB3ZWl0ZXJoaW4gZWluZSBad2VpaGFuZHdhZmZlIGZ1ZWhyZW4uCisKKyAgRGVyIG1heC4gQm9udXMgZnVlciBkaWVzZSBQcm9wZXJ0eSBiZXRyYWVndCA0MCwgd29iZWkgMS0yMCAtPiBnZXJpbmdlcgorICBCb251cywgMjEtMzAgLT4gZ3V0ZXIgQm9udXMsIDMxLTQwIC0+IHNlaHIgZ3V0ZXIgQm9udXMuCisKKyAgWnUgYmVhY2h0ZW4gaXN0IGhpZXIsIGRhc3Mgc2VociBndXRlIFBhcmllcndhZmZlbiBtaXQgUF9FRkZFQ1RJVkVfQUMgPiAzMAorICBtb2VnbGljaHN0IGRldXRsaWNoIHVudGVyIGRlciBtYXguIFdDIGxpZWdlbiBzb2xsdGVuLgorCisgIEFubWVya3VuZ2VuOgorICBFaW5lIGdlc2V0enRlIFBfRUZGRUNUSVZFX0FDIGluIGVpbmVtIFNjaGlsZCBrYW5uIGRlbiBCb251cyBmdWVyIGRpZQorICBTY2hpbGRwYXJhZGUgbmFjaCBvYmVuIG9kZXIgdW50ZW4gYmVlaW5mbHVzc2VuLiBNb2VjaHRlIG1hbiBlaW4gU2NoaWxkCisgIGhlcnN0ZWxsZW4sIHdlbGNoZXMgc3BlemllbGwgYmVpIGRlciBTY2hpbGRwYXJhZGUgZGVyIEthZW1wZmVyIGJlc3NlcgorICBhbHMgJ25vcm1hbCcgc2NodWV0enQsIHNvbGx0ZSBtYW4gaGllciBlaW5lbiBXZXJ0IGVpbnRyYWdlbiwgZGVyIGRldXRsaWNoCisgIGdyb2Vzc2VyIGFscyBkaWUgUF9BQyBkZXMgU2NoaWxkZXMgaXN0LgorCisgIEVpbmUgZ2VzZXR6dGUgUF9FRkZFQ1RJVkVfQUMgaW4gZWluZXIgYW5kZXJlbiBSdWVzdHVuZyBoYXQgbnVyIGRlbiBOdXR6ZW4sCisgIGF1ZiBkZXJlbiBlcmhvZWh0ZW4gKHVuZCBuaWNodCBzb2ZvcnQgc2ljaHRiYXJlbikgVmVydGVpZGlndW5nc3dlcnQKKyAgaGluenV3ZWlzZW4sIGRlciBkdXJjaCBlaW5lIERlZmVuZEZ1bmMoKSByZWFsaXNpZXJ0IHdpcmQuCisKKworMiBBbmdyaWZmc2JvbmkgaW4gUnVlc3R1bmdlbiAtIFBfRUZGRUNUSVZFX1dDIChJTlQpIC0gImVmZmVjdGl2ZV93YyIKKworICBGdWVyIGRpZSBLYWVtcGZlciBrb2VubmVuIGZvbGdlbmRlIFJ1ZXN0dW5nc3R5cGVuIG1vZGlmaXppZXJ0IHdlcmRlbjoKKyAgQVRfVFJPVVNFUlMgKEhvc2VuKSwgQVRfSEVMTUVUIChLb3BmYmVkZWNrdW5nKSwgQVRfQk9PVCAoRnVzc2tsZWlkdW5nKSwKKyAgQVRfQVJNT1VSIChLb2VycGVycnVlc3R1bmcpLCBBVF9TSElFTEQgKFNjaGlsZGUpLgorICBJc3QgaW4gZWluZXIgZGllc2VyIFR5cGVuIFBfRUZGRUNUSVZFX1dDIGdlc2V0enQsIHNvIG1hY2h0IGRpZXNlIFJ1ZXN0dW5nCisgIGJlaSBlaW5lbSBBbmdyaWZmIG1pdCBlaW5lciBTcGV6aWFsYXR0YWNrZSAoS25pZXN0b3NzLCBLb3Bmc3Rvc3MsIEZ1c3N0cml0dCwKKyAgRWxsYm9nZW5zY2hsYWcgdW5kIFNjaGlsZHN0b3NzKSBlbnRzcHJlY2hlbmQgbWVociBiencuIHdlbmlnZXIgU2NoYWRlbiBhbHMKKyAgb2huZSBkaWVzZSBQcm9wZXJ0eS4gRWluZSBlbnRzcHJlY2hlbmRlIEJlZ3J1ZW5kdW5nIGZ1ZXIgZWluZSBWZXJzdGFlcmt1bmcKKyAgb2RlciBTY2h3YWVjaHVuZyBzb2xsdGUgYXVjaCBoaWVyIGZ1ZXIgZGVuIFNwaWVsZXIgb2ZmZW5zaWNodGxpY2ggc2VpbgorICAoRG9ybmVuIGFtIFNjaGlsZCwgdmVyc3RhZXJrdGVyIEtuaWViZXJlaWNoLCBaYWNrZW4gYW0gSGVsbSwgZXRjLikuCisKKyAgV2VubiBtYW4gZGVyIFJ1ZXN0dW5nIGVpbmVuIEJvbnVzIGdlYmVuIG1vZWNodGUsIG11c3MgbWFuIGRhcmF1ZiBhY2h0ZW4sCisgIGRhc3MgUF9FRkZFQ1RJVkVfV0MgaG9laGVyIGlzdCBhbHMgZGllIFBfQUMgZGVyIFJ1ZXN0dW5nISBTb2xsdGUKKyAgUF9FRkZFQ1RJVkVfV0MgbmllZHJpZ2VyIGFscyBQX0FDIHNlaW4sIHdpcmQgZGVubm9jaCBQX0VGRkVDVElWRV9XQyBhbHMKKyAgQW5ncmlmZnN3ZXJ0IGdlbm9tbWVuLiBEaWVzIHN0ZWxsdCBuYXR1ZXJsaWNoIGVpbmUgU2Nod2FlY2h1bmcgZGVyCisgIFNwZXppYWxhdHRhY2tlIGRhci4gTW9lZ2xpY2hlcndlaXNlIGlzdCBhYmVyIGdlbmF1IGRhcyBnZXdvbGx0LCB3ZW5uIGVpbmUKKyAgUnVlc3R1bmcsIGRpZSBzZWhyIGd1dCBzY2h1ZXR6dCwgbnVyIGdlcmluZ2VuIEthZW1wZmVyYm9udXMgYXVmd2Vpc2VuIHNvbGwuCisKKyAgQmVpc3BpZWw6IGVpbiBTY2hpbGQgYXVzIEhhcnRndW1taSBrYW5uIHJlY2h0IGd1dCBTY2hsYWVnZSBhbGxlciBBcnQKKyAgYWJmYW5nZW4gKC0+IFBfQUMgMzUpLiBXaWxsIGRlciBLYWVtcGZlciBqZWRvY2ggZWluZW4gU2NoaWxkc3Rvc3MgZGFtaXQKKyAgbWFjaGVuLCBmZWhsdCBpaG0gYXVmZ3J1bmQgZGVyIEJlc2NoYWZmZW5oZWl0IGRpZSBXdWNodCwgZWhlciBkYWVtcGZ0IGVzCisgIGRlbiBTY2hpbGRzdG9zcyBub2NoIGVpbiB3ZW5pZyAoLT4gUF9FRkZFQ1RJVkVfV0MgMjUpLgorCisgIERlciBNYXhpbWFsd2VydCBmdWVyIGRpZSBQX0VGRkVDVElWRV9XQyBiZWkgS2FlbXBmZXJuIGlzdCBkZXIgamV3ZWlscworICBkb3BwZWx0ZSBtYXhpbWFsZSBQX0FDLVdlcnQgKHMuICdtYW4gcnVlc3R1bmdlbicpLgorCisgIERpZSBBbmdhYmUgZWluZXMgU2NoYWRlbnN0eXBzIChQX0RBTV9UWVBFKSBpbiBlaW5lciBSdWVzdHVuZyBrYW5uIGRhbm4KKyAgc2lubnZvbGwgc2Vpbiwgd2VubiBiZWkgZGVyIFNwZXppYWxhdHRhY2tlIGVpbiBzcGV6aWVsbGVyIFNjaGFkZW4gZ2VtYWNodAorICB3ZXJkZW4gc29sbC4gQmVpc3BpZWxzd2Vpc2Ugc29sbHRlbiBGbGFtbWVuc3RpZWZlbCBsb2dpc2NoZXJ3ZWlzZSBEVF9GSVJFCisgIHVuZCBEVF9CTFVER0VPTiBvZGVyIERUX1BJRVJDRSBiZWkgZWluZW0gS2FtcGZ0cml0dCB2ZXJ1cnNhY2hlbi4gRXMgTVVTUworICAobG9naXNjaGVyd2Vpc2UpIG1pbmRlc3RlbnMgZWluIHBoeXNpa2FsaXNjaGVyIFNjaGFkZW5zdHlwIGVudGhhbHRlbiBzZWluLgorICBXaXJkIGtlaW4gU2NoYWRlbnN0eXAgYW5nZWdlYmVuLCB3aXJkIGF1ZiBTdGFuZGFyZHR5cGVuIHp1cnVlY2tnZWdyaWZmZW4uCisKKworU0lFSEUgQVVDSDoKKyAgICAgV2FmZmVuOiAgICAgUF9XQywgUF9UT1RBTF9XQywgUF9FRkZFQ1RJVkVfV0MsIEhpdEZ1bmMoKQorICAgICBSdWVzdHVuZ2VuOiBQX0FDLCBQX1RPVEFMX0FDLCBQX0VGRkVDVElWRV9BQywgRGVmZW5kRnVuYygpCisgICAgIEZpbGVzOiAgICAgIC9zdGQvd2VhcG9uLmMsIC9zdGQvd2VhcG9uL2NvbWJhdC5jCisgICAgIEJhbGFuY2U6ICAgIHdhZmZlbiwgcnVlc3R1bmdlbiwgcHJvcGVydGllcworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjYuMTAuMjAxMiwgR2FieWxvbgpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL29ic29sZXRlL1BfQkFMQU5DRURfV0VBUE9OIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfQkFMQU5DRURfV0VBUE9OCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3ODVmMmMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9CQUxBTkNFRF9XRUFQT04KQEAgLTAsMCArMSwzNSBAQAorKioqKioqKioqKioqKioqKioqKioqIFVOR0VOVVRaVEUgUFJPUEVSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRGllc2UgUHJvcGVydHkgd2lyZCB2b24gZGVyIE11ZGxpYiBOSUNIVCBhdXNnZXdlcnRldCB1bmQga2FubiAgICAgICAqCisqIGFscyB2ZXJhbHRldCBnZWx0ZW4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiBNb21lbnRhbiBpc3QgYXVjaCBrZWluZSBHaWxkZSBiZWthbm50LCBkaWUgbWVociBtYWNodCwgYWxzIHNpZSAgICAgICoKKyogYXVzenVnZWJlbi4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorTkFNRToKKyAgICAgICAgUF9CQUxBTkNFRF9XRUFQT04gICJiYWxhbmNlZF93ZWFwb24iCisKK0RFRklOSUVSVCBJTjoKKyAgICAgICAgL3N5cy93ZWFwb24uaAorCitCRVNDSFJFSUJVTkc6CisgICAgICAgIERpZSBQcm9wZXJ0eSBnaWJ0IGFuLCBvYiBlaW5lIFdhZmZlIGF1c2JhbGFuY2llcnQgaXN0IG9kZXIgbmljaHQuCisgICAgICAgIERpZSBiZWlkZW4gbW9lZ2xpY2hlbiBXZXJ0ZSBzaW5kIGxvZ2lzY2hlcndlaXNlOgorCisgICAgICAgICAgICAgICAgV1BfQkFMQU5DRUQgICAgICAgYmFsYW5jaWVydAorICAgICAgICAgICAgICAgIFdQX1VOQkFMQU5DRUQgICAgIHVuYmFsYW5jaWVydAorCisgICAgICAgIERpZSBXUF8qIHNpbmQgZWJlbmZhbGxzIGluIDx3ZWFwb24uaD4gZGVmaW5pZXJ0LgorCitCRUlTUElFTEU6CisgICAgICAgIGEpIEVpbmUgYXVzYmFsYW5jaWVydGUgV2FmZmUgaXN0IHouQi4gZWluIEthbXBmc3RhYi4KKworICAgICAgICAgICAgU2V0UHJvcChQX0JBTEFOQ0VEX1dFQVBPTixXUF9CQUxBTkNFRCk7CisKKyAgICAgICAgYikgRWluZSBuaWNodCBhdXNiYWxhbmNpZXJ0ZSBXYWZmZSBpc3Qgei5CLiBlaW5lIEtldWxlLgorCisgICAgICAgICAgICBTZXRQcm9wKFBfQkFMQU5DRURfV0VBUE9OLFdQX1VOQkFMQU5DRUQpOworCitTSUVIRSBBVUNIOgorICAgICAgICBQX1RFQ0hOSVFVRSwgL3N0ZC93ZWFwb24vY29tYmF0LmMKKworTEVUWlRFIEFlTkRFUlVORzoKKzE1LjAyLjIwMDksIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX0RFRkFVTFRfSU5GTyBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX0RFRkFVTFRfSU5GTwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTQ5MjhjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfREVGQVVMVF9JTkZPCkBAIC0wLDAgKzEsMjggQEAKKyoqKioqKioqKioqKioqKioqKioqKiBWRVJBTFRFVEUgUFJPUEVSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIERpZXNlIFByb3BlcnR5IGlzdCB2ZXJhbHRldC4gQml0dGUgbmljaHQgbWVociBpbiBuZXVlbSBDb2RlIG51dHplbi4gKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworTkFNRToKKyAgICBQX0RFRkFVTFRfSU5GTyAgICAgICAgICAgICAgICAiZGVmYXVsdF9pbmZvIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9wcm9wZXJ0aWVzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgIERlZmF1bHQtQW50d29ydCBlaW5lcyBOcGMsIHdlbm4gZXIgYXVmIGRhcyBTY2hsdWVzc2Vsd29ydCBkdXJjaCBkZW4KKyAgICBTcGllbGVyIGtlaW4gQWRkSW5mbyBwYXJhdCBoYXQuCisKK0JFTUVSS1VORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBzb2xsdGUgbmljaHQgbWVociBiZW51dHp0IHdlcmRlbi4gU3RhdHRkZXNzZW4gYml0dGUKKyAgICBBZGRJbmZvKERFRkFVTFRfSU5GTywuLi4pIHZlcndlbmRlbi4KKyAgICBEZW0gaW4gZGllc2VyIFByb3AgYW5nZWdlYmVuIFN0cmluZyB3aXJkIGltbWVyIGRlciBOYW1lIGRlcyBOcGMKKyAgICB2b3JhdXNnZXN0ZWxsdC4gV2lsbCBtYW4gZGllcyB2ZXJoaW5kZXJuLCBtdXNzIG1hbiBzaWUgdWViZXJzY2hyZWliZW4uCisKK0JFSVNQSUVMOgorICAgIFNldFByb3AoUF9ERUZBVUxUX0lORk8sImJvaHJ0IGdlbGFuZ3dlaWx0IGluIGRlciBOYXNlLlxuIik7CisKK1NJRUhFIEFVQ0g6CisgICAgQWRkSW5mbworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxNy4wOC4yMDEwLCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvb2Jzb2xldGUvUF9FWFRSQV9MT09LIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfRVhUUkFfTE9PSwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzc3YTI1Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfRVhUUkFfTE9PSwpAQCAtMCwwICsxLDM1IEBACisqKioqKioqKioqKioqKioqKioqKiogVkVSQUxURVRFIFBST1BFUlRZICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBEaWVzZSBQcm9wZXJ0eSBpc3QgdmVyYWx0ZXQuIEJpdHRlIGJlbnV0enQgc2llIE5JQ0hUIG1laHIsIHNvbmRlcm4gICoKKyogc3RhdHRkZXNzZGVuIEFkZEV4dHJhTG9vaygpLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorCitOQU1FOgorCVBfRVhUUkFfTE9PSwkJCSJleHRyYWxvb2siCisKK0RFRklOSUVSVCBJTjoKKwkvc3lzL2xpdmluZy9kZXNjcmlwdGlvbi5oCisKK0JFU0NIUkVJQlVORzoKKwlEaWVzZSBQcm9wZXJ0eSBlbnRoYWVsdCBlaW5lbiBTdHJpbmcuIFNpZSB3aXJkIGVudHdlZGVyIGluIExlYmV3ZXNlbgorCWRpcmVrdCBvZGVyIGluIE9iamVrdGVuIGdlc2V0enQgd2lyZCwgZGllIGltIEJlc2l0eiB2b24gTGViZXdlc2VuCisJc2VpbiBrb2VubmVuLgorCURpZXNlIFN0cmluZ3MgZXJzY2hlaW5lbiBkYW5uIHp1c2FldHpsaWNoIGluIGRlciBMYW5nYmVzY2hyZWlidW5nCisJZGVzIExlYmV3ZXNlbnMgYnp3LiBkZXMgQmVzaXR6ZXJzICh3ZW5uIGRhcyBPYmpla3Qgc2ljaCBkaXJla3QgaW0KKwkgTGViZXdlc2VuIGJlZmluZGV0LCBqZWRvY2ggbmljaHQgaW4gZWluZW0gQmVoYWVsdGVyIGltIExlYmV3ZXNlbikuCisJRnVlciBkZW4gWmVpbGVudW1icnVjaCBtdXNzIG1hbiBzZWxic3Qgc29yZ2VuLgorCitCRUlTUElFTDoKKwlFaW4gU3BpZWxlciBoYXQgZWluZSBQZmVpZmUgaW0gTXVuZC4gSW4gZGllc2VyIFBmZWlmZSBzZXR6dCBtYW4gei5CLgorCWluIGRlciBGdW5rdGlvbiB6dW0gUGZlaWZlIFJhdWNoZW4gZm9sZ2VuZGVzOgorCSAgU2V0UHJvcChQX0VYVFJBX0xPT0ssYnJlYWtfc3RyaW5nKAorCSB0aGlzX3BsYXllcigpLT5OYW1lKFdFUikrIiBpc3QgZ2FueiB1bW5lYmVsdC4iLDc4KTsKKworQkVNRVJLVU5HOgorICBCSVRURSBOSUNIVCBNRUhSIEJFTlVUWkVOIQorCitTSUVIRSBBVUNIOgorCWxvbmcoKSwgL3N0ZC9saXZpbmcvZGVzY3JpcHRpb24uYywgL3N0ZC9wbGF5ZXIvYmFzZS5jCisgIEFkZEV4dHJhTG9vaygpLCBSZW1vdmVFeHRyYUxvb2soKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisxMy4wNS4yMDA3LCBaZXNzdHJhCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvb2Jzb2xldGUvUF9MQVNUX0tJTExFUiBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX0xBU1RfS0lMTEVSCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI3ZWVhOGYKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9MQVNUX0tJTExFUgpAQCAtMCwwICsxLDIwIEBACisqKioqKioqKioqKioqKioqKioqKiogVkVSQUxURVRFIFBST1BFUlRZICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBEaWVzZSBQcm9wZXJ0eSBpc3QgdmVyYWx0ZXQgdW5kIHdpcmQgYmFsZCBhdXMgZGVyIE11ZGxpYiBlbnRmZXJudC4gICoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisKK05BTUU6CisgICAgUF9MQVNUX0tJTExFUiAgICAgICAgICAgICAgICAgImxhc3Rfa2lsbGVyIiAgICAgICAgICAgICAgICAgCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL3BsYXllci5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTGV0enRlciBNb2VyZGVzIGRlcyBXZXNlbnMuCisgICAgIERpZXNlIFByb3BlcnR5IHd1cmRlIG51ciBpbiBTcGllbGVybiBnZXNldHp0IHVuZCBhdWNoIGRhbm4gbmljaHQgaW1tZXIuCisgICAgIEJpdHRlIHN0YXR0ZGVzc2VuIFBfS0lMTEVSIGFiZnJhZ2VuLCB3ZWxjaGUgaW4gTlBDIHVuZCBTcGllbGVybiBnZXNldHp0CisgICAgIHdpcmQuCisKK1NJRUhFIEFVQ0g6CisgICAgUF9LSUxMRVIsIGRpZSgpCisKKzA1LjA5LjIwMDgsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX0xBU1RfUEVBQ0VfVElNRSBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX0xBU1RfUEVBQ0VfVElNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjIyMzNlCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfTEFTVF9QRUFDRV9USU1FCkBAIC0wLDAgKzEsMjcgQEAKKyoqKioqKioqKioqKioqKioqKioqKiBWRVJBTFRFVEUgUFJPUEVSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIERpZXNlIFByb3BlcnR5IGlzdCB2ZXJhbHRldCB1bmQgd2lyZCBiYWxkIGF1cyBkZXIgTXVkbGliIGVudGZlcm50LiAgKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1BST1BFUlRZCisKKwlQX0xBU1RfUEVBQ0VfVElNRQkibGFzdF9wZWFjZV90aW1lIgorCitERUZJTklFUlQgSU4KKworCS9zdGQvbGl2aW5nL2NvbWJhdC5jCisKK0JFU0NIUkVJQlVORworCisJRGllc2UgUHJvcGVydHkgZ2lidCBhbiwgd2FubiB6dWxldHp0IHZlcnN1Y2h0IHd1cmRlLCBlaW5lbiBOUEMgenUKKwliZWZyaWVkZW4uIEJpdHRlIG5hY2ggTW9lZ2xpY2hrZWl0IG51ciBsZXNlbmQgdmVyd2VuZGVuLiBEZXMgd2VpdGVyZW4KKwl3aXJkIHNpZSBudXIgaW0gdWVibGljaGVuIFZlcmhhbHRlbiB2b24gUXVlcnlQYWNpZnkgZ2VzZXR6dCwgdW5kIG51cgorCWRhbm4sIHdlbm4gUF9BQ0NFUFRfUEVBQ0UgbmljaHQgZ2VzZXR6dCBpc3QuCisKK1NJRUhFIEFVQ0gKKworCVF1ZXJ5UGFjaWZ5LCBQX0FDQ0VQVF9QRUFDRQorCitMRVRaVEUgQUVOREVSVU5HCisKKwkyMDA0LTAzLTE3LCAxNDozMCB2b24gSHVtbmkKKwkKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL29ic29sZXRlL1BfTE9HX0ZJTEUgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9MT0dfRklMRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWFmZTQwCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfTE9HX0ZJTEUKQEAgLTAsMCArMSw0NSBAQAorKioqKioqKioqKioqKioqKioqKioqIFZFUkFMVEVURSBQUk9QRVJUWSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRGllc2UgUHJvcGVydHkgd2lyZCBuaWNodCBtZWhyIGF1c2dld2VydGV0LiAgICAgICAgICAgICAgICAgICAgICAgICAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorTkFNRToKKyAgICBQX0xPR19GSUxFICAgICAgICAgICAgICAgICAgICJsb2dfZmlsZSIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvdGhpbmcvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBFbnRoYWVsdCBlaW5lbiBTdHJpbmcgYXVmIGVpbmVuIEZpbGVuYW1lbi4gCisKKyAgICBXZXJkZW4genUgZGVtIE9iamVrdCAoUmF1bSwgTW9uc3RlciwgLi4uKSBGZWhsZXJtZWxkdW5nZW4gYWJnZXNldHp0LCAKKyAgICB3ZXJkZW4gZGllc2UgaW4gZGFzIGFuZ2VnZWJlbmUgRmlsZSB1bWdlbGVpdGV0LiBEaWUgRWludHJhZ3VuZyBpbgorICAgIGRpZSBwZXIgRGVmYXVsdCBmdWVyIEZlaGxlcm1lbGR1bmdlbiB2b3JnZXNlaGVuZW4gRGF0ZWllbiBlcmZvbGd0CisgICAgbmljaHQuCisKK0JFTUVSS1VOR0VOOgorICAgIFBfTE9HX0ZJTEUgd2lyZCBhdXNnZXdlcnRldCB3aWUgbG9nX2ZpbGUoKS4KKworICAgIERhcyBoZWlzc3QsIGVzIHdpcmQgQVVGIEpFREVOIEZBTEwgbmFjaCAvbG9nIGdlc2NocmllYmVuIQorCisgICAgRGlyZWt0IGluIC9sb2cga2FubiBOSUNIVCBnZXNjaHJpZWJlbiB3ZXJkZW4sIGVzIG11c3MgYWxzbyBlaW4gCisgICAgVW50ZXJ2ZXJ6ZWljaG5pcyBtaXQgRXVyZW0gTWFnaWVybmFtZW4gdm9yaGFuZGVuIHNlaW4uCisKK0JFSVNQSUVMRToKKyAgICBTZXRQcm9wKFBfTE9HX0ZJTEUsInRpbGx5X2xvZyIpOyAgICAgICAgICAvLyBGQUxTQ0gsIGVzIHd1ZXJkZSB2ZXJzdWNodCwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFzIEZpbGUgL2xvZy90aWxseV9sb2cgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW56dWxlZ2VuCisgICAgU2V0UHJvcChQX0xPR19GSUxFLCIvbG9nL3RpbGx5X2xvZyIpOyAgICAgLy8gRkFMU0NILCBlcyB3dWVyZGUgdmVyc3VjaHQsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcyBGaWxlIC9sb2cvbG9nL3RpbGx5X2xvZworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuenVsZWdlbgorICAgIFNldFByb3AoUF9MT0dfRklMRSwiL2QvZWJlbmUvdGlsbHlfbG9nIik7IC8vIEZBTFNDSCwgcy5vLgorCisgICAgU2V0UHJvcChQX0xPR19GSUxFLCJ0aWxseS90aWxseV9sb2ciKTsgICAgLy8gUklDSFRJRyEKKworICAgIEltIGxldHp0ZW4gQmVpc3BpZWwgd2VyZGVuIGFsbGUgRWludHJhZWdlIGluIGRhcyBGaWxlIHRpbGx5X2xvZyBnZS0KKyAgICBzY2hyaWViZW4sIGRhcyBzaWNoIGltIFZlcnplaWNobmlzIC9sb2cvdGlsbHkvIGJlZmluZGV0LgorCisgICAgRGFzIFVudGVydmVyemVpY2huaXMgL3RpbGx5IGluIC9sb2cgbXVzcyB6dXZvciBhbmdlbGVndCB3ZXJkZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgUF9MT0dfSU5GTywgd3JpdGVfZmlsZSgpLCBsb2dfZmlsZSgpLAorCitMZXR6dGUgQWVuZGVydW5nOiAxMy4wOS4wNCBUaWxseUBNb3JnZW5HcmF1ZW4KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX05FWFRfU1BFTExfVElNRSBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX05FWFRfU1BFTExfVElNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzQyNDU2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfTkVYVF9TUEVMTF9USU1FCkBAIC0wLDAgKzEsMzAgQEAKKyoqKioqKioqKioqKioqKioqKioqKiBWRVJBTFRFVEUgUFJPUEVSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIERpZXNlIFByb3BlcnR5IGlzdCB2ZXJhbHRldC4gQml0dGUgbmljaHQgbWVociBpbiBuZXVlbSBDb2RlIG51dHplbi4gKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKworTkFNRToKKyAgICBQX05FWFRfU1BFTExfVElNRSAgICAgICAgICAgICAibmV4dF9zcGVsbCIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBXYW5uIGthbm4gZGFzIG5hZWNoc3RlIE1hbCBnZXphdWJlcnQgd2VyZGVuPworICAgIERpZXMgaXN0IGVpbmUgZ2xvYmFsZSBTcHJ1Y2hlcm11ZWR1bmcvLVNwZXJyZS4KKyAgICBGbGV4aWJsZXJlIFNwZXJyZW4ga29lbm5lbiBtaXR0ZWxzIFNldFNwZWxsRmF0aWd1ZS9DaGVja1NwZWxsRmF0aWd1ZSgpCisgICAgdmVyd2FsdGV0IHdlcmRlbi4KKworICAgIERpZXNlIFByb3BlcnR5IGlzdCBrZWluZSBlY2h0ZSBQcm9wZXJ0eSwgc29uZGVybiBsaWVmZXJ0IG51ciBkYXMKKyAgICBFcmdlYm5pcyB2b24gdm9uIENoZWNrU3BlbGxGYXRpZ3VlKCkgenVydWVjayBiencuIHJ1ZnQgYmVpbSBTZXR6ZW4KKyAgICBTZXRTcGVsbEZhdGlndWUoPHNwcnVjaHNwZXJyZT4sIDApIGF1Zi4KKyAgICBEaWVzZSBQcm9wIHNvbGx0ZSBfbmljaHRfIG1pdHRlbHMgUXVlcnktIG9kZXIgU2V0bWV0aG9kZW4gbWFudXB1bGllcnQKKyAgICB3ZXJkZW4sIGRhIHNvbnN0IElua29uc2lzdGVuemVuIHp1bSBFcmdlYm5pcyB2b24gQ2hlY2tTcGVsbEZhdGlndWUoKQorICAgIGF1ZnRyZXRlbi4KKworU0lFSEUgQVVDSDoKKyAgICBTZXRTcGVsbEZhdGlndWUoTCksIENoZWNrU3BlbGxGYXRpZ3VlKEwpCisgICAgc3BydWNoZXJtdWVkdW5nCisKK1pVTEVUWlQgR0VBZU5ERVJUOgorMTQuMDMuMjAxMCwgWmVzc3RyYQorCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvb2Jzb2xldGUvUF9SRUFEX01TRyBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1JFQURfTVNHCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjNzlmZGMKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9SRUFEX01TRwpAQCAtMCwwICsxLDMyIEBACisqKioqKioqKioqKioqKioqKioqKiogVkVSQUxURVRFIFBST1BFUlRZICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorKiBEaWVzZSBQcm9wZXJ0eSBpc3QgdmVyYWx0ZXQuIEJpdHRlIG5pY2h0IG1laHIgaW4gbmV1ZW0gQ29kZSBudXR6ZW4uICoKKyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCitOQU1FOgorICAgIFBfUkVBRF9NU0cgICAgICAgICAgICAgICAgInJlYWRfbXNnIiAgICAgICAgICAgICAgICAKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvcHJvcGVydGllcy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBEaWVzZSBQcm9wZXJ0eSBpc3QgdmVyYWx0ZXQuIElocmUgRnVua3Rpb24gd2lyZCB2b24KKyAgICBBZGRSZWFkRGV0YWlsKFNFTlNFX0RFRkFVTFQsIC4uLikgdWViZXJub21tZW4uCisgICAgCisgICAgSGllciBrb2VubmVuIEluZm9ybWF0aW9uZW4gZ2VzcGVpY2hlcnQgd2VyZGVuLCBkaWUgYmVpbSBMZXNlbgorICAgIGRlcyBPYmpla3RlcyBhdXNnZWdlYmVuIHdlcmRlbi4KKyAgICAgCisgICAgRnVlciBkYXMgSWRlbnRpZml6aWVyZW4gZGVzIHp1IGxlc2VuZGVuIE9iamVrdGVzIHdpcmQgZGVyIGdsZWljaGUKKyAgICBNZWNoYW5pc211cyBiZW51dHp0IHdpZSBmdWVyIGxlc2JhcmUgdW5kIGFuZGVyZSBEZXRhaWxzLgorCisgICAgRGllIEJlbnV0enVuZyB2b24gcHJvY2Vzc19zdHJpbmcoKSBpc3QgaW4gZGllc2VyIFByb3AgbmljaHQgbWVociBlcmxhdWJ0LgorCitCRUlTUElFTDoKKyAgICBBZGRJZCgoeyJyb2xsZSIsICJzY2hyaWZ0cm9sbGUifSkpOworICAgIFNldFByb3AoUF9SRUFEX01TRywKKyAgICAgICAiRHUgb2VmZm5lc3QgZGllIFJvbGxlIHVuZCBsaWVzdDogTE9SRU0gSVBTVU0gLi4uXG4iKTsKKyAgICAgCitTSUVIRSBBVUNIOgorICAgIERldGFpbHM6ICAgQWRkUmVhZERldGFpbCgpLCBSZW1vdmVSZWFkRGV0YWlsKCksIFBfUkVBRF9ERVRBSUxTCisgICAgU29uc3RpZ2VzOiBicmVha19zdHJpbmcoKQorCiswOS4xMi4yMDEyLCBaZXNzdHJhCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RFQ0hOSVFVRSBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RFQ0hOSVFVRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjU3MDI3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfVEVDSE5JUVVFCkBAIC0wLDAgKzEsNDQgQEAKKyoqKioqKioqKioqKioqKioqKioqKiBVTkdFTlVUWlRFIFBST1BFUlRZICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIERpZXNlIFByb3BlcnR5IHdpcmQgdm9uIGRlciBNdWRsaWIgTklDSFQgYXVzZ2V3ZXJ0ZXQgdW5kIGthbm4gICAgICAgKgorKiBhbHMgdmVyYWx0ZXQgZ2VsdGVuLiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyogTW9tZW50YW4gaXN0IGF1Y2gga2VpbmUgR2lsZGUgYmVrYW5udCwgZGllIG1laHIgbWFjaHQsIGFscyBzaWUgICAgICAqCisqIGF1c3p1Z2ViZW4uICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK05BTUU6CisJUF9URUNITklRVUUJCQkJInRlY2huaXF1ZSIKKworREVGSU5JRVJUIElOOgorCS9zeXMvd2VhcG9uLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICAgICBEaWUgVGVjaG5payhlbiksIG1pdCBkZW5lbiBlaW5lIFdhZmZlIGltIEthbXBmIGVpbmdlc2V0enQgd2VyZGVuCisgICAgICAgIGthbm4uIEZvbGdlbmRlIFRlY2huaWtlbiBzdGVoZW4genVyIFZlcmZ1ZWd1bmc6CisKKyAgICAgICAgICAgICAgICBUUV9TVFJPS0UgICAgICAgU3RyZWljaHRlY2huaWsKKyAgICAgICAgICAgICAgICBUUV9USFJBU0ggICAgICAgU2NobGFndGVjaG5paworICAgICAgICAgICAgICAgIFRRX1RIUlVTVCAgICAgICBTdG9zc3RlY2huaWsKKyAgICAgICAgICAgICAgICBUUV9XSElQICAgICAgICAgUGVpdHNjaHRlY2huaWsKKworICAgICAgICBEaWUgVGVjaG5pa2VuIHNpbmQgZWJlbmZhbGxzIGluIDx3ZWFwb24uaD4gZGVmaW5pZXJ0IHVuZCBhdWYgZGVyCisgICAgICAgIG1hbi1wYWdlICd0ZWNobmlrZW4nIG5hZWhlciBlcmxhZXV0ZXJ0LgorCitCRU1FUktVTkdFTjoKKyAgICAgICAgTWFuIGthbm4gZWluZXIgV2FmZmUgZWluZSBvZGVyIG1laHJlcmUgVGVjaG5pa2VuIHp1d2Vpc2VuLgorCitCRUlTUElFTEU6CisgICAgICAgIGEpIEVpbmUgV2FmZmUsIGRpZSBudXIgbWl0IGVpbmVyIFBlaXRzY2h0ZWNobmlrIGVpbmdlc2V0enQgd2lyZCwKKyAgICAgICAgICAgYWxzbyB0eXBpc2NoZXJ3ZWlzZSBlaW5lIFBlaXRzY2hlLCBhYmVyIGF1Y2ggZWluIE1vcmdlbnN0ZXJuOgorCisgICAgICAgICAgICBTZXRQcm9wKFBfVEVDSE5JUVVFLFRRX1dISVApOworCisgICAgICAgIGIpIEVpbmUgV2FmZmUsIGRpZSBzb3dvaGwgbWl0IGRlciBTY2hsYWctIGFscyBhdWNoIGRlciBTdG9zc3RlY2huaWsKKyAgICAgICAgICAgZWluZ2VzZXR6dCB3aXJkLCBhbHNvIHouQi4gZWluZSBIZWxsZWJhcmRlOgorCisgICAgICAgICAgICBTZXRQcm9wKFBfVEVDSE5JUVVFLCh7VFFfVEhSQVNILFRRX1RIUlVTVH0pKTsKKworU0lFSEUgQVVDSDoKKyAgICAgICAgdGVjaG5pa2VuLCBQX0JBTEFOQ0VEX1dFQVBPTiwgL3N0ZC93ZWFwb24vY29tYmF0LmMKKworTEVUWlRFIEFlTkRFUlVORzoKKzE1LjAyLjIwMDksIFplc3N0cmEKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL29ic29sZXRlL1BfVE1QX0FUVEFDS19IT09LIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfVE1QX0FUVEFDS19IT09LCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYzgxNTIKLS0tIC9kZXYvbnVsbAorKysgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9UTVBfQVRUQUNLX0hPT0sKQEAgLTAsMCArMSw3MyBAQAorKioqKioqKioqKioqKioqKioqKioqIFZFUkFMVEVURSBQUk9QRVJUWSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRGllc2UgUHJvcGVydHkgaXN0IHZlcmFsdGV0LiBCaXR0ZSBuaWNodCBtZWhyIGluIG5ldWVtIENvZGUgbnV0emVuLiAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorUF9UTVBfQVRUQUNLX0hPT0sKKworTkFNRToKKyAgICBQX1RNUF9BVFRBQ0tfSE9PSyAgICAgICAgICAgICAiYXR0YWNrX2hvb2siCisKK0RFRklOSUVSVCBJTjoKKyAgICAvc3lzL25ld19za2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgIE1pdHRlbHMgZGllc2VyIFByb3BlcnR5IGtvZW5uZW4gZGllIEF0dGFja2VuIGVpbmVzIExpdmluZ3MgZ2dmLgorICAgICBhYmdlYnJvY2hlbiB3ZXJkZW4gbm9jaCBiZXZvciBXYWZmZW4gb2RlciBTa2lsbHMgenVtIGF1c2dld2VydGV0CisgICAgIHd1cmRlbi4KKworICAgICBFcyB3aXJkIGFuIGRlbSBMaXZpbmcgZGllIFByb3BlcnR5IGFscyBtaW5kZXN0ZW5zIDMtZWxlbWVudGlnZXMgQXJyYXk6CisgICAgICh7emVpdHB1bmt0LCBvYmpla3QsIG1ldGhvZGUsIC4uLn0pCisgICAgIGdlc2V0enQgdW5kIGRpZSBNZXRob2RlICdtZXRob2RlJyB3aXJkIGRhbm4gd2FlaHJlbmQgZGVzIEF0dGFjaygpIGRlcworICAgICBMZWJld2VzZW5zIGluICdvYmpla3QnIGF1ZmdlcnVmZW4sIHNvbGFuZ2UgdGltZSgpPCd6ZWl0cHVua3QnLgorCisgICAgIERlciBNZXRob2RlIHdpcmQgYWxzIFBhcmFtZXRlciBkZXIgR2VnbmVyIHVlYmVyZ2ViZW4uCisKKyAgICAgR2lidCBkaWUgTWV0aG9kZSAwIGFscyBSdWVja2dhYmV3ZXJ0IHp1cnVlY2ssIHdpcmQgZGllIEF0dGFja2Ugc29mb3J0CisgICAgIGtvbW1lbnRhcmxvcyBhYmdlYnJvY2hlbi4KKworQkVNRVJLVU5HRU46CisgICAgIC0gQml0dGUgZGFzIG5ldWVyZSBIb29rc3lzdGVtIChzLiBNYW5wYWdlIHN0ZC9ob29rcykgYmVudXR6ZW4uCisgICAgIC0gZmFsbHMgZGllIFplaXQgYWJnZWxhdWZlbiBvZGVyIGRhcyBPYmpla3QgemVyc3RvZXJ0IGlzdCwgd2lyZCBkaWUKKyAgICAgICBQcm9wZXJ0eSBhdWYgMCBnZXNldHp0CisgICAgIC0gdm9yIGRlbSBTZXR6ZW4gaW1tZXIgYXVmIGRpZSBFeGlzdGVueiBlaW5lcyBndWVsdGlnZW4gSG9va3MKKyAgICAgICBwcnVlZmVuLCBlaW5mYWNoZXMgVWViZXJzY2hyZWliZW4gZnVlaHJ0IGVpbmVyc2VpdHMgenUgRmVobGVybgorICAgICAgIGltIENvZGUgYW5kZXJlciB1bmQgaXN0IGFuZGVyZXJzZWl0cyB1bmZhaXIgZ2VnZW51ZWJlciBpaG5lbgorCitCRUlTUElFTEU6CisgICAgICoqKiBkZXIgU3BpZWxlciBlcmhhZWx0IGVpbmUgVmVyd3VuZHVuZywgZGllIGlobiBtYW5jaG1hbCBiZWhpbmRlcnQgKioqCisgICAgIGlmKCFwb2ludGVycCh0bXA9VFAtPlF1ZXJ5UHJvcChQX1RNUF9BVFRBQ0tfSE9PSykpIHx8CisgICAgICAgIHNpemVvZih0bXApPDMgfHwgdG1wWzBdPD10aW1lKCkpIHsKKyAgICAgICBUUC0+U2V0UHJvcChQX1RNUF9BVFRBQ0tfSE9PSywKKwkJICAgKHt0aW1lKCkrMzYwMCwgdGhpc19vYmplY3QoKSwgInRlc3RfaHVydCJ9KSk7CisgICAgIC4uLgorCisgICAgIC8vIGRpZSBlbnRzcHJlY2hlbmRlIE1ldGhvZGUsIGRpZSBiZWkgamVkZW0gQW5ncmlmZiB1ZWJlciBBdHRhY2soKQorICAgICAvLyBnZXJ1ZmVuIHdpcmQgLi4uCisgICAgIGludCB0ZXN0X2h1cnQob2JqZWN0IGVuZW15KSB7CisKKyAgICAgICAvLyBtaXQgMTAlIENoYW5jZSBnZW5lcmVsbCB1bmQgMjAlIENoYW5jZSBiZWkgZ3JvZXNzZXJlbiBHZWduZXJuCisgICAgICAgLy8gYnJpY2h0IGRlciBBbmdyaWZmIGFiIC4uLiBwcmV2aW91c19vYmplY3QoKSBpc3QgbmF0dWVybGljaAorICAgICAgIC8vIGRlciBBbmdyZWlmZXIKKyAgICAgICBpZighcmFuZG9tKDEwKSB8fAorICAgICAgICAgIChlbmVteS0+UXVlcnlQcm9wKFBfU0laRSk+cHJldmlvdXNfb2JqZWN0KCktPlF1ZXJ5UHJvcChQX1NJWkUpICYmCisgICAgICAgICAgICFyYW5kb20oNSkpIHsKKworICAgICAgICAgIHRlbGxfb2JqZWN0KHByZXZpb3VzX29iamVjdCgpLAorICAgICAgICAgICAgIkRlaW5lIFd1bmRlIHNjaG1lcnp0IGRpY2ggenUgc2VociB1bSBhbnp1Z3JlaWZlbi5cbiIpOworICAgICAgICAgIHRlbGxfcm9vbShlbnZpcm9ubWVudChwcmV2aW91c19vYmplY3QoKSksCisgICAgICAgICAgICBwcmV2aW91c19vYmplY3QoKS0+TmFtZShXRVIsMSkrIiB6dWNrdCB2b3IgU2NobWVyemVuIHp1c2FtbWVuLlxuIiwKKyAgICAgICAgICAgICh7cHJldmlvdXNfb2JqZWN0KCl9KSk7CisgICAgICAgICAgcmV0dXJuIDA7CisgICAgICAgfQorCisgICAgICAgLy8gYW5zb25zdGVuIGdlaHQgZGVyIEFuZ3JpZmYgd2VpdGVyCisgICAgICAgcmV0dXJuIDE7CisgICAgIH0KKworU0lFSEUgQVVDSDoKKyAgICAgQW5ncmlmZjoJQXR0YWNrKEwpCisgICAgIFNjaHV0ejogICAgRGVmZW5kKEwpCisgICAgIFZlcndhbmR0OiAgSW50ZXJuYWxNb2RpZnlBdHRhY2soTCksIFBfVE1QX0FUVEFDS19NT0QJCisgICAgIEhvb2tzOglQX1RNUF9ESUVfSE9PSywgUF9UTVBfTU9WRV9IT09LLCBQX1RNUF9ERUZFTkRfSE9PSworICAgICBuZXVlIEhvb2tzOiBzdGQvaG9va3MKKworMDguMTIuMjAwOCwgWmVzc3RyYQpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL29ic29sZXRlL1BfVE1QX0FUVEFDS19NT0QgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9UTVBfQVRUQUNLX01PRApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDkxYzBjCi0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfVE1QX0FUVEFDS19NT0QKQEAgLTAsMCArMSwxMTIgQEAKKyoqKioqKioqKioqKioqKioqKioqKiBWRVJBTFRFVEUgUFJPUEVSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIERpZXNlIFByb3BlcnR5IGlzdCB2ZXJhbHRldC4gQml0dGUgbmljaHQgbWVociBpbiBuZXVlbSBDb2RlIG51dHplbi4gKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1BfVE1QX0FUVEFDS19NT0QKKworTkFNRToKKyAgICAgUF9UTVBfQVRUQUNLX01PRCAgICAgICAgICAgICAgImF0dGFja19tb2QiCisKK0RFRklOSUVSVCBJTjoKKyAgICAgL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNaXR0ZWxzIGRpZXNlciBQcm9wZXJ0eSBrb2VubmVuIGRpZSBBdHRhY2tlbiBlaW5lcyBMaXZpbmdzIHRlbXBvcmFlcgorICAgICB2ZXJhZW5kZXJ0IHdlcmRlbi4KKworICAgICBFcyB3aXJkIGFuIGRlbSBMaXZpbmcgZGllIFByb3BlcnR5IGFscyBtaW5kZXN0ZW5zIDMtZWxlbWVudGlnZXMgQXJyYXkKKyAgICAgKHt6ZWl0cHVua3QsIG9iamVrdCwgbWV0aG9kZSwgLi4ufSkKKyAgICAgZ2VzZXR6dCB1bmQgZGllIE1ldGhvZGUgJ21ldGhvZGUnIHdpcmQgZGFubiB3YWVocmVuZCBkZXMgQXR0YWNrKCkgZGVzCisgICAgIExlYmV3ZXNlbnMgaW4gJ29iamVrdCcgYXVmZ2VydWZlbiwgc29sYW5nZSB0aW1lKCk8J3plaXRwdW5rdCcuCisKKyAgICAgRGVyIE1ldGhvZGUgd2lyZCBiZWltIEF1ZnJ1ZiBlaW4gS29waWUgZGVzIE1hcHBpbmdzIHVlYmVyZ2ViZW4sIGluIGRlbQorICAgICBkaWUgYmlzaGVyaWdlbiBXZXJ0ZSBkZXMgQW5ncmlmZmVzIHZlcm1lcmt0IHNpbmQuCisgICAgIEF1ZmJhdSB2b24gTWFwcGluZyAnYWluZm8nOgorICAgICAoWyBTSV9FTkVNWSA6ICAgICAgICAgICBvYmplY3QgQW5ncmVpZmVyLAkJCSgtPiBEZWZlbmQpCisgICAgICAgIFNJX1NQRUxMIDogICAgICAgICAgIDAvMS9hcnJheSBTcGVsbHBhcmFtZXRlciwJCSgtPiBEZWZlbmQpCisgICAgICAgIFBfV0VBUE9OIDogICAgICAgICAgIC0gb2RlciBXYWZmZSwKKyAgICAgICAgU0lfU0tJTExEQU1BR0VfTVNHOiAgc3RyaW5nIEFuZ3JpZmZzbWVsZHVuZ3NlbmRlIGFuIFJhdW0sCisgICAgICAgIFNJX1NLSUxMREFNQUdFX01TRzI6IHN0cmluZyBBbmdyaWZmc21lbGR1bmdzZW5kZSBhbiBLYWVtcGZlbmRlLAorICAgICAgICBTSV9TS0lMTERBTUFHRTogICAgICBpbnQgU2NoYWRlbiBpbiBaZWhudGVsIEhQIChTa2lsbHMgYmlzIGF1ZiBSYXNzZQorCQkJICAgICBkcmluISkJCQkJKC0+IERlZmVuZCksCisgICAgICAgIFNJX1NLSUxMREFNQUdFX1RZUEU6IHN0cmluZy9zdHJpbmcqIFNjaGFkZW5zdHlwZW4sCSgtPiBEZWZlbmQpCisgICAgICAgIFBfV0VBUE9OX1RZUEU6ICAgICAgIHN0cmluZyBXYWZmZW50eXAgKGNvbWJhdC5oKSwKKyAgICAgICAgUF9XQzoJCSAgICAgLSBvZGVyIGludCBXQyBkZXIgV2FmZmUvSGFuZCwKKyAgICAgICAgUF9OUl9IQU5EUzoJICAgICAtIG9kZXIgaW50IEhhbmRzIGRlciBXYWZmZS9IYW5kLAorICAgICBdKTsKKworICAgICBHaWJ0IGRpZSBNZXRob2RlOgorICAgICAtIDAgb2RlciBrZWluIE1hcHBpbmcgenVydWVjaywgZnVlaHJ0IGRhcyB6dW0gQWJicnVjaCBkZXIgQXR0YWNrZQorICAgICAgIC0+IGRhIGluendpc2NoZW4gV2FmZmVuIGFiZ2VmcmFndCB3dXJkZW4sIGtvZW5uZW4gc2Nob24gTWVsZHVuZ2VuCisgICAgICAgICAgdm9uIGRpZXNlbiBhdXNnZWdlYmVuIHdvcmRlbiBzZWluCisgICAgIC0gZWluIGxlZXJlcyBNYXBwaW5nICggKFtdKSApIHp1cnVlY2ssIGZ1ZWhydCBkYXMgenUga2VpbmVyIE1vZGlmaWthdGlvbgorICAgICAtIGVpbiBNYXBwaW5nIG1pdCB2ZXJhZW5kZXJ0ZW4gV2VydGVuIHp1cnVlY2ssIHdlcmRlbiBkaWVzZSBpbiBkYXMKKyAgICAgICBBbmdyaWZmc21hcHBpbmcga29waWVydAorICAgICAgIERpZSBnZWFlbmRlcnRlbiBXZXJ0ZSB3ZXJkZW4gdGVpbHdlaXNlIHZvbiBTa2lsbFJlc1RyYW5zZmVyKCkgaW4KKyAgICAgICBkZW4gZWlnZW50bGljaGVuIEFuZ3JpZmYgdWViZXJub21tZW4uCisKK0JFTUVSS1VOR0VOOgorICAgICAtIGZhbGxzIGRpZSBaZWl0IGFiZ2VsYXVmZW4gb2RlciBkYXMgT2JqZWt0IHplcnN0b2VydCBpc3QsIHdpcmQgZGllCisgICAgICAgUHJvcGVydHkgYXVmIDAgZ2VzZXR6dAorICAgICAtIHZvciBkZW0gU2V0emVuIGltbWVyIGF1ZiBkaWUgRXhpc3RlbnogZWluZXMgZ3VlbHRpZ2VuIE1vZGlmaWVycworICAgICAgIHBydWVmZW4sIGVpbmZhY2hlcyBVZWJlcnNjaHJlaWJlbiBmdWVocnQgZWluZXJzZWl0cyB6dSBGZWhsZXJuCisgICAgICAgaW0gQ29kZSBhbmRlcmVyIHVuZCBpc3QgYW5kZXJlcnNlaXRzIHVuZmFpciBnZWdlbnVlYmVyIGlobmVuCisKK0JFSVNQSUVMRToKKyAgICAgKioqIGVpbiBiZXNvbmRlciBoZWlzc2VyIFNlZ2VuIG1vZGlmaXppZXJ0IGRpZSBBdHRhY2tlbiBkZXMgU3BpZWxlcnMgKioqCisgICAgIGludCBhY3Rpb25fc2VnZW4oKSB7CisgICAgICAgLi4uCisgICAgICAgbWl4ZWQgKnRtcDsKKworICAgICAgIC8vIHBydWVmZW4sIG9iIG5pY2h0IGVpbiBhbmRlcmVyIE1vZGlmaWVyIGV4aXN0aWVydAorICAgICAgIGlmKCFwb2ludGVycCh0bXA9VFAtPlF1ZXJ5UHJvcChQX1RNUF9BVFRBQ0tfTU9EKSkgfHwKKyAgICAgICAgICBzaXplb2YodG1wKTwzIHx8IHRtcFswXTw9dGltZSgpKSB7CisKKyAgICAgICAgIG9iamVjdCB3aWVsZDsKKyAgICAgICAgIHdpZWxkPVRQLT5RdWVyeVByb3AoUF9XRUFQT04pOworCisgICAgICAgICB3cml0ZShicmVha19zdHJpbmcoCisgICAgICAgICAgICJEZXIgUHJpZXN0ZXIgZGVyIEZsYW1tZSB3ZWlodCAiKworICAgICAgICAgICAod2llbGQ/d2llbGQtPm5hbWUoV0VOLDEpOiJkZWluZSBIYWVuZGUiKSsiLiIsIDc4KSk7CisKKyAgICAgICAgIC8vIHNldHplbiBkZXMgTW9kaWZpZXJzIC4uIDMwLTQwIFNla3VuZGVuIGd1ZWx0aWcKKyAgICAgICAgIFRQLT5TZXRQcm9wKFBfVE1QX0FUVEFDS19NT0QsCisJICAgICAgICAgICAgICAoe3RpbWUoKSszMCtyYW5kb20oMTApLCB0aGlzX29iamVjdCgpLCAibW9kZnVuIn0pKTsKKyAgICAgICAgfSBlbHNlIC4uLgorICAgICAgICAuLi4KKyAgICAgIHJldHVybiAxOworICAgICB9CisKKyAgICAgLy8gZGllIGVpZ2VudGxpY2ggTWV0aG9kZSwgZGllIHdhZWhyZW5kIGRlcyBBbmdyaWZmcyBnZXJ1ZmVuIHdpcmQKKyAgICAgbWFwcGluZyBtb2RmdW4obWFwcGluZyBhaW5mbykgeworICAgICAgIG1hcHBpbmcgcmV0OworCisgICAgICAgLy8gUmV0dXJud2VydCBpc3QgaW1tZXIgZWluIE1hcHBpbmcsIGRhbWl0IGRpZSBBdHRhY2tlIHdlaXRlcmdlaHQKKyAgICAgICByZXQ9bV9hbGxvY2F0ZSgwLDEpOworCisgICAgICAgLy8gbWFnaXNjaGUgV2FmZmVuIG9kZXIgU3BydWVjaGUgd2VyZGVuIG5pY2h0IHZlcmJlc3NlcnQKKyAgICAgICBpZihhaW5mb1tQX1dFQVBPTl9UWVBFXSE9V1RfTUFHSUMpIHsKKyAgICAgICAgIC8vIHNvbnN0IFZlcmJlc3NlcnVuZ2VuIC4uLiBGZXVlciBhZGRpZXJlbiAuLi4KKyAgICAgICAgIHJldFtTSV9TS0lMTERBTUFHRV9UWVBFXT0oYWluZm9bU0lfU0tJTExEQU1BR0VfVFlQRV18fCh7fSkpKworCQkJCSh7RFRfRklSRX0pOworCSAvLyAuLi4gdW5kIGJlaSBXYWZmZSBNZWxkdW5nZW4gYW5wYXNzZW4KKyAgICAgICAgIGlmKGFpbmZvW1BfV0VBUE9OXSkgeworICAgICAgICAgICByZXRbU0lfU0tJTExEQU1BR0VfTVNHXT0KKyAgICAgICAgICAgICAiIG1pdCBzZW5nZW5kZW0gIithaW5mb1tQX1dFQVBPTl0tPm5hbWUoUkFXKTsKKyAgICAgICAgICAgcmV0W1NJX1NLSUxMREFNQUdFX01TRzJdPQorICAgICAgICAgICAgICIgbWl0IHNlbmdlbmRlbSAiK2FpbmZvW1BfV0VBUE9OXS0+bmFtZShSQVcpOworICAgICAgICAgfQorICAgICAgIH0KKworICAgICAgIHJldHVybiByZXQ7CisgICAgIH0KKworU0lFSEUgQVVDSDoKKyAgICAgQW5ncmlmZjoJQXR0YWNrKEwpCisgICAgIFNjaHV0ejogICAgRGVmZW5kKEwpCisgICAgIFZlcndhbmR0OiAgSW50ZXJuYWxNb2RpZnlBdHRhY2soTCkKKwkJUF9UTVBfQVRUQUNLX0hPT0sKKwkJUF9UTVBfREVGRU5EX0hPT0sKKyAgICAgU29uc3RpZ2VzOiBTa2lsbFJlc1RyYW5zZmVyKEwpCisgICAgIEhvb2tzOglQX1RNUF9ESUVfSE9PSywgUF9UTVBfTU9WRV9IT09LCisKKzEwLkZlYiAyMDA1IEdsb2luc29uCmRpZmYgLS1naXQgYS9kb2MvcHJvcHMvb2Jzb2xldGUvUF9UTVBfREVGRU5EX0hPT0sgYi9kb2MvcHJvcHMvb2Jzb2xldGUvUF9UTVBfREVGRU5EX0hPT0sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg2ZTYzYQotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RNUF9ERUZFTkRfSE9PSwpAQCAtMCwwICsxLDExMCBAQAorKioqKioqKioqKioqKioqKioqKioqIFZFUkFMVEVURSBQUk9QRVJUWSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRGllc2UgUHJvcGVydHkgaXN0IHZlcmFsdGV0LiBCaXR0ZSBuaWNodCBtZWhyIGluIG5ldWVtIENvZGUgbnV0emVuLiAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorUF9UTVBfREVGRU5EX0hPT0sKKworTkFNRToKKyAgICAgUF9UTVBfREVGRU5EX0hPT0sgICAgICAgICAgICAgImRlZmVuZF9ob29rIgorCitERUZJTklFUlQgSU46CisgICAgIC9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICAgTWl0dGVscyBkaWVzZXIgUHJvcGVydHkga29lbm5lbiBkaWUgQWJ3ZWhyZW4gZWluZXMgTGl2aW5ncyB0ZW1wb3JhZXIKKyAgICAgdmVyYWVuZGVydCB3ZXJkZW4uCisKKyAgICAgRXMgd2lyZCBhbiBkZW0gTGl2aW5nIGRpZSBQcm9wZXJ0eSBhbHMgbWluZGVzdGVucyAzLWVsZW1lbnRpZ2VzIEFycmF5CisgICAgICh7emVpdHB1bmt0LCBvYmpla3QsIG1ldGhvZGUsIC4uLn0pCisgICAgIGdlc2V0enQgdW5kIGRpZSBNZXRob2RlICdtZXRob2RlJyB3aXJkIGRhbm4gd2FlaHJlbmQgZGVzIERlZmVuZCgpIGRlcworICAgICBMZWJld2VzZW5zIGluICdvYmpla3QnIGF1ZmdlcnVmZW4sIHNvbGFuZ2UgdGltZSgpPCd6ZWl0cHVua3QnLgorCisgICAgIERlciBNZXRob2RlIHdlcmRlbiBkaWUgUGFyYW1ldGVyIGRlciBEZWZlbmQoKSB1ZWJlcmdlYmVuOgorICAgICBpbnQgZGFtLCBtaXhlZCBkYW1fdHlwZSwgbWl4ZWQgc3BlbGwsIG9iamVjdCBlbmVteQorICAgICAtIHNwZWxsIGlzdCBkZWZpbml0aXYgZWluIE1hcHBpbmcgLSBlaW4gYW4gRGVmZW5kKCkgdWViZXJnZWJlbmVyCisgICAgICAgaW50LVdlcnQgd3VyZGUgYWVxdWl2YWxlbnQgdW1nZXNldHp0LgorICAgICAtIGRhbV90eXBlIGlzdCBkZWZpbml0aXYgZWluIEFycmF5IHZvbiBTY2hhZGVuc3dlcnRlbiBvZGVyIGVpbmVtIFdlcnQKKworICAgICBadWRlbSBmaW5kZXQgZGVyIEF1ZnJ1ZiBkZXIgTWV0aG9kZSBuYWNoIGRlbSBBYmFyYmVpdGVuIGRlciBQX0RFRkVOREVSUworICAgICBzdGF0dCwgZGllc2Uga29lbm5lbiBhbHNvIHdlaXRlcmUgTW9kaWZpa2F0aW9uZW4gdm9yZ2Vub21tZW4gaGFiZW4uCisKKyAgICAgR2lidCBkaWUgRnVua3Rpb246CisgICAgIC0gMCB6dXJ1ZWNrLCB3aXJkIERlZmVuZCgpIGFiZ2Vicm9jaGVuICh1bmQgZGFtaXQgZGVyIFNjaGFkZW4gdm9lbGxpZworICAgICAgIGFiZ2VmYW5nZW4pIC0gbnVyIG5vY2ggZGllIEZsdWNodCB3aXJkIGdlcHJ1ZWZ0CisgICAgIC0gZWluIDMtZWxlbWVudGlnZXMgQXJyYXkgKHtzY2hhZGVuLCBzY2hhZGVuc3R5cGVuLCBzcGVsbH0pIHp1cnVlY2ssCisgICAgICAgd2VyZGVuIGRpZXNlIFdlcnRlIGluIGRlciBEZWZlbmQoKSBhbiBTdGVsbGUgZGVyIHVlYmVyZ2ViZW5lbiBXZXJ0ZQorICAgICAgIHZlcndlbmRldAorICAgICAtIHdlZGVyIG5vY2ggenVydWVjaywgd2lyZCBkYXMgRXJnZWJuaXMgaWdub3JpZXJ0IHVuZCBkaWUgRGVmZW5kIGxhZXVmdAorICAgICAgIHJlZ3VsYWVyIHdlaXRlcgorCitCRU1FUktVTkdFTjoKKyAgICAgLSBCaXR0ZSBkYXMgbmV1ZXJlIEhvb2tzeXN0ZW0gKHMuIE1hbnBhZ2Ugc3RkL2hvb2tzKSBiZW51dHplbi4KKyAgICAgLSBmYWxscyBkaWUgWmVpdCBhYmdlbGF1ZmVuIG9kZXIgZGFzIE9iamVrdCB6ZXJzdG9lcnQgaXN0LCB3aXJkIGRpZQorICAgICAgIFByb3BlcnR5IGF1ZiAwIGdlc2V0enQKKyAgICAgLSB2b3IgZGVtIFNldHplbiBpbW1lciBhdWYgZGllIEV4aXN0ZW56IGVpbmVzIGd1ZWx0aWdlbiBIb29rcworICAgICAgIHBydWVmZW4sIGVpbmZhY2hlcyBVZWJlcnNjaHJlaWJlbiBmdWVocnQgZWluZXJzZWl0cyB6dSBGZWhsZXJuCisgICAgICAgaW0gQ29kZSBhbmRlcmVyIHVuZCBpc3QgYW5kZXJlcnNlaXRzIHVuZmFpciBnZWdlbnVlYmVyIGlobmVuCisKK0JFSVNQSUVMOgorICAgICAqKiogZWluIGdydWVuZXIgU2NodXR6emF1YmVyICoqKgorICAgICAvLyBTZXR6ZW4gZGVyIFByb3AKKyAgICAgLi4uCisgICAgIHRtcD1UUC0+UXVlcnlQcm9wKFBfVE1QX0RFRkVORF9IT09LKTsKKworICAgICAvLyBlaW4gZXR3YXMgYXVzZnVlaHJsaWNoZXIgQ2hlY2ssIG9iIHdpciB1ZWJlcnNjaHJlaWJlbiBrb2VubmVuLAorICAgICAvLyBFeGlzdGVueiAmJiBHdWVsdGlna2VpdAorICAgICBpZihwb2ludGVycCh0bXApICYmIHNpemVvZih0bXApICYmIGludHAodG1wWzBdKSAmJiAodGltZSgpPHRtcFswXSkpCisgICAgICB3cml0ZSgiRGVyIFphdWJlciBrbGFwcHQgbmljaHQhXG4iKTsKKyAgICAgZWxzZSB7CisgICAgICAvLyBkZXIgWmF1YmVyIGdpbHQgZWluZSBTdHVuZGUKKyAgICAgIFRQLT5TZXRQcm9wKFBfVE1QX0RFRkVORF9IT09LLCh7dGltZSgpKzM2MDAsVE8sImFid2VocmZ1biIpOworICAgICAgd3JpdGUoIkVpbiBaYXViZXIgbGVndCBzaWNoIGF1ZiBkaWNoLlxuIik7CisgICAgIH0KKyAgICAgLi4uCisKKyAgICAgLy8gZGllIGdlcnVmZW5lIE1ldGhvZGUKKyAgICAgbWl4ZWQgYWJ3ZWhyZnVuKGludCBkYW0sIHN0cmluZyogZGFtX3R5cGUsIG1hcHBpbmcgc3BlbGwsIG9iamVjdCBlbikgeworICAgICAgLy8ga2VpbmUgcmVrdXJzaXZlbiBTY2hhZWRlbiBhYmZhbmdlbiAuLi4gbWluZGVzdGVucyBlaW4gbWFnaXNjaGVyCisgICAgICAvLyBtdXNzIGF1Y2ggZGFiZWkgc2VpbgorICAgICAgaWYoKCFtYXBwaW5ncChzcGVsbCkgfHwgIXNwZWxsW1NQX1JFQ1VSU0lWRV0pICYmCisgICAgICAgICBzaXplb2YoZmlsdGVyKGRhbV90eXBlLE1BR0lDQUxfREFNQUdFX1RZUEVTKSkpIHsKKworICAgICAgIC8vIG1pdCAxMCUgV2hrZWl0IHNjaHVldHp0IGRlciBaYXViZXIgdG90YWwKKyAgICAgICBpZighcmFuZG9tKDEwKSkgeworICAgICAgICB0ZWxsX29iamVjdChwcmV2aW91c19vYmplY3QoKSwKKyAgICAgICAgICAiRGVpbiBaYXViZXIgZ2xlaXNzdCBydW5kIHVtIGRpY2ggZ3J1ZW4gYXVmLlxuIik7CisgICAgICAgIHRlbGxfcm9vbShlbnZpcm9ubWVudChwcmV2aW91c19vYmplY3QoKSksIGJyZWFrX3N0cmluZygKKyAgICAgICAgICBwcmV2aW91c19vYmplY3QoKS0+TmFtZShXRVNTRU4pKyIgSGF1dCBnbGVpc3N0IHJ1bmQgdW0gIisKKyAgICAgICAgICBwcmV2aW91c19vYmplY3QoKS0+UXVlcnlQcm9ub3VuKFdFTikrIiBncnVlbiBhdWYuIiw3OCksCisgICAgICAgICAgKHtwcmV2aW91c19vYmplY3QoKX0pKTsKKworICAgICAgICAvLyBtYW5jaG1hbCBnZWh0IGRlciBaYXViZXIgZGFiZWkgZW5kZ3VlbHRpZyBrYXB1dHQKKyAgICAgICAgaWYoIXJhbmRvbSgxMCkpIHByZXZpb3VzX29iamVjdCgpLT5TZXRQcm9wKFBfVE1QX0RFRkVORF9IT09LLCAwKTsKKworICAgICAgICByZXR1cm4gMDsJCQkvLyB2b2xsZXMgQWJmYW5nZW4gZGVzIEFuZ3JpZmZzCisgICAgICAgfQorCisgICAgICAgLy8gZGVyIFphdWJlciBzY2h1ZXR6dCBhdWYgamVkZW4gRmFsbCBpbW1lciBlaW4gYmlzY2hlbgorICAgICAgIHRlbGxfb2JqZWN0KHByZXZpb3VzX29iamVjdCgpLAorICAgICAgICAgIkRlaW4gWmF1YmVyIGZsYWNrZXJ0IHJ1bmQgdW0gZGljaCBncnVlbiBhdWYuXG4iKTsKKyAgICAgICB0ZWxsX3Jvb20oZW52aXJvbm1lbnQocHJldmlvdXNfb2JqZWN0KCkpLCBicmVha19zdHJpbmcoCisgICAgICAgICBwcmV2aW91c19vYmplY3QoKS0+TmFtZShXRVNTRU4pKyIgSGF1dCBmbGFja2VydCBydW5kIHVtICIrCisgICAgICAgICBwcmV2aW91c19vYmplY3QoKS0+UXVlcnlQcm9ub3VuKFdFTikrIiBncnVlbiBhdWYuIiw3OCksCisgICAgICAgICAoe3ByZXZpb3VzX29iamVjdCgpfSkpOworICAgICAgIGRhbT0oNytyYW5kb20oMikpKmRhbS8xMDsJLy8gU2NoYWRlbiByZWR1emllcmVuCisKKyAgICAgICByZXR1cm4oKHtkYW0sIGRhbV90eXBlLCBzcGVsbH0pKTsKKyAgICAgIH0KKworICAgICAgLy8gZGVyIFphdWJlciBzY2h1ZXR6dCBkYW5uIGdhciBuaWNodCAuLi4KKyAgICAgIHJldHVybiAxOworICAgICB9CisKK1NJRUhFIEFVQ0g6CisgICAgIEFuZ3JpZmY6CUF0dGFjayhMKQorICAgICBTY2h1dHo6ICAgIERlZmVuZChMKQorICAgICBWZXJ3YW5kdDoJSW50ZXJuYWxNb2RpZnlEZWZlbmQoTCksIFBfVE1QX0FUVEFDS19NT0QKKyAgICAgSG9va3M6CVBfVE1QX0RJRV9IT09LLCBQX1RNUF9NT1ZFX0hPT0ssIFBfVE1QX0FUVEFDS19IT09LCisgICAgIG5ldWUgSG9va3M6IHN0ZC9ob29rcworCiswOC4xMi4yMDA4LCBaZXNzdHJhCisKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RNUF9ESUVfSE9PSyBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RNUF9ESUVfSE9PSwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDE4OTE3Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL29ic29sZXRlL1BfVE1QX0RJRV9IT09LCkBAIC0wLDAgKzEsNzAgQEAKKyoqKioqKioqKioqKioqKioqKioqKiBWRVJBTFRFVEUgUFJPUEVSVFkgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisqIERpZXNlIFByb3BlcnR5IGlzdCB2ZXJhbHRldC4gQml0dGUgbmljaHQgbWVociBpbiBuZXVlbSBDb2RlIG51dHplbi4gKgorKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKK1BfVE1QX0RJRV9IT09LCisKK05BTUU6CisgICAgUF9UTVBfRElFX0hPT0sgICAgICAgICAgICAgICAgImRpZV9ob29rIgorCitERUZJTklFUlQgSU46CisgICAgL3N5cy9uZXdfc2tpbGxzLmgKKworQkVTQ0hSRUlCVU5HOgorICAgICBNaXR0ZWxzIGRpZXNlciBQcm9wZXJ0eSBrYW5uIGRlciBUb2QgZWluZXMgTGl2aW5ncyBhYmdld2VuZGV0IHdlcmRlbi4KKworICAgICBFcyB3aXJkIGFuIGRlbSBMaXZpbmcgZGllIFByb3BlcnR5IGFscyBtaW5kZXN0ZW5zIDMtZWxlbWVudGlnZXMgQXJyYXkKKyAgICAgKHt6ZWl0cHVua3QsIG9iamVrdCwgbWV0aG9kZSwgLi4ufSkKKyAgICAgZ2VzZXR6dCB1bmQgZGllIE1ldGhvZGUgJ21ldGhvZGUnIHdpcmQgZGFubiB3YWVocmVuZCBkZXMgZGllKCkgZGVzCisgICAgIExlYmV3ZXNlbnMgaW4gJ29iamVrdCcgYXVmZ2VydWZlbiwgc29sYW5nZSB0aW1lKCk8J3plaXRwdW5rdCcuCisgICAgIEJlaSBHZWlzdGVybiB3aXJkIGRlciBIb29rIG5pY2h0IGdlcnVmZW4uCisKKyAgICAgRGVyIE1ldGhvZGUgd2lyZCBlaW4gaW50IHVlYmVyZ2ViZW4sIG9iIGRhcyBMaXZpbmcgT3BmZXIgdm9uIEdpZnQKKyAgICAgKFBfUE9JU09OKSB3YXIuCisKKyAgICAgR2lidCBkaWUgRnVua3Rpb24gZWluZW4gV2VydCAhPSAwIHp1cnVlY2ssIHdpcmQgZGllKCkgc29mb3J0IGFiZ2Vicm9jaGVuCisgICAgIHVuZCBkYXMgTGl2aW5nIHN0aXJidCBuaWNodC4KKworQkVNRVJLVU5HRU46CisgICAgLSBCaXR0ZSBkYXMgbmV1ZXJlIEhvb2tzeXN0ZW0gKHMuIE1hbnBhZ2Ugc3RkL2hvb2tzKSBiZW51dHplbi4KKyAgICAtIGZhbGxzIGRpZSBaZWl0IGFiZ2VsYXVmZW4gb2RlciBkYXMgT2JqZWt0IHplcnN0b2VydCBpc3QsIHdpcmQgZGllCisgICAgICBQcm9wZXJ0eSBhdWYgMCBnZXNldHp0CisgICAgLSB2b3IgZGVtIFNldHplbiBpbW1lciBhdWYgZGllIEV4aXN0ZW56IGVpbmVzIGd1ZWx0aWdlbiBIb29rcworICAgICAgcHJ1ZWZlbiwgZWluZmFjaGVzIFVlYmVyc2NocmVpYmVuIGZ1ZWhydCBlaW5lcnNlaXRzIHp1IEZlaGxlcm4KKyAgICAgIGltIENvZGUgYW5kZXJlciB1bmQgaXN0IGFuZGVyZXJzZWl0cyB1bmZhaXIgZ2VnZW51ZWJlciBpaG5lbgorCitCRUlTUElFTEU6CisgICAgICoqKiBlaW4gYmVzb25kZXJlciBHaWZ0c2NodXR6IC4uIHdpcmt0IGJlaW0gVG9kICoqKgorICAgICAvLyBwcnVlZmVuLCBvYiBuaWNodCBlaW4gYW5kZXJlciBNb2RpZmllciBleGlzdGllcnQKKyAgICAgaWYoIXBvaW50ZXJwKHRtcD1UUC0+UXVlcnlQcm9wKFBfVE1QX0RJRV9IT09LKSkgfHwKKyAgICAgICAgc2l6ZW9mKHRtcCk8MyB8fCB0bXBbMF08PXRpbWUoKSkgeworICAgICAgIFRQLT5TZXRQcm9wKFBfVE1QX0RJRV9IT09LLAorCSAgICAgICAgICAgKHt0aW1lKCkrMTIwK3JhbmRvbSgxMCksIHRoaXNfb2JqZWN0KCksICJwcmV2ZW50X2RpZSJ9KSk7CisKKyAgICAgLy8gZGllIGdlcnVmZW5lIE1ldGhvZGUKKyAgICAgaW50IHByZXZlbnRfZGllKGludCBwb2lzb24pIHsKKyAgICAgICBpbnQgcmV0OworCisgICAgICAgaWYocG9pc29uKSB7CisgICAgICAgICB0ZWxsX29iamVjdChwcmV2aW91c19vYmplY3QoKSwKKyAgICAgICAgICAgIkVpbiBaYXViZXIgcmVpbmlndCBpbSBNb21lbnQgZGVzIFRvZGVzIGRlaW4gQmx1dCFcbiIpOworICAgICAgICAgdGVsbF9vYmplY3QoZW52aXJvbm1lbnQocHJldmlvdXNfb2JqZWN0KCkpLAorICAgICAgICAgICBwcmV2aW91c19vYmplY3QoKS0+TmFtZShXRVIsMSkrIiB3aXJkIHZvbiBMaWNodGVybiB1bWh1ZWxsdC5cbiIsCisgICAgICAgICAgICh7cHJldmlvdXNfb2JqZWN0KCl9KSk7CisKKyAgICAgICAgIHJldD0xOworICAgICAgIH0KKworICAgICAgIC8vIHdpciBoZWxmZW4gbnVyIGVpbm1hbCAuLi4gdW5kIGVpbiBUb2QgdmVybmljaHRldCBkaWUgSGlsZmUgYXVjaAorICAgICAgIHByZXZpb3VzX29iamVjdCgpLT5TZXRQcm9wKFBfVE1QX0RJRV9IT09LLCAwKTsKKworICAgICAgIHJldHVybiByZXQ7CisgICAgIH0KKworU0lFSEUgQVVDSDoKKyAgICAgVG9kOglkaWUoTCkKKyAgICAgU29uc3RpZ2VzOiBQX1BPSVNPTiwgUF9LSUxMUywgUF9HSE9TVAorICAgICBIb29rczoJUF9UTVBfTU9WRV9IT09LLCBQX1RNUF9BVFRBQ0tfSE9PSywgUF9UTVBfREVGRU5EX0hPT0sKKyAgICAgbmV1ZSBIb29rczogc3RkL2hvb2tzCisKKzA4LjEyLjIwMDgsIFplc3N0cmEKKwpkaWZmIC0tZ2l0IGEvZG9jL3Byb3BzL29ic29sZXRlL1BfVE1QX01PVkVfSE9PSyBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RNUF9NT1ZFX0hPT0sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI4YTA2NwotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9vYnNvbGV0ZS9QX1RNUF9NT1ZFX0hPT0sKQEAgLTAsMCArMSw0MiBAQAorKioqKioqKioqKioqKioqKioqKioqIFZFUkFMVEVURSBQUk9QRVJUWSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioKKyogRGllc2UgUHJvcGVydHkgaXN0IHZlcmFsdGV0LiBCaXR0ZSBuaWNodCBtZWhyIGluIG5ldWVtIENvZGUgbnV0emVuLiAqCisqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgorTkFNRToKKyAgICBQX1RNUF9NT1ZFX0hPT0sgICAgICAgICAgICAgIm1vdmVfaG9vayIKKworREVGSU5JRVJUIElOOgorICAgIC9zeXMvbmV3X3NraWxscy5oCisKK0JFU0NIUkVJQlVORzoKKyAgICBNaW5kZXN0ZW5zIDMtZWxlbWVudGlnZXMgQXJyYXkgKHt6ZWl0cHVua3QsIG9iamVrdCwgZnVua3Rpb24sIC4uLn0pLgorICAgIERpZSBGdW5rdGlvbiB3aXJkIGltICdvYmpla3QnIG1pdCBkZW4gZ2xlaWNoZW4gUGFyYW1ldGVybiB3aWUgbW92ZSgpCisgICAgbmFjaCBkZXIgQWJmcmFnZSBhdWYgUF9OT19UUE9SVCBhdWZnZXJ1ZmVuLCB3ZW5uIGRlciAnemVpdHB1bmt0JworICAgIG5vY2ggbmljaHQgdWViZXJzY2hyaXR0ZW4gaXN0LiBXZW5uIGRpZSBGdW5rdGlvbiBldHdhcyBhbmRlcmVzIGFscyBlaW4KKyAgICA1LWVsZW1lbnRpZ2VzIEFycmF5ICh7ZGVzdCwgbWV0aG9kcywgZGlyZWN0aW9uLCB0ZXh0b3V0LCB0ZXh0aW59KQorICAgIG9kZXIgLTEgenVydWVja2dpYnQsIHdpcmQgbW92ZSgpIG5vcm1hbCBhdXNnZWZ1ZWhydCwgYW5zb25zdGVuIHdlcmRlbiBkaWUKKyAgICA1IG1vdmUtUGFyYW1ldGVyIGR1cmNoIGRpZSBBcnJheS1FaW50cmFlZ2UgZXJzZXR6dCBiencuIHdpcmQgYmVpIGVpbmVtCisgICAgUnVlY2tnYWJld2VydCB2b24gLTEgZGFzIG1vdmUoKSBhYmdlYnJvY2hlbi4gSW4gbGV0enRlcmVtIEZhbGwgaXN0CisgICAgZGllIEZ1bmt0aW9uIGRhZnVlciB2ZXJhbnR3b3J0bGljaCwgZWluZSBlbnRzcHIuIE1lbGR1bmcgYW4gZGVuCisgICAgU3BpZWxlciBhdXN6dWdlYmVuIQorCitISU5XRUlTOgorICAgIEZhbGxzIG1hbiBlaW5lbSBTcGllbGVyIGVpbmVuIE1vdmUtSG9vayBzZXR6dCwgaXN0IGVzIHJhdHNhbSwgaW0KKyAgICBNb3ZlLUhvb2sgenUgcHJ1ZWZlbiwgb2IgZGFzIFNwaWVsZXJvYmpla3QgbmFjaCBBYmFyYmVpdHVuZyBkZXIgSG9vay0KKyAgICBGdW5rdGlvbiBub2NoIGxlYnQuIEFuc29uc3RlbiB3aXJkIGVpbiBkb3BwZWx0ZXMgbW92ZSgpIGF1c2dlZnVlaHJ0OgorICAgIGluIGRlbiBUb2Rlc3JhdW0gdW5kIGRpcmVrdCB3aWVkZXIgenVydWVjayB6dXIgTGVpY2hlLgorCitCRU1FUktVTkdFTjoKKyAgICAgLSBCaXR0ZSBkYXMgbmV1ZXJlIEhvb2tzeXN0ZW0gKHMuIE1hbnBhZ2Ugc3RkL2hvb2tzKSBiZW51dHplbi4KKyAgICAgLSBmYWxscyBkaWUgWmVpdCBhYmdlbGF1ZmVuIG9kZXIgZGFzIE9iamVrdCB6ZXJzdG9lcnQgaXN0LCB3aXJkIGRpZQorICAgICAgIFByb3BlcnR5IGF1ZiAwIGdlc2V0enQKKyAgICAgLSB2b3IgZGVtIFNldHplbiBpbW1lciBhdWYgZGllIEV4aXN0ZW56IGVpbmVzIGd1ZWx0aWdlbiBIb29rcworICAgICAgIHBydWVmZW4sIGVpbmZhY2hlcyBVZWJlcnNjaHJlaWJlbiBmdWVocnQgZWluZXJzZWl0cyB6dSBGZWhsZXJuCisgICAgICAgaW0gQ29kZSBhbmRlcmVyIHVuZCBpc3QgYW5kZXJlcnNlaXRzIHVuZmFpciBnZWdlbnVlYmVyIGlobmVuCisKK1NJRUhFIEFVQ0g6CisgICAgIEJld2VndW5nOgltb3ZlKEwpLCBOb3RpZnlNb3ZlKCksIFByZXZlbnRNb3ZlKCkKKyAgICAgSG9va3M6CVBfVE1QX0RJRV9IT09LLCBQX1RNUF9ERUZFTkRfSE9PSywgUF9UTVBfQVRUQUNLX0hPT0sKKyAgICAgbmV1ZSBIb29rczogc3RkL2hvb2tzCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKzA4LjEyLjIwMDgsIFplc3N0cmEKZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9za2lsbF9pbmZvX2xpc3RlIGIvZG9jL3Byb3BzL3NraWxsX2luZm9fbGlzdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDExZjYxNgotLS0gL2Rldi9udWxsCisrKyBiL2RvYy9wcm9wcy9za2lsbF9pbmZvX2xpc3RlCkBAIC0wLDAgKzEsMzE1IEBACitTSV8qCitERUZJTklFUlQgSU46CisgICAgL3N5cy9uZXdza2lsbHMuaAorCitCRVNDSFJFSUJVTkc6CisgICAgRGllIGZvbGdlbmRlIExpc3RlIGRlciBTSS1UeXBlbiBpc3QgZ3JvYiBuYWNoIEd1ZWx0aWdrZWl0IGZ1ZXIgU2tpbGxzCisgICAgdW5kIFNwZWxscyBzb3J0aWVydC4KKyAgICAKKyAgICBBbndlbmR1bmdzb3J0ZSBkZXIgU0lfLVdlcnRlIHNpbmQ6CisgICAgLSAvc3RkL2xpdmluZy9jb21iYXQgdW5kIHZvbiBkb3J0IGdlcnVmZW5lIFNraWxscyAoS2FtcGYpCisgICAgLSAvc3RkL2dpbGRlbl9vYiB1bmQgaW4gR2lsZGVuIGxlcm5iYXJlIFNwZWxscy9Ta2lsbHMKKyAgICAtIC9zdGQvc3BlbGxib29rIHVuZCB2b24gU3BlbGxib29rcyBhdXNnZWZ1ZWhydGUgU3BlbGxzCisgICAgLSAvc3RkL2xpdmluZy9saWZlIHVuZCB2b24gZG9ydCBnZXJ1ZmVuZSBTa2lsbHMgKEFsa29ob2wpCisgICAgLSAvc3RkL3NoZWxscy8qIHVuZCBlbnRzcHJlY2hlbmRlIFJhc3NlbnNraWxscworCisgICAgSW0gU2tpbGxzeXN0ZW0gdW50ZXIgL3N0ZC9saXZpbmcvc2tpbGxzIHdpcmQgdm9yIGF1ZiBJbmZvcm1hdGlvbmVuCisgICAgYXVzIGRlbSBUZWlsICMxIFJ1ZWNrc2ljaHQgZ2Vub21tZW4uIEVpbmlnZSBkaWVzZXIgV2VydGUKKyAgICB3ZXJkZW4gYXVjaCBwZXJtYW5lbnQgaW0gU3BpZWxlciBnZXNwZWljaGVydCAod2llIHpCIGRpZQorICAgIFNJX1NLSUxMQUJJTElUWSkuCisKK0FLVFVFTExFIExJU1RFOiAoNS4gT2t0b2JlciAyMDExKQorICMxIFNraWxscyB1bmQgU3BlbGxzOgorICAgIFNJX1NLSUxMRlVOQzogc3RyaW5nCisgICAgIEJlaW5oYWx0ZXQgZGVuIE5hbWVuIGRlciBNZXRob2RlLCBkaWUgZGllIGVpZ2VudGxpY2hlIEZ1bmt0aW9uYWxpdGFldAorICAgICBkZXMgU2tpbGxzL1NwZWxscyBpbXBsZW1lbnRpZXJ0LgorICAgICBGYWxscyBuaWNodCBhbmdlZ2ViZW4sIHdpcmQgYmVpIFNwZWxscyBkdXJjaCBVc2VTcGVsbCgpIGRhcyBWZXJiLCBkYXMKKyAgICAgZGVyIFNwaWVsZXIgZWluZ2VnZWJlbiBoYXQsIGFscyBTcGVsbC1NZXRob2Rlbm5hbWUgYW5nZW5vbW1lbi4KKyAgICAgSW0gR2lsZGVub2JqZWt0IGthbm4gaGllciBhYndlaWNoZW5kIHZvbiBTcGVsbC1OYW1lbiBzdGVoZW4sIHdpZSBkaWUKKyAgICAgU3BlbGxmdW5rdGlvbiBpbSBTcGVsbGJvb2sgaGVpc3N0LgorCisgICAgU0lfQ0xPU1VSRTogY2xvc3VyZQorICAgICBPcHRpbWllcnQgZGVuIFp1Z3JpZmYgZnVlciBkZW4gaW50ZXJuZW4gR2VicmF1Y2gsIGluZGVtIGRpZSBnZWZ1bmRlbmUKKyAgICAgU3BlbGwvU2tpbGxmdW5rdGlvbiBkYXJpbiBkaXJla3QgZ2VzcGVpY2hlcnQgd2lyZCB1bmQgc28gbGFuZ2UgZ3VlbHRpZworICAgICBpc3QsIGJpcyBkYXMvZGllIE9iamVrdChlKS9DbG9zdXJlKHMpIHplcnN0b2VydCBzaW5kLgorICAgICBLYW5uIHRoZW9yZXRpc2NoIGF1Y2ggZnVlciBleHRlcm5lIFNraWxscyBkdXJjaCAoQXV0b2xvYWQtKU9iamVrdGUKKyAgICAgYmVudXR6dCB3ZXJkZW4uCisKKyAgICBTSV9TS0lMTEFCSUxJVFk6IGludAorICAgICBGYWVoaWdrZWl0LCBkZW4gU3BlbGwvU2tpbGwgenUgYmVudXR6ZW4uIE5vcm1hbCBpc3Qgdm9uCisgICAgIC1NQVhfQUJJTElUWSBiaXMgTUFYX0FCSUxJVFkuCisKKyAgICBTSV9TS0lMTERBTUFHRV9UWVBFOiBzdHJpbmcqCisgICAgIEFydCBkZXMgU2NoYWRlbnMgZWluZXMgQW5ncmlmZnM6IHNpZWhlIFNjaGFkZW5zdHlwZW4gaW4gL3N5cy9jb21iYXQuaAorCisgICAgU0lfU0tJTExEQU1BR0VfTVNHOiBzdHJpbmcKKyAgICAgTWVsZHVuZyBhbnN0YXR0IGRlciBXYWZmZSBvZGVyIEhhZW5kZS1NZWxkdW5nLgorICAgIFNJX1NLSUxMREFNQUdFX01TRzI6IHN0cmluZworICAgICBNZWxkdW5nIGFuc3RhdHQgZGVyIFdhZmZlIG9kZXIgSGFlbmRlLU1lbGR1bmcgZnVlciBkZW4gUmF1bS4KKworICAgIFNJX0lOSEVSSVQ6IHN0cmluZworICAgICBFbnRoYWVsdCBkZW4gTmFtZW4gZGVzIFNraWxscy9TcGVsbHMsIHZvbiBkZW0gZ2VlcmJ0IHdpcmQuIERhcworICAgICBiZWRldXRldCBlaW5lcnNlaXRzLCBkYXMgTGVhcm5Ta2lsbCgpIGF1Y2ggZGllc2VuIHVlYmVyZ2VvcmRuZXRlbgorICAgICBTa2lsbCBiZWVpbmZsdXNzdCB1bmQgYW5kZXJlcnNlaXRzLCBkYXNzIGJlaSBTa2lsbHMgYXVjaCBkaWVzZXIKKyAgICAgdWViZXJnZW9yZG5ldGUgU2tpbGwgaW0gUmFobWVuIGVpbmVyIFNraWxsLUFud2VuZHVuZyBnZXJ1ZmVuIHdpcmQuCisKKyAgICBTSV9ESUZGSUNVTFRZOiBpbnQgLyBbU3BlbGxzOiBtaXhlZF0KKyAgICAgU2Nod2llcmlna2VpdCBlaW5lcyBTa2lsbHMvU3BlbGxzLiBCZWVpbmZsdXNzdCBkaWUgamV3ZWlscyBvYmVyZW4KKyAgICAgU2NocmFua2VuIGZ1ZXIgZGFzIExlcm5lbiBlaW5lcyBTa2lsbHMvU3BlbGxzIGluIEFiaGFlbmdpZ2tlaXQgCisgICAgIHZvbiBTcGllbGVybGV2ZWwuCisgICAgIFdlbm4gaW4gZWluZW0gU3BlbGwtSW5mby1NYXBwaW5nIGtlaW4gV2VydCBzdGVodCB3aXJkIGJlaSBTcGVsbHMKKyAgICAgYXV0b21hdGlzY2ggU0lfU1BFTExDT1NUIGdlbm9tbWVuLCBkZXIgV2VydCBpbSBTcGVsbC1JbmZvLU1hcHBpbmcKKyAgICAgZ2VodCBiZWltIExlcm5lbiBhYmVyIGltbWVyIHZvciBQYXJhbWV0ZXJuLgorICAgIEZBQ1RPUihTSV9ESUZGSUNVTFRZKTogaW50IC8gbWl4ZWQKKyAgICBPRkZTRVQoU0lfRElGRklDVUxUWSk6IGludCAvIG1peGVkCisgICAgIE51ciBmdWVyIFNwZWxsYm9va3MvU3BlbGxzLiBEZXIgbWl4ZWQtUGFyYW1ldGVyIGthbm4gRnVua3Rpb25lbgorICAgICBlbnRoYWx0ZW4uIFNpZWhlIHVudGVuIGJlaSBTSV9TUEVMTENPU1QuCisKKyAgICBTSV9MQVNUTElHSFQ6IGludAorICAgICBaZWl0cHVua3QsIGJpcyB3YW5uIGRlciBTdGFuZGFyZHNraWxscyBTS19OSUdIVFZJU0lPTiBkZW4gU3BpZWxlcgorICAgICBzZWhlbiBsYWVzc3QuCisKKyAgICBTSV9URVNURkxBRzogaW50CisgICAgIFdlbm4gZ2VzZXR6dCwgZGFubiBzb2xsIGRlciBTa2lsbCBuaWNodCBnZW51dHp0LCBzb25kZXJuIG51ciBnZXRlc3RldAorICAgICB3ZXJkZW4sIG9iIGVyIGVyZm9sZ3JlaWNoIHdhZXJlLiBFbnRzcHJpY2h0IGFsc28gaW4gZXR3YSBkZW0gQXVmcnVmCisgICAgIHZvbiBTcGVsbFN1Y2Nlc3MoKSBpbiBTcGVsbGJvb2tzLCB3aXJkIGFiZXIgYmVpIFVzZVNraWxsKCkgYWxzCisgICAgIFNraWxsLVBhcmFtZXRlciB1ZWJlcmdlYmVuLgorICAgICBEZXIgU2tpbGwgbXVzcyBlbnRzcHJlY2hlbmQgaW1wbGVtZW50aWVydCBzZWluIQorCisgICAgU0lfR1VJTEQ6IHN0cmluZworICAgICBBbmdhYmUgZGVyIEdpbGRlLCBhdXMgZGVyIGRlciBTa2lsbCBzdGFtbXQuIFNpbm52b2xsLCB3ZW5uIGRlciBTa2lsbAorICAgICBuaWNodCBhdXMgZGVyIGFrdHVlbGxlbiBQX0dVSUxEIHN0YW1tdC4gRnVlciBnZW5lcmVsbGUgU2tpbGxzL1NwZWxscworICAgICB6QiB3YWVyZSBkYXMgIkFOWSIuCisgICAgIEdpbHQgbmljaHQgZnVlciBTcGVsbHMhCisKKyAgICBTSV9FTkVNWTogb2JqZWN0CisgICAgIEFrdHVlbGxlcyBGZWluZGVzb2JqZWt0LCB3aXJkIGJlaSBTa2lsbC1BbndlbmR1bmcgYXVzIGRlbSBLYW1wZiBoZXJhdXMKKyAgICAgdm9uIHN0ZC9saXZpbmcvY29tYmF0LmMgYW4gZGVuIFNraWxsIHVlYmVyZ2ViZW4uCisgICAgIEJlaXNwaWVsOiBTdGFuZGFyZHdhZmZlbnNraWxscywgU0tfTUFHSUNfREVGRU5TRSwgU0tfTUFHSUNfQVRUQUNLLAorICAgICAgICAgICAgICAgU0tfVFdPSEFOREVELCBTS19TUEVMTF9ERUZFTkQsIFNLX0lORk9STV9ERUZFTkQgdW5kCisgICAgICAgICAgICAgICBTS19ERUZFTkRfT1RIRVIuCisKKyAgICBTSV9GUklFTkQ6IG9iamVjdAorICAgICBadSB2ZXJ0ZWlkaWdlbmRlcyBGcmV1bmRlc29iamVrdCwgd2lyZCBiZWkgU2tpbGwtQW53ZW5kdW5nIGF1cyBkZW0KKyAgICAgS2FtcGYgaGVyYXVzIHZvbiBzdGQvbGl2aW5nL2NvbWJhdC5jIGFuIGRlbiBTa2lsbCB1ZWJlcmdlYmVuLgorICAgICBCZWlzcGllbGU6IFNLX0lORk9STV9ERUZFTkQgdW5kIFNLX0RFRkVORF9PVEhFUi4KKworICAgIFNJX01BR0lDX1RZUEU6IHN0cmluZyoKKyAgICAgRW50aGFlbHQgZWluIEFycmF5IGRlciBNYWdpZXR5cGVuLCBkaWUgenVtIEVpbnNhdHoga29tbWVuLiBEaWUgQW5nYWJlCisgICAgIGdlc2NoaWVodCB6QiBpbSBTcGVsbGJvb2sgdW5kIGJlZWluZmx1c3N0IFNwZWxsRGVmZW5kKCkuCisKKyAgICBTSV9MQVNUX1VTRTogaW50IChldmVudHVlbGwgb2Jzb2xldCkKKyAgICAgTGV0enRlIE51dHp1bmcgZGVzIFNraWxscy4KKyAgICAKKyAgICBTSV9MRUFSTl9QUk9COiBpbnQgKGV2ZW50dWVsbCBvYnNvbGV0KQorICAgICBMZXJud2FocnNjaGVpbmxpY2hrZWl0LgorCisgICAgU0lfU0tJTExEVVJBVElPTjogaW50CisgICAgIERhdWVyIGRlcyBTa2lsbHMvU3BlbGxzLiBNb21lbnRhbiBuaWNodCBhbGx6dSB2ZXJicmVpdGV0IGluIE51dHp1bmcuCisKKyAjMiBudXIgZnVlciBTcGVsbHM6CisgICAgU0lfU1BFTExCT09LOiBzdHJpbmcKKyAgICAgS2FubiBkaXJla3QgZGFzIGVudGhhbHRlbmRlIFNwZWxsYm9vayBmdWVyIGVpbmVuIFNwZWxsIGVudGhhbHRlbi4KKworICAgIFNNX1JBQ0U6IG1hcHBpbmcKKyAgICAgIE1hcHBpbmcsIGRhcyBhbHMgS2V5IGRpZSBSYXNzZSB1bmQgYWxzIFZhbHVlIGVpbiBNYXBwaW5nIFgKKyAgICAgIGVudGhhZWx0LiBEaWVzZXMgTWFwcGluZyBYIHdpcmQgZGlyZWt0IHp1IHNpbmZvIGhpbnp1Z2VmdWVndCB1bmQKKyAgICAgIHVlYmVyc2NocmVpYnQgZGFtaXQgYmVpIEJlZGFyZiBEZWZhdWx0d2VydGUgZHVyY2ggcmFzc2Vuc3BlemlmaXNjaGUKKyAgICAgIFdlcnRlLgorCisgICAgU0lfU1BFTExDT1NUOiBpbnQgLyBtaXhlZAorICAgIEZBQ1RPUihTSV9TUEVMTENPU1QpOiBpbnQgLyBtaXhlZAorICAgIE9GRlNFVChTSV9TUEVMTENPU1QpOiBpbnQgLyBtaXhlZAorICAgICBCZWluaGFsdGV0IGRpZSBXZXJ0ZSwgZGllIGZ1ZXIgZGllIEJlcmVjaG51bmcgZGVyIFNwZWxsa29zdGVuCisgICAgIHp1c3RhZW5kaWcgc2luZC4KKyAgICAgRGFiZWkgZ2lsdDogUmVhbGtvc3RlbiA9IE9GRlNFVChDT1NUKSArIChDT1NUICogRkFDVE9SKENPU1QpKS8xMDAKKyAgICAgRGllIGVpbnplbG5lbiBFaW50cmFlZ2Uga29lbm5lbiBhbnN0YXR0IGVpbmVzIGZpeGVuIFdlcnRlcyBhdWNoIGRlbgorICAgICBWZXJ3ZWlzIGF1Y2ggZWluZSBGdW5rdGlvbiBpbiBGb3JtIHZvbiBDbG9zdXJlL01ldGhvZGVubmFtZS9BcnJheSBtaXQKKyAgICAgT2JqZWt0L09iamVrdG5hbWUgdW5kIE1ldGhvZGVubmFtZSBlbnRoYWx0ZW4uIFNpZWhlIGRhenUgYXVjaAorICAgICBleGVjdXRlX2FueXRoaW5nKCkuCisKKyAgICBTSV9USU1FX01TRzogc3RyaW5nCisgICAgIE1lbGR1bmcsIGRpZSBkZW0gU3BpZWxlciBtaXR0ZWlsdCwgZGFzcyBlciBub2NoIG5pY2h0IHdpZWRlciBlaW5lbgorICAgICBTcGVsbCBjYXN0ZW4ga2Fubi4gRmFsbHMgZGllc2VyIEVpbnRyYWcgbmljaHQgZ2VzZXR6dCBpc3QsIHdpcmQKKyAgICAgZWluIFN0YW5kYXJkdGV4dCBhdXNnZWdlYmVuLgorCisgICAgU0lfU1BfTE9XX01TRzogc3RyaW5nCisgICAgIE1lbGR1bmcsIGRpZSBkZW0gU3BpZWxlciBtaXR0ZWlsdCwgZGFzcyBlciB6dSB3ZW5pZ2UKKyAgICAgS29uemVudHJhdGlvbnNwdW5rdGUgYmVzaXR6dCwgdW0gZGVuIFNwZWxsIHp1IGNhc3Rlbi4gRmFsbHMgZGllc2VyCisgICAgIEVpbnRyYWcgbmljaHQgZ2VzZXR6dCBpc3QsIHdpcmQgZWluIFN0YW5kYXJkdGV4dCBhdXNnZWdlYmVuLgorCisgICAgU0lfUFJFUEFSRV9NU0c6IHN0cmluZworICAgICBNZWxkdW5nLCBkaWUgZGVtIFNwaWVsZXIgYXVzZ2VnZWJlbiB3ZXJkZW4gc29sbCwgd2VubiBlciBlaW5lbiBTcGVsbAorICAgICB2b3JiZXJlaXRldC4gQW5zb25zdGVuIHdpcmQgZWluIFN0YW5kYXJkdGV4dCBhdXNnZWdlYmVuLgorCisgICAgU0lfUFJFUEFSRV9CVVNZX01TRzogc3RyaW5nCisgICAgIE1lbGR1bmcsIGRpZSBkZW0gU3BpZWxlciBhdXNnZWdlYmVuIHdlcmRlbiBzb2xsLCB3ZW5uIGVyIHNjaG9uIGRpZXNlbgorICAgICBTcGVsbCB2b3JiZXJlaXRldC4gQW5zb25zdGVuIHdpcmQgZWluIFN0YW5kYXJkdGV4dCBhdXNnZWdlYmVuLgorCisgICAgU0lfUFJFUEFSRV9BQk9SVF9NU0c6IHN0cmluZworICAgICBNZWxkdW5nLCBkaWUgZGVtIFNwaWVsZXIgYXVzZ2VnZWJlbiB3ZXJkZW4gc29sbCwgd2VubiBlciBkaWUKKyAgICAgVm9yYmVyZWl0dW5nIGRpZXNlcyBTcGVsbHMgZHVyY2ggZWluZW4gYW5kZXJlbiBTcGVsbCB1bnRlcmJyaWNodC4KKyAgICAgQW5zb25zdGVuIHdpcmQgZWluIFN0YW5kYXJkdGV4dCBhdXNnZWdlYmVuLgorCisgICAgU0lfTk9NQUdJQzogaW50CisgICAgIFdlcnQgendpc2NoZW4gMCB1bmQgMTAwIChvZGVyIG1laHIpLCBkZXIgZ2VnZW4gZGllIFBfTk9NQUdJQy1XaXJrdW5nCisgICAgIGVpbmVzIFJhdW1lcyB3aXJrdC4KKyAgICAgSmUgaG9laGVyIGRlciBXZXJ0IGlzdCwgZGVzdG8gdW53YWhyc2NoZWlubGljaGVyIGlzdCBlcywgZGFzcyBlaW4KKyAgICAgUmF1bSBkZW4gU3BlbGwgZHVyY2ggQW50aW1hZ2llIHN0b2VydC4gRWluIFJhdW0gc29sbHRlIG51ciBXZXJ0ZQorICAgICB6d2lzY2hlbiAwIHVuZCAxMDAgZ2VzZXR6dCBoYWJlbi4gSXN0IGRlciBXZXJ0IGRlcyBSYXVtcyBncm9lc3NlcgorICAgICBhbHMgZGVyIGhpZXIgYW5nZWdlYmVuLCBkYW5uIGJsb2NraWVydCBlciBNYWdpZSBtaXQgZWluZXIgZ2V3aXNzZW4KKyAgICAgZWJlbiBzZWluZXIgYW5nZWdlYmVuZW4gV2FocnNjaGVpbmxpY2hrZWl0LgorCisgICAgU0lfTk9NQUdJQ19NU0c6IHN0cmluZworICAgICBNZWxkdW5nLCBkaWUgYmVpIEZlaGxzY2hsYWcgZHVyY2ggUF9OT01BR0lDIGRlcyBSYXVtZXMgYXVzZ2VnZWJlbgorICAgICB3aXJkLiBBbnNvbnN0ZW4gd2lyZCBlaW4gU3RhbmRhcmR0ZXh0IGF1c2dlZ2ViZW4uCisgICAgICAKKyAgICBTSV9TUEVMTEZBVElHVUU6IGludCAvIG1peGVkCisgICAgRkFDVE9SKFNJX1NQRUxMRkFUSUdVRSk6IGludCAvIG1peGVkCisgICAgT0ZGU0VUKFNJX1NQRUxMRkFUSUdVRSk6IGludCAvIG1peGVkCisgICAgIFdlcnRlLCBkaWUgZnVlciBkaWUgQmVyZWNobnVuZyBkZXIgV2llZGVyLUNhc3QtWmVpdCBiZW51dHp0IHdlcmRlbi4KKyAgICAgRGllIEJlcmVjaG51bmcgdW5kIGRpZSBtb2VnbGljaGVuIEFuZ2FiZW4gKENsb3N1cmUgZXRjLikgc2luZAorICAgICBpZGVudGlzY2ggenUgU0lfU1BFTExDT1NULgorICAgICBEYXMgU3BlbGxib29rIGdpYnQgYmVpIE5pY2h0LVdpZWRlci1CZXJlaXRzY2hhZnQgU0lfVElNRV9NU0cgYXVzLgorCisgICAgU0lfWF9TUEVMTEZBVElHVUU6IG1hcHBpbmcgbWl0IChbc3RyaW5nIGtleTogaW50IHZhbF0pCisgICAgIFdlcnRlLCBkaWUgZnVlciBkaWUgQmVyZWNobnVuZyBkZXIgV2llZGVyLUNhc3QtWmVpdCBiZW51dHp0IHdlcmRlbi4KKyAgICAgU3BlbGxib29rLUNhc3RlbjogTWFwcGluZyB3aXJkIGR1cmNoIEF1ZnJ1ZiB2b24gQ2hlY2tTcGVsbEZhdGlndWUoPGtleT4pCisgICAgIGFtIENhc3RlciBnZWZpbHRlcnQuIE51ciB3ZW5uIGRhcyByZXN1bHRpZXJlbmRlIE1hcHBpbmcgbGVlciBpc3QgKGtlaW4KKyAgICAgPGtleT4gaGF0IGVpbmVuIGd1ZWx0aWdlbiBGYXRpZ3VlLUVpbnRyYWcpLCBpc3QgU3BlbGwgY2FzdGJhciwgc29uc3QKKyAgICAgQXVzZ2FiZSB2b24gU0lfVElNRV9NU0cuCisgICAgIE5hY2ggU3BlbGxib29rLUNhc3RlbjogU2V0emVuIGRlciBGYXRpZ3VlIGZ1ZXIgYWxsZSA8dmFsPiA+IDAgbWl0IDxrZXk+LgorCisgICAgU0lfU0tJTExMRUFSTjogaW50IC8gbWl4ZWQKKyAgICBGQUNUT1IoU0lfU0tJTExMRUFSTik6IGludCAvIG1peGVkCisgICAgT0ZGU0VUKFNJX1NLSUxMTEVBUk4pOiBpbnQgLyBtaXhlZAorICAgICBXZXJ0ZSwgZGllIGZ1ZXIgZGllIEJlcmVjaG51bmcgZGVyIExlcm5nZXNjaHdpbmRpZ2tlaXQgYmVudXR6dAorICAgICB3ZXJkZW4sIG5vcm1hbGVyd2Vpc2UgcHJvIEFfSU5ULzIgamUgMC4wMSUgKGFsc28gMSB2b24gTUFYX0FCSUxJVFkpLgorICAgICBEaWUgQmVyZWNobnVuZyB1bmQgZGllIG1vZWdsaWNoZW4gQW5nYWJlbiAoQ2xvc3VyZSBldGMuKSBzaW5kCisgICAgIGlkZW50aXNjaCB6dSBTSV9TUEVMTENPU1QuCisKKyAgICBTSV9MRUFSTl9BVFRSSUJVVEU6IG1hcHBpbmcKKyAgICAgTWFwcGluZywgd2VsY2hlcyBkaWUgQXR0cmlidXRlLCBuYWNoIGRlbmVuIGdlbGVybnQgd2VyZGVuIHNvbGwKKyAgICAgYWxzIEtleXMgZW50aGFlbHQuIERlciBWYWx1ZSBsZWd0IGRpZSBHZXdpY2h0dW5nIGZlc3QsIGRlbm4gYmVpCisgICAgIG1laHJlcmVuIEF0dHJpYnV0ZW4gd2lyZCBlaW4gTWl0dGVsd2VydCBnZWJpbGRldC4KKyAgICAgRGVyIE5vcm1hbGZhbGwgZW50c3ByYWVjaGUgKFtBX0lOVDogMV0pIGZ1ZXIgU0lfTEVBUk5fQVRUUklCVVRFLgorCisgICAgU0lfTk9fTEVBUk4KKyAgICAgV2VubiBtYW4gKHRlbXBvcmFlciEpIG5pY2h0IHdpbGwsIGRhc3MgZGllc2VyIFNraWxsIGdlbGVybnQgd2lyZC4KKyAgICAgTXVzcyB2b24gZGVuIFNwZWxsYm9va3MgYmVhY2h0ZXQgd2VyZGVuLgorICAgICBTb2xsdGUgbmllbWFscyBpbSBTcGllbGVyIGFiZ2VzcGVpY2hlcnQgd2VyZGVuLiBPZGVyIHBlcm1hbmVudCBpbgorICAgICBHaWxkZS9TcGVsbGJvb2sgZ2VzZXR6dCBzZWluLiBTb25kZXJuIGltIExhdWZlIGVpbmVzciBOdXR6dW5nIGluIGRlcgorICAgICBqZXcuIEtvcGllIHZvbiBzaW5mbyBnZXNldHp0IHdlcmRlbiwgZGllIGdlcmFkZSBnZW51dHp0IHdpcmQuCisgICAgCisgICAgIFNJX1NLSUxMQVJHOiBzdHJpbmcKKyAgICAgQmVpbmhhbHRldCBkZW4gVGV4dCwgZGVuIGRlciBTcGllbGVyIG5hY2ggZGVtIFNwZWxsa29tbWFuZG8gZWluZ2VnZWJlbgorICAgICBoYXQuIFouQi4gc3R1ZW5kZSBiZWkgImtyYWxsZW5zY2hsYWcgb3JrIDIiIGRlciBUZXh0ICJvcmsgMiIgaW0KKyAgICAgUGFyYW1ldGVyLgorCisgICAgU0lfU0tJTExSRVNUUl9VU0U6IG1peGVkCisgICAgIEVpbnNjaHJhZW5rdW5nZW4gZnVlciBkYXMgTnV0emVuIGRlcyBTcGVsbHMuCisgICAgIFdpcmQgbm9ybWFsZXJ3ZWlzZSBkaXJla3QgaW0gU3BlbGxib29rIGZ1ZXIgZGVuIFNwZWxsIGVpbmdldHJhZ2VuLgorICAgICBEaWUgZWluemVsbmVuIE1vZWdsaWNoa2VpdGVuIHdlcmRlbiBpbiBkZXIgbWFucGFnZSB6dQorICAgICAiY2hlY2tfcmVzdHJpY3Rpb25zIiBlcmxhZXV0ZXJ0LgorICAgICAKKyAgICBTSV9TS0lMTFJFU1RSX0xFQVJOOiBtaXhlZAorICAgICBFaW5zY2hyYWVua3VuZ2VuIGZ1ZXIgZGFzIExlcm5lbiBkZXMgU3BlbGxzLgorICAgICBXaXJkIG5vcm1hbGVyd2Vpc2UgZGlyZWt0IGltIEdpbGRlbm9iamVrdCBmdWVyIGRlbiBTcGVsbAorICAgICBlaW5nZXRyYWdlbi4KKyAgICAgRGllIGVpbnplbG5lbiBNb2VnbGljaGtlaXRlbiB3ZXJkZW4gaW4gZGVyIG1hbnBhZ2UgenUKKyAgICAgImNoZWNrX3Jlc3RyaWN0aW9ucyIgZXJsYWV1dGVydC4KKworICAgIFNJX1NLSUxMSU5GTzogc3RyaW5nCisgICAgU0lfU0tJTExJTkZPX0xPTkc6IHN0cmluZworICAgICBCZXNjaHJlaWJ1bmcgZGVzIFNwZWxscy4gV2lyZCBpbSBHaWxkZW5vYmpla3QgZWluZ2V0cmFnZW4gdW5kCisgICAgIFNJX1NLSUxMSU5GTyB3aXJkIHZvbiBTa2lsbExpc3RlIGFuZ2V6ZWlndC4KKworICAgIFNJX1NLSUxMREFNQUdFOiBpbnQgLyBtaXhlZAorICAgIEZBQ1RPUihTSV9TS0lMTERBTUFHRSk6IGludCAvIG1peGVkCisgICAgT0ZGU0VUKFNJX1NLSUxMREFNQUdFKTogaW50IC8gbWl4ZWQKKyAgICAgV2VydGUsIGRpZSBmdWVyIGRpZSBTY2hhZGVuc2hvZWhlbmJlcmVjaG51bmcgZGVzIFNwZWxscyBiZW51dHp0CisgICAgIHdlcmRlbiAocmFuZG9tIHVlYmVyIGRlbiBHZXNhbXR3ZXJ0IG5vcm1hbGVyd2Vpc2UpLgorICAgICBEaWUgQmVyZWNobnVuZyB1bmQgZGllIG1vZWdsaWNoZW4gQW5nYWJlbiAoQ2xvc3VyZSBldGMuKSBzaW5kCisgICAgIGlkZW50aXNjaCB6dSBTSV9TUEVMTENPU1QuCisKKyAgICBTSV9TS0lMTERBTUFHRV9CWV9ST1cKKyAgICAgRWluIE1hcHBpbmcgbWl0IEJvbmkgZnVlciBkZW4gQW5ncmlmZiBhdXMgYmVzdGltbXRlbiBLYW1wZnJlaWhlbi4KKyAgICAgRnVua3Rpb25pZXJ0IG51ciBiZWkgVmVyd2VuZHVuZyB2b24gVHJ5RGVmYXVsdEF0dGFja1NwZWxsLVNwZWxscworICAgICBhdXMgZGVtIFNwZWxsYm9vay4KKyAgICAgRGVyIEtleSBzdGVodCBmdWVyIGVpbmUgYmVzdGltbXRlIFJlaWhlLCBzZWluIFdlcnQgZnVlciBkZW4KKyAgICAgcmFuZG9taXNpZXJ0ZW4gQm9udXMgZnVlciBMZWJld2VzZW4sIGRpZSBhdXMgZGllc2VyIFJlaWhlIGNhc3Rlbi4KKyAgICBPRkZTRVQoU0lfU0tJTExEQU1BR0VfQllfUk9XKQorICAgICBFaW4gTWFwcGluZyBtaXQgZml4ZW0gV2VydCBmdWVyIFJvdy1Cb25pIGltIEthbXBmLgorCisgICAgIEJlaXNwaWVsOiBBZGRTcGVsbCgiZmV1ZXJiYWxsIiwgMjAsCisgICAgICAgICAgICAgICAgICAgICAgICAoW1NJX1NLSUxMREFNQUdFOjUwLAorICAgICAgICAgICAgICAgICAgICAgICAgICBPRkZTRVQoU0lfU0tJTExEQU1BR0UpOjEwMCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgU0lfU0tJTExEQU1BR0VfQllfUk9XOihbMjo0MCwzOjIwfSksCisgICAgICAgICAgICAgICAgICAgICAgICAgIE9GRlNFVChTSV9TS0lMTERBTUFHRV9CWV9ST1cpOihbMjoyMF0pLCAuLi4KKyAgICAgZ2lidAorICAgICAgUmVpaGUgMTogcmFuZG9tKDUwKSsxMDA7CisgICAgICBSZWloZSAyOiByYW5kb20oNTApKzEwMCtyYW5kb20oNDApKzIwCisgICAgICBSZWloZSAzOiByYW5kb20oNTApKzEwMCtyYW5kb20oMjApCisgICAgIEFDSFRVTkc6IEhpZXIgZ2lsdCBuaWNodCBkaWUgc2VsYmUgU3RydWt0dXIgd2llIGJlaSBTSV9TUEVMTENPU1QhCisKKyAgICBTSV9TUEVMTDogbWFwcGluZworICAgICBEaWVzZXIgRWludHJhZyBlbnRoYWVsdCB2ZXJzY2hpZWRlbmUgVW50ZXJ3ZXJ0ZSwgZGllIGRlbiBTcGVsbAorICAgICBnZXJhZGUgZnVlciBBbmdyaWZmcy1TcGVsbHMgZ2VuYXVlciBiZXNjaHJlaWJlbi4gU2llaGUgRGVmZW5kKCkKKyAgICAgZnVlciBlaW5lIEJlc2NocmVpYnVuZyBkZXIgdmVyc2NoaWVkZW5lbiBFaW50cmFlZ2UgKGRpZSBzbyBhdWNoCisgICAgIGluIGRhcyBTcGVsbGJvb2sgdWViZXJub21tZW4gd2VyZGVuIGtvZW5uZW4pLgorCisgICAgU0lfQ09MTEFURVJBTF9EQU1BR0U6IGludAorICAgICBIaWVybWl0IGthbm4gbWFuIGVpbmVuIFByb3plbnR3ZXJ0IHZvbiBTSV9TS0lMTERBTUFHRSAoaW5rbHVzaXZlCisgICAgIE9mZnNldHMgdW5kIEZhY3RvcikgZnVlciBLb2xsYXRlcmFsc2NoYWRlbiBhbiBGcmV1bmRlbiBpbSBkZWZpbmllcnRlbgorICAgICBCZXJlaWNoIGVpbmVzIEZsYWVjaGVuc3BlbGxzIChUcnlHbG9iYWxBdHRhY2tTcGVsbCgpKSBhbmdlYmVuLgorICAgICAxMCBiZWRldXRldCBiZWkgT0ZGU0VUKFNJX1NLSUxMREFNQUdFKT0xMDAgekIgMTAlIHZvbiAxMDAgPSAxMCA9IDEgTFAKKyAgICAgYW4gbWl0IHJlZHVjZV9oaXRfcG9pbnRzKCkgdmVydXJzYWNodGVtIFNjaGFkZW4uCisgICAgCisgICAgU0lfTlVNQkVSX0VORU1JRVMsIFNJX05VTUJFUl9GUklFTkRTOiBpbnQKKyAgICAgV2lyZCB2b24gVHJ5R2xvYmFsQXR0YWNrU3BlbGwoKSBpbSBTcGVsbCBnZXNldHp0IHVuZCBlbnRoYWVsdCBkaWUKKyAgICAgQW56YWhsIGRlciBpbSBhbmdlZ2ViZW5lbiBCZXJlaWNoIGJlZmluZGxpY2hlbiBGZWluZGUgdW5kIEZyZXVuZGUuCisgICAgIElzdCBkZW1lbnRzcHJlY2hlbmQgdm9uIGluZm9ybWF0aXZlbSBOdXR6ZW4gZnVlciBkZW4gQW5nZWdyaWZmZW5lbgorICAgICB1bmQgZGFzIFNwZWxsYm9vayBOQUNIIEF1ZnJ1ZiB2b24gVHJ5R2xvYmFsQXR0YWNrU3BlbGwoKS4KKyAgICAKKyAgICBTSV9ESVNUQU5DRSwgU0lfV0lEVEgsIFNJX0RFUFRIOiBpbnQKKyAgICAgTGltaXRpZXJ0IGRpZSBFbnRmZXJudW5nLCBUaWVmZW4gdW5kIEJyZWl0ZSBkZXIgV2lya3VuZyBlaW5lcworICAgICBUcnlHbG9iYWxBdHRhY2tTcGVsbCgpCisKKyAgICBTSV9TS0lMTEhFQUw6IGludAorICAgICBLb252ZW50aW9uIGZ1ZXIgU3BlbGxzIGltIFNwZWxsYm9vaywgZG9ydCBkZW4gSGVpbHdlcnQgenUgaGludGVybGVnZW4sCisgICAgIGhhdCBrZWluZSBBdXN3aXJrdW5nZW4gdW50ZXIgL3N0ZC8uCisKKyAgICBTSV9VU1I6IG1peGVkCisgICAgIEZ1ZXIgc2VsYnN0IGRlZmluaWVydGUgSW5mb3MsIHNwZWxsYm9va2FiaGFlbmdpZy4KKworICAgIFNJX1BSRVBBUkVfVElNRTogaW50CisgICAgIERhdWVyIGRlciBaZWl0IGZ1ZXIgenUgcHJhZXBhcmllcmVuZGUgU3BlbGxzLgorCisgICAgU0lfQVRUQUNLX0JVU1lfTVNHOiBzdHJpbmcKKyAgICAgTWVsZHVuZywgZGllIGRlbSBTcGllbGVyIG1pdHRlaWx0LCBkYXNzIGVyIHNjaG9uIHp1IGJlc2NoYWVmdGlndAorICAgICBtaXQgZWluZW0gQW5ncmlmZiBpc3QsIHVtIGVpbmVuIFNwZWxsIHp1IGNhc3Rlbi4gRmFsbHMgZGllc2VyCisgICAgIEVpbnRyYWcgbmljaHQgZ2VzZXR6dCBpc3QsIHdpcmQgIGVpbiBTdGFuZGFyZHRleHQgYXVzZ2VnZWJlbi4KKworICAgIFNJX05PX0FUVEFDS19CVVNZOiBpbnQKKyAgICAgRW50aGFlbHQgYWxzIEZsYWcgTk9fQVRUQUNLX0JVU1lfUVVFUlkgd2VubiBkZXIgU3BlbGwgTklDSFQgd2llCisgICAgIGVpbmUgU3BlemlhbHdhZmZlIGRpZSBBa3Rpb25lbiBlaW5zY2hyYWVua3QuIFNpZWhlIFBfQVRUQUNLX0JVU1kuCisKKyAgICBTSV9BVFRBQ0tfQlVTWV9BTU9VTlQ6IGludAorICAgICBNZW5nZSBkZXMgUF9BVFRBQ0tfQlVTWSBmdWVyIGRpZXNlbiBTcGVsbC4gRmFsbHMgZGllc2VyIFdlcnQgbmljaHQKKyAgICAgZ2VzZXR6dCBpc3QsIGFiZXIgYXVjaCBTSV9OT19BVFRBQ0tfQlVTWSBuaWNodCBtaXQKKyAgICAgTk9fQVRUQUNLX0JVU1lfUVVFUlkgYXVzZ2V6ZWljaG5ldCBpc3Qgd2lyZCAxIGFuZ2Vub21tZW4uCisKK1NJRUhFIEFVQ0g6CisgICAgU2tpbGxzIExlcm5lbjogIExlYXJuU2tpbGwsIE1vZGlmeVNraWxsLCBMaW1pdEFiaWxpdHkKKyAgICAqIE51dHp1bmc6ICAgICAgVXNlU3BlbGwsIFVzZVNraWxsCisgICAgKiBBYmZyYWdlbjogICAgIFF1ZXJ5U2tpbGwsIFF1ZXJ5U2tpbGxBYmlsaXR5CisgICAgKiBNb2RpZmlrYXRpb246IE1vZGlmeVNraWxsQXR0cmlidXRlLCBRdWVyeVNraWxsQXR0cmlidXRlLAorICAgICAgICAgICAgICAgICAgICBRdWVyeVNraWxsQXR0cmlidXRlTW9kaWZpZXIsIFJlbW92ZVNraWxsQXR0cmlidXRlTW9kaWZpZXIKKyAgICAgICogUHJvcGVydGllczogUF9TS0lMTF9BVFRSSUJVVEVTLCBQX1NLSUxMX0FUVFJJQlVURV9PRkZTRVRTCisgICAgKiBzb25zdGlnOiAgICAgIHNwcnVjaGVybXVlZHVuZworICAgICogUHJvcGVydGllczogICBQX05FV1NLSUxMUworICAgIFNwZWxsYm9vazogICAgICBVc2VTcGVsbCwgTGVhcm4sIFNwZWxsU3VjY2VzcworICAgIEdpbGRlbjogICAgICAgICBnaWxkZW4tZG9rdQorICAgIEthbXBmOiAgICAgICAgICBEZWZlbmQKKworNy4gTm92IDIwMTIgR2xvaW5zb24KZGlmZiAtLWdpdCBhL2RvYy9wcm9wcy9zdm4tY29tbWl0LnRtcCBiL2RvYy9wcm9wcy9zdm4tY29tbWl0LnRtcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGZmZTc2Ci0tLSAvZGV2L251bGwKKysrIGIvZG9jL3Byb3BzL3N2bi1jb21taXQudG1wCkBAIC0wLDAgKzEsNiBAQAorCistLVRoaXMgbGluZSwgYW5kIHRob3NlIGJlbG93LCB3aWxsIGJlIGlnbm9yZWQtLQorCitNICAgIFBfRlVFTAorTSAgICBQX0xJR0hUREVTQworTSAgICBQX0RPX0RFU1RSVUNUCg==