From mboxrd@z Thu Jan 1 00:00:00 1970 From: Russell King - ARM Linux Subject: Re: [PATCH v3 03/10] drm/imx: atomic phase 1: Use transitional atomic CRTC and plane helpers Date: Sat, 13 Aug 2016 16:00:04 +0100 Message-ID: <20160813150004.GA12419@n2100.armlinux.org.uk> References: <1467618039-7457-1-git-send-email-gnuiyl@gmail.com> <1467618039-7457-4-git-send-email-gnuiyl@gmail.com> <20160813101154.GA3864@n2100.armlinux.org.uk> <20160813104531.GA4844@n2100.armlinux.org.uk> <20160813112947.GA6718@n2100.armlinux.org.uk> <20160813140910.GA11506@n2100.armlinux.org.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from pandora.armlinux.org.uk (pandora.armlinux.org.uk [IPv6:2001:4d48:ad52:3201:214:fdff:fe10:1be6]) by gabe.freedesktop.org (Postfix) with ESMTPS id 08CC66E22F for ; Sat, 13 Aug 2016 15:00:23 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20160813140910.GA11506@n2100.armlinux.org.uk> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Liu Ying Cc: Daniel Vetter , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gU2F0LCBBdWcgMTMsIDIwMTYgYXQgMDM6MDk6MTBQTSArMDEwMCwgUnVzc2VsbCBLaW5nIC0g QVJNIExpbnV4IHdyb3RlOgo+IE9rYXksIHRoaXMgaXMgd2hhdCBJJ3ZlIGVuZGVkIHVwIHdpdGgg LSBJJ20gbm90IHN1cmUgd2hldGhlciBpdCdzCj4gY29ycmVjdCBvciBub3QsIGJ1dCB0aGlzIGRp cnR5IHBhdGNoIGFsbG93cyB0aGUgZnVsbCBzZXJpZXMgdG8gYmUKPiBhcHBsaWVkIGFuZCBzdGls bCBoYXZlIHdvcmtpbmcgdXNlcnNwYWNlLgo+IAo+IEkgc3RpbGwgbmVlZCB0byB1bmRvIGFsbCB0 aGUgcmV2ZXJ0cyBJIGhhdmUgdG91Y2hpbmcgaW14LWRybSBiZXR3ZWVuCj4gcGF0Y2ggMTAgb2Yg dGhpcyBzZXQgYW5kIDQuOC1yYzEuLi4KCkkgdHJpZWQgYSBzbGlnaHRseSBkaWZmZXJlbnQgYXBw cm9hY2gsIHNvIHdlIGF0IGxlYXN0IGdldCB0aGUgc2ltcGxlCnBsYW5lIHVwZGF0ZXMgd2l0aG91 dCBoYXZpbmcgdG8gZ28gdGhyb3VnaCB0aGUgZGlzYWJsZSBwYXRoOgoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pbXgvaXB1djMtcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pbXgvaXB1 djMtcGxhbmUuYwppbmRleCA0YWQ2N2QwMTVlYzcuLjFjZDM0MjJlNmU2MiAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2lteC9pcHV2My1wbGFuZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p bXgvaXB1djMtcGxhbmUuYwpAQCAtMjc4LDcgKzI3OCw3IEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5l X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlpZiAoV0FSTl9PTighY3J0 Y19zdGF0ZSkpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JLyogQ1JUQyBzaG91bGQgYmUgZW5hYmxl ZCAqLworCS8qIENSVEMgc2hvdWxkIGJlIGVuYWJsZWQgLS0gd2h5PyAqLwogCWlmICghY3J0Y19z dGF0ZS0+ZW5hYmxlKQogCQlyZXR1cm4gLUVJTlZBTDsKIApAQCAtMzIyLDEwICszMjIsMTQgQEAg c3RhdGljIGludCBpcHVfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAogCSAqIHNpbmNlIHdlIGNhbm5vdCB0b3VjaCBhY3RpdmUgSURNQUMgY2hhbm5lbHMsIHdlIGRv IG5vdCBzdXBwb3J0CiAJICogcmVzaXppbmcgdGhlIGVuYWJsZWQgcGxhbmUgb3IgY2hhbmdpbmcg aXRzIGZvcm1hdAogCSAqLworI2lmIDAKIAlpZiAob2xkX2ZiICYmIChzdGF0ZS0+c3JjX3cgIT0g b2xkX3N0YXRlLT5zcmNfdyB8fAogCQkJICAgICAgc3RhdGUtPnNyY19oICE9IG9sZF9zdGF0ZS0+ c3JjX2ggfHwKLQkJCSAgICAgIGZiLT5waXhlbF9mb3JtYXQgIT0gb2xkX2ZiLT5waXhlbF9mb3Jt YXQpKQorCQkJICAgICAgZmItPnBpeGVsX2Zvcm1hdCAhPSBvbGRfZmItPnBpeGVsX2Zvcm1hdCkp IHsKKwkJcHJpbnRrKCIlczolZDogZmFpbFxuIiwgX19mdW5jX18sIF9fTElORV9fKTsKIAkJcmV0 dXJuIC1FSU5WQUw7CisJfQorI2VuZGlmCiAKIAllYmEgPSBkcm1fcGxhbmVfc3RhdGVfdG9fZWJh KHN0YXRlKTsKIApAQCAtMzM1LDkgKzMzOSw2IEBAIHN0YXRpYyBpbnQgaXB1X3BsYW5lX2F0b21p Y19jaGVjayhzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAlpZiAoZmItPnBpdGNoZXNbMF0gPCAx IHx8IGZiLT5waXRjaGVzWzBdID4gMTYzODQpCiAJCXJldHVybiAtRUlOVkFMOwogCi0JaWYgKG9s ZF9mYiAmJiBmYi0+cGl0Y2hlc1swXSAhPSBvbGRfZmItPnBpdGNoZXNbMF0pCi0JCXJldHVybiAt RUlOVkFMOwotCiAJc3dpdGNoIChmYi0+cGl4ZWxfZm9ybWF0KSB7CiAJY2FzZSBEUk1fRk9STUFU X1lVVjQyMDoKIAljYXNlIERSTV9GT1JNQVRfWVZVNDIwOgpAQCAtMzkxLDExICszOTIsMTcgQEAg c3RhdGljIHZvaWQgaXB1X3BsYW5lX2F0b21pY191cGRhdGUoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUgPSBwbGFuZS0+c3RhdGU7CiAJZW51 bSBpcHVfY29sb3Jfc3BhY2UgaWNzOwogCi0JaWYgKG9sZF9zdGF0ZS0+ZmIpIHsKKwlpZiAob2xk X3N0YXRlLT5mYiAmJgorCSAgICBvbGRfc3RhdGUtPnNyY193ID09IHN0YXRlLT5zcmNfdyAmJgor CSAgICBvbGRfc3RhdGUtPnNyY19oID09IHN0YXRlLT5zcmNfaCAmJgorCSAgICBvbGRfc3RhdGUt PmZiLT5waXhlbF9mb3JtYXQgPT0gc3RhdGUtPmZiLT5waXhlbF9mb3JtYXQgJiYKKwkgICAgb2xk X3N0YXRlLT5mYi0+cGl0Y2hlc1swXSA9PSBzdGF0ZS0+ZmItPnBpdGNoZXNbMF0pIHsKIAkJaXB1 X3BsYW5lX2F0b21pY19zZXRfYmFzZShpcHVfcGxhbmUsIG9sZF9zdGF0ZSk7CiAJCXJldHVybjsK IAl9CiAKKwlpcHVfcGxhbmVfZGlzYWJsZShpcHVfcGxhbmUpOworCiAJc3dpdGNoIChpcHVfcGxh bmUtPmRwX2Zsb3cpIHsKIAljYXNlIElQVV9EUF9GTE9XX1NZTkNfQkc6CiAJCWlwdV9kcF9zZXR1 cF9jaGFubmVsKGlwdV9wbGFuZS0+ZHAsCgpidXQgdW5mb3J0dW5hdGVseSB0aGlzIGxlYWRzIHRv IGEga2VybmVsIG9vcHMuICBGcm9tIHdoYXQgSSBjYW4gdGVsbCwKbG9jay0+Y2xhc3NfY2FjaGVb c3ViY2xhc3NdIHdhcyAweGZmZmZmZmZmLiAgc3ViY2xhc3Mgd2FzIDAsIGxvY2sKd2FzIDB4ZWM1 ODYzMWMuCgpbZHJtOmRybV9hdG9taWNfaGVscGVyX2NvbW1pdF9jbGVhbnVwX2RvbmVdICpFUlJP UiogW0NSVEM6MjQ6Y3J0Yy0wXSBmbGlwX2RvbmUgdGltZWQgb3V0CkFsaWdubWVudCB0cmFwOiBu b3QgaGFuZGxpbmcgaW5zdHJ1Y3Rpb24gZTE5MjFmOWYgYXQgWzxjMDA3ZmU0Yz5dWyAgNjUxLjQ3 MjQ5Nl0gVW5oYW5kbGVkIGZhdWx0OiBhbGlnbm1lbnQgZXhjZXB0aW9uICgweDAwMSkgYXQgMHgw MDAwMDEwMwpwZ2QgPSBlY2VhNDAwMApbMDAwMDAxMDNdICpwZ2Q9MDAwMDAwMDAKSW50ZXJuYWwg ZXJyb3I6IDogMSBbIzFdIFNNUCBBUk0KTW9kdWxlcyBsaW5rZWQgaW46IGJuZXAgcmZjb21tIGJs dWV0b290aCBuZnNkIHJjX2NlYyBzbmRfc29jX2ZzbF9zcGRpZiBjYWFtX2pyIGNvZGEgaW14X3Bj bV9kbWEgaW14X3NkbWEgdjRsMl9tZW0ybWVtIHZpZGVvYnVmMl9kbWFfY29udGlnIGlteDJfd2R0 IHZpZGVvYnVmMl92bWFsbG9jIGR3X2hkbWlfY2VjIGlteF90aGVybWFsIGR3X2hkbWlfYWhiX2F1 ZGlvIHZpZGVvYnVmMl9tZW1vcHMgY2FhbSBldG5hdml2IHNuZF9zb2NfaW14X3NwZGlmCkNQVTog MCBQSUQ6IDEwOTEgQ29tbTogZGJ1cy1kYWVtb24gTm90IHRhaW50ZWQgNC44LjAtcmMxKyAjMjA0 MwpIYXJkd2FyZSBuYW1lOiBGcmVlc2NhbGUgaS5NWDYgUXVhZC9EdWFsTGl0ZSAoRGV2aWNlIFRy ZWUpCnRhc2s6IGVlMzc1NWMwIHRhc2suc3RhY2s6IGVjZTc0MDAwClBDIGlzIGF0IF9fbG9ja19h Y3F1aXJlKzB4ZDQvMHgxOGZjCkxSIGlzIGF0IGxvY2tfYWNxdWlyZSsweGQ4LzB4MjUwCnBjIDog WzxjMDA3ZmU1MD5dICAgIGxyIDogWzxjMDA4MWJkMD5dICAgIHBzcjogYTAwNzAxOTMKc3AgOiBl Y2U3NTczMCAgaXAgOiBlY2U3NDAwMCAgZnAgOiBlY2U3NTdiNApyMTA6IDAwMDAwMDAwICByOSA6 IGMwYWNiZWYwICByOCA6IGVjNTg2MzFjCnI3IDogMDAwMDAwMDEgIHI2IDogZWUzNzU1YzAgIHI1 IDogYzBhOTI1ZjggIHI0IDogYzEyNWFkOGMKcjMgOiAwMDAwMDAwMCAgcjIgOiAwMDAwMDEwMyAg cjEgOiAwMDAwMDAwMCAgcjAgOiBmZmZmZmZmZgpGbGFnczogTnpDdiAgSVJRcyBvZmYgIEZJUXMg b24gIE1vZGUgU1ZDXzMyICBJU0EgQVJNICBTZWdtZW50IG5vbmUKQ29udHJvbDogMTBjNTM4N2Qg IFRhYmxlOiAzY2VhNDA0YSAgREFDOiAwMDAwMDA1MQpQcm9jZXNzIGRidXMtZGFlbW9uIChwaWQ6 IDEwOTEsIHN0YWNrIGxpbWl0ID0gMHhlY2U3NDIxMCkKU3RhY2s6ICgweGVjZTc1NzMwIHRvIDB4 ZWNlNzYwMDApCihvbWl0dGVkKQpCYWNrdHJhY2U6Cls8YzAwN2ZkN2M+XSAoX19sb2NrX2FjcXVp cmUpIGZyb20gWzxjMDA4MWJkMD5dIChsb2NrX2FjcXVpcmUrMHhkOC8weDI1MCkKIHIxMDowMDAw MDAwMCByOTpjMGFjYmVmMCByODowMDAwMDAwMCByNzowMDAwMDAwMCByNjplYzU4NjMxYyByNTo2 MDA3MDE5MwogcjQ6MDAwMDAwMDAKWzxjMDA4MWFmOD5dIChsb2NrX2FjcXVpcmUpIGZyb20gWzxj MDc0ZDljYz5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKzB4NGMvMHg2MCkKIHIxMDplZTFjYTAw MCByOTowMDAwMDQwYSByODowMDAwMDAwMCByNzowMDAwMDAwMCByNjpjMDA3YTQ4YyByNTphMDA3 MDE5MwogcjQ6ZWM1ODYzMGMKWzxjMDc0ZDk4MD5dIChfcmF3X3NwaW5fbG9ja19pcnFzYXZlKSBm cm9tIFs8YzAwN2E0OGM+XSAoY29tcGxldGVfYWxsKzB4MWMvMHg0YykKIHI2OmMwYWNkZDE4IHI1 OmVjNTg2MzA4IHI0OmVjNTg2MzBjCls8YzAwN2E0NzA+XSAoY29tcGxldGVfYWxsKSBmcm9tIFs8 YzAzZmI0ODA+XSAoZHJtX3NlbmRfZXZlbnRfbG9ja2VkKzB4MzAvMHgxMDQpCiByNjpjMGFjZGQx OCByNTpjMGFjYjYxZCByNDplYmM1NzIwMCByMzowNDI0MDQyMwpbPGMwM2ZiNDUwPl0gKGRybV9z ZW5kX2V2ZW50X2xvY2tlZCkgZnJvbSBbPGMwM2ZlNGFjPl0gKHNlbmRfdmJsYW5rX2V2ZW50KzB4 OTQvMHgxYmMpCiByNTpjMGFjYjYxZCByNDplYmM1NzIwMApbPGMwM2ZlNDE4Pl0gKHNlbmRfdmJs YW5rX2V2ZW50KSBmcm9tIFs8YzAzZmVkYTA+XSAoZHJtX2hhbmRsZV92YmxhbmsrMHgxNTgvMHgz NjQpCiByMTA6ZWUxY2EyM2Mgcjk6ZWUxY2EyMzQgcjg6MDAwMDA0MGEgcjc6ZWUxY2EwMDAgcjY6 MDAwMDAwMDAgcjU6ZWUxY2EyMjgKIHI0OmViYzU3MjAwCls8YzAzZmVjNDg+XSAoZHJtX2hhbmRs ZV92YmxhbmspIGZyb20gWzxjMDNmZWZjOD5dIChkcm1fY3J0Y19oYW5kbGVfdmJsYW5rKzB4MWMv MHgyMCkKIHIxMDplY2U3NTk2NCByOTpjMGEzZDU1NCByODowMDAwMDAwMCByNzowMDAwMDEyZiBy NjplZTExNGExMCByNTplZTExNGEwMAogcjQ6ZWUwNTU5NDAKWzxjMDNmZWZhYz5dIChkcm1fY3J0 Y19oYW5kbGVfdmJsYW5rKSBmcm9tIFs8YzA0MWFjZTQ+XSAoaW14X2RybV9oYW5kbGVfdmJsYW5r KzB4MTQvMHgxOCkKWzxjMDQxYWNkMD5dIChpbXhfZHJtX2hhbmRsZV92YmxhbmspIGZyb20gWzxj MDQxYjRjOD5dIChpcHVfaXJxX2hhbmRsZXIrMHgxNC8weDFjKQpbPGMwNDFiNGI0Pl0gKGlwdV9p cnFfaGFuZGxlcikgZnJvbSBbPGMwMDk2NjMwPl0gKF9faGFuZGxlX2lycV9ldmVudF9wZXJjcHUr MHhhNC8weDQyOCkKWzxjMDA5NjU4Yz5dIChfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KSBmcm9t IFs8YzAwOTY5ZDg+XSAoaGFuZGxlX2lycV9ldmVudF9wZXJjcHUrMHgyNC8weDYwKQogcjEwOmVj ZTc1YWIwIHI5OmY0MDAxMTAwIHI4OjAwMDAwMDA5IHI3OjAwMDAwMDAwIHI2OmVlMTE0YTEwIHI1 OmVlMTE0YTAwCiByNDplZTExNGEwMApbPGMwMDk2OWI0Pl0gKGhhbmRsZV9pcnFfZXZlbnRfcGVy Y3B1KSBmcm9tIFs8YzAwOTZhNTQ+XSAoaGFuZGxlX2lycV9ldmVudCsweDQwLzB4NjQpCiByNTpl ZTExNGE2MCByNDplZTExNGEwMApbPGMwMDk2YTE0Pl0gKGhhbmRsZV9pcnFfZXZlbnQpIGZyb20g WzxjMDA5YTFjND5dIChoYW5kbGVfbGV2ZWxfaXJxKzB4YjAvMHgxMzgpCiByNjplZTExNGExMCBy NTplZTExNGE2MCByNDplZTExNGEwMCByMzpjMGEzMjNkOApbPGMwMDlhMTE0Pl0gKGhhbmRsZV9s ZXZlbF9pcnEpIGZyb20gWzxjMDA5NWRmMD5dIChnZW5lcmljX2hhbmRsZV9pcnErMHgyMC8weDMw KQogcjY6ZWUxNDY4MTAgcjU6ZWNlNzVhMDggcjQ6MDAwMDAwMTcgcjM6YzAwOWExMTQKWzxjMDA5 NWRkMD5dIChnZW5lcmljX2hhbmRsZV9pcnEpIGZyb20gWzxjMDQxZjM0ND5dIChpcHVfaXJxX2hh bmRsZSsweGE4LzB4ZDgpCls8YzA0MWYyOWM+XSAoaXB1X2lycV9oYW5kbGUpIGZyb20gWzxjMDQx ZjQ3ND5dIChpcHVfaXJxX2hhbmRsZXIrMHg1Yy8weGI0KQogcjg6ZWU4MjAwMDAgcjc6MDAwMDAw MjYgcjY6ZWUxNDY4MTAgcjU6YzBhNDQyODggcjQ6ZWVhNDZmMTAKWzxjMDQxZjQxOD5dIChpcHVf aXJxX2hhbmRsZXIpIGZyb20gWzxjMDA5NWRmMD5dIChnZW5lcmljX2hhbmRsZV9pcnErMHgyMC8w eDMwKQogcjY6MDAwMDAwMDAgcjU6ZWNlNzVjNjggcjQ6YzBhMzcyNDAKWzxjMDA5NWRkMD5dIChn ZW5lcmljX2hhbmRsZV9pcnEpIGZyb20gWzxjMDA5NWYyND5dIChfX2hhbmRsZV9kb21haW5faXJx KzB4NWMvMHhiOCkKWzxjMDA5NWVjOD5dIChfX2hhbmRsZV9kb21haW5faXJxKSBmcm9tIFs8YzAw MDk0Yzg+XSAoZ2ljX2hhbmRsZV9pcnErMHg0Yy8weDljKQogcjg6YzBhOTI5NTAgcjc6MDAwMDAz ZWIgcjY6YzBhM2RiYTQgcjU6ZjQwMDAxMGMgcjQ6ZjQwMDAxMDAgcjM6ZWNlNzVhYjAKWzxjMDAw OTQ3Yz5dIChnaWNfaGFuZGxlX2lycSkgZnJvbSBbPGMwMDE0OTMwPl0gKF9faXJxX3N2YysweDcw LzB4OTgpCkV4Y2VwdGlvbiBzdGFjaygweGVjZTc1YWIwIHRvIDB4ZWNlNzVhZjgpCjVhYTA6ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAwMDAwMDAxIGVlMzc1YTcwIDAwMDAw MDAwIDYwMDcwMTkzCjVhYzA6IDIwMDcwMTEzIGMwYTRiOTEwIDAwMDAwMDAxIDAwMDAwMDAyIDAw MDAwMDAyIGMwYTRiNjgwIGMwYWNiYzM0IGVjZTc1YjE0CjVhZTA6IGVjZTc1YWQwIGVjZTc1YjAw IGMwMDgyMWEwIGMwNzRlMDI4IDYwMDcwMTEzIGZmZmZmZmZmCiByMTA6YzBhY2JjMzQgcjk6ZWNl NzQwMDAgcjg6MDAwMDAwMDIgcjc6ZWNlNzVhZTQgcjY6ZmZmZmZmZmYgcjU6NjAwNzAxMTMKIHI0 OmMwNzRlMDI4IHIzOmVlMzc1NWMwCls8YzA3NGRmZWM+XSAoX3Jhd19zcGluX3VubG9ja19pcnFy ZXN0b3JlKSBmcm9tIFs8YzAwN2EzODg+XSAoc3dha2VfdXArMHgzYy8weDQwKQogcjU6MjAwNzAx MTMgcjQ6YzBhNGI5MTAKWzxjMDA3YTM0Yz5dIChzd2FrZV91cCkgZnJvbSBbPGMwMGEwODIwPl0g KHJjdV9ncF9rdGhyZWFkX3dha2UrMHg0OC8weDRjKQogcjU6NjAwNzAxMTMgcjQ6ZWVmODUzNDAK WzxjMDBhMDdkOD5dIChyY3VfZ3Bfa3RocmVhZF93YWtlKSBmcm9tIFs8YzAwYTJkOTg+XSAocmN1 X3Byb2Nlc3NfY2FsbGJhY2tzKzB4M2E4LzB4OTNjKQpbPGMwMGEyOWYwPl0gKHJjdV9wcm9jZXNz X2NhbGxiYWNrcykgZnJvbSBbPGMwMDM0Y2I4Pl0gKF9fZG9fc29mdGlycSsweGU4LzB4NWU0KQog cjEwOmMwYWNiYzM0IHI5OjAwMDAwMDI0IHI4OjAwMDAwMDAyIHI3OjAwMDAwMDAyIHI2OmMwYTNk NTU0IHI1OjAwMDAwMDA5CiByNDpjMGEzZDBhNApbPGMwMDM0YmQwPl0gKF9fZG9fc29mdGlycSkg ZnJvbSBbPGMwMDM1NTM0Pl0gKGlycV9leGl0KzB4ZTQvMHgxNTApCiByMTA6ZWNlNzVjNjggcjk6 ZjQwMDExMDAgcjg6ZWU4MjAwMDAgcjc6MDAwMDAwMWQgcjY6MDAwMDAwMDAgcjU6MDAwMDAwMDAK IHI0OmMwYTM3MjQwCls8YzAwMzU0NTA+XSAoaXJxX2V4aXQpIGZyb20gWzxjMDA5NWYyOD5dIChf X2hhbmRsZV9kb21haW5faXJxKzB4NjAvMHhiOCkKWzxjMDA5NWVjOD5dIChfX2hhbmRsZV9kb21h aW5faXJxKSBmcm9tIFs8YzAwMDk0Yzg+XSAoZ2ljX2hhbmRsZV9pcnErMHg0Yy8weDljKQogcjg6 YzBhOTI5NTAgcjc6MDAwMDAzZWIgcjY6YzBhM2RiYTQgcjU6ZjQwMDAxMGMgcjQ6ZjQwMDAxMDAg cjM6ZWNlNzVjNjgKWzxjMDAwOTQ3Yz5dIChnaWNfaGFuZGxlX2lycSkgZnJvbSBbPGMwMDE0OTMw Pl0gKF9faXJxX3N2YysweDcwLzB4OTgpCkV4Y2VwdGlvbiBzdGFjaygweGVjZTc1YzY4IHRvIDB4 ZWNlNzVjYjApCjVjNjA6ICAgICAgICAgICAgICAgICAgIDAwMDAwMDAxIGVjZTc1ZWIwIGVjZTc1 Y2E4IGVlNzY1NzQ4IGVlNzY1NzQ4IGVlNDM1N2U4CjVjODA6IGVkN2U5MDExIGVlZWZhMDAwIGMw YWNiMWY2IDAwMDAyMDgxIGVjZTc1ZWIwIGVjZTc1Y2Y0IGVjZTc1Y2I4IGVjZTc1Y2I4CjVjYTA6 IGMwMTgxNzY0IGMwMTgxODM4IDYwMDcwMDEzIGZmZmZmZmZmCiByMTA6ZWNlNzVlYjAgcjk6ZWNl NzQwMDAgcjg6YzBhY2IxZjYgcjc6ZWNlNzVjOWMgcjY6ZmZmZmZmZmYgcjU6NjAwNzAwMTMKIHI0 OmMwMTgxODM4IHIzOmVlMzc1NWMwCls8YzAxODE3MjQ+XSAoX19kX2xvb2t1cF9yY3UpIGZyb20g WzxjMDE3MWRhMD5dIChsb29rdXBfZmFzdCsweDQ4LzB4Mzg0KQogcjEwOmVjZTc1ZDVjIHI5OmVl OTU1OTEwIHI4OmVjZTc1ZDU4IHI3OmVlNDM1N2U4IHI2OjAwMDAwMDAwIHI1OmVjZTc1ZDYwCiBy NDplY2U3NWVhOApbPGMwMTcxZDU4Pl0gKGxvb2t1cF9mYXN0KSBmcm9tIFs8YzAxNzQ2NDQ+XSAo d2Fsa19jb21wb25lbnQrMHgzNC8weDI4NCkKIHIxMDo5MDk1NDM3MyByOTpmZjAxMDMwMSByODpl Y2U3NWVhOCByNzowMDAwMDAwMSByNjowMDAwMDAwMCByNToyZjcyNzM3NQogcjQ6ZWNlNzVlYTgK WzxjMDE3NDYxMD5dICh3YWxrX2NvbXBvbmVudCkgZnJvbSBbPGMwMTc0YTMwPl0gKGxpbmtfcGF0 aF93YWxrKzB4MTljLzB4NGI4KQogcjc6ZWQ3ZTkwMTUgcjY6ZWU0MzU3ZTggcjU6MmY3MjczNzUg cjQ6N2ZmZmZmZmYKWzxjMDE3NDg5ND5dIChsaW5rX3BhdGhfd2FsaykgZnJvbSBbPGMwMTc1MTRj Pl0gKHBhdGhfb3BlbmF0KzB4NzAvMHhlZTApCiByMTA6ZWNlNzVlYTggcjk6ZWNlNzQwMDAgcjg6 ZWNlNzVmNWMgcjc6MDAwMDAwMDMgcjY6ZWNlNzVlYTggcjU6ZWNlNzVmNWMKIHI0OjAwMDAwMDQ2 Cls8YzAxNzUwZGM+XSAocGF0aF9vcGVuYXQpIGZyb20gWzxjMDE3NmRkMD5dIChkb19maWxwX29w ZW4rMHg2OC8weGJjKQogcjEwOjAwMDAwMDAwIHI5OmVjZTc0MDAwIHI4OmMwMDBmZjQ0IHI3OjAw MDAwMDAzIHI2OmVjZTc1ZWE4IHI1OmVjZTc1ZjVjCiByNDowMDAwMDA0NgpbPGMwMTc2ZDY4Pl0g KGRvX2ZpbHBfb3BlbikgZnJvbSBbPGMwMTY1YjRjPl0gKGRvX3N5c19vcGVuKzB4MTIwLzB4MWQ0 KQogcjc6MDAwMDAxNDIgcjY6ZmZmZmZmOWMgcjU6ZWQ3ZTkwMDAgcjQ6MDAwMDAwNDYKWzxjMDE2 NWEyYz5dIChkb19zeXNfb3BlbikgZnJvbSBbPGMwMTY1YzNjPl0gKFN5U19vcGVuYXQrMHgxNC8w eDE4KQogcjEwOjAwMDAwMDAwIHI4OmMwMDBmZjQ0IHI3OjAwMDAwMTQyIHI2OjgwMTQ2MmM4IHI1 OmJlZDk0NDY4IHI0OjgwMTQ2NDUwCls8YzAxNjVjMjg+XSAoU3lTX29wZW5hdCkgZnJvbSBbPGMw MDBmZGEwPl0gKHJldF9mYXN0X3N5c2NhbGwrMHgwLzB4MWMpCkNvZGU6IDBhZmZmZmU5IGUyODAy ZjQxIGY1OTJmMDAwIGUxOTIxZjlmIChlMjgxMTAwMSkKLS0tWyBlbmQgdHJhY2UgOGZmZDMyM2Fj MzIyZjA2MiBdLS0tCgotLSAKUk1LJ3MgUGF0Y2ggc3lzdGVtOiBodHRwOi8vd3d3LmFybWxpbnV4 Lm9yZy51ay9kZXZlbG9wZXIvcGF0Y2hlcy8KRlRUQyBicm9hZGJhbmQgZm9yIDAuOG1pbGUgbGlu ZTogY3VycmVudGx5IGF0IDkuNk1icHMgZG93biA0MDBrYnBzIHVwCmFjY29yZGluZyB0byBzcGVl ZHRlc3QubmV0LgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK