From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Tvrtko Ursulin Date: Wed, 22 May 2019 16:57:10 +0100 Message-Id: <20190522155720.28723-6-tvrtko.ursulin@linux.intel.com> In-Reply-To: <20190522155720.28723-1-tvrtko.ursulin@linux.intel.com> References: <20190522155720.28723-1-tvrtko.ursulin@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH i-g-t 05/15] gem_wsim: Engine bond command List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: igt-dev@lists.freedesktop.org Cc: Intel-gfx@lists.freedesktop.org List-ID: RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkVuZ2luZSBi b25kcyBhcmUgYW4gaTkxNSB1QVBJIGFwcGxpY2FibGUgdG8gbG9hZCBiYWxhbmNlZCBjb250ZXh0 cyB3aXRoCmVuZ2luZSBtYXAuIFRoZXkgYWxsb3cgZXhwcmVzc2lvbiBydWxlcyBvZiBlbmdpbmUg c2VsZWN0aW9uIGJldHdlZW4gdHdvCmNvbnRleHRzIHdoZW4gc3VibWlzc2lvbnMgYXJlIGFsc28g dGllZCB3aXRoIHN1Ym1pdCBmZW5jZXMuCgpQbGVhc2UgcmVmZXIgdG8gdGhlIFJFQURNRSBmb3Ig YSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9uLgoKdjI6CiAqIFVzZSBsaXN0IG9mIHN5bWJvbGlj IGVuZ2luZSBuYW1lcyBpbnN0ZWFkIG9mIHRoZSBtYXNrLiAoQ2hyaXMpCgpTaWduZWQtb2ZmLWJ5 OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5AaW50ZWwuY29tPgpSZXZpZXdlZC1ieTog Q2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogYmVuY2htYXJrcy9n ZW1fd3NpbS5jICB8IDE1OSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKyst LQogYmVuY2htYXJrcy93c2ltL1JFQURNRSB8ICA1MCArKysrKysrKysrKysrCiAyIGZpbGVzIGNo YW5nZWQsIDIwMiBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Jl bmNobWFya3MvZ2VtX3dzaW0uYyBiL2JlbmNobWFya3MvZ2VtX3dzaW0uYwppbmRleCBkNjQ1NjEx Y2Y4YzIuLjZmYjZjOGNlZjJjNyAxMDA2NDQKLS0tIGEvYmVuY2htYXJrcy9nZW1fd3NpbS5jCisr KyBiL2JlbmNobWFya3MvZ2VtX3dzaW0uYwpAQCAtODUsNiArODUsNyBAQCBlbnVtIHdfdHlwZQog CVBSRUVNUFRJT04sCiAJRU5HSU5FX01BUCwKIAlMT0FEX0JBTEFOQ0UsCisJQk9ORCwKIH07CiAK IHN0cnVjdCBkZXBzCkBAIC0xMDAsNiArMTAxLDExIEBAIHN0cnVjdCB3X2FyZyB7CiAJaW50IHBy aW87CiB9OwogCitzdHJ1Y3QgYm9uZCB7CisJdWludDY0X3QgbWFzazsKKwllbnVtIGludGVsX2Vu Z2luZV9pZCBtYXN0ZXI7Cit9OworCiBzdHJ1Y3Qgd19zdGVwCiB7CiAJLyogV29ya2xvYWQgc3Rl cCBtZXRhZGF0YSAqLwpAQCAtMTIzLDYgKzEyOSwxMCBAQCBzdHJ1Y3Qgd19zdGVwCiAJCQllbnVt IGludGVsX2VuZ2luZV9pZCAqZW5naW5lX21hcDsKIAkJfTsKIAkJYm9vbCBsb2FkX2JhbGFuY2U7 CisJCXN0cnVjdCB7CisJCQl1aW50NjRfdCBib25kX21hc2s7CisJCQllbnVtIGludGVsX2VuZ2lu ZV9pZCBib25kX21hc3RlcjsKKwkJfTsKIAl9OwogCiAJLyogSW1wbGVtZW50YXRpb24gZGV0YWls cyAqLwpAQCAtMTUyLDYgKzE2Miw4IEBAIHN0cnVjdCBjdHggewogCWludCBwcmlvcml0eTsKIAl1 bnNpZ25lZCBpbnQgZW5naW5lX21hcF9jb3VudDsKIAllbnVtIGludGVsX2VuZ2luZV9pZCAqZW5n aW5lX21hcDsKKwl1bnNpZ25lZCBpbnQgYm9uZF9jb3VudDsKKwlzdHJ1Y3QgYm9uZCAqYm9uZHM7 CiAJYm9vbCB0YXJnZXRzX2luc3RhbmNlOwogCWJvb2wgd2FudHNfYmFsYW5jZTsKIAl1bnNpZ25l ZCBpbnQgc3RhdGljX3ZjczsKQEAgLTM3OCw2ICszOTAsMjYgQEAgc3RhdGljIGludCBwYXJzZV9l bmdpbmVfbWFwKHN0cnVjdCB3X3N0ZXAgKnN0ZXAsIGNvbnN0IGNoYXIgKl9zdHIpCiAJcmV0dXJu IDA7CiB9CiAKK3N0YXRpYyB1aW50NjRfdCBlbmdpbmVfbGlzdF9tYXNrKGNvbnN0IGNoYXIgKl9z dHIpCit7CisJdWludDY0X3QgbWFzayA9IDA7CisKKwljaGFyICp0b2tlbiwgKnRjdHggPSBOVUxM LCAqdHN0YXJ0ID0gKGNoYXIgKilfc3RyOworCisJd2hpbGUgKCh0b2tlbiA9IHN0cnRva19yKHRz dGFydCwgInwiLCAmdGN0eCkpKSB7CisJCWVudW0gaW50ZWxfZW5naW5lX2lkIGVuZ2luZSA9IHN0 cl90b19lbmdpbmUodG9rZW4pOworCisJCWlmICgoaW50KWVuZ2luZSA8IDAgfHwgZW5naW5lID09 IERFRkFVTFQgfHwgZW5naW5lID09IFZDUykKKwkJCXJldHVybiAwOworCisJCW1hc2sgfD0gMSA8 PCBlbmdpbmU7CisKKwkJdHN0YXJ0ID0gTlVMTDsKKwl9CisKKwlyZXR1cm4gbWFzazsKK30KKwog I2RlZmluZSBpbnRfZmllbGQoX1NURVBfLCBfRklFTERfLCBfQ09ORF8sIF9FUlJfKSBcCiAJaWYg KChmaWVsZCA9IHN0cnRva19yKGZzdGFydCwgIi4iLCAmZmN0eCkpKSB7IFwKIAkJdG1wID0gYXRv aShmaWVsZCk7IFwKQEAgLTUyOCw2ICs1NjAsMzkgQEAgcGFyc2Vfd29ya2xvYWQoc3RydWN0IHdf YXJnICphcmcsIHVuc2lnbmVkIGludCBmbGFncywgc3RydWN0IHdvcmtsb2FkICphcHBfdykKIAog CQkJCXN0ZXAudHlwZSA9IExPQURfQkFMQU5DRTsKIAkJCQlnb3RvIGFkZF9zdGVwOworCQkJfSBl bHNlIGlmICghc3RyY21wKGZpZWxkLCAiYiIpKSB7CisJCQkJdW5zaWduZWQgaW50IG5yID0gMDsK KwkJCQl3aGlsZSAoKGZpZWxkID0gc3RydG9rX3IoZnN0YXJ0LCAiLiIsICZmY3R4KSkpIHsKKwkJ CQkJY2hlY2tfYXJnKG5yID4gMiwKKwkJCQkJCSAgIkludmFsaWQgYm9uZCBmb3JtYXQgYXQgc3Rl cCAldSFcbiIsCisJCQkJCQkgIG5yX3N0ZXBzKTsKKworCQkJCQlpZiAobnIgPT0gMCkgeworCQkJ CQkJdG1wID0gYXRvaShmaWVsZCk7CisJCQkJCQlzdGVwLmNvbnRleHQgPSB0bXA7CisJCQkJCQlj aGVja19hcmcodG1wIDw9IDAsCisJCQkJCQkJICAiSW52YWxpZCBjb250ZXh0IGF0IHN0ZXAgJXUh XG4iLAorCQkJCQkJCSAgbnJfc3RlcHMpOworCQkJCQl9IGVsc2UgaWYgKG5yID09IDEpIHsKKwkJ CQkJCXN0ZXAuYm9uZF9tYXNrID0gZW5naW5lX2xpc3RfbWFzayhmaWVsZCk7CisJCQkJCQljaGVj a19hcmcoc3RlcC5ib25kX21hc2sgPT0gMCwKKwkJCQkJCQkiSW52YWxpZCBzaWJsaW5ncyBsaXN0 IGF0IHN0ZXAgJXUhXG4iLAorCQkJCQkJCW5yX3N0ZXBzKTsKKwkJCQkJfSBlbHNlIGlmIChuciA9 PSAyKSB7CisJCQkJCQl0bXAgPSBzdHJfdG9fZW5naW5lKGZpZWxkKTsKKwkJCQkJCWNoZWNrX2Fy Zyh0bXAgPD0gMCB8fAorCQkJCQkJCSAgdG1wID09IFZDUyB8fAorCQkJCQkJCSAgdG1wID09IERF RkFVTFQsCisJCQkJCQkJICAiSW52YWxpZCBtYXN0ZXIgZW5naW5lIGF0IHN0ZXAgJXUhXG4iLAor CQkJCQkJCSAgbnJfc3RlcHMpOworCQkJCQkJc3RlcC5ib25kX21hc3RlciA9IHRtcDsKKwkJCQkJ fQorCisJCQkJCW5yKys7CisJCQkJfQorCisJCQkJc3RlcC50eXBlID0gQk9ORDsKKwkJCQlnb3Rv IGFkZF9zdGVwOwogCQkJfQogCiAJCQlpZiAoIWZpZWxkKSB7CkBAIC0xMDExLDYgKzEwNzYsMzEg QEAgc3RhdGljIHZvaWQgdm1fZGVzdHJveShpbnQgaTkxNSwgdWludDMyX3Qgdm1faWQpCiAJaWd0 X2Fzc2VydF9lcShfX3ZtX2Rlc3Ryb3koaTkxNSwgdm1faWQpLCAwKTsKIH0KIAorc3RhdGljIHVu c2lnbmVkIGludAorZmluZF9lbmdpbmUoc3RydWN0IGk5MTVfZW5naW5lX2NsYXNzX2luc3RhbmNl ICpjaSwgdW5zaWduZWQgaW50IGNvdW50LAorCSAgICBlbnVtIGludGVsX2VuZ2luZV9pZCBlbmdp bmUpCit7CisJc3RhdGljIHN0cnVjdCBpOTE1X2VuZ2luZV9jbGFzc19pbnN0YW5jZSBtYXBbXSA9 IHsKKwkJW1JDU10gPSB7IEk5MTVfRU5HSU5FX0NMQVNTX1JFTkRFUiwgMCB9LAorCQlbQkNTXSA9 IHsgSTkxNV9FTkdJTkVfQ0xBU1NfQ09QWSwgMCB9LAorCQlbVkNTMV0gPSB7IEk5MTVfRU5HSU5F X0NMQVNTX1ZJREVPLCAwIH0sCisJCVtWQ1MyXSA9IHsgSTkxNV9FTkdJTkVfQ0xBU1NfVklERU8s IDEgfSwKKwkJW1ZFQ1NdID0geyBJOTE1X0VOR0lORV9DTEFTU19WSURFT19FTkhBTkNFLCAwIH0s CisJfTsKKwl1bnNpZ25lZCBpbnQgaTsKKworCWlndF9hc3NlcnQoZW5naW5lIDwgQVJSQVlfU0la RShtYXApKTsKKwlpZ3RfYXNzZXJ0KGVuZ2luZSA9PSBSQ1MgfHwgbWFwW2VuZ2luZV0uZW5naW5l X2NsYXNzKTsKKworCWZvciAoaSA9IDA7IGkgPCBjb3VudDsgaSsrLCBjaSsrKSB7CisJCWlmICgh bWVtY21wKCZtYXBbZW5naW5lXSwgY2ksIHNpemVvZigqY2kpKSkKKwkJCXJldHVybiBpOworCX0K KworCWlndF9hc3NlcnQoMCk7CisJcmV0dXJuIDA7Cit9CisKIHN0YXRpYyBpbnQKIHByZXBhcmVf d29ya2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgdW5zaWduZWQg aW50IGZsYWdzKQogewpAQCAtMTA3OCw2ICsxMTY4LDggQEAgcHJlcGFyZV93b3JrbG9hZCh1bnNp Z25lZCBpbnQgaWQsIHN0cnVjdCB3b3JrbG9hZCAqd3JrLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJ ICogVHJhbnNmZXIgb3ZlciBlbmdpbmUgbWFwIGNvbmZpZ3VyYXRpb24gZnJvbSB0aGUgd29ya2xv YWQgc3RlcC4KIAkgKi8KIAlmb3IgKGogPSAwOyBqIDwgd3JrLT5ucl9jdHhzOyBqICs9IDIpIHsK KwkJc3RydWN0IGN0eCAqY3R4ID0gJndyay0+Y3R4X2xpc3Rbal07CisKIAkJYm9vbCB0YXJnZXRz ID0gZmFsc2U7CiAJCWJvb2wgYmFsYW5jZSA9IGZhbHNlOwogCkBAIC0xMDkxLDE2ICsxMTgzLDI4 IEBAIHByZXBhcmVfd29ya2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndy aywgdW5zaWduZWQgaW50IGZsYWdzKQogCQkJCWVsc2UKIAkJCQkJdGFyZ2V0cyA9IHRydWU7CiAJ CQl9IGVsc2UgaWYgKHctPnR5cGUgPT0gRU5HSU5FX01BUCkgewotCQkJCXdyay0+Y3R4X2xpc3Rb al0uZW5naW5lX21hcCA9IHctPmVuZ2luZV9tYXA7Ci0JCQkJd3JrLT5jdHhfbGlzdFtqXS5lbmdp bmVfbWFwX2NvdW50ID0KLQkJCQkJdy0+ZW5naW5lX21hcF9jb3VudDsKKwkJCQljdHgtPmVuZ2lu ZV9tYXAgPSB3LT5lbmdpbmVfbWFwOworCQkJCWN0eC0+ZW5naW5lX21hcF9jb3VudCA9IHctPmVu Z2luZV9tYXBfY291bnQ7CiAJCQl9IGVsc2UgaWYgKHctPnR5cGUgPT0gTE9BRF9CQUxBTkNFKSB7 Ci0JCQkJaWYgKCF3cmstPmN0eF9saXN0W2pdLmVuZ2luZV9tYXApIHsKKwkJCQlpZiAoIWN0eC0+ ZW5naW5lX21hcCkgewogCQkJCQl3c2ltX2VycigiTG9hZCBiYWxhbmNpbmcgbmVlZHMgYW4gZW5n aW5lIG1hcCFcbiIpOwogCQkJCQlyZXR1cm4gMTsKIAkJCQl9Ci0JCQkJd3JrLT5jdHhfbGlzdFtq XS53YW50c19iYWxhbmNlID0KLQkJCQkJdy0+bG9hZF9iYWxhbmNlOworCQkJCWN0eC0+d2FudHNf YmFsYW5jZSA9IHctPmxvYWRfYmFsYW5jZTsKKwkJCX0gZWxzZSBpZiAody0+dHlwZSA9PSBCT05E KSB7CisJCQkJaWYgKCFjdHgtPndhbnRzX2JhbGFuY2UpIHsKKwkJCQkJd3NpbV9lcnIoIkVuZ2lu ZSBib25kcyBuZWVkIGxvYWQgYmFsYW5jaW5nIGVuZ2luZSBtYXAhXG4iKTsKKwkJCQkJcmV0dXJu IDE7CisJCQkJfQorCQkJCWN0eC0+Ym9uZF9jb3VudCsrOworCQkJCWN0eC0+Ym9uZHMgPSByZWFs bG9jKGN0eC0+Ym9uZHMsCisJCQkJCQkgICAgIGN0eC0+Ym9uZF9jb3VudCAqCisJCQkJCQkgICAg IHNpemVvZihzdHJ1Y3QgYm9uZCkpOworCQkJCWlndF9hc3NlcnQoY3R4LT5ib25kcyk7CisJCQkJ Y3R4LT5ib25kc1tjdHgtPmJvbmRfY291bnQgLSAxXS5tYXNrID0KKwkJCQkJdy0+Ym9uZF9tYXNr OworCQkJCWN0eC0+Ym9uZHNbY3R4LT5ib25kX2NvdW50IC0gMV0ubWFzdGVyID0KKwkJCQkJdy0+ Ym9uZF9tYXN0ZXI7CiAJCQl9CiAJCX0KIApAQCAtMTI3NCw2ICsxMzc4LDQ2IEBAIHByZXBhcmVf d29ya2xvYWQodW5zaWduZWQgaW50IGlkLCBzdHJ1Y3Qgd29ya2xvYWQgKndyaywgdW5zaWduZWQg aW50IGZsYWdzKQogCQkJCQljdHgtPmVuZ2luZV9tYXBbaiAtIDFdIC0gVkNTMTsgLyogRklYTUUg Ki8KIAkJCX0KIAorCQkJZm9yIChqID0gMDsgaiA8IGN0eC0+Ym9uZF9jb3VudDsgaisrKSB7CisJ CQkJdW5zaWduZWQgbG9uZyBtYXNrID0gY3R4LT5ib25kc1tqXS5tYXNrOworCQkJCUk5MTVfREVG SU5FX0NPTlRFWFRfRU5HSU5FU19CT05EKGJvbmQsCisJCQkJCQkJCSBfX2J1aWx0aW5fcG9wY291 bnQobWFzaykpOworCQkJCXN0cnVjdCBpOTE1X2NvbnRleHRfZW5naW5lc19ib25kICpwID0gTlVM TCwgKnByZXY7CisJCQkJdW5zaWduZWQgaW50IGIsIGU7CisKKwkJCQlwcmV2ID0gcDsKKwkJCQlw ID0gYWxsb2NhKHNpemVvZihib25kKSk7CisJCQkJYXNzZXJ0KHApOworCQkJCW1lbXNldChwLCAw LCBzaXplb2YoYm9uZCkpOworCisJCQkJaWYgKGogPT0gMCkKKwkJCQkJbG9hZF9iYWxhbmNlLmJh c2UubmV4dF9leHRlbnNpb24gPQorCQkJCQkJdG9fdXNlcl9wb2ludGVyKHApOworCQkJCWVsc2Ug aWYgKGogPCAoY3R4LT5ib25kX2NvdW50IC0gMSkpCisJCQkJCXByZXYtPmJhc2UubmV4dF9leHRl bnNpb24gPQorCQkJCQkJdG9fdXNlcl9wb2ludGVyKHApOworCisJCQkJcC0+YmFzZS5uYW1lID0g STkxNV9DT05URVhUX0VOR0lORVNfRVhUX0JPTkQ7CisJCQkJcC0+dmlydHVhbF9pbmRleCA9IDA7 CisJCQkJcC0+bWFzdGVyLmVuZ2luZV9jbGFzcyA9CisJCQkJCUk5MTVfRU5HSU5FX0NMQVNTX1ZJ REVPOworCQkJCXAtPm1hc3Rlci5lbmdpbmVfaW5zdGFuY2UgPQorCQkJCQljdHgtPmJvbmRzW2pd Lm1hc3RlciAtIFZDUzE7CisKKwkJCQlmb3IgKGIgPSAwLCBlID0gMDsgbWFzazsgZSsrLCBtYXNr ID4+PSAxKSB7CisJCQkJCXVuc2lnbmVkIGludCBpZHg7CisKKwkJCQkJaWYgKCEobWFzayAmIDEp KQorCQkJCQkJY29udGludWU7CisKKwkJCQkJaWR4ID0gZmluZF9lbmdpbmUoJnNldF9lbmdpbmVz LmVuZ2luZXNbMV0sCisJCQkJCQkJICBjdHgtPmVuZ2luZV9tYXBfY291bnQsCisJCQkJCQkJICBl KTsKKwkJCQkJcC0+ZW5naW5lc1tiKytdID0KKwkJCQkJCXNldF9lbmdpbmVzLmVuZ2luZXNbMSAr IGlkeF07CisJCQkJfQorCQkJfQorCiAJCQlnZW1fY29udGV4dF9zZXRfcGFyYW0oZmQsICZwYXJh bSk7CiAJCX0gZWxzZSBpZiAoY3R4LT53YW50c19iYWxhbmNlKSB7CiAJCQlJOTE1X0RFRklORV9D T05URVhUX0VOR0lORVNfTE9BRF9CQUxBTkNFKGxvYWRfYmFsYW5jZSwgMikgPSB7CkBAIC0yMjQ4 LDcgKzIzOTIsOCBAQCBzdGF0aWMgdm9pZCAqcnVuX3dvcmtsb2FkKHZvaWQgKmRhdGEpCiAJCQkJ Y29udGludWU7CiAJCQl9IGVsc2UgaWYgKHctPnR5cGUgPT0gUFJFRU1QVElPTiB8fAogCQkJCSAg IHctPnR5cGUgPT0gRU5HSU5FX01BUCB8fAotCQkJCSAgIHctPnR5cGUgPT0gTE9BRF9CQUxBTkNF KSB7CisJCQkJICAgdy0+dHlwZSA9PSBMT0FEX0JBTEFOQ0UgfHwKKwkJCQkgICB3LT50eXBlID09 IEJPTkQpIHsKIAkJCQljb250aW51ZTsKIAkJCX0KIApkaWZmIC0tZ2l0IGEvYmVuY2htYXJrcy93 c2ltL1JFQURNRSBiL2JlbmNobWFya3Mvd3NpbS9SRUFETUUKaW5kZXggMmMwODU5MjFlOTdiLi5j NTEwNzMyNmE2ODEgMTAwNjQ0Ci0tLSBhL2JlbmNobWFya3Mvd3NpbS9SRUFETUUKKysrIGIvYmVu Y2htYXJrcy93c2ltL1JFQURNRQpAQCAtNyw2ICs3LDcgQEAgQi48dWludD4KIE0uPHVpbnQ+Ljxz dHI+W3w8c3RyPl0uLi4KIFB8WC48dWludD4uPGludD4KIGR8cHxzfHR8cXxhLjxpbnQ+LC4uLgor Yi48dWludD4uPHN0cj5bfDxzdHI+XS48c3RyPgogZgogCiBGb3IgZHVyYXRpb24gYSByYW5nZSBj YW4gYmUgZ2l2ZW4gZnJvbSB3aGljaCBhIHJhbmRvbSB2YWx1ZSB3aWxsIGJlIHBpY2tlZApAQCAt MjYsNiArMjcsNyBAQCBBZGRpdGlvbmFsIHdvcmtsb2FkIHN0ZXBzIGFyZSBhbHNvIHN1cHBvcnRl ZDoKICAnZicgLSBDcmVhdGUgYSBzeW5jIGZlbmNlLgogICdhJyAtIEFkdmFuY2UgdGhlIHByZXZp b3VzbHkgY3JlYXRlZCBzeW5jIGZlbmNlLgogICdCJyAtIFR1cm4gb24gY29udGV4dCBsb2FkIGJh bGFuY2luZy4KKyAnYicgLSBTZXQgdXAgZW5naW5lIGJvbmRzLgogICdNJyAtIFNldCB1cCBlbmdp bmUgbWFwLgogICdQJyAtIENvbnRleHQgcHJpb3JpdHkuCiAgJ1gnIC0gQ29udGV4dCBwcmVlbXB0 aW9uIGNvbnRyb2wuCkBAIC0xOTksMyArMjAxLDUxIEBAIEV4YW1wbGU6CiAgIEIuMQogCiBUaGlz IGVuYWJsZXMgbG9hZCBiYWxhbmNpbmcgZm9yIGNvbnRleHQgbnVtYmVyIG9uZS4KKworRW5naW5l IGJvbmRzCistLS0tLS0tLS0tLS0KKworRW5naW5lIGJvbmRzIGFyZSBleHRlbnNpb25zIG9uIGxv YWQgYmFsYW5jZWQgY29udGV4dHMuIFRoZXkgYWxsb3cgZXhwcmVzc2luZworcnVsZXMgb2YgZW5n aW5lIHNlbGVjdGlvbiBiZXR3ZWVuIHR3byBjby1vcGVyYXRpbmcgY29udGV4dHMgdGllZCB3aXRo IHN1Ym1pdAorZmVuY2VzLiBJbiBvdGhlciB3b3JkcywgdGhlIHJ1bGUgZXhwcmVzc2lvbiBpcyB0 ZWxsaW5nIHRoZSBkcml2ZXI6ICJJZiB5b3UgcGljawordGhpcyBlbmdpbmUgZm9yIGNvbnRleHQg b25lLCB0aGVuIHlvdSBoYXZlIHRvIHBpY2sgdGhhdCBlbmdpbmUgZm9yIGNvbnRleHQgdHdvIi4K KworU3ludGF4IGlzOgorICBiLjxjb250ZXh0Pi48ZW5naW5lX2xpc3Q+LjxtYXN0ZXJfZW5naW5l PgorCitFbmdpbmUgbGlzdCBpcyBhIGxpc3Qgb2Ygb25lIG9yIG1vcmUgc2libGluZyBlbmdpbmVz IHNlcGFyYXRlZCBieSBhIHBpcGUKK2NoYXJhY3RlciAoZWcuICJWQ1MxfFZDUzIiKS4KKworVGhl cmUgY2FuIGJlIG11bHRpcGxlIGJvbmRzIHRpZWQgdG8gdGhlIHNhbWUgY29udGV4dC4KKworRXhh bXBsZToKKworICBNLjEuUkNTfFZFQ1MKKyAgQi4xCisgIE0uMi5WQ1MxfFZDUzIKKyAgQi4yCisg IGIuMi5WQ1MxLlJDUworICBiLjIuVkNTMi5WRUNTCisKK1RoaXMgdGVsbHMgdGhlIGRyaXZlciB0 aGF0IGlmIGl0IHBpY2tlZCBSQ1MgZm9yIGNvbnRleHQgb25lLCBpdCBoYXMgdG8gcGljayBWQ1Mx Citmb3IgY29udGV4dCB0d28uIEFuZCBpZiBpdCBwaWNrZWQgVkVDUyBmb3IgY29udGV4dCBvbmUs IGl0IGhhcyB0byBwaWNrIFZDUzEgZm9yCitjb250ZXh0IHR3by4KKworSWYgd2UgZXh0ZW5kIHRo ZSBhYm92ZSBleGFtcGxlIHdpdGggbW9yZSB3b3JrbG9hZCBkaXJlY3RpdmVzOgorCisgIDEuREVG QVVMVC4xMDAwLjAuMAorICAyLkRFRkFVTFQuMTAwMC5zLTEuMAorCitXZSBnZXQgdG8gYSBmdWxs eSBmdW5jdGlvbmFsIGV4YW1wbGUgd2hlcmUgdHdvIGJhdGNoIGJ1ZmZlcnMgYXJlIHN1Ym1pdHRl ZCBpbiBhCitsb2FkIGJhbGFuY2VkIGZhc2hpb24sIHRlbGxpbmcgdGhlIGRyaXZlciB0aGV5IHNo b3VsZCBydW4gc2ltdWx0YW5lb3VzbHkgYW5kCit0aGF0IHZhbGlkIGVuZ2luZSBwYWlycyBhcmUg ZWl0aGVyIFJDUyArIFZDUzEgKGZvciB0d28gY29udGV4dHMgcmVzcGVjdGl2ZWx5KSwKK29yIFZF Q1MgKyBWQ1MyLgorCitUaGlzIGNhbiBhbHNvIGJlIGV4dGVuZGVkIHVzaW5nIHN5bmMgZmVuY2Vz IHRvIGltcHJvdmUgY2hhbmNlcyBvZiB0aGUgZmlyc3QKK3N1Ym1pc3Npb24gbm90IGdldHRpbmcg b24gdGhlIGhhcmR3YXJlIGFmdGVyIHRoZSBzZWNvbmQgb25lLiBTZWNvbmQgYmxvY2sgd291bGQK K3RoZW4gbG9vayBsaWtlOgorCisgIGYKKyAgMS5ERUZBVUxULjEwMDAuZi0xLjAKKyAgMi5ERUZB VUxULjEwMDAucy0xLjAKKyAgYS4tMwotLSAKMi4yMC4xCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFp bG1hbi9saXN0aW5mby9pbnRlbC1nZng=