From owner-freebsd-net@freebsd.org Sun Jan 22 14:16:19 2017 Return-Path: Delivered-To: freebsd-net@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 9B394CBC45F for ; Sun, 22 Jan 2017 14:16:19 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: from reviews.nyi.freebsd.org (reviews.nyi.freebsd.org [IPv6:2610:1c1:1:607c::16:b]) by mx1.freebsd.org (Postfix) with ESMTP id 72B04BC4 for ; Sun, 22 Jan 2017 14:16:19 +0000 (UTC) (envelope-from daemon-user@freebsd.org) Received: by reviews.nyi.freebsd.org (Postfix, from userid 1346) id 4B1FD36FD7; Sun, 22 Jan 2017 14:16:19 +0000 (UTC) Date: Sun, 22 Jan 2017 14:16:19 +0000 To: freebsd-net@freebsd.org From: "ale (Alex Dupre)" Reply-to: D9270+325+bbd470fd257eef1b@reviews.freebsd.org Subject: [Differential] D9270: Add support for user-supplied Host-Uniq tag in Netgraph PPPoE Message-ID: X-Priority: 3 X-Phabricator-Sent-This-Message: Yes X-Mail-Transport-Agent: MetaMTA X-Auto-Response-Suppress: All X-Phabricator-Mail-Tags: , , , Thread-Topic: D9270: Add support for user-supplied Host-Uniq tag in Netgraph PPPoE X-Herald-Rules: <28>, <8> X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-To: X-Phabricator-Cc: X-Phabricator-Cc: X-Phabricator-Cc: Precedence: bulk In-Reply-To: References: Thread-Index: NTZkNjQzYWQxOGQ3MGJlZTIzOGZhZmQ4NGNmIFiEvrM= MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="b1_b9769decec42fae7a2acb0902167e279" X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.23 List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Jan 2017 14:16:19 -0000 --b1_b9769decec42fae7a2acb0902167e279 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 YWxlIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBEaWZmIDI0MzE0LgphbGUgYWRkZWQgYSBjb21t ZW50LgpUaGlzIHJldmlzaW9uIG5vdyByZXF1aXJlcyByZXZpZXcgdG8gcHJvY2VlZC4KCgogIEZp eGVkIHR5cG9zIGFuZCBpbXByb3ZlZCBtYW4gcGFnZS4KClJFUE9TSVRPUlkKICByUyBGcmVlQlNE IHNyYyByZXBvc2l0b3J5CgpDSEFOR0VTIFNJTkNFIExBU1QgVVBEQVRFCiAgaHR0cHM6Ly9yZXZp ZXdzLmZyZWVic2Qub3JnL0Q5MjcwP3ZzPTI0MjY0JmlkPTI0MzE0CgpSRVZJU0lPTiBERVRBSUwK ICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvRDkyNzAKCkFGRkVDVEVEIEZJTEVTCiAgc2hh cmUvbWFuL21hbjQvbmdfcHBwb2UuNAogIHN5cy9uZXRncmFwaC9uZ19wcHBvZS5jCgpFTUFJTCBQ UkVGRVJFTkNFUwogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9zZXR0aW5ncy9wYW5lbC9l bWFpbHByZWZlcmVuY2VzLwoKVG86IGFsZSwgI25ldHdvcmssICNtYW5wYWdlcywganVsaWFuCkNj OiBtYW5kcmVlLCBpbXAsIGZyZWVic2QtbmV0LWxpc3QK --b1_b9769decec42fae7a2acb0902167e279 Content-Type: text/x-patch; charset=utf-8; name="D9270.24314.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D9270.24314.patch" ZGlmZiAtLWdpdCBhL3N5cy9uZXRncmFwaC9uZ19wcHBvZS5jIGIvc3lzL25ldGdyYXBoL25nX3Bw cG9lLmMKLS0tIGEvc3lzL25ldGdyYXBoL25nX3BwcG9lLmMKKysrIGIvc3lzL25ldGdyYXBoL25n X3BwcG9lLmMKQEAgLTIyNiw5ICsyMjYsMTEgQEAKIAljb25zdCBzdHJ1Y3QgcHBwb2VfdGFnCSp0 YWdzW05VTVRBR1NdOwogCXVfaW50CQkJc2VydmljZV9sZW47CiAJdV9pbnQJCQlhY19uYW1lX2xl bjsKKwl1X2ludAkJCWhvc3RfdW5pcV9sZW47CiAKIAlzdHJ1Y3QgZGF0YXRhZwkJc2VydmljZTsK IAlzdHJ1Y3QgZGF0YXRhZwkJYWNfbmFtZTsKKwlzdHJ1Y3QgZGF0YXRhZwkJaG9zdF91bmlxOwog fTsKIHR5cGVkZWYgc3RydWN0IHNlc3NfbmVnICpuZWdwOwogCkBAIC01ODksMTggKzU5MSwyMCBA QAogcHBwb2VfZmluZHVuaXEobm9kZV9wIG5vZGUsIGNvbnN0IHN0cnVjdCBwcHBvZV90YWcgKnRh ZykKIHsKIAlob29rX3AJaG9vayA9IE5VTEw7Ci0JdW5pb24gdW5pcSB1bmlxOworCXNlc3NwCXNw OwogCi0JYmNvcHkodGFnICsgMSwgdW5pcS5ieXRlcywgc2l6ZW9mKHZvaWQgKikpOwogCS8qIEN5 Y2xlIHRocm91Z2ggYWxsIGtub3duIGhvb2tzLiAqLwogCUxJU1RfRk9SRUFDSChob29rLCAmbm9k ZS0+bmRfaG9va3MsIGhrX2hvb2tzKSB7CiAJCS8qIFNraXAgYW55IG5vbnNlc3Npb24gaG9vay4g Ki8KIAkJaWYgKE5HX0hPT0tfUFJJVkFURShob29rKSA9PSBOVUxMKQogCQkJY29udGludWU7Ci0J CWlmICh1bmlxLnBvaW50ZXIgPT0gTkdfSE9PS19QUklWQVRFKGhvb2spKQorCQlzcCA9IE5HX0hP T0tfUFJJVkFURShob29rKTsKKwkJaWYgKHNwLT5uZWctPmhvc3RfdW5pcV9sZW4gPT0gbnRvaHMo dGFnLT50YWdfbGVuKSAmJgorCQkgICAgYmNtcChzcC0+bmVnLT5ob3N0X3VuaXEuZGF0YSwgKGNv bnN0IGNoYXIgKikodGFnICsgMSksCisJCSAgICAgc3AtPm5lZy0+aG9zdF91bmlxX2xlbikgPT0g MCkKIAkJCWJyZWFrOwogCX0KLQlDVFIzKEtUUl9ORVQsICIlMjBzOiBtYXRjaGVkICVwIGZvciAl cCIsIF9fZnVuY19fLCBob29rLCB1bmlxLnBvaW50ZXIpOworCUNUUjMoS1RSX05FVCwgIiUyMHM6 IG1hdGNoZWQgJXAgZm9yICVwIiwgX19mdW5jX18sIGhvb2ssIHNwKTsKIAogCXJldHVybiAoaG9v ayk7CiB9CkBAIC04NDgsMjggKzg1Miw3MiBAQAogCQkJICogQ2hlY2sgdGhlIGhvb2sgZXhpc3Rz IGFuZCBpcyBVbmluaXRpYWxpc2VkLgogCQkJICogU2VuZCBhIFBBREkgcmVxdWVzdCwgYW5kIHN0 YXJ0IHRoZSB0aW1lb3V0IGxvZ2ljLgogCQkJICogU3RvcmUgdGhlIG9yaWdpbmF0b3Igb2YgdGhp cyBtZXNzYWdlIHNvIHdlIGNhbiBzZW5kCi0JCQkgKiBhIHN1Y2Nlc3Mgb2YgZmFpbCBtZXNzYWdl IHRvIHRoZW0gbGF0ZXIuCisJCQkgKiBhIHN1Y2Nlc3Mgb3IgZmFpbCBtZXNzYWdlIHRvIHRoZW0g bGF0ZXIuCiAJCQkgKiBNb3ZlIHRoZSBzZXNzaW9uIHRvIFNJTklULgogCQkJICogU2V0IHVwIHRo ZSBzZXNzaW9uIHRvIHRoZSBjb3JyZWN0IHN0YXRlIGFuZAogCQkJICogc3RhcnQgaXQuCiAJCQkg Ki8KLQkJCWludAlpLCBhY25sZW4gPSAwLCBhY25zZXAgPSAwLCBzcnZsZW47CisJCQlpbnQJYWNu cG9zLCBhY25sZW4gPSAwLCBhY25zZXAgPSAwOworCQkJaW50CWh1cG9zLCBodWxlbiA9IDAsIGh1 c2VwID0gMDsKKwkJCWludAlpLCBzcnZwb3MsIHNydmxlbjsKKwkJCWFjbnBvcyA9IDA7CiAJCQlm b3IgKGkgPSAwOyBpIDwgb3VybXNnLT5kYXRhX2xlbjsgaSsrKSB7CiAJCQkJaWYgKG91cm1zZy0+ ZGF0YVtpXSA9PSAnXFwnKSB7CiAJCQkJCWFjbmxlbiA9IGk7CiAJCQkJCWFjbnNlcCA9IDE7CiAJ CQkJCWJyZWFrOwogCQkJCX0KIAkJCX0KLQkJCXNydmxlbiA9IG91cm1zZy0+ZGF0YV9sZW4gLSBh Y25sZW4gLSBhY25zZXA7CisJCQlodXBvcyA9IGFjbmxlbiArIGFjbnNlcDsKKwkJCWZvciAoaSA9 IGh1cG9zOyBpIDwgb3VybXNnLT5kYXRhX2xlbjsgaSsrKSB7CisJCQkJaWYgKG91cm1zZy0+ZGF0 YVtpXSA9PSAnfCcpIHsKKwkJCQkJaHVsZW4gPSBpIC0gaHVwb3M7CisJCQkJCWh1c2VwID0gMTsK KwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQkJc3J2cG9zID0gaHVwb3MgKyBodWxlbiArIGh1 c2VwOworCQkJc3J2bGVuID0gb3VybXNnLT5kYXRhX2xlbiAtIHNydnBvczsKIAotCQkJYmNvcHko b3VybXNnLT5kYXRhLCBuZWctPmFjX25hbWUuZGF0YSwgYWNubGVuKTsKKwkJCWJjb3B5KG91cm1z Zy0+ZGF0YSArIGFjbnBvcywgbmVnLT5hY19uYW1lLmRhdGEsIGFjbmxlbik7CiAJCQluZWctPmFj X25hbWVfbGVuID0gYWNubGVuOwogCisJCQluZWctPmhvc3RfdW5pcS5oZHIudGFnX3R5cGUgPSBQ VFRfSE9TVF9VTklROworCQkJaWYgKGh1bGVuID09IDApIHsKKwkJCQkvKiBOb3QgcHJvdmlkZWQs IGdlbmVyYXRlIG9uZSAqLworCQkJCW5lZy0+aG9zdF91bmlxLmhkci50YWdfbGVuID0gaHRvbnMo c2l6ZW9mKHNwKSk7CisJCQkJYmNvcHkoJnNwLCBuZWctPmhvc3RfdW5pcS5kYXRhLCBzaXplb2Yo c3ApKTsKKwkJCQluZWctPmhvc3RfdW5pcV9sZW4gPSBzaXplb2Yoc3ApOworCQkJfSBlbHNlIGlm IChodWxlbiA+IDIgJiYgb3VybXNnLT5kYXRhW2h1cG9zXSA9PSAnMCcgJiYKKwkJCSAgb3VybXNn LT5kYXRhW2h1cG9zICsgMV0gPT0gJ3gnICYmIGh1bGVuICUgMiA9PSAwKSB7CisJCQkJLyogSGV4 IGVuY29kZWQgKi8KKwkJCQlzdGF0aWMgY29uc3QgY2hhciBoZXhkaWdbMTZdID0gIjAxMjM0NTY3 ODlhYmNkZWYiOworCQkJCWludCBqOworCisJCQkJbmVnLT5ob3N0X3VuaXEuaGRyLnRhZ19sZW4g PSBodG9ucygodWludDE2X3QpKGh1bGVuIC8gMiAtIDEpKTsKKwkJCQlmb3IgKGkgPSAwOyBpIDwg aHVsZW4gLSAyOyBpKyspIHsKKwkJCQkJZm9yIChqID0gMDsKKwkJCQkJICAgICBqIDwgMTYgJiYK KwkJCQkJICAgICBvdXJtc2ctPmRhdGFbaHVwb3MgKyAyICsgaV0gIT0gaGV4ZGlnW2pdOworCQkJ CQkgICAgIGorKyk7CisJCQkJCWlmIChqID09IDE2KQorCQkJCQkJTEVBVkUoRUlOVkFMKTsKKwkJ CQkJaWYgKGkgJSAyID09IDApCisJCQkJCQluZWctPmhvc3RfdW5pcS5kYXRhW2kgLyAyXSA9IGog PDwgNDsKKwkJCQkJZWxzZQorCQkJCQkJbmVnLT5ob3N0X3VuaXEuZGF0YVtpIC8gMl0gfD0gajsK KwkJCQl9CisJCQkJbmVnLT5ob3N0X3VuaXFfbGVuID0gaHVsZW4gLyAyIC0gMTsKKwkJCX0gZWxz ZSB7CisJCQkJLyogUGxhaW4gc3RyaW5nICovCisJCQkJbmVnLT5ob3N0X3VuaXEuaGRyLnRhZ19s ZW4gPSBodG9ucygodWludDE2X3QpaHVsZW4pOworCQkJCWJjb3B5KG91cm1zZy0+ZGF0YSArIGh1 cG9zLCBuZWctPmhvc3RfdW5pcS5kYXRhLCBodWxlbik7CisJCQkJbmVnLT5ob3N0X3VuaXFfbGVu ID0gaHVsZW47CisJCQl9CisKIAkJCW5lZy0+c2VydmljZS5oZHIudGFnX3R5cGUgPSBQVFRfU1JW X05BTUU7CiAJCQluZWctPnNlcnZpY2UuaGRyLnRhZ19sZW4gPSBodG9ucygodWludDE2X3Qpc3J2 bGVuKTsKLQkJCWJjb3B5KG91cm1zZy0+ZGF0YSArIGFjbmxlbiArIGFjbnNlcCwKLQkJCSAgICBu ZWctPnNlcnZpY2UuZGF0YSwgc3J2bGVuKTsKKwkJCWJjb3B5KG91cm1zZy0+ZGF0YSArIHNydnBv cywgbmVnLT5zZXJ2aWNlLmRhdGEsIHNydmxlbik7CiAJCQluZWctPnNlcnZpY2VfbGVuID0gc3J2 bGVuOwogCQkJcHBwb2Vfc3RhcnQoc3ApOwogCQkJYnJlYWs7CkBAIC04NzksNyArOTI3LDcgQEAK IAkJCSAqIENoZWNrIHRoZSBob29rIGV4aXN0cyBhbmQgaXMgVW5pbml0aWFsaXNlZC4KIAkJCSAq IEluc3RhbGwgdGhlIHNlcnZpY2UgbWF0Y2hpbmcgc3RyaW5nLgogCQkJICogU3RvcmUgdGhlIG9y aWdpbmF0b3Igb2YgdGhpcyBtZXNzYWdlIHNvIHdlIGNhbiBzZW5kCi0JCQkgKiBhIHN1Y2Nlc3Mg b2YgZmFpbCBtZXNzYWdlIHRvIHRoZW0gbGF0ZXIuCisJCQkgKiBhIHN1Y2Nlc3Mgb3IgZmFpbCBt ZXNzYWdlIHRvIHRoZW0gbGF0ZXIuCiAJCQkgKiBNb3ZlIHRoZSBob29rIHRvICdMSVNURU5JTkcn CiAJCQkgKi8KIAkJCW5lZy0+c2VydmljZS5oZHIudGFnX3R5cGUgPSBQVFRfU1JWX05BTUU7CkBA IC0xMDYxLDEwICsxMTA5LDYgQEAKIAlub2RlX3AJbm9kZSA9IE5HX0hPT0tfTk9ERShob29rKTsK IAlwcml2X3AJcHJpdnAgPSBOR19OT0RFX1BSSVZBVEUobm9kZSk7CiAJbmVncAluZWcgPSBzcC0+ bmVnOwotCXN0cnVjdCB7Ci0JCXN0cnVjdCBwcHBvZV90YWcgaGRyOwotCQl1bmlvbgl1bmlxCWRh dGE7Ci0JfSBfX3BhY2tlZCB1bmlxdGFnOwogCXN0cnVjdCAgbWJ1ZiAqbTA7CiAJaW50CWVycm9y OwogCkBAIC0xMDgwLDExICsxMTI0LDggQEAKIAltZW1jcHkoKHZvaWQgKikmbmVnLT5wa3QtPnBr dF9oZWFkZXIuZWgsICZwcml2cC0+ZWgsCiAJICAgIHNpemVvZihzdHJ1Y3QgZXRoZXJfaGVhZGVy KSk7CiAJbmVnLT5wa3QtPnBrdF9oZWFkZXIucGguY29kZSA9IFBBRElfQ09ERTsKLQl1bmlxdGFn Lmhkci50YWdfdHlwZSA9IFBUVF9IT1NUX1VOSVE7Ci0JdW5pcXRhZy5oZHIudGFnX2xlbiA9IGh0 b25zKCh1X2ludDE2X3Qpc2l6ZW9mKHVuaXF0YWcuZGF0YSkpOwotCXVuaXF0YWcuZGF0YS5wb2lu dGVyID0gc3A7CiAJaW5pdF90YWdzKHNwKTsKLQlpbnNlcnRfdGFnKHNwLCAmdW5pcXRhZy5oZHIp OworCWluc2VydF90YWcoc3AsICZuZWctPmhvc3RfdW5pcS5oZHIpOwogCWluc2VydF90YWcoc3As ICZuZWctPnNlcnZpY2UuaGRyKTsKIAlpZiAocHJpdnAtPm1heF9wYXlsb2FkLmRhdGEgIT0gMCkK IAkJaW5zZXJ0X3RhZyhzcCwgJnByaXZwLT5tYXhfcGF5bG9hZC5oZHIpOwpAQCAtMTQzOCw4ICsx NDc5LDcgQEAKIAkJCSAqIEZvciBub3cgc2ltcGx5IGFjY2VwdCB0aGUgZmlyc3Qgd2UgcmVjZWl2 ZS4KIAkJCSAqLwogCQkJdXRhZyA9IGdldF90YWcocGgsIFBUVF9IT1NUX1VOSVEpOwotCQkJaWYg KCh1dGFnID09IE5VTEwpIHx8Ci0JCQkgICAgKG50b2hzKHV0YWctPnRhZ19sZW4pICE9IHNpemVv ZihzcCkpKSB7CisJCQlpZiAodXRhZyA9PSBOVUxMKSB7CiAJCQkJbG9nKExPR19OT1RJQ0UsICJu Z19wcHBvZVsleF06IG5vIGhvc3QgIgogCQkJCSAgICAidW5pcXVlIGZpZWxkXG4iLCBub2RlLT5u ZF9JRCk7CiAJCQkJTEVBVkUoRU5FVFVOUkVBQ0gpOwpAQCAtMTYwNSw4ICsxNjQ1LDcgQEAKIAkJ CSAqIHNldCB1cyBpbnRvIFNlc3Npb24gbW9kZS4KIAkJCSAqLwogCQkJdXRhZyA9IGdldF90YWco cGgsIFBUVF9IT1NUX1VOSVEpOwotCQkJaWYgKCh1dGFnID09IE5VTEwpIHx8Ci0JCQkgICAgKG50 b2hzKHV0YWctPnRhZ19sZW4pICE9IHNpemVvZihzcCkpKSB7CisJCQlpZiAodXRhZyA9PSBOVUxM KSB7CiAJCQkJTEVBVkUgKEVORVRVTlJFQUNIKTsKIAkJCX0KIAkJCXNlbmRob29rID0gcHBwb2Vf ZmluZHVuaXEobm9kZSwgdXRhZyk7CmRpZmYgLS1naXQgYS9zaGFyZS9tYW4vbWFuNC9uZ19wcHBv ZS40IGIvc2hhcmUvbWFuL21hbjQvbmdfcHBwb2UuNAotLS0gYS9zaGFyZS9tYW4vbWFuNC9uZ19w cHBvZS40CisrKyBiL3NoYXJlL21hbi9tYW40L25nX3BwcG9lLjQKQEAgLTM1LDcgKzM1LDcgQEAK IC5cIiAkRnJlZUJTRCQKIC5cIiAkV2hpc3RsZTogbmdfcHBwb2UuOCx2IDEuMSAxOTk5LzAxLzI1 IDIzOjQ2OjI3IGFyY2hpZSBFeHAgJAogLlwiCi0uRGQgU2VwdGVtYmVyIDE1LCAyMDE1CisuRGQg SmFudWFyeSAyMCwgMjAxNwogLkR0IE5HX1BQUE9FIDQKIC5PcwogLlNoIE5BTUUKQEAgLTEwNCwx MiArMTA0LDIyIEBACiBJdCBtdXN0IGJlIG5ld2x5IGNyZWF0ZWQgYW5kIGEgc2VydmljZSBuYW1l IGNhbiBiZSBnaXZlbiBhcyBhbiBhcmd1bWVudC4KIEl0IGlzIGxlZ2FsIHRvIHNwZWNpZnkgYSB6 ZXJvLWxlbmd0aCBzZXJ2aWNlIG5hbWUsIHRoaXMgaXMgY29tbW9uCiBvbiBzb21lIERTTCBzZXR1 cHMuCi1JdCBpcyBwb3NzaWJsZSB0byByZXF1ZXN0IGEgY29ubmVjdGlvbiB0byBhIHNwZWNpZmlj Ci1hY2Nlc3MgY29uY2VudHJhdG9yIGJ5IGl0cyBuYW1lIHVzaW5nIHRoZSAiQUMtTmFtZVxcU2Vy dmljZS1OYW1lIiBzeW50YXguCitJdCBpcyBwb3NzaWJsZSB0byByZXF1ZXN0IGEgY29ubmVjdGlv biB0byBhIHNwZWNpZmljIGFjY2VzcyBjb25jZW50cmF0b3IsCithbmQvb3Igc2V0IGEgc3BlY2lm aWMgaG9zdCB1bmlxIHRhZywgcmVxdWlyZWQgYnkgc29tZSBJbnRlcm5ldCBwcm92aWRlcnMsCit1 c2luZyB0aGUgIltBQy1OYW1lXFxdW0hvc3QtVW5pcXxdU2VydmljZS1OYW1lIiBzeW50YXguCitU byBzZXQgYSBiaW5hcnkgSG9zdC1VbmlxLCBpdCBtdXN0IGJlIGVuY29kZWQgYXMgYSBoZXhhZGVj aW1hbCBsb3dlcmNhc2UKK3N0cmluZyBhbmQgcHJlZml4ZWQgd2l0aCAiMHgiLCBlZy4gIjB4NmQ3 OTJkNzQ2MTY3IiBpcyBlcXVpdmFsZW50IHRvCisibXktdGFnIi4KIEEgc2Vzc2lvbiByZXF1ZXN0 IHBhY2tldCB3aWxsIGJlIGJyb2FkY2FzdGVkIG9uIHRoZSBFdGhlcm5ldC4KIFRoaXMgY29tbWFu ZCB1c2VzIHRoZQogLkR2IG5ncHBwb2VfaW5pdF9kYXRhCiBzdHJ1Y3R1cmUgc2hvd24gYmVsb3cu CitGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBpbml0IGRhdGEgYXJndW1lbnQgY2FuIGJlIHVz ZWQgdG8KK2Nvbm5lY3QgdG8gIm15LWlzcCIgc2VydmljZSB3aXRoICJteS1ob3N0IiB1bmlxIHRh ZywgYWNjZXB0aW5nIG9ubHkKKyJyZW1vdGUtYWMiIGFzIGFjY2VzcyBjb25jZW50cmF0b3I6Cisu QmQgLWxpdGVyYWwgLW9mZnNldCBpbmRlbnQKKyJyZW1vdGUtYWNcXG15LWhvc3R8bXktaXNwIgor LkVkCiAuSXQgRHYgTkdNX1BQUE9FX0xJU1RFTiBQcSBJYyBwcHBvZV9saXN0ZW4KIFRlbGwgYSBu b21pbmF0ZWQgbmV3bHkgY3JlYXRlZCBob29rIHRoYXQgaXRzIHNlc3Npb24gc2hvdWxkIGVudGVy CiB0aGUgc3RhdGUgbWFjaGluZSBhcyBhIHNlcnZlciBsaXN0ZW5lci4KCg== --b1_b9769decec42fae7a2acb0902167e279--