From mboxrd@z Thu Jan 1 00:00:00 1970 From: Patchwork Subject: =?utf-8?q?=E2=9C=97_Fi=2ECI=2ECHECKPATCH=3A_warning_f?= =?utf-8?q?or_series_starting_with_=5B01/14=5D_drm=3A_Add_drm/kernel=2Eh_h?= =?utf-8?q?eader_file_=28rev3=29?= Date: Wed, 05 Sep 2018 08:09:35 -0000 Message-ID: <20180905080935.5308.56599@emeril.freedesktop.org> References: <20180903165439.24845-1-daniel.vetter@ffwll.ch> Reply-To: intel-gfx@lists.freedesktop.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180903165439.24845-1-daniel.vetter@ffwll.ch> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org PT0gU2VyaWVzIERldGFpbHMgPT0KClNlcmllczogc2VyaWVzIHN0YXJ0aW5nIHdpdGggWzAxLzE0 XSBkcm06IEFkZCBkcm0va2VybmVsLmggaGVhZGVyIGZpbGUgKHJldjMpClVSTCAgIDogaHR0cHM6 Ly9wYXRjaHdvcmsuZnJlZWRlc2t0b3Aub3JnL3Nlcmllcy80OTA4OS8KU3RhdGUgOiB3YXJuaW5n Cgo9PSBTdW1tYXJ5ID09CgokIGRpbSBjaGVja3BhdGNoIG9yaWdpbi9kcm0tdGlwCmU5NzBjZTI0 MzdkZiBkcm06IEFkZCBkcm0va2VybmVsLmggaGVhZGVyIGZpbGUKLToxMzk6IFdBUk5JTkc6RklM RV9QQVRIX0NIQU5HRVM6IGFkZGVkLCBtb3ZlZCBvciBkZWxldGVkIGZpbGUocyksIGRvZXMgTUFJ TlRBSU5FUlMgbmVlZCB1cGRhdGluZz8KIzEzOTogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgotOjE0 NDogV0FSTklORzpTUERYX0xJQ0VOU0VfVEFHOiBNaXNzaW5nIG9yIG1hbGZvcm1lZCBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllciB0YWcgaW4gbGluZSAxCiMxNDQ6IEZJTEU6IGluY2x1ZGUvZHJtL2tl cm5lbC5oOjE6CisvKgoKLToxNzM6IEVSUk9SOk1VTFRJU1RBVEVNRU5UX01BQ1JPX1VTRV9ET19X SElMRTogTWFjcm9zIHN0YXJ0aW5nIHdpdGggaWYgc2hvdWxkIGJlIGVuY2xvc2VkIGJ5IGEgZG8g LSB3aGlsZSBsb29wIHRvIGF2b2lkIHBvc3NpYmxlIGlmL2Vsc2UgbG9naWMgZGVmZWN0cwojMTcz OiBGSUxFOiBpbmNsdWRlL2RybS9rZXJuZWwuaDozMDoKKyNkZWZpbmUgZm9yX2VhY2hfaWYoY29u ZGl0aW9uKSBpZiAoIShjb25kaXRpb24pKSB7fSBlbHNlCgotOjE3MzogV0FSTklORzpCUkFDRVM6 IGJyYWNlcyB7fSBhcmUgbm90IG5lY2Vzc2FyeSBmb3Igc2luZ2xlIHN0YXRlbWVudCBibG9ja3MK IzE3MzogRklMRTogaW5jbHVkZS9kcm0va2VybmVsLmg6MzA6CisjZGVmaW5lIGZvcl9lYWNoX2lm KGNvbmRpdGlvbikgaWYgKCEoY29uZGl0aW9uKSkge30gZWxzZQoKdG90YWw6IDEgZXJyb3JzLCAz IHdhcm5pbmdzLCAwIGNoZWNrcywgMTA1IGxpbmVzIGNoZWNrZWQKNTg4YzIxMzI5OGM3IGRybTog RHJvcCBkcm1QLmggZnJvbSBkcm1fY29ubmVjdG9yLmMKLTo1NjogV0FSTklORzpOT19BVVRIT1Jf U0lHTl9PRkY6IE1pc3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZSBieSBub21pbmFsIHBhdGNoIGF1 dGhvciAnRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4nCgp0b3RhbDogMCBl cnJvcnMsIDEgd2FybmluZ3MsIDAgY2hlY2tzLCAzMCBsaW5lcyBjaGVja2VkCjM2NmQyYTNkNjgx MCBkcm06IGRyb3AgZHJtUC5oIGluY2x1ZGUgZnJvbSBkcm1fcGxhbmUuYwotOjkyOiBXQVJOSU5H Ok5PX0FVVEhPUl9TSUdOX09GRjogTWlzc2luZyBTaWduZWQtb2ZmLWJ5OiBsaW5lIGJ5IG5vbWlu YWwgcGF0Y2ggYXV0aG9yICdEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPicK CnRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywgMCBjaGVja3MsIDU1IGxpbmVzIGNoZWNrZWQK Y2Y3MTIwNGY4MWI1IGRybTogZHJvcCBkcm1QLmggaW5jbHVkZSBmcm9tIGRybV9jcnRjLmMKLToz NTogV0FSTklORzpOT19BVVRIT1JfU0lHTl9PRkY6IE1pc3NpbmcgU2lnbmVkLW9mZi1ieTogbGlu ZSBieSBub21pbmFsIHBhdGNoIGF1dGhvciAnRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBm ZndsbC5jaD4nCgp0b3RhbDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDAgY2hlY2tzLCAxNyBsaW5l cyBjaGVja2VkCmVhNjNlMTJmNjY3ZCBkcm0vYXRvbWljOiB0cmltIGRyaXZlciBpbnRlcmZhY2Uv ZG9jcwotOjg4OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQg bWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojODg6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljLmM6NTAxOgorc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3Byb3BlcnR5KHN0cnVj dCBkcm1fY3J0YyAqY3J0YywKIAkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSwgc3RydWN0 IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCgotOjIwMjogQ0hFQ0s6T1BFTl9FTkRFRF9MSU5FOiBM aW5lcyBzaG91bGQgbm90IGVuZCB3aXRoIGEgJygnCiMyMDI6IEZJTEU6IGRyaXZlcnMvZ3B1L2Ry bS9kcm1fYXRvbWljLmM6MTI1MzoKK3N0YXRpYyBpbnQgZHJtX2F0b21pY19zZXRfd3JpdGViYWNr X2ZiX2Zvcl9jb25uZWN0b3IoCgotOjM0MjogV0FSTklORzpOT19BVVRIT1JfU0lHTl9PRkY6IE1p c3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZSBieSBub21pbmFsIHBhdGNoIGF1dGhvciAnRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4nCgp0b3RhbDogMCBlcnJvcnMsIDEgd2Fy bmluZ3MsIDIgY2hlY2tzLCAzMDEgbGluZXMgY2hlY2tlZAoyNWEwMDdjZjJhMjQgZHJtOiBleHRy YWN0IGRybV9hdG9taWNfdWFwaS5jCi06MTUxNTogV0FSTklORzpGSUxFX1BBVEhfQ0hBTkdFUzog YWRkZWQsIG1vdmVkIG9yIGRlbGV0ZWQgZmlsZShzKSwgZG9lcyBNQUlOVEFJTkVSUyBuZWVkIHVw ZGF0aW5nPwojMTUxNTogCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CgotOjE1MjA6IFdBUk5JTkc6U1BE WF9MSUNFTlNFX1RBRzogTWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXIgdGFnIGluIGxpbmUgMQojMTUyMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf dWFwaS5jOjE6CisvKgoKLToxNTY5OiBXQVJOSU5HOlRZUE9fU1BFTExJTkc6ICdzaW1pbGlhcicg bWF5IGJlIG1pc3NwZWxsZWQgLSBwZXJoYXBzICdzaW1pbGFyJz8KIzE1Njk6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo1MDoKKyAqIGZvciBsb2FkIGRldGVjdCBvciBz aW1pbGlhci4KCi06MTYwMDogRVJST1I6Q09ERV9JTkRFTlQ6IGNvZGUgaW5kZW50IHNob3VsZCB1 c2UgdGFicyB3aGVyZSBwb3NzaWJsZQojMTYwMDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9h dG9taWNfdWFwaS5jOjgxOgorXkleSSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp emVvZih1bW9kZSksJAoKLToxNjAwOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTYwMDogRklMRTogZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjgxOgorCQkJZHJtX3Byb3BlcnR5X2NyZWF0ZV9ibG9i KHN0YXRlLT5jcnRjLT5kZXYsCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNp emVvZih1bW9kZSksCgotOjE2MDE6IEVSUk9SOkNPREVfSU5ERU5UOiBjb2RlIGluZGVudCBzaG91 bGQgdXNlIHRhYnMgd2hlcmUgcG9zc2libGUKIzE2MDE6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9k cm1fYXRvbWljX3VhcGkuYzo4MjoKK15JXkkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmdW1vZGUpOyQKCi06MTYzNDogRVJST1I6Q09ERV9JTkRFTlQ6IGNvZGUgaW5kZW50IHNob3Vs ZCB1c2UgdGFicyB3aGVyZSBwb3NzaWJsZQojMTYzNDogRklMRTogZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfdWFwaS5jOjExNToKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc3RydWN0IGRybV9wcm9wZXJ0eV9ibG9iICpibG9iKSQKCi06MTYzNDogV0FSTklORzpMRUFE SU5HX1NQQUNFOiBwbGVhc2UsIG5vIHNwYWNlcyBhdCB0aGUgc3RhcnQgb2YgYSBsaW5lCiMxNjM0 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6MTE1OgorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJs b2IpJAoKLToxODc3OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91 bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTg3NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2Ry bV9hdG9taWNfdWFwaS5jOjM1ODoKK3N0YXRpYyBpbnQgc2V0X291dF9mZW5jZV9mb3JfY29ubmVj dG9yKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkJc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvciwKCi06MTkxNzogQ0hFQ0s6Q09NUEFSSVNPTl9UT19OVUxMOiBDb21w YXJpc29uIHRvIE5VTEwgY291bGQgYmUgd3JpdHRlbiAiIW5ld19ibG9iIgojMTkxNzogRklMRTog ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjM5ODoKKwkJaWYgKG5ld19ibG9iID09 IE5VTEwpCgotOjE5Mzk6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxOTM5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmM6NDIwOgorc3RhdGljIGludCBkcm1fYXRvbWljX2NydGNfc2V0X3By b3BlcnR5KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpz dGF0ZSwgc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksCgotOjE5NDc6IENIRUNLOkJSQUNF UzogYnJhY2VzIHt9IHNob3VsZCBiZSB1c2VkIG9uIGFsbCBhcm1zIG9mIHRoaXMgc3RhdGVtZW50 CiMxOTQ3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NDI4OgorCWlm IChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfYWN0aXZlKQpbLi4uXQorCWVsc2UgaWYgKHByb3Bl cnR5ID09IGNvbmZpZy0+cHJvcF9tb2RlX2lkKSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBjb25maWctPmRlZ2FtbWFfbHV0X3Byb3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChw cm9wZXJ0eSA9PSBjb25maWctPmN0bV9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJv cGVydHkgPT0gY29uZmlnLT5nYW1tYV9sdXRfcHJvcGVydHkpIHsKWy4uLl0KKwl9IGVsc2UgaWYg KHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9vdXRfZmVuY2VfcHRyKSB7ClsuLi5dCisJfSBlbHNl IGlmIChjcnRjLT5mdW5jcy0+YXRvbWljX3NldF9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSB7 ClsuLi5dCgotOjE5NTc6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNo b3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxOTU3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0v ZHJtX2F0b21pY191YXBpLmM6NDM4OgorCQlyZXQgPSBkcm1fYXRvbWljX3JlcGxhY2VfcHJvcGVy dHlfYmxvYl9mcm9tX2lkKGRldiwKKwkJCQkJJnN0YXRlLT5kZWdhbW1hX2x1dCwKCi06MTk2NTog Q0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4g cGFyZW50aGVzaXMKIzE5NjU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGku Yzo0NDY6CisJCXJldCA9IGRybV9hdG9taWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQo ZGV2LAorCQkJCQkmc3RhdGUtPmN0bSwKCi06MTk3MzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05N RU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzE5NzM6IEZJTEU6 IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo0NTQ6CisJCXJldCA9IGRybV9hdG9t aWNfcmVwbGFjZV9wcm9wZXJ0eV9ibG9iX2Zyb21faWQoZGV2LAorCQkJCQkmc3RhdGUtPmdhbW1h X2x1dCwKCi06MTk5MTogV0FSTklORzpVTk5FQ0VTU0FSWV9FTFNFOiBlbHNlIGlzIG5vdCBnZW5l cmFsbHkgdXNlZnVsIGFmdGVyIGEgYnJlYWsgb3IgcmV0dXJuCiMxOTkxOiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NDcyOgorCQlyZXR1cm4gY3J0Yy0+ZnVuY3MtPmF0 b21pY19zZXRfcHJvcGVydHkoY3J0Yywgc3RhdGUsIHByb3BlcnR5LCB2YWwpOworCX0gZWxzZSB7 CgotOjIwMDM6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBt YXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMDAzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY191YXBpLmM6NDg0OgorZHJtX2F0b21pY19jcnRjX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsCisJCWNvbnN0IHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsCgotOjIw MzA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzCiMyMDMwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmM6NTExOgorc3RhdGljIGludCBkcm1fYXRvbWljX3BsYW5lX3NldF9wcm9wZXJ0eShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUsIHN0 cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAoKLToyMDM4OiBXQVJOSU5HOkxJTkVfU1BBQ0lO RzogTWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiMyMDM4OiBGSUxFOiBk cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6NTE5OgorCQlzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiA9IGRybV9mcmFtZWJ1ZmZlcl9sb29rdXAoZGV2LCBOVUxMLCB2YWwpOworCQlk cm1fYXRvbWljX3NldF9mYl9mb3JfcGxhbmUoc3RhdGUsIGZiKTsKCi06MjA1NDogV0FSTklORzpM SU5FX1NQQUNJTkc6IE1pc3NpbmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xhcmF0aW9ucwojMjA1 NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjUzNToKKwkJc3RydWN0 IGRybV9jcnRjICpjcnRjID0gZHJtX2NydGNfZmluZChkZXYsIE5VTEwsIHZhbCk7CisJCXJldHVy biBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9wbGFuZShzdGF0ZSwgY3J0Yyk7CgotOjIxMDM6IENI RUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBh cmVudGhlc2lzCiMyMTAzOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6 NTg0OgorZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCisJCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlLAoKLToyMTA5OiBXQVJO SU5HOkJSQUNFUzogYnJhY2VzIHt9IGFyZSBub3QgbmVjZXNzYXJ5IGZvciBhbnkgYXJtIG9mIHRo aXMgc3RhdGVtZW50CiMyMTA5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBp LmM6NTkwOgorCWlmIChwcm9wZXJ0eSA9PSBjb25maWctPnByb3BfZmJfaWQpIHsKWy4uLl0KKwl9 IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9pbl9mZW5jZV9mZCkgewpbLi4uXQor CX0gZWxzZSBpZiAocHJvcGVydHkgPT0gY29uZmlnLT5wcm9wX2NydGNfaWQpIHsKWy4uLl0KKwl9 IGVsc2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9jcnRjX3gpIHsKWy4uLl0KKwl9IGVs c2UgaWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9jcnRjX3kpIHsKWy4uLl0KKwl9IGVsc2Ug aWYgKHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9jcnRjX3cpIHsKWy4uLl0KKwl9IGVsc2UgaWYg KHByb3BlcnR5ID09IGNvbmZpZy0+cHJvcF9jcnRjX2gpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHBy b3BlcnR5ID09IGNvbmZpZy0+cHJvcF9zcmNfeCkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVy dHkgPT0gY29uZmlnLT5wcm9wX3NyY195KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9 PSBjb25maWctPnByb3Bfc3JjX3cpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHByb3BlcnR5ID09IGNv bmZpZy0+cHJvcF9zcmNfaCkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxhbmUt PmFscGhhX3Byb3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBwbGFuZS0+ YmxlbmRfbW9kZV9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxh bmUtPnJvdGF0aW9uX3Byb3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0eSA9PSBw bGFuZS0+enBvc19wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSBpZiAocHJvcGVydHkgPT0gcGxh bmUtPmNvbG9yX2VuY29kaW5nX3Byb3BlcnR5KSB7ClsuLi5dCisJfSBlbHNlIGlmIChwcm9wZXJ0 eSA9PSBwbGFuZS0+Y29sb3JfcmFuZ2VfcHJvcGVydHkpIHsKWy4uLl0KKwl9IGVsc2UgaWYgKHBs YW5lLT5mdW5jcy0+YXRvbWljX2dldF9wcm9wZXJ0eSkgewpbLi4uXQorCX0gZWxzZSB7ClsuLi5d CgotOjIxNjQ6IENIRUNLOk9QRU5fRU5ERURfTElORTogTGluZXMgc2hvdWxkIG5vdCBlbmQgd2l0 aCBhICcoJwojMjE2NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjY0 NToKK3N0YXRpYyBpbnQgZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zvcl9jb25uZWN0b3Io CgotOjIxODY6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBt YXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMTg2OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY191YXBpLmM6NjY3Ogorc3RhdGljIGludCBkcm1fYXRvbWljX2Nvbm5lY3Rvcl9zZXRfcHJv cGVydHkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJc3RydWN0IGRybV9jb25u ZWN0b3Jfc3RhdGUgKnN0YXRlLCBzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwKCi06MjE5 NDogV0FSTklORzpMSU5FX1NQQUNJTkc6IE1pc3NpbmcgYSBibGFuayBsaW5lIGFmdGVyIGRlY2xh cmF0aW9ucwojMjE5NDogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjY3 NToKKwkJc3RydWN0IGRybV9jcnRjICpjcnRjID0gZHJtX2NydGNfZmluZChkZXYsIE5VTEwsIHZh bCk7CisJCXJldHVybiBkcm1fYXRvbWljX3NldF9jcnRjX2Zvcl9jb25uZWN0b3Ioc3RhdGUsIGNy dGMpOwoKLToyMjU0OiBXQVJOSU5HOkxJTkVfU1BBQ0lORzogTWlzc2luZyBhIGJsYW5rIGxpbmUg YWZ0ZXIgZGVjbGFyYXRpb25zCiMyMjU0OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21p Y191YXBpLmM6NzM1OgorCQlpbnQgcmV0ID0gZHJtX2F0b21pY19zZXRfd3JpdGViYWNrX2ZiX2Zv cl9jb25uZWN0b3Ioc3RhdGUsIGZiKTsKKwkJaWYgKGZiKQoKLToyMjc3OiBDSEVDSzpQQVJFTlRI RVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwoj MjI3NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjc1ODoKK2RybV9h dG9taWNfY29ubmVjdG9yX2dldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAorCQljb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGUsCgotOjIzMzc6 IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVu IHBhcmVudGhlc2lzCiMyMzM3OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBp LmM6ODE4OgoraW50IGRybV9hdG9taWNfZ2V0X3Byb3BlcnR5KHN0cnVjdCBkcm1fbW9kZV9vYmpl Y3QgKm9iaiwKKwkJc3RydWN0IGRybV9wcm9wZXJ0eSAqcHJvcGVydHksIHVpbnQ2NF90ICp2YWwp CgotOjIzNDU6IFdBUk5JTkc6TElORV9TUEFDSU5HOiBNaXNzaW5nIGEgYmxhbmsgbGluZSBhZnRl ciBkZWNsYXJhdGlvbnMKIzIzNDU6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3Vh cGkuYzo4MjY6CisJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSBvYmpfdG9fY29u bmVjdG9yKG9iaik7CisJCVdBUk5fT04oIWRybV9tb2Rlc2V0X2lzX2xvY2tlZCgmZGV2LT5tb2Rl X2NvbmZpZy5jb25uZWN0aW9uX211dGV4KSk7CgotOjIzNDc6IENIRUNLOlBBUkVOVEhFU0lTX0FM SUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMzQ3OiBG SUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODI4OgorCQlyZXQgPSBkcm1f YXRvbWljX2Nvbm5lY3Rvcl9nZXRfcHJvcGVydHkoY29ubmVjdG9yLAorCQkJCWNvbm5lY3Rvci0+ c3RhdGUsIHByb3BlcnR5LCB2YWwpOwoKLToyMzUyOiBXQVJOSU5HOkxJTkVfU1BBQ0lORzogTWlz c2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFyYXRpb25zCiMyMzUyOiBGSUxFOiBkcml2ZXJz L2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODMzOgorCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMg PSBvYmpfdG9fY3J0YyhvYmopOworCQlXQVJOX09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJmNy dGMtPm11dGV4KSk7CgotOjIzNTQ6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25t ZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMyMzU0OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODM1OgorCQlyZXQgPSBkcm1fYXRvbWljX2NydGNfZ2V0 X3Byb3BlcnR5KGNydGMsCisJCQkJY3J0Yy0+c3RhdGUsIHByb3BlcnR5LCB2YWwpOwoKLToyMzU5 OiBXQVJOSU5HOkxJTkVfU1BBQ0lORzogTWlzc2luZyBhIGJsYW5rIGxpbmUgYWZ0ZXIgZGVjbGFy YXRpb25zCiMyMzU5OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODQw OgorCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IG9ial90b19wbGFuZShvYmopOworCQlXQVJO X09OKCFkcm1fbW9kZXNldF9pc19sb2NrZWQoJnBsYW5lLT5tdXRleCkpOwoKLToyMzYxOiBDSEVD SzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJl bnRoZXNpcwojMjM2MTogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjg0 MjoKKwkJcmV0ID0gZHJtX2F0b21pY19wbGFuZV9nZXRfcHJvcGVydHkocGxhbmUsCisJCQkJcGxh bmUtPnN0YXRlLCBwcm9wZXJ0eSwgdmFsKTsKCi06MjM3NjogQ0hFQ0s6T1BFTl9FTkRFRF9MSU5F OiBMaW5lcyBzaG91bGQgbm90IGVuZCB3aXRoIGEgJygnCiMyMzc2OiBGSUxFOiBkcml2ZXJzL2dw dS9kcm0vZHJtX2F0b21pY191YXBpLmM6ODU3Ogorc3RhdGljIHN0cnVjdCBkcm1fcGVuZGluZ192 YmxhbmtfZXZlbnQgKmNyZWF0ZV92YmxhbmtfZXZlbnQoCgotOjIzODE6IFdBUk5JTkc6U0laRU9G X1BBUkVOVEhFU0lTOiBzaXplb2YgKmUgc2hvdWxkIGJlIHNpemVvZigqZSkKIzIzODE6IEZJTEU6 IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo4NjI6CisJZSA9IGt6YWxsb2Moc2l6 ZW9mICplLCBHRlBfS0VSTkVMKTsKCi06MjQ2NjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5U OiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0NjY6IEZJTEU6IGRy aXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo5NDc6CisJCXJldCA9IGRybV9hdG9taWNf Y29ubmVjdG9yX3NldF9wcm9wZXJ0eShjb25uZWN0b3IsCisJCQkJY29ubmVjdG9yX3N0YXRlLCBw cm9wLCBwcm9wX3ZhbHVlKTsKCi06MjQ4MDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBB bGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0ODA6IEZJTEU6IGRyaXZl cnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzo5NjE6CisJCXJldCA9IGRybV9hdG9taWNfY3J0 Y19zZXRfcHJvcGVydHkoY3J0YywKKwkJCQljcnRjX3N0YXRlLCBwcm9wLCBwcm9wX3ZhbHVlKTsK Ci06MjQ5NDogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1h dGNoIG9wZW4gcGFyZW50aGVzaXMKIzI0OTQ6IEZJTEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRv bWljX3VhcGkuYzo5NzU6CisJCXJldCA9IGRybV9hdG9taWNfcGxhbmVfc2V0X3Byb3BlcnR5KHBs YW5lLAorCQkJCXBsYW5lX3N0YXRlLCBwcm9wLCBwcm9wX3ZhbHVlKTsKCi06MjUxMDogV0FSTklO RzpUWVBPX1NQRUxMSU5HOiAndHJhbnNmZXJlZCcgbWF5IGJlIG1pc3NwZWxsZWQgLSBwZXJoYXBz ICd0cmFuc2ZlcnJlZCc/CiMyNTEwOiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY191 YXBpLmM6OTkxOgorICogYmV0d2VlbiBkZXZpY2VzLiBBIEZlbmNlIG9yIGEgZ3JvdXAgb2YgZmVu Y2VzIGFyZSB0cmFuc2ZlcmVkIHRvL2Zyb20KCi06MjU4MjogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJ R05NRU5UOiBBbGlnbm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzI1ODI6IEZJ TEU6IGRyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX3VhcGkuYzoxMDYzOgorc3RhdGljIGludCBw cmVwYXJlX3NpZ25hbGluZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSAgc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlLAoKLToyNzg5OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1F TlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc4OTogRklMRTog ZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjEyNzA6CisJaWYgKChhcmctPmZsYWdz ICYgRFJNX01PREVfUEFHRV9GTElQX0FTWU5DKSAmJgorCQkJIWRldi0+bW9kZV9jb25maWcuYXN5 bmNfcGFnZV9mbGlwKQoKLToyNzk0OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdu bWVudCBzaG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMjc5NDogRklMRTogZHJpdmVycy9n cHUvZHJtL2RybV9hdG9taWNfdWFwaS5jOjEyNzU6CisJaWYgKChhcmctPmZsYWdzICYgRFJNX01P REVfQVRPTUlDX1RFU1RfT05MWSkgJiYKKwkJCShhcmctPmZsYWdzICYgRFJNX01PREVfUEFHRV9G TElQX0VWRU5UKSkKCi06MzA3OTogV0FSTklORzpTUERYX0xJQ0VOU0VfVEFHOiBNaXNzaW5nIG9y IG1hbGZvcm1lZCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllciB0YWcgaW4gbGluZSAxCiMzMDc5OiBG SUxFOiBpbmNsdWRlL2RybS9kcm1fYXRvbWljX3VhcGkuaDoxOgorLyoKCi06MzEzNjogV0FSTklO RzpOT19BVVRIT1JfU0lHTl9PRkY6IE1pc3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZSBieSBub21p bmFsIHBhdGNoIGF1dGhvciAnRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4n Cgp0b3RhbDogMyBlcnJvcnMsIDE3IHdhcm5pbmdzLCAyNSBjaGVja3MsIDI0NTggbGluZXMgY2hl Y2tlZApiNWYwYjA1M2YyMzMgZHJtL2F0b21pYy1oZWxwZXI6IFVuZXhwb3J0IGRybV9hdG9taWNf aGVscGVyX2Jlc3RfZW5jb2RlcgotOjEzMzogV0FSTklORzpOT19BVVRIT1JfU0lHTl9PRkY6IE1p c3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZSBieSBub21pbmFsIHBhdGNoIGF1dGhvciAnRGFuaWVs IFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4nCgp0b3RhbDogMCBlcnJvcnMsIDEgd2Fy bmluZ3MsIDAgY2hlY2tzLCA3MiBsaW5lcyBjaGVja2VkCjNhYTU5MTYzNmY1YyBkcm0vYW1kZ3B1 OiBSZW1vdmUgZGVmYXVsdCBiZXN0X2VuY29kZXIgaG9vayBmcm9tIERDCi06NTg6IFdBUk5JTkc6 Tk9fQVVUSE9SX1NJR05fT0ZGOiBNaXNzaW5nIFNpZ25lZC1vZmYtYnk6IGxpbmUgYnkgbm9taW5h bCBwYXRjaCBhdXRob3IgJ0RhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+JwoK dG90YWw6IDAgZXJyb3JzLCAxIHdhcm5pbmdzLCAwIGNoZWNrcywgMzUgbGluZXMgY2hlY2tlZAoy YzM2Nzg3MzUzNDQgZHJtOiBVcGRhdGUgdG9kby5yc3QKZDIyZWFmYTg0MWE4IGRybTogRXh0cmFj dCBkcm1fYXRvbWljX3N0YXRlX2hlbHBlci5baGNdCi06NjQwOiBXQVJOSU5HOkZJTEVfUEFUSF9D SEFOR0VTOiBhZGRlZCwgbW92ZWQgb3IgZGVsZXRlZCBmaWxlKHMpLCBkb2VzIE1BSU5UQUlORVJT IG5lZWQgdXBkYXRpbmc/CiM2NDA6IApuZXcgZmlsZSBtb2RlIDEwMDY0NAoKLTo2NDU6IFdBUk5J Tkc6U1BEWF9MSUNFTlNFX1RBRzogTWlzc2luZyBvciBtYWxmb3JtZWQgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXIgdGFnIGluIGxpbmUgMQojNjQ1OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0 b21pY19zdGF0ZV9oZWxwZXIuYzoxOgorLyoKCi06OTU5OiBXQVJOSU5HOlRZUE9fU1BFTExJTkc6 ICdjb25lY3RvcicgbWF5IGJlIG1pc3NwZWxsZWQgLSBwZXJoYXBzICdjb25uZWN0b3InPwojOTU5 OiBGSUxFOiBkcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19zdGF0ZV9oZWxwZXIuYzozMTU6Cisg KiB0aGUgJmRybV9jb25lY3Rvci0+c3RhdGUgcG9pbnRlciBvZiBAY29ubmVjdG9yLCB1c3VhbGx5 IHJlcXVpcmVkIHdoZW4KCi06MTAwNzogQ0hFQ0s6UEFSRU5USEVTSVNfQUxJR05NRU5UOiBBbGln bm1lbnQgc2hvdWxkIG1hdGNoIG9wZW4gcGFyZW50aGVzaXMKIzEwMDc6IEZJTEU6IGRyaXZlcnMv Z3B1L2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5jOjM2MzoKK19fZHJtX2F0b21pY19oZWxw ZXJfY29ubmVjdG9yX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVj dG9yLAorCQkJCQkgICAgc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKnN0YXRlKQoKLToxMTU3 OiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBzaG91bGQgbWF0Y2ggb3Bl biBwYXJlbnRoZXNpcwojMTE1NzogRklMRTogZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNfc3Rh dGVfaGVscGVyLmM6NTEzOgordm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJv eV9zdGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJCQkgIHN0cnVjdCBk cm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSkKCi06MTMxNjogV0FSTklORzpTUERYX0xJQ0VOU0Vf VEFHOiBNaXNzaW5nIG9yIG1hbGZvcm1lZCBTUERYLUxpY2Vuc2UtSWRlbnRpZmllciB0YWcgaW4g bGluZSAxCiMxMzE2OiBGSUxFOiBpbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5o OjE6CisvKgoKLToxMzczOiBDSEVDSzpQQVJFTlRIRVNJU19BTElHTk1FTlQ6IEFsaWdubWVudCBz aG91bGQgbWF0Y2ggb3BlbiBwYXJlbnRoZXNpcwojMTM3MzogRklMRTogaW5jbHVkZS9kcm0vZHJt X2F0b21pY19zdGF0ZV9oZWxwZXIuaDo1ODoKK3ZvaWQgZHJtX2F0b21pY19oZWxwZXJfcGxhbmVf ZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKKwkJCQkJICBzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlICpzdGF0ZSk7CgotOjEzODA6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVO VDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBvcGVuIHBhcmVudGhlc2lzCiMxMzgwOiBGSUxFOiBp bmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRlX2hlbHBlci5oOjY1OgorX19kcm1fYXRvbWljX2hl bHBlcl9jb25uZWN0b3JfZHVwbGljYXRlX3N0YXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsCisJCQkJCSAgIHN0cnVjdCBkcm1fY29ubmVjdG9yX3N0YXRlICpzdGF0ZSk7CgotOjEz ODk6IENIRUNLOlBBUkVOVEhFU0lTX0FMSUdOTUVOVDogQWxpZ25tZW50IHNob3VsZCBtYXRjaCBv cGVuIHBhcmVudGhlc2lzCiMxMzg5OiBGSUxFOiBpbmNsdWRlL2RybS9kcm1fYXRvbWljX3N0YXRl X2hlbHBlci5oOjc0Ogordm9pZCBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZGVzdHJveV9z dGF0ZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAorCQkJCQkgIHN0cnVjdCBkcm1f Y29ubmVjdG9yX3N0YXRlICpzdGF0ZSk7CgotOjEzOTU6IFdBUk5JTkc6Tk9fQVVUSE9SX1NJR05f T0ZGOiBNaXNzaW5nIFNpZ25lZC1vZmYtYnk6IGxpbmUgYnkgbm9taW5hbCBwYXRjaCBhdXRob3Ig J0RhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+JwoKdG90YWw6IDAgZXJyb3Jz LCA1IHdhcm5pbmdzLCA1IGNoZWNrcywgNzg0IGxpbmVzIGNoZWNrZWQKODZiNzFlYTIxOTc2IGRy bS92bXdnZng6IFJlbW92ZSBjb25mdXNlZCBjb21tZW50IGZyb20gdm13X2R1X2Nvbm5lY3Rvcl9h dG9taWNfc2V0X3Byb3BlcnR5Cjg2ZGEwNTRjYzgxMCBkcm0vdm13Z2Z4OiBEb24ndCBsb29rIGF0 IHN0YXRlLT5hbGxvd19tb2Rlc2V0CjFjZTU4MmM4MWM3YSBkcm0vYXRvbWljOiBJbXByb3ZlIGRv Y3MgZm9yIGRybV9hdG9taWNfc3RhdGUtPmFsbG93X21vZGVzZXQKLTozODogV0FSTklORzpOT19B VVRIT1JfU0lHTl9PRkY6IE1pc3NpbmcgU2lnbmVkLW9mZi1ieTogbGluZSBieSBub21pbmFsIHBh dGNoIGF1dGhvciAnRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4nCgp0b3Rh bDogMCBlcnJvcnMsIDEgd2FybmluZ3MsIDAgY2hlY2tzLCAyMiBsaW5lcyBjaGVja2VkCjk1Zjhk YzU4ZDQ0MCBkcm0vdm13Z2Z4OiBBZGQgRklYTUUgY29tbWVudHMgZm9yIGN1c3RvbWVyIHBhZ2Vf ZmxpcCBoYW5kbGVycwotOjU4OiBXQVJOSU5HOk5PX0FVVEhPUl9TSUdOX09GRjogTWlzc2luZyBT aWduZWQtb2ZmLWJ5OiBsaW5lIGJ5IG5vbWluYWwgcGF0Y2ggYXV0aG9yICdEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPicKCnRvdGFsOiAwIGVycm9ycywgMSB3YXJuaW5ncywg MCBjaGVja3MsIDIxIGxpbmVzIGNoZWNrZWQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=