From mboxrd@z Thu Jan 1 00:00:00 1970 From: Zhongze Liu Subject: [PATCH v2] xen: Allow a default compiled-in command line using Kconfig Date: Mon, 6 Mar 2017 19:01:42 +0800 Message-ID: <20170306110142.11848-1-blackskygg@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ckqPB-0003nv-AQ for xen-devel@lists.xenproject.org; Mon, 06 Mar 2017 11:02:17 +0000 Received: by mail-pg0-f66.google.com with SMTP id 25so19504507pgy.3 for ; Mon, 06 Mar 2017 03:02:15 -0800 (PST) List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Stefano Stabellini , Zhongze Liu , Andrew Cooper , Doug Goldstein , Julien Grall , Jan Beulich List-Id: xen-devel@lists.xenproject.org QWRkZWQgMyBuZXcgY29uZmlnIGVudHJpZXMgaW4gY29tbW9uL0tjb25maWc6CiAgICBDTURMSU5F X0JPT0wsIENNRExJTkUgYW5kIENNRExJTkVfT1ZFUlJJREUKClRoZXNlIDMgZW50cmllcyBlbmFi bGUgYW4gZW1iZWRkZWQgY29tbWFuZCBsaW5lCnRvIGJlIGNvbXBpbGVkIGluIHRoZSBoeXBlcnZp c29yLgoKSWYgQ01ETElORV9CT09MIGlzIHNldCB0byB5LCBib3RoIGFybSBhbmQgeDg2IHN0YXJ0 dXAgcm91dGluZXMKd2lsbCBjb21iaW5lIHRoZSBjb21waWxlZC1pbiBjb21tYW5kIGxpbmUgYW5k IHRoZSBib290IGxvYWRlciBjb21tYW5kIGxpbmUKdG9nZXRoZXIgdG8gZm9ybSBhIGNvbXBsZXRl IGNvbW1hbmQgbGluZSBiZWZvcmUgY2FsbGluZyBjbWRsaW5lX3BhcnNlKCkuCkFuZCBpZiBDTURM SU5FX09WRVJSSURFIGlzIHNldCB0byB5LCBib290IGxvYWRlciBjb21tYW5kIGxpbmUKd2lsbCBi ZSBpZ25vcmVkLgoKVGhpcyBhbGxvd3MgZG93bnN0cmVhbXMgdG8gc2V0IHRoZWlyIGRlZmF1bHRz CndpdGhvdXQgbW9kaWZ5aW5nIHRoZSBzb3VyY2UgY29kZSBhbGwgb3ZlciB0aGUgcGxhY2UuCkFs c28gcHJvYmFibHkgdXNlZnVsIGZvciB0aGUgZW1iZWRkZWQgc3BhY2UuCgpTZWUgQWxzbzogaHR0 cHM6Ly94ZW5wcm9qZWN0LmF0bGFzc2lhbi5uZXQvcHJvamVjdHMvWEVOL2lzc3Vlcy9YRU4tNDE/ ZmlsdGVyPWFsbG9wZW5pc3N1ZXMKClNpZ25lZC1vZmYtYnk6IFpob25nemUgTGl1IDxibGFja3Nr eWdnQGdtYWlsLmNvbT4KCi0tLQpDaGFuZ2VkIHNpbmNlIHYxOgogICogQWRkZWQgdGhlIG1pc3Np bmcgQ01ETElORV9PVkVSUklERSBjb25maWcgZW50cnkuCiAgKiBDb21iaW5lZCBidWlsdC1pbiBh bmQgYm9vdCBsb2FkZXIgY29tbWFuZCBsaW5lcyBpbnRvIG9uZSBjb21tYW5kIGxpbmUKICAgIGJl Zm9yZSBjYWxsaW5nIGNtZGxpbmVfcGFyc2UoKSAoaW5zdGVhZCBvZiBjYWxsaW5nIGNtZGxpbmVf cGFyc2UoKSB0d2ljZSkuCiAgKiBIYW5kbGVkIGRvbTAgY29tbWFuZCBsaW5lIG9wdGlvbnMgKG9w dGlvbnMgYWZ0ZXIgIiAtLSAiIGJlbG9uZyB0byBkb20wKQogICAgaW4gdGhlIHg4NiBzZXR1cCBy b3V0aW5lLgotLS0KIHhlbi9hcmNoL2FybS9zZXR1cC5jIHwgMTUgKysrKysrKysrKy0tCiB4ZW4v YXJjaC94ODYvc2V0dXAuYyB8IDY2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0KIHhlbi9jb21tb24vS2NvbmZpZyAgIHwgMzggKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDk5IGluc2VydGlvbnMoKyksIDIw IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL2FybS9zZXR1cC5jIGIveGVuL2Fy Y2gvYXJtL3NldHVwLmMKaW5kZXggOTJhMmRlNmI3MC4uOWE2OGJkYTBmZSAxMDA2NDQKLS0tIGEv eGVuL2FyY2gvYXJtL3NldHVwLmMKKysrIGIveGVuL2FyY2gvYXJtL3NldHVwLmMKQEAgLTcwNiw2 ICs3MDYsNyBAQCB2b2lkIF9faW5pdCBzdGFydF94ZW4odW5zaWduZWQgbG9uZyBib290X3BoeXNf b2Zmc2V0LAogICAgIGludCBjcHVzLCBpOwogICAgIHBhZGRyX3QgeGVuX3BhZGRyOwogICAgIGNv bnN0IGNoYXIgKmNtZGxpbmU7CisgICAgc3RhdGljIHhlbl9jb21tYW5kbGluZV90IF9faW5pdGRh dGEgY29tcGxldGVfY21kbGluZTsKICAgICBzdHJ1Y3QgYm9vdG1vZHVsZSAqeGVuX2Jvb3Rtb2R1 bGU7CiAgICAgc3RydWN0IGRvbWFpbiAqZG9tMDsKICAgICBzdHJ1Y3QgeGVuX2FyY2hfZG9tYWlu Y29uZmlnIGNvbmZpZzsKQEAgLTcyOSw5ICs3MzAsMTkgQEAgdm9pZCBfX2luaXQgc3RhcnRfeGVu KHVuc2lnbmVkIGxvbmcgYm9vdF9waHlzX29mZnNldCwKICAgICAgICAgKyAoZmR0X3BhZGRyICYg KCgxIDw8IFNFQ09ORF9TSElGVCkgLSAxKSk7CiAgICAgZmR0X3NpemUgPSBib290X2ZkdF9pbmZv KGRldmljZV90cmVlX2ZsYXR0ZW5lZCwgZmR0X3BhZGRyKTsKIAorI2lmZGVmIENPTkZJR19DTURM SU5FCisgICAgc2FmZV9zdHJjcHkoY29tcGxldGVfY21kbGluZSwgQ09ORklHX0NNRExJTkUpOwor ICAgIHByaW50aygiQ29tcGlsZWQtaW4gY29tbWFuZCBsaW5lOiAlc1xuIiwgY29tcGxldGVfY21k bGluZSk7CisjZW5kaWYKKworI2lmbmRlZiBDT05GSUdfQ01ETElORV9PVkVSUklERQogICAgIGNt ZGxpbmUgPSBib290X2ZkdF9jbWRsaW5lKGRldmljZV90cmVlX2ZsYXR0ZW5lZCk7Ci0gICAgcHJp bnRrKCJDb21tYW5kIGxpbmU6ICVzXG4iLCBjbWRsaW5lKTsKLSAgICBjbWRsaW5lX3BhcnNlKGNt ZGxpbmUpOworICAgIHNhZmVfc3RyY2F0KGNvbXBsZXRlX2NtZGxpbmUsICIgIik7CisgICAgc2Fm ZV9zdHJjYXQoY29tcGxldGVfY21kbGluZSwgY21kbGluZSk7CisgICAgcHJpbnRrKCJDb21tYW5k IGxpbmU6ICVzXG4iLCBjb21wbGV0ZV9jbWRsaW5lKTsKKyNlbmRpZgorCisgICAgY21kbGluZV9w YXJzZShjb21wbGV0ZV9jbWRsaW5lKTsKIAogICAgIC8qIFJlZ2lzdGVyIFhlbidzIGxvYWQgYWRk cmVzcyBhcyBhIGJvb3QgbW9kdWxlLiAqLwogICAgIHhlbl9ib290bW9kdWxlID0gYWRkX2Jvb3Rf bW9kdWxlKEJPT1RNT0RfWEVOLApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVwLmMgYi94 ZW4vYXJjaC94ODYvc2V0dXAuYwppbmRleCBkYWI2N2Q1NDkxLi5iODg5OWFhNDQzIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAt NjM2LDEwICs2MzYsMzQgQEAgc3RhdGljIGNoYXIgKiBfX2luaXQgY21kbGluZV9jb29rKGNoYXIg KnAsIGNvbnN0IGNoYXIgKmxvYWRlcl9uYW1lKQogICAgIHJldHVybiBwOwogfQogCisvKgorICog RXh0cmFjdHMgZG9tMCBvcHRpb25zIGZyb20gdGhlIGNvbW1hbmRsaW5lLgorICoKKyAqIE9wdGlv bnMgYWZ0ZXIgJyAtLSAnIHNlcGFyYXRvciBiZWxvbmcgdG8gZG9tMC4KKyAqICAxLiBPcnBoYW4g ZG9tMCdzIG9wdGlvbnMgZnJvbSBYZW4ncyBjb21tYW5kIGxpbmUuCisgKiAgMi4gU2tpcCBhbGwg YnV0IGZpbmFsIGxlYWRpbmcgc3BhY2UgZnJvbSBkb20wJ3Mgb3B0aW9ucy4KKyAqLworCitzdGF0 aWMgaW5saW5lIGNoYXIqIF9faW5pdCBleHRyYWN0X2RvbTBfb3B0aW9ucyhjaGFyICpjbWRsaW5l KQoreworICAgIGNoYXIgKmtleHRyYTsKKworICAgIGlmICggKGtleHRyYSA9IHN0cnN0cihjbWRs aW5lLCAiIC0tICIpKSAhPSBOVUxMICkKKyAgICB7CisgICAgICAgICprZXh0cmEgPSAnXDAnOwor ICAgICAgICBrZXh0cmEgKz0gMzsKKyAgICAgICAgd2hpbGUgKCBrZXh0cmFbMV0gPT0gJyAnICkg a2V4dHJhKys7CisgICAgfQorCisgICAgcmV0dXJuIGtleHRyYTsKK30KKwogdm9pZCBfX2luaXQg bm9yZXR1cm4gX19zdGFydF94ZW4odW5zaWduZWQgbG9uZyBtYmlfcCkKIHsKICAgICBjaGFyICpt ZW1tYXBfdHlwZSA9IE5VTEw7CiAgICAgY2hhciAqY21kbGluZSwgKmtleHRyYSwgKmxvYWRlcjsK KyAgICBzdGF0aWMgeGVuX2NvbW1hbmRsaW5lX3QgX19pbml0ZGF0YSBjb21wbGV0ZV9jbWRsaW5l OworICAgIHN0YXRpYyBjaGFyIF9faW5pdGRhdGEgY29tcGxldGVfa2V4dHJhW01BWF9HVUVTVF9D TURMSU5FXTsKICAgICB1bnNpZ25lZCBpbnQgaW5pdHJkaWR4LCBkb21jcl9mbGFncyA9IERPTUNS Rl9zM19pbnRlZ3JpdHk7CiAgICAgbXVsdGlib290X2luZm9fdCAqbWJpID0gX192YShtYmlfcCk7 CiAgICAgbW9kdWxlX3QgKm1vZCA9IChtb2R1bGVfdCAqKV9fdmEobWJpLT5tb2RzX2FkZHIpOwpA QCAtNjcyLDI1ICs2OTYsMzEgQEAgdm9pZCBfX2luaXQgbm9yZXR1cm4gX19zdGFydF94ZW4odW5z aWduZWQgbG9uZyBtYmlfcCkKIAogICAgIC8qIEZ1bGwgZXhjZXB0aW9uIHN1cHBvcnQgZnJvbSBo ZXJlIG9uIGluLiAqLwogCisjaWZkZWYgQ09ORklHX0NNRExJTkUKKyAgICAvKiBQcm9jZXNzIHRo ZSBidWlsdC1pbiBjb21tYW5kIGxpbmUgb3B0aW9ucy4gKi8KKworICAgIHNhZmVfc3RyY3B5KGNv bXBsZXRlX2NtZGxpbmUsIENPTkZJR19DTURMSU5FKTsKKyAgICBpZiAoIChrZXh0cmEgPSBleHRy YWN0X2RvbTBfb3B0aW9ucyhjb21wbGV0ZV9jbWRsaW5lKSkgIT0gTlVMTCApCisgICAgICAgIHNh ZmVfc3RyY3B5KGNvbXBsZXRlX2tleHRyYSwga2V4dHJhKTsgCisgICAgcHJpbnRrKCJDb21waWxl ZC1pbiBjb21tYW5kIGxpbmU6ICVzXG4iLCBjb21wbGV0ZV9jbWRsaW5lKTsKKyNlbmRpZgorCiAg ICAgbG9hZGVyID0gKG1iaS0+ZmxhZ3MgJiBNQklfTE9BREVSTkFNRSkKICAgICAgICAgPyAoY2hh ciAqKV9fdmEobWJpLT5ib290X2xvYWRlcl9uYW1lKSA6ICJ1bmtub3duIjsKIAotICAgIC8qIFBh cnNlIHRoZSBjb21tYW5kLWxpbmUgb3B0aW9ucy4gKi8KKyNpZm5kZWYgQ09ORklHX0NNRExJTkVf T1ZFUlJJREUKKyAgICAvKiBQYXJzZSB0aGUgY29tbWFuZC1saW5lIG9wdGlvbnMgcGFzc2VkIGJ5 IHRoZSBib290bG9hZGVyLiAqLworCiAgICAgY21kbGluZSA9IGNtZGxpbmVfY29vaygobWJpLT5m bGFncyAmIE1CSV9DTURMSU5FKSA/CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBfX3ZhKG1i aS0+Y21kbGluZSkgOiBOVUxMLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9hZGVyKTsK LSAgICBpZiAoIChrZXh0cmEgPSBzdHJzdHIoY21kbGluZSwgIiAtLSAiKSkgIT0gTlVMTCApCi0g ICAgewotICAgICAgICAvKgotICAgICAgICAgKiBPcHRpb25zIGFmdGVyICcgLS0gJyBzZXBhcmF0 b3IgYmVsb25nIHRvIGRvbTAuCi0gICAgICAgICAqICAxLiBPcnBoYW4gZG9tMCdzIG9wdGlvbnMg ZnJvbSBYZW4ncyBjb21tYW5kIGxpbmUuCi0gICAgICAgICAqICAyLiBTa2lwIGFsbCBidXQgZmlu YWwgbGVhZGluZyBzcGFjZSBmcm9tIGRvbTAncyBvcHRpb25zLgotICAgICAgICAgKi8KLSAgICAg ICAgKmtleHRyYSA9ICdcMCc7Ci0gICAgICAgIGtleHRyYSArPSAzOwotICAgICAgICB3aGlsZSAo IGtleHRyYVsxXSA9PSAnICcgKSBrZXh0cmErKzsKLSAgICB9Ci0gICAgY21kbGluZV9wYXJzZShj bWRsaW5lKTsKKyAgICBzYWZlX3N0cmNhdChjb21wbGV0ZV9jbWRsaW5lLCAiICIpOworICAgIHNh ZmVfc3RyY2F0KGNvbXBsZXRlX2NtZGxpbmUsIGNtZGxpbmUpOworICAgIGlmICggKGtleHRyYSA9 IGV4dHJhY3RfZG9tMF9vcHRpb25zKGNtZGxpbmUpKSAhPSBOVUxMICkKKyAgICAgICAgc2FmZV9z dHJjYXQoY29tcGxldGVfa2V4dHJhLCBrZXh0cmEpOworI2VuZGlmCisKKyAgICBjbWRsaW5lX3Bh cnNlKGNvbXBsZXRlX2NtZGxpbmUpOwogCiAgICAgLyogTXVzdCBiZSBhZnRlciBjb21tYW5kIGxp bmUgYXJndW1lbnQgcGFyc2luZyBhbmQgYmVmb3JlCiAgICAgICogYWxsb2NpbmcgYW55IHhlbmhl YXAgc3RydWN0dXJlcyB3YW50ZWQgaW4gbG93ZXIgbWVtb3J5LiAqLwpAQCAtNzEzLDcgKzc0Myw3 IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3Ap CiAKICAgICBwcmludGsoIkJvb3Rsb2FkZXI6ICVzXG4iLCBsb2FkZXIpOwogCi0gICAgcHJpbnRr KCJDb21tYW5kIGxpbmU6ICVzXG4iLCBjbWRsaW5lKTsKKyAgICBwcmludGsoIkNvbW1hbmQgbGlu ZTogJXNcbiIsIGNvbXBsZXRlX2NtZGxpbmUpOwogCiAgICAgcHJpbnRrKCJWaWRlbyBpbmZvcm1h dGlvbjpcbiIpOwogCkBAIC0xNTY2LDE2ICsxNTk2LDE2IEBAIHZvaWQgX19pbml0IG5vcmV0dXJu IF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAKICAgICAvKiBHcmFiIHRoZSBET00w IGNvbW1hbmQgbGluZS4gKi8KICAgICBjbWRsaW5lID0gKGNoYXIgKikobW9kWzBdLnN0cmluZyA/ IF9fdmEobW9kWzBdLnN0cmluZykgOiBOVUxMKTsKLSAgICBpZiAoIChjbWRsaW5lICE9IE5VTEwp IHx8IChrZXh0cmEgIT0gTlVMTCkgKQorICAgIGlmICggKGNtZGxpbmUgIT0gTlVMTCkgfHwgKHN0 cmxlbihjb21wbGV0ZV9rZXh0cmEpICE9IDApICkKICAgICB7CiAgICAgICAgIHN0YXRpYyBjaGFy IF9faW5pdGRhdGEgZG9tMF9jbWRsaW5lW01BWF9HVUVTVF9DTURMSU5FXTsKIAogICAgICAgICBj bWRsaW5lID0gY21kbGluZV9jb29rKGNtZGxpbmUsIGxvYWRlcik7CiAgICAgICAgIHNhZmVfc3Ry Y3B5KGRvbTBfY21kbGluZSwgY21kbGluZSk7CiAKLSAgICAgICAgaWYgKCBrZXh0cmEgIT0gTlVM TCApCi0gICAgICAgICAgICAvKiBrZXh0cmEgYWx3YXlzIGluY2x1ZGVzIGV4YWN0bHkgb25lIGxl YWRpbmcgc3BhY2UuICovCi0gICAgICAgICAgICBzYWZlX3N0cmNhdChkb20wX2NtZGxpbmUsIGtl eHRyYSk7CisgICAgICAgIGlmICggY29tcGxldGVfa2V4dHJhICE9IE5VTEwgKQorICAgICAgICAg ICAgLyogY29tcGxldGVfa2V4dHJhICBhbHdheXMgaW5jbHVkZXMgZXhhY3RseSBvbmUgbGVhZGlu ZyBzcGFjZS4gKi8KKyAgICAgICAgICAgIHNhZmVfc3RyY2F0KGRvbTBfY21kbGluZSwgY29tcGxl dGVfa2V4dHJhKTsKIAogICAgICAgICAvKiBBcHBlbmQgYW55IGV4dHJhIHBhcmFtZXRlcnMuICov CiAgICAgICAgIGlmICggc2tpcF9pb2FwaWNfc2V0dXAgJiYgIXN0cnN0cihkb20wX2NtZGxpbmUs ICJub2FwaWMiKSApCmRpZmYgLS1naXQgYS94ZW4vY29tbW9uL0tjb25maWcgYi94ZW4vY29tbW9u L0tjb25maWcKaW5kZXggZjJlY2JjNDNkNi4uYzVmNGFhZjdlOSAxMDA2NDQKLS0tIGEveGVuL2Nv bW1vbi9LY29uZmlnCisrKyBiL3hlbi9jb21tb24vS2NvbmZpZwpAQCAtMjM3LDQgKzIzNyw0MiBA QCBjb25maWcgRkFTVF9TWU1CT0xfTE9PS1VQCiAJICBUaGUgb25seSB1c2VyIG9mIHRoaXMgaXMg TGl2ZSBwYXRjaGluZy4KIAogCSAgSWYgdW5zdXJlLCBzYXkgWS4KKworY29uZmlnIENNRExJTkVf Qk9PTAorCWJvb2wgIkJ1aWx0LWluIGh5cGVydmlzb3IgY29tbWFuZCBsaW5lIgorCWRlZmF1bHQg bgorCS0tLWhlbHAtLS0KKwkgIEFsbG93IGZvciBzcGVjaWZ5aW5nIGJvb3QgYXJndW1lbnRzIHRv IHRoZSBoeXBlcnZpc29yIGF0CisJICBidWlsZCB0aW1lLiAgT24gc29tZSBzeXN0ZW1zIChlLmcu IGVtYmVkZGVkIG9uZXMpLCBpdCBpcworCSAgbmVjZXNzYXJ5IG9yIGNvbnZlbmllbnQgdG8gcHJv dmlkZSBzb21lIG9yIGFsbCBvZiB0aGUKKwkgIGh5cGVydmlzb3IgYm9vdCBhcmd1bWVudHMgd2l0 aCB0aGUgaHlwZXJ2aXNvciBpdHNlbGYgKHRoYXQgaXMsCisJICB0byBub3QgcmVseSBvbiB0aGUg Ym9vdCBsb2FkZXIgdG8gcHJvdmlkZSB0aGVtLikKKworCSAgVG8gY29tcGlsZSBjb21tYW5kIGxp bmUgYXJndW1lbnRzIGludG8gdGhlIGh5cGVydmlzb3IsCisJICBzZXQgdGhpcyBvcHRpb24gdG8g J1knLCB0aGVuIGZpbGwgaW4gdGhlCisJICBib290IGFyZ3VtZW50cyBpbiBDT05GSUdfQ01ETElO RS4KKworY29uZmlnIENNRExJTkUKKwlzdHJpbmcgIkJ1aWx0LWluIGh5cGVydmlzb3IgY29tbWFu ZCBzdHJpbmciCisJZGVwZW5kcyBvbiBDTURMSU5FX0JPT0wKKwlkZWZhdWx0ICIiCisJLS0taGVs cC0tLQorCSAgRW50ZXIgYXJndW1lbnRzIGhlcmUgdGhhdCBzaG91bGQgYmUgY29tcGlsZWQgaW50 byB0aGUgaHlwZXJ2aXNvcgorCSAgaW1hZ2UgYW5kIHVzZWQgYXQgYm9vdCB0aW1lLiAgSWYgdGhl IGJvb3QgbG9hZGVyIHByb3ZpZGVzIGEKKwkgIGNvbW1hbmQgbGluZSBhdCBib290IHRpbWUsIGl0 IGlzIGFwcGVuZGVkIHRvIHRoaXMgc3RyaW5nIHRvCisJICBmb3JtIHRoZSBmdWxsIGh5cGVydmlz b3IgY29tbWFuZCBsaW5lLCB3aGVuIHRoZSBzeXN0ZW0gYm9vdHMuCisKKwkgIEhvd2V2ZXIsIHlv dSBjYW4gdXNlIHRoZSBDT05GSUdfQ01ETElORV9PVkVSUklERSBvcHRpb24gdG8KKwkgIGNoYW5n ZSB0aGlzIGJlaGF2aW9yLgorCitjb25maWcgQ01ETElORV9PVkVSUklERQorCWJvb2wgIkJ1aWx0 LWluIGNvbW1hbmQgbGluZSBvdmVycmlkZXMgYm9vdCBsb2FkZXIgYXJndW1lbnRzIgorCWRlZmF1 bHQgbgorCWRlcGVuZHMgb24gQ01ETElORV9CT09MCisJLS0taGVscC0tLQorCSAgU2V0IHRoaXMg b3B0aW9uIHRvICdZJyB0byBoYXZlIHRoZSBoeXBlcnZpc29yIGlnbm9yZSB0aGUgYm9vdCBsb2Fk ZXIKKwkgIGNvbW1hbmQgbGluZSwgYW5kIHVzZSBPTkxZIHRoZSBidWlsdC1pbiBjb21tYW5kIGxp bmUuCisKKwkgIFRoaXMgaXMgdXNlZCB0byB3b3JrIGFyb3VuZCBicm9rZW4gYm9vdCBsb2FkZXJz LiAgVGhpcyBzaG91bGQKKwkgIGJlIHNldCB0byAnTicgdW5kZXIgbm9ybWFsIGNvbmRpdGlvbnMu CiBlbmRtZW51Ci0tIAoyLjEyLjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW4u b3JnCmh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwK