Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wfCUK-005KNK-2w for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Jul 2026 08:09:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wfCUJ-000uz4-2l for pgsql-hackers@arkaria.postgresql.org; Thu, 02 Jul 2026 08:09:35 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wfCUJ-000uyv-0u for pgsql-hackers@lists.postgresql.org; Thu, 02 Jul 2026 08:09:35 +0000 Received: from mail-lf1-x12b.google.com ([2a00:1450:4864:20::12b]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wfCUG-00000001LUp-2JKM for pgsql-hackers@lists.postgresql.org; Thu, 02 Jul 2026 08:09:35 +0000 Received: by mail-lf1-x12b.google.com with SMTP id 2adb3069b0e04-5aeb8c19017so1770465e87.0 for ; Thu, 02 Jul 2026 01:09:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1782979771; cv=none; d=google.com; s=arc-20260327; b=kp4GKTmm1e8P4beOJ62vSW+jB4uvj5HbMv4h6yrub9nB+mK73NnEaCbZvMFZs8JtT0 TWXcJ2Nkjug7yzldTh6aVr0dd6XpYk/dX+zg6JQLHd3LMno9GDzW2IbtVuTw5628LhBs XFLoFPRK0ls/kou/5kkAdO4QF2PYqpWfTpWaNmTlRg+WTwzRwg2aLpH07m9iBEgchtYg 9o+SnwiTn2dkRUzusoVWCs0ds6ivpjqIXSOSmWVKeYzKxouwj3fMtkkbAy31G0WM3sGN Ut2jTbYApo55O6LUlvpPjRbZyYmblE7mww1lds0S3ZvzJRAn1dD0LivWgoD8NyO9TmH5 1McA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=nJgh3hmYygR5MpBM6klhyXEp8dghieuflU+H7B0fW/s=; fh=04tk2JBZ71kumw36VQJHIStCai7GQCwaClOYcm00MWk=; b=U4kQ7KVxFkadM0VTodovMgI3eQAbbrF+7uGOeS1mjjibIkAvKS/YbYL3vS3DcsLVkH S6Vr70kgLhgNBdomrcP3Q2Mu+Lh5n8yrhMb71f5jInGxiTuLhbX2wPE2PrrD2Yn0JG0D j67OPkO16La+W3IbcyrSlcqyOTVyBHfqnS9StZd4ZkqIv2SG3y16XXjwvnMJIX8Gs6E4 ghWsVTrXkp+CDDDdqwsGtLr78+z8x14xIQFca84j3Z6xfMIl5gcAbQdDj95GOXjcGyVy dCbiS5I7THt+s/lnBx1PQJj0hNESJqbiAvYr53Jul6vGD2HcrU9txJF2BfYLqVWl1RLU ArBg==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1782979771; x=1783584571; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=nJgh3hmYygR5MpBM6klhyXEp8dghieuflU+H7B0fW/s=; b=mvQqP0yn3NoD/e9QCvMfuXr9noXcWl5CD7/61t+11Mn5Hp8EjM7y8Po9BT6VUq+0Ha QnzhM639lm4Oqm/YxpTIw3RPqAGNvXcAZsJbhLSAlfnmzl8yOofhG4FPzvrm8F+0GOgi puaZsk1KFlDLopGENWvGpCb5e6YQpOYdR0hNIY3S9uo2ydmNLj5fbE3Nj67fNyLKjQP9 bOYQbWcqk75vstwOzqvrO/kJrsh9+Be62CT1Ra/LEIAmT1WAGnPEtiqJQ4lPBxG2KllS LL0KHVSMUQ1uN6vrd1ZIM4x+UqqXOZsn9BWdSsC2RNXnk9uo+evoH1G41wgxBvKcSOu3 gOMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1782979771; x=1783584571; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=nJgh3hmYygR5MpBM6klhyXEp8dghieuflU+H7B0fW/s=; b=SAlY65GP2TYkDigo7j+osC2ehAis0RGrCYWBIIk6kCPTw6yAo9e36dksEIp1Vfjnx/ a2gf3LzLbcTrMx/xbp8grGuLw9/GuIqzoSjj3Rn74GrzLSc8EBdANeb0uZnq5TGfCeAS Uf65k9JWUDrBXUZJgEm64FMm6PMPmyOqwJ//VCwWLV+sw5UAG79VOExCiqtLVT4LJNaI kVKoxi0K9DPNLmP+ur7kOCDdd851wZ4M04CDg8UFrO1GUXvqn0gyr7qx+ZPxYMWud4OQ cga+yOWuyvqaBppkpBHebY+xtBRFe/qwDUhJVMNHtUgLszpzTIKhRkHIxzAh1EX9lG4H MG8w== X-Forwarded-Encrypted: i=1; AHgh+RrQ2LiVFhBZ3daRDdS6eVaxgHV1b8wcpDnkOWcReIC7gUmfFmUzQskwi9+3E3Gm5ghIEkMpVsmoDWtjz3/g@lists.postgresql.org X-Gm-Message-State: AOJu0YyDo1gx8arjQRljSlXpqo/L0NjkokFv7lSvk3bVFe+OrWNa2F0l nQx+JXUX4lPr409cOa+UHtJwBkVbgSAA90Ef1j0RIpApHAxaw1Dz8xprZ133rOpjJywvmDZxRQR PWTWTyRoCyLbFXb0z1Sz99j+YkSdP8tY= X-Gm-Gg: AfdE7clqmQtpv/4v4YS60hcWDixbGV1wMzrRfMJ74Z79dSnYJUPdAj6b8c3agFlmBEp yLLqQUEEV1ZfBEl4CLp+pGuH1RgjFyYvQUT9PvdS4BB+ZBRv+zn4CcmIqF/Uo2h2oTyPLzklgrc tW8f4O3NJZrsmlGSwhudSU1qFC6folVwdB0+Sd5U38/WOYpd2rBMTX++DyZaVxZe5hE5nBlOSAX 0zibBA6Tzkhr1158lq/Z0gCB+NULuGBrGsPcpPxK7tEAQTEI4yIz48S3bQlPZLoDTsKtuWMNHeY QS2itrRL X-Received: by 2002:a05:6512:288:b0:5ae:b880:d497 with SMTP id 2adb3069b0e04-5aec7430fc2mr807016e87.60.1782979771102; Thu, 02 Jul 2026 01:09:31 -0700 (PDT) MIME-Version: 1.0 References: From: Dilip Kumar Date: Thu, 2 Jul 2026 13:39:12 +0530 X-Gm-Features: AVVi8CehEsh4RmO0TlmLfC0siFLw-Wjzz0BhUz8zasavWAM257WDi9qWvE1dZHs Message-ID: Subject: Re: Proposal: Conflict log history table for Logical Replication To: shveta malik Cc: Amit Kapila , Peter Smith , vignesh C , Nisha Moond , Masahiko Sawada , Bharath Rupireddy , PostgreSQL Hackers Content-Type: multipart/mixed; boundary="000000000000e6253306559c5391" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000e6253306559c5391 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Wed, Jul 1, 2026 at 6:55=E2=80=AFPM Dilip Kumar = wrote: > > On Wed, Jul 1, 2026 at 1:16=E2=80=AFPM shveta malik wrote: > > > > On Wed, Jul 1, 2026 at 12:45=E2=80=AFPM Dilip Kumar wrote: > > > > > > Thanks I have fixed these comments and also merged the docs. > > > > Thanks. Sharing the version with pgindent run on v61. > > Here is the updated patch version. It fixes offlist review comments > provided by Amit and Shveta, bumps the catversion and adds authors and > reviewers details. I rebased the remaining patches on top of HEAD. So far, I have run pgindent and completed the doc merge for 0001. The 0002 and 0003 are just rebased. --=20 Regards, Dilip Kumar Google --000000000000e6253306559c5391 Content-Type: application/octet-stream; name="v63-0001-Implement-the-conflict-insertion-infrastructure-.patch" Content-Disposition: attachment; filename="v63-0001-Implement-the-conflict-insertion-infrastructure-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mr382khw0 RnJvbSA0MDI4YjMzNDk2NzMyYmY3ZWU0ZTMxNDAxMzRiNDllOThkN2NmZmNjIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogVGh1LCAyIEp1bCAyMDI2IDA5OjE3OjUxICswNTMwClN1YmplY3Q6IFtQQVRDSCB2NjMg MS8zXSBJbXBsZW1lbnQgdGhlIGNvbmZsaWN0IGluc2VydGlvbiBpbmZyYXN0cnVjdHVyZSBmb3Ig CiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCgpUaGlzIHBhdGNoIGludHJvZHVjZXMgdGhlIGNvcmUg bG9naWMgdG8gcG9wdWxhdGUgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSB3aGVuZXZlcgphIGxvZ2lj YWwgcmVwbGljYXRpb24gY29uZmxpY3QgaXMgZGV0ZWN0ZWQuIEl0IGNhcHR1cmVzIHRoZSByZW1v dGUgdHJhbnNhY3Rpb24KZGV0YWlscyBhbG9uZyB3aXRoIHRoZSBjb3JyZXNwb25kaW5nIGxvY2Fs IHN0YXRlIGF0IHRoZSB0aW1lIG9mIHRoZSBjb25mbGljdC4KCkhhbmRsaW5nIE11bHRpLXJvdyBD b25mbGljdHM6IEEgc2luZ2xlIHJlbW90ZSB0dXBsZSBtYXkgY29uZmxpY3Qgd2l0aCBtdWx0aXBs ZQpsb2NhbCB0dXBsZXMgKGUuZy4sIGluIHRoZSBjYXNlIG9mIG11bHRpcGxlX3VuaXF1ZV9jb25m bGljdHMpLiBUbyBoYW5kbGUgdGhpcywKdGhlIGluZnJhc3RydWN0dXJlIGNyZWF0ZXMgYSBzaW5n bGUgcm93IGluIHRoZSBjb25mbGljdCBsb2cgdGFibGUgZm9yIGVhY2gKcmVtb3RlIHR1cGxlLiBU aGUgZGV0YWlscyBvZiBhbGwgY29uZmxpY3RpbmcgbG9jYWwgcm93cyBhcmUgYWdncmVnYXRlZCBp bnRvIGEKc2luZ2xlIEpTT04gYXJyYXkgaW4gdGhlIGxvY2FsX2NvbmZsaWN0cyBjb2x1bW4uCgpU aGUgSlNPTiBhcnJheSB1c2VzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlZCBmb3JtYXQ6ClsgeyAi eGlkIjogIjEwMDEiLCAiY29tbWl0X3RzIjogIjIwMjUtMTItMjUgMTA6MDA6MDArMDU6MzAiLCAi b3JpZ2luIjogIm5vZGVfMSIsCiJrZXkiOiB7ImlkIjogMX0sICJ0dXBsZSI6IHsiaWQiOiAxLCAi dmFsIjogIm9sZF9kYXRhIn0gfSwgLi4uIF0KCkV4YW1wbGUgb2YgcXVlcnlpbmcgdGhlIHN0cnVj dHVyZWQgY29uZmxpY3QgZGF0YToKClNFTEVDVCByZW1vdGVfeGlkLCByZWxuYW1lLCByZW1vdGVf b3JpZ2luLCBsb2NhbF9jb25mbGljdHNbMV0gLT4+ICd4aWQnIEFTIGxvY2FsX3hpZCwKICAgICAg IGxvY2FsX2NvbmZsaWN0c1sxXSAtPj4gJ3R1cGxlJyBBUyBsb2NhbF90dXBsZQpGUk9NIHBnX2Nv bmZsaWN0LnBnX2NvbmZsaWN0X2xvZ18xNjM5NjsKCiByZW1vdGVfeGlkIHwgcmVsbmFtZSAgfCBy ZW1vdGVfb3JpZ2luIHwgbG9jYWxfeGlkIHwgICAgIGxvY2FsX3R1cGxlCi0tLS0tLS0tLS0tLSst LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0KICAgICAgICA3NjAgfCB0ZXN0ICAgICB8IHBnXzE2NDA2ICAgICAgfCA3NzEgICAgICAgfCB7 ImEiOjEsImIiOjEwfQogICAgICAgIDc2NSB8IGNvbmZfdGFiIHwgcGdfMTY0MDYgICAgICB8IDc3 NSAgICAgICB8IHsiYSI6MiwiYiI6MiwiYyI6Mn0KLS0tCiBkb2Mvc3JjL3NnbWwvbG9naWNhbC1y ZXBsaWNhdGlvbi5zZ21sICAgICAgICAgfCA2NTkgKysrKysrKysrLS0tLS0tCiBkb2Mvc3JjL3Nn bWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sICAgICAgfCAgIDMgKy0KIGRvYy9zcmMvc2dt bC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sICAgICB8ICAxNyArLQogLi4uL3JlcGxpY2F0 aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxlbHdvcmtlci5jIHwgIDg1ICstCiBzcmMvYmFja2VuZC9y ZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgICAgfCA3NzcgKysrKysrKysrKysrKysrKyst CiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jICAgICAgfCAgNjcgKy0K IHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZsaWN0LmggICAgICAgICAgICB8ICAgNCArCiBz cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaCAgICAgfCAgIDcgKwogc3Jj L2luY2x1ZGUvdXRpbHMvcmVsLmggICAgICAgICAgICAgICAgICAgICAgIHwgIDEzICstCiBzcmMv dGVzdC9zdWJzY3JpcHRpb24vbWVzb24uYnVpbGQgICAgICAgICAgICAgfCAgIDEgKwogc3JjL3Rl c3Qvc3Vic2NyaXB0aW9uL3QvMDMwX29yaWdpbi5wbCAgICAgICAgIHwgICA0ICstCiBzcmMvdGVz dC9zdWJzY3JpcHRpb24vdC8wMzVfY29uZmxpY3RzLnBsICAgICAgfCAgNDkgKy0KIC4uLi90LzAz OV9wYV9jb25mbGljdF9sb2dfbG9ja193YWl0LnBsICAgICAgICB8IDIwMyArKysrKwogc3JjL3Rv b2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QgICAgICAgICAgICAgIHwgICAxICsKIDE0IGZpbGVz IGNoYW5nZWQsIDE1NTQgaW5zZXJ0aW9ucygrKSwgMzM2IGRlbGV0aW9ucygtKQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHNyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzOV9wYV9jb25mbGljdF9sb2dfbG9j a193YWl0LnBsCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL2xvZ2ljYWwtcmVwbGljYXRpb24u c2dtbCBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwKaW5kZXggZjIxMjM5 YWY2YjguLmUwMzk5ZWVkNmI3IDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvbG9naWNhbC1yZXBs aWNhdGlvbi5zZ21sCisrKyBiL2RvYy9zcmMvc2dtbC9sb2dpY2FsLXJlcGxpY2F0aW9uLnNnbWwK QEAgLTIwMjQsMTIwICsyMDI0LDIzMCBAQCBJbmNsdWRlZCBpbiBwdWJsaWNhdGlvbnM6CiAgICBv cGVyYXRpb25zIHdpbGwgc2ltcGx5IGJlIHNraXBwZWQuCiAgIDwvcGFyYT4KIAotICA8cGFyYT4K LSAgIEFkZGl0aW9uYWwgbG9nZ2luZyBpcyB0cmlnZ2VyZWQsIGFuZCB0aGUgY29uZmxpY3Qgc3Rh dGlzdGljcyBhcmUgY29sbGVjdGVkIChkaXNwbGF5ZWQgaW4gdGhlCi0gICA8bGluayBsaW5rZW5k PSJtb25pdG9yaW5nLXBnLXN0YXQtc3Vic2NyaXB0aW9uLXN0YXRzIj48c3RydWN0bmFtZT5wZ19z dGF0X3N1YnNjcmlwdGlvbl9zdGF0czwvc3RydWN0bmFtZT48L2xpbms+IHZpZXcpCi0gICBpbiB0 aGUgZm9sbG93aW5nIDxmaXJzdHRlcm0+Y29uZmxpY3Q8L2ZpcnN0dGVybT4gY2FzZXM6Ci0gICA8 dmFyaWFibGVsaXN0PgotICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZsaWN0LWluc2VydC1leGlz dHMiIHhyZWZsYWJlbD0iaW5zZXJ0X2V4aXN0cyI+Ci0gICAgIDx0ZXJtPjxsaXRlcmFsPmluc2Vy dF9leGlzdHM8L2xpdGVyYWw+PC90ZXJtPgotICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4K LSAgICAgICBJbnNlcnRpbmcgYSByb3cgdGhhdCB2aW9sYXRlcyBhIDxsaXRlcmFsPk5PVCBERUZF UlJBQkxFPC9saXRlcmFsPgotICAgICAgIHVuaXF1ZSBjb25zdHJhaW50LiBOb3RlIHRoYXQgdG8g bG9nIHRoZSBvcmlnaW4gYW5kIGNvbW1pdAotICAgICAgIHRpbWVzdGFtcCBkZXRhaWxzIG9mIHRo ZSBjb25mbGljdGluZyBrZXksCi0gICAgICAgPGxpbmsgbGlua2VuZD0iZ3VjLXRyYWNrLWNvbW1p dC10aW1lc3RhbXAiPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90aW1lc3RhbXA8L3Zhcm5hbWU+PC9s aW5rPgotICAgICAgIHNob3VsZCBiZSBlbmFibGVkIG9uIHRoZSBzdWJzY3JpYmVyLiBJbiB0aGlz IGNhc2UsIGFuIGVycm9yIHdpbGwgYmUKLSAgICAgICByYWlzZWQgdW50aWwgdGhlIGNvbmZsaWN0 IGlzIHJlc29sdmVkIG1hbnVhbGx5LgotICAgICAgPC9wYXJhPgotICAgICA8L2xpc3RpdGVtPgot ICAgIDwvdmFybGlzdGVudHJ5PgotICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZsaWN0LXVwZGF0 ZS1vcmlnaW4tZGlmZmVycyIgeHJlZmxhYmVsPSJ1cGRhdGVfb3JpZ2luX2RpZmZlcnMiPgotICAg ICA8dGVybT48bGl0ZXJhbD51cGRhdGVfb3JpZ2luX2RpZmZlcnM8L2xpdGVyYWw+PC90ZXJtPgot ICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgICBVcGRhdGluZyBhIHJvdyB0aGF0 IHdhcyBwcmV2aW91c2x5IG1vZGlmaWVkIGJ5IGFub3RoZXIgb3JpZ2luLgotICAgICAgIE5vdGUg dGhhdCB0aGlzIGNvbmZsaWN0IGNhbiBvbmx5IGJlIGRldGVjdGVkIHdoZW4KLSAgICAgICA8bGlu ayBsaW5rZW5kPSJndWMtdHJhY2stY29tbWl0LXRpbWVzdGFtcCI+PHZhcm5hbWU+dHJhY2tfY29t bWl0X3RpbWVzdGFtcDwvdmFybmFtZT48L2xpbms+Ci0gICAgICAgaXMgZW5hYmxlZCBvbiB0aGUg c3Vic2NyaWJlci4gQ3VycmVudGx5LCB0aGUgdXBkYXRlIGlzIGFsd2F5cyBhcHBsaWVkCi0gICAg ICAgcmVnYXJkbGVzcyBvZiB0aGUgb3JpZ2luIG9mIHRoZSBsb2NhbCByb3cuCi0gICAgICA8L3Bh cmE+Ci0gICAgIDwvbGlzdGl0ZW0+Ci0gICAgPC92YXJsaXN0ZW50cnk+Ci0gICAgPHZhcmxpc3Rl bnRyeSBpZD0iY29uZmxpY3QtdXBkYXRlLWV4aXN0cyIgeHJlZmxhYmVsPSJ1cGRhdGVfZXhpc3Rz Ij4KLSAgICAgPHRlcm0+PGxpdGVyYWw+dXBkYXRlX2V4aXN0czwvbGl0ZXJhbD48L3Rlcm0+Ci0g ICAgIDxsaXN0aXRlbT4KLSAgICAgIDxwYXJhPgotICAgICAgIFRoZSB1cGRhdGVkIHZhbHVlIG9m IGEgcm93IHZpb2xhdGVzIGEgPGxpdGVyYWw+Tk9UIERFRkVSUkFCTEU8L2xpdGVyYWw+Ci0gICAg ICAgdW5pcXVlIGNvbnN0cmFpbnQuIE5vdGUgdGhhdCB0byBsb2cgdGhlIG9yaWdpbiBhbmQgY29t bWl0Ci0gICAgICAgdGltZXN0YW1wIGRldGFpbHMgb2YgdGhlIGNvbmZsaWN0aW5nIGtleSwKLSAg ICAgICA8bGluayBsaW5rZW5kPSJndWMtdHJhY2stY29tbWl0LXRpbWVzdGFtcCI+PHZhcm5hbWU+ dHJhY2tfY29tbWl0X3RpbWVzdGFtcDwvdmFybmFtZT48L2xpbms+Ci0gICAgICAgc2hvdWxkIGJl IGVuYWJsZWQgb24gdGhlIHN1YnNjcmliZXIuIEluIHRoaXMgY2FzZSwgYW4gZXJyb3Igd2lsbCBi ZQotICAgICAgIHJhaXNlZCB1bnRpbCB0aGUgY29uZmxpY3QgaXMgcmVzb2x2ZWQgbWFudWFsbHku IE5vdGUgdGhhdCB3aGVuIHVwZGF0aW5nIGEKLSAgICAgICBwYXJ0aXRpb25lZCB0YWJsZSwgaWYg dGhlIHVwZGF0ZWQgcm93IHZhbHVlIHNhdGlzZmllcyBhbm90aGVyIHBhcnRpdGlvbgotICAgICAg IGNvbnN0cmFpbnQgcmVzdWx0aW5nIGluIHRoZSByb3cgYmVpbmcgaW5zZXJ0ZWQgaW50byBhIG5l dyBwYXJ0aXRpb24sIHRoZQotICAgICAgIDxsaXRlcmFsPmluc2VydF9leGlzdHM8L2xpdGVyYWw+ IGNvbmZsaWN0IG1heSBhcmlzZSBpZiB0aGUgbmV3IHJvdwotICAgICAgIHZpb2xhdGVzIGEgPGxp dGVyYWw+Tk9UIERFRkVSUkFCTEU8L2xpdGVyYWw+IHVuaXF1ZSBjb25zdHJhaW50LgotICAgICAg PC9wYXJhPgotICAgICA8L2xpc3RpdGVtPgotICAgIDwvdmFybGlzdGVudHJ5PgotICAgIDx2YXJs aXN0ZW50cnkgaWQ9ImNvbmZsaWN0LXVwZGF0ZS1kZWxldGVkIiB4cmVmbGFiZWw9InVwZGF0ZV9k ZWxldGVkIj4KLSAgICAgPHRlcm0+PGxpdGVyYWw+dXBkYXRlX2RlbGV0ZWQ8L2xpdGVyYWw+PC90 ZXJtPgotICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAgICAgICBUaGUgdHVwbGUgdG8g YmUgdXBkYXRlZCB3YXMgY29uY3VycmVudGx5IGRlbGV0ZWQgYnkgYW5vdGhlciBvcmlnaW4uIFRo ZQotICAgICAgIHVwZGF0ZSB3aWxsIHNpbXBseSBiZSBza2lwcGVkIGluIHRoaXMgc2NlbmFyaW8u IE5vdGUgdGhhdCB0aGlzIGNvbmZsaWN0Ci0gICAgICAgY2FuIG9ubHkgYmUgZGV0ZWN0ZWQgd2hl bgotICAgICAgIDxsaW5rIGxpbmtlbmQ9Imd1Yy10cmFjay1jb21taXQtdGltZXN0YW1wIj48dmFy bmFtZT50cmFja19jb21taXRfdGltZXN0YW1wPC92YXJuYW1lPjwvbGluaz4KLSAgICAgICBhbmQg PGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtd2l0aC1yZXRhaW4t ZGVhZC10dXBsZXMiPjxsaXRlcmFsPnJldGFpbl9kZWFkX3R1cGxlczwvbGl0ZXJhbD48L2xpbms+ Ci0gICAgICAgYXJlIGVuYWJsZWQuIE5vdGUgdGhhdCBpZiBhIHR1cGxlIGNhbm5vdCBiZSBmb3Vu ZCBkdWUgdG8gdGhlIHRhYmxlIGJlaW5nCi0gICAgICAgdHJ1bmNhdGVkLCBvbmx5IGEgPGxpdGVy YWw+dXBkYXRlX21pc3Npbmc8L2xpdGVyYWw+IGNvbmZsaWN0IHdpbGwKLSAgICAgICBhcmlzZS4g QWRkaXRpb25hbGx5LCBpZiB0aGUgdHVwbGUgd2FzIGRlbGV0ZWQgYnkgdGhlIHNhbWUgb3JpZ2lu LCBhbgotICAgICAgIDxsaXRlcmFsPnVwZGF0ZV9taXNzaW5nPC9saXRlcmFsPiBjb25mbGljdCB3 aWxsIGFyaXNlLgotICAgICAgPC9wYXJhPgotICAgICA8L2xpc3RpdGVtPgotICAgIDwvdmFybGlz dGVudHJ5PgotICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZsaWN0LXVwZGF0ZS1taXNzaW5nIiB4 cmVmbGFiZWw9InVwZGF0ZV9taXNzaW5nIj4KLSAgICAgPHRlcm0+PGxpdGVyYWw+dXBkYXRlX21p c3Npbmc8L2xpdGVyYWw+PC90ZXJtPgotICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAg ICAgICBUaGUgcm93IHRvIGJlIHVwZGF0ZWQgd2FzIG5vdCBmb3VuZC4gVGhlIHVwZGF0ZSB3aWxs IHNpbXBseSBiZQotICAgICAgIHNraXBwZWQgaW4gdGhpcyBzY2VuYXJpby4KLSAgICAgIDwvcGFy YT4KLSAgICAgPC9saXN0aXRlbT4KLSAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICA8dmFybGlzdGVu dHJ5IGlkPSJjb25mbGljdC1kZWxldGUtb3JpZ2luLWRpZmZlcnMiIHhyZWZsYWJlbD0iZGVsZXRl X29yaWdpbl9kaWZmZXJzIj4KLSAgICAgPHRlcm0+PGxpdGVyYWw+ZGVsZXRlX29yaWdpbl9kaWZm ZXJzPC9saXRlcmFsPjwvdGVybT4KLSAgICAgPGxpc3RpdGVtPgotICAgICAgPHBhcmE+Ci0gICAg ICAgRGVsZXRpbmcgYSByb3cgdGhhdCB3YXMgcHJldmlvdXNseSBtb2RpZmllZCBieSBhbm90aGVy IG9yaWdpbi4gTm90ZSB0aGF0Ci0gICAgICAgdGhpcyBjb25mbGljdCBjYW4gb25seSBiZSBkZXRl Y3RlZCB3aGVuCi0gICAgICAgPGxpbmsgbGlua2VuZD0iZ3VjLXRyYWNrLWNvbW1pdC10aW1lc3Rh bXAiPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90aW1lc3RhbXA8L3Zhcm5hbWU+PC9saW5rPgotICAg ICAgIGlzIGVuYWJsZWQgb24gdGhlIHN1YnNjcmliZXIuIEN1cnJlbnRseSwgdGhlIGRlbGV0ZSBp cyBhbHdheXMgYXBwbGllZAotICAgICAgIHJlZ2FyZGxlc3Mgb2YgdGhlIG9yaWdpbiBvZiB0aGUg bG9jYWwgcm93LgotICAgICAgPC9wYXJhPgotICAgICA8L2xpc3RpdGVtPgotICAgIDwvdmFybGlz dGVudHJ5PgotICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZsaWN0LWRlbGV0ZS1taXNzaW5nIiB4 cmVmbGFiZWw9ImRlbGV0ZV9taXNzaW5nIj4KLSAgICAgPHRlcm0+PGxpdGVyYWw+ZGVsZXRlX21p c3Npbmc8L2xpdGVyYWw+PC90ZXJtPgotICAgICA8bGlzdGl0ZW0+Ci0gICAgICA8cGFyYT4KLSAg ICAgICBUaGUgcm93IHRvIGJlIGRlbGV0ZWQgd2FzIG5vdCBmb3VuZC4gVGhlIGRlbGV0ZSB3aWxs IHNpbXBseSBiZQotICAgICAgIHNraXBwZWQgaW4gdGhpcyBzY2VuYXJpby4KLSAgICAgIDwvcGFy YT4KLSAgICAgPC9saXN0aXRlbT4KLSAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgICA8dmFybGlzdGVu dHJ5IGlkPSJjb25mbGljdC1tdWx0aXBsZS11bmlxdWUtY29uZmxpY3RzIiB4cmVmbGFiZWw9Im11 bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMiPgotICAgICA8dGVybT48bGl0ZXJhbD5tdWx0aXBsZV91 bmlxdWVfY29uZmxpY3RzPC9saXRlcmFsPjwvdGVybT4KLSAgICAgPGxpc3RpdGVtPgotICAgICAg PHBhcmE+Ci0gICAgICAgSW5zZXJ0aW5nIG9yIHVwZGF0aW5nIGEgcm93IHZpb2xhdGVzIG11bHRp cGxlCi0gICAgICAgPGxpdGVyYWw+Tk9UIERFRkVSUkFCTEU8L2xpdGVyYWw+IHVuaXF1ZSBjb25z dHJhaW50cy4gTm90ZSB0aGF0IHRvIGxvZwotICAgICAgIHRoZSBvcmlnaW4gYW5kIGNvbW1pdCB0 aW1lc3RhbXAgZGV0YWlscyBvZiBjb25mbGljdGluZyBrZXlzLCBlbnN1cmUKLSAgICAgICB0aGF0 IDxsaW5rIGxpbmtlbmQ9Imd1Yy10cmFjay1jb21taXQtdGltZXN0YW1wIj48dmFybmFtZT50cmFj a19jb21taXRfdGltZXN0YW1wPC92YXJuYW1lPjwvbGluaz4KLSAgICAgICBpcyBlbmFibGVkIG9u IHRoZSBzdWJzY3JpYmVyLiBJbiB0aGlzIGNhc2UsIGFuIGVycm9yIHdpbGwgYmUgcmFpc2VkIHVu dGlsCi0gICAgICAgdGhlIGNvbmZsaWN0IGlzIHJlc29sdmVkIG1hbnVhbGx5LgotICAgICAgPC9w YXJhPgotICAgICA8L2xpc3RpdGVtPgotICAgIDwvdmFybGlzdGVudHJ5PgotICAgPC92YXJpYWJs ZWxpc3Q+Ci0gICAgTm90ZSB0aGF0IHRoZXJlIGFyZSBvdGhlciBjb25mbGljdCBzY2VuYXJpb3Ms IHN1Y2ggYXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQKLSAgICB2aW9sYXRpb25zLiBDdXJyZW50bHks IHdlIGRvIG5vdCBwcm92aWRlIGFkZGl0aW9uYWwgZGV0YWlscyBmb3IgdGhlbSBpbiB0aGUKLSAg ICBsb2cuCi0gIDwvcGFyYT4KKyAgPHNlY3QyIGlkPSJsb2dpY2FsLXJlcGxpY2F0aW9uLWNvbmZs aWN0LWxvZ2dpbmciPgorICAgPHRpdGxlPkNvbmZsaWN0IGxvZ2dpbmc8L3RpdGxlPgorICAgPHBh cmE+CisgICAgQWRkaXRpb25hbCBsb2dnaW5nIGlzIHRyaWdnZXJlZCwgYW5kIHRoZSBjb25mbGlj dCBzdGF0aXN0aWNzIGFyZSBjb2xsZWN0ZWQgKGRpc3BsYXllZCBpbiB0aGUKKyAgICA8bGluayBs aW5rZW5kPSJtb25pdG9yaW5nLXBnLXN0YXQtc3Vic2NyaXB0aW9uLXN0YXRzIj48c3RydWN0bmFt ZT5wZ19zdGF0X3N1YnNjcmlwdGlvbl9zdGF0czwvc3RydWN0bmFtZT48L2xpbms+IHZpZXcpCisg ICAgaW4gdGhlIGZvbGxvd2luZyA8Zmlyc3R0ZXJtPmNvbmZsaWN0PC9maXJzdHRlcm0+IGNhc2Vz OgorICAgIDx2YXJpYWJsZWxpc3Q+CisgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZsaWN0LWlu c2VydC1leGlzdHMiIHhyZWZsYWJlbD0iaW5zZXJ0X2V4aXN0cyI+CisgICAgICA8dGVybT48bGl0 ZXJhbD5pbnNlcnRfZXhpc3RzPC9saXRlcmFsPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAg ICAgICA8cGFyYT4KKyAgICAgICAgSW5zZXJ0aW5nIGEgcm93IHRoYXQgdmlvbGF0ZXMgYSA8bGl0 ZXJhbD5OT1QgREVGRVJSQUJMRTwvbGl0ZXJhbD4KKyAgICAgICAgdW5pcXVlIGNvbnN0cmFpbnQu IE5vdGUgdGhhdCB0byBsb2cgdGhlIG9yaWdpbiBhbmQgY29tbWl0CisgICAgICAgIHRpbWVzdGFt cCBkZXRhaWxzIG9mIHRoZSBjb25mbGljdGluZyBrZXksCisgICAgICAgIDxsaW5rIGxpbmtlbmQ9 Imd1Yy10cmFjay1jb21taXQtdGltZXN0YW1wIj48dmFybmFtZT50cmFja19jb21taXRfdGltZXN0 YW1wPC92YXJuYW1lPjwvbGluaz4KKyAgICAgICAgc2hvdWxkIGJlIGVuYWJsZWQgb24gdGhlIHN1 YnNjcmliZXIuIEluIHRoaXMgY2FzZSwgYW4gZXJyb3Igd2lsbCBiZQorICAgICAgICByYWlzZWQg dW50aWwgdGhlIGNvbmZsaWN0IGlzIHJlc29sdmVkIG1hbnVhbGx5LgorICAgICAgIDwvcGFyYT4K KyAgICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICA8dmFybGlzdGVu dHJ5IGlkPSJjb25mbGljdC11cGRhdGUtb3JpZ2luLWRpZmZlcnMiIHhyZWZsYWJlbD0idXBkYXRl X29yaWdpbl9kaWZmZXJzIj4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPnVwZGF0ZV9vcmlnaW5fZGlm ZmVyczwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+Cisg ICAgICAgIFVwZGF0aW5nIGEgcm93IHRoYXQgd2FzIHByZXZpb3VzbHkgbW9kaWZpZWQgYnkgYW5v dGhlciBvcmlnaW4uCisgICAgICAgIE5vdGUgdGhhdCB0aGlzIGNvbmZsaWN0IGNhbiBvbmx5IGJl IGRldGVjdGVkIHdoZW4KKyAgICAgICAgPGxpbmsgbGlua2VuZD0iZ3VjLXRyYWNrLWNvbW1pdC10 aW1lc3RhbXAiPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90aW1lc3RhbXA8L3Zhcm5hbWU+PC9saW5r PgorICAgICAgICBpcyBlbmFibGVkIG9uIHRoZSBzdWJzY3JpYmVyLiBDdXJyZW50bHksIHRoZSB1 cGRhdGUgaXMgYWx3YXlzIGFwcGxpZWQKKyAgICAgICAgcmVnYXJkbGVzcyBvZiB0aGUgb3JpZ2lu IG9mIHRoZSBsb2NhbCByb3cuCisgICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAg ICAgPC92YXJsaXN0ZW50cnk+CisgICAgIDx2YXJsaXN0ZW50cnkgaWQ9ImNvbmZsaWN0LXVwZGF0 ZS1leGlzdHMiIHhyZWZsYWJlbD0idXBkYXRlX2V4aXN0cyI+CisgICAgICA8dGVybT48bGl0ZXJh bD51cGRhdGVfZXhpc3RzPC9saXRlcmFsPjwvdGVybT4KKyAgICAgIDxsaXN0aXRlbT4KKyAgICAg ICA8cGFyYT4KKyAgICAgICAgVGhlIHVwZGF0ZWQgdmFsdWUgb2YgYSByb3cgdmlvbGF0ZXMgYSA8 bGl0ZXJhbD5OT1QgREVGRVJSQUJMRTwvbGl0ZXJhbD4KKyAgICAgICAgdW5pcXVlIGNvbnN0cmFp bnQuIE5vdGUgdGhhdCB0byBsb2cgdGhlIG9yaWdpbiBhbmQgY29tbWl0CisgICAgICAgIHRpbWVz dGFtcCBkZXRhaWxzIG9mIHRoZSBjb25mbGljdGluZyBrZXksCisgICAgICAgIDxsaW5rIGxpbmtl bmQ9Imd1Yy10cmFjay1jb21taXQtdGltZXN0YW1wIj48dmFybmFtZT50cmFja19jb21taXRfdGlt ZXN0YW1wPC92YXJuYW1lPjwvbGluaz4KKyAgICAgICAgc2hvdWxkIGJlIGVuYWJsZWQgb24gdGhl IHN1YnNjcmliZXIuIEluIHRoaXMgY2FzZSwgYW4gZXJyb3Igd2lsbCBiZQorICAgICAgICByYWlz ZWQgdW50aWwgdGhlIGNvbmZsaWN0IGlzIHJlc29sdmVkIG1hbnVhbGx5LiBOb3RlIHRoYXQgd2hl biB1cGRhdGluZyBhCisgICAgICAgIHBhcnRpdGlvbmVkIHRhYmxlLCBpZiB0aGUgdXBkYXRlZCBy b3cgdmFsdWUgc2F0aXNmaWVzIGFub3RoZXIgcGFydGl0aW9uCisgICAgICAgIGNvbnN0cmFpbnQg cmVzdWx0aW5nIGluIHRoZSByb3cgYmVpbmcgaW5zZXJ0ZWQgaW50byBhIG5ldyBwYXJ0aXRpb24s IHRoZQorICAgICAgICA8bGl0ZXJhbD5pbnNlcnRfZXhpc3RzPC9saXRlcmFsPiBjb25mbGljdCBt YXkgYXJpc2UgaWYgdGhlIG5ldyByb3cKKyAgICAgICAgdmlvbGF0ZXMgYSA8bGl0ZXJhbD5OT1Qg REVGRVJSQUJMRTwvbGl0ZXJhbD4gdW5pcXVlIGNvbnN0cmFpbnQuCisgICAgICAgPC9wYXJhPgor ICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisgICAgIDx2YXJsaXN0ZW50 cnkgaWQ9ImNvbmZsaWN0LXVwZGF0ZS1kZWxldGVkIiB4cmVmbGFiZWw9InVwZGF0ZV9kZWxldGVk Ij4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPnVwZGF0ZV9kZWxldGVkPC9saXRlcmFsPjwvdGVybT4K KyAgICAgIDxsaXN0aXRlbT4KKyAgICAgICA8cGFyYT4KKyAgICAgICAgVGhlIHR1cGxlIHRvIGJl IHVwZGF0ZWQgd2FzIGNvbmN1cnJlbnRseSBkZWxldGVkIGJ5IGFub3RoZXIgb3JpZ2luLiBUaGUK KyAgICAgICAgdXBkYXRlIHdpbGwgc2ltcGx5IGJlIHNraXBwZWQgaW4gdGhpcyBzY2VuYXJpby4g Tm90ZSB0aGF0IHRoaXMgY29uZmxpY3QKKyAgICAgICAgY2FuIG9ubHkgYmUgZGV0ZWN0ZWQgd2hl bgorICAgICAgICA8bGluayBsaW5rZW5kPSJndWMtdHJhY2stY29tbWl0LXRpbWVzdGFtcCI+PHZh cm5hbWU+dHJhY2tfY29tbWl0X3RpbWVzdGFtcDwvdmFybmFtZT48L2xpbms+CisgICAgICAgIGFu ZCA8bGluayBsaW5rZW5kPSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy13aXRoLXJldGFp bi1kZWFkLXR1cGxlcyI+PGxpdGVyYWw+cmV0YWluX2RlYWRfdHVwbGVzPC9saXRlcmFsPjwvbGlu az4KKyAgICAgICAgYXJlIGVuYWJsZWQuIE5vdGUgdGhhdCBpZiBhIHR1cGxlIGNhbm5vdCBiZSBm b3VuZCBkdWUgdG8gdGhlIHRhYmxlIGJlaW5nCisgICAgICAgIHRydW5jYXRlZCwgb25seSBhIDxs aXRlcmFsPnVwZGF0ZV9taXNzaW5nPC9saXRlcmFsPiBjb25mbGljdCB3aWxsCisgICAgICAgIGFy aXNlLiBBZGRpdGlvbmFsbHksIGlmIHRoZSB0dXBsZSB3YXMgZGVsZXRlZCBieSB0aGUgc2FtZSBv cmlnaW4sIGFuCisgICAgICAgIDxsaXRlcmFsPnVwZGF0ZV9taXNzaW5nPC9saXRlcmFsPiBjb25m bGljdCB3aWxsIGFyaXNlLgorICAgICAgIDwvcGFyYT4KKyAgICAgIDwvbGlzdGl0ZW0+CisgICAg IDwvdmFybGlzdGVudHJ5PgorICAgICA8dmFybGlzdGVudHJ5IGlkPSJjb25mbGljdC11cGRhdGUt bWlzc2luZyIgeHJlZmxhYmVsPSJ1cGRhdGVfbWlzc2luZyI+CisgICAgICA8dGVybT48bGl0ZXJh bD51cGRhdGVfbWlzc2luZzwvbGl0ZXJhbD48L3Rlcm0+CisgICAgICA8bGlzdGl0ZW0+CisgICAg ICAgPHBhcmE+CisgICAgICAgIFRoZSByb3cgdG8gYmUgdXBkYXRlZCB3YXMgbm90IGZvdW5kLiBU aGUgdXBkYXRlIHdpbGwgc2ltcGx5IGJlCisgICAgICAgIHNraXBwZWQgaW4gdGhpcyBzY2VuYXJp by4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRy eT4KKyAgICAgPHZhcmxpc3RlbnRyeSBpZD0iY29uZmxpY3QtZGVsZXRlLW9yaWdpbi1kaWZmZXJz IiB4cmVmbGFiZWw9ImRlbGV0ZV9vcmlnaW5fZGlmZmVycyI+CisgICAgICA8dGVybT48bGl0ZXJh bD5kZWxldGVfb3JpZ2luX2RpZmZlcnM8L2xpdGVyYWw+PC90ZXJtPgorICAgICAgPGxpc3RpdGVt PgorICAgICAgIDxwYXJhPgorICAgICAgICBEZWxldGluZyBhIHJvdyB0aGF0IHdhcyBwcmV2aW91 c2x5IG1vZGlmaWVkIGJ5IGFub3RoZXIgb3JpZ2luLiBOb3RlIHRoYXQKKyAgICAgICAgdGhpcyBj b25mbGljdCBjYW4gb25seSBiZSBkZXRlY3RlZCB3aGVuCisgICAgICAgIDxsaW5rIGxpbmtlbmQ9 Imd1Yy10cmFjay1jb21taXQtdGltZXN0YW1wIj48dmFybmFtZT50cmFja19jb21taXRfdGltZXN0 YW1wPC92YXJuYW1lPjwvbGluaz4KKyAgICAgICAgaXMgZW5hYmxlZCBvbiB0aGUgc3Vic2NyaWJl ci4gQ3VycmVudGx5LCB0aGUgZGVsZXRlIGlzIGFsd2F5cyBhcHBsaWVkCisgICAgICAgIHJlZ2Fy ZGxlc3Mgb2YgdGhlIG9yaWdpbiBvZiB0aGUgbG9jYWwgcm93LgorICAgICAgIDwvcGFyYT4KKyAg ICAgIDwvbGlzdGl0ZW0+CisgICAgIDwvdmFybGlzdGVudHJ5PgorICAgICA8dmFybGlzdGVudHJ5 IGlkPSJjb25mbGljdC1kZWxldGUtbWlzc2luZyIgeHJlZmxhYmVsPSJkZWxldGVfbWlzc2luZyI+ CisgICAgICA8dGVybT48bGl0ZXJhbD5kZWxldGVfbWlzc2luZzwvbGl0ZXJhbD48L3Rlcm0+Cisg ICAgICA8bGlzdGl0ZW0+CisgICAgICAgPHBhcmE+CisgICAgICAgIFRoZSByb3cgdG8gYmUgZGVs ZXRlZCB3YXMgbm90IGZvdW5kLiBUaGUgZGVsZXRlIHdpbGwgc2ltcGx5IGJlCisgICAgICAgIHNr aXBwZWQgaW4gdGhpcyBzY2VuYXJpby4KKyAgICAgICA8L3BhcmE+CisgICAgICA8L2xpc3RpdGVt PgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICAgPHZhcmxpc3RlbnRyeSBpZD0iY29uZmxpY3Qt bXVsdGlwbGUtdW5pcXVlLWNvbmZsaWN0cyIgeHJlZmxhYmVsPSJtdWx0aXBsZV91bmlxdWVfY29u ZmxpY3RzIj4KKyAgICAgIDx0ZXJtPjxsaXRlcmFsPm11bHRpcGxlX3VuaXF1ZV9jb25mbGljdHM8 L2xpdGVyYWw+PC90ZXJtPgorICAgICAgPGxpc3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAg ICBJbnNlcnRpbmcgb3IgdXBkYXRpbmcgYSByb3cgdmlvbGF0ZXMgbXVsdGlwbGUKKyAgICAgICAg PGxpdGVyYWw+Tk9UIERFRkVSUkFCTEU8L2xpdGVyYWw+IHVuaXF1ZSBjb25zdHJhaW50cy4gTm90 ZSB0aGF0IHRvIGxvZworICAgICAgICB0aGUgb3JpZ2luIGFuZCBjb21taXQgdGltZXN0YW1wIGRl dGFpbHMgb2YgY29uZmxpY3Rpbmcga2V5cywgZW5zdXJlCisgICAgICAgIHRoYXQgPGxpbmsgbGlu a2VuZD0iZ3VjLXRyYWNrLWNvbW1pdC10aW1lc3RhbXAiPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90 aW1lc3RhbXA8L3Zhcm5hbWU+PC9saW5rPgorICAgICAgICBpcyBlbmFibGVkIG9uIHRoZSBzdWJz Y3JpYmVyLiBJbiB0aGlzIGNhc2UsIGFuIGVycm9yIHdpbGwgYmUgcmFpc2VkIHVudGlsCisgICAg ICAgIHRoZSBjb25mbGljdCBpcyByZXNvbHZlZCBtYW51YWxseS4KKyAgICAgICA8L3BhcmE+Cisg ICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxpc3RlbnRyeT4KKyAgICA8L3ZhcmlhYmxlbGlz dD4KKyAgICAgTm90ZSB0aGF0IHRoZXJlIGFyZSBvdGhlciBjb25mbGljdCBzY2VuYXJpb3MsIHN1 Y2ggYXMgZXhjbHVzaW9uIGNvbnN0cmFpbnQKKyAgICAgdmlvbGF0aW9ucy4gQ3VycmVudGx5LCB3 ZSBkbyBub3QgcHJvdmlkZSBhZGRpdGlvbmFsIGRldGFpbHMgZm9yIHRoZW0gaW4gdGhlCisgICAg IGxvZy4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KIAotICA8cGFyYT4KLSAgIFRoZSBsb2cgZm9y bWF0IGZvciBsb2dpY2FsIHJlcGxpY2F0aW9uIGNvbmZsaWN0cyBpcyBhcyBmb2xsb3dzOgorICA8 c2VjdDIgaWQ9ImxvZ2ljYWwtcmVwbGljYXRpb24tY29uZmxpY3QtdGFibGUtYmFzZWQtbG9nZ2lu ZyI+CisgICA8dGl0bGU+VGFibGUtYmFzZWQgbG9nZ2luZzwvdGl0bGU+CisgICA8cGFyYT4KKyAg ICBJZiB0aGUgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtd2l0 aC1jb25mbGljdC1sb2ctZGVzdGluYXRpb24iPjxsaXRlcmFsPmNvbmZsaWN0X2xvZ19kZXN0aW5h dGlvbjwvbGl0ZXJhbD48L2xpbms+CisgICAgcGFyYW1ldGVyIGlzIHNldCB0byA8bGl0ZXJhbD50 YWJsZTwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+YWxsPC9saXRlcmFsPiwKKyAgICBhIGRlZGljYXRl ZCBjb25mbGljdCBsb2cgdGFibGUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQuIFRoaXMg dGFibGUgaXMKKyAgICBjcmVhdGVkIGluIHRoZSA8bGl0ZXJhbD5wZ19jb25mbGljdDwvbGl0ZXJh bD4gbmFtZXNwYWNlLiBUaGUgbmFtZSBvZiB0aGUKKyAgICBjb25mbGljdCBsb2cgdGFibGUgaXMK KyAgICA8bGl0ZXJhbD5wZ19jb25mbGljdF9sb2dfJmx0O3N1YmlkJmd0OzwvbGl0ZXJhbD4uIFRo ZSBwcmVkZWZpbmVkCisgICAgc2NoZW1hIG9mIHRoaXMgdGFibGUgaXMgZGV0YWlsZWQgaW4KKyAg ICA8eHJlZiBsaW5rZW5kPSJsb2dpY2FsLXJlcGxpY2F0aW9uLWNvbmZsaWN0LWxvZy1zY2hlbWEi Lz4uCisgICA8L3BhcmE+CisKKyAgIDx0YWJsZSBpZD0ibG9naWNhbC1yZXBsaWNhdGlvbi1jb25m bGljdC1sb2ctc2NoZW1hIj4KKyAgICA8dGl0bGU+Q29uZmxpY3QgTG9nIFRhYmxlIFNjaGVtYTwv dGl0bGU+CisgICAgPHRncm91cCBjb2xzPSIzIj4KKyAgICAgPHRoZWFkPgorICAgICAgPHJvdz4K KyAgICAgICA8ZW50cnk+Q29sdW1uPC9lbnRyeT4KKyAgICAgICA8ZW50cnk+VHlwZTwvZW50cnk+ CisgICAgICAgPGVudHJ5PkRlc2NyaXB0aW9uPC9lbnRyeT4KKyAgICAgIDwvcm93PgorICAgICA8 L3RoZWFkPgorICAgICA8dGJvZHk+CisgICAgICA8cm93PgorICAgICAgIDxlbnRyeT48bGl0ZXJh bD5yZWxpZDwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgIDxlbnRyeT48dHlwZT5vaWQ8L3R5cGU+ PC9lbnRyeT4KKyAgICAgICA8ZW50cnk+VGhlIE9JRCBvZiB0aGUgbG9jYWwgdGFibGUgd2hlcmUg dGhlIGNvbmZsaWN0IG9jY3VycmVkLjwvZW50cnk+CisgICAgICA8L3Jvdz4KKyAgICAgIDxyb3c+ CisgICAgICAgPGVudHJ5PjxsaXRlcmFsPnNjaGVtYW5hbWU8L2xpdGVyYWw+PC9lbnRyeT4KKyAg ICAgICA8ZW50cnk+PHR5cGU+dGV4dDwvdHlwZT48L2VudHJ5PgorICAgICAgIDxlbnRyeT5UaGUg c2NoZW1hIG5hbWUgb2YgdGhlIGNvbmZsaWN0aW5nIHRhYmxlLjwvZW50cnk+CisgICAgICA8L3Jv dz4KKyAgICAgIDxyb3c+CisgICAgICAgPGVudHJ5PjxsaXRlcmFsPnJlbG5hbWU8L2xpdGVyYWw+ PC9lbnRyeT4KKyAgICAgICA8ZW50cnk+PHR5cGU+dGV4dDwvdHlwZT48L2VudHJ5PgorICAgICAg IDxlbnRyeT5UaGUgbmFtZSBvZiB0aGUgY29uZmxpY3RpbmcgdGFibGUuPC9lbnRyeT4KKyAgICAg IDwvcm93PgorICAgICAgPHJvdz4KKyAgICAgICA8ZW50cnk+PGxpdGVyYWw+Y29uZmxpY3RfdHlw ZTwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgIDxlbnRyeT48dHlwZT50ZXh0PC90eXBlPjwvZW50 cnk+CisgICAgICAgPGVudHJ5PlRoZSB0eXBlIG9mIGNvbmZsaWN0IHRoYXQgb2NjdXJyZWQgKGUu Zy4sIDxsaXRlcmFsPmluc2VydF9leGlzdHM8L2xpdGVyYWw+KS48L2VudHJ5PgorICAgICAgPC9y b3c+CisgICAgICA8cm93PgorICAgICAgIDxlbnRyeT48bGl0ZXJhbD5yZW1vdGVfeGlkPC9saXRl cmFsPjwvZW50cnk+CisgICAgICAgPGVudHJ5Pjx0eXBlPnhpZDwvdHlwZT48L2VudHJ5PgorICAg ICAgIDxlbnRyeT5UaGUgcmVtb3RlIHRyYW5zYWN0aW9uIElEIHRoYXQgY2F1c2VkIHRoZSBjb25m bGljdC48L2VudHJ5PgorICAgICAgPC9yb3c+CisgICAgICA8cm93PgorICAgICAgIDxlbnRyeT48 bGl0ZXJhbD5yZW1vdGVfY29tbWl0X2xzbjwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgIDxlbnRy eT48dHlwZT5wZ19sc248L3R5cGU+PC9lbnRyeT4KKyAgICAgICA8ZW50cnk+VGhlIGZpbmFsIExT TiBvZiB0aGUgcmVtb3RlIHRyYW5zYWN0aW9uLjwvZW50cnk+CisgICAgICA8L3Jvdz4KKyAgICAg IDxyb3c+CisgICAgICAgPGVudHJ5PjxsaXRlcmFsPnJlbW90ZV9jb21taXRfdHM8L2xpdGVyYWw+ PC9lbnRyeT4KKyAgICAgICA8ZW50cnk+PHR5cGU+dGltZXN0YW1wdHo8L3R5cGU+PC9lbnRyeT4K KyAgICAgICA8ZW50cnk+VGhlIHJlbW90ZSBjb21taXQgdGltZXN0YW1wIG9mIHRoZSByZW1vdGUg dHJhbnNhY3Rpb24uPC9lbnRyeT4KKyAgICAgIDwvcm93PgorICAgICAgPHJvdz4KKyAgICAgICA8 ZW50cnk+PGxpdGVyYWw+cmVtb3RlX29yaWdpbjwvbGl0ZXJhbD48L2VudHJ5PgorICAgICAgIDxl bnRyeT48dHlwZT50ZXh0PC90eXBlPjwvZW50cnk+CisgICAgICAgPGVudHJ5PlRoZSBvcmlnaW4g b2YgdGhlIHJlbW90ZSB0cmFuc2FjdGlvbi48L2VudHJ5PgorICAgICAgPC9yb3c+CisgICAgICA8 cm93PgorICAgICAgIDxlbnRyeT48bGl0ZXJhbD5yZXBsaWNhX2lkZW50aXR5X2Z1bGw8L2xpdGVy YWw+PC9lbnRyeT4KKyAgICAgICA8ZW50cnk+PHR5cGU+Ym9vbGVhbjwvdHlwZT48L2VudHJ5Pgor ICAgICAgIDxlbnRyeT5JbmRpY2F0ZXMgd2hldGhlciA8bGl0ZXJhbD5yZXBsaWNhX2lkZW50aXR5 PC9saXRlcmFsPiByZXByZXNlbnRzIGEgZnVsbCB0dXBsZSAoPGxpdGVyYWw+dHJ1ZTwvbGl0ZXJh bD4pIG9yIGtleSB2YWx1ZXMgb2YgYSByZXBsaWNhIGlkZW50aXR5IGluZGV4ICg8bGl0ZXJhbD5m YWxzZTwvbGl0ZXJhbD4pLjwvZW50cnk+CisgICAgICA8L3Jvdz4KKyAgICAgIDxyb3c+CisgICAg ICAgPGVudHJ5PjxsaXRlcmFsPnJlcGxpY2FfaWRlbnRpdHk8L2xpdGVyYWw+PC9lbnRyeT4KKyAg ICAgICA8ZW50cnk+PHR5cGU+anNvbjwvdHlwZT48L2VudHJ5PgorICAgICAgIDxlbnRyeT5UaGUg SlNPTiByZXByZXNlbnRhdGlvbiBvZiB0aGUgcmVwbGljYSBpZGVudGl0eSBrZXkgdmFsdWVzIG9y IGZ1bGwgdHVwbGUuPC9lbnRyeT4KKyAgICAgIDwvcm93PgorICAgICAgPHJvdz4KKyAgICAgICA8 ZW50cnk+PGxpdGVyYWw+cmVtb3RlX3R1cGxlPC9saXRlcmFsPjwvZW50cnk+CisgICAgICAgPGVu dHJ5Pjx0eXBlPmpzb248L3R5cGU+PC9lbnRyeT4KKyAgICAgICA8ZW50cnk+VGhlIEpTT04gcmVw cmVzZW50YXRpb24gb2YgdGhlIGluY29taW5nIHJlbW90ZSByb3cgdGhhdCBjYXVzZWQKKyAgICAg ICB0aGUgY29uZmxpY3QuPC9lbnRyeT4KKyAgICAgIDwvcm93PgorICAgICAgPHJvdz4KKyAgICAg ICA8ZW50cnk+PGxpdGVyYWw+bG9jYWxfY29uZmxpY3RzPC9saXRlcmFsPjwvZW50cnk+CisgICAg ICAgPGVudHJ5Pjx0eXBlPmpzb25bXTwvdHlwZT48L2VudHJ5PgorICAgICAgIDxlbnRyeT4KKyAg ICAgICAgQW4gYXJyYXkgb2YgSlNPTiBvYmplY3RzIHJlcHJlc2VudGluZyB0aGUgc3RhdGUgb2Yg ZXhpc3RpbmcgbG9jYWwKKyAgICAgICAgcm93KHMpIHRoYXQgY2F1c2VkIHRoZSBjb25mbGljdC4g RWFjaCBvYmplY3QgaW5jbHVkZXMgdGhlIGxvY2FsCisgICAgICAgIHRyYW5zYWN0aW9uIElEICg8 bGl0ZXJhbD54aWQ8L2xpdGVyYWw+KSwgY29tbWl0IHRpbWVzdGFtcAorICAgICAgICAoPGxpdGVy YWw+Y29tbWl0X3RzPC9saXRlcmFsPiksIG9yaWdpbiAoPGxpdGVyYWw+b3JpZ2luPC9saXRlcmFs PiksCisgICAgICAgIGNvbmZsaWN0aW5nIGtleSBkYXRhICg8bGl0ZXJhbD5rZXk8L2xpdGVyYWw+ KSwgYW5kIHRoZSBmdWxsIGxvY2FsIHJvdworICAgICAgICBpbWFnZSAoPGxpdGVyYWw+dHVwbGU8 L2xpdGVyYWw+KS4KKyAgICAgICA8L2VudHJ5PgorICAgICAgPC9yb3c+CisgICAgIDwvdGJvZHk+ CisgICAgPC90Z3JvdXA+CisgICA8L3RhYmxlPgorCisgICA8cGFyYT4KKyAgICBUaGUgY29uZmxp Y3Rpbmcgcm93IGRhdGEsIGluY2x1ZGluZyB0aGUgaW5jb21pbmcgcmVtb3RlIHJvdyAoPGxpdGVy YWw+cmVtb3RlX3R1cGxlPC9saXRlcmFsPikKKyAgICBhbmQgdGhlIGFzc29jaWF0ZWQgbG9jYWwg Y29uZmxpY3QgZGV0YWlscyAoPGxpdGVyYWw+bG9jYWxfY29uZmxpY3RzPC9saXRlcmFsPiksIGlz IHN0b3JlZCBpbgorICAgIDx0eXBlPkpTT048L3R5cGU+IGZvcm1hdHMgZm9yIGZsZXhpYmxlIHF1 ZXJ5aW5nIGFuZCBhbmFseXNpcy4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KKworICA8c2VjdDIg aWQ9ImxvZ2ljYWwtcmVwbGljYXRpb24tY29uZmxpY3QtZmlsZS1iYXNlZC1sb2dnaW5nIj4KKyAg IDx0aXRsZT5GaWxlLWJhc2VkIGxvZ2dpbmc8L3RpdGxlPgorICAgPHBhcmE+CisgICAgSWYgdGhl IDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24tcGFyYW1zLXdpdGgtY29uZmxp Y3QtbG9nLWRlc3RpbmF0aW9uIj48bGl0ZXJhbD5jb25mbGljdF9sb2dfZGVzdGluYXRpb248L2xp dGVyYWw+PC9saW5rPgorICAgIHBhcmFtZXRlciBpcyBzZXQgdG8gPGxpdGVyYWw+bG9nPC9saXRl cmFsPiBvciA8bGl0ZXJhbD5hbGw8L2xpdGVyYWw+LCBjb25mbGljdHMKKyAgICBhcmUgbG9nZ2Vk IHRvIHRoZSBzZXJ2ZXIgbG9nIHVzaW5nIHRoZSBmb2xsb3dpbmcgZm9ybWF0OgogPHN5bm9wc2lz PgogTE9HOiAgY29uZmxpY3QgZGV0ZWN0ZWQgb24gcmVsYXRpb24gIjxyZXBsYWNlYWJsZT5zY2hl bWFuYW1lPC9yZXBsYWNlYWJsZT4uPHJlcGxhY2VhYmxlPnRhYmxlbmFtZTwvcmVwbGFjZWFibGU+ IjogY29uZmxpY3Q9PHJlcGxhY2VhYmxlPmNvbmZsaWN0X3R5cGU8L3JlcGxhY2VhYmxlPgogREVU QUlMOiAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRldGFpbGVkX2V4cGxhbmF0aW9u PC9yZXBsYWNlYWJsZT5bOiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGV0YWlsX3Zh bHVlczwvcmVwbGFjZWFibGU+IFssIC4uLiBdXS4KQEAgLTIxNTAsMTgyICsyMjYwLDE4NSBAQCBE RVRBSUw6ICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGV0YWlsZWRfZXhwbGFuYXRp b248L3JlcGxhY2VhYmxlPls6IDxyZQogICAgIDxsaXRlcmFsPnJlcGxpY2EgaWRlbnRpdHk8L2xp dGVyYWw+IHsoPHJlcGxhY2VhYmxlPmNvbHVtbl9uYW1lPC9yZXBsYWNlYWJsZT4gPG9wdGlvbmFs PiwgLi4uPC9vcHRpb25hbD4pPSg8cmVwbGFjZWFibGU+Y29sdW1uX3ZhbHVlPC9yZXBsYWNlYWJs ZT4gPG9wdGlvbmFsPiwgLi4uPC9vcHRpb25hbD4pIHwgZnVsbCA8b3B0aW9uYWw+KDxyZXBsYWNl YWJsZT5jb2x1bW5fbmFtZTwvcmVwbGFjZWFibGU+IDxvcHRpb25hbD4sIC4uLjwvb3B0aW9uYWw+ KT08L29wdGlvbmFsPig8cmVwbGFjZWFibGU+Y29sdW1uX3ZhbHVlPC9yZXBsYWNlYWJsZT4gPG9w dGlvbmFsPiwgLi4uPC9vcHRpb25hbD4pfQogPC9zeW5vcHNpcz4KIAotICAgVGhlIGxvZyBwcm92 aWRlcyB0aGUgZm9sbG93aW5nIGluZm9ybWF0aW9uOgotICAgPHZhcmlhYmxlbGlzdD4KLSAgICA8 dmFybGlzdGVudHJ5PgotICAgICA8dGVybT48bGl0ZXJhbD5MT0c8L2xpdGVyYWw+PC90ZXJtPgot ICAgICAgPGxpc3RpdGVtPgorICAgIFRoZSBsb2cgcHJvdmlkZXMgdGhlIGZvbGxvd2luZyBpbmZv cm1hdGlvbjoKKyAgICA8dmFyaWFibGVsaXN0PgorICAgICA8dmFybGlzdGVudHJ5PgorICAgICAg PHRlcm0+PGxpdGVyYWw+TE9HPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICA8bGlzdGl0ZW0+Cisg ICAgICAgIDxpdGVtaXplZGxpc3Q+CisgICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICAgPHBh cmE+CisgICAgICAgICAgPHJlcGxhY2VhYmxlPnNjaGVtYW5hbWU8L3JlcGxhY2VhYmxlPi48cmVw bGFjZWFibGU+dGFibGVuYW1lPC9yZXBsYWNlYWJsZT4KKyAgICAgICAgICBpZGVudGlmaWVzIHRo ZSBsb2NhbCByZWxhdGlvbiBpbnZvbHZlZCBpbiB0aGUgY29uZmxpY3QuCisgICAgICAgICAgPC9w YXJhPgorICAgICAgICAgPC9saXN0aXRlbT4KKyAgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAg ICA8cGFyYT4KKyAgICAgICAgICA8cmVwbGFjZWFibGU+Y29uZmxpY3RfdHlwZTwvcmVwbGFjZWFi bGU+IGlzIHRoZSB0eXBlIG9mIGNvbmZsaWN0IHRoYXQgb2NjdXJyZWQKKyAgICAgICAgICAoZS5n LiwgPGxpdGVyYWw+aW5zZXJ0X2V4aXN0czwvbGl0ZXJhbD4sIDxsaXRlcmFsPnVwZGF0ZV9leGlz dHM8L2xpdGVyYWw+KS4KKyAgICAgICAgICA8L3BhcmE+CisgICAgICAgICA8L2xpc3RpdGVtPgor ICAgICAgICA8L2l0ZW1pemVkbGlzdD4KKyAgICAgICA8L2xpc3RpdGVtPgorICAgICA8L3Zhcmxp c3RlbnRyeT4KKworICAgICA8dmFybGlzdGVudHJ5PgorICAgICAgPHRlcm0+PGxpdGVyYWw+REVU QUlMPC9saXRlcmFsPjwvdGVybT4KKyAgICAgICA8bGlzdGl0ZW0+CiAgICAgICAgPGl0ZW1pemVk bGlzdD4KICAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICAgPHBhcmE+Ci0gICAgICAgICA8cmVw bGFjZWFibGU+c2NoZW1hbmFtZTwvcmVwbGFjZWFibGU+LjxyZXBsYWNlYWJsZT50YWJsZW5hbWU8 L3JlcGxhY2VhYmxlPgotICAgICAgICAgaWRlbnRpZmllcyB0aGUgbG9jYWwgcmVsYXRpb24gaW52 b2x2ZWQgaW4gdGhlIGNvbmZsaWN0LgorICAgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5kZXRhaWxlZF9leHBsYW5hdGlvbjwvcmVwbGFjZWFibGU+IGluY2x1ZGVzCisgICAg ICAgICAgdGhlIG9yaWdpbiwgdHJhbnNhY3Rpb24gSUQsIGFuZCBjb21taXQgdGltZXN0YW1wIG9m IHRoZSB0cmFuc2FjdGlvbiB0aGF0CisgICAgICAgICAgbW9kaWZpZWQgdGhlIGxvY2FsIHJvdywg aWYgYXZhaWxhYmxlLgorICAgICAgICAgPC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAg ICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAgICAgICBUaGUgPGxpdGVyYWw+ a2V5PC9saXRlcmFsPiBzZWN0aW9uIGluY2x1ZGVzIHRoZSBrZXkgdmFsdWVzIG9mIHRoZSBsb2Nh bAorICAgICAgICAgIHJvdyB0aGF0IHZpb2xhdGVkIGEgdW5pcXVlIGNvbnN0cmFpbnQgZm9yCisg ICAgICAgICAgPGxpdGVyYWw+aW5zZXJ0X2V4aXN0czwvbGl0ZXJhbD4sIDxsaXRlcmFsPnVwZGF0 ZV9leGlzdHM8L2xpdGVyYWw+IG9yCisgICAgICAgICAgPGxpdGVyYWw+bXVsdGlwbGVfdW5pcXVl X2NvbmZsaWN0czwvbGl0ZXJhbD4gY29uZmxpY3RzLgorICAgICAgICAgPC9wYXJhPgorICAgICAg ICA8L2xpc3RpdGVtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAgICA8cGFyYT4KKyAgICAg ICAgICBUaGUgPGxpdGVyYWw+bG9jYWwgcm93PC9saXRlcmFsPiBzZWN0aW9uIGluY2x1ZGVzIHRo ZSBsb2NhbCByb3cgaWYgaXRzCisgICAgICAgICAgb3JpZ2luIGRpZmZlcnMgZnJvbSB0aGUgcmVt b3RlIHJvdyBmb3IKKyAgICAgICAgICA8bGl0ZXJhbD51cGRhdGVfb3JpZ2luX2RpZmZlcnM8L2xp dGVyYWw+IG9yIDxsaXRlcmFsPmRlbGV0ZV9vcmlnaW5fZGlmZmVyczwvbGl0ZXJhbD4KKyAgICAg ICAgICBjb25mbGljdHMsIG9yIGlmIHRoZSBrZXkgdmFsdWUgY29uZmxpY3RzIHdpdGggdGhlIHJl bW90ZSByb3cgZm9yCisgICAgICAgICAgPGxpdGVyYWw+aW5zZXJ0X2V4aXN0czwvbGl0ZXJhbD4s IDxsaXRlcmFsPnVwZGF0ZV9leGlzdHM8L2xpdGVyYWw+IG9yCisgICAgICAgICAgPGxpdGVyYWw+ bXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0czwvbGl0ZXJhbD4gY29uZmxpY3RzLgorICAgICAgICAg PC9wYXJhPgorICAgICAgICA8L2xpc3RpdGVtPgorICAgICAgICA8bGlzdGl0ZW0+CisgICAgICAg ICA8cGFyYT4KKyAgICAgICAgICBUaGUgPGxpdGVyYWw+cmVtb3RlIHJvdzwvbGl0ZXJhbD4gc2Vj dGlvbiBpbmNsdWRlcyB0aGUgbmV3IHJvdyBmcm9tCisgICAgICAgICAgdGhlIHJlbW90ZSBpbnNl cnQgb3IgdXBkYXRlIG9wZXJhdGlvbiB0aGF0IGNhdXNlZCB0aGUgY29uZmxpY3QuIE5vdGUgdGhh dAorICAgICAgICAgIGZvciBhbiB1cGRhdGUgb3BlcmF0aW9uLCB0aGUgY29sdW1uIHZhbHVlIG9m IHRoZSBuZXcgcm93IHdpbGwgYmUgbnVsbAorICAgICAgICAgIGlmIHRoZSB2YWx1ZSBpcyB1bmNo YW5nZWQgYW5kIHRvYXN0ZWQuCisgICAgICAgICA8L3BhcmE+CisgICAgICAgIDwvbGlzdGl0ZW0+ CisgICAgICAgIDxsaXN0aXRlbT4KKyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIFRoZSA8bGl0 ZXJhbD5yZXBsaWNhIGlkZW50aXR5PC9saXRlcmFsPiBzZWN0aW9uIGluY2x1ZGVzIHRoZSByZXBs aWNhCisgICAgICAgICAgaWRlbnRpdHkga2V5IHZhbHVlcyB0aGF0IHdlcmUgdXNlZCB0byBzZWFy Y2ggZm9yIHRoZSBleGlzdGluZyBsb2NhbAorICAgICAgICAgIHJvdyB0byBiZSB1cGRhdGVkIG9y IGRlbGV0ZWQuIFRoaXMgbWF5IGluY2x1ZGUgdGhlIGZ1bGwgcm93IHZhbHVlCisgICAgICAgICAg aWYgdGhlIGxvY2FsIHJlbGF0aW9uIGlzIG1hcmtlZCB3aXRoCisgICAgICAgICAgPGxpbmsgbGlu a2VuZD0ic3FsLWFsdGVydGFibGUtcmVwbGljYS1pZGVudGl0eS1mdWxsIj48bGl0ZXJhbD5SRVBM SUNBIElERU5USVRZIEZVTEw8L2xpdGVyYWw+PC9saW5rPi4KICAgICAgICAgIDwvcGFyYT4KICAg ICAgICAgPC9saXN0aXRlbT4KICAgICAgICAgPGxpc3RpdGVtPgogICAgICAgICAgPHBhcmE+Ci0g ICAgICAgICA8cmVwbGFjZWFibGU+Y29uZmxpY3RfdHlwZTwvcmVwbGFjZWFibGU+IGlzIHRoZSB0 eXBlIG9mIGNvbmZsaWN0IHRoYXQgb2NjdXJyZWQKLSAgICAgICAgIChlLmcuLCA8bGl0ZXJhbD5p bnNlcnRfZXhpc3RzPC9saXRlcmFsPiwgPGxpdGVyYWw+dXBkYXRlX2V4aXN0czwvbGl0ZXJhbD4p LgorICAgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5fbmFtZTwv cmVwbGFjZWFibGU+IGlzIHRoZSBjb2x1bW4gbmFtZS4KKyAgICAgICAgICBGb3IgPGxpdGVyYWw+ bG9jYWwgcm93PC9saXRlcmFsPiwgPGxpdGVyYWw+cmVtb3RlIHJvdzwvbGl0ZXJhbD4sIGFuZAor ICAgICAgICAgIDxsaXRlcmFsPnJlcGxpY2EgaWRlbnRpdHkgZnVsbDwvbGl0ZXJhbD4gY2FzZXMs IGNvbHVtbiBuYW1lcyBhcmUKKyAgICAgICAgICBsb2dnZWQgb25seSBpZiB0aGUgdXNlciBsYWNr cyB0aGUgcHJpdmlsZWdlIHRvIGFjY2VzcyBhbGwgY29sdW1ucyBvZgorICAgICAgICAgIHRoZSB0 YWJsZS4gSWYgY29sdW1uIG5hbWVzIGFyZSBwcmVzZW50LCB0aGV5IGFwcGVhciBpbiB0aGUgc2Ft ZSBvcmRlcgorICAgICAgICAgIGFzIHRoZSBjb3JyZXNwb25kaW5nIGNvbHVtbiB2YWx1ZXMuCisg ICAgICAgICA8L3BhcmE+CisgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgIDxsaXN0aXRlbT4K KyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5jb2x1bW5fdmFsdWU8L3JlcGxhY2VhYmxlPiBpcyB0aGUgY29sdW1uIHZhbHVlLgorICAgICAg ICAgIFRoZSBsYXJnZSBjb2x1bW4gdmFsdWVzIGFyZSB0cnVuY2F0ZWQgdG8gNjQgYnl0ZXMuCisg ICAgICAgICA8L3BhcmE+CisgICAgICAgIDwvbGlzdGl0ZW0+CisgICAgICAgIDxsaXN0aXRlbT4K KyAgICAgICAgIDxwYXJhPgorICAgICAgICAgIE5vdGUgdGhhdCBpbiBjYXNlIG9mIDxsaXRlcmFs Pm11bHRpcGxlX3VuaXF1ZV9jb25mbGljdHM8L2xpdGVyYWw+IGNvbmZsaWN0LAorICAgICAgICAg IG11bHRpcGxlIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5kZXRhaWxlZF9leHBsYW5h dGlvbjwvcmVwbGFjZWFibGU+CisgICAgICAgICAgYW5kIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFy YW1ldGVyIj5kZXRhaWxfdmFsdWVzPC9yZXBsYWNlYWJsZT4gbGluZXMKKyAgICAgICAgICB3aWxs IGJlIGdlbmVyYXRlZCwgZWFjaCBkZXRhaWxpbmcgdGhlIGNvbmZsaWN0IGluZm9ybWF0aW9uIGFz c29jaWF0ZWQKKyAgICAgICAgICB3aXRoIGRpc3RpbmN0IHVuaXF1ZSBjb25zdHJhaW50cy4KICAg ICAgICAgIDwvcGFyYT4KICAgICAgICAgPC9saXN0aXRlbT4KICAgICAgICA8L2l0ZW1pemVkbGlz dD4KICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgPC92YXJsaXN0ZW50cnk+Ci0KLSAgICA8dmFybGlz dGVudHJ5PgotICAgICA8dGVybT48bGl0ZXJhbD5ERVRBSUw8L2xpdGVyYWw+PC90ZXJtPgotICAg ICAgPGxpc3RpdGVtPgotICAgICAgPGl0ZW1pemVkbGlzdD4KLSAgICAgICA8bGlzdGl0ZW0+Ci0g ICAgICAgIDxwYXJhPgotICAgICAgICAgPHJlcGxhY2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRl dGFpbGVkX2V4cGxhbmF0aW9uPC9yZXBsYWNlYWJsZT4gaW5jbHVkZXMKLSAgICAgICAgIHRoZSBv cmlnaW4sIHRyYW5zYWN0aW9uIElELCBhbmQgY29tbWl0IHRpbWVzdGFtcCBvZiB0aGUgdHJhbnNh Y3Rpb24gdGhhdAotICAgICAgICAgbW9kaWZpZWQgdGhlIGxvY2FsIHJvdywgaWYgYXZhaWxhYmxl LgotICAgICAgICA8L3BhcmE+Ci0gICAgICAgPC9saXN0aXRlbT4KLSAgICAgICA8bGlzdGl0ZW0+ Ci0gICAgICAgIDxwYXJhPgotICAgICAgICAgVGhlIDxsaXRlcmFsPmtleTwvbGl0ZXJhbD4gc2Vj dGlvbiBpbmNsdWRlcyB0aGUga2V5IHZhbHVlcyBvZiB0aGUgbG9jYWwKLSAgICAgICAgIHJvdyB0 aGF0IHZpb2xhdGVkIGEgdW5pcXVlIGNvbnN0cmFpbnQgZm9yCi0gICAgICAgICA8bGl0ZXJhbD5p bnNlcnRfZXhpc3RzPC9saXRlcmFsPiwgPGxpdGVyYWw+dXBkYXRlX2V4aXN0czwvbGl0ZXJhbD4g b3IKLSAgICAgICAgIDxsaXRlcmFsPm11bHRpcGxlX3VuaXF1ZV9jb25mbGljdHM8L2xpdGVyYWw+ IGNvbmZsaWN0cy4KLSAgICAgICAgPC9wYXJhPgotICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAg PGxpc3RpdGVtPgotICAgICAgICA8cGFyYT4KLSAgICAgICAgIFRoZSA8bGl0ZXJhbD5sb2NhbCBy b3c8L2xpdGVyYWw+IHNlY3Rpb24gaW5jbHVkZXMgdGhlIGxvY2FsIHJvdyBpZiBpdHMKLSAgICAg ICAgIG9yaWdpbiBkaWZmZXJzIGZyb20gdGhlIHJlbW90ZSByb3cgZm9yCi0gICAgICAgICA8bGl0 ZXJhbD51cGRhdGVfb3JpZ2luX2RpZmZlcnM8L2xpdGVyYWw+IG9yIDxsaXRlcmFsPmRlbGV0ZV9v cmlnaW5fZGlmZmVyczwvbGl0ZXJhbD4KLSAgICAgICAgIGNvbmZsaWN0cywgb3IgaWYgdGhlIGtl eSB2YWx1ZSBjb25mbGljdHMgd2l0aCB0aGUgcmVtb3RlIHJvdyBmb3IKLSAgICAgICAgIDxsaXRl cmFsPmluc2VydF9leGlzdHM8L2xpdGVyYWw+LCA8bGl0ZXJhbD51cGRhdGVfZXhpc3RzPC9saXRl cmFsPiBvcgotICAgICAgICAgPGxpdGVyYWw+bXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0czwvbGl0 ZXJhbD4gY29uZmxpY3RzLgotICAgICAgICA8L3BhcmE+Ci0gICAgICAgPC9saXN0aXRlbT4KLSAg ICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPgotICAgICAgICAgVGhlIDxsaXRlcmFsPnJl bW90ZSByb3c8L2xpdGVyYWw+IHNlY3Rpb24gaW5jbHVkZXMgdGhlIG5ldyByb3cgZnJvbQotICAg ICAgICAgdGhlIHJlbW90ZSBpbnNlcnQgb3IgdXBkYXRlIG9wZXJhdGlvbiB0aGF0IGNhdXNlZCB0 aGUgY29uZmxpY3QuIE5vdGUgdGhhdAotICAgICAgICAgZm9yIGFuIHVwZGF0ZSBvcGVyYXRpb24s IHRoZSBjb2x1bW4gdmFsdWUgb2YgdGhlIG5ldyByb3cgd2lsbCBiZSBudWxsCi0gICAgICAgICBp ZiB0aGUgdmFsdWUgaXMgdW5jaGFuZ2VkIGFuZCB0b2FzdGVkLgotICAgICAgICA8L3BhcmE+Ci0g ICAgICAgPC9saXN0aXRlbT4KLSAgICAgICA8bGlzdGl0ZW0+Ci0gICAgICAgIDxwYXJhPgotICAg ICAgICAgVGhlIDxsaXRlcmFsPnJlcGxpY2EgaWRlbnRpdHk8L2xpdGVyYWw+IHNlY3Rpb24gaW5j bHVkZXMgdGhlIHJlcGxpY2EKLSAgICAgICAgIGlkZW50aXR5IGtleSB2YWx1ZXMgdGhhdCB3ZXJl IHVzZWQgdG8gc2VhcmNoIGZvciB0aGUgZXhpc3RpbmcgbG9jYWwKLSAgICAgICAgIHJvdyB0byBi ZSB1cGRhdGVkIG9yIGRlbGV0ZWQuIFRoaXMgbWF5IGluY2x1ZGUgdGhlIGZ1bGwgcm93IHZhbHVl Ci0gICAgICAgICBpZiB0aGUgbG9jYWwgcmVsYXRpb24gaXMgbWFya2VkIHdpdGgKLSAgICAgICAg IDxsaW5rIGxpbmtlbmQ9InNxbC1hbHRlcnRhYmxlLXJlcGxpY2EtaWRlbnRpdHktZnVsbCI+PGxp dGVyYWw+UkVQTElDQSBJREVOVElUWSBGVUxMPC9saXRlcmFsPjwvbGluaz4uCi0gICAgICAgIDwv cGFyYT4KLSAgICAgICA8L2xpc3RpdGVtPgotICAgICAgIDxsaXN0aXRlbT4KLSAgICAgICAgPHBh cmE+Ci0gICAgICAgICA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+Y29sdW1uX25hbWU8 L3JlcGxhY2VhYmxlPiBpcyB0aGUgY29sdW1uIG5hbWUuCi0gICAgICAgICBGb3IgPGxpdGVyYWw+ bG9jYWwgcm93PC9saXRlcmFsPiwgPGxpdGVyYWw+cmVtb3RlIHJvdzwvbGl0ZXJhbD4sIGFuZAot ICAgICAgICAgPGxpdGVyYWw+cmVwbGljYSBpZGVudGl0eSBmdWxsPC9saXRlcmFsPiBjYXNlcywg Y29sdW1uIG5hbWVzIGFyZQotICAgICAgICAgbG9nZ2VkIG9ubHkgaWYgdGhlIHVzZXIgbGFja3Mg dGhlIHByaXZpbGVnZSB0byBhY2Nlc3MgYWxsIGNvbHVtbnMgb2YKLSAgICAgICAgIHRoZSB0YWJs ZS4gSWYgY29sdW1uIG5hbWVzIGFyZSBwcmVzZW50LCB0aGV5IGFwcGVhciBpbiB0aGUgc2FtZSBv cmRlcgotICAgICAgICAgYXMgdGhlIGNvcnJlc3BvbmRpbmcgY29sdW1uIHZhbHVlcy4KLSAgICAg ICAgPC9wYXJhPgotICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgPGxpc3RpdGVtPgotICAgICAg ICA8cGFyYT4KLSAgICAgICAgIDxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVyIj5jb2x1bW5f dmFsdWU8L3JlcGxhY2VhYmxlPiBpcyB0aGUgY29sdW1uIHZhbHVlLgotICAgICAgICAgVGhlIGxh cmdlIGNvbHVtbiB2YWx1ZXMgYXJlIHRydW5jYXRlZCB0byA2NCBieXRlcy4KLSAgICAgICAgPC9w YXJhPgotICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICAgPGxpc3RpdGVtPgotICAgICAgICA8cGFy YT4KLSAgICAgICAgIE5vdGUgdGhhdCBpbiBjYXNlIG9mIDxsaXRlcmFsPm11bHRpcGxlX3VuaXF1 ZV9jb25mbGljdHM8L2xpdGVyYWw+IGNvbmZsaWN0LAotICAgICAgICAgbXVsdGlwbGUgPHJlcGxh Y2VhYmxlIGNsYXNzPSJwYXJhbWV0ZXIiPmRldGFpbGVkX2V4cGxhbmF0aW9uPC9yZXBsYWNlYWJs ZT4KLSAgICAgICAgIGFuZCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ZGV0YWlsX3Zh bHVlczwvcmVwbGFjZWFibGU+IGxpbmVzCi0gICAgICAgICB3aWxsIGJlIGdlbmVyYXRlZCwgZWFj aCBkZXRhaWxpbmcgdGhlIGNvbmZsaWN0IGluZm9ybWF0aW9uIGFzc29jaWF0ZWQKLSAgICAgICAg IHdpdGggZGlzdGluY3QgdW5pcXVlCi0gICAgICAgICBjb25zdHJhaW50cy4KLSAgICAgICAgPC9w YXJhPgotICAgICAgIDwvbGlzdGl0ZW0+Ci0gICAgICA8L2l0ZW1pemVkbGlzdD4KLSAgICAgPC9s aXN0aXRlbT4KLSAgICA8L3Zhcmxpc3RlbnRyeT4KLSAgIDwvdmFyaWFibGVsaXN0PgotICA8L3Bh cmE+CisgICAgIDwvdmFybGlzdGVudHJ5PgorICAgIDwvdmFyaWFibGVsaXN0PgorICAgPC9wYXJh PgorICA8L3NlY3QyPgogCi0gIDxwYXJhPgotICAgTG9naWNhbCByZXBsaWNhdGlvbiBvcGVyYXRp b25zIGFyZSBwZXJmb3JtZWQgd2l0aCB0aGUgcHJpdmlsZWdlcyBvZiB0aGUgcm9sZQotICAgd2hp Y2ggb3ducyB0aGUgc3Vic2NyaXB0aW9uLiAgUGVybWlzc2lvbnMgZmFpbHVyZXMgb24gdGFyZ2V0 IHRhYmxlcyB3aWxsCi0gICBjYXVzZSByZXBsaWNhdGlvbiBjb25mbGljdHMsIGFzIHdpbGwgZW5h YmxlZAotICAgPGxpbmsgbGlua2VuZD0iZGRsLXJvd3NlY3VyaXR5Ij5yb3ctbGV2ZWwgc2VjdXJp dHk8L2xpbms+IG9uIHRhcmdldCB0YWJsZXMKLSAgIHRoYXQgdGhlIHN1YnNjcmlwdGlvbiBvd25l ciBpcyBzdWJqZWN0IHRvLCB3aXRob3V0IHJlZ2FyZCB0byB3aGV0aGVyIGFueQotICAgcG9saWN5 IHdvdWxkIG9yZGluYXJpbHkgcmVqZWN0IHRoZSA8Y29tbWFuZD5JTlNFUlQ8L2NvbW1hbmQ+LAot ICAgPGNvbW1hbmQ+VVBEQVRFPC9jb21tYW5kPiwgPGNvbW1hbmQ+REVMRVRFPC9jb21tYW5kPiBv cgotICAgPGNvbW1hbmQ+VFJVTkNBVEU8L2NvbW1hbmQ+IHdoaWNoIGlzIGJlaW5nIHJlcGxpY2F0 ZWQuICBUaGlzIHJlc3RyaWN0aW9uIG9uCi0gICByb3ctbGV2ZWwgc2VjdXJpdHkgbWF5IGJlIGxp ZnRlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mCi0gICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwv cHJvZHVjdG5hbWU+LgotICA8L3BhcmE+CisgIDxzZWN0MiBpZD0ibG9naWNhbC1yZXBsaWNhdGlv bi1jb25mbGljdC1ub3RlcyI+CisgICA8dGl0bGU+Tm90ZXM8L3RpdGxlPgorICAgPHBhcmE+Cisg ICAgTG9naWNhbCByZXBsaWNhdGlvbiBvcGVyYXRpb25zIGFyZSBwZXJmb3JtZWQgd2l0aCB0aGUg cHJpdmlsZWdlcyBvZiB0aGUgcm9sZQorICAgIHdoaWNoIG93bnMgdGhlIHN1YnNjcmlwdGlvbi4g IFBlcm1pc3Npb25zIGZhaWx1cmVzIG9uIHRhcmdldCB0YWJsZXMgd2lsbAorICAgIGNhdXNlIHJl cGxpY2F0aW9uIGNvbmZsaWN0cywgYXMgd2lsbCBlbmFibGVkCisgICAgPGxpbmsgbGlua2VuZD0i ZGRsLXJvd3NlY3VyaXR5Ij5yb3ctbGV2ZWwgc2VjdXJpdHk8L2xpbms+IG9uIHRhcmdldCB0YWJs ZXMKKyAgICB0aGF0IHRoZSBzdWJzY3JpcHRpb24gb3duZXIgaXMgc3ViamVjdCB0bywgd2l0aG91 dCByZWdhcmQgdG8gd2hldGhlciBhbnkKKyAgICBwb2xpY3kgd291bGQgb3JkaW5hcmlseSByZWpl Y3QgdGhlIDxjb21tYW5kPklOU0VSVDwvY29tbWFuZD4sCisgICAgPGNvbW1hbmQ+VVBEQVRFPC9j b21tYW5kPiwgPGNvbW1hbmQ+REVMRVRFPC9jb21tYW5kPiBvcgorICAgIDxjb21tYW5kPlRSVU5D QVRFPC9jb21tYW5kPiB3aGljaCBpcyBiZWluZyByZXBsaWNhdGVkLiAgVGhpcyByZXN0cmljdGlv biBvbgorICAgIHJvdy1sZXZlbCBzZWN1cml0eSBtYXkgYmUgbGlmdGVkIGluIGEgZnV0dXJlIHZl cnNpb24gb2YKKyAgICA8cHJvZHVjdG5hbWU+UG9zdGdyZVNRTDwvcHJvZHVjdG5hbWU+LgorICAg PC9wYXJhPgogCi0gIDxwYXJhPgotICAgQSBjb25mbGljdCB0aGF0IHByb2R1Y2VzIGFuIGVycm9y IHdpbGwgc3RvcCB0aGUgcmVwbGljYXRpb247IGl0IG11c3QgYmUKLSAgIHJlc29sdmVkIG1hbnVh bGx5IGJ5IHRoZSB1c2VyLiAgRGV0YWlscyBhYm91dCB0aGUgY29uZmxpY3QgY2FuIGJlIGZvdW5k IGluCi0gICB0aGUgc3Vic2NyaWJlcidzIHNlcnZlciBsb2cuCi0gIDwvcGFyYT4KKyAgIDxwYXJh PgorICAgIEEgY29uZmxpY3QgdGhhdCBwcm9kdWNlcyBhbiBlcnJvciB3aWxsIHN0b3AgdGhlIHJl cGxpY2F0aW9uOyBpdCBtdXN0IGJlCisgICAgcmVzb2x2ZWQgbWFudWFsbHkgYnkgdGhlIHVzZXIu ICBEZXRhaWxzIGFib3V0IHRoZSBjb25mbGljdCBjYW4gYmUgZm91bmQgaW4KKyAgICB0aGUgc3Vi c2NyaWJlcidzIHNlcnZlciBsb2cuCisgICA8L3BhcmE+CiAKLSAgPHBhcmE+Ci0gICBUaGUgcmVz b2x1dGlvbiBjYW4gYmUgZG9uZSBlaXRoZXIgYnkgY2hhbmdpbmcgZGF0YSBvciBwZXJtaXNzaW9u cyBvbiB0aGUgc3Vic2NyaWJlciBzbwotICAgdGhhdCBpdCBkb2VzIG5vdCBjb25mbGljdCB3aXRo IHRoZSBpbmNvbWluZyBjaGFuZ2Ugb3IgYnkgc2tpcHBpbmcgdGhlCi0gICB0cmFuc2FjdGlvbiB0 aGF0IGNvbmZsaWN0cyB3aXRoIHRoZSBleGlzdGluZyBkYXRhLiAgV2hlbiBhIGNvbmZsaWN0IHBy b2R1Y2VzCi0gICBhbiBlcnJvciwgdGhlIHJlcGxpY2F0aW9uIHdvbid0IHByb2NlZWQsIGFuZCB0 aGUgbG9naWNhbCByZXBsaWNhdGlvbiB3b3JrZXIgd2lsbAotICAgZW1pdCB0aGUgZm9sbG93aW5n IGtpbmQgb2YgbWVzc2FnZSB0byB0aGUgc3Vic2NyaWJlcidzIHNlcnZlciBsb2c6CisgICA8cGFy YT4KKyAgICBUaGUgcmVzb2x1dGlvbiBjYW4gYmUgZG9uZSBlaXRoZXIgYnkgY2hhbmdpbmcgZGF0 YSBvciBwZXJtaXNzaW9ucyBvbiB0aGUgc3Vic2NyaWJlciBzbworICAgIHRoYXQgaXQgZG9lcyBu b3QgY29uZmxpY3Qgd2l0aCB0aGUgaW5jb21pbmcgY2hhbmdlIG9yIGJ5IHNraXBwaW5nIHRoZQor ICAgIHRyYW5zYWN0aW9uIHRoYXQgY29uZmxpY3RzIHdpdGggdGhlIGV4aXN0aW5nIGRhdGEuICBX aGVuIGEgY29uZmxpY3QgcHJvZHVjZXMKKyAgICBhbiBlcnJvciwgdGhlIHJlcGxpY2F0aW9uIHdv bid0IHByb2NlZWQsIGFuZCB0aGUgbG9naWNhbCByZXBsaWNhdGlvbiB3b3JrZXIgd2lsbAorICAg IGVtaXQgdGhlIGZvbGxvd2luZyBraW5kIG9mIG1lc3NhZ2UgdG8gdGhlIHN1YnNjcmliZXIncyBz ZXJ2ZXIgbG9nOgogPHNjcmVlbj4KIEVSUk9SOiAgY29uZmxpY3QgZGV0ZWN0ZWQgb24gcmVsYXRp b24gInB1YmxpYy50ZXN0IjogY29uZmxpY3Q9aW5zZXJ0X2V4aXN0cwogREVUQUlMOiAgQ291bGQg bm90IGFwcGx5IHJlbW90ZSBjaGFuZ2U6IHJlbW90ZSByb3cgKDEsICdyZW1vdGUnKS4KIEtleSBh bHJlYWR5IGV4aXN0cyBpbiB1bmlxdWUgaW5kZXggInRlc3RfcGtleSIsIG1vZGlmaWVkIGxvY2Fs bHkgaW4gdHJhbnNhY3Rpb24gODAwIGF0IDIwMjYtMDEtMTYgMTg6MTU6MjUuNjUyNzU5KzA5OiBr ZXkgKGMpPSgxKSwgbG9jYWwgcm93ICgxLCAnbG9jYWwnKS4KIENPTlRFWFQ6ICBwcm9jZXNzaW5n IHJlbW90ZSBkYXRhIGZvciByZXBsaWNhdGlvbiBvcmlnaW4gInBnXzE2Mzk1IiBkdXJpbmcgIklO U0VSVCIgZm9yIHJlcGxpY2F0aW9uIHRhcmdldCByZWxhdGlvbiAicHVibGljLnRlc3QiIGluIHRy YW5zYWN0aW9uIDcyNSBmaW5pc2hlZCBhdCAwLzAxNEMwMzc4CiA8L3NjcmVlbj4KLSAgIFRoZSBM U04gb2YgdGhlIHRyYW5zYWN0aW9uIHRoYXQgY29udGFpbnMgdGhlIGNoYW5nZSB2aW9sYXRpbmcg dGhlIGNvbnN0cmFpbnQgYW5kCi0gICB0aGUgcmVwbGljYXRpb24gb3JpZ2luIG5hbWUgY2FuIGJl IGZvdW5kIGZyb20gdGhlIHNlcnZlciBsb2cgKExTTiAwLzAxNEMwMzc4IGFuZAotICAgcmVwbGlj YXRpb24gb3JpZ2luIDxsaXRlcmFsPnBnXzE2Mzk1PC9saXRlcmFsPiBpbiB0aGUgYWJvdmUgY2Fz ZSkuICBUaGUKLSAgIHRyYW5zYWN0aW9uIHRoYXQgcHJvZHVjZWQgdGhlIGNvbmZsaWN0IGNhbiBi ZSBza2lwcGVkIGJ5IHVzaW5nCi0gICA8bGluayBsaW5rZW5kPSJzcWwtYWx0ZXJzdWJzY3JpcHRp b24tcGFyYW1zLXNraXAiPjxjb21tYW5kPkFMVEVSIFNVQlNDUklQVElPTiAuLi4gU0tJUDwvY29t bWFuZD48L2xpbms+Ci0gICB3aXRoIHRoZSBmaW5pc2ggTFNOCi0gICAoaS5lLiwgTFNOIDAvMDE0 QzAzNzgpLiAgVGhlIGZpbmlzaCBMU04gY291bGQgYmUgYW4gTFNOIGF0IHdoaWNoIHRoZSB0cmFu c2FjdGlvbgotICAgaXMgY29tbWl0dGVkIG9yIHByZXBhcmVkIG9uIHRoZSBwdWJsaXNoZXIuICBB bHRlcm5hdGl2ZWx5LCB0aGUgdHJhbnNhY3Rpb24gY2FuCi0gICBhbHNvIGJlIHNraXBwZWQgYnkg Y2FsbGluZyB0aGUgPGxpbmsgbGlua2VuZD0icGctcmVwbGljYXRpb24tb3JpZ2luLWFkdmFuY2Ui PgotICAgPGZ1bmN0aW9uPnBnX3JlcGxpY2F0aW9uX29yaWdpbl9hZHZhbmNlKCk8L2Z1bmN0aW9u PjwvbGluaz4gZnVuY3Rpb24uCi0gICBCZWZvcmUgdXNpbmcgdGhpcyBmdW5jdGlvbiwgdGhlIHN1 YnNjcmlwdGlvbiBuZWVkcyB0byBiZSBkaXNhYmxlZCB0ZW1wb3JhcmlseQotICAgZWl0aGVyIGJ5 IDxsaW5rIGxpbmtlbmQ9InNxbC1hbHRlcnN1YnNjcmlwdGlvbi1wYXJhbXMtZGlzYWJsZSI+Ci0g ICA8Y29tbWFuZD5BTFRFUiBTVUJTQ1JJUFRJT04gLi4uIERJU0FCTEU8L2NvbW1hbmQ+PC9saW5r PiBvciwgdGhlCi0gICBzdWJzY3JpcHRpb24gY2FuIGJlIHVzZWQgd2l0aCB0aGUKLSAgIDxsaW5r IGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24tcGFyYW1zLXdpdGgtZGlzYWJsZS1vbi1l cnJvciI+PGxpdGVyYWw+ZGlzYWJsZV9vbl9lcnJvcjwvbGl0ZXJhbD48L2xpbms+Ci0gICBvcHRp b24uIFRoZW4sIHlvdSBjYW4gdXNlIDxmdW5jdGlvbj5wZ19yZXBsaWNhdGlvbl9vcmlnaW5fYWR2 YW5jZSgpPC9mdW5jdGlvbj4KLSAgIGZ1bmN0aW9uIHdpdGggdGhlIDxwYXJhbWV0ZXI+bm9kZV9u YW1lPC9wYXJhbWV0ZXI+IChpLmUuLCA8bGl0ZXJhbD5wZ18xNjM5NTwvbGl0ZXJhbD4pCi0gICBh bmQgdGhlIG5leHQgTFNOIG9mIHRoZSBmaW5pc2ggTFNOIChpLmUuLCAwLzAxNEMwMzc5KS4gIFRo ZSBjdXJyZW50IHBvc2l0aW9uIG9mCi0gICBvcmlnaW5zIGNhbiBiZSBzZWVuIGluIHRoZSA8bGlu ayBsaW5rZW5kPSJ2aWV3LXBnLXJlcGxpY2F0aW9uLW9yaWdpbi1zdGF0dXMiPgotICAgPHN0cnVj dG5hbWU+cGdfcmVwbGljYXRpb25fb3JpZ2luX3N0YXR1czwvc3RydWN0bmFtZT48L2xpbms+IHN5 c3RlbSB2aWV3LgotICAgUGxlYXNlIG5vdGUgdGhhdCBza2lwcGluZyB0aGUgd2hvbGUgdHJhbnNh Y3Rpb24gaW5jbHVkZXMgc2tpcHBpbmcgY2hhbmdlcyB0aGF0Ci0gICBtaWdodCBub3QgdmlvbGF0 ZSBhbnkgY29uc3RyYWludC4gIFRoaXMgY2FuIGVhc2lseSBtYWtlIHRoZSBzdWJzY3JpYmVyCi0g ICBpbmNvbnNpc3RlbnQuCi0gICBUaGUgYWRkaXRpb25hbCBkZXRhaWxzIHJlZ2FyZGluZyBjb25m bGljdGluZyByb3dzLCBzdWNoIGFzIHRoZWlyIG9yaWdpbiBhbmQKLSAgIGNvbW1pdCB0aW1lc3Rh bXAgY2FuIGJlIHNlZW4gaW4gdGhlIDxsaXRlcmFsPkRFVEFJTDwvbGl0ZXJhbD4gbGluZSBvZiB0 aGUKLSAgIGxvZy4gQnV0IG5vdGUgdGhhdCB0aGlzIGluZm9ybWF0aW9uIGlzIG9ubHkgYXZhaWxh YmxlIHdoZW4KLSAgIDxsaW5rIGxpbmtlbmQ9Imd1Yy10cmFjay1jb21taXQtdGltZXN0YW1wIj48 dmFybmFtZT50cmFja19jb21taXRfdGltZXN0YW1wPC92YXJuYW1lPjwvbGluaz4KLSAgIGlzIGVu YWJsZWQgb24gdGhlIHN1YnNjcmliZXIuIFVzZXJzIGNhbiB1c2UgdGhpcyBpbmZvcm1hdGlvbiB0 byBkZWNpZGUKLSAgIHdoZXRoZXIgdG8gcmV0YWluIHRoZSBsb2NhbCBjaGFuZ2Ugb3IgYWRvcHQg dGhlIHJlbW90ZSBhbHRlcmF0aW9uLiBGb3IKLSAgIGluc3RhbmNlLCB0aGUgPGxpdGVyYWw+REVU QUlMPC9saXRlcmFsPiBsaW5lIGluIHRoZSBhYm92ZSBsb2cgaW5kaWNhdGVzIHRoYXQKLSAgIHRo ZSBleGlzdGluZyByb3cgd2FzIG1vZGlmaWVkIGxvY2FsbHkuIFVzZXJzIGNhbiBtYW51YWxseSBw ZXJmb3JtIGEKLSAgIHJlbW90ZS1jaGFuZ2Utd2luLgotICA8L3BhcmE+Ci0KLSAgPHBhcmE+Ci0g ICBXaGVuIHRoZQotICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJh bXMtd2l0aC1zdHJlYW1pbmciPjxsaXRlcmFsPnN0cmVhbWluZzwvbGl0ZXJhbD48L2xpbms+Ci0g ICBtb2RlIGlzIDxsaXRlcmFsPnBhcmFsbGVsPC9saXRlcmFsPiwgdGhlIGZpbmlzaCBMU04gb2Yg ZmFpbGVkIHRyYW5zYWN0aW9ucwotICAgbWF5IG5vdCBiZSBsb2dnZWQuIEluIHRoYXQgY2FzZSwg aXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBjaGFuZ2UgdGhlIHN0cmVhbWluZwotICAgbW9kZSB0byA8 bGl0ZXJhbD5vbjwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+b2ZmPC9saXRlcmFsPiBhbmQgY2F1c2Ug dGhlIHNhbWUKLSAgIGNvbmZsaWN0cyBhZ2FpbiBzbyB0aGUgZmluaXNoIExTTiBvZiB0aGUgZmFp bGVkIHRyYW5zYWN0aW9uIHdpbGwgYmUgd3JpdHRlbgotICAgdG8gdGhlIHNlcnZlciBsb2cuIEZv ciB0aGUgdXNhZ2Ugb2YgZmluaXNoIExTTiwgcGxlYXNlIHJlZmVyIHRvIDxsaW5rCi0gICBsaW5r ZW5kPSJzcWwtYWx0ZXJzdWJzY3JpcHRpb24iPjxjb21tYW5kPkFMVEVSIFNVQlNDUklQVElPTiAu Li4KLSAgIFNLSVA8L2NvbW1hbmQ+PC9saW5rPi4KLSAgPC9wYXJhPgorICAgIFRoZSBMU04gb2Yg dGhlIHRyYW5zYWN0aW9uIHRoYXQgY29udGFpbnMgdGhlIGNoYW5nZSB2aW9sYXRpbmcgdGhlIGNv bnN0cmFpbnQgYW5kCisgICAgdGhlIHJlcGxpY2F0aW9uIG9yaWdpbiBuYW1lIGNhbiBiZSBmb3Vu ZCBmcm9tIHRoZSBzZXJ2ZXIgbG9nIChMU04gMC8wMTRDMDM3OCBhbmQKKyAgICByZXBsaWNhdGlv biBvcmlnaW4gPGxpdGVyYWw+cGdfMTYzOTU8L2xpdGVyYWw+IGluIHRoZSBhYm92ZSBjYXNlKS4g IFRoZQorICAgIHRyYW5zYWN0aW9uIHRoYXQgcHJvZHVjZWQgdGhlIGNvbmZsaWN0IGNhbiBiZSBz a2lwcGVkIGJ5IHVzaW5nCisgICAgPGxpbmsgbGlua2VuZD0ic3FsLWFsdGVyc3Vic2NyaXB0aW9u LXBhcmFtcy1za2lwIj48Y29tbWFuZD5BTFRFUiBTVUJTQ1JJUFRJT04gLi4uIFNLSVA8L2NvbW1h bmQ+PC9saW5rPgorICAgIHdpdGggdGhlIGZpbmlzaCBMU04KKyAgICAoaS5lLiwgTFNOIDAvMDE0 QzAzNzgpLiAgVGhlIGZpbmlzaCBMU04gY291bGQgYmUgYW4gTFNOIGF0IHdoaWNoIHRoZSB0cmFu c2FjdGlvbgorICAgIGlzIGNvbW1pdHRlZCBvciBwcmVwYXJlZCBvbiB0aGUgcHVibGlzaGVyLiAg QWx0ZXJuYXRpdmVseSwgdGhlIHRyYW5zYWN0aW9uIGNhbgorICAgIGFsc28gYmUgc2tpcHBlZCBi eSBjYWxsaW5nIHRoZSA8bGluayBsaW5rZW5kPSJwZy1yZXBsaWNhdGlvbi1vcmlnaW4tYWR2YW5j ZSI+CisgICAgPGZ1bmN0aW9uPnBnX3JlcGxpY2F0aW9uX29yaWdpbl9hZHZhbmNlKCk8L2Z1bmN0 aW9uPjwvbGluaz4gZnVuY3Rpb24uCisgICAgQmVmb3JlIHVzaW5nIHRoaXMgZnVuY3Rpb24sIHRo ZSBzdWJzY3JpcHRpb24gbmVlZHMgdG8gYmUgZGlzYWJsZWQgdGVtcG9yYXJpbHkKKyAgICBlaXRo ZXIgYnkgPGxpbmsgbGlua2VuZD0ic3FsLWFsdGVyc3Vic2NyaXB0aW9uLXBhcmFtcy1kaXNhYmxl Ij4KKyAgICA8Y29tbWFuZD5BTFRFUiBTVUJTQ1JJUFRJT04gLi4uIERJU0FCTEU8L2NvbW1hbmQ+ PC9saW5rPiBvciwgdGhlCisgICAgc3Vic2NyaXB0aW9uIGNhbiBiZSB1c2VkIHdpdGggdGhlCisg ICAgPGxpbmsgbGlua2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtd2l0aC1kaXNh YmxlLW9uLWVycm9yIj48bGl0ZXJhbD5kaXNhYmxlX29uX2Vycm9yPC9saXRlcmFsPjwvbGluaz4K KyAgICBvcHRpb24uIFRoZW4sIHlvdSBjYW4gdXNlIDxmdW5jdGlvbj5wZ19yZXBsaWNhdGlvbl9v cmlnaW5fYWR2YW5jZSgpPC9mdW5jdGlvbj4KKyAgICBmdW5jdGlvbiB3aXRoIHRoZSA8cGFyYW1l dGVyPm5vZGVfbmFtZTwvcGFyYW1ldGVyPiAoaS5lLiwgPGxpdGVyYWw+cGdfMTYzOTU8L2xpdGVy YWw+KQorICAgIGFuZCB0aGUgbmV4dCBMU04gb2YgdGhlIGZpbmlzaCBMU04gKGkuZS4sIDAvMDE0 QzAzNzkpLiAgVGhlIGN1cnJlbnQgcG9zaXRpb24gb2YKKyAgICBvcmlnaW5zIGNhbiBiZSBzZWVu IGluIHRoZSA8bGluayBsaW5rZW5kPSJ2aWV3LXBnLXJlcGxpY2F0aW9uLW9yaWdpbi1zdGF0dXMi PgorICAgIDxzdHJ1Y3RuYW1lPnBnX3JlcGxpY2F0aW9uX29yaWdpbl9zdGF0dXM8L3N0cnVjdG5h bWU+PC9saW5rPiBzeXN0ZW0gdmlldy4KKyAgICBQbGVhc2Ugbm90ZSB0aGF0IHNraXBwaW5nIHRo ZSB3aG9sZSB0cmFuc2FjdGlvbiBpbmNsdWRlcyBza2lwcGluZyBjaGFuZ2VzIHRoYXQKKyAgICBt aWdodCBub3QgdmlvbGF0ZSBhbnkgY29uc3RyYWludC4gIFRoaXMgY2FuIGVhc2lseSBtYWtlIHRo ZSBzdWJzY3JpYmVyCisgICAgaW5jb25zaXN0ZW50LgorICAgIFRoZSBhZGRpdGlvbmFsIGRldGFp bHMgcmVnYXJkaW5nIGNvbmZsaWN0aW5nIHJvd3MsIHN1Y2ggYXMgdGhlaXIgb3JpZ2luIGFuZAor ICAgIGNvbW1pdCB0aW1lc3RhbXAgY2FuIGJlIHNlZW4gaW4gdGhlIDxsaXRlcmFsPkRFVEFJTDwv bGl0ZXJhbD4gbGluZSBvZiB0aGUKKyAgICBsb2cuIEJ1dCBub3RlIHRoYXQgdGhpcyBpbmZvcm1h dGlvbiBpcyBvbmx5IGF2YWlsYWJsZSB3aGVuCisgICAgPGxpbmsgbGlua2VuZD0iZ3VjLXRyYWNr LWNvbW1pdC10aW1lc3RhbXAiPjx2YXJuYW1lPnRyYWNrX2NvbW1pdF90aW1lc3RhbXA8L3Zhcm5h bWU+PC9saW5rPgorICAgIGlzIGVuYWJsZWQgb24gdGhlIHN1YnNjcmliZXIuIFVzZXJzIGNhbiB1 c2UgdGhpcyBpbmZvcm1hdGlvbiB0byBkZWNpZGUKKyAgICB3aGV0aGVyIHRvIHJldGFpbiB0aGUg bG9jYWwgY2hhbmdlIG9yIGFkb3B0IHRoZSByZW1vdGUgYWx0ZXJhdGlvbi4gRm9yCisgICAgaW5z dGFuY2UsIHRoZSA8bGl0ZXJhbD5ERVRBSUw8L2xpdGVyYWw+IGxpbmUgaW4gdGhlIGFib3ZlIGxv ZyBpbmRpY2F0ZXMgdGhhdAorICAgIHRoZSBleGlzdGluZyByb3cgd2FzIG1vZGlmaWVkIGxvY2Fs bHkuIFVzZXJzIGNhbiBtYW51YWxseSBwZXJmb3JtIGEKKyAgICByZW1vdGUtY2hhbmdlLXdpbi4K KyAgIDwvcGFyYT4KKworICAgPHBhcmE+CisgICAgV2hlbiB0aGUKKyAgICA8bGluayBsaW5rZW5k PSJzcWwtY3JlYXRlc3Vic2NyaXB0aW9uLXBhcmFtcy13aXRoLXN0cmVhbWluZyI+PGxpdGVyYWw+ c3RyZWFtaW5nPC9saXRlcmFsPjwvbGluaz4KKyAgICBtb2RlIGlzIDxsaXRlcmFsPnBhcmFsbGVs PC9saXRlcmFsPiwgdGhlIGZpbmlzaCBMU04gb2YgZmFpbGVkIHRyYW5zYWN0aW9ucworICAgIG1h eSBub3QgYmUgbG9nZ2VkLiBJbiB0aGF0IGNhc2UsIGl0IG1heSBiZSBuZWNlc3NhcnkgdG8gY2hh bmdlIHRoZSBzdHJlYW1pbmcKKyAgICBtb2RlIHRvIDxsaXRlcmFsPm9uPC9saXRlcmFsPiBvciA8 bGl0ZXJhbD5vZmY8L2xpdGVyYWw+IGFuZCBjYXVzZSB0aGUgc2FtZQorICAgIGNvbmZsaWN0cyBh Z2FpbiBzbyB0aGUgZmluaXNoIExTTiBvZiB0aGUgZmFpbGVkIHRyYW5zYWN0aW9uIHdpbGwgYmUg d3JpdHRlbgorICAgIHRvIHRoZSBzZXJ2ZXIgbG9nLiBGb3IgdGhlIHVzYWdlIG9mIGZpbmlzaCBM U04sIHBsZWFzZSByZWZlciB0byA8bGluaworICAgIGxpbmtlbmQ9InNxbC1hbHRlcnN1YnNjcmlw dGlvbiI+PGNvbW1hbmQ+QUxURVIgU1VCU0NSSVBUSU9OIC4uLgorICAgIFNLSVA8L2NvbW1hbmQ+ PC9saW5rPi4KKyAgIDwvcGFyYT4KKyAgPC9zZWN0Mj4KICA8L3NlY3QxPgogCiAgPHNlY3QxIGlk PSJsb2dpY2FsLXJlcGxpY2F0aW9uLXJlc3RyaWN0aW9ucyI+CkBAIC0yNDMwLDYgKzI1NDMsMTQg QEAgQ09OVEVYVDogIHByb2Nlc3NpbmcgcmVtb3RlIGRhdGEgZm9yIHJlcGxpY2F0aW9uIG9yaWdp biAicGdfMTYzOTUiIGR1cmluZyAiSU5TRVIKICAgICAga2V5IG9yIHJlcGxpY2EgaWRlbnRpdHkg ZGVmaW5lZCBmb3IgaXQuCiAgICAgPC9wYXJhPgogICAgPC9saXN0aXRlbT4KKworICAgPGxpc3Rp dGVtPgorICAgIDxwYXJhPgorICAgICBDb25mbGljdCBsb2cgdGFibGVzIChzZWUgPGxpbmsgbGlu a2VuZD0ic3FsLWNyZWF0ZXN1YnNjcmlwdGlvbi1wYXJhbXMtd2l0aC1jb25mbGljdC1sb2ctZGVz dGluYXRpb24iPjxsaXRlcmFsPmNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbjwvbGl0ZXJhbD48L2xp bms+IHBhcmFtZXRlcikKKyAgICAgYXJlIG5ldmVyIHB1Ymxpc2hlZCwgZXZlbiB3aGVuIHVzaW5n IDxsaXRlcmFsPkZPUiBBTEwgVEFCTEVTPC9saXRlcmFsPiBpbiBhCisgICAgIHB1YmxpY2F0aW9u LgorICAgIDwvcGFyYT4KKyAgIDwvbGlzdGl0ZW0+CiAgIDwvaXRlbWl6ZWRsaXN0PgogIDwvc2Vj dDE+CiAKZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvYWx0ZXJfc3Vic2NyaXB0aW9uLnNn bWwgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IGZhZDFm OTA5NTZhLi4xM2I0MTNkMTQyZiAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9hbHRlcl9z dWJzY3JpcHRpb24uc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL2FsdGVyX3N1YnNjcmlwdGlv bi5zZ21sCkBAIC0zNTgsNyArMzU4LDggQEAgQUxURVIgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5uYW1lPC9yZXBsYWNlYWJsZT4gUkVOQU1FIFRPIDwKICAgICAg IFdoZW4gdGhlIDxsaW5rIGxpbmtlbmQ9InNxbC1jcmVhdGVzdWJzY3JpcHRpb24tcGFyYW1zLXdp dGgtY29uZmxpY3QtbG9nLWRlc3RpbmF0aW9uIj48bGl0ZXJhbD5jb25mbGljdF9sb2dfZGVzdGlu YXRpb248L2xpdGVyYWw+PC9saW5rPgogICAgICAgcGFyYW1ldGVyIGlzIHNldCB0byA8bGl0ZXJh bD50YWJsZTwvbGl0ZXJhbD4gb3IgPGxpdGVyYWw+YWxsPC9saXRlcmFsPiwgdGhlIHN5c3RlbQog ICAgICAgYXV0b21hdGljYWxseSBjcmVhdGVzIHRoZSBjb25mbGljdCBsb2cgdGFibGUuIENvbnZl cnNlbHksIGlmIHRoZSBkZXN0aW5hdGlvbiBpcyBjaGFuZ2VkIHRvCi0gICAgICA8bGl0ZXJhbD5s b2c8L2xpdGVyYWw+LCB0aGUgY29uZmxpY3QgbG9nIHRhYmxlIGlzIGF1dG9tYXRpY2FsbHkgZHJv cHBlZC4KKyAgICAgIDxsaXRlcmFsPmxvZzwvbGl0ZXJhbD4sIGxvZ2dpbmcgdG8gdGhlIHRhYmxl IHN0b3BzIGFuZCB0aGUgY29uZmxpY3QgbG9nCisgICAgICB0YWJsZSBpcyBhdXRvbWF0aWNhbGx5 IGRyb3BwZWQuCiAgICAgIDwvcGFyYT4KICAgICA8L2xpc3RpdGVtPgogICAgPC92YXJsaXN0ZW50 cnk+CmRpZmYgLS1naXQgYS9kb2Mvc3JjL3NnbWwvcmVmL2NyZWF0ZV9zdWJzY3JpcHRpb24uc2dt bCBiL2RvYy9zcmMvc2dtbC9yZWYvY3JlYXRlX3N1YnNjcmlwdGlvbi5zZ21sCmluZGV4IDgxZmJm MzQ4N2E0Li4wYmUxYWE0Njk4ZCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVf c3Vic2NyaXB0aW9uLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL3JlZi9jcmVhdGVfc3Vic2NyaXB0 aW9uLnNnbWwKQEAgLTI3Miw4ICsyNzIsMTAgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiA8cmVwbGFj ZWFibGUgY2xhc3M9InBhcmFtZXRlciI+c3Vic2NyaXB0aW9uX25hbWU8L3JlcGxhY2VhYmwKICAg ICAgICAgICAgIDx0ZXJtPjxsaXRlcmFsPmxvZzwvbGl0ZXJhbD48L3Rlcm0+CiAgICAgICAgICAg ICA8bGlzdGl0ZW0+CiAgICAgICAgICAgICAgPHBhcmE+Ci0gICAgICAgICAgICAgIENvbmZsaWN0 IGRldGFpbHMgYXJlIHJlY29yZGVkIGluIHRoZSBzZXJ2ZXIgbG9nLgotICAgICAgICAgICAgICBU aGlzIGlzIHRoZSBkZWZhdWx0IGJlaGF2aW9yLgorICAgICAgICAgICAgICBDb25mbGljdCBkZXRh aWxzIGFyZSByZWNvcmRlZCBpbiB0aGUgc2VydmVyIGxvZy4gVGhpcyBpcworICAgICAgICAgICAg ICB0aGUgZGVmYXVsdCBiZWhhdmlvci4gU2VlCisgICAgICAgICAgICAgIDx4cmVmIGxpbmtlbmQ9 ImxvZ2ljYWwtcmVwbGljYXRpb24tY29uZmxpY3QtZmlsZS1iYXNlZC1sb2dnaW5nIi8+CisgICAg ICAgICAgICAgIGZvciBkZXRhaWxzLgogICAgICAgICAgICAgIDwvcGFyYT4KICAgICAgICAgICAg IDwvbGlzdGl0ZW0+CiAgICAgICAgICAgIDwvdmFybGlzdGVudHJ5PgpAQCAtMjg0LDE0ICsyODYs MTcgQEAgQ1JFQVRFIFNVQlNDUklQVElPTiA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFtZXRlciI+ c3Vic2NyaXB0aW9uX25hbWU8L3JlcGxhY2VhYmwKICAgICAgICAgICAgICAgVGhlIHN5c3RlbSBh dXRvbWF0aWNhbGx5IGNyZWF0ZXMgYSBzdHJ1Y3R1cmVkIHRhYmxlIG5hbWVkCiAgICAgICAgICAg ICAgIDxsaXRlcmFsPnBnX2NvbmZsaWN0X2xvZ18mbHQ7c3ViaWQmZ3Q7PC9saXRlcmFsPiBpbiB0 aGUKICAgICAgICAgICAgICAgPGxpdGVyYWw+cGdfY29uZmxpY3Q8L2xpdGVyYWw+IHNjaGVtYS4g VGhpcyBhbGxvd3MgZm9yIGVhc3kKLSAgICAgICAgICAgICAgcXVlcnlpbmcgYW5kIGFuYWx5c2lz IG9mIGNvbmZsaWN0cy4KKyAgICAgICAgICAgICAgcXVlcnlpbmcgYW5kIGFuYWx5c2lzIG9mIGNv bmZsaWN0cy4gU2VlCisgICAgICAgICAgICAgIDx4cmVmIGxpbmtlbmQ9ImxvZ2ljYWwtcmVwbGlj YXRpb24tY29uZmxpY3QtdGFibGUtYmFzZWQtbG9nZ2luZyIvPgorICAgICAgICAgICAgICBmb3Ig ZGV0YWlscy4KICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICAgPGNhdXRpb24+CiAg ICAgICAgICAgICAgIDxwYXJhPgogICAgICAgICAgICAgICAgVGhlIGNvbmZsaWN0IGxvZyB0YWJs ZSBpcyBzdHJpY3RseSB0aWVkIHRvIHRoZSBsaWZlY3ljbGUgb2YgdGhlCiAgICAgICAgICAgICAg ICBzdWJzY3JpcHRpb24gb3IgdGhlIDxsaXRlcmFsPmNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbjwv bGl0ZXJhbD4gc2V0dGluZy4gSWYKICAgICAgICAgICAgICAgIHRoZSBzdWJzY3JpcHRpb24gaXMg ZHJvcHBlZCwgb3IgaWYgdGhlIGRlc3RpbmF0aW9uIGlzIGNoYW5nZWQgdG8KLSAgICAgICAgICAg ICAgIDxsaXRlcmFsPmxvZzwvbGl0ZXJhbD4sIHRoZSB0YWJsZSBpcyA8ZW1waGFzaXM+ZHJvcHBl ZDwvZW1waGFzaXM+LgorICAgICAgICAgICAgICAgPGxpdGVyYWw+bG9nPC9saXRlcmFsPiwgdGhl IHRhYmxlIGFuZCBhbGwgaXRzIHJlY29yZGVkIGNvbmZsaWN0IGRhdGEgYXJlCisgICAgICAgICAg ICAgICA8ZW1waGFzaXM+cGVybWFuZW50bHkgZGVsZXRlZDwvZW1waGFzaXM+LgogICAgICAgICAg ICAgICA8L3BhcmE+CiAgICAgICAgICAgICAgPC9jYXV0aW9uPgogICAgICAgICAgICAgPC9saXN0 aXRlbT4KQEAgLTMwMCw4ICszMDUsOCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIDxyZXBsYWNlYWJs ZSBjbGFzcz0icGFyYW1ldGVyIj5zdWJzY3JpcHRpb25fbmFtZTwvcmVwbGFjZWFibAogICAgICAg ICAgICAgPHRlcm0+PGxpdGVyYWw+YWxsPC9saXRlcmFsPjwvdGVybT4KICAgICAgICAgICAgIDxs aXN0aXRlbT4KICAgICAgICAgICAgICA8cGFyYT4KLSAgICAgICAgICAgICAgVGhpcyBpcyBlcXVp dmFsZW50IHRvIGNvbmZpZ3VyaW5nIGJvdGggZGVzdGluYXRpb25zIDxsaXRlcmFsPmxvZzwvbGl0 ZXJhbD4KLSAgICAgICAgICAgICAgYW5kIDxsaXRlcmFsPnRhYmxlPC9saXRlcmFsPiB0b2dldGhl ci4KKyAgICAgICAgICAgICAgUmVjb3JkcyBjb25mbGljdCBkZXRhaWxzIHRvIGJvdGggZGVzdGlu YXRpb25zIDxsaXRlcmFsPmxvZzwvbGl0ZXJhbD4KKyAgICAgICAgICAgICAgYW5kIDxsaXRlcmFs PnRhYmxlPC9saXRlcmFsPi4KICAgICAgICAgICAgICA8L3BhcmE+CiAgICAgICAgICAgICA8L2xp c3RpdGVtPgogICAgICAgICAgICA8L3Zhcmxpc3RlbnRyeT4KZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvYXBwbHlwYXJhbGxlbHdvcmtlci5jIGIvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9hcHBseXBhcmFsbGVsd29ya2VyLmMKaW5kZXggMDEyZDU1 ZTlkM2QuLjU1YTBlZTQ4MzFhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL2FwcGx5cGFyYWxsZWx3b3JrZXIuYworKysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL2FwcGx5cGFyYWxsZWx3b3JrZXIuYwpAQCAtOTg2LDcgKzk4Niw2NiBAQCBQYXJh bGxlbEFwcGx5V29ya2VyTWFpbihEYXR1bSBtYWluX2FyZykKIAogCXNldF9hcHBseV9lcnJvcl9j b250ZXh0X29yaWdpbihvcmlnaW5uYW1lKTsKIAotCUxvZ2ljYWxQYXJhbGxlbEFwcGx5TG9vcCht cWgpOworCVBHX1RSWSgpOworCXsKKwkJTG9naWNhbFBhcmFsbGVsQXBwbHlMb29wKG1xaCk7CisJ fQorCVBHX0NBVENIKCk7CisJeworCQlNZW1vcnlDb250ZXh0IG9sZGNvbnRleHQ7CisJCUVycm9y RGF0YSAgKmVkYXRhOworCisJCS8qCisJCSAqIFJlc2V0IHRoZSBvcmlnaW4gc3RhdGUgdG8gcHJl dmVudCB0aGUgYWR2YW5jZW1lbnQgb2Ygb3JpZ2luCisJCSAqIHByb2dyZXNzIGlmIHdlIGZhaWwg dG8gYXBwbHkuIE90aGVyd2lzZSwgdGhpcyB3aWxsIHJlc3VsdCBpbgorCQkgKiB0cmFuc2FjdGlv biBsb3NzIGFzIHRoYXQgdHJhbnNhY3Rpb24gd29uJ3QgYmUgc2VudCBhZ2FpbiBieSB0aGUKKwkJ ICogc2VydmVyLgorCQkgKi8KKwkJcmVwbG9yaWdpbl94YWN0X2NsZWFyKHRydWUpOworCisJCS8q CisJCSAqIENvcHkgdGhlIGVycm9yIGFuZCByZWNvdmVyIHRvIGFuIGlkbGUgc3RhdGUgc28gd2Ug Y2FuIGluc2VydCB0aGUKKwkJICogZGVmZXJyZWQgY29uZmxpY3QgbG9nIHR1cGxlIChpZiBhbnkp IGJlZm9yZSByZS10aHJvd2luZy4gIENvcHkgdGhlCisJCSAqIGVycm9yIGludG8gYSBsb25nZXIt bGl2ZWQgY29udGV4dCBmaXJzdCwgYXMgaXQgbWF5IGhhdmUgYmVlbiByYWlzZWQKKwkJICogdW5k ZXIgRXJyb3JDb250ZXh0LiAgQWxzbyByZXNldCB0aGUgZXJyb3IgY29udGV4dCBzdGFjazogdGhl CisJCSAqIGNhbGxiYWNrcyBpbiBlZmZlY3Qgd2hlbiB0aGUgZXJyb3Igd2FzIHRocm93biBiZWxv bmcgdG8gdW53b3VuZAorCQkgKiBzdGFjayBmcmFtZXMsIGFuZCB0aGUgZGVmZXJyZWQgaW5zZXJ0 IGluc3RhbGxzIGl0cyBvd24uCisJCSAqLworCQlvbGRjb250ZXh0ID0gTWVtb3J5Q29udGV4dFN3 aXRjaFRvKFRvcE1lbW9yeUNvbnRleHQpOworCQllZGF0YSA9IENvcHlFcnJvckRhdGEoKTsKKwkJ TWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGNvbnRleHQpOworCisJCUZsdXNoRXJyb3JTdGF0ZSgp OworCQllcnJvcl9jb250ZXh0X3N0YWNrID0gTlVMTDsKKworCQkvKgorCQkgKiBUZWxsIHRoZSBs ZWFkZXIgd2UgZmFpbGVkIGFuZCBhcmUgYWJvdXQgdG8gcmVwb3J0IHRoZSBlcnJvciBhbmQgbG9n CisJCSAqIHRoZSBjb25mbGljdC4gIFRoaXMgbXVzdCBiZSBzZXQgYmVmb3JlIEFib3J0T3V0T2ZB bnlUcmFuc2FjdGlvbigpCisJCSAqIGJlbG93IHJlbGVhc2VzIHRoZSB0cmFuc2FjdGlvbiBsb2Nr IHRoYXQgdGhlIGxlYWRlciB3YWl0cyBvbiBpbgorCQkgKiBwYV93YWl0X2Zvcl94YWN0X2Zpbmlz aCgpOyBvdGhlcndpc2UgdGhlIGxlYWRlciB3b3VsZCBzZWUgYQorCQkgKiBub24tZmluaXNoZWQg c3RhdGUsIGFzc3VtZSB0aGUgY29ubmVjdGlvbiB3YXMgbG9zdCwgYW5kIHRlYXIgdGhpcworCQkg KiB3b3JrZXIgZG93biB3aGlsZSBpdCBpcyBzdGlsbCB3cml0aW5nIHRoZSBjb25mbGljdCBsb2cg dHVwbGUuCisJCSAqLworCQlwYV9zZXRfeGFjdF9zdGF0ZShNeVBhcmFsbGVsU2hhcmVkLCBQQVJB TExFTF9UUkFOU19FUlJPUik7CisKKwkJQWJvcnRPdXRPZkFueVRyYW5zYWN0aW9uKCk7CisKKwkJ LyoKKwkJICogSW5zZXJ0IHRoZSBkZWZlcnJlZCBjb25mbGljdCBsb2cgdHVwbGUgYmVmb3JlIHJl LXRocm93aW5nLgorCQkgKiBSZS10aHJvd2luZyBpcyB3aGF0IHJlcG9ydHMgdGhlIGVycm9yIHRv IHRoZSBsZWFkZXIgKHZpYSB0aGUgZXJyb3IKKwkJICogcXVldWUgc2V0IHVwIGFib3ZlKSwgc28g dGhlIGluc2VydGlvbiBtdXN0IGhhcHBlbiBmaXJzdDogb3RoZXJ3aXNlCisJCSAqIHRoZSBsZWFk ZXIgY291bGQgc3RhcnQgdGVhcmluZyBkb3duIHRoaXMgd29ya2VyIHdoaWxlIGl0IGlzIHN0aWxs CisJCSAqIHdyaXRpbmcgdGhlIGNvbmZsaWN0IGxvZyB0dXBsZS4gIElmIHRoZSBpbnNlcnRpb24g aXRzZWxmIGZhaWxzLAorCQkgKiB0aGF0IGVycm9yIChhbm5vdGF0ZWQgd2l0aCB0aGUgY29uZmxp Y3QgY29udGV4dCwgc2VlCisJCSAqIEluc2VydENvbmZsaWN0TG9nVHVwbGUpIHByb3BhZ2F0ZXMg dG8gdGhlIGxlYWRlciBpbnN0ZWFkIG9mIHRoZQorCQkgKiBvcmlnaW5hbC4KKwkJICovCisJCVBy b2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dUdXBsZSgpOworCisJCS8qIFJlLXRocm93IHRoZSBvcmln aW5hbCBlcnJvciwgd2hpY2ggcmVwb3J0cyBpdCB0byB0aGUgbGVhZGVyLiAqLworCQlSZVRocm93 RXJyb3IoZWRhdGEpOworCX0KKwlQR19FTkRfVFJZKCk7CiAKIAkvKgogCSAqIFRoZSBwYXJhbGxl bCBhcHBseSB3b3JrZXIgbXVzdCBub3QgZ2V0IGhlcmUgYmVjYXVzZSB0aGUgcGFyYWxsZWwgYXBw bHkKQEAgLTEzMTQsOSArMTM3MywzMyBAQCBwYV93YWl0X2Zvcl94YWN0X2ZpbmlzaChQYXJhbGxl bEFwcGx5V29ya2VySW5mbyAqd2luZm8pCiAJICogcmVsZWFzZWQuCiAJICovCiAJaWYgKHBhX2dl dF94YWN0X3N0YXRlKHdpbmZvLT5zaGFyZWQpICE9IFBBUkFMTEVMX1RSQU5TX0ZJTklTSEVEKQor CXsKKwkJLyoKKwkJICogSWYgdGhlIHdvcmtlciBzaWduYWxsZWQgdGhhdCBpdCBlcnJvcmVkIChQ QVJBTExFTF9UUkFOU19FUlJPUiksIGl0CisJCSAqIGlzIGxvZ2dpbmcgdGhlIGNvbmZsaWN0IGFu ZCB3aWxsIHJlcG9ydCB0aGUgYWN0dWFsIGVycm9yIHZpYSB0aGUKKwkJICogZXJyb3IgcXVldWUg YmVmb3JlIGV4aXRpbmcuICBXYWl0IGZvciB0aGF0IHJhdGhlciB0aGFuIHJlcG9ydGluZyBhCisJ CSAqIGdlbmVyaWMgbG9zdCBjb25uZWN0aW9uOiBDSEVDS19GT1JfSU5URVJSVVBUUygpIGRyaXZl cworCQkgKiBQcm9jZXNzUGFyYWxsZWxBcHBseU1lc3NhZ2VzKCksIHdoaWNoIHJhaXNlcyB0aGUg cmVhbCBlcnJvciBvbiB0aGUKKwkJICogd29ya2VyJ3MgRXJyb3JSZXNwb25zZSAob3IgImxvc3Qg Y29ubmVjdGlvbiIgaWYgdGhlIHdvcmtlciBkaWVkCisJCSAqIHdpdGhvdXQgcmVwb3J0aW5nKS4g IFdhaXRpbmcgaGVyZSBhbHNvIGtlZXBzIHRoZSB3b3JrZXIgYWxpdmUgbG9uZworCQkgKiBlbm91 Z2ggdG8gZmluaXNoIHdyaXRpbmcgdGhlIGNvbmZsaWN0IGxvZyB0dXBsZS4KKwkJICovCisJCXdo aWxlIChwYV9nZXRfeGFjdF9zdGF0ZSh3aW5mby0+c2hhcmVkKSA9PSBQQVJBTExFTF9UUkFOU19F UlJPUikKKwkJeworCQkJQ0hFQ0tfRk9SX0lOVEVSUlVQVFMoKTsKKworCQkJKHZvaWQpIFdhaXRM YXRjaChNeUxhdGNoLAorCQkJCQkJCSBXTF9MQVRDSF9TRVQgfCBXTF9USU1FT1VUIHwgV0xfRVhJ VF9PTl9QTV9ERUFUSCwKKwkJCQkJCQkgMTBMLAorCQkJCQkJCSBXQUlUX0VWRU5UX0xPR0lDQUxf UEFSQUxMRUxfQVBQTFlfU1RBVEVfQ0hBTkdFKTsKKworCQkJUmVzZXRMYXRjaChNeUxhdGNoKTsK KwkJfQorCiAJCWVyZXBvcnQoRVJST1IsCiAJCQkJKGVycmNvZGUoRVJSQ09ERV9PQkpFQ1RfTk9U X0lOX1BSRVJFUVVJU0lURV9TVEFURSksCiAJCQkJIGVycm1zZygibG9zdCBjb25uZWN0aW9uIHRv IHRoZSBsb2dpY2FsIHJlcGxpY2F0aW9uIHBhcmFsbGVsIGFwcGx5IHdvcmtlciIpKSk7CisJfQog fQogCiAvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25m bGljdC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCmluZGV4 IDVlYThjNDU1Y2Q0Li41NTUxZDg3ZDFiYyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC9jb25mbGljdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xv Z2ljYWwvY29uZmxpY3QuYwpAQCAtMTYsMTcgKzE2LDI1IEBACiAKICNpbmNsdWRlICJhY2Nlc3Mv Y29tbWl0X3RzLmgiCiAjaW5jbHVkZSAiYWNjZXNzL2dlbmFtLmgiCisjaW5jbHVkZSAiYWNjZXNz L2hlYXBhbS5oIgogI2luY2x1ZGUgImFjY2Vzcy90YWJsZWFtLmgiCisjaW5jbHVkZSAiYWNjZXNz L3hhY3QuaCIKICNpbmNsdWRlICJjYXRhbG9nL2hlYXAuaCIKICNpbmNsdWRlICJjYXRhbG9nL3Bn X2FtLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9wZ19uYW1lc3BhY2UuaCIKICNpbmNsdWRlICJjYXRh bG9nL3RvYXN0aW5nLmgiCiAjaW5jbHVkZSAiZXhlY3V0b3IvZXhlY3V0b3IuaCIKKyNpbmNsdWRl ICJmdW5jYXBpLmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24v Y29uZmxpY3QuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaCIKICNp bmNsdWRlICJzdG9yYWdlL2xtZ3IuaCIKKyNpbmNsdWRlICJ1dGlscy9hcnJheS5oIgorI2luY2x1 ZGUgInV0aWxzL2J1aWx0aW5zLmgiCisjaW5jbHVkZSAidXRpbHMvaW5qZWN0aW9uX3BvaW50Lmgi CiAjaW5jbHVkZSAidXRpbHMvbHN5c2NhY2hlLmgiCisjaW5jbHVkZSAidXRpbHMvbWVtdXRpbHMu aCIKKyNpbmNsdWRlICJ1dGlscy9wZ19sc24uaCIKIAogLyoKICAqIFN0cmluZyByZXByZXNlbnRh dGlvbnMgZm9yIHRoZSBzdXBwb3J0ZWQgY29uZmxpY3QgbG9nZ2luZyBkZXN0aW5hdGlvbnMuCkBA IC00MCw3ICs0OCw2IEBAIGNvbnN0IGNoYXIgKmNvbnN0IENvbmZsaWN0TG9nRGVzdE5hbWVzW10g PSB7CiBTdGF0aWNBc3NlcnREZWNsKGxlbmd0aG9mKENvbmZsaWN0TG9nRGVzdE5hbWVzKSA9PSBD T05GTElDVF9MT0dfREVTVF9BTEwgKyAxLAogCQkJCSAiQ29uZmxpY3RMb2dEZXN0TmFtZXMgbGVu Z3RoIG1pc21hdGNoIik7CiAKLQogLyogU3RydWN0dXJlIHRvIGhvbGQgbWV0YWRhdGEgZm9yIG9u ZSBjb2x1bW4gb2YgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSAqLwogdHlwZWRlZiBzdHJ1Y3QgQ29u ZmxpY3RMb2dDb2x1bW5EZWYKIHsKQEAgLTgxLDYgKzg4LDE4IEBAIHN0YXRpYyBjb25zdCBDb25m bGljdExvZ0NvbHVtbkRlZiBDb25mbGljdExvZ1NjaGVtYVtdID0gewogCiAjZGVmaW5lIE5VTV9D T05GTElDVF9BVFRSUyBsZW5ndGhvZihDb25mbGljdExvZ1NjaGVtYSkKIAorLyogU2NoZW1hIGZv ciB0aGUgZWxlbWVudHMgd2l0aGluIHRoZSAnbG9jYWxfY29uZmxpY3RzJyBKU09OIGFycmF5ICov CitzdGF0aWMgY29uc3QgQ29uZmxpY3RMb2dDb2x1bW5EZWYgTG9jYWxDb25mbGljdFNjaGVtYVtd ID0KK3sKKwl7LmF0dG5hbWUgPSAieGlkIiwgLmF0dHR5cGlkID0gWElET0lEfSwKKwl7LmF0dG5h bWUgPSAiY29tbWl0X3RzIiwgLmF0dHR5cGlkID0gVElNRVNUQU1QVFpPSUR9LAorCXsuYXR0bmFt ZSA9ICJvcmlnaW4iLCAuYXR0dHlwaWQgPSBURVhUT0lEfSwKKwl7LmF0dG5hbWUgPSAia2V5Iiwg LmF0dHR5cGlkID0gSlNPTk9JRH0sCisJey5hdHRuYW1lID0gInR1cGxlIiwgLmF0dHR5cGlkID0g SlNPTk9JRH0KK307CisKKyNkZWZpbmUgTlVNX0xPQ0FMX0NPTkZMSUNUX0FUVFJTIGxlbmd0aG9m KExvY2FsQ29uZmxpY3RTY2hlbWEpCisKIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBDb25mbGlj dFR5cGVOYW1lc1tdID0gewogCVtDVF9JTlNFUlRfRVhJU1RTXSA9ICJpbnNlcnRfZXhpc3RzIiwK IAlbQ1RfVVBEQVRFX09SSUdJTl9ESUZGRVJTXSA9ICJ1cGRhdGVfb3JpZ2luX2RpZmZlcnMiLApA QCAtOTIsNiArMTExLDI1IEBAIHN0YXRpYyBjb25zdCBjaGFyICpjb25zdCBDb25mbGljdFR5cGVO YW1lc1tdID0gewogCVtDVF9NVUxUSVBMRV9VTklRVUVfQ09ORkxJQ1RTXSA9ICJtdWx0aXBsZV91 bmlxdWVfY29uZmxpY3RzIgogfTsKIAorLyoKKyAqIFdvcmtlci1wcml2YXRlIHN0YXRlIGZvciBh IGNvbmZsaWN0IHRoYXQgaGFzIGJlZW4gcHJlcGFyZWQgZm9yIHRoZSBjb25mbGljdAorICogbG9n IHRhYmxlIGJ1dCBub3QgeWV0IGluc2VydGVkLiAgSXQgY2FycmllcyB0aGUgcHJlcGFyZWQgdHVw bGUsIGFuZCBhCisgKiBkZXNjcmlwdGlvbiBvZiB0aGUgY29uZmxpY3QgdXNlZCBmb3IgZXJyb3Ig Y29udGV4dCwgZnJvbQorICogcHJlcGFyZV9jb25mbGljdF9sb2dfdHVwbGUoKSBhY3Jvc3MgdGhl IGFwcGx5IGVycm9yIGJvdW5kYXJ5IHRvCisgKiBQcm9jZXNzUGVuZGluZ0NvbmZsaWN0TG9nVHVw bGUoKS9JbnNlcnRDb25mbGljdExvZ1R1cGxlKCkuICBCb3RoIHBvaW50ZXJzCisgKiByZWZlcmVu Y2UgbWVtb3J5IGFsbG9jYXRlZCBpbiBBcHBseUNvbnRleHQuCisgKgorICogVGhpcyBpcyBwdXJl bHkgcHJvY2Vzcy1sb2NhbCBzdGF0ZSwgc28gaXQgbGl2ZXMgaGVyZSByYXRoZXIgdGhhbiBpbiB0 aGUKKyAqIHNoYXJlZCBMb2dpY2FsUmVwV29ya2VyIHN0cnVjdC4KKyAqLwordHlwZWRlZiBzdHJ1 Y3QgUGVuZGluZ0NvbmZsaWN0TG9nRGF0YQoreworCUhlYXBUdXBsZQl0dXBsZTsJCQkvKiBwcmVw YXJlZCwgbm90LXlldC1pbnNlcnRlZCBjb25mbGljdCB0dXBsZSAqLworCWNoYXIJICAgKmVycmNv bnRleHRfc3RyOyAvKiBjb25mbGljdCBkZXNjcmlwdGlvbiBmb3IgZXJyb3IgY29udGV4dCAqLwor fSBQZW5kaW5nQ29uZmxpY3RMb2dEYXRhOworCitzdGF0aWMgUGVuZGluZ0NvbmZsaWN0TG9nRGF0 YSBwZW5kaW5nX2NvbmZsaWN0X2xvZyA9IHswfTsKKwogc3RhdGljIGludAllcnJjb2RlX2FwcGx5 X2NvbmZsaWN0KENvbmZsaWN0VHlwZSB0eXBlKTsKIHN0YXRpYyB2b2lkIGVycmRldGFpbF9hcHBs eV9jb25mbGljdChFU3RhdGUgKmVzdGF0ZSwKIAkJCQkJCQkJCSBSZXN1bHRSZWxJbmZvICpyZWxp bmZvLApAQCAtMTA4LDggKzE0NiwyNyBAQCBzdGF0aWMgdm9pZCBnZXRfdHVwbGVfZGVzYyhFU3Rh dGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJCQkJCSAgIFR1cGxlVGFibGVT bG90ICpyZW1vdGVzbG90LCBjaGFyICoqcmVtb3RlX2Rlc2MsCiAJCQkJCQkgICBUdXBsZVRhYmxl U2xvdCAqc2VhcmNoc2xvdCwgY2hhciAqKnNlYXJjaF9kZXNjLAogCQkJCQkJICAgT2lkIGluZGV4 b2lkKTsKK3N0YXRpYyB2b2lkIGJ1aWxkX2luZGV4X2RhdHVtc19mcm9tX3Nsb3QoRVN0YXRlICpl c3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAorCQkJCQkJCQkJCSBUdXBsZVRhYmxlU2xvdCAqc2xv dCwKKwkJCQkJCQkJCQkgUmVsYXRpb24gaW5kZXhEZXNjLCBEYXR1bSAqdmFsdWVzLAorCQkJCQkJ CQkJCSBib29sICppc251bGwpOwogc3RhdGljIGNoYXIgKmJ1aWxkX2luZGV4X3ZhbHVlX2Rlc2Mo RVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxvY2FscmVsLAogCQkJCQkJCQkJVHVwbGVUYWJsZVNs b3QgKnNsb3QsIE9pZCBpbmRleG9pZCk7CitzdGF0aWMgRGF0dW0gdHVwbGVfdGFibGVfc2xvdF90 b19qc29uX2RhdHVtKFR1cGxlVGFibGVTbG90ICpzbG90KTsKK3N0YXRpYyBEYXR1bSB0dXBsZV90 YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oRVN0YXRlICplc3RhdGUsCisJCQkJCQkJCQkJCSAg IFJlbGF0aW9uIGxvY2FscmVsLAorCQkJCQkJCQkJCQkgICBPaWQgcmVwbGljYV9pbmRleCwKKwkJ CQkJCQkJCQkJICAgVHVwbGVUYWJsZVNsb3QgKnNsb3QpOworc3RhdGljIFR1cGxlRGVzYyBidWls ZF9jb25mbGljdF90dXBsZWRlc2Modm9pZCk7CitzdGF0aWMgRGF0dW0gYnVpbGRfbG9jYWxfY29u ZmxpY3RzX2pzb25fYXJyYXkoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIHJlbCwKKwkJCQkJCQkJ CQkJICBDb25mbGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJCQkJCQkJICBMaXN0ICpjb25m bGljdHR1cGxlcyk7CitzdGF0aWMgdm9pZCBwcmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZShFU3Rh dGUgKmVzdGF0ZSwgUmVsYXRpb24gcmVsLAorCQkJCQkJCQkJICAgUmVsYXRpb24gY29uZmxpY3Rs b2dyZWwsCisJCQkJCQkJCQkgICBDb25mbGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJCQkJ CSAgIFR1cGxlVGFibGVTbG90ICpzZWFyY2hzbG90LAorCQkJCQkJCQkJICAgTGlzdCAqY29uZmxp Y3R0dXBsZXMsCisJCQkJCQkJCQkgICBUdXBsZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCk7CiAKIC8q CiAgKiBCdWlsZHMgdGhlIFR1cGxlRGVzYyBmb3IgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZS4KQEAg LTI3OSwyOSArMzM2LDIxOSBAQCBSZXBvcnRBcHBseUNvbmZsaWN0KEVTdGF0ZSAqZXN0YXRlLCBS ZXN1bHRSZWxJbmZvICpyZWxpbmZvLCBpbnQgZWxldmVsLAogCQkJCQlUdXBsZVRhYmxlU2xvdCAq cmVtb3Rlc2xvdCwgTGlzdCAqY29uZmxpY3R0dXBsZXMpCiB7CiAJUmVsYXRpb24JbG9jYWxyZWwg PSByZWxpbmZvLT5yaV9SZWxhdGlvbkRlc2M7Ci0JU3RyaW5nSW5mb0RhdGEgZXJyX2RldGFpbDsK KwlDb25mbGljdExvZ0Rlc3QgZGVzdDsKKwlSZWxhdGlvbgljb25mbGljdGxvZ3JlbDsKKwlib29s CQlsb2dfZGVzdF90YWJsZTsKKwlib29sCQlsb2dfZGVzdF9sb2dmaWxlOwogCi0JaW5pdFN0cmlu Z0luZm8oJmVycl9kZXRhaWwpOworCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX2NvbmZsaWN0 KE15U3Vic2NyaXB0aW9uLT5vaWQsIHR5cGUpOwogCi0JLyogRm9ybSBlcnJkZXRhaWwgbWVzc2Fn ZSBieSBjb21iaW5pbmcgY29uZmxpY3RpbmcgdHVwbGVzIGluZm9ybWF0aW9uLiAqLwotCWZvcmVh Y2hfcHRyKENvbmZsaWN0VHVwbGVJbmZvLCBjb25mbGljdHR1cGxlLCBjb25mbGljdHR1cGxlcykK LQkJZXJyZGV0YWlsX2FwcGx5X2NvbmZsaWN0KGVzdGF0ZSwgcmVsaW5mbywgdHlwZSwgc2VhcmNo c2xvdCwKLQkJCQkJCQkJIGNvbmZsaWN0dHVwbGUtPnNsb3QsIHJlbW90ZXNsb3QsCi0JCQkJCQkJ CSBjb25mbGljdHR1cGxlLT5pbmRleG9pZCwKLQkJCQkJCQkJIGNvbmZsaWN0dHVwbGUtPnhtaW4s Ci0JCQkJCQkJCSBjb25mbGljdHR1cGxlLT5vcmlnaW4sCi0JCQkJCQkJCSBjb25mbGljdHR1cGxl LT50cywKLQkJCQkJCQkJICZlcnJfZGV0YWlsKTsKKwkvKgorCSAqIEdldCB0aGUgY29uZmxpY3Qg bG9nIGRlc3RpbmF0aW9uLiAgQWxzbywgaWYgYSB0YWJsZSBpcyBvbmUgb2YgdGhlCisJICogZGVz dGluYXRpb25zLCByZXR1cm4gdGhlIENMVCByZWxhdGlvbiBhbHJlYWR5IG9wZW5lZCBhbmQgcmVh ZHkgZm9yCisJICogaW5zZXJ0aW9uIC0tIG9yIE5VTEwgaWYgaXQgaGFzIGJlZW4gZHJvcHBlZCBj b25jdXJyZW50bHkuCisJICovCisJY29uZmxpY3Rsb2dyZWwgPSBHZXRDb25mbGljdExvZ0Rlc3RB bmRUYWJsZSgmZGVzdCk7CiAKLQlwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9jb25mbGljdChN eVN1YnNjcmlwdGlvbi0+b2lkLCB0eXBlKTsKKwlsb2dfZGVzdF90YWJsZSA9IENPTkZMSUNUU19M T0dHRURfVE9fVEFCTEUoZGVzdCk7CisJbG9nX2Rlc3RfbG9nZmlsZSA9IENPTkZMSUNUU19MT0dH RURfVE9fTE9HKGRlc3QpOworCisJLyoKKwkgKiBJZiBhIGNvbmZsaWN0IGxvZyB0YWJsZSB3YXMg cmVxdWVzdGVkIGJ1dCBpdCBoYXMgYmVlbiBkcm9wcGVkCisJICogY29uY3VycmVudGx5IChlLmcu IGEgY29uY3VycmVudCBBTFRFUiBTVUJTQ1JJUFRJT04gY2hhbmdlZAorCSAqIGNvbmZsaWN0X2xv Z19kZXN0aW5hdGlvbiksIEdldENvbmZsaWN0TG9nRGVzdEFuZFRhYmxlKCkgcmV0dXJuZWQgTlVM TC4KKwkgKiBGYWxsIGJhY2sgdG8gbG9nZ2luZyB0aGUgZnVsbCBjb25mbGljdCBkZXRhaWxzIHRv IHRoZSBzZXJ2ZXIgbG9nIHNvCisJICogdGhhdCB0aGUgY29uZmxpY3QgaXMgbm90IGxvc3QuCisJ ICovCisJaWYgKGxvZ19kZXN0X3RhYmxlICYmIGNvbmZsaWN0bG9ncmVsID09IE5VTEwpCisJewor CQlsb2dfZGVzdF90YWJsZSA9IGZhbHNlOworCQlsb2dfZGVzdF9sb2dmaWxlID0gdHJ1ZTsKKwl9 CisKKwkvKgorCSAqIFByZXBhcmUgdGhlIGNvbmZsaWN0IGxvZyB0dXBsZSBmaXJzdCB3aGVuIHRo ZSBkZXN0aW5hdGlvbiBpbmNsdWRlcyB0aGUKKwkgKiB0YWJsZS4gIFRoaXMgbXVzdCBoYXBwZW4g YmVmb3JlIHRoZSBlcmVwb3J0KCkgYmVsb3csIGJlY2F1c2UgZm9yIGFuCisJICogRVJST1ItbGV2 ZWwgY29uZmxpY3QgdGhhdCBlcmVwb3J0KCkgcmFpc2VzIHRoZSBlcnJvciBhbmQgZGVmZXJzIHRo ZQorCSAqIGFjdHVhbCBpbnNlcnRpb24gdG8gUHJvY2Vzc1BlbmRpbmdDb25mbGljdExvZ1R1cGxl KCksIHdoaWNoIHJlbGllcyBvbgorCSAqIHRoZSB0dXBsZSBoYXZpbmcgYmVlbiBwcmVwYXJlZC4K KwkgKi8KKwlpZiAobG9nX2Rlc3RfdGFibGUpCisJeworCQlBc3NlcnQoY29uZmxpY3Rsb2dyZWwg IT0gTlVMTCk7CisJCXByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKGVzdGF0ZSwKKwkJCQkJCQkJ ICAgcmVsaW5mby0+cmlfUmVsYXRpb25EZXNjLAorCQkJCQkJCQkgICBjb25mbGljdGxvZ3JlbCwK KwkJCQkJCQkJICAgdHlwZSwKKwkJCQkJCQkJICAgc2VhcmNoc2xvdCwKKwkJCQkJCQkJICAgY29u ZmxpY3R0dXBsZXMsCisJCQkJCQkJCSAgIHJlbW90ZXNsb3QpOworCX0KKworCS8qCisJICogUmVw b3J0IHRoZSBjb25mbGljdCB0byB0aGUgc2VydmVyIGxvZyBiZWZvcmUgaW5zZXJ0aW5nIGl0IGlu dG8gdGhlCisJICogY29uZmxpY3QgbG9nIHRhYmxlLiAgRW1pdHRpbmcgaXQgZmlyc3QgZ3VhcmFu dGVlcyB0aGUgY29uZmxpY3QgaXMKKwkgKiByZWNvcmRlZCBldmVuIGlmIHRoZSB0YWJsZSBpbnNl cnQgYmVsb3cgZmFpbHM7IGl0IGlzIGFsc28gd2hhdCByYWlzZXMKKwkgKiB0aGUgZXJyb3IgZm9y IEVSUk9SLWxldmVsIGNvbmZsaWN0cy4gIFdoZW4gdGhlIHNlcnZlciBsb2cgaXMgb25lIG9mIHRo ZQorCSAqIGRlc3RpbmF0aW9ucyB3ZSBlbWl0IHRoZSBmdWxsIGRldGFpbHMsIG90aGVyd2lzZSAo dGFibGUtb25seSkgd2UgZW1pdCBhCisJICogc2hvcnRlciBtZXNzYWdlIHNpbmNlIHRoZSBkZXRh aWxzIGFyZSBjYXB0dXJlZCBpbiB0aGUgdGFibGUuCisJICovCisJaWYgKGxvZ19kZXN0X2xvZ2Zp bGUpCisJeworCQlTdHJpbmdJbmZvRGF0YSBlcnJfZGV0YWlsOworCisJCWluaXRTdHJpbmdJbmZv KCZlcnJfZGV0YWlsKTsKKworCQkvKiBGb3JtIGVycmRldGFpbCBtZXNzYWdlIGJ5IGNvbWJpbmlu ZyBjb25mbGljdGluZyB0dXBsZXMgaW5mb3JtYXRpb24uICovCisJCWZvcmVhY2hfcHRyKENvbmZs aWN0VHVwbGVJbmZvLCBjb25mbGljdHR1cGxlLCBjb25mbGljdHR1cGxlcykKKwkJCWVycmRldGFp bF9hcHBseV9jb25mbGljdChlc3RhdGUsIHJlbGluZm8sIHR5cGUsIHNlYXJjaHNsb3QsCisJCQkJ CQkJCQkgY29uZmxpY3R0dXBsZS0+c2xvdCwgcmVtb3Rlc2xvdCwKKwkJCQkJCQkJCSBjb25mbGlj dHR1cGxlLT5pbmRleG9pZCwKKwkJCQkJCQkJCSBjb25mbGljdHR1cGxlLT54bWluLAorCQkJCQkJ CQkJIGNvbmZsaWN0dHVwbGUtPm9yaWdpbiwKKwkJCQkJCQkJCSBjb25mbGljdHR1cGxlLT50cywK KwkJCQkJCQkJCSAmZXJyX2RldGFpbCk7CisKKwkJLyogU3RhbmRhcmQgcmVwb3J0aW5nIHdpdGgg ZnVsbCBpbnRlcm5hbCBkZXRhaWxzLiAqLworCQllcmVwb3J0KGVsZXZlbCwKKwkJCQllcnJjb2Rl X2FwcGx5X2NvbmZsaWN0KHR5cGUpLAorCQkJCWVycm1zZygiY29uZmxpY3QgZGV0ZWN0ZWQgb24g cmVsYXRpb24gXCIlc1wiOiBjb25mbGljdD0lcyIsCisJCQkJCSAgIFJlbGF0aW9uR2V0UXVhbGlm aWVkUmVsYXRpb25OYW1lKGxvY2FscmVsKSwKKwkJCQkJICAgQ29uZmxpY3RUeXBlTmFtZXNbdHlw ZV0pLAorCQkJCWVycmRldGFpbF9pbnRlcm5hbCgiJXMiLCBlcnJfZGV0YWlsLmRhdGEpKTsKKwl9 CisJZWxzZSBpZiAobG9nX2Rlc3RfdGFibGUpCisJeworCQkvKgorCQkgKiBOb3QgbG9nZ2luZyBj b25mbGljdCBkZXRhaWxzIHRvIHRoZSBzZXJ2ZXIgbG9nOyByZXBvcnQgdGhlIGNvbmZsaWN0CisJ CSAqIGJ1dCBvbWl0IHJhdyB0dXBsZSBkYXRhIHNpbmNlIGl0IGlzIGNhcHR1cmVkIGluIHRoZSBj b25mbGljdCBsb2cKKwkJICogdGFibGUuCisJCSAqLworCQllcmVwb3J0KGVsZXZlbCwKKwkJCQll cnJjb2RlX2FwcGx5X2NvbmZsaWN0KHR5cGUpLAorCQkJCWVycm1zZygiY29uZmxpY3QgZGV0ZWN0 ZWQgb24gcmVsYXRpb24gXCIlc1wiOiBjb25mbGljdD0lcyIsCisJCQkJCSAgIFJlbGF0aW9uR2V0 UXVhbGlmaWVkUmVsYXRpb25OYW1lKGxvY2FscmVsKSwKKwkJCQkJICAgQ29uZmxpY3RUeXBlTmFt ZXNbdHlwZV0pLAorCQkJCWVycmRldGFpbCgiQ29uZmxpY3QgZGV0YWlscyBhcmUgbG9nZ2VkIHRv IHRoZSBjb25mbGljdCBsb2cgdGFibGU6ICVzIiwKKwkJCQkJCSAgUmVsYXRpb25HZXRSZWxhdGlv bk5hbWUoY29uZmxpY3Rsb2dyZWwpKSk7CisJfQorCisJLyoKKwkgKiBJbnNlcnQgaW50byB0aGUg Y29uZmxpY3QgbG9nIHRhYmxlIGlmIHJlcXVlc3RlZC4gIEZvciBjb25mbGljdHMgYmVsb3cKKwkg KiBFUlJPUiB0aGUgYXBwbHkgdHJhbnNhY3Rpb24gY29udGludWVzLCBzbyBpbnNlcnQgaW1tZWRp YXRlbHk7IGZvcgorCSAqIEVSUk9SLWxldmVsIGNvbmZsaWN0cyB0aGUgZXJlcG9ydCgpIGFib3Zl IGFscmVhZHkgcmFpc2VkIHRoZSBlcnJvciBhbmQKKwkgKiB0aGUgaW5zZXJ0aW9uIGlzIGRlZmVy cmVkIHRvIGEgbmV3IHRyYW5zYWN0aW9uCisJICogKFByb2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dU dXBsZSkgc28gdGhhdCBpdCBpcyBub3Qgcm9sbGVkIGJhY2suCisJICovCisJaWYgKGxvZ19kZXN0 X3RhYmxlKQorCXsKKwkJaWYgKGVsZXZlbCA8IEVSUk9SKQorCQl7CisJCQlQR19UUlkoKTsKKwkJ CXsKKwkJCQlJbnNlcnRDb25mbGljdExvZ1R1cGxlKGNvbmZsaWN0bG9ncmVsKTsKKwkJCX0KKwkJ CVBHX0NBVENIKCk7CisJCQl7CisJCQkJLyoKKwkJCQkgKiBUaGUgaW5zZXJ0IGZhaWxlZCwgc28g dGhlIGFwcGx5IHRyYW5zYWN0aW9uIHdpbGwgYWJvcnQgYW5kCisJCQkJICogdGhlIGVycm9yIHdp bGwgcHJvcGFnYXRlIHRvIHRoZSB3b3JrZXIncyBlcnJvciBoYW5kbGVyLiBUaGUKKwkJCQkgKiBj b25mbGljdCB3YXMgYWxyZWFkeSByZXBvcnRlZCB0byB0aGUgc2VydmVyIGxvZyBhYm92ZSwgc28K KwkJCQkgKiBpdCBpcyBub3QgbG9zdC4gIERpc2NhcmQgdGhlIHByZXBhcmVkIHR1cGxlIHNvIHRo YXQgdGhlCisJCQkJICogZGVmZXJyZWQgaW5zZXJ0aW9uIHBhdGggKFByb2Nlc3NQZW5kaW5nQ29u ZmxpY3RMb2dUdXBsZSkKKwkJCQkgKiBkb2VzIG5vdCByZXRyeSB0aGlzIHNhbWUgZmFpbGluZyBp bnNlcnQuCisJCQkJICovCisJCQkJaWYgKHBlbmRpbmdfY29uZmxpY3RfbG9nLnR1cGxlICE9IE5V TEwpCisJCQkJeworCQkJCQloZWFwX2ZyZWV0dXBsZShwZW5kaW5nX2NvbmZsaWN0X2xvZy50dXBs ZSk7CisJCQkJCXBlbmRpbmdfY29uZmxpY3RfbG9nLnR1cGxlID0gTlVMTDsKKwkJCQl9CisJCQkJ aWYgKHBlbmRpbmdfY29uZmxpY3RfbG9nLmVycmNvbnRleHRfc3RyICE9IE5VTEwpCisJCQkJewor CQkJCQlwZnJlZShwZW5kaW5nX2NvbmZsaWN0X2xvZy5lcnJjb250ZXh0X3N0cik7CisJCQkJCXBl bmRpbmdfY29uZmxpY3RfbG9nLmVycmNvbnRleHRfc3RyID0gTlVMTDsKKwkJCQl9CisJCQkJUEdf UkVfVEhST1coKTsKKwkJCX0KKwkJCVBHX0VORF9UUlkoKTsKKwkJfQorCisJCXRhYmxlX2Nsb3Nl KGNvbmZsaWN0bG9ncmVsLCBSb3dFeGNsdXNpdmVMb2NrKTsKKwl9Cit9CisKKy8qCisgKiBQcm9j ZXNzUGVuZGluZ0NvbmZsaWN0TG9nVHVwbGUKKyAqICAgICAgSW5zZXJ0IGFueSBkZWZlcnJlZCBj b25mbGljdCBsb2cgdHVwbGUgaW4gYSBzZXBhcmF0ZSB0cmFuc2FjdGlvbi4KKyAqCisgKiBGb3Ig Y29uZmxpY3RzIHJhaXNlZCBhdCBFUlJPUiBsZXZlbCwgdGhlIGNvbmZsaWN0IGxvZyB0dXBsZSBj YW5ub3QgYmUKKyAqIGluc2VydGVkIGltbWVkaWF0ZWx5IGJlY2F1c2UgdGhlIHN1cnJvdW5kaW5n IHRyYW5zYWN0aW9uIHdpbGwgYWJvcnQuCisgKiBUbyBlbnN1cmUgdGhhdCBjb25mbGljdCBpbmZv cm1hdGlvbiBpcyBub3QgbG9zdCwgc3VjaCB0dXBsZXMgYXJlIHByZXBhcmVkCisgKiBkdXJpbmcg ZXJyb3IgcHJvY2Vzc2luZyAoc2VlIHByZXBhcmVfY29uZmxpY3RfbG9nX3R1cGxlKCkpIGJ1dCB0 aGVpcgorICogaW5zZXJ0aW9uIGlzIGRlZmVycmVkLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMg cmVzcG9uc2libGUgZm9yIGNvbXBsZXRpbmcgdGhhdCBkZWZlcnJlZCBpbnNlcnRpb24gYWZ0ZXIK KyAqIHRoZSBmYWlsaW5nIHRyYW5zYWN0aW9uIGhhcyBiZWVuIGFib3J0ZWQgYW5kIHRoZSBzeXN0 ZW0gaGFzIHJldHVybmVkIHRvIGFuCisgKiBpZGxlIHN0YXRlLiAgSXQgZXhlY3V0ZXMgdGhlIGlu c2VydGlvbiBpbiBhIG5ldywgaW5kZXBlbmRlbnQgdHJhbnNhY3Rpb24sCisgKiBlbnN1cmluZyB0 aGF0IHRoZSBjb25mbGljdCBsb2cgZW50cnkgaXMgZHVyYWJsZSBhbmQgbm90IHJvbGxlZCBiYWNr CisgKiB0b2dldGhlciB3aXRoIHRoZSBmYWlsZWQgYXBwbHkgdHJhbnNhY3Rpb24uCisgKi8KK3Zv aWQKK1Byb2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dUdXBsZSh2b2lkKQoreworCVJlbGF0aW9uCWNv bmZsaWN0bG9ncmVsOworCUNvbmZsaWN0TG9nRGVzdCBkZXN0OworCisJLyogTm90aGluZyB0byBk byAqLworCWlmIChwZW5kaW5nX2NvbmZsaWN0X2xvZy50dXBsZSA9PSBOVUxMKQorCQlyZXR1cm47 CisKKwkvKgorCSAqIEluc2VydCB0aGUgZGVmZXJyZWQgY29uZmxpY3QgbG9nIHR1cGxlIGluIGl0 cyBvd24gdHJhbnNhY3Rpb24uICBBCisJICogZmFpbHVyZSBoZXJlIChlLmcuIGFuIG91dC1vZi1k aXNrLXNwYWNlIGVycm9yKSBpcyB0cmVhdGVkIGxpa2UgYW55CisJICogb3RoZXIgYXBwbHkgZXJy b3IgYW5kIHJhaXNlcyBhbiBFUlJPUjsgc3VjaCBmYWlsdXJlcyBhcmUgZXhwZWN0ZWQgdG8gYmUK KwkgKiByYXJlIGFuZCBwZXJzaXN0ZW50LiAgQ2FsbGVycyBtdXN0IHRoZXJlZm9yZSBoYXZlIGFs cmVhZHkgcmVwb3J0ZWQgKGFuZAorCSAqIGNsZWFyZWQpIGFueSBpbi1wcm9ncmVzcyBhcHBseSBl cnJvciBiZWZvcmUgY2FsbGluZyB0aGlzLCBzbyB0aGF0IHRoaXMKKwkgKiBlcnJvciBkb2VzIG5v dCBtYXNrIHRoZSBvcmlnaW5hbCBvbmUuCisJICovCisJU3RhcnRUcmFuc2FjdGlvbkNvbW1hbmQo KTsKKwlQdXNoQWN0aXZlU25hcHNob3QoR2V0VHJhbnNhY3Rpb25TbmFwc2hvdCgpKTsKKworCS8q CisJICogVGVzdCBob29rOiBwYXVzZSBoZXJlIHNvIGEgVEFQIHRlc3QgY2FuIHRha2UgYSBjb25m bGljdGluZyBsb2NrIG9uIHRoZQorCSAqIGNvbmZsaWN0IGxvZyB0YWJsZSBiZWZvcmUgdGhpcyB0 cmFuc2FjdGlvbiB0cmllcyB0byBvcGVuIGl0LiBTZWUKKwkgKiBzcmMvdGVzdC9zdWJzY3JpcHRp b24vdC8wMzlfcGFfY29uZmxpY3RfbG9nX2xvY2tfd2FpdC5wbC4KKwkgKi8KKwlJTkpFQ1RJT05f UE9JTlQoImNsdC1wZW5kaW5nLWZsdXNoLWJlZm9yZS1vcGVuIiwgTlVMTCk7CisKKwkvKiBPcGVu IHRoZSBjb25mbGljdCBsb2cgdGFibGUgYW5kIGluc2VydCB0aGUgdHVwbGUuICovCisJY29uZmxp Y3Rsb2dyZWwgPSBHZXRDb25mbGljdExvZ0Rlc3RBbmRUYWJsZSgmZGVzdCk7CiAKLQllcmVwb3J0 KGVsZXZlbCwKLQkJCWVycmNvZGVfYXBwbHlfY29uZmxpY3QodHlwZSksCi0JCQllcnJtc2coImNv bmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0aW9uIFwiJXMuJXNcIjogY29uZmxpY3Q9JXMiLAotCQkJ CSAgIGdldF9uYW1lc3BhY2VfbmFtZShSZWxhdGlvbkdldE5hbWVzcGFjZShsb2NhbHJlbCkpLAot CQkJCSAgIFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKGxvY2FscmVsKSwKLQkJCQkgICBDb25mbGlj dFR5cGVOYW1lc1t0eXBlXSksCi0JCQllcnJkZXRhaWxfaW50ZXJuYWwoIiVzIiwgZXJyX2RldGFp bC5kYXRhKSk7CisJaWYgKGNvbmZsaWN0bG9ncmVsICE9IE5VTEwpCisJeworCQlJbnNlcnRDb25m bGljdExvZ1R1cGxlKGNvbmZsaWN0bG9ncmVsKTsKKwkJdGFibGVfY2xvc2UoY29uZmxpY3Rsb2dy ZWwsIFJvd0V4Y2x1c2l2ZUxvY2spOworCX0KKwllbHNlCisJeworCQkvKgorCQkgKiBUaGUgY29u ZmxpY3QgbG9nIHRhYmxlIHdhcyBkcm9wcGVkIGNvbmN1cnJlbnRseSAoZS5nLiBieSBhbiBBTFRF UgorCQkgKiBTVUJTQ1JJUFRJT04gdGhhdCBjaGFuZ2VkIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlv bikgYWZ0ZXIgdGhlCisJCSAqIGNvbmZsaWN0IHdhcyBhbHJlYWR5IHJlcG9ydGVkIHRvIHRoZSBz ZXJ2ZXIgbG9nIGJ5CisJCSAqIFJlcG9ydEFwcGx5Q29uZmxpY3QoKS4gIE5vdGhpbmcgbW9yZSB0 byBkbzsganVzdCBkaXNjYXJkIHRoZQorCQkgKiBwcmVwYXJlZCB0dXBsZSBhbmQgaXRzIGNvbnRl eHQgc3RyaW5nLgorCQkgKi8KKwkJaGVhcF9mcmVldHVwbGUocGVuZGluZ19jb25mbGljdF9sb2cu dHVwbGUpOworCQlwZW5kaW5nX2NvbmZsaWN0X2xvZy50dXBsZSA9IE5VTEw7CisJCWlmIChwZW5k aW5nX2NvbmZsaWN0X2xvZy5lcnJjb250ZXh0X3N0cikKKwkJeworCQkJcGZyZWUocGVuZGluZ19j b25mbGljdF9sb2cuZXJyY29udGV4dF9zdHIpOworCQkJcGVuZGluZ19jb25mbGljdF9sb2cuZXJy Y29udGV4dF9zdHIgPSBOVUxMOworCQl9CisJfQorCisJUG9wQWN0aXZlU25hcHNob3QoKTsKKwlD b21taXRUcmFuc2FjdGlvbkNvbW1hbmQoKTsKIH0KIAogLyoKQEAgLTMzNSw2ICs1ODIsOTggQEAg SW5pdENvbmZsaWN0SW5kZXhlcyhSZXN1bHRSZWxJbmZvICpyZWxJbmZvKQogCXJlbEluZm8tPnJp X29uQ29uZmxpY3RBcmJpdGVySW5kZXhlcyA9IHVuaXF1ZUluZGV4ZXM7CiB9CiAKKy8qCisgKiBH ZXRDb25mbGljdExvZ0Rlc3RBbmRUYWJsZQorICoKKyAqIEZldGNoZXMgY29uZmxpY3QgbG9nZ2lu ZyBtZXRhZGF0YSBmcm9tIHRoZSBjYWNoZWQgTXlTdWJzY3JpcHRpb24gcG9pbnRlci4KKyAqIFNl dHMgdGhlIGRlc3RpbmF0aW9uIGVudW0gaW4gKmxvZ19kZXN0IGFuZCwgaWYgYSB0YWJsZSBpcyBv bmUgb2YgdGhlCisgKiBkZXN0aW5hdGlvbnMsIG9wZW5zIGFuZCByZXR1cm5zIHRoZSByZWxhdGlv biBoYW5kbGUgZm9yIHRoZSBjb25mbGljdCBsb2cKKyAqIHRhYmxlLgorICoKKyAqIFRoZSB0YWJs ZSBpcyBvcGVuZWQgd2l0aCB0cnlfdGFibGVfb3BlbigpLCBzbyBOVUxMIGlzIHJldHVybmVkIGlm IHRoZQorICogY29uZmxpY3QgbG9nIHRhYmxlIGhhcyBiZWVuIGRyb3BwZWQgY29uY3VycmVudGx5 IChlLmcuIGJ5IGFuIEFMVEVSCisgKiBTVUJTQ1JJUFRJT04gdGhhdCBjaGFuZ2VkIGNvbmZsaWN0 X2xvZ19kZXN0aW5hdGlvbikuICBDYWxsZXJzIG11c3QgdHJlYXQgYQorICogTlVMTCByZXN1bHQg Zm9yIGEgdGFibGUgZGVzdGluYXRpb24gYXMgInRhYmxlIHVuYXZhaWxhYmxlIiBhbmQgZmFsbCBi YWNrIHRvCisgKiBzZXJ2ZXItbG9nIHJlcG9ydGluZyByYXRoZXIgdGhhbiBmYWlsaW5nLgorICov CitSZWxhdGlvbgorR2V0Q29uZmxpY3RMb2dEZXN0QW5kVGFibGUoQ29uZmxpY3RMb2dEZXN0ICps b2dfZGVzdCkKK3sKKwlPaWQJCQljb25mbGljdGxvZ3JlbGlkOworCisJLyoKKwkgKiBDb252ZXJ0 IHRoZSB0ZXh0IGxvZyBkZXN0aW5hdGlvbiB0byB0aGUgaW50ZXJuYWwgZW51bS4gIE15U3Vic2Ny aXB0aW9uCisJICogYWxyZWFkeSBjb250YWlucyB0aGUgZGF0YSBmcm9tIHBnX3N1YnNjcmlwdGlv bi4KKwkgKi8KKwkqbG9nX2Rlc3QgPSBHZXRDb25mbGljdExvZ0Rlc3QoTXlTdWJzY3JpcHRpb24t PmNvbmZsaWN0bG9nZGVzdCk7CisKKwkvKiBRdWljayBleGl0IGlmIGEgY29uZmxpY3QgbG9nIHRh YmxlIHdhcyBub3QgcmVxdWVzdGVkLiAqLworCWlmICghQ09ORkxJQ1RTX0xPR0dFRF9UT19UQUJM RSgqbG9nX2Rlc3QpKQorCQlyZXR1cm4gTlVMTDsKKworCWNvbmZsaWN0bG9ncmVsaWQgPSBNeVN1 YnNjcmlwdGlvbi0+Y29uZmxpY3Rsb2dyZWxpZDsKKworCUFzc2VydChPaWRJc1ZhbGlkKGNvbmZs aWN0bG9ncmVsaWQpKTsKKworCS8qCisJICogVXNlIHRyeV90YWJsZV9vcGVuKCk6IHRoZSB0YWJs ZSBtYXkgaGF2ZSBiZWVuIGRyb3BwZWQgY29uY3VycmVudGx5IGJ5CisJICogYW4gQUxURVIgU1VC U0NSSVBUSU9OIHRoYXQgY2hhbmdlZCBjb25mbGljdF9sb2dfZGVzdGluYXRpb24uICBSZXR1cm5p bmcKKwkgKiBOVUxMIGxldHMgdGhlIGNhbGxlciBmYWxsIGJhY2sgdG8gdGhlIHNlcnZlciBsb2cg aW5zdGVhZCBvZiBmYWlsaW5nLgorCSAqLworCXJldHVybiB0cnlfdGFibGVfb3Blbihjb25mbGlj dGxvZ3JlbGlkLCBSb3dFeGNsdXNpdmVMb2NrKTsKK30KKworLyoKKyAqIEVycm9yIGNvbnRleHQg Y2FsbGJhY2sgZm9yIGZhaWx1cmVzIHdoaWxlIGluc2VydGluZyBpbnRvIHRoZSBjb25mbGljdCBs b2cKKyAqIHRhYmxlLiAgQWRkcyBhIGxpbmUgaWRlbnRpZnlpbmcgdGhlIGNvbmZsaWN0IHRoYXQg d2FzIGJlaW5nIGxvZ2dlZC4KKyAqLworc3RhdGljIHZvaWQKK2NvbmZsaWN0X2xvZ19pbnNlcnRf ZXJyY29udGV4dCh2b2lkICphcmcpCit7CisJY2hhcgkgICAqY3R4ID0gKGNoYXIgKikgYXJnOwor CisJaWYgKGN0eCkKKwkJZXJyY29udGV4dCgiJXMiLCBjdHgpOworfQorCisvKgorICogSW5zZXJ0 Q29uZmxpY3RMb2dUdXBsZQorICoKKyAqIEluc2VydCBjb25mbGljdCBsb2cgdHVwbGUgaW50byB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlLgorICovCit2b2lkCitJbnNlcnRDb25mbGljdExvZ1R1cGxl KFJlbGF0aW9uIGNvbmZsaWN0bG9ncmVsKQoreworCUVycm9yQ29udGV4dENhbGxiYWNrIGVycmNh bGxiYWNrOworCisJLyogQSB2YWxpZCB0dXBsZSBtdXN0IGJlIHByZXBhcmVkIGFuZCBzdG9yZWQg aW4gcGVuZGluZ19jb25mbGljdF9sb2cuICovCisJQXNzZXJ0KHBlbmRpbmdfY29uZmxpY3RfbG9n LnR1cGxlICE9IE5VTEwpOworCisJLyoKKwkgKiBTZXQgdXAgYW4gZXJyb3IgY29udGV4dCBzbyB0 aGF0IGEgZmFpbHVyZSB0byBpbnNlcnQgKGUuZy4gdGhlIGNvbmZsaWN0CisJICogbG9nIHRhYmxl IHdhcyBkcm9wcGVkLCBvciBhbiBvdXQtb2Ytc3BhY2UgZXJyb3IpIGNhcnJpZXMgaW5mb3JtYXRp b24KKwkgKiBpZGVudGlmeWluZyB0aGUgY29uZmxpY3Qgd2Ugd2VyZSB0cnlpbmcgdG8gbG9nLgor CSAqLworCWVycmNhbGxiYWNrLmNhbGxiYWNrID0gY29uZmxpY3RfbG9nX2luc2VydF9lcnJjb250 ZXh0OworCWVycmNhbGxiYWNrLmFyZyA9IHBlbmRpbmdfY29uZmxpY3RfbG9nLmVycmNvbnRleHRf c3RyOworCWVycmNhbGxiYWNrLnByZXZpb3VzID0gZXJyb3JfY29udGV4dF9zdGFjazsKKwllcnJv cl9jb250ZXh0X3N0YWNrID0gJmVycmNhbGxiYWNrOworCisJaGVhcF9pbnNlcnQoY29uZmxpY3Rs b2dyZWwsIHBlbmRpbmdfY29uZmxpY3RfbG9nLnR1cGxlLAorCQkJCUdldEN1cnJlbnRDb21tYW5k SWQodHJ1ZSksIDAsIE5VTEwpOworCisJZXJyb3JfY29udGV4dF9zdGFjayA9IGVycmNhbGxiYWNr LnByZXZpb3VzOworCisJLyogRnJlZSB0aGUgY29uZmxpY3QgbG9nIHR1cGxlIGFuZCBpdHMgY29u dGV4dCBzdHJpbmcuICovCisJaGVhcF9mcmVldHVwbGUocGVuZGluZ19jb25mbGljdF9sb2cudHVw bGUpOworCXBlbmRpbmdfY29uZmxpY3RfbG9nLnR1cGxlID0gTlVMTDsKKwlpZiAocGVuZGluZ19j b25mbGljdF9sb2cuZXJyY29udGV4dF9zdHIpCisJeworCQlwZnJlZShwZW5kaW5nX2NvbmZsaWN0 X2xvZy5lcnJjb250ZXh0X3N0cik7CisJCXBlbmRpbmdfY29uZmxpY3RfbG9nLmVycmNvbnRleHRf c3RyID0gTlVMTDsKKwl9Cit9CisKIC8qCiAgKiBBZGQgU1FMU1RBVEUgZXJyb3IgY29kZSB0byB0 aGUgY3VycmVudCBjb25mbGljdCByZXBvcnQuCiAgKi8KQEAgLTc2OCw2ICsxMTA3LDQwIEBAIGdl dF90dXBsZV9kZXNjKEVTdGF0ZSAqZXN0YXRlLCBSZXN1bHRSZWxJbmZvICpyZWxpbmZvLCBDb25m bGljdFR5cGUgdHlwZSwKIAl9CiB9CiAKKy8qCisgKiBIZWxwZXIgZnVuY3Rpb24gdG8gZXh0cmFj dCB0aGUgInJhdyIgaW5kZXgga2V5IERhdHVtcyBhbmQgdGhlaXIgbnVsbCBmbGFncworICogZnJv bSBhIFR1cGxlVGFibGVTbG90LCBnaXZlbiBhbiBhbHJlYWR5IG9wZW4gaW5kZXggZGVzY3JpcHRv ci4KKyAqIFRoaXMgaXMgdGhlIHJldXNhYmxlIGNvcmUgbG9naWMuCisgKi8KK3N0YXRpYyB2b2lk CitidWlsZF9pbmRleF9kYXR1bXNfZnJvbV9zbG90KEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiBs b2NhbHJlbCwKKwkJCQkJCQkgVHVwbGVUYWJsZVNsb3QgKnNsb3QsCisJCQkJCQkJIFJlbGF0aW9u IGluZGV4RGVzYywgRGF0dW0gKnZhbHVlcywKKwkJCQkJCQkgYm9vbCAqaXNudWxsKQoreworCVR1 cGxlVGFibGVTbG90ICp0YWJsZXNsb3QgPSBzbG90OworCisJLyoKKwkgKiBJZiB0aGUgc2xvdCBp cyBhIHZpcnR1YWwgc2xvdCwgY29weSBpdCBpbnRvIGEgaGVhcCB0dXBsZSBzbG90IGFzCisJICog Rm9ybUluZGV4RGF0dW0gb25seSB3b3JrcyB3aXRoIGhlYXAgdHVwbGUgc2xvdHMuCisJICovCisJ aWYgKFRUU19JU19WSVJUVUFMKHNsb3QpKQorCXsKKwkJLyogU2xvdCBpcyBjcmVhdGVkIHdpdGhp biB0aGUgRVN0YXRlJ3MgdHVwbGUgdGFibGUgKi8KKwkJdGFibGVzbG90ID0gdGFibGVfc2xvdF9j cmVhdGUobG9jYWxyZWwsICZlc3RhdGUtPmVzX3R1cGxlVGFibGUpOworCQl0YWJsZXNsb3QgPSBF eGVjQ29weVNsb3QodGFibGVzbG90LCBzbG90KTsKKwl9CisKKwkvKgorCSAqIEluaXRpYWxpemUg ZWN4dF9zY2FudHVwbGUgZm9yIHBvdGVudGlhbCB1c2UgaW4gRm9ybUluZGV4RGF0dW0KKwkgKi8K KwlHZXRQZXJUdXBsZUV4cHJDb250ZXh0KGVzdGF0ZSktPmVjeHRfc2NhbnR1cGxlID0gdGFibGVz bG90OworCisJLyogRm9ybSB0aGUgaW5kZXggZGF0dW1zICovCisJRm9ybUluZGV4RGF0dW0oQnVp bGRJbmRleEluZm8oaW5kZXhEZXNjKSwgdGFibGVzbG90LCBlc3RhdGUsIHZhbHVlcywKKwkJCQkg ICBpc251bGwpOworfQorCiAvKgogICogSGVscGVyIGZ1bmN0aW9ucyB0byBjb25zdHJ1Y3QgYSBz dHJpbmcgZGVzY3JpYmluZyB0aGUgY29udGVudHMgb2YgYW4gaW5kZXgKICAqIGVudHJ5LiBTZWUg QnVpbGRJbmRleFZhbHVlRGVzY3JpcHRpb24gZm9yIGRldGFpbHMuCkBAIC03ODMsNDEgKzExNTYs MzU5IEBAIGJ1aWxkX2luZGV4X3ZhbHVlX2Rlc2MoRVN0YXRlICplc3RhdGUsIFJlbGF0aW9uIGxv Y2FscmVsLCBUdXBsZVRhYmxlU2xvdCAqc2xvdCwKIAlSZWxhdGlvbglpbmRleERlc2M7CiAJRGF0 dW0JCXZhbHVlc1tJTkRFWF9NQVhfS0VZU107CiAJYm9vbAkJaXNudWxsW0lOREVYX01BWF9LRVlT XTsKLQlUdXBsZVRhYmxlU2xvdCAqdGFibGVzbG90ID0gc2xvdDsKIAotCWlmICghdGFibGVzbG90 KQorCWlmICghc2xvdCkKIAkJcmV0dXJuIE5VTEw7CiAKIAlBc3NlcnQoQ2hlY2tSZWxhdGlvbk9p ZExvY2tlZEJ5TWUoaW5kZXhvaWQsIFJvd0V4Y2x1c2l2ZUxvY2ssIHRydWUpKTsKIAogCWluZGV4 RGVzYyA9IGluZGV4X29wZW4oaW5kZXhvaWQsIE5vTG9jayk7CiAKLQkvKgotCSAqIElmIHRoZSBz bG90IGlzIGEgdmlydHVhbCBzbG90LCBjb3B5IGl0IGludG8gYSBoZWFwIHR1cGxlIHNsb3QgYXMK LQkgKiBGb3JtSW5kZXhEYXR1bSBvbmx5IHdvcmtzIHdpdGggaGVhcCB0dXBsZSBzbG90cy4KLQkg Ki8KLQlpZiAoVFRTX0lTX1ZJUlRVQUwoc2xvdCkpCisJYnVpbGRfaW5kZXhfZGF0dW1zX2Zyb21f c2xvdChlc3RhdGUsIGxvY2FscmVsLCBzbG90LCBpbmRleERlc2MsIHZhbHVlcywKKwkJCQkJCQkJ IGlzbnVsbCk7CisKKwlpbmRleF92YWx1ZSA9IEJ1aWxkSW5kZXhWYWx1ZURlc2NyaXB0aW9uKGlu ZGV4RGVzYywgdmFsdWVzLCBpc251bGwpOworCisJaW5kZXhfY2xvc2UoaW5kZXhEZXNjLCBOb0xv Y2spOworCisJcmV0dXJuIGluZGV4X3ZhbHVlOworfQorCisvKgorICogdHVwbGVfdGFibGVfc2xv dF90b19qc29uX2RhdHVtCisgKgorICogSGVscGVyIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYSBUdXBs ZVRhYmxlU2xvdCB0byBKU09OLgorICovCitzdGF0aWMgRGF0dW0KK3R1cGxlX3RhYmxlX3Nsb3Rf dG9fanNvbl9kYXR1bShUdXBsZVRhYmxlU2xvdCAqc2xvdCkKK3sKKwlIZWFwVHVwbGUJdHVwbGU7 CisJRGF0dW0JCWRhdHVtOworCURhdHVtCQlqc29uOworCisJQXNzZXJ0KHNsb3QgIT0gTlVMTCk7 CisKKwl0dXBsZSA9IEV4ZWNDb3B5U2xvdEhlYXBUdXBsZShzbG90KTsKKwlkYXR1bSA9IGhlYXBf Y29weV90dXBsZV9hc19kYXR1bSh0dXBsZSwgc2xvdC0+dHRzX3R1cGxlRGVzY3JpcHRvcik7CisK Kwlqc29uID0gRGlyZWN0RnVuY3Rpb25DYWxsMShyb3dfdG9fanNvbiwgZGF0dW0pOworCWhlYXBf ZnJlZXR1cGxlKHR1cGxlKTsKKworCXJldHVybiBqc29uOworfQorCisvKgorICogdHVwbGVfdGFi bGVfc2xvdF90b19pbmRleHR1cF9qc29uCisgKgorICogRmV0Y2ggcmVwbGljYSBpZGVudGl0eSBr ZXkgZnJvbSB0aGUgdHVwbGUgdGFibGUgc2xvdCBhbmQgY29udmVydCBpbnRvIGEKKyAqIEpTT04g ZGF0dW0uCisgKi8KK3N0YXRpYyBEYXR1bQordHVwbGVfdGFibGVfc2xvdF90b19pbmRleHR1cF9q c29uKEVTdGF0ZSAqZXN0YXRlLCBSZWxhdGlvbiBsb2NhbHJlbCwKKwkJCQkJCQkJICBPaWQgaW5k ZXhpZCwgVHVwbGVUYWJsZVNsb3QgKnNsb3QpCit7CisJUmVsYXRpb24JaW5kZXhEZXNjOworCURh dHVtCQl2YWx1ZXNbSU5ERVhfTUFYX0tFWVNdOworCWJvb2wJCWlzbnVsbFtJTkRFWF9NQVhfS0VZ U107CisJSGVhcFR1cGxlCXR1cGxlOworCVR1cGxlRGVzYwl0dXBkZXNjOworCURhdHVtCQlkYXR1 bTsKKworCUFzc2VydChzbG90ICE9IE5VTEwpOworCisJQXNzZXJ0KENoZWNrUmVsYXRpb25PaWRM b2NrZWRCeU1lKGluZGV4aWQsIFJvd0V4Y2x1c2l2ZUxvY2ssIHRydWUpKTsKKworCWluZGV4RGVz YyA9IGluZGV4X29wZW4oaW5kZXhpZCwgTm9Mb2NrKTsKKworCWJ1aWxkX2luZGV4X2RhdHVtc19m cm9tX3Nsb3QoZXN0YXRlLCBsb2NhbHJlbCwgc2xvdCwgaW5kZXhEZXNjLCB2YWx1ZXMsCisJCQkJ CQkJCSBpc251bGwpOworCXR1cGRlc2MgPSBDcmVhdGVUdXBsZURlc2NDb3B5KFJlbGF0aW9uR2V0 RGVzY3IoaW5kZXhEZXNjKSk7CisKKwkvKiBCbGVzcyB0aGUgdHVwZGVzYyBzbyBpdCBjYW4gYmUg bG9va2VkIHVwIGJ5IHJvd190b19qc29uLiAqLworCUJsZXNzVHVwbGVEZXNjKHR1cGRlc2MpOwor CisJLyogRm9ybSB0aGUgcmVwbGljYSBpZGVudGl0eSB0dXBsZS4gKi8KKwl0dXBsZSA9IGhlYXBf Zm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMsIGlzbnVsbCk7CisJZGF0dW0gPSBoZWFwX2NvcHlf dHVwbGVfYXNfZGF0dW0odHVwbGUsIHR1cGRlc2MpOworCisJaGVhcF9mcmVldHVwbGUodHVwbGUp OworCUZyZWVUdXBsZURlc2ModHVwZGVzYyk7CisJaW5kZXhfY2xvc2UoaW5kZXhEZXNjLCBOb0xv Y2spOworCisJLyogQ29udmVydCB0byBhIEpTT04gZGF0dW0uICovCisJcmV0dXJuIERpcmVjdEZ1 bmN0aW9uQ2FsbDEocm93X3RvX2pzb24sIGRhdHVtKTsKK30KKworLyoKKyAqIGJ1aWxkX2NvbmZs aWN0X3R1cGxlZGVzYworICoKKyAqIEJ1aWxkIGFuZCBibGVzcyBhIHR1cGxlIGRlc2NyaXB0b3Ig Zm9yIHRoZSBjb25mbGljdCBsb2cgdGFibGUgYmFzZWQgb24gdGhlCisgKiBwcmVkZWZpbmVkIExv Y2FsQ29uZmxpY3RTY2hlbWEuCisgKi8KK3N0YXRpYyBUdXBsZURlc2MKK2J1aWxkX2NvbmZsaWN0 X3R1cGxlZGVzYyh2b2lkKQoreworCXN0YXRpYyBUdXBsZURlc2MgY2FjaGVkX3R1cGRlc2MgPSBO VUxMOworCisJaWYgKGNhY2hlZF90dXBkZXNjID09IE5VTEwpCiAJewotCQl0YWJsZXNsb3QgPSB0 YWJsZV9zbG90X2NyZWF0ZShsb2NhbHJlbCwgJmVzdGF0ZS0+ZXNfdHVwbGVUYWJsZSk7Ci0JCXRh Ymxlc2xvdCA9IEV4ZWNDb3B5U2xvdCh0YWJsZXNsb3QsIHNsb3QpOworCQlNZW1vcnlDb250ZXh0 IG9sZGN4dDsKKworCQlvbGRjeHQgPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQ2FjaGVNZW1vcnlD b250ZXh0KTsKKworCQljYWNoZWRfdHVwZGVzYyA9IENyZWF0ZVRlbXBsYXRlVHVwbGVEZXNjKE5V TV9MT0NBTF9DT05GTElDVF9BVFRSUyk7CisKKwkJZm9yIChpbnQgaSA9IDA7IGkgPCBOVU1fTE9D QUxfQ09ORkxJQ1RfQVRUUlM7IGkrKykKKwkJCVR1cGxlRGVzY0luaXRFbnRyeShjYWNoZWRfdHVw ZGVzYywKKwkJCQkJCQkgICAoQXR0ck51bWJlcikgKGkgKyAxKSwKKwkJCQkJCQkgICBMb2NhbENv bmZsaWN0U2NoZW1hW2ldLmF0dG5hbWUsCisJCQkJCQkJICAgTG9jYWxDb25mbGljdFNjaGVtYVtp XS5hdHR0eXBpZCwKKwkJCQkJCQkgICAtMSwgMCk7CisKKwkJVHVwbGVEZXNjRmluYWxpemUoY2Fj aGVkX3R1cGRlc2MpOworCisJCS8qCisJCSAqIEJsZXNzIG9uY2Ugc28gaXQgY2FuIGJlIHVzZWQg YXMgYSBSRUNPUkQgdHlwZSAoZS5nLiBmb3Igcm93X3RvX2pzb24KKwkJICogb3Igb3RoZXIgcmVj b3JkLWJhc2VkIG9wZXJhdGlvbnMpLgorCQkgKi8KKwkJQmxlc3NUdXBsZURlc2MoY2FjaGVkX3R1 cGRlc2MpOworCisJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjeHQpOwogCX0KIAotCS8qCi0J ICogSW5pdGlhbGl6ZSBlY3h0X3NjYW50dXBsZSBmb3IgcG90ZW50aWFsIHVzZSBpbiBGb3JtSW5k ZXhEYXR1bSB3aGVuCi0JICogaW5kZXggZXhwcmVzc2lvbnMgYXJlIHByZXNlbnQuCi0JICovCi0J R2V0UGVyVHVwbGVFeHByQ29udGV4dChlc3RhdGUpLT5lY3h0X3NjYW50dXBsZSA9IHRhYmxlc2xv dDsKKwlyZXR1cm4gY2FjaGVkX3R1cGRlc2M7Cit9CiAKLQkvKgotCSAqIFRoZSB2YWx1ZXMvbnVs bHMgYXJyYXlzIHBhc3NlZCB0byBCdWlsZEluZGV4VmFsdWVEZXNjcmlwdGlvbiBzaG91bGQgYmUK LQkgKiB0aGUgcmVzdWx0cyBvZiBGb3JtSW5kZXhEYXR1bSwgd2hpY2ggYXJlIHRoZSAicmF3IiBp bnB1dCB0byB0aGUgaW5kZXgKLQkgKiBBTS4KLQkgKi8KLQlGb3JtSW5kZXhEYXR1bShCdWlsZElu ZGV4SW5mbyhpbmRleERlc2MpLCB0YWJsZXNsb3QsIGVzdGF0ZSwgdmFsdWVzLCBpc251bGwpOwor LyoKKyAqIEJ1aWxkcyB0aGUgbG9jYWwgY29uZmxpY3RzIEpTT04gYXJyYXkgY29sdW1uIGZyb20g dGhlIGxpc3Qgb2YKKyAqIENvbmZsaWN0VHVwbGVJbmZvIG9iamVjdHMuCisgKgorICogRXhhbXBs ZSBvdXRwdXQgc3RydWN0dXJlOgorICogWyB7ICJ4aWQiOiAiMTAwMSIsICJjb21taXRfdHMiOiAi Li4uIiwgIm9yaWdpbiI6ICIuLi4iLCAidHVwbGUiOiB7Li4ufSB9LCAuLi4gXQorICovCitzdGF0 aWMgRGF0dW0KK2J1aWxkX2xvY2FsX2NvbmZsaWN0c19qc29uX2FycmF5KEVTdGF0ZSAqZXN0YXRl LCBSZWxhdGlvbiByZWwsCisJCQkJCQkJCSBDb25mbGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJ CQkJCQkJIExpc3QgKmNvbmZsaWN0dHVwbGVzKQoreworCUxpc3RDZWxsICAgKmxjOworCUxpc3QJ ICAgKmpzb25fZGF0dW1zID0gTklMOworCURhdHVtCSAgICpqc29uX2RhdHVtX2FycmF5OworCURh dHVtCQlqc29uX2FycmF5X2RhdHVtOworCWludAkJCW51bV9jb25mbGljdHM7CisJaW50CQkJaTsK KwlpbnQxNgkJdHlwbGVuOworCWJvb2wJCXR5cGJ5dmFsOworCWNoYXIJCXR5cGFsaWduOworCVR1 cGxlRGVzYwl0dXBkZXNjOwogCi0JaW5kZXhfdmFsdWUgPSBCdWlsZEluZGV4VmFsdWVEZXNjcmlw dGlvbihpbmRleERlc2MsIHZhbHVlcywgaXNudWxsKTsKKwkvKiBCdWlsZCBsb2NhbCBjb25mbGlj dHMgdHVwbGUgZGVzY3JpcHRvci4gKi8KKwl0dXBkZXNjID0gYnVpbGRfY29uZmxpY3RfdHVwbGVk ZXNjKCk7CiAKLQlpbmRleF9jbG9zZShpbmRleERlc2MsIE5vTG9jayk7CisJLyogUHJvY2VzcyBs b2NhbCBjb25mbGljdCB0dXBsZSBsaXN0IGFuZCBwcmVwYXJlIGFuIGFycmF5IG9mIEpTT04uICov CisJZm9yZWFjaF9wdHIoQ29uZmxpY3RUdXBsZUluZm8sIGNvbmZsaWN0dHVwbGUsIGNvbmZsaWN0 dHVwbGVzKQorCXsKKwkJRGF0dW0JCXZhbHVlc1tOVU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlNdID0g ezB9OworCQlib29sCQludWxsc1tOVU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlNdID0gezB9OworCQlj aGFyCSAgICpvcmlnaW5fbmFtZSA9IE5VTEw7CisJCUhlYXBUdXBsZQl0dXBsZTsKKwkJRGF0dW0J CWpzb25fZGF0dW07CisJCWludAkJCWF0dG5vOworCisJCWF0dG5vID0gMDsKKwkJdmFsdWVzW2F0 dG5vKytdID0gVHJhbnNhY3Rpb25JZEdldERhdHVtKGNvbmZsaWN0dHVwbGUtPnhtaW4pOworCisJ CWlmIChjb25mbGljdHR1cGxlLT50cykKKwkJCXZhbHVlc1thdHRubysrXSA9IFRpbWVzdGFtcFR6 R2V0RGF0dW0oY29uZmxpY3R0dXBsZS0+dHMpOworCQllbHNlCisJCQludWxsc1thdHRubysrXSA9 IHRydWU7CiAKLQlyZXR1cm4gaW5kZXhfdmFsdWU7CisJCWlmIChjb25mbGljdHR1cGxlLT5vcmln aW4gIT0gSW52YWxpZFJlcGxPcmlnaW5JZCkKKwkJCXJlcGxvcmlnaW5fYnlfb2lkKGNvbmZsaWN0 dHVwbGUtPm9yaWdpbiwgdHJ1ZSwgJm9yaWdpbl9uYW1lKTsKKworCQkvKiBTdG9yZSBlbXB0eSBz dHJpbmcgaWYgb3JpZ2luIG5hbWUgZm9yIHRoZSB0dXBsZSBpcyBOVUxMLiAqLworCQlpZiAob3Jp Z2luX25hbWUgIT0gTlVMTCkKKwkJCXZhbHVlc1thdHRubysrXSA9IENTdHJpbmdHZXRUZXh0RGF0 dW0ob3JpZ2luX25hbWUpOworCQllbHNlCisJCQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwkJ LyoKKwkJICogQWRkIHRoZSBjb25mbGljdGluZyBrZXkgdmFsdWVzIGluIHRoZSBjYXNlIG9mIGEg dW5pcXVlIGNvbnN0cmFpbnQKKwkJICogdmlvbGF0aW9uLgorCQkgKi8KKwkJaWYgKGNvbmZsaWN0 X3R5cGUgPT0gQ1RfSU5TRVJUX0VYSVNUUyB8fAorCQkJY29uZmxpY3RfdHlwZSA9PSBDVF9VUERB VEVfRVhJU1RTIHx8CisJCQljb25mbGljdF90eXBlID09IENUX01VTFRJUExFX1VOSVFVRV9DT05G TElDVFMpCisJCXsKKwkJCU9pZAkJCWluZGV4b2lkID0gY29uZmxpY3R0dXBsZS0+aW5kZXhvaWQ7 CisKKwkJCUFzc2VydChPaWRJc1ZhbGlkKGluZGV4b2lkKSAmJiBjb25mbGljdHR1cGxlLT5zbG90 ICYmCisJCQkJICAgQ2hlY2tSZWxhdGlvbk9pZExvY2tlZEJ5TWUoaW5kZXhvaWQsIFJvd0V4Y2x1 c2l2ZUxvY2ssCisJCQkJCQkJCQkJCSAgdHJ1ZSkpOworCQkJdmFsdWVzW2F0dG5vKytdID0KKwkJ CQl0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVwX2pzb24oZXN0YXRlLCByZWwsCisJCQkJCQkJ CQkJCQkgIGluZGV4b2lkLAorCQkJCQkJCQkJCQkJICBjb25mbGljdHR1cGxlLT5zbG90KTsKKwkJ fQorCQllbHNlCisJCQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwkJLyogQ29udmVydCBjb25m bGljdGluZyB0dXBsZSB0byBKU09OIGRhdHVtLiAqLworCQlpZiAoY29uZmxpY3R0dXBsZS0+c2xv dCkKKwkJCXZhbHVlc1thdHRub10gPSB0dXBsZV90YWJsZV9zbG90X3RvX2pzb25fZGF0dW0oY29u ZmxpY3R0dXBsZS0+c2xvdCk7CisJCWVsc2UKKwkJCW51bGxzW2F0dG5vXSA9IHRydWU7CisKKwkJ QXNzZXJ0KGF0dG5vICsgMSA9PSBOVU1fTE9DQUxfQ09ORkxJQ1RfQVRUUlMpOworCisJCXR1cGxl ID0gaGVhcF9mb3JtX3R1cGxlKHR1cGRlc2MsIHZhbHVlcywgbnVsbHMpOworCisJCWpzb25fZGF0 dW0gPSBoZWFwX2NvcHlfdHVwbGVfYXNfZGF0dW0odHVwbGUsIHR1cGRlc2MpOworCisJCS8qCisJ CSAqIEJ1aWxkIHRoZSBoaWdoZXIgbGV2ZWwgSlNPTiBkYXR1bSBpbiBmb3JtYXQgZGVzY3JpYmVk IGluIGZ1bmN0aW9uCisJCSAqIGhlYWRlci4KKwkJICovCisJCWpzb25fZGF0dW0gPSBEaXJlY3RG dW5jdGlvbkNhbGwxKHJvd190b19qc29uLCBqc29uX2RhdHVtKTsKKworCQkvKiBEb25lIHdpdGgg dGhlIHRlbXBvcmFyeSB0dXBsZS4gKi8KKwkJaGVhcF9mcmVldHVwbGUodHVwbGUpOworCisJCS8q IEFkZCB0byB0aGUgYXJyYXkgZWxlbWVudC4gKi8KKwkJanNvbl9kYXR1bXMgPSBsYXBwZW5kKGpz b25fZGF0dW1zLCAodm9pZCAqKSBqc29uX2RhdHVtKTsKKwl9CisKKwludW1fY29uZmxpY3RzID0g bGlzdF9sZW5ndGgoanNvbl9kYXR1bXMpOworCisJanNvbl9kYXR1bV9hcnJheSA9IHBhbGxvY19h cnJheShEYXR1bSwgbnVtX2NvbmZsaWN0cyk7CisKKwlpID0gMDsKKwlmb3JlYWNoKGxjLCBqc29u X2RhdHVtcykKKwl7CisJCWpzb25fZGF0dW1fYXJyYXlbaV0gPSAoRGF0dW0pIGxmaXJzdChsYyk7 CisJCWkrKzsKKwl9CisKKwkvKiBDb25zdHJ1Y3QgdGhlIEpTT04gYXJyYXkgRGF0dW0uICovCisJ Z2V0X3R5cGxlbmJ5dmFsYWxpZ24oSlNPTk9JRCwgJnR5cGxlbiwgJnR5cGJ5dmFsLCAmdHlwYWxp Z24pOworCWpzb25fYXJyYXlfZGF0dW0gPSBQb2ludGVyR2V0RGF0dW0oY29uc3RydWN0X2FycmF5 KGpzb25fZGF0dW1fYXJyYXksCisJCQkJCQkJCQkJCQkJICAgbnVtX2NvbmZsaWN0cywKKwkJCQkJ CQkJCQkJCQkgICBKU09OT0lELAorCQkJCQkJCQkJCQkJCSAgIHR5cGxlbiwKKwkJCQkJCQkJCQkJ CQkgICB0eXBieXZhbCwKKwkJCQkJCQkJCQkJCQkgICB0eXBhbGlnbikpOworCXBmcmVlKGpzb25f ZGF0dW1fYXJyYXkpOworCisJcmV0dXJuIGpzb25fYXJyYXlfZGF0dW07Cit9CisKKy8qCisgKiBw cmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZQorICoKKyAqIFRoaXMgcm91dGluZSBwcmVwYXJlcyBh IHR1cGxlIGRldGFpbGluZyBhIGNvbmZsaWN0IGVuY291bnRlcmVkIGR1cmluZworICogbG9naWNh bCByZXBsaWNhdGlvbi4gVGhlIHByZXBhcmVkIHR1cGxlIHdpbGwgYmUgc3RvcmVkIGluCisgKiBw ZW5kaW5nX2NvbmZsaWN0X2xvZy50dXBsZSB3aGljaCBzaG91bGQgYmUgaW5zZXJ0ZWQgaW50byB0 aGUKKyAqIGNvbmZsaWN0IGxvZyB0YWJsZSBieSBjYWxsaW5nIEluc2VydENvbmZsaWN0TG9nVHVw bGUuCisgKi8KK3N0YXRpYyB2b2lkCitwcmVwYXJlX2NvbmZsaWN0X2xvZ190dXBsZShFU3RhdGUg KmVzdGF0ZSwgUmVsYXRpb24gcmVsLAorCQkJCQkJICAgUmVsYXRpb24gY29uZmxpY3Rsb2dyZWws CisJCQkJCQkgICBDb25mbGljdFR5cGUgY29uZmxpY3RfdHlwZSwKKwkJCQkJCSAgIFR1cGxlVGFi bGVTbG90ICpzZWFyY2hzbG90LAorCQkJCQkJICAgTGlzdCAqY29uZmxpY3R0dXBsZXMsCisJCQkJ CQkgICBUdXBsZVRhYmxlU2xvdCAqcmVtb3Rlc2xvdCkKK3sKKwlEYXR1bQkJdmFsdWVzW05VTV9D T05GTElDVF9BVFRSU10gPSB7MH07CisJYm9vbAkJbnVsbHNbTlVNX0NPTkZMSUNUX0FUVFJTXSA9 IHswfTsKKwlpbnQJCQlhdHRubzsKKwljaGFyCSAgICpyZW1vdGVfb3JpZ2luID0gTlVMTDsKKwlN ZW1vcnlDb250ZXh0IG9sZGN0eDsKKworCUFzc2VydChwZW5kaW5nX2NvbmZsaWN0X2xvZy50dXBs ZSA9PSBOVUxMKTsKKworCS8qIFBvcHVsYXRlIHRoZSB2YWx1ZXMgYW5kIG51bGxzIGFycmF5cy4g Ki8KKwlhdHRubyA9IDA7CisJdmFsdWVzW2F0dG5vKytdID0gT2JqZWN0SWRHZXREYXR1bShSZWxh dGlvbkdldFJlbGlkKHJlbCkpOworCisJdmFsdWVzW2F0dG5vKytdID0KKwkJQ1N0cmluZ0dldFRl eHREYXR1bShnZXRfbmFtZXNwYWNlX25hbWUoUmVsYXRpb25HZXROYW1lc3BhY2UocmVsKSkpOwor CisJdmFsdWVzW2F0dG5vKytdID0gQ1N0cmluZ0dldFRleHREYXR1bShSZWxhdGlvbkdldFJlbGF0 aW9uTmFtZShyZWwpKTsKKworCXZhbHVlc1thdHRubysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0o Q29uZmxpY3RUeXBlTmFtZXNbY29uZmxpY3RfdHlwZV0pOworCisJaWYgKFRyYW5zYWN0aW9uSWRJ c1ZhbGlkKHJlbW90ZV94aWQpKQorCQl2YWx1ZXNbYXR0bm8rK10gPSBUcmFuc2FjdGlvbklkR2V0 RGF0dW0ocmVtb3RlX3hpZCk7CisJZWxzZQorCQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwl2 YWx1ZXNbYXR0bm8rK10gPSBMU05HZXREYXR1bShyZW1vdGVfZmluYWxfbHNuKTsKKworCWlmIChy ZW1vdGVfY29tbWl0X3RzID4gMCkKKwkJdmFsdWVzW2F0dG5vKytdID0gVGltZXN0YW1wVHpHZXRE YXR1bShyZW1vdGVfY29tbWl0X3RzKTsKKwllbHNlCisJCW51bGxzW2F0dG5vKytdID0gdHJ1ZTsK KworCWlmIChyZXBsb3JpZ2luX3hhY3Rfc3RhdGUub3JpZ2luICE9IEludmFsaWRSZXBsT3JpZ2lu SWQpCisJCXJlcGxvcmlnaW5fYnlfb2lkKHJlcGxvcmlnaW5feGFjdF9zdGF0ZS5vcmlnaW4sIHRy dWUsICZyZW1vdGVfb3JpZ2luKTsKKworCWlmIChyZW1vdGVfb3JpZ2luICE9IE5VTEwpCisJCXZh bHVlc1thdHRubysrXSA9IENTdHJpbmdHZXRUZXh0RGF0dW0ocmVtb3RlX29yaWdpbik7CisJZWxz ZQorCQludWxsc1thdHRubysrXSA9IHRydWU7CisKKwlpZiAoIVR1cElzTnVsbChzZWFyY2hzbG90 KSkKKwl7CisJCU9pZAkJCXJlcGxpY2FfaW5kZXggPSBHZXRSZWxhdGlvbklkZW50aXR5T3JQSyhy ZWwpOworCisJCS8qCisJCSAqIElmIHRoZSB0YWJsZSBoYXMgYSB2YWxpZCByZXBsaWNhIGlkZW50 aXR5IGluZGV4LCBidWlsZCB0aGUgaW5kZXgKKwkJICogSlNPTiBkYXR1bSBmcm9tIGtleSB2YWx1 ZS4gT3RoZXJ3aXNlLCBjb25zdHJ1Y3QgaXQgZnJvbSB0aGUKKwkJICogY29tcGxldGUgdHVwbGUg aW4gUkVQTElDQSBJREVOVElUWSBGVUxMIGNhc2VzLgorCQkgKi8KKwkJaWYgKE9pZElzVmFsaWQo cmVwbGljYV9pbmRleCkpCisJCXsKKwkJCXZhbHVlc1thdHRubysrXSA9IEJvb2xHZXREYXR1bShm YWxzZSk7CisJCQl2YWx1ZXNbYXR0bm8rK10gPSB0dXBsZV90YWJsZV9zbG90X3RvX2luZGV4dHVw X2pzb24oZXN0YXRlLCByZWwsCisJCQkJCQkJCQkJCQkJCQkJcmVwbGljYV9pbmRleCwKKwkJCQkJ CQkJCQkJCQkJCQlzZWFyY2hzbG90KTsKKwkJfQorCQllbHNlCisJCXsKKwkJCXZhbHVlc1thdHRu bysrXSA9IEJvb2xHZXREYXR1bSh0cnVlKTsKKwkJCXZhbHVlc1thdHRubysrXSA9IHR1cGxlX3Rh YmxlX3Nsb3RfdG9fanNvbl9kYXR1bShzZWFyY2hzbG90KTsKKwkJfQorCX0KKwllbHNlCisJewor CQludWxsc1thdHRubysrXSA9IHRydWU7CisJCW51bGxzW2F0dG5vKytdID0gdHJ1ZTsKKwl9CisK KwlpZiAoIVR1cElzTnVsbChyZW1vdGVzbG90KSkKKwkJdmFsdWVzW2F0dG5vKytdID0gdHVwbGVf dGFibGVfc2xvdF90b19qc29uX2RhdHVtKHJlbW90ZXNsb3QpOworCWVsc2UKKwkJbnVsbHNbYXR0 bm8rK10gPSB0cnVlOworCisJdmFsdWVzW2F0dG5vXSA9IGJ1aWxkX2xvY2FsX2NvbmZsaWN0c19q c29uX2FycmF5KGVzdGF0ZSwgcmVsLAorCQkJCQkJCQkJCQkJCSBjb25mbGljdF90eXBlLAorCQkJ CQkJCQkJCQkJCSBjb25mbGljdHR1cGxlcyk7CisKKwlBc3NlcnQoYXR0bm8gKyAxID09IE5VTV9D T05GTElDVF9BVFRSUyk7CisKKwlvbGRjdHggPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlD b250ZXh0KTsKKwlwZW5kaW5nX2NvbmZsaWN0X2xvZy50dXBsZSA9CisJCWhlYXBfZm9ybV90dXBs ZShSZWxhdGlvbkdldERlc2NyKGNvbmZsaWN0bG9ncmVsKSwgdmFsdWVzLCBudWxscyk7CisKKwkv KgorCSAqIFN0YXNoIGEgY29udGV4dCBzdHJpbmcgZGVzY3JpYmluZyB0aGlzIGNvbmZsaWN0LCBz byB0aGF0IGlmIGluc2VydGluZworCSAqIHRoZSB0dXBsZSBpbnRvIHRoZSBjb25mbGljdCBsb2cg dGFibGUgZmFpbHMsIHRoZSByZXN1bHRpbmcgZXJyb3IKKwkgKiBjYXJyaWVzIGVub3VnaCBjb250 ZXh0IHRvIGlkZW50aWZ5IHRoZSBjb25mbGljdCAoc2VlCisJICogSW5zZXJ0Q29uZmxpY3RMb2dU dXBsZSkuCisJICovCisJcGVuZGluZ19jb25mbGljdF9sb2cuZXJyY29udGV4dF9zdHIgPQorCQlw c3ByaW50Zigid2hpbGUgbG9nZ2luZyBjb25mbGljdCBcIiVzXCIgZGV0ZWN0ZWQgb24gcmVsYXRp b24gXCIlc1wiIiwKKwkJCQkgQ29uZmxpY3RUeXBlTmFtZXNbY29uZmxpY3RfdHlwZV0sCisJCQkJ IFJlbGF0aW9uR2V0UmVsYXRpb25OYW1lKHJlbCkpOworCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhv bGRjdHgpOwogfQpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93 b3JrZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKaW5kZXgg Nzc5OTI2NmM2MTQuLjA0MmM3MjAzNjE5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNh dGlvbi9sb2dpY2FsL3dvcmtlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2lj YWwvd29ya2VyLmMKQEAgLTQ4Nyw3ICs0ODcsOSBAQCBzdGF0aWMgYm9vbCBNeVN1YnNjcmlwdGlv blZhbGlkID0gZmFsc2U7CiBzdGF0aWMgTGlzdCAqb25fY29tbWl0X3dha2V1cF93b3JrZXJzX3N1 YmlkcyA9IE5JTDsKIAogYm9vbAkJaW5fcmVtb3RlX3RyYW5zYWN0aW9uID0gZmFsc2U7Ci1zdGF0 aWMgWExvZ1JlY1B0ciByZW1vdGVfZmluYWxfbHNuID0gSW52YWxpZFhMb2dSZWNQdHI7CitYTG9n UmVjUHRyCXJlbW90ZV9maW5hbF9sc24gPSBJbnZhbGlkWExvZ1JlY1B0cjsKK1RyYW5zYWN0aW9u SWQgcmVtb3RlX3hpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkOworVGltZXN0YW1wVHogcmVtb3Rl X2NvbW1pdF90cyA9IDA7CiAKIC8qIGZpZWxkcyB2YWxpZCBvbmx5IHdoZW4gcHJvY2Vzc2luZyBz dHJlYW1lZCB0cmFuc2FjdGlvbiAqLwogc3RhdGljIGJvb2wgaW5fc3RyZWFtZWRfdHJhbnNhY3Rp b24gPSBmYWxzZTsKQEAgLTEyMzYsNiArMTIzOCw4IEBAIGFwcGx5X2hhbmRsZV9iZWdpbihTdHJp bmdJbmZvIHMpCiAJc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdChiZWdpbl9kYXRhLnhpZCwg YmVnaW5fZGF0YS5maW5hbF9sc24pOwogCiAJcmVtb3RlX2ZpbmFsX2xzbiA9IGJlZ2luX2RhdGEu ZmluYWxfbHNuOworCXJlbW90ZV9jb21taXRfdHMgPSBiZWdpbl9kYXRhLmNvbW1pdHRpbWU7CisJ cmVtb3RlX3hpZCA9IGJlZ2luX2RhdGEueGlkOwogCiAJbWF5YmVfc3RhcnRfc2tpcHBpbmdfY2hh bmdlcyhiZWdpbl9kYXRhLmZpbmFsX2xzbik7CiAKQEAgLTEyOTYsNiArMTMwMCw4IEBAIGFwcGx5 X2hhbmRsZV9iZWdpbl9wcmVwYXJlKFN0cmluZ0luZm8gcykKIAlzZXRfYXBwbHlfZXJyb3JfY29u dGV4dF94YWN0KGJlZ2luX2RhdGEueGlkLCBiZWdpbl9kYXRhLnByZXBhcmVfbHNuKTsKIAogCXJl bW90ZV9maW5hbF9sc24gPSBiZWdpbl9kYXRhLnByZXBhcmVfbHNuOworCXJlbW90ZV94aWQgPSBi ZWdpbl9kYXRhLnhpZDsKKwlyZW1vdGVfY29tbWl0X3RzID0gMDsKIAogCW1heWJlX3N0YXJ0X3Nr aXBwaW5nX2NoYW5nZXMoYmVnaW5fZGF0YS5wcmVwYXJlX2xzbik7CiAKQEAgLTE3NjcsNiArMTc3 MywxMCBAQCBhcHBseV9oYW5kbGVfc3RyZWFtX3N0YXJ0KFN0cmluZ0luZm8gcykKIAkJCQkoZXJy Y29kZShFUlJDT0RFX1BST1RPQ09MX1ZJT0xBVElPTiksCiAJCQkJIGVycm1zZ19pbnRlcm5hbCgi aW52YWxpZCB0cmFuc2FjdGlvbiBJRCBpbiBzdHJlYW1lZCByZXBsaWNhdGlvbiB0cmFuc2FjdGlv biIpKSk7CiAKKwlyZW1vdGVfeGlkID0gc3RyZWFtX3hpZDsKKwlyZW1vdGVfZmluYWxfbHNuID0g SW52YWxpZFhMb2dSZWNQdHI7CisJcmVtb3RlX2NvbW1pdF90cyA9IDA7CisKIAlzZXRfYXBwbHlf ZXJyb3JfY29udGV4dF94YWN0KHN0cmVhbV94aWQsIEludmFsaWRYTG9nUmVjUHRyKTsKIAogCS8q IFRyeSB0byBhbGxvY2F0ZSBhIHdvcmtlciBmb3IgdGhlIHN0cmVhbWluZyB0cmFuc2FjdGlvbi4g Ki8KQEAgLTI0MjgsNiArMjQzOCw5IEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fY29tbWl0KFN0cmlu Z0luZm8gcykKIAl7CiAJCWNhc2UgVFJBTlNfTEVBREVSX0FQUExZOgogCisJCQkvKiBTZXQgcmVt b3RlX2NvbW1pdF90cyBmb3IgY29uZmxpY3QgbG9nZ2luZy4gKi8KKwkJCXJlbW90ZV9jb21taXRf dHMgPSBjb21taXRfZGF0YS5jb21taXR0aW1lOworCiAJCQkvKgogCQkJICogVGhlIHRyYW5zYWN0 aW9uIGhhcyBiZWVuIHNlcmlhbGl6ZWQgdG8gZmlsZSwgc28gcmVwbGF5IGFsbCB0aGUKIAkJCSAq IHNwb29sZWQgb3BlcmF0aW9ucy4KQEAgLTU2NDcsNiArNTY2MCw5IEBAIHN0YXJ0X2FwcGx5KFhM b2dSZWNQdHIgb3JpZ2luX3N0YXJ0cG9zKQogCX0KIAlQR19DQVRDSCgpOwogCXsKKwkJTWVtb3J5 Q29udGV4dCBvbGRjb250ZXh0OworCQlFcnJvckRhdGEgICplZGF0YTsKKwogCQkvKgogCQkgKiBS ZXNldCB0aGUgb3JpZ2luIHN0YXRlIHRvIHByZXZlbnQgdGhlIGFkdmFuY2VtZW50IG9mIG9yaWdp bgogCQkgKiBwcm9ncmVzcyBpZiB3ZSBmYWlsIHRvIGFwcGx5LiBPdGhlcndpc2UsIHRoaXMgd2ls bCByZXN1bHQgaW4KQEAgLTU2NjAsMTQgKzU2NzYsMzQgQEAgc3RhcnRfYXBwbHkoWExvZ1JlY1B0 ciBvcmlnaW5fc3RhcnRwb3MpCiAJCWVsc2UKIAkJewogCQkJLyoKLQkJCSAqIFJlcG9ydCB0aGUg d29ya2VyIGZhaWxlZCB3aGlsZSBhcHBseWluZyBjaGFuZ2VzLiBBYm9ydCB0aGUKLQkJCSAqIGN1 cnJlbnQgdHJhbnNhY3Rpb24gc28gdGhhdCB0aGUgc3RhdHMgbWVzc2FnZSBpcyBzZW50IGluIGFu Ci0JCQkgKiBpZGxlIHN0YXRlLgorCQkJICogU2F2ZSB0aGUgZXJyb3IgYW5kIHJlY292ZXIgdG8g YW4gaWRsZSBzdGF0ZSBzbyB3ZSBjYW4gaW5zZXJ0CisJCQkgKiB0aGUgZGVmZXJyZWQgY29uZmxp Y3QgbG9nIHR1cGxlIChpZiBhbnkpIGJlZm9yZSByZS10aHJvd2luZy4KKwkJCSAqIENvcHkgdGhl IGVycm9yIGludG8gYSBsb25nLWxpdmVkIGNvbnRleHQgZmlyc3QsIGFzIGl0IG1heSBoYXZlCisJ CQkgKiBiZWVuIHJhaXNlZCB1bmRlciBFcnJvckNvbnRleHQuICBBbHNvIHJlc2V0IHRoZSBlcnJv ciBjb250ZXh0CisJCQkgKiBzdGFjazogdGhlIGNhbGxiYWNrcyBpbiBlZmZlY3Qgd2hlbiB0aGUg ZXJyb3Igd2FzIHRocm93biBiZWxvbmcKKwkJCSAqIHRvIHVud291bmQgc3RhY2sgZnJhbWVzLCBh bmQgdGhlIGRlZmVycmVkIGluc2VydCBpbnN0YWxscyBpdHMKKwkJCSAqIG93bi4KIAkJCSAqLwor CQkJb2xkY29udGV4dCA9IE1lbW9yeUNvbnRleHRTd2l0Y2hUbyhUb3BNZW1vcnlDb250ZXh0KTsK KwkJCWVkYXRhID0gQ29weUVycm9yRGF0YSgpOworCQkJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9s ZGNvbnRleHQpOworCisJCQlGbHVzaEVycm9yU3RhdGUoKTsKKwkJCWVycm9yX2NvbnRleHRfc3Rh Y2sgPSBOVUxMOwogCQkJQWJvcnRPdXRPZkFueVRyYW5zYWN0aW9uKCk7CiAJCQlwZ3N0YXRfcmVw b3J0X3N1YnNjcmlwdGlvbl9lcnJvcihNeVN1YnNjcmlwdGlvbi0+b2lkKTsKIAotCQkJUEdfUkVf VEhST1coKTsKKwkJCS8qCisJCQkgKiBJbnNlcnQgdGhlIGRlZmVycmVkIGNvbmZsaWN0IGxvZyB0 dXBsZSBpbiBpdHMgb3duIHRyYW5zYWN0aW9uLgorCQkJICogSWYgdGhpcyBmYWlscywgdGhhdCBl cnJvciAoYW5ub3RhdGVkIHdpdGggdGhlIGNvbmZsaWN0IGNvbnRleHQsCisJCQkgKiBzZWUgSW5z ZXJ0Q29uZmxpY3RMb2dUdXBsZSkgcHJvcGFnYXRlcyBpbnN0ZWFkIG9mIHRoZSBvcmlnaW5hbDsK KwkJCSAqIHN1Y2ggZmFpbHVyZXMgYXJlIGV4cGVjdGVkIHRvIGJlIHJhcmUgYW5kIHBlcnNpc3Rl bnQgKGUuZy4gb3V0CisJCQkgKiBvZiBkaXNrIHNwYWNlKS4KKwkJCSAqLworCQkJUHJvY2Vzc1Bl bmRpbmdDb25mbGljdExvZ1R1cGxlKCk7CisKKwkJCS8qIFJlLXRocm93IHRoZSBvcmlnaW5hbCBl cnJvci4gKi8KKwkJCVJlVGhyb3dFcnJvcihlZGF0YSk7CiAJCX0KIAl9CiAJUEdfRU5EX1RSWSgp OwpAQCAtNjAzNCw2ICs2MDcwLDE0IEBAIERpc2FibGVTdWJzY3JpcHRpb25BbmRFeGl0KHZvaWQp CiAKIAlSRVNVTUVfSU5URVJSVVBUUygpOwogCisJLyoKKwkgKiBUaGUgZXJyb3IgY29udGV4dCBj YWxsYmFja3MgaW4gZWZmZWN0IHdoZW4gdGhlIGVycm9yIHdhcyB0aHJvd24gYmVsb25nCisJICog dG8gbm93LXVud291bmQgc3RhY2sgZnJhbWVzOyByZXNldCB0aGUgc3RhY2sgYmVmb3JlIHJ1bm5p bmcgZnVydGhlcgorCSAqIGNvZGUgKGluY2x1ZGluZyB0aGUgZGVmZXJyZWQgY29uZmxpY3QgbG9n IGluc2VydGlvbiwgd2hpY2ggaW5zdGFsbHMgaXRzCisJICogb3duKS4KKwkgKi8KKwllcnJvcl9j b250ZXh0X3N0YWNrID0gTlVMTDsKKwogCS8qCiAJICogUmVwb3J0IHRoZSB3b3JrZXIgZmFpbGVk IGR1cmluZyBzZXF1ZW5jZSBzeW5jaHJvbml6YXRpb24sIHRhYmxlCiAJICogc3luY2hyb25pemF0 aW9uLCBvciBhcHBseS4KQEAgLTYwNjIsNiArNjEwNiwxOSBAQCBEaXNhYmxlU3Vic2NyaXB0aW9u QW5kRXhpdCh2b2lkKQogCQkJZXJybXNnKCJzdWJzY3JpcHRpb24gXCIlc1wiIGhhcyBiZWVuIGRp c2FibGVkIGJlY2F1c2Ugb2YgYW4gZXJyb3IiLAogCQkJCSAgIE15U3Vic2NyaXB0aW9uLT5uYW1l KSk7CiAKKwkvKgorCSAqIEluc2VydCB0aGUgZGVmZXJyZWQgY29uZmxpY3QgbG9nIHR1cGxlIChp ZiBhbnkpIG5vdyB0aGF0IHRoZQorCSAqIHN1YnNjcmlwdGlvbiBoYXMgYmVlbiBkaXNhYmxlZCBh bmQgY29tbWl0dGVkLiAgRG9pbmcgaXQgYWZ0ZXIgdGhlCisJICogZGlzYWJsZSBtZWFucyBhIGZh aWx1cmUgdG8gbG9nIHRoZSBjb25mbGljdCAodHJlYXRlZCBhcyBhIGhhcmQgZXJyb3IsCisJICog c2VlIFByb2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dUdXBsZSkgY2Fubm90IHByZXZlbnQgdGhlIHN1 YnNjcmlwdGlvbgorCSAqIGZyb20gYmVpbmcgZGlzYWJsZWQgYW5kIHNvIGNhbm5vdCBsZWF2ZSB0 aGUgd29ya2VyIHJlc3RhcnRpbmcgYW5kCisJICogZmFpbGluZyBmb3JldmVyLiAgRG8gaXQgYmVm b3JlIHRoZSBkZWFkLXR1cGxlIHJldGVudGlvbiBjaGVjayBiZWxvdzoKKwkgKiB0aGF0IGNoZWNr IG9ubHkgd2FybnMgdG9kYXksIGJ1dCBpdCB0YWtlcyBhbiBlbGV2ZWwgYW5kIGNvdWxkIHJhaXNl IGFuCisJICogZXJyb3IsIHdoaWNoIG11c3Qgbm90IHByZXZlbnQgdGhlIGNvbmZsaWN0IGZyb20g YmVpbmcgcmVjb3JkZWQuICBUaGUKKwkgKiBvcmlnaW5hbCBlcnJvciB3YXMgYWxyZWFkeSByZXBv cnRlZCBhYm92ZS4KKwkgKi8KKwlQcm9jZXNzUGVuZGluZ0NvbmZsaWN0TG9nVHVwbGUoKTsKKwog CS8qCiAJICogU2tpcCB0aGUgdHJhY2tfY29tbWl0X3RpbWVzdGFtcCBjaGVjayB3aGVuIGRpc2Fi bGluZyB0aGUgd29ya2VyIGR1ZSB0bwogCSAqIGFuIGVycm9yLCBhcyB2ZXJpZnlpbmcgY29tbWl0 IHRpbWVzdGFtcHMgaXMgdW5uZWNlc3NhcnkgaW4gdGhpcwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1 ZGUvcmVwbGljYXRpb24vY29uZmxpY3QuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2NvbmZs aWN0LmgKaW5kZXggMzI2NTcwZWQ2MzkuLjRkYjNhMzZkNGRmIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9yZXBsaWNhdGlvbi9jb25mbGljdC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L2NvbmZsaWN0LmgKQEAgLTEwLDYgKzEwLDcgQEAKICNkZWZpbmUgQ09ORkxJQ1RfSAogCiAjaW5j bHVkZSAiYWNjZXNzL3hsb2dkZWZzLmgiCisjaW5jbHVkZSAiYWNjZXNzL2dlbmFtLmgiCiAjaW5j bHVkZSAiZGF0YXR5cGUvdGltZXN0YW1wLmgiCiAjaW5jbHVkZSAibm9kZXMvcGdfbGlzdC5oIgog CkBAIC0xMTQsNSArMTE1LDggQEAgZXh0ZXJuIHZvaWQgUmVwb3J0QXBwbHlDb25mbGljdChFU3Rh dGUgKmVzdGF0ZSwgUmVzdWx0UmVsSW5mbyAqcmVsaW5mbywKIAkJCQkJCQkJVHVwbGVUYWJsZVNs b3QgKnNlYXJjaHNsb3QsCiAJCQkJCQkJCVR1cGxlVGFibGVTbG90ICpyZW1vdGVzbG90LAogCQkJ CQkJCQlMaXN0ICpjb25mbGljdHR1cGxlcyk7CitleHRlcm4gdm9pZCBQcm9jZXNzUGVuZGluZ0Nv bmZsaWN0TG9nVHVwbGUodm9pZCk7CiBleHRlcm4gdm9pZCBJbml0Q29uZmxpY3RJbmRleGVzKFJl c3VsdFJlbEluZm8gKnJlbEluZm8pOworZXh0ZXJuIFJlbGF0aW9uIEdldENvbmZsaWN0TG9nRGVz dEFuZFRhYmxlKENvbmZsaWN0TG9nRGVzdCAqbG9nX2Rlc3QpOworZXh0ZXJuIHZvaWQgSW5zZXJ0 Q29uZmxpY3RMb2dUdXBsZShSZWxhdGlvbiBjb25mbGljdGxvZ3JlbCk7CiAjZW5kaWYKZGlmZiAt LWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3dvcmtlcl9pbnRlcm5hbC5oIGIvc3JjL2lu Y2x1ZGUvcmVwbGljYXRpb24vd29ya2VyX2ludGVybmFsLmgKaW5kZXggNzQ1YjdkOWU5NjkuLjM5 NGY0YzYyNjVlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50 ZXJuYWwuaAorKysgYi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi93b3JrZXJfaW50ZXJuYWwuaApA QCAtMTIxLDYgKzEyMSw5IEBAIHR5cGVkZWYgZW51bSBQYXJhbGxlbFRyYW5zU3RhdGUKIAlQQVJB TExFTF9UUkFOU19VTktOT1dOLAogCVBBUkFMTEVMX1RSQU5TX1NUQVJURUQsCiAJUEFSQUxMRUxf VFJBTlNfRklOSVNIRUQsCisJUEFSQUxMRUxfVFJBTlNfRVJST1IsCQkvKiB3b3JrZXIgZmFpbGVk OyBpdCB3aWxsIHJlcG9ydCB0aGUgZXJyb3IKKwkJCQkJCQkJICogKGFuZCBsb2cgdGhlIGNvbmZs aWN0LCBpZiBhbnkpIGJlZm9yZQorCQkJCQkJCQkgKiBleGl0aW5nICovCiB9IFBhcmFsbGVsVHJh bnNTdGF0ZTsKIAogLyoKQEAgLTI1NSw2ICsyNTgsMTAgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIGJv b2wgSW5pdGlhbGl6aW5nQXBwbHlXb3JrZXI7CiAKIGV4dGVybiBQR0RMTElNUE9SVCBMaXN0ICp0 YWJsZV9zdGF0ZXNfbm90X3JlYWR5OwogCitleHRlcm4gWExvZ1JlY1B0ciByZW1vdGVfZmluYWxf bHNuOworZXh0ZXJuIFRpbWVzdGFtcFR6IHJlbW90ZV9jb21taXRfdHM7CitleHRlcm4gVHJhbnNh Y3Rpb25JZCByZW1vdGVfeGlkOworCiBleHRlcm4gdm9pZCBsb2dpY2FscmVwX3dvcmtlcl9hdHRh Y2goaW50IHNsb3QpOwogZXh0ZXJuIExvZ2ljYWxSZXBXb3JrZXIgKmxvZ2ljYWxyZXBfd29ya2Vy X2ZpbmQoTG9naWNhbFJlcFdvcmtlclR5cGUgd3R5cGUsCiAJCQkJCQkJCQkJCQlPaWQgc3ViaWQs IE9pZCByZWxpZCwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3V0aWxzL3JlbC5oIGIvc3JjL2lu Y2x1ZGUvdXRpbHMvcmVsLmgKaW5kZXggZmEwN2ViZjhmZjcuLjU1Mjc5ZWRmZGE2IDEwMDY0NAot LS0gYS9zcmMvaW5jbHVkZS91dGlscy9yZWwuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy9yZWwu aApAQCAtNzEzLDE2ICs3MTMsMTkgQEAgUmVsYXRpb25DbG9zZVNtZ3IoUmVsYXRpb24gcmVsYXRp b24pCiAgKgogICogV2UgZG9uJ3QgbG9nIGluZm9ybWF0aW9uIGZvciB1bmxvZ2dlZCB0YWJsZXMg KHNpbmNlIHRoZXkgZG9uJ3QgV0FMIGxvZwogICogYW55d2F5KSwgZm9yIGZvcmVpZ24gdGFibGVz IChzaW5jZSB0aGV5IGRvbid0IFdBTCBsb2csIGVpdGhlciksCi0gKiBhbmQgZm9yIHN5c3RlbSB0 YWJsZXMgKHRoZWlyIGNvbnRlbnQgaXMgaGFyZCB0byBtYWtlIHNlbnNlIG9mLCBhbmQKLSAqIGl0 IHdvdWxkIGNvbXBsaWNhdGUgZGVjb2Rpbmcgc2xpZ2h0bHkgZm9yIGxpdHRsZSBnYWluKS4gTm90 ZSB0aGF0IHdlICpkbyoKLSAqIGxvZyBpbmZvcm1hdGlvbiBmb3IgdXNlciBkZWZpbmVkIGNhdGFs b2cgdGFibGVzIHNpbmNlIHRoZXkgcHJlc3VtYWJseSBhcmUKLSAqIGludGVyZXN0aW5nIHRvIHRo ZSB1c2VyLi4uCisgKiBmb3Igc3lzdGVtIHRhYmxlcyAodGhlaXIgY29udGVudCBpcyBoYXJkIHRv IG1ha2Ugc2Vuc2Ugb2YsIGFuZAorICogaXQgd291bGQgY29tcGxpY2F0ZSBkZWNvZGluZyBzbGln aHRseSBmb3IgbGl0dGxlIGdhaW4pLCBhbmQgZm9yIGNvbmZsaWN0CisgKiBsb2cgdGFibGVzIGlu IHRoZSBwZ19jb25mbGljdCBuYW1lc3BhY2UgKHdoaWNoIGFyZSBzeXN0ZW0tbWFuYWdlZCB0YWJs ZXMKKyAqIHVzZWQgaW50ZXJuYWxseSBvbiBzdWJzY3JpYmVycykuIE5vdGUgdGhhdCB3ZSAqZG8q IGxvZyBpbmZvcm1hdGlvbiBmb3IKKyAqIHVzZXIgZGVmaW5lZCBjYXRhbG9nIHRhYmxlcyBzaW5j ZSB0aGV5IHByZXN1bWFibHkgYXJlIGludGVyZXN0aW5nIHRvIHRoZQorICogdXNlci4uLgogICov CiAjZGVmaW5lIFJlbGF0aW9uSXNMb2dpY2FsbHlMb2dnZWQocmVsYXRpb24pIFwKIAkoWExvZ0xv Z2ljYWxJbmZvQWN0aXZlKCkgJiYgXAogCSBSZWxhdGlvbk5lZWRzV0FMKHJlbGF0aW9uKSAmJiBc CiAJIChyZWxhdGlvbiktPnJkX3JlbC0+cmVsa2luZCAhPSBSRUxLSU5EX0ZPUkVJR05fVEFCTEUg JiYJXAotCSAhSXNDYXRhbG9nUmVsYXRpb24ocmVsYXRpb24pKQorCSAhSXNDYXRhbG9nUmVsYXRp b24ocmVsYXRpb24pICYmIFwKKwkgIUlzQ29uZmxpY3RMb2dUYWJsZU5hbWVzcGFjZShSZWxhdGlv bkdldE5hbWVzcGFjZShyZWxhdGlvbikpKQogCiAvKiByb3V0aW5lcyBpbiB1dGlscy9jYWNoZS9y ZWxjYWNoZS5jICovCiBleHRlcm4gdm9pZCBSZWxhdGlvbkluY3JlbWVudFJlZmVyZW5jZUNvdW50 KFJlbGF0aW9uIHJlbCk7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vbWVzb24u YnVpbGQgYi9zcmMvdGVzdC9zdWJzY3JpcHRpb24vbWVzb24uYnVpbGQKaW5kZXggZTcxZTk1YzYy OTcuLjIyNWY5MGEzN2IzIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vbWVzb24u YnVpbGQKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL21lc29uLmJ1aWxkCkBAIC00OCw2ICs0 OCw3IEBAIHRlc3RzICs9IHsKICAgICAgICd0LzAzNl9zZXF1ZW5jZXMucGwnLAogICAgICAgJ3Qv MDM3X2V4Y2VwdC5wbCcsCiAgICAgICAndC8wMzhfd2Fsc25kX3NodXRkb3duX3RpbWVvdXQucGwn LAorICAgICAgJ3QvMDM5X3BhX2NvbmZsaWN0X2xvZ19sb2NrX3dhaXQucGwnLAogICAgICAgJ3Qv MTAwX2J1Z3MucGwnLAogICAgIF0sCiAgIH0sCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3Jp cHRpb24vdC8wMzBfb3JpZ2luLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDMwX29yaWdp bi5wbAppbmRleCA2YmM2Yjc4NzRjMi4uNWY0ZDAwYmRkMzMgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0 L3N1YnNjcmlwdGlvbi90LzAzMF9vcmlnaW4ucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDMwX29yaWdpbi5wbApAQCAtMTY2LDcgKzE2Niw3IEBAIGlzKCRyZXN1bHQsIHFxKDMyKSwg J1RoZSBub2RlX0EgZGF0YSByZXBsaWNhdGVkIHRvIG5vZGVfQicpOwogJG5vZGVfQy0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsICJVUERBVEUgJHRhYiBTRVQgYSA9IDMzIFdIRVJFIGEgPSAzMjsiKTsK IAogJG5vZGVfQi0+d2FpdF9mb3JfbG9nKAotCXFyL2NvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0 aW9uICJwdWJsaWMuJHRhYl91bnF1b3RlZCI6IGNvbmZsaWN0PXVwZGF0ZV9vcmlnaW5fZGlmZmVy cy4qXG4uKkRFVEFJTDouKiBVcGRhdGluZyB0aGUgcm93IHRoYXQgd2FzIG1vZGlmaWVkIGJ5IGEg ZGlmZmVyZW50IG9yaWdpbiAiLioiIGluIHRyYW5zYWN0aW9uIFswLTldKyBhdCAuKjogbG9jYWwg cm93IFwoMzJcKSwgcmVtb3RlIHJvdyBcKDMzXCksIHJlcGxpY2EgaWRlbnRpdHkgXChhXCk9XCgz MlwpLi8KKwlxci9jb25mbGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiAicHVibGljLiR0YWIiOiBj b25mbGljdD11cGRhdGVfb3JpZ2luX2RpZmZlcnMuKlxuLipERVRBSUw6LiogVXBkYXRpbmcgdGhl IHJvdyB0aGF0IHdhcyBtb2RpZmllZCBieSBhIGRpZmZlcmVudCBvcmlnaW4gIi4qIiBpbiB0cmFu c2FjdGlvbiBbMC05XSsgYXQgLio6IGxvY2FsIHJvdyBcKDMyXCksIHJlbW90ZSByb3cgXCgzM1wp LCByZXBsaWNhIGlkZW50aXR5IFwoYVwpPVwoMzJcKS4vCiApOwogCiAkbm9kZV9CLT5zYWZlX3Bz cWwoJ3Bvc3RncmVzJywgIkRFTEVURSBGUk9NICR0YWI7Iik7CkBAIC0xODIsNyArMTgyLDcgQEAg aXMoJHJlc3VsdCwgcXEoMzMpLCAnVGhlIG5vZGVfQSBkYXRhIHJlcGxpY2F0ZWQgdG8gbm9kZV9C Jyk7CiAkbm9kZV9DLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIkRFTEVURSBGUk9NICR0YWIgV0hF UkUgYSA9IDMzOyIpOwogCiAkbm9kZV9CLT53YWl0X2Zvcl9sb2coCi0JcXIvY29uZmxpY3QgZGV0 ZWN0ZWQgb24gcmVsYXRpb24gInB1YmxpYy4kdGFiX3VucXVvdGVkIjogY29uZmxpY3Q9ZGVsZXRl X29yaWdpbl9kaWZmZXJzLipcbi4qREVUQUlMOi4qIERlbGV0aW5nIHRoZSByb3cgdGhhdCB3YXMg bW9kaWZpZWQgYnkgYSBkaWZmZXJlbnQgb3JpZ2luICIuKiIgaW4gdHJhbnNhY3Rpb24gWzAtOV0r IGF0IC4qOiBsb2NhbCByb3cgXCgzM1wpLCByZXBsaWNhIGlkZW50aXR5IFwoYVwpPVwoMzNcKS4q LworCXFyL2NvbmZsaWN0IGRldGVjdGVkIG9uIHJlbGF0aW9uICJwdWJsaWMuJHRhYiI6IGNvbmZs aWN0PWRlbGV0ZV9vcmlnaW5fZGlmZmVycy4qXG4uKkRFVEFJTDouKiBEZWxldGluZyB0aGUgcm93 IHRoYXQgd2FzIG1vZGlmaWVkIGJ5IGEgZGlmZmVyZW50IG9yaWdpbiAiLioiIGluIHRyYW5zYWN0 aW9uIFswLTldKyBhdCAuKjogbG9jYWwgcm93IFwoMzNcKSwgcmVwbGljYSBpZGVudGl0eSBcKGFc KT1cKDMzXCkuKi8KICk7CiAKICMgVGhlIHJlbWFpbmluZyB0ZXN0cyBubyBsb25nZXIgdGVzdCBj b25mbGljdCBkZXRlY3Rpb24uCmRpZmYgLS1naXQgYS9zcmMvdGVzdC9zdWJzY3JpcHRpb24vdC8w MzVfY29uZmxpY3RzLnBsIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM1X2NvbmZsaWN0cy5w bAppbmRleCAzOTEwYTQ5YzBhYS4uNmE3ZDA5NDcxMmQgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3N1 YnNjcmlwdGlvbi90LzAzNV9jb25mbGljdHMucGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9u L3QvMDM1X2NvbmZsaWN0cy5wbApAQCAtODQsMTAgKzg0LDM1IEBAICRub2RlX3N1YnNjcmliZXIt PndhaXRfZm9yX2xvZygKIC4qS2V5IGFscmVhZHkgZXhpc3RzIGluIHVuaXF1ZSBpbmRleCBcImNv bmZfdGFiX2Nfa2V5XCIsIG1vZGlmaWVkIGluIHRyYW5zYWN0aW9uIC4qOiBrZXkgXChjXCk9XCg0 XCksIGxvY2FsIHJvdyBcKDQsIDQsIDRcKS4vLAogCSRsb2dfb2Zmc2V0KTsKIAorIyBWZXJpZnkg dGhlIGNvbnRlbnRzIG9mIHRoZSBDb25mbGljdCBMb2cgVGFibGUgKENMVCkKKyMgVGhpcyBzZWN0 aW9uIGVuc3VyZXMgdGhhdCB0aGUgQ0xUIGNvbnRhaW5zIHRoZSBleHBlY3RlZAorIyB0eXBlIGFu ZCBzcGVjaWZpYyBrZXkgZGF0YS4KK215ICRzdWJpZCA9ICRub2RlX3N1YnNjcmliZXItPnNhZmVf cHNxbCgncG9zdGdyZXMnLAorCSJTRUxFQ1Qgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJF IHN1Ym5hbWUgPSAnc3ViX3RhYic7Iik7CitteSAkY2x0ID0gInBnX2NvbmZsaWN0LnBnX2NvbmZs aWN0X2xvZ18kc3ViaWQiOworCisjIFdhaXQgZm9yIHRoZSBjb25mbGljdCB0byBiZSBsb2dnZWQg aW4gdGhlIENMVAorbXkgJGxvZ19jaGVjayA9ICRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlf dW50aWwoCisgICAgJ3Bvc3RncmVzJywKKyAgICAiU0VMRUNUIGNvdW50KCopID4gMCBGUk9NICRj bHQ7IgorKTsKKworbXkgJGNvbmZsaWN0X2NoZWNrID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9w c3FsKCdwb3N0Z3JlcycsCisgICAgIlNFTEVDVCBjb3VudCgqKSA+PSAxIEZST00gJGNsdCBXSEVS RSBjb25mbGljdF90eXBlID0gJ211bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMnOyIpOworaXMoJGNv bmZsaWN0X2NoZWNrLCAndCcsICdWZXJpZmllZCBtdWx0aXBsZV91bmlxdWVfY29uZmxpY3RzIGxv Z2dlZCBpbnRvIGNvbmZsaWN0IGxvZyB0YWJsZScpOworCitteSAkanNvbl9xdWVyeSA9ICJTRUxF Q1QgbG9jYWxfY29uZmxpY3RzIEZST00gJGNsdDsiOworbXkgJHJhd19qc29uID0gJG5vZGVfc3Vi c2NyaWJlci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsICRqc29uX3F1ZXJ5KTsKKworIyBWZXJpZnkg dGhhdCAnMicgaXMgcHJlc2VudCBpbnNpZGUgdGhlIEpTT04gc3RydWN0dXJlIHVzaW5nIGEgcmVn ZXgKKyMgVGhpcyBtYXRjaGVzIHRoZSBrZXkvdmFsdWUgcGF0dGVybiBmb3IgImEiOiAyCitsaWtl KCRyYXdfanNvbiwgcXIvXFwiYVxcIjoyLywgJ1ZlcmlmaWVkIHRoYXQga2V5IDIgZXhpc3RzIGlu IHRoZSBsb2NhbF9jb25mbGljdHMnKTsKKwogcGFzcygnbXVsdGlwbGVfdW5pcXVlX2NvbmZsaWN0 cyBkZXRlY3RlZCBkdXJpbmcgaW5zZXJ0Jyk7CiAKICMgVHJ1bmNhdGUgdGFibGUgdG8gZ2V0IHJp ZCBvZiB0aGUgZXJyb3IKICRub2RlX3N1YnNjcmliZXItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCAi VFJVTkNBVEUgY29uZl90YWI7Iik7Ciskbm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3Rn cmVzJywgIkRFTEVURSBGUk9NICRjbHQiKTsKIAogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgVGVzdCBtdWx0aXBsZV91bmlxdWVfY29uZmxpY3Rz IGR1ZSB0byBVUERBVEUKQEAgLTExNCw2ICsxMzksMjYgQEAgJG5vZGVfc3Vic2NyaWJlci0+d2Fp dF9mb3JfbG9nKAogLipLZXkgYWxyZWFkeSBleGlzdHMgaW4gdW5pcXVlIGluZGV4IFwiY29uZl90 YWJfY19rZXlcIiwgbW9kaWZpZWQgaW4gdHJhbnNhY3Rpb24gLio6IGtleSBcKGNcKT1cKDhcKSwg bG9jYWwgcm93IFwoOCwgOCwgOFwpLi8sCiAJJGxvZ19vZmZzZXQpOwogCisjIFZlcmlmeSB0aGUg Y29udGVudHMgb2YgdGhlIENvbmZsaWN0IExvZyBUYWJsZSAoQ0xUKQorIyBUaGlzIHNlY3Rpb24g ZW5zdXJlcyB0aGF0IHRoZSBDTFQgY29udGFpbnMgdGhlIGV4cGVjdGVkCisjIHR5cGUgYW5kIHNw ZWNpZmljIGtleSBkYXRhLgorCisjIFdhaXQgZm9yIHRoZSBjb25mbGljdCB0byBiZSBsb2dnZWQg aW4gdGhlIENMVAorJGxvZ19jaGVjayA9ICRub2RlX3N1YnNjcmliZXItPnBvbGxfcXVlcnlfdW50 aWwoCisgICAgJ3Bvc3RncmVzJywKKyAgICAiU0VMRUNUIGNvdW50KCopID4gMCBGUk9NICRjbHQ7 IgorKTsKKworJGNvbmZsaWN0X2NoZWNrID0gJG5vZGVfc3Vic2NyaWJlci0+c2FmZV9wc3FsKCdw b3N0Z3JlcycsCisgICAgIlNFTEVDVCBjb3VudCgqKSA+PSAxIEZST00gJGNsdCBXSEVSRSBjb25m bGljdF90eXBlID0gJ211bHRpcGxlX3VuaXF1ZV9jb25mbGljdHMnOyIpOworaXMoJGNvbmZsaWN0 X2NoZWNrLCAndCcsICdWZXJpZmllZCBtdWx0aXBsZV91bmlxdWVfY29uZmxpY3RzIGxvZ2dlZCBp bnRvIGNvbmZsaWN0IGxvZyB0YWJsZScpOworCiskcmF3X2pzb24gPSAkbm9kZV9zdWJzY3JpYmVy LT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgJGpzb25fcXVlcnkpOworCisjIFZlcmlmeSB0aGF0ICc2 JyBpcyBwcmVzZW50IGluc2lkZSB0aGUgSlNPTiBzdHJ1Y3R1cmUgdXNpbmcgYSByZWdleAorIyBU aGlzIG1hdGNoZXMgdGhlIGtleS92YWx1ZSBwYXR0ZXJuIGZvciAiYSI6IDYKK2xpa2UoJHJhd19q c29uLCBxci9cXCJhXFwiOjYvLCAnVmVyaWZpZWQgdGhhdCBrZXkgNiBleGlzdHMgaW4gdGhlIGxv Y2FsX2NvbmZsaWN0cycpOworCiBwYXNzKCdtdWx0aXBsZV91bmlxdWVfY29uZmxpY3RzIGRldGVj dGVkIGR1cmluZyB1cGRhdGUnKTsKIAogIyBUcnVuY2F0ZSB0YWJsZSB0byBnZXQgcmlkIG9mIHRo ZSBlcnJvcgpAQCAtNjc0LDEwICs3MTksNiBAQCBvayggJG5vZGVfQS0+cG9sbF9xdWVyeV91bnRp bCgKICMgQSBjb25mbGljdCBsb2cgdGFibGUgaXMgc3lzdGVtLW1hbmFnZWQgYW5kIGNhbm5vdCBi ZSBhbHRlcmVkIGRpcmVjdGx5LCBzbwogIyBtb3ZpbmcgaXQgdG8gYW5vdGhlciB0YWJsZXNwYWNl IG11c3QgYmUgcmVqZWN0ZWQuCiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi1teSAkc3ViaWQgPSAk bm9kZV9zdWJzY3JpYmVyLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKLQkiU0VMRUNUIG9pZCBGUk9N IHBnX3N1YnNjcmlwdGlvbiBXSEVSRSBzdWJuYW1lID0gJ3N1Yl90YWInOyIpOwotbXkgJGNsdCA9 ICJwZ19jb25mbGljdC5wZ19jb25mbGljdF9sb2dfJHN1YmlkIjsKLQogKHVuZGVmLCB1bmRlZiwg JHN0ZGVycikgPSAkbm9kZV9zdWJzY3JpYmVyLT5wc3FsKCdwb3N0Z3JlcycsCiAJIkFMVEVSIFRB QkxFICRjbHQgU0VUIFRBQkxFU1BBQ0UgcGdfZGVmYXVsdCIpOwogbGlrZSgKZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3N1YnNjcmlwdGlvbi90LzAzOV9wYV9jb25mbGljdF9sb2dfbG9ja193YWl0LnBs IGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM5X3BhX2NvbmZsaWN0X2xvZ19sb2NrX3dhaXQu cGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLmY4MDA0N2RjYjUwCi0t LSAvZGV2L251bGwKKysrIGIvc3JjL3Rlc3Qvc3Vic2NyaXB0aW9uL3QvMDM5X3BhX2NvbmZsaWN0 X2xvZ19sb2NrX3dhaXQucGwKQEAgLTAsMCArMSwyMDMgQEAKKyMgQ29weXJpZ2h0IChjKSAyMDI2 LCBQb3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorCisjIFRlc3QgdGhhdCBhIHBh cmFsbGVsIGFwcGx5IChQQSkgd29ya2VyIGNvcnJlY3RseSBpbnNlcnRzIGEgZGVmZXJyZWQKKyMg Y29uZmxpY3QtbG9nIHR1cGxlIGV2ZW4gd2hlbiwgYnkgdGhlIHRpbWUgaXQgcmVhY2hlcworIyBQ cm9jZXNzUGVuZGluZ0NvbmZsaWN0TG9nVHVwbGUoKSwgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBp cyBoZWxkIHVuZGVyCisjIEFDQ0VTUyBFWENMVVNJVkUgYnkgYW5vdGhlciBzZXNzaW9uLgorIwor IyBUaGUgd2luZG93IHdlIHdhbnQgdG8gZXhlcmNpc2UgaXMgbmFycm93OiBQQSBtdXN0IGFscmVh ZHkgYmUgcGFzdAorIyBSZXBvcnRBcHBseUNvbmZsaWN0KCkgKHNvIHRoZSBlcnJvciBoYXMgZmly ZWQgYW5kIFBBIGlzIGluIFBHX0NBVENIKSwKKyMgYW5kIHRoZSBsb2NrZXIgbXVzdCB0YWtlIHRo ZSBDTFQgbG9jayAqYmVmb3JlKiBQQSByZWFjaGVzIHRoZSBzZWNvbmQKKyMgQ0xUIG9wZW4gaW5z aWRlIFByb2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dUdXBsZSgpLiAgQW4gaW5qZWN0aW9uIHBvaW50 CisjIHBhdXNlcyBQQSBhdCBleGFjdGx5IHRoYXQgcG9pbnQgc28gdGhlIGxvY2tlciBjYW4gZ3Jh YiB0aGUgbG9jayBmaXJzdDsKKyMgd2l0aG91dCBpdCwgdGhlIGxvY2tlciBlaXRoZXIgdGFrZXMg dGhlIGxvY2sgdG9vIGVhcmx5IChQQSBibG9ja3MgaW4KKyMgdGhlIGlubGluZSBDTFQgb3BlbiBp bnNpZGUgUmVwb3J0QXBwbHlDb25mbGljdCwgYmVmb3JlIHRoZSBlcnJvciBoYXMKKyMgZmlyZWQp IG9yIHRvbyBsYXRlIChQQSBpbnNlcnRzIGJlZm9yZSB0aGUgbG9jayBpcyB0YWtlbikuCisKK3Vz ZSBzdHJpY3Q7Cit1c2Ugd2FybmluZ3MgRkFUQUwgPT4gJ2FsbCc7Cit1c2UgUG9zdGdyZVNRTDo6 VGVzdDo6Q2x1c3RlcjsKK3VzZSBQb3N0Z3JlU1FMOjpUZXN0OjpVdGlsczsKK3VzZSBUZXN0OjpN b3JlOworCitpZiAoJEVOVntlbmFibGVfaW5qZWN0aW9uX3BvaW50c30gbmUgJ3llcycpCit7CisJ cGxhbiBza2lwX2FsbCA9PiAnSW5qZWN0aW9uIHBvaW50cyBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMg YnVpbGQnOworfQorCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBTZXQgdXAgcHVibGlzaGVyIGFuZCBzdWJz Y3JpYmVyLiAgRm9yY2UgZXZlcnkgdHJhbnNhY3Rpb24gdG8gc3RyZWFtIHNvCisjIHRoZSBjb25m bGljdCBpcyBoYW5kbGVkIGJ5IGEgcGFyYWxsZWwgYXBwbHkgd29ya2VyIHJhdGhlciB0aGFuIHRo ZQorIyBsZWFkZXIuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbXkgJG5vZGVfcHViID0gUG9zdGdyZVNRTDo6 VGVzdDo6Q2x1c3Rlci0+bmV3KCdwdWJsaXNoZXInKTsKKyRub2RlX3B1Yi0+aW5pdChhbGxvd3Nf c3RyZWFtaW5nID0+ICdsb2dpY2FsJyk7Ciskbm9kZV9wdWItPmFwcGVuZF9jb25mKCdwb3N0Z3Jl c3FsLmNvbmYnLCBxeworZGVidWdfbG9naWNhbF9yZXBsaWNhdGlvbl9zdHJlYW1pbmcgPSBpbW1l ZGlhdGUKK2xvZ2ljYWxfZGVjb2Rpbmdfd29ya19tZW0gPSA2NGtCCit9KTsKKyRub2RlX3B1Yi0+ c3RhcnQ7CisKK215ICRub2RlX3N1YiA9IFBvc3RncmVTUUw6OlRlc3Q6OkNsdXN0ZXItPm5ldygn c3Vic2NyaWJlcicpOworJG5vZGVfc3ViLT5pbml0OworJG5vZGVfc3ViLT5hcHBlbmRfY29uZign cG9zdGdyZXNxbC5jb25mJywgcXsKK3NoYXJlZF9wcmVsb2FkX2xpYnJhcmllcyA9ICdpbmplY3Rp b25fcG9pbnRzJworbWF4X2xvZ2ljYWxfcmVwbGljYXRpb25fd29ya2VycyA9IDQKK21heF9wYXJh bGxlbF9hcHBseV93b3JrZXJzX3Blcl9zdWJzY3JpcHRpb24gPSAyCit9KTsKKyRub2RlX3N1Yi0+ c3RhcnQ7CisKKyMgUmVwbGljYXRlZCB0YWJsZTsgdGhlIHByZS1leGlzdGluZyByb3cgb24gdGhl IHN1YnNjcmliZXIgaXMgd2hhdCBtYWtlcworIyB0aGUgcHVibGlzaGVyJ3MgSU5TRVJUIChpZD0x KSB0cmlnZ2VyIGFuIElOU0VSVF9FWElTVFMgY29uZmxpY3QuCiskbm9kZV9wdWItPnNhZmVfcHNx bCgncG9zdGdyZXMnLCBxeworCUNSRUFURSBUQUJMRSB0IChpZCBpbnQgUFJJTUFSWSBLRVksIHZh bCB0ZXh0KTsKKwlBTFRFUiBUQUJMRSB0IFJFUExJQ0EgSURFTlRJVFkgRlVMTDsKKwlDUkVBVEUg UFVCTElDQVRJT04gcCBGT1IgVEFCTEUgdDsKK30pOworCiskbm9kZV9zdWItPnNhZmVfcHNxbCgn cG9zdGdyZXMnLCBxeworCUNSRUFURSBUQUJMRSB0IChpZCBpbnQgUFJJTUFSWSBLRVksIHZhbCB0 ZXh0KTsKKwlJTlNFUlQgSU5UTyB0IFZBTFVFUyAoMSwgJ3ByZS1leGlzdGluZycpOworCUNSRUFU RSBFWFRFTlNJT04gaW5qZWN0aW9uX3BvaW50czsKK30pOworCitteSAkcHViX2Nvbm5zdHIgPSAk bm9kZV9wdWItPmNvbm5zdHIgLiAnIGRibmFtZT1wb3N0Z3Jlcyc7Ciskbm9kZV9zdWItPnNhZmVf cHNxbCgncG9zdGdyZXMnLCBxcXsKKwlDUkVBVEUgU1VCU0NSSVBUSU9OIHMKKwlDT05ORUNUSU9O ICckcHViX2Nvbm5zdHInCisJUFVCTElDQVRJT04gcAorCVdJVEggKHN0cmVhbWluZyA9IHBhcmFs bGVsLAorCSAgICAgIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiA9ICdhbGwnLAorCSAgICAgIGRp c2FibGVfb25fZXJyb3IgPSB0cnVlKTsKK30pOworCiskbm9kZV9zdWItPndhaXRfZm9yX3N1YnNj cmlwdGlvbl9zeW5jKCRub2RlX3B1YiwgJ3MnKTsKKworIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyMgU2VuZCBh IG5vbi1jb25mbGljdGluZyBJTlNFUlQgYW5kIHRoZW4gd2FpdCB1bnRpbCBwZ19zdWJzY3JpcHRp b25fcmVsCisjIHJlYWNoZXMgJ3InIChyZWFkeSkgb24gZXZlcnkgcmVsYXRpb24uICBwYV9jYW5f c3RhcnQoKSByZXF1aXJlcworIyBBbGxUYWJsZXN5bmNzUmVhZHkoKSwgd2hpY2ggcmV0dXJucyB0 cnVlIG9ubHkgd2hlbiBldmVyeQorIyBwZ19zdWJzY3JpcHRpb25fcmVsIHJvdyBpcyAncicuICBU aGUgJ3MnIChzeW5jZG9uZSkgLT4gJ3InIHRyYW5zaXRpb24KKyMgZmlyZXMgaW5zaWRlIFByb2Nl c3NTeW5jaW5nVGFibGVzRm9yQXBwbHksIHdoaWNoIG9ubHkgZmxpcHMgdGhlIHN0YXRlCisjIHdo ZW4gdGhlIGFwcGx5IHdvcmtlcidzIGxhc3RfcmVjZWl2ZWQgTFNOIGhhcyBhZHZhbmNlZCBwYXN0 IHRoZQorIyB0YWJsZXN5bmMgZW5kIExTTiAtLSBzbyB3ZSBuZWVkIGEgdHJpZ2dlcmluZyBjb21t aXQgb24gdGhlIHB1Ymxpc2hlcgorIyB0byBkcml2ZSBsYXN0X3JlY2VpdmVkIGZvcndhcmQuICBX aXRob3V0IHRoaXMgc3RlcCwgdGhlIGNvbmZsaWN0IHR4bgorIyBiZWxvdyB3b3VsZCBhcnJpdmUg d2hpbGUgdGhlIHRhYmxlIGlzIHN0aWxsICdzJywgcGFfY2FuX3N0YXJ0KCkgd291bGQKKyMgcmV0 dXJuIGZhbHNlLCB0aGUgbGVhZGVyIHdvdWxkIHNwb29sIHRvIGZpbGUgYW5kIGFwcGx5IHNlcmlh bGx5LCBhbmQKKyMgbm8gcGFyYWxsZWwgYXBwbHkgd29ya2VyIHdvdWxkIGV2ZXIgc3Bhd24uCisj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorJG5vZGVfcHViLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIklOU0VSVCBJ TlRPIHQgVkFMVUVTICgxMDAwLCAnd2FybXVwJyk7Iik7Ciskbm9kZV9zdWItPnBvbGxfcXVlcnlf dW50aWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIGNvdW50KDEpID0gMCBGUk9NIHBnX3N1YnNjcmlw dGlvbl9yZWwgV0hFUkUgc3JzdWJzdGF0ZSBOT1QgSU4gKCdyJyk7IgorKSBvciBkaWUgInN1YnNj cmlwdGlvbiB0YWJsZXMgZGlkIG5vdCByZWFjaCBSRUFEWSBzdGF0ZSI7CisKKyMgLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisjIExvb2sgdXAgdGhlIHBlci1zdWJzY3JpcHRpb24gQ0xUIG5hbWUuCisjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorbXkgJHN1Yl9vaWQgPSAkbm9kZV9zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAorCSJT RUxFQ1Qgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncyciKTsKK215 ICRjbHQgPSAicGdfY29uZmxpY3QucGdfY29uZmxpY3RfbG9nXyRzdWJfb2lkIjsKK25vdGUgImNv bmZsaWN0IGxvZyB0YWJsZSBmb3Igc3Vic2NyaXB0aW9uIHM6ICRjbHQiOworCisjIC0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQorIyBBcm0gdGhlIGluamVjdGlvbiBwb2ludC4gIFRoaXMgcGF1c2VzIHRoZSBQQSB3b3Jr ZXIgaW5zaWRlCisjIFByb2Nlc3NQZW5kaW5nQ29uZmxpY3RMb2dUdXBsZSgpIOKAlCBpLmUuICph ZnRlciogdGhlIGVycm9yIGhhcyBmaXJlZAorIyBhbmQgdGhlIFBHX0NBVENIIGhhcyBydW4sICpi ZWZvcmUqIHRoZSBzZWNvbmQgb3BlbiBvZiB0aGUgQ0xULiAgVGhpcworIyBpcyB0aGUgZXhhY3Qg d2luZG93IHRoZSBkZWZlcnJlZC1pbnNlcnQgcGF0aCBuZWVkcyB0byBiZSB0ZXN0ZWQgaW4uCisj IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQorJG5vZGVfc3ViLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNU IGluamVjdGlvbl9wb2ludHNfYXR0YWNoKCdjbHQtcGVuZGluZy1mbHVzaC1iZWZvcmUtb3Blbics ICd3YWl0Jyk7Iik7CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIERyaXZlIHRoZSBjb25mbGljdC4gIFBB IHJlY2VpdmVzIHRoZSBzdHJlYW1lZCB0eG4sIGhpdHMgSU5TRVJUX0VYSVNUUworIyBpbnNpZGUg UmVwb3J0QXBwbHlDb25mbGljdCAod2hpY2ggb3BlbnMvY2xvc2VzIHRoZSBDTFQgY2xlYW5seSB3 aGlsZQorIyBwcmVwYXJpbmcgdGhlIGRlZmVycmVkIHR1cGxlKSwgdGhlbiBlcmVwb3J0KEVSUk9S KSBmaXJlcywgUEdfQ0FUQ0gKKyMgcnVucywgYW5kIFBBIGVudGVycyBQcm9jZXNzUGVuZGluZ0Nv bmZsaWN0TG9nVHVwbGUg4oCUIHdoZXJlIGl0IHBhdXNlcworIyBhdCB0aGUgaW5qZWN0aW9uIHBv aW50LgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KK215ICRsb2dfb2Zmc2V0ID0gLXMgJG5vZGVfc3ViLT5sb2dm aWxlOworCiskbm9kZV9wdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLCBxeworCUJFR0lOOworCUlO U0VSVCBJTlRPIHQgU0VMRUNUIGcsIHJlcGVhdCgneCcsIDEwMDApIEZST00gZ2VuZXJhdGVfc2Vy aWVzKDIsIDIwMCkgZzsKKwlJTlNFUlQgSU5UTyB0IFZBTFVFUyAoMSwgJ2NvbmZsaWN0Jyk7CisJ Q09NTUlUOworfSk7CisKKyMgV2FpdCB1bnRpbCBQQSBpcyBwYXJrZWQgYXQgdGhlIGluamVjdGlv biBwb2ludC4KKyRub2RlX3N1Yi0+d2FpdF9mb3JfZXZlbnQoJ2xvZ2ljYWwgcmVwbGljYXRpb24g cGFyYWxsZWwgd29ya2VyJywKKwknY2x0LXBlbmRpbmctZmx1c2gtYmVmb3JlLW9wZW4nKTsKKwor IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyMgTm93IHRha2UgQUNDRVNTIEVYQ0xVU0lWRSBvbiB0aGUgQ0xULiAg VFJVTkNBVEUgaXMgcGVybWl0dGVkIG9uIENMVHM7CisjIEF0IHRoaXMgcG9pbnQgdGhlIENMVCBp cyBlbXB0eSwgc28gdGhlIFRSVU5DQVRFIGlzIGVmZmVjdGl2ZWx5IGEgbm8tb3AKKyMgdGhhdCBq dXN0IGFjcXVpcmVzIHRoZSBsb2NrLgorIyBCZWNhdXNlIFBBIGlzIHBhdXNlZCBhdCB0aGUgaW5q ZWN0aW9uIHBvaW50LCB0aGlzIGxvY2sgaXMgZ3VhcmFudGVlZAorIyB0byBiZSBhY3F1aXJlZCAq YmVmb3JlKiBQQSB0cmllcyB0byBvcGVuIHRoZSBDTFQuCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorbXkgJGxv Y2tlciA9ICRub2RlX3N1Yi0+YmFja2dyb3VuZF9wc3FsKCdwb3N0Z3JlcycpOworJGxvY2tlci0+ cXVlcnlfc2FmZShxcXsKKwlCRUdJTjsKKwlUUlVOQ0FURSAkY2x0OworfSk7CisKKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCisjIFdha2UgdGhlIFBBIGZyb20gdGhlIGluamVjdGlvbiBwb2ludC4gIEl0IHdpbGwg bm93IHRyeSB0byBvcGVuIHRoZQorIyBDTFQgaW5zaWRlIFByb2Nlc3NQZW5kaW5nQ29uZmxpY3RM b2dUdXBsZSBhbmQgYmxvY2sgb24gdGhlIGxvY2sgdGhlCisjIGxvY2tlciBzZXNzaW9uIGhvbGRz LgorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0KKyRub2RlX3N1Yi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNF TEVDVCBpbmplY3Rpb25fcG9pbnRzX3dha2V1cCgnY2x0LXBlbmRpbmctZmx1c2gtYmVmb3JlLW9w ZW4nKTsKKwkgU0VMRUNUIGluamVjdGlvbl9wb2ludHNfZGV0YWNoKCdjbHQtcGVuZGluZy1mbHVz aC1iZWZvcmUtb3BlbicpOyIpOworCisjIENvbmZpcm0gdGhlIFBBIHdvcmtlciBpcyBhY3R1YWxs eSBwYXJrZWQgd2FpdGluZyBvbiB0aGUgQ0xUIGxvY2sg4oCUCisjIHRoaXMgdmVyaWZpZXMgd2Ug YXJlIGV4ZXJjaXNpbmcgdGhlIGRlZmVycmVkLWluc2VydCBsb2NrLXdhaXQgcGF0aCwKKyMgbm90 IHJhY2luZyBwYXN0IGl0LgorbXkgJGNsdF9vaWQgPSAkbm9kZV9zdWItPnNhZmVfcHNxbCgncG9z dGdyZXMnLAorCSJTRUxFQ1QgJyRjbHQnOjpyZWdjbGFzczo6b2lkIik7CitvayggJG5vZGVfc3Vi LT5wb2xsX3F1ZXJ5X3VudGlsKAorCQkncG9zdGdyZXMnLCBxcXsKKwkJU0VMRUNUIEVYSVNUUyAo CisJCQlTRUxFQ1QgMQorCQkJRlJPTSBwZ19sb2NrcyBsCisJCQlKT0lOIHBnX3N0YXRfYWN0aXZp dHkgYSBPTiBsLnBpZCA9IGEucGlkCisJCQlXSEVSRSBOT1QgbC5ncmFudGVkCisJCQkgIEFORCBs LnJlbGF0aW9uID0gJGNsdF9vaWQKKwkJCSAgQU5EIGEuYmFja2VuZF90eXBlID0gJ2xvZ2ljYWwg cmVwbGljYXRpb24gcGFyYWxsZWwgd29ya2VyJworCQkpOworCX0sICd0JyksCisJJ1BBIHdvcmtl ciBpcyBibG9ja2VkIG9uIHRoZSBDTFQgbG9jayBpbnNpZGUgUHJvY2Vzc1BlbmRpbmdDb25mbGlj dExvZ1R1cGxlJyk7CisKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFJlbGVhc2UgdGhlIGxvY2suICBQQSB3 YWtlcywgaW5zZXJ0cyB0aGUgZGVmZXJyZWQgcm93LCBjb21taXRzIGl0cworIyBDTFQgdHhuLCBy ZS10aHJvd3MgdGhlIG9yaWdpbmFsIGVycm9yIHRvIHRoZSBsZWFkZXIsIGFuZCB0aGUgbGVhZGVy CisjIGRpc2FibGVzIHRoZSBzdWJzY3JpcHRpb24gKGRpc2FibGVfb25fZXJyb3IgPSB0cnVlKS4K KyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tCiskbG9ja2VyLT5xdWVyeV9zYWZlKCdDT01NSVQ7Jyk7CitvaygkbG9j a2VyLT5xdWl0LCAnbG9ja2VyIHNlc3Npb24gY2xvc2VkIGNsZWFubHknKTsKKworb2soICRub2Rl X3N1Yi0+cG9sbF9xdWVyeV91bnRpbCgKKwkJJ3Bvc3RncmVzJywKKwkJIlNFTEVDVCBzdWJlbmFi bGVkID0gZmFsc2UgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdzJyIsCisJ CSd0JyksCisJJ3N1YnNjcmlwdGlvbiBkaXNhYmxlZCBhZnRlciB0aGUgY29uZmxpY3QnKTsKKwor IyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0KKyMgVmVyaWZ5IHRoZSBkZWZlcnJlZCBjb25mbGljdCBsb2cgdHVwbGUg c3Vydml2ZWQgdGhlIGxvY2sgd2FpdC4KKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitteSAkcm93cyA9ICRub2Rl X3N1Yi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBjb3VudCgqKSBGUk9NICRjbHQg V0hFUkUgY29uZmxpY3RfdHlwZSA9ICdpbnNlcnRfZXhpc3RzJyIpOworaXMoJHJvd3MsICcxJywK KwknZGVmZXJyZWQgQ0xUIGluc2VydCBieSBQQSB3b3JrZXIgc3VjY2VlZGVkIGFmdGVyIGxvY2sg cmVsZWFzZScpOworCisjIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyBBbHNvIHZlcmlmeSB0aGUgY29uZmxpY3Qg d2FzIHJlcG9ydGVkIGluIHRoZSBzZXJ2ZXIgbG9nCisjIChjb25mbGljdF9sb2dfZGVzdGluYXRp b24gPSAnYWxsJyBsb2dzIHRvIGJvdGggdGhlIHRhYmxlIGFuZCB0aGUgbG9nKS4KKyMgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCitteSAkbG9nX2NvbnRlbnRzID0gc2x1cnBfZmlsZSgkbm9kZV9zdWItPmxvZ2ZpbGUs ICRsb2dfb2Zmc2V0KTsKK2xpa2UoCisJJGxvZ19jb250ZW50cywKKwlxci9FUlJPUjpccytjb25m bGljdCBkZXRlY3RlZCBvbiByZWxhdGlvbiAicHVibGljXC50IjogY29uZmxpY3Q9aW5zZXJ0X2V4 aXN0cy8sCisJJ2NvbmZsaWN0IHJlcG9ydGVkIGluIHNlcnZlciBsb2cnKTsKKworZG9uZV90ZXN0 aW5nKCk7CmRpZmYgLS1naXQgYS9zcmMvdG9vbHMvcGdpbmRlbnQvdHlwZWRlZnMubGlzdCBiL3Ny Yy90b29scy9wZ2luZGVudC90eXBlZGVmcy5saXN0CmluZGV4IDExN2U3Mzc5ZjEwLi5mYTU1NDEw ODYwZCAxMDA2NDQKLS0tIGEvc3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKKysrIGIv c3JjL3Rvb2xzL3BnaW5kZW50L3R5cGVkZWZzLmxpc3QKQEAgLTIyNDksNiArMjI0OSw3IEBAIFBh dHRlcm5JbmZvCiBQYXR0ZXJuSW5mb0FycmF5CiBQYXR0ZXJuX1ByZWZpeF9TdGF0dXMKIFBhdHRl cm5fVHlwZQorUGVuZGluZ0NvbmZsaWN0TG9nRGF0YQogUGVuZGluZ0ZzeW5jRW50cnkKIFBlbmRp bmdMaXN0ZW5BY3Rpb24KIFBlbmRpbmdMaXN0ZW5FbnRyeQotLSAKMi40OS4wCgo= --000000000000e6253306559c5391 Content-Type: application/octet-stream; name="v63-0003-Add-conflict-log-table-information-to-describe.patch" Content-Disposition: attachment; filename="v63-0003-Add-conflict-log-table-information-to-describe.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mr382ki32 RnJvbSBiZDI1OWNkYzllNzI3NDI3ZWU5ZWM0OTdjNTc5MDc3MmQwNGE0NzZlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogVGh1LCAyIEp1bCAyMDI2IDEzOjIxOjUzICswNTMwClN1YmplY3Q6IFtQQVRDSCB2NjMg My8zXSBBZGQgY29uZmxpY3QgbG9nIHRhYmxlIGluZm9ybWF0aW9uIHRvIGRlc2NyaWJlIAogc3Vi c2NyaXB0aW9uIG91dHB1dAoKRGlzcGxheSB0aGUgYXNzb2NpYXRlZCBjb25mbGljdCBsb2cgdGFi bGUgYXMgYSBmb290ZXIgaW4gXGRScysKb3V0cHV0IHdoZW4gY29uZmxpY3QgbG9nZ2luZyB0byB0 YWJsZS9hbGwgaXMgZW5hYmxlZCBmb3IgYQpzdWJzY3JpcHRpb24uCgpQcmV2aW91c2x5LCBzdWJz Y3JpcHRpb25zIHdlcmUgZGlzcGxheWVkIHVzaW5nIGEgc2luZ2xlIHRhYnVsYXIKb3V0cHV0IGZv cm1hdC4gU2luY2UgdGhlIGNvbmZsaWN0IGxvZyB0YWJsZSBpbmZvcm1hdGlvbiBpcyBzcGVjaWZp Ywp0byBlYWNoIHN1YnNjcmlwdGlvbiBhbmQgaXMgYmV0dGVyIHN1aXRlZCBhcyBhdXhpbGlhcnkg aW5mb3JtYXRpb24sCmNoYW5nZSB0aGUgb3V0cHV0IHRvIGRpc3BsYXkgZWFjaCBzdWJzY3JpcHRp b24gaW5kaXZpZHVhbGx5IGluIGEKcm93LXdpc2UgdGFibGUgZm9ybWF0IGFuZCBzaG93IHRoZSBj b25mbGljdCBsb2cgdGFibGUgYXMgYSBmb290ZXIKd2hlbiBhcHBsaWNhYmxlLgoKVE9ETzogRW5z dXJlIGFsbCAxOTAwMDAgc2VyaWVzIHJlZmVyZW5jZXMgYXJlIHVwZGF0ZWQgdG8gMjAwMDAwCndo ZW4gdGhlIHZlcnNpb24gbnVtYmVyIGlzIGJ1bXBlZC4KClRoaXMgYXBwcm9hY2ggd2FzIGNob3Nl biBiYXNlZCBvbiBzdWdnZXN0aW9ucyBhdDoKaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVz c2FnZS1pZC9DQUE0ZUsxS2RLcUtrYVRxY2ozaW42ZWhEX2hnNm9PYUNGXy1Kc1ZmZDhONm5TOG9W OWclNDBtYWlsLmdtYWlsLmNvbQotLS0KIHNyYy9iaW4vcHNxbC9jb21tYW5kLmMgICAgICAgICAg ICAgICAgICAgICB8ICAgNSArLQogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmMgICAgICAgICAgICAg ICAgICAgIHwgNDEwICsrKysrKysrKysrKysrKysrLS0tLQogc3JjL2Jpbi9wc3FsL2Rlc2NyaWJl LmggICAgICAgICAgICAgICAgICAgIHwgICA1ICstCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVk L3N1YnNjcmlwdGlvbi5vdXQgfCAxNzYgKysrKy0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDQyOSBp bnNlcnRpb25zKCspLCAxNjcgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3Fs L2NvbW1hbmQuYyBiL3NyYy9iaW4vcHNxbC9jb21tYW5kLmMKaW5kZXggNWRkZTliZGQwZTguLjJh ZTQzODg5ZWRhIDEwMDY0NAotLS0gYS9zcmMvYmluL3BzcWwvY29tbWFuZC5jCisrKyBiL3NyYy9i aW4vcHNxbC9jb21tYW5kLmMKQEAgLTEyMjAsNyArMTIyMCwxMCBAQCBleGVjX2NvbW1hbmRfZChQ c3FsU2NhblN0YXRlIHNjYW5fc3RhdGUsIGJvb2wgYWN0aXZlX2JyYW5jaCwgY29uc3QgY2hhciAq Y21kKQogCQkJCQkJCXN1Y2Nlc3MgPSBsaXN0UHVibGljYXRpb25zKHBhdHRlcm4pOwogCQkJCQkJ YnJlYWs7CiAJCQkJCWNhc2UgJ3MnOgotCQkJCQkJc3VjY2VzcyA9IGRlc2NyaWJlU3Vic2NyaXB0 aW9ucyhwYXR0ZXJuLCBzaG93X3ZlcmJvc2UpOworCQkJCQkJaWYgKHNob3dfdmVyYm9zZSkKKwkJ CQkJCQlzdWNjZXNzID0gZGVzY3JpYmVTdWJzY3JpcHRpb25zKHBhdHRlcm4pOworCQkJCQkJZWxz ZQorCQkJCQkJCXN1Y2Nlc3MgPSBsaXN0U3Vic2NyaXB0aW9ucyhwYXR0ZXJuKTsKIAkJCQkJCWJy ZWFrOwogCQkJCQlkZWZhdWx0OgogCQkJCQkJc3RhdHVzID0gUFNRTF9DTURfVU5LTk9XTjsKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5jIGIvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJl LmMKaW5kZXggYTFhNDQwYTY0NjkuLmM2NTVkMmY1MjNkIDEwMDY0NAotLS0gYS9zcmMvYmluL3Bz cWwvZGVzY3JpYmUuYworKysgYi9zcmMvYmluL3BzcWwvZGVzY3JpYmUuYwpAQCAtMjMsNiArMjMs NyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfY29sbGF0aW9uX2QuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX2NvbnN0cmFpbnRfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfZGVmYXVsdF9hY2xf ZC5oIgorI2luY2x1ZGUgImNhdGFsb2cvcGdfbmFtZXNwYWNlX2QuaCIKICNpbmNsdWRlICJjYXRh bG9nL3BnX3Byb2NfZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHJvcGdyYXBoX2VsZW1lbnRf ZC5oIgogI2luY2x1ZGUgImNhdGFsb2cvcGdfcHVibGljYXRpb25fZC5oIgpAQCAtNzA4MSwxOSAr NzA4MiwxNyBAQCBlcnJvcl9yZXR1cm46CiAKIC8qCiAgKiBcZFJzCi0gKiBEZXNjcmliZXMgc3Vi c2NyaXB0aW9ucy4KKyAqIExpc3RzIHN1YnNjcmlwdGlvbnMuCiAgKgogICogVGFrZXMgYW4gb3B0 aW9uYWwgcmVnZXhwIHRvIHNlbGVjdCBwYXJ0aWN1bGFyIHN1YnNjcmlwdGlvbnMKICAqLwogYm9v bAotZGVzY3JpYmVTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9z ZSkKK2xpc3RTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4pCiB7CiAJUFFFeHBCdWZm ZXJEYXRhIGJ1ZjsKIAlQR3Jlc3VsdCAgICpyZXM7CiAJcHJpbnRRdWVyeU9wdCBteW9wdCA9IHBz ZXQucG9wdDsKLQlzdGF0aWMgY29uc3QgYm9vbCB0cmFuc2xhdGVfY29sdW1uc1tdID0ge2ZhbHNl LCBmYWxzZSwgZmFsc2UsIGZhbHNlLAotCQlmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwgZmFs c2UsIGZhbHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZSwKLQlmYWxzZSwgZmFsc2UsIGZh bHNlLCBmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZX07CisJc3RhdGljIGNvbnN0IGJvb2wgdHJh bnNsYXRlX2NvbHVtbnNbXSA9IHtmYWxzZSwgZmFsc2UsIGZhbHNlLCBmYWxzZX07CiAKIAlpZiAo cHNldC5zdmVyc2lvbiA8IDEwMDAwMCkKIAl7CkBAIC03MTA4LDEwMSArNzEwNywyMzUgQEAgZGVz Y3JpYmVTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgdmVyYm9zZSkKIAlp bml0UFFFeHBCdWZmZXIoJmJ1Zik7CiAKIAlwcmludGZQUUV4cEJ1ZmZlcigmYnVmLCAiLyogJXMg Ki9cbiIsIF8oIkdldCBtYXRjaGluZyBzdWJzY3JpcHRpb25zIikpOworCisJLyogT25seSBkaXNw bGF5IHN1YnNjcmlwdGlvbnMgaW4gY3VycmVudCBkYXRhYmFzZS4gKi8KIAlhcHBlbmRQUUV4cEJ1 ZmZlcigmYnVmLAogCQkJCQkgICJTRUxFQ1Qgc3VibmFtZSBBUyBcIiVzXCJcbiIKIAkJCQkJICAi LCAgcGdfY2F0YWxvZy5wZ19nZXRfdXNlcmJ5aWQoc3Vib3duZXIpIEFTIFwiJXNcIlxuIgogCQkJ CQkgICIsICBzdWJlbmFibGVkIEFTIFwiJXNcIlxuIgotCQkJCQkgICIsICBzdWJwdWJsaWNhdGlv bnMgQVMgXCIlc1wiXG4iLAorCQkJCQkgICIsICBzdWJwdWJsaWNhdGlvbnMgQVMgXCIlc1wiXG4i CisJCQkJCSAgIkZST00gcGdfY2F0YWxvZy5wZ19zdWJzY3JpcHRpb25cbiIKKwkJCQkJICAiV0hF UkUgc3ViZGJpZCA9IChTRUxFQ1Qgb2lkXG4iCisJCQkJCSAgIiAgICAgICAgICAgICAgICAgRlJP TSBwZ19jYXRhbG9nLnBnX2RhdGFiYXNlXG4iCisJCQkJCSAgIiAgICAgICAgICAgICAgICAgV0hF UkUgZGF0bmFtZSA9IHBnX2NhdGFsb2cuY3VycmVudF9kYXRhYmFzZSgpKSIsCiAJCQkJCSAgZ2V0 dGV4dF9ub29wKCJOYW1lIiksCiAJCQkJCSAgZ2V0dGV4dF9ub29wKCJPd25lciIpLAogCQkJCQkg IGdldHRleHRfbm9vcCgiRW5hYmxlZCIpLAogCQkJCQkgIGdldHRleHRfbm9vcCgiUHVibGljYXRp b24iKSk7CiAKLQlpZiAodmVyYm9zZSkKKwlpZiAoIXZhbGlkYXRlU1FMTmFtZVBhdHRlcm4oJmJ1 ZiwgcGF0dGVybiwgdHJ1ZSwgZmFsc2UsCisJCQkJCQkJCU5VTEwsICJzdWJuYW1lIiwgTlVMTCwK KwkJCQkJCQkJTlVMTCwKKwkJCQkJCQkJTlVMTCwgMSkpCiAJewotCQkvKiBCaW5hcnkgbW9kZSBh bmQgc3RyZWFtaW5nIGFyZSBvbmx5IHN1cHBvcnRlZCBpbiB2MTQgYW5kIGhpZ2hlciAqLwotCQlp ZiAocHNldC5zdmVyc2lvbiA+PSAxNDAwMDApCisJCXRlcm1QUUV4cEJ1ZmZlcigmYnVmKTsKKwkJ cmV0dXJuIGZhbHNlOworCX0KKworCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZidWYsICJPUkRFUiBC WSAxOyIpOworCisJcmVzID0gUFNRTGV4ZWMoYnVmLmRhdGEpOworCXRlcm1QUUV4cEJ1ZmZlcigm YnVmKTsKKwlpZiAoIXJlcykKKwkJcmV0dXJuIGZhbHNlOworCisJbXlvcHQudGl0bGUgPSBfKCJM aXN0IG9mIHN1YnNjcmlwdGlvbnMiKTsKKwlteW9wdC50cmFuc2xhdGVfaGVhZGVyID0gdHJ1ZTsK KwlteW9wdC50cmFuc2xhdGVfY29sdW1ucyA9IHRyYW5zbGF0ZV9jb2x1bW5zOworCW15b3B0Lm5f dHJhbnNsYXRlX2NvbHVtbnMgPSBsZW5ndGhvZih0cmFuc2xhdGVfY29sdW1ucyk7CisKKwlwcmlu dFF1ZXJ5KHJlcywgJm15b3B0LCBwc2V0LnF1ZXJ5Rm91dCwgZmFsc2UsIHBzZXQubG9nZmlsZSk7 CisKKwlQUWNsZWFyKHJlcyk7CisKKwlyZXR1cm4gdHJ1ZTsKK30KKworLyoKKyAqIEFkZCBmb290 ZXIgdG8gc3Vic2NyaXB0aW9uIGRlc2NyaXB0aW9uLgorICovCitzdGF0aWMgdm9pZAorYWRkRm9v dGVyVG9TdWJzY3JpcHRpb25EZXNjKGNoYXIgKmxvZ2Rlc3QsIGNoYXIgKmNvbmZsaWN0X3NjaGVt YSwgT2lkIHN1YmlkLAorCQkJCQkJCXByaW50VGFibGVDb250ZW50ICpjb25zdCBjb250KQorewor CWlmIChwc2V0LnN2ZXJzaW9uID49IDE5MDAwMCkKKwl7CisJCWlmIChzdHJjbXAobG9nZGVzdCwg InRhYmxlIikgPT0gMCB8fCBzdHJjbXAobG9nZGVzdCwgImFsbCIpID09IDApCiAJCXsKLQkJCWFw cGVuZFBRRXhwQnVmZmVyKCZidWYsCi0JCQkJCQkJICAiLCBzdWJiaW5hcnkgQVMgXCIlc1wiXG4i LAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJCaW5hcnkiKSk7CisJCQkvKgorCQkJICogVGhlIHNp emUgYWNjb3VudHMgZm9yIHNjaGVtYSBuYW1lIChOQU1FREFUQUxFTiksIHJlbGF0aW9uCisJCQkg KiBuYW1lIChOQU1FREFUQUxFTiksIHNlcGFyYXRvciAnLicgYW5kIG51bGwgdGVybWluYXRvci4K KwkJCSAqLworCQkJY2hhcgkJY29uZmxpY3Rsb2d0YWJsZVtOQU1FREFUQUxFTiArIE5BTUVEQVRB TEVOICsgMl07CiAKLQkJCWlmIChwc2V0LnN2ZXJzaW9uID49IDE2MDAwMCkKLQkJCQlhcHBlbmRQ UUV4cEJ1ZmZlcigmYnVmLAotCQkJCQkJCQkgICIsIChDQVNFIHN1YnN0cmVhbVxuIgotCQkJCQkJ CQkgICIgICAgV0hFTiAiIENwcEFzU3RyaW5nMihMT0dJQ0FMUkVQX1NUUkVBTV9PRkYpICIgVEhF TiAnb2ZmJ1xuIgotCQkJCQkJCQkgICIgICAgV0hFTiAiIENwcEFzU3RyaW5nMihMT0dJQ0FMUkVQ X1NUUkVBTV9PTikgIiBUSEVOICdvbidcbiIKLQkJCQkJCQkJICAiICAgIFdIRU4gIiBDcHBBc1N0 cmluZzIoTE9HSUNBTFJFUF9TVFJFQU1fUEFSQUxMRUwpICIgVEhFTiAncGFyYWxsZWwnXG4iCi0J CQkJCQkJCSAgIiAgIEVORCkgQVMgXCIlc1wiXG4iLAotCQkJCQkJCQkgIGdldHRleHRfbm9vcCgi U3RyZWFtaW5nIikpOwotCQkJZWxzZQotCQkJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCi0JCQkJ CQkJCSAgIiwgc3Vic3RyZWFtIEFTIFwiJXNcIlxuIiwKLQkJCQkJCQkJICBnZXR0ZXh0X25vb3Ao IlN0cmVhbWluZyIpKTsKKwkJCXNucHJpbnRmKGNvbmZsaWN0bG9ndGFibGUsCisJCQkJCQlzaXpl b2YoY29uZmxpY3Rsb2d0YWJsZSksCisJCQkJCQkiJXMuIiBDT05GTElDVF9MT0dfUkVMQVRJT05f TkFNRV9GTVQsCisJCQkJCQljb25mbGljdF9zY2hlbWEsIHN1YmlkKTsKKworCQkJcHJpbnRUYWJs ZUFkZEZvb3Rlcihjb250LCBfKCJDb25mbGljdCBsb2cgdGFibGU6IikpOworCQkJcHJpbnRUYWJs ZUFkZEZvb3Rlcihjb250LAorCQkJCQkJCQlwc3ByaW50ZigiICAgIFwiJXNcIiIsIGNvbmZsaWN0 bG9ndGFibGUpKTsKIAkJfQorCX0KK30KIAotCQkvKiBUd29fcGhhc2UgYW5kIGRpc2FibGVfb25f ZXJyb3IgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHYxNSBhbmQgaGlnaGVyICovCi0JCWlmIChwc2V0 LnN2ZXJzaW9uID49IDE1MDAwMCkKLQkJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCi0JCQkJCQkJ ICAiLCBzdWJ0d29waGFzZXN0YXRlIEFTIFwiJXNcIlxuIgotCQkJCQkJCSAgIiwgc3ViZGlzYWJs ZW9uZXJyIEFTIFwiJXNcIlxuIiwKLQkJCQkJCQkgIGdldHRleHRfbm9vcCgiVHdvLXBoYXNlIGNv bW1pdCIpLAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJEaXNhYmxlIG9uIGVycm9yIikpOworLyoK KyAqIFxkUnMrCisgKiBEZXNjcmliZXMgc3Vic2NyaXB0aW9ucy4KKyAqCisgKiBUYWtlcyBhbiBv cHRpb25hbCByZWdleHAgdG8gc2VsZWN0IHBhcnRpY3VsYXIgc3Vic2NyaXB0aW9ucworICovCiti b29sCitkZXNjcmliZVN1YnNjcmlwdGlvbnMoY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwlQUUV4 cEJ1ZmZlckRhdGEgYnVmOworCWludAkJCWk7CisJUEdyZXN1bHQgICAqcmVzOworCWludAkJCW5j b2xzOworCWludAkJCW5yb3dzID0gMTsKIAotCQlpZiAocHNldC5zdmVyc2lvbiA+PSAxNjAwMDAp Ci0JCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAotCQkJCQkJCSAgIiwgc3Vib3JpZ2luIEFTIFwi JXNcIlxuIgotCQkJCQkJCSAgIiwgc3VicGFzc3dvcmRyZXF1aXJlZCBBUyBcIiVzXCJcbiIKLQkJ CQkJCQkgICIsIHN1YnJ1bmFzb3duZXIgQVMgXCIlc1wiXG4iLAotCQkJCQkJCSAgZ2V0dGV4dF9u b29wKCJPcmlnaW4iKSwKLQkJCQkJCQkgIGdldHRleHRfbm9vcCgiUGFzc3dvcmQgcmVxdWlyZWQi KSwKLQkJCQkJCQkgIGdldHRleHRfbm9vcCgiUnVuIGFzIG93bmVyPyIpKTsKKwlQUUV4cEJ1ZmZl ckRhdGEgdGl0bGU7CisJcHJpbnRUYWJsZUNvbnRlbnQgY29udDsKIAotCQlpZiAocHNldC5zdmVy c2lvbiA+PSAxNzAwMDApCisJaWYgKHBzZXQuc3ZlcnNpb24gPCAxMDAwMDApCisJeworCQljaGFy CQlzdmVyYnVmWzMyXTsKKworCQlwZ19sb2dfZXJyb3IoIlRoZSBzZXJ2ZXIgKHZlcnNpb24gJXMp IGRvZXMgbm90IHN1cHBvcnQgc3Vic2NyaXB0aW9ucy4iLAorCQkJCQkgZm9ybWF0UEdWZXJzaW9u TnVtYmVyKHBzZXQuc3ZlcnNpb24sIGZhbHNlLAorCQkJCQkJCQkJCSAgIHN2ZXJidWYsIHNpemVv ZihzdmVyYnVmKSkpOworCQlyZXR1cm4gdHJ1ZTsKKwl9CisKKwlpbml0UFFFeHBCdWZmZXIoJmJ1 Zik7CisKKwlwcmludGZQUUV4cEJ1ZmZlcigmYnVmLCAiLyogJXMgKi9cbiIsIF8oIkdldCBtYXRj aGluZyBzdWJzY3JpcHRpb25zIikpOworCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAg IlNFTEVDVCBvaWQsIHN1Ym5hbWUgQVMgXCIlc1wiXG4iCisJCQkJCSAgIiwgIChTRUxFQ1QgbnNw bmFtZSBGUk9NIHBnX25hbWVzcGFjZSBXSEVSRSBvaWQgPSAiIENwcEFzU3RyaW5nMihQR19DT05G TElDVF9OQU1FU1BBQ0UpICIpICBBUyAgXCIlc1wiXG4iCisJCQkJCSAgIiwgIHBnX2NhdGFsb2cu cGdfZ2V0X3VzZXJieWlkKHN1Ym93bmVyKSBBUyBcIiVzXCJcbiIKKwkJCQkJICAiLCAgc3ViZW5h YmxlZCBBUyBcIiVzXCJcbiIKKwkJCQkJICAiLCAgc3VicHVibGljYXRpb25zIEFTIFwiJXNcIlxu IiwKKwkJCQkJICBnZXR0ZXh0X25vb3AoIk5hbWUiKSwKKwkJCQkJICBnZXR0ZXh0X25vb3AoIkNv bmZsaWN0X3NjaGVtYSIpLAorCQkJCQkgIGdldHRleHRfbm9vcCgiT3duZXIiKSwKKwkJCQkJICBn ZXR0ZXh0X25vb3AoIkVuYWJsZWQiKSwKKwkJCQkJICBnZXR0ZXh0X25vb3AoIlB1YmxpY2F0aW9u IikpOworCisJLyoKKwkgKiBvaWQsIHN1Ym5hbWUgYW5kIGNvbmZsaWN0X3NjaGVtYSBjb2x1bW5z IGFyZSBpbnRlcm5hbCBhbmQgbm90IGRpc3BsYXllZCwKKwkgKiBzbyBvbmx5IDMgdmlzaWJsZSBj b2x1bW5zLgorCSAqLworCW5jb2xzID0gMzsKKworCS8qIEJpbmFyeSBtb2RlIGFuZCBzdHJlYW1p bmcgYXJlIG9ubHkgc3VwcG9ydGVkIGluIHYxNCBhbmQgaGlnaGVyICovCisJaWYgKHBzZXQuc3Zl cnNpb24gPj0gMTQwMDAwKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAg Iiwgc3ViYmluYXJ5IEFTIFwiJXNcIlxuIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJCaW5hcnki KSk7CisJCW5jb2xzKys7CisKKwkJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTYwMDAwKQogCQkJYXBw ZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICIsIHN1YmZhaWxvdmVyIEFTIFwiJXNcIlxu IiwKLQkJCQkJCQkgIGdldHRleHRfbm9vcCgiRmFpbG92ZXIiKSk7Ci0JCWlmIChwc2V0LnN2ZXJz aW9uID49IDE5MDAwMCkKLQkJeworCQkJCQkJCSAgIiwgKENBU0Ugc3Vic3RyZWFtXG4iCisJCQkJ CQkJICAiICAgIFdIRU4gIiBDcHBBc1N0cmluZzIoTE9HSUNBTFJFUF9TVFJFQU1fT0ZGKSAiIFRI RU4gJ29mZidcbiIKKwkJCQkJCQkgICIgICAgV0hFTiAiIENwcEFzU3RyaW5nMihMT0dJQ0FMUkVQ X1NUUkVBTV9PTikgIiBUSEVOICdvbidcbiIKKwkJCQkJCQkgICIgICAgV0hFTiAiIENwcEFzU3Ry aW5nMihMT0dJQ0FMUkVQX1NUUkVBTV9QQVJBTExFTCkgIiBUSEVOICdwYXJhbGxlbCdcbiIKKwkJ CQkJCQkgICIgICBFTkQpIEFTIFwiJXNcIlxuIiwKKwkJCQkJCQkgIGdldHRleHRfbm9vcCgiU3Ry ZWFtaW5nIikpOworCQllbHNlCiAJCQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAotCQkJCQkJCSAg IiwgKHNlbGVjdCBzcnZuYW1lIGZyb20gcGdfY2F0YWxvZy5wZ19mb3JlaWduX3NlcnZlciB3aGVy ZSBvaWQ9c3Vic2VydmVyKSBBUyBcIiVzXCJcbiIsCi0JCQkJCQkJICBnZXR0ZXh0X25vb3AoIlNl cnZlciIpKTsKKwkJCQkJCQkgICIsIHN1YnN0cmVhbSBBUyBcIiVzXCJcbiIsCisJCQkJCQkJICBn ZXR0ZXh0X25vb3AoIlN0cmVhbWluZyIpKTsKIAotCQkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwK LQkJCQkJCQkgICIsIHN1YnJldGFpbmRlYWR0dXBsZXMgQVMgXCIlc1wiXG4iLAotCQkJCQkJCSAg Z2V0dGV4dF9ub29wKCJSZXRhaW4gZGVhZCB0dXBsZXMiKSk7CisJCW5jb2xzKys7CisJfQogCi0J CQlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVmLAotCQkJCQkJCSAgIiwgc3VibWF4cmV0ZW50aW9uIEFT IFwiJXNcIlxuIiwKLQkJCQkJCQkgIGdldHRleHRfbm9vcCgiTWF4IHJldGVudGlvbiBkdXJhdGlv biIpKTsKKwkvKiBUd29fcGhhc2UgYW5kIGRpc2FibGVfb25fZXJyb3IgYXJlIG9ubHkgc3VwcG9y dGVkIGluIHYxNSBhbmQgaGlnaGVyICovCisJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTUwMDAwKQor CXsKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKKwkJCQkJCSAgIiwgc3VidHdvcGhhc2VzdGF0 ZSBBUyBcIiVzXCJcbiIKKwkJCQkJCSAgIiwgc3ViZGlzYWJsZW9uZXJyIEFTIFwiJXNcIlxuIiwK KwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJUd28tcGhhc2UgY29tbWl0IiksCisJCQkJCQkgIGdldHRl eHRfbm9vcCgiRGlzYWJsZSBvbiBlcnJvciIpKTsKKwkJbmNvbHMgKz0gMjsKKwl9CiAKLQkJCWFw cGVuZFBRRXhwQnVmZmVyKCZidWYsCi0JCQkJCQkJICAiLCBzdWJyZXRlbnRpb25hY3RpdmUgQVMg XCIlc1wiXG4iLAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJSZXRlbnRpb24gYWN0aXZlIikpOwot CQl9CisJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTYwMDAwKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZm ZXIoJmJ1ZiwKKwkJCQkJCSAgIiwgc3Vib3JpZ2luIEFTIFwiJXNcIlxuIgorCQkJCQkJICAiLCBz dWJwYXNzd29yZHJlcXVpcmVkIEFTIFwiJXNcIlxuIgorCQkJCQkJICAiLCBzdWJydW5hc293bmVy IEFTIFwiJXNcIlxuIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJPcmlnaW4iKSwKKwkJCQkJCSAg Z2V0dGV4dF9ub29wKCJQYXNzd29yZCByZXF1aXJlZCIpLAorCQkJCQkJICBnZXR0ZXh0X25vb3Ao IlJ1biBhcyBvd25lcj8iKSk7CisJCW5jb2xzICs9IDM7CisJfQogCisJaWYgKHBzZXQuc3ZlcnNp b24gPj0gMTcwMDAwKQorCXsKIAkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCSAgIiwg IHN1YnN5bmNjb21taXQgQVMgXCIlc1wiXG4iCi0JCQkJCQkgICIsICBzdWJjb25uaW5mbyBBUyBc IiVzXCJcbiIsCi0JCQkJCQkgIGdldHRleHRfbm9vcCgiU3luY2hyb25vdXMgY29tbWl0IiksCi0J CQkJCQkgIGdldHRleHRfbm9vcCgiQ29ubmluZm8iKSk7CisJCQkJCQkgICIsIHN1YmZhaWxvdmVy IEFTIFwiJXNcIlxuIiwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJGYWlsb3ZlciIpKTsKKwkJbmNv bHMrKzsKKwl9CiAKLQkJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTkwMDAwKQotCQkJYXBwZW5kUFFF eHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICIsIHN1YndhbHJjdnRpbWVvdXQgQVMgXCIlc1wiXG4i LAotCQkJCQkJCSAgZ2V0dGV4dF9ub29wKCJSZWNlaXZlciB0aW1lb3V0IikpOworCWlmIChwc2V0 LnN2ZXJzaW9uID49IDE5MDAwMCkKKwl7CisJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJ CQkgICIsIChzZWxlY3Qgc3J2bmFtZSBmcm9tIHBnX2NhdGFsb2cucGdfZm9yZWlnbl9zZXJ2ZXIg d2hlcmUgb2lkPXN1YnNlcnZlcikgQVMgXCIlc1wiXG4iCisJCQkJCQkgICIsIHN1YnJldGFpbmRl YWR0dXBsZXMgQVMgXCIlc1wiXG4iCisJCQkJCQkgICIsIHN1Ym1heHJldGVudGlvbiBBUyBcIiVz XCJcbiIKKwkJCQkJCSAgIiwgc3VicmV0ZW50aW9uYWN0aXZlIEFTIFwiJXNcIlxuIiwKKwkJCQkJ CSAgZ2V0dGV4dF9ub29wKCJTZXJ2ZXIiKSwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJSZXRhaW4g ZGVhZCB0dXBsZXMiKSwKKwkJCQkJCSAgZ2V0dGV4dF9ub29wKCJNYXggcmV0ZW50aW9uIGR1cmF0 aW9uIiksCisJCQkJCQkgIGdldHRleHRfbm9vcCgiUmV0ZW50aW9uIGFjdGl2ZSIpKTsKKwkJbmNv bHMgKz0gNDsKKwl9CiAKLQkJLyogU2tpcCBMU04gaXMgb25seSBzdXBwb3J0ZWQgaW4gdjE1IGFu ZCBoaWdoZXIgKi8KLQkJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTUwMDAwKQotCQkJYXBwZW5kUFFF eHBCdWZmZXIoJmJ1ZiwKLQkJCQkJCQkgICIsIHN1YnNraXBsc24gQVMgXCIlc1wiXG4iLAotCQkJ CQkJCSAgZ2V0dGV4dF9ub29wKCJTa2lwIExTTiIpKTsKKwlhcHBlbmRQUUV4cEJ1ZmZlcigmYnVm LAorCQkJCQkgICIsICBzdWJzeW5jY29tbWl0IEFTIFwiJXNcIlxuIgorCQkJCQkgICIsICBzdWJj b25uaW5mbyBBUyBcIiVzXCJcbiIsCisJCQkJCSAgZ2V0dGV4dF9ub29wKCJTeW5jaHJvbm91cyBj b21taXQiKSwKKwkJCQkJICBnZXR0ZXh0X25vb3AoIkNvbm5pbmZvIikpOworCW5jb2xzICs9IDI7 CiAKKwlpZiAocHNldC5zdmVyc2lvbiA+PSAxOTAwMDApCisJewogCQlhcHBlbmRQUUV4cEJ1ZmZl cigmYnVmLAotCQkJCQkJICAiLCAgcGdfY2F0YWxvZy5vYmpfZGVzY3JpcHRpb24ob2lkLCAncGdf c3Vic2NyaXB0aW9uJykgQVMgXCIlc1wiXG4iLAotCQkJCQkJICBnZXR0ZXh0X25vb3AoIkRlc2Ny aXB0aW9uIikpOworCQkJCQkJICAiLCBzdWJ3YWxyY3Z0aW1lb3V0IEFTIFwiJXNcIlxuIiwKKwkJ CQkJCSAgZ2V0dGV4dF9ub29wKCJSZWNlaXZlciB0aW1lb3V0IikpOworCQluY29scysrOworCX0K KworCS8qIFNraXAgTFNOIGlzIG9ubHkgc3VwcG9ydGVkIGluIHYxNSBhbmQgaGlnaGVyICovCisJ aWYgKHBzZXQuc3ZlcnNpb24gPj0gMTUwMDAwKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXIoJmJ1 ZiwKKwkJCQkJCSAgIiwgc3Vic2tpcGxzbiBBUyBcIiVzXCJcbiIsCisJCQkJCQkgIGdldHRleHRf bm9vcCgiU2tpcCBMU04iKSk7CisJCW5jb2xzKys7CisJfQorCisJLyogQ29uZmxpY3QgbG9nIGRl c3RpbmF0aW9uIGlzIHN1cHBvcnRlZCBpbiB2MTkgYW5kIGhpZ2hlciAqLworCWlmIChwc2V0LnN2 ZXJzaW9uID49IDE5MDAwMCkKKwl7CisJCWFwcGVuZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCQkg ICIsIHN1YmNvbmZsaWN0bG9nZGVzdCBBUyBcIiVzXCJcbiIsCisJCQkJCQkgIGdldHRleHRfbm9v cCgiQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIikpOworCQluY29scysrOwogCX0KIAorCWFwcGVu ZFBRRXhwQnVmZmVyKCZidWYsCisJCQkJCSAgIiwgIHBnX2NhdGFsb2cub2JqX2Rlc2NyaXB0aW9u KG9pZCwgJ3BnX3N1YnNjcmlwdGlvbicpIEFTIFwiJXNcIlxuIiwKKwkJCQkJICBnZXR0ZXh0X25v b3AoIkRlc2NyaXB0aW9uIikpOworCW5jb2xzKys7CisKIAkvKiBPbmx5IGRpc3BsYXkgc3Vic2Ny aXB0aW9ucyBpbiBjdXJyZW50IGRhdGFiYXNlLiAqLwogCWFwcGVuZFBRRXhwQnVmZmVyU3RyKCZi dWYsCiAJCQkJCQkgIkZST00gcGdfY2F0YWxvZy5wZ19zdWJzY3JpcHRpb25cbiIKQEAgLTcyMTks MjAgKzczNTIsMTQzIEBAIGRlc2NyaWJlU3Vic2NyaXB0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJu LCBib29sIHZlcmJvc2UpCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKLQlhcHBlbmRQUUV4cEJ1ZmZl clN0cigmYnVmLCAiT1JERVIgQlkgMTsiKTsKKwlhcHBlbmRQUUV4cEJ1ZmZlclN0cigmYnVmLCAi T1JERVIgQlkgc3VibmFtZTsiKTsKIAogCXJlcyA9IFBTUUxleGVjKGJ1Zi5kYXRhKTsKIAl0ZXJt UFFFeHBCdWZmZXIoJmJ1Zik7CiAJaWYgKCFyZXMpCiAJCXJldHVybiBmYWxzZTsKIAotCW15b3B0 LnRpdGxlID0gXygiTGlzdCBvZiBzdWJzY3JpcHRpb25zIik7Ci0JbXlvcHQudHJhbnNsYXRlX2hl YWRlciA9IHRydWU7Ci0JbXlvcHQudHJhbnNsYXRlX2NvbHVtbnMgPSB0cmFuc2xhdGVfY29sdW1u czsKLQlteW9wdC5uX3RyYW5zbGF0ZV9jb2x1bW5zID0gbGVuZ3Rob2YodHJhbnNsYXRlX2NvbHVt bnMpOworCWlmIChQUW50dXBsZXMocmVzKSA9PSAwKQorCXsKKwkJaWYgKCFwc2V0LnF1aWV0KQor CQl7CisJCQlpZiAocGF0dGVybikKKwkJCQlwZ19sb2dfZXJyb3IoIkRpZCBub3QgZmluZCBhbnkg c3Vic2NyaXB0aW9uIG5hbWVkIFwiJXNcIi4iLAorCQkJCQkJCSBwYXR0ZXJuKTsKKwkJCWVsc2UK KwkJCQlwZ19sb2dfZXJyb3IoIkRpZCBub3QgZmluZCBhbnkgc3Vic2NyaXB0aW9ucy4iKTsKKwkJ fQogCi0JcHJpbnRRdWVyeShyZXMsICZteW9wdCwgcHNldC5xdWVyeUZvdXQsIGZhbHNlLCBwc2V0 LmxvZ2ZpbGUpOworCQl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7CisJCVBRY2xlYXIocmVzKTsKKwkJ cmV0dXJuIGZhbHNlOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBQUW50dXBsZXMocmVzKTsgaSsr KQorCXsKKwkJY29uc3QgY2hhcglhbGlnbiA9ICdsJzsKKwkJT2lkCQkJc3ViaWQgPSBhdG9vaWQo UFFnZXR2YWx1ZShyZXMsIGksIDApKTsKKwkJY2hhcgkgICAqc3VibmFtZSA9IFBRZ2V0dmFsdWUo cmVzLCBpLCAxKTsKKwkJY2hhcgkgICAqY29uZmxpY3Rfc2NoZW1hID0gUFFnZXR2YWx1ZShyZXMs IGksIDIpOworCQlpbnQJCQljdXJyZW50X2NvbCA9IDM7CisJCWNoYXIJICAgKmxvZ2Rlc3QgPSAi bG9nIjsKKwkJcHJpbnRUYWJsZU9wdCBteW9wdCA9IHBzZXQucG9wdC50b3B0OworCisJCWluaXRQ UUV4cEJ1ZmZlcigmdGl0bGUpOworCQlwcmludGZQUUV4cEJ1ZmZlcigmdGl0bGUsIF8oIlN1YnNj cmlwdGlvbiAlcyIpLCBzdWJuYW1lKTsKKwkJcHJpbnRUYWJsZUluaXQoJmNvbnQsICZteW9wdCwg dGl0bGUuZGF0YSwgbmNvbHMsIG5yb3dzKTsKKworCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250 LCBnZXR0ZXh0X25vb3AoIk93bmVyIiksIHRydWUsIGFsaWduKTsKKwkJcHJpbnRUYWJsZUFkZEhl YWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJFbmFibGVkIiksIHRydWUsIGFsaWduKTsKKwkJcHJp bnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJQdWJsaWNhdGlvbiIpLCB0cnVl LCBhbGlnbik7CisKKwkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBp LCBjdXJyZW50X2NvbCsrKSwgZmFsc2UsIGZhbHNlKTsKKwkJcHJpbnRUYWJsZUFkZENlbGwoJmNv bnQsIFBRZ2V0dmFsdWUocmVzLCBpLCBjdXJyZW50X2NvbCsrKSwgZmFsc2UsIGZhbHNlKTsKKwkJ cHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCBjdXJyZW50X2NvbCsr KSwgZmFsc2UsIGZhbHNlKTsKKworCQlpZiAocHNldC5zdmVyc2lvbiA+PSAxNDAwMDApCisJCXsK KwkJCXByaW50VGFibGVBZGRIZWFkZXIoJmNvbnQsIGdldHRleHRfbm9vcCgiQmluYXJ5IiksIHRy dWUsIGFsaWduKTsKKwkJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywg aSwgY3VycmVudF9jb2wrKyksIGZhbHNlLCBmYWxzZSk7CisKKwkJCXByaW50VGFibGVBZGRIZWFk ZXIoJmNvbnQsIGdldHRleHRfbm9vcCgiU3RyZWFtaW5nIiksIHRydWUsIGFsaWduKTsKKwkJCXBy aW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgY3VycmVudF9jb2wrKyks IGZhbHNlLCBmYWxzZSk7CisJCX0KKworCQlpZiAocHNldC5zdmVyc2lvbiA+PSAxNTAwMDApCisJ CXsKKwkJCXByaW50VGFibGVBZGRIZWFkZXIoJmNvbnQsIGdldHRleHRfbm9vcCgiVHdvLXBoYXNl IGNvbW1pdCIpLCB0cnVlLCBhbGlnbik7CisJCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFn ZXR2YWx1ZShyZXMsIGksIGN1cnJlbnRfY29sKyspLCBmYWxzZSwgZmFsc2UpOworCisJCQlwcmlu dFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3AoIkRpc2FibGUgb24gZXJyb3IiKSwg dHJ1ZSwgYWxpZ24pOworCQkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVz LCBpLCBjdXJyZW50X2NvbCsrKSwgZmFsc2UsIGZhbHNlKTsKKwkJfQorCisJCWlmIChwc2V0LnN2 ZXJzaW9uID49IDE2MDAwMCkKKwkJeworCQkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0 dGV4dF9ub29wKCJPcmlnaW4iKSwgdHJ1ZSwgYWxpZ24pOworCQkJcHJpbnRUYWJsZUFkZENlbGwo JmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCBjdXJyZW50X2NvbCsrKSwgZmFsc2UsIGZhbHNlKTsK KworCQkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJQYXNzd29yZCBy ZXF1aXJlZCIpLCB0cnVlLCBhbGlnbik7CisJCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFn ZXR2YWx1ZShyZXMsIGksIGN1cnJlbnRfY29sKyspLCBmYWxzZSwgZmFsc2UpOworCisJCQlwcmlu dFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3AoIlJ1biBhcyBvd25lcj8iKSwgdHJ1 ZSwgYWxpZ24pOworCQkJcHJpbnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBp LCBjdXJyZW50X2NvbCsrKSwgZmFsc2UsIGZhbHNlKTsKKwkJfQorCisJCWlmIChwc2V0LnN2ZXJz aW9uID49IDE3MDAwMCkKKwkJeworCQkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4 dF9ub29wKCJGYWlsb3ZlciIpLCB0cnVlLCBhbGlnbik7CisJCQlwcmludFRhYmxlQWRkQ2VsbCgm Y29udCwgUFFnZXR2YWx1ZShyZXMsIGksIGN1cnJlbnRfY29sKyspLCBmYWxzZSwgZmFsc2UpOwor CQl9CisKKwkJaWYgKHBzZXQuc3ZlcnNpb24gPj0gMTkwMDAwKQorCQl7CisJCQlwcmludFRhYmxl QWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3AoIlNlcnZlciIpLCB0cnVlLCBhbGlnbik7CisJ CQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMsIGksIGN1cnJlbnRfY29s KyspLCBmYWxzZSwgZmFsc2UpOworCisJCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0 ZXh0X25vb3AoIlJldGFpbiBkZWFkIHR1cGxlcyIpLCB0cnVlLCBhbGlnbik7CisJCQlwcmludFRh YmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMsIGksIGN1cnJlbnRfY29sKyspLCBmYWxz ZSwgZmFsc2UpOworCisJCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3Ao Ik1heCByZXRlbnRpb24gZHVyYXRpb24iKSwKKwkJCQkJCQkJdHJ1ZSwgYWxpZ24pOworCQkJcHJp bnRUYWJsZUFkZENlbGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCBjdXJyZW50X2NvbCsrKSwg ZmFsc2UsIGZhbHNlKTsKIAorCQkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9u b29wKCJSZXRlbnRpb24gYWN0aXZlIiksIHRydWUsIGFsaWduKTsKKwkJCXByaW50VGFibGVBZGRD ZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwgY3VycmVudF9jb2wrKyksIGZhbHNlLCBmYWxz ZSk7CisJCX0KKworCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3AoIlN5 bmNocm9ub3VzIGNvbW1pdCIpLCB0cnVlLCBhbGlnbik7CisJCXByaW50VGFibGVBZGRDZWxsKCZj b250LCBQUWdldHZhbHVlKHJlcywgaSwgY3VycmVudF9jb2wrKyksIGZhbHNlLCBmYWxzZSk7CisK KwkJcHJpbnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJDb25uaW5mbyIpLCB0 cnVlLCBhbGlnbik7CisJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywg aSwgY3VycmVudF9jb2wrKyksIGZhbHNlLCBmYWxzZSk7CisKKwkJaWYgKHBzZXQuc3ZlcnNpb24g Pj0gMTkwMDAwKQorCQl7CisJCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25v b3AoIlJlY2VpdmVyIHRpbWVvdXQiKSwgdHJ1ZSwgYWxpZ24pOworCQkJcHJpbnRUYWJsZUFkZENl bGwoJmNvbnQsIFBRZ2V0dmFsdWUocmVzLCBpLCBjdXJyZW50X2NvbCsrKSwgZmFsc2UsIGZhbHNl KTsKKwkJfQorCisJCWlmIChwc2V0LnN2ZXJzaW9uID49IDE1MDAwMCkKKwkJeworCQkJcHJpbnRU YWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJTa2lwIExTTiIpLCB0cnVlLCBhbGln bik7CisJCQlwcmludFRhYmxlQWRkQ2VsbCgmY29udCwgUFFnZXR2YWx1ZShyZXMsIGksIGN1cnJl bnRfY29sKyspLCBmYWxzZSwgZmFsc2UpOworCQl9CisKKwkJaWYgKHBzZXQuc3ZlcnNpb24gPj0g MTkwMDAwKQorCQl7CisJCQlwcmludFRhYmxlQWRkSGVhZGVyKCZjb250LCBnZXR0ZXh0X25vb3Ao IkNvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiIpLAorCQkJCQkJCQl0cnVlLCBhbGlnbik7CisKKwkJ CWxvZ2Rlc3QgPSBQUWdldHZhbHVlKHJlcywgaSwgY3VycmVudF9jb2wrKyk7CisKKwkJCXByaW50 VGFibGVBZGRDZWxsKCZjb250LCBsb2dkZXN0LCBmYWxzZSwgZmFsc2UpOworCQl9CisKKwkJcHJp bnRUYWJsZUFkZEhlYWRlcigmY29udCwgZ2V0dGV4dF9ub29wKCJEZXNjcmlwdGlvbiIpLCB0cnVl LCBhbGlnbik7CisJCXByaW50VGFibGVBZGRDZWxsKCZjb250LCBQUWdldHZhbHVlKHJlcywgaSwg Y3VycmVudF9jb2wrKyksIGZhbHNlLCBmYWxzZSk7CisKKwkJYWRkRm9vdGVyVG9TdWJzY3JpcHRp b25EZXNjKGxvZ2Rlc3QsIGNvbmZsaWN0X3NjaGVtYSwgc3ViaWQsICZjb250KTsKKworCQlwcmlu dFRhYmxlKCZjb250LCBwc2V0LnF1ZXJ5Rm91dCwgZmFsc2UsIHBzZXQubG9nZmlsZSk7CisJCXBy aW50VGFibGVDbGVhbnVwKCZjb250KTsKKworCQl0ZXJtUFFFeHBCdWZmZXIoJnRpdGxlKTsKKwl9 CisKKwl0ZXJtUFFFeHBCdWZmZXIoJmJ1Zik7CiAJUFFjbGVhcihyZXMpOwogCXJldHVybiB0cnVl OwogfQpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wc3FsL2Rlc2NyaWJlLmggYi9zcmMvYmluL3BzcWwv ZGVzY3JpYmUuaAppbmRleCA0N2ZhZTVjZWFmYi4uMTVjNmM2ODUzMjMgMTAwNjQ0Ci0tLSBhL3Ny Yy9iaW4vcHNxbC9kZXNjcmliZS5oCisrKyBiL3NyYy9iaW4vcHNxbC9kZXNjcmliZS5oCkBAIC0x MjYsNyArMTI2LDEwIEBAIGJvb2wJCWxpc3RQdWJsaWNhdGlvbnMoY29uc3QgY2hhciAqcGF0dGVy bik7CiBib29sCQlkZXNjcmliZVB1YmxpY2F0aW9ucyhjb25zdCBjaGFyICpwYXR0ZXJuKTsKIAog LyogXGRScyAqLwotYm9vbAkJZGVzY3JpYmVTdWJzY3JpcHRpb25zKGNvbnN0IGNoYXIgKnBhdHRl cm4sIGJvb2wgdmVyYm9zZSk7Citib29sCQlsaXN0U3Vic2NyaXB0aW9ucyhjb25zdCBjaGFyICpw YXR0ZXJuKTsKKworLyogXGRScysgKi8KK2Jvb2wJCWRlc2NyaWJlU3Vic2NyaXB0aW9ucyhjb25z dCBjaGFyICpwYXR0ZXJuKTsKIAogLyogXGRBYyAqLwogZXh0ZXJuIGJvb2wgbGlzdE9wZXJhdG9y Q2xhc3Nlcyhjb25zdCBjaGFyICphY2Nlc3NfbWV0aG9kX3BhdHRlcm4sCmRpZmYgLS1naXQgYS9z cmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5vdXQKaW5kZXggZDIwMWFkNzY0ZjAuLjU2ZDZhYTk0 YTRjIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N1YnNjcmlwdGlvbi5v dXQKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdWJzY3JpcHRpb24ub3V0CkBAIC0x MzksMTggKzEzOSwxOCBAQCBDUkVBVEUgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YjQgQ09O TkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0JyBQVQogV0FSTklORzogIHN1YnNj cmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0 aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlv biBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRp b24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMuCiBcZFJzKyByZWdyZXNzX3Rlc3RzdWI0Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAg ICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBo YXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJl ZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxl cyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25v dXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91 dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190 ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9 ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgICB8IG5vbmUgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAg ICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAg MCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVz c19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJzY3JpcHRp b24gcmVncmVzc190ZXN0c3ViNAorICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVk IHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwg RGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93 bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVu dGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAg ICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNO ICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3Rw dWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICAgICB8IG5vbmUgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYg ICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVn cmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IGxvZyAg ICAgICAgICAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViNCBTRVQgKG9yaWdpbiA9IGFueSk7CiBcZFJzKyByZWdyZXNzX3Rlc3RzdWI0 Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExp c3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVn cmVzc190ZXN0c3ViNCB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJz Y3JpcHRpb24gcmVncmVzc190ZXN0c3ViNAorICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4 IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21t aXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNr aXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IERlc2NyaXB0aW9uIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8 IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBEUk9QIFNVQlNDUklQVElP TiByZWdyZXNzX3Rlc3RzdWIzOwpAQCAtMjM3LDEwICsyMzcsMTAgQEAgQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdmb29iYXInOwogRVJST1I6ICBpbnZhbGlk IGNvbm5lY3Rpb24gc3RyaW5nIHN5bnRheDogbWlzc2luZyAiPSIgYWZ0ZXIgImZvb2JhciIgaW4g Y29ubmVjdGlvbiBpbmZvIHN0cmluZwogCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAg ICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1 YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2Fi bGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8g fCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24g ZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCAg ICBEZXNjcmlwdGlvbiAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIg fCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAg ICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBh bnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNjcmlwdGlv bgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3Vic2NyaXB0aW9uIHJlZ3Jlc3NfdGVzdHN1YgorICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0 IHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8ICAgIERlc2NyaXB0aW9u ICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAg ICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAg ICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAg ICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAg ICAgIHwgMC8wMDAwMDAwMCB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IHRlc3Qgc3Vic2Ny aXB0aW9uCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VU IFBVQkxJQ0FUSU9OIHRlc3RwdWIyLCB0ZXN0cHViMyBXSVRIIChyZWZyZXNoID0gZmFsc2UpOwpA QCAtMjQ5LDEwICsyNDksMTAgQEAgQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBT RVQgKHNsb3RfbmFtZSA9ICduZXduYW1lJyk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190 ZXN0c3ViIFNFVCAocGFzc3dvcmRfcmVxdWlyZWQgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIFNFVCAocnVuX2FzX293bmVyID0gdHJ1ZSk7CiBcZFJzKwotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVy ICAgICAgICAgICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3Ry ZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQ YXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJl dGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0 aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8 IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgICAgRGVzY3JpcHRpb24gICAgCi0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJz Y3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAgIHwg cGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAg fCBmICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8 IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAg ICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0 MiB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgdGVzdCBzdWJzY3JpcHRpb24KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdWJzY3JpcHRpb24gcmVncmVzc190ZXN0c3ViCisgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEVuYWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVy IHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgICAgRGVz Y3JpcHRpb24gICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwg ZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAg fCBhbnkgICAgfCBmICAgICAgICAgICAgICAgICB8IHQgICAgICAgICAgICAgfCBmICAgICAgICB8 ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IDAgICAgICAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0MiB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgbG9nICAgICAgICAg ICAgICAgICAgICAgIHwgdGVzdCBzdWJzY3JpcHRpb24KICgxIHJvdykKIAogQUxURVIgU1VCU0NS SVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHBhc3N3b3JkX3JlcXVpcmVkID0gdHJ1ZSk7CkBA IC0yNjgsMTAgKzI2OCwxMCBAQCBFUlJPUjogIHVucmVjb2duaXplZCBzdWJzY3JpcHRpb24gcGFy YW1ldGVyOiAiY3JlYXRlX3Nsb3QiCiAtLSBvawogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YiBTS0lQIChsc24gPSAnMC8xMjM0NScpOwogXGRScysKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2Ny aXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1w aGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWly ZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBs ZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1l b3V0IHwgIFNraXAgTFNOICB8ICAgIERlc2NyaXB0aW9uICAgIAotLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIg fCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAg ICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAg ICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAg ICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAtMSAgICAgICAg ICAgICAgIHwgMC8wMDAxMjM0NSB8IHRlc3Qgc3Vic2NyaXB0aW9uCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vic2NyaXB0aW9u IHJlZ3Jlc3NfdGVzdHN1YgorICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwg ICAgIFB1YmxpY2F0aW9uICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21t aXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4g YXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXgg cmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1p dCB8ICAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNr aXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8ICAgIERlc2NyaXB0aW9uICAgIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0 aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFs bGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCAt MSAgICAgICAgICAgICAgIHwgMC8wMDAxMjM0NSB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8 IHRlc3Qgc3Vic2NyaXB0aW9uCiAoMSByb3cpCiAKIC0tIG9rIC0gd2l0aCBsc24gPSBOT05FCkBA IC0yODAsMTAgKzI4MCwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNL SVAgKGxzbiA9IE5PTkUpOwogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBTS0lQ IChsc24gPSAnMC8wJyk7CiBFUlJPUjogIGludmFsaWQgV0FMIGxvY2F0aW9uIChMU04pOiAwLzAK IFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAg ICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBC aW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8 IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwg U2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJl dGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8g ICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlv biAgICAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCBy ZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0ZXN0cHViM30g fCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCB0ZXN0IHN1YnNj cmlwdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFN1YnNjcmlwdGlvbiByZWdyZXNzX3Rlc3RzdWIKKyAgICAgICAgICAgT3du ZXIgICAgICAgICAgIHwgRW5hYmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBT dHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8 IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwg UmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBh Y3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAg IHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRp b24gfCAgICBEZXNjcmlwdGlvbiAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0KKyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViMix0 ZXN0cHViM30gfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QyIHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCBs b2cgICAgICAgICAgICAgICAgICAgICAgfCB0ZXN0IHN1YnNjcmlwdGlvbgogKDEgcm93KQogCiBC RUdJTjsKQEAgLTMxOSwxMCArMzE5LDEwIEBAIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rl c3RzdWJfZm9vIFNFVCAod2FsX3JlY2VpdmVyX3RpbWVvdXQgPSAnODBzJyk7CiBBTFRFUiBTVUJT Q1JJUFRJT04gcmVncmVzc190ZXN0c3ViX2ZvbyBTRVQgKHdhbF9yZWNlaXZlcl90aW1lb3V0ID0g J2Zvb2JhcicpOwogRVJST1I6ICBpbnZhbGlkIHZhbHVlIGZvciBwYXJhbWV0ZXIgIndhbF9yZWNl aXZlcl90aW1lb3V0IjogImZvb2JhciIKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9u cwotICAgICAgICBOYW1lICAgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5h YmxlZCB8ICAgICBQdWJsaWNhdGlvbiAgICAgfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91 dCB8ICBTa2lwIExTTiAgfCAgICBEZXNjcmlwdGlvbiAgICAKLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViX2ZvbyB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9u X3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIyLHRlc3RwdWIzfSB8IGYgICAgICB8IHBhcmFsbGVs ICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8 IGxvY2FsICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdDIgfCA4MHMg ICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IHRlc3Qgc3Vic2NyaXB0aW9uCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnNjcmlw dGlvbiByZWdyZXNzX3Rlc3RzdWJfZm9vCisgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVu YWJsZWQgfCAgICAgUHVibGljYXRpb24gICAgIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBo YXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJl ZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxl cyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25v dXMgY29tbWl0IHwgICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVv dXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgICAgRGVzY3JpcHRp b24gICAgCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tCisgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1YjIsdGVzdHB1YjN9IHwgZiAgICAg IHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkg ICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAg ICB8IGYgICAgICAgICAgICAgICAgICB8IDAgICAgICAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgICAgIHwgbG9jYWwgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4 aXN0MiB8IDgwcyAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgbG9nICAgICAgICAgICAgICAg ICAgICAgIHwgdGVzdCBzdWJzY3JpcHRpb24KICgxIHJvdykKIAogLS0gcmVuYW1lIGJhY2sgdG8g a2VlcCB0aGUgcmVzdCBzaW1wbGUKQEAgLTM1MSwxOSArMzUxLDE5IEBAIENSRUFURSBTVUJTQ1JJ UFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90 IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51 YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9u LCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxk UnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25l ciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcg fCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3Jk IHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRl YWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBT eW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZl ciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJl Z3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rl c3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8 IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9 cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vi c2NyaXB0aW9uIHJlZ3Jlc3NfdGVzdHN1YgorICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBF bmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29t bWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVu IGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4 IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21t aXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNr aXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IERlc2NyaXB0aW9uIAorLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwg e3Rlc3RwdWJ9ICAgfCB0ICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAg ICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAg ICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5h bWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8 IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJ T04gcmVncmVzc190ZXN0c3ViIFNFVCAoYmluYXJ5ID0gZmFsc2UpOwogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwogXGRScysKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBz dWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAg ICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFz ZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQg fCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMg fCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3Vz IGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQg fCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0 c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8 IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAg IHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAg fCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwg ZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2Rv ZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJzY3JpcHRpb24g cmVncmVzc190ZXN0c3ViCisgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9u IGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwg Q29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tCisgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0g ICB8IGYgICAgICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAg ICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNz X2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgbG9nICAgICAg ICAgICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIERST1AgU1VCU0NSSVBUSU9OIHJlZ3Jlc3Nf dGVzdHN1YjsKQEAgLTM3NSwyNyArMzc1LDI3IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBX QVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAog SElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUg dGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIg dGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vi c2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAg fCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2Ug Y29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwg UnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwg TWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBj b21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwg IFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1 YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBm ICAgICAgfCBvbiAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwg ICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYg ICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vic2NyaXB0aW9uIHJl Z3Jlc3NfdGVzdHN1YgorICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBk dXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IENv bmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBvbiAgICAgICAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IGxvZyAgICAgICAg ICAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190 ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gcGFyYWxsZWwpOwogXGRScysKLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRp b25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJs ZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQg fCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMg b3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0 ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8 ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBM U04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVn cmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8 IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAg IHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAg fCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAg ICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlz dCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJzY3JpcHRpb24gcmVncmVzc190 ZXN0c3ViCisgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlv biB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVy cm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92 ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9u IHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5p bmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3Qg bG9nIGRlc3RpbmF0aW9uIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisg cmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAg ICB8IHBhcmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55 ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAg ICAgfCBmICAgICAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3Rl eGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgbG9nICAgICAgICAgICAgICAg ICAgICAgIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg U0VUIChzdHJlYW1pbmcgPSBmYWxzZSk7CiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0 c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAg ICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1 YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2Fi bGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8g fCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24g ZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAg ICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBE ZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1 YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2ZmICAg ICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAg ICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAg ICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAg IHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEg ICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnNjcmlwdGlvbiByZWdyZXNzX3Rlc3RzdWIK KyAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmlu YXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBP cmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNl cnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRl bnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAg ICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVz dGluYXRpb24gfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNz X3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgb2Zm ICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0 ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYg ICAgICAgICAgICAgICAgICB8IDAgICAgICAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAg ICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwg LTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAg fCAKICgxIHJvdykKIAogLS0gZmFpbCAtIHB1YmxpY2F0aW9uIGFscmVhZHkgZXhpc3RzCkBAIC00 MTAsMTAgKzQxMCwxMCBAQCBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIEFERCBQ VUJMSUNBVElPTiB0ZXN0cHViMSwgdGVzdHB1YjIgV0lUSCAocmVmcgogQUxURVIgU1VCU0NSSVBU SU9OIHJlZ3Jlc3NfdGVzdHN1YiBBREQgUFVCTElDQVRJT04gdGVzdHB1YjEsIHRlc3RwdWIyIFdJ VEggKHJlZnJlc2ggPSBmYWxzZSk7CiBFUlJPUjogIHB1YmxpY2F0aW9uICJ0ZXN0cHViMSIgaXMg YWxyZWFkeSBpbiBzdWJzY3JpcHRpb24gInJlZ3Jlc3NfdGVzdHN1YiIKIFxkUnMrCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlz dCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAg ICAgICAgICB8IEVuYWJsZWQgfCAgICAgICAgIFB1YmxpY2F0aW9uICAgICAgICAgfCBCaW5hcnkg fCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdp biB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVy IHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlv biBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAg ICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNj cmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHViLHRlc3RwdWIxLHRlc3RwdWIyfSB8IGYg ICAgICB8IG9mZiAgICAgICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwg YW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAg ICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAg ICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNu b3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnNjcmlw dGlvbiByZWdyZXNzX3Rlc3RzdWIKKyAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxl ZCB8ICAgICAgICAgUHVibGljYXRpb24gICAgICAgICB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3 by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVx dWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0 dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNo cm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRp bWVvdXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgRGVzY3JpcHRp b24gCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWIsdGVzdHB1YjEsdGVzdHB1YjJ9IHwg ZiAgICAgIHwgb2ZmICAgICAgIHwgZCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAg fCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8 ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IDAgICAgICAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCBsb2cgICAgICAgICAg ICAgICAgICAgICAgfCAKICgxIHJvdykKIAogLS0gZmFpbCAtIHB1YmxpY2F0aW9uIHVzZWQgbW9y ZSB0aGFuIG9uY2UKQEAgLTQyOCwxMCArNDI4LDEwIEBAIEVSUk9SOiAgcHVibGljYXRpb24gInRl c3RwdWIzIiBpcyBub3QgaW4gc3Vic2NyaXB0aW9uICJyZWdyZXNzX3Rlc3RzdWIiCiAtLSBvayAt IGRlbGV0ZSBwdWJsaWNhdGlvbnMKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIg RFJPUCBQVUJMSUNBVElPTiB0ZXN0cHViMSwgdGVzdHB1YjIgV0lUSCAocmVmcmVzaCA9IGZhbHNl KTsKIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAg ICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJl YW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBh c3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0 YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3Rp dmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBS ZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAg IHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAgIHwg ZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAg ICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAg ICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBk Ym5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAw MCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3Vic2NyaXB0aW9uIHJlZ3Jlc3NfdGVzdHN1YgorICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0 IHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IERlc2NyaXB0aW9uIAor LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAg ICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBvZmYgICAgICAgfCBkICAgICAgICAgICAgICAg IHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAg ICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAg ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAg fCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAw MDAwMCB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBEUk9QIFNVQlND UklQVElPTiByZWdyZXNzX3Rlc3RzdWI7CkBAIC00NjcsMTkgKzQ2NywxOSBAQCBDUkVBVEUgU1VC U0NSSVBUSU9OIHJlZ3Jlc3NfdGVzdHN1YiBDT05ORUNUSU9OICdkYm5hbWU9cmVncmVzc19kb2Vz bm90ZXhpc3QnIFBVQgogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRlZCwgYnV0IGlz IG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwgeW91IG11c3Qg bWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhlIHN1YnNjcmlw dGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJsaWNhdGlvbnMu CiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAg T3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFt aW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNz d29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFp biBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZl IHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVj ZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0r LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0K LSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8 IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgcCAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAg ICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAg ICAgICAgICAgIDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJu YW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAg fCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN1YnNjcmlwdGlvbiByZWdyZXNzX3Rlc3RzdWIKKyAgICAgICAgICAgT3duZXIgICAgICAgICAg IHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNl IGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8 IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8 IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMg Y29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8 ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBEZXNjcmlwdGlvbiAKKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0t LSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAg ICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgcCAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAg ICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IDAgICAgICAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwg ZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAw MDAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAKICgxIHJvdykKIAogLS0gd2UgY2FuIGFs dGVyIHN0cmVhbWluZyB3aGVuIHR3b19waGFzZSBlbmFibGVkCiBBTFRFUiBTVUJTQ1JJUFRJT04g cmVncmVzc190ZXN0c3ViIFNFVCAoc3RyZWFtaW5nID0gdHJ1ZSk7CiBcZFJzKwotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNj cmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwg RW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNv bW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1 biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1h eCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29t bWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBT a2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIg fCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAg ICAgIHwgb24gICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBh bnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAg ICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgIDAgfCBmICAg ICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25v dGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN1YnNjcmlwdGlvbiByZWdy ZXNzX3Rlc3RzdWIKKyAgICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1Ymxp Y2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUg b24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBG YWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVy YXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAg Q29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBDb25m bGljdCBsb2cgZGVzdGluYXRpb24gfCBEZXNjcmlwdGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0KKyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwg ZiAgICAgIHwgb24gICAgICAgIHwgcCAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgICAg fCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAgfCBmICAgICAgICB8 ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8IDAgICAgICAgICAgICAgICAgICAgICAgfCBm ICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9l c25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAvMDAwMDAwMDAgfCBsb2cgICAgICAgICAg ICAgICAgICAgICAgfCAKICgxIHJvdykKIAogQUxURVIgU1VCU0NSSVBUSU9OIHJlZ3Jlc3NfdGVz dHN1YiBTRVQgKHNsb3RfbmFtZSA9IE5PTkUpOwpAQCAtNDg5LDEwICs0ODksMTAgQEAgQ1JFQVRF IFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgQ09OTkVDVElPTiAnZGJuYW1lPXJlZ3Jlc3Nf ZG9lc25vdGV4aXN0JyBQVUIKIFdBUk5JTkc6ICBzdWJzY3JpcHRpb24gd2FzIGNyZWF0ZWQsIGJ1 dCBpcyBub3QgY29ubmVjdGVkCiBISU5UOiAgVG8gaW5pdGlhdGUgcmVwbGljYXRpb24sIHlvdSBt dXN0IG1hbnVhbGx5IGNyZWF0ZSB0aGUgcmVwbGljYXRpb24gc2xvdCwgZW5hYmxlIHRoZSBzdWJz Y3JpcHRpb24sIGFuZCBhbHRlciB0aGUgc3Vic2NyaXB0aW9uIHRvIHJlZnJlc2ggcHVibGljYXRp b25zLgogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBOYW1lICAgICAgIHwgICAgICAg ICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0 cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwg UGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBS ZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFj dGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8 IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3JpcHRpb24gCi0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAg ICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAgICAg fCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAgICAg ICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAgICAgICAg ICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAgICB8 IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAw MDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBTdWJzY3JpcHRpb24gcmVncmVzc190ZXN0c3ViCisgICAgICAgICAgIE93bmVyICAgICAg ICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1w aGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWly ZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBs ZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9u b3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVv dXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHwgRGVzY3JpcHRpb24g CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0t LS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19zdWJzY3JpcHRpb25fdXNlciB8IGYg ICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IG9uICAgICAgICB8IHAgICAgICAgICAgICAg ICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAgICAgICAgICAgfCBmICAg ICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAgICAgICAgICAgfCAwICAg ICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IG9mZiAgICAgICAgICAgICAg ICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAgICAgICAgICAgfCAwLzAw MDAwMDAwIHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgCiAoMSByb3cpCiAKIEFMVEVSIFNV QlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25hbWUgPSBOT05FKTsKQEAgLTUw NSwxOCArNTA1LDE4IEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIENPTk5F Q1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVCCiBXQVJOSU5HOiAgc3Vic2Ny aXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3RlZAogSElOVDogIFRvIGluaXRp YXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVhdGUgdGhlIHJlcGxpY2F0aW9u IHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0ZXIgdGhlIHN1YnNjcmlwdGlv biB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Ygc3Vic2NyaXB0aW9ucwotICAg ICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVi bGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJs ZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8 IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBk dXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAg ICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IERl c2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVzdHN1YiB8IHJlZ3Jlc3Nfc3Vi c2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJhbGxl bCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQgICAg ICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAgICAg ICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8IGYgICAgICAgICAgICAgICAg fCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAtMSAg ICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vic2NyaXB0aW9uIHJlZ3Jlc3NfdGVzdHN1Ygor ICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5h cnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9y aWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2Vy dmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVu dGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAg ICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8IENvbmZsaWN0IGxvZyBkZXN0 aW5hdGlvbiB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQorIHJlZ3Jlc3Nf c3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAgfCBmICAgICAgfCBwYXJh bGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8IGFueSAgICB8IHQg ICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAgIHwgICAgICAgIHwgZiAg ICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAgICB8IGYgICAgICAgICAgICAg ICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19kb2Vzbm90ZXhpc3QgfCAt MSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IGxvZyAgICAgICAgICAgICAgICAgICAgICB8 IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAoZGlz YWJsZV9vbl9lcnJvciA9IHRydWUpOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0gICAgICBO YW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNh dGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9u IGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFp bG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0 aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENv bm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgRGVzY3Jp cHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19zdWJzY3Jp cHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVsICB8 IGQgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAgICAg ICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAgICAg ICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAgICB8IG9m ZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAgICAg ICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdWJzY3JpcHRpb24gcmVncmVzc190ZXN0c3ViCisgICAg ICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJpbmFyeSB8 IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwgT3JpZ2lu IHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBTZXJ2ZXIg fCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0ZW50aW9u IGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAgICAgICAg ICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRlc3RpbmF0 aW9uIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVzc19zdWJz Y3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFsbGVs ICB8IGQgICAgICAgICAgICAgICAgfCB0ICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAgICAg ICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAgICAg ICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAgICB8 IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0xICAg ICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgbG9nICAgICAgICAgICAgICAgICAgICAgIHwgCiAo MSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChzbG90X25h bWUgPSBOT05FKTsKQEAgLTUyOSwxMCArNTI5LDEwIEBAIENSRUFURSBTVUJTQ1JJUFRJT04gcmVn cmVzc190ZXN0c3ViIENPTk5FQ1RJT04gJ2RibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCcgUFVC CiBXQVJOSU5HOiAgc3Vic2NyaXB0aW9uIHdhcyBjcmVhdGVkLCBidXQgaXMgbm90IGNvbm5lY3Rl ZAogSElOVDogIFRvIGluaXRpYXRlIHJlcGxpY2F0aW9uLCB5b3UgbXVzdCBtYW51YWxseSBjcmVh dGUgdGhlIHJlcGxpY2F0aW9uIHNsb3QsIGVuYWJsZSB0aGUgc3Vic2NyaXB0aW9uLCBhbmQgYWx0 ZXIgdGhlIHN1YnNjcmlwdGlvbiB0byByZWZyZXNoIHB1YmxpY2F0aW9ucy4KIFxkUnMrCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpc3Qgb2Yg c3Vic2NyaXB0aW9ucwotICAgICAgTmFtZSAgICAgICB8ICAgICAgICAgICBPd25lciAgICAgICAg ICAgfCBFbmFibGVkIHwgUHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhh c2UgY29tbWl0IHwgRGlzYWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVk IHwgUnVuIGFzIG93bmVyPyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVz IHwgTWF4IHJldGVudGlvbiBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91 cyBjb21taXQgfCAgICAgICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0 IHwgIFNraXAgTFNOICB8IERlc2NyaXB0aW9uIAotLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLQotIHJlZ3Jlc3NfdGVz dHN1YiB8IHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9ICAg fCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICAg ICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAgICAg IHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgMCB8 IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVzc19k b2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3Vic2NyaXB0aW9u IHJlZ3Jlc3NfdGVzdHN1YgorICAgICAgICAgICBPd25lciAgICAgICAgICAgfCBFbmFibGVkIHwg UHVibGljYXRpb24gfCBCaW5hcnkgfCBTdHJlYW1pbmcgfCBUd28tcGhhc2UgY29tbWl0IHwgRGlz YWJsZSBvbiBlcnJvciB8IE9yaWdpbiB8IFBhc3N3b3JkIHJlcXVpcmVkIHwgUnVuIGFzIG93bmVy PyB8IEZhaWxvdmVyIHwgU2VydmVyIHwgUmV0YWluIGRlYWQgdHVwbGVzIHwgTWF4IHJldGVudGlv biBkdXJhdGlvbiB8IFJldGVudGlvbiBhY3RpdmUgfCBTeW5jaHJvbm91cyBjb21taXQgfCAgICAg ICAgICBDb25uaW5mbyAgICAgICAgICAgfCBSZWNlaXZlciB0aW1lb3V0IHwgIFNraXAgTFNOICB8 IENvbmZsaWN0IGxvZyBkZXN0aW5hdGlvbiB8IERlc2NyaXB0aW9uIAorLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LS0tLS0tLQorIHJlZ3Jlc3Nfc3Vic2NyaXB0aW9uX3VzZXIgfCBmICAgICAgIHwge3Rlc3RwdWJ9 ICAgfCBmICAgICAgfCBwYXJhbGxlbCAgfCBkICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgICB8IGFueSAgICB8IHQgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAgICB8IGYgICAg ICAgIHwgICAgICAgIHwgZiAgICAgICAgICAgICAgICAgIHwgMCAgICAgICAgICAgICAgICAgICAg ICB8IGYgICAgICAgICAgICAgICAgfCBvZmYgICAgICAgICAgICAgICAgfCBkYm5hbWU9cmVncmVz c19kb2Vzbm90ZXhpc3QgfCAtMSAgICAgICAgICAgICAgIHwgMC8wMDAwMDAwMCB8IGxvZyAgICAg ICAgICAgICAgICAgICAgICB8IAogKDEgcm93KQogCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVz c190ZXN0c3ViIFNFVCAoc2xvdF9uYW1lID0gTk9ORSk7CkBAIC01NDksMTAgKzU0OSwxMCBAQCBO T1RJQ0U6ICBtYXhfcmV0ZW50aW9uX2R1cmF0aW9uIGlzIGluZWZmZWN0aXZlIHdoZW4gcmV0YWlu X2RlYWRfdHVwbGVzIGlzIGRpc2FibAogV0FSTklORzogIHN1YnNjcmlwdGlvbiB3YXMgY3JlYXRl ZCwgYnV0IGlzIG5vdCBjb25uZWN0ZWQKIEhJTlQ6ICBUbyBpbml0aWF0ZSByZXBsaWNhdGlvbiwg eW91IG11c3QgbWFudWFsbHkgY3JlYXRlIHRoZSByZXBsaWNhdGlvbiBzbG90LCBlbmFibGUgdGhl IHN1YnNjcmlwdGlvbiwgYW5kIGFsdGVyIHRoZSBzdWJzY3JpcHRpb24gdG8gcmVmcmVzaCBwdWJs aWNhdGlvbnMuCiBcZFJzKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMaXN0IG9mIHN1YnNjcmlwdGlvbnMKLSAgICAgIE5hbWUgICAgICAgfCAg ICAgICAgICAgT3duZXIgICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5 IHwgU3RyZWFtaW5nIHwgVHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmln aW4gfCBQYXNzd29yZCByZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZl ciB8IFJldGFpbiBkZWFkIHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRp b24gYWN0aXZlIHwgU3luY2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAg ICAgIHwgUmVjZWl2ZXIgdGltZW91dCB8ICBTa2lwIExTTiAgfCBEZXNjcmlwdGlvbiAKLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0t LS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0KLSByZWdyZXNzX3Rlc3RzdWIgfCByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2VyIHwg ZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAgICAg ICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8IGYg ICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8ICAg ICAgICAgICAgICAgICAgIDEwMDAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAgICAg ICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8IDAv MDAwMDAwMDAgfCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFN1YnNjcmlwdGlvbiByZWdyZXNzX3Rlc3RzdWIKKyAgICAgICAgICAgT3duZXIg ICAgICAgICAgIHwgRW5hYmxlZCB8IFB1YmxpY2F0aW9uIHwgQmluYXJ5IHwgU3RyZWFtaW5nIHwg VHdvLXBoYXNlIGNvbW1pdCB8IERpc2FibGUgb24gZXJyb3IgfCBPcmlnaW4gfCBQYXNzd29yZCBy ZXF1aXJlZCB8IFJ1biBhcyBvd25lcj8gfCBGYWlsb3ZlciB8IFNlcnZlciB8IFJldGFpbiBkZWFk IHR1cGxlcyB8IE1heCByZXRlbnRpb24gZHVyYXRpb24gfCBSZXRlbnRpb24gYWN0aXZlIHwgU3lu Y2hyb25vdXMgY29tbWl0IHwgICAgICAgICAgQ29ubmluZm8gICAgICAgICAgIHwgUmVjZWl2ZXIg dGltZW91dCB8ICBTa2lwIExTTiAgfCBDb25mbGljdCBsb2cgZGVzdGluYXRpb24gfCBEZXNjcmlw dGlvbiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0t LSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0t LS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0KKyByZWdyZXNzX3N1YnNjcmlwdGlvbl91c2Vy IHwgZiAgICAgICB8IHt0ZXN0cHVifSAgIHwgZiAgICAgIHwgcGFyYWxsZWwgIHwgZCAgICAgICAg ICAgICAgICB8IGYgICAgICAgICAgICAgICAgfCBhbnkgICAgfCB0ICAgICAgICAgICAgICAgICB8 IGYgICAgICAgICAgICAgfCBmICAgICAgICB8ICAgICAgICB8IGYgICAgICAgICAgICAgICAgICB8 IDEwMDAgICAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgb2ZmICAgICAgICAg ICAgICAgIHwgZGJuYW1lPXJlZ3Jlc3NfZG9lc25vdGV4aXN0IHwgLTEgICAgICAgICAgICAgICB8 IDAvMDAwMDAwMDAgfCBsb2cgICAgICAgICAgICAgICAgICAgICAgfCAKICgxIHJvdykKIAogLS0g ZmFpbCAtIG1heF9yZXRlbnRpb25fZHVyYXRpb24gbXVzdCBiZSBub24tbmVnYXRpdmUKQEAgLTU2 MSwxMCArNTYxLDEwIEBAIEVSUk9SOiAgbWF4X3JldGVudGlvbl9kdXJhdGlvbiBjYW5ub3QgYmUg bmVnYXRpdmUKIC0tIG9rCiBBTFRFUiBTVUJTQ1JJUFRJT04gcmVncmVzc190ZXN0c3ViIFNFVCAo bWF4X3JldGVudGlvbl9kdXJhdGlvbiA9IDApOwogXGRScysKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGlzdCBvZiBzdWJzY3JpcHRpb25zCi0g ICAgICBOYW1lICAgICAgIHwgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQ dWJsaWNhdGlvbiB8IEJpbmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNh YmxlIG9uIGVycm9yIHwgT3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/ IHwgRmFpbG92ZXIgfCBTZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9u IGR1cmF0aW9uIHwgUmV0ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAg ICAgIENvbm5pbmZvICAgICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwg RGVzY3JpcHRpb24gCi0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0t LS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCi0gcmVncmVzc190ZXN0c3ViIHwgcmVncmVzc19z dWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBhcmFs bGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwgdCAg ICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBmICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAwIHwgZiAgICAgICAgICAgICAg ICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8IC0x ICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdWJzY3JpcHRpb24gcmVncmVzc190ZXN0c3Vi CisgICAgICAgICAgIE93bmVyICAgICAgICAgICB8IEVuYWJsZWQgfCBQdWJsaWNhdGlvbiB8IEJp bmFyeSB8IFN0cmVhbWluZyB8IFR3by1waGFzZSBjb21taXQgfCBEaXNhYmxlIG9uIGVycm9yIHwg T3JpZ2luIHwgUGFzc3dvcmQgcmVxdWlyZWQgfCBSdW4gYXMgb3duZXI/IHwgRmFpbG92ZXIgfCBT ZXJ2ZXIgfCBSZXRhaW4gZGVhZCB0dXBsZXMgfCBNYXggcmV0ZW50aW9uIGR1cmF0aW9uIHwgUmV0 ZW50aW9uIGFjdGl2ZSB8IFN5bmNocm9ub3VzIGNvbW1pdCB8ICAgICAgICAgIENvbm5pbmZvICAg ICAgICAgICB8IFJlY2VpdmVyIHRpbWVvdXQgfCAgU2tpcCBMU04gIHwgQ29uZmxpY3QgbG9nIGRl c3RpbmF0aW9uIHwgRGVzY3JpcHRpb24gCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0t LS0tKy0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0t LS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0t LS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tCisgcmVncmVz c19zdWJzY3JpcHRpb25fdXNlciB8IGYgICAgICAgfCB7dGVzdHB1Yn0gICB8IGYgICAgICB8IHBh cmFsbGVsICB8IGQgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgICAgIHwgYW55ICAgIHwg dCAgICAgICAgICAgICAgICAgfCBmICAgICAgICAgICAgIHwgZiAgICAgICAgfCAgICAgICAgfCBm ICAgICAgICAgICAgICAgICAgfCAwICAgICAgICAgICAgICAgICAgICAgIHwgZiAgICAgICAgICAg ICAgICB8IG9mZiAgICAgICAgICAgICAgICB8IGRibmFtZT1yZWdyZXNzX2RvZXNub3RleGlzdCB8 IC0xICAgICAgICAgICAgICAgfCAwLzAwMDAwMDAwIHwgbG9nICAgICAgICAgICAgICAgICAgICAg IHwgCiAoMSByb3cpCiAKIEFMVEVSIFNVQlNDUklQVElPTiByZWdyZXNzX3Rlc3RzdWIgU0VUIChz bG90X25hbWUgPSBOT05FKTsKLS0gCjIuNDkuMAoK --000000000000e6253306559c5391 Content-Type: application/octet-stream; name="v63-0002-Preserve-conflict-log-destination-and-subscripti.patch" Content-Disposition: attachment; filename="v63-0002-Preserve-conflict-log-destination-and-subscripti.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_mr382ki01 RnJvbSBjNjAxOGFhMmU0NWYwNWRhYzAwZTE0ODliNmNmMTI4YmY4NTdiYzExIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEaWxpcCBLdW1hciA8ZGlsaXBrdW1hcmJAZ29vZ2xlLmNvbT4K RGF0ZTogVGh1LCAyIEp1bCAyMDI2IDEzOjIwOjU4ICswNTMwClN1YmplY3Q6IFtQQVRDSCB2NjMg Mi8zXSBQcmVzZXJ2ZSBjb25mbGljdCBsb2cgZGVzdGluYXRpb24gYW5kIHN1YnNjcmlwdGlvbiAK IE9JRCBmb3Igc3Vic2NyaXB0aW9ucwoKU3VwcG9ydCBwZ19kdW1wIHRvIGR1bXAgYW5kIHJlc3Rv cmUgdGhlIGNvbmZsaWN0X2xvZ19kZXN0aW5hdGlvbiBzZXR0aW5nIGZvcgpzdWJzY3JpcHRpb25z LgoKRHVyaW5nIGEgbm9ybWFsIENSRUFURSBTVUJTQ1JJUFRJT04sIGEgY29uZmxpY3QgbG9nIHRh YmxlIGlzIGNyZWF0ZWQKYXV0b21hdGljYWxseSB3aGVuIHJlcXVpcmVkLiBIb3dldmVyLCBkdXJp bmcgYmluYXJ5IHVwZ3JhZGUsIHRoZSBjb25mbGljdApsb2cgdGFibGUgd2lsbCBhbHJlYWR5IGV4 aXN0IGFuZCBtdXN0IGJlIHJldXNlZCByYXRoZXIgdGhhbiByZWNyZWF0ZWQsIGFuZAp0aGUgc3Vi c2NyaXB0aW9uIG11c3QgcmV0YWluIGl0cyBvcmlnaW5hbCBPSUQgdG8gY29ycmVjdGx5IHJlLWVz dGFibGlzaApjYXRhbG9nIHJlbGF0aW9uc2hpcHMuCgpUbyBlbnN1cmUgY29ycmVjdCBiZWhhdmlv ciwgcGdfZHVtcCBub3cgZW1pdHMgYW4gQUxURVIgU1VCU0NSSVBUSU9OIGNvbW1hbmQKYWZ0ZXIg c3Vic2NyaXB0aW9uIGNyZWF0aW9uIHRvIHJlc3RvcmUgdGhlIGNvbmZsaWN0X2xvZ19kZXN0aW5h dGlvbiBzZXR0aW5nLgoKVE9ETzogRW5zdXJlIGFsbCAxOTAwMDAgc2VyaWVzIHJlZmVyZW5jZXMg YXJlIHVwZGF0ZWQgdG8gMjAwMDAwCndoZW4gdGhlIHZlcnNpb24gbnVtYmVyIGlzIGJ1bXBlZC4K LS0tCiBzcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyAgICAgICAgICAgICAgICAgICAgfCAgIDIg Kwogc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jICAgICAgIHwgIDU2ICsr KysrKystCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL2NvbmZsaWN0LmMgICAgfCAg IDIgKy0KIHNyYy9iYWNrZW5kL3V0aWxzL2FkdC9wZ191cGdyYWRlX3N1cHBvcnQuYyAgICB8ICAx MCArKwogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuYyAgICAgICAgICAgICAgICAgICAgIHwgMTI1 ICsrKysrKysrKysrKysrKysrLQogc3JjL2Jpbi9wZ19kdW1wL3BnX2R1bXAuaCAgICAgICAgICAg ICAgICAgICAgIHwgICAyICsKIHNyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyAgICAgICAg ICAgICAgICB8ICAzMSArKysrKwogc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1bXAucGwgICAg ICAgICAgICAgIHwgICA1ICstCiBzcmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5jICAgICAg ICAgICAgICAgfCAgIDQgKwogc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDA0X3N1YnNjcmlwdGlvbi5w bCAgICAgIHwgIDE0ICstCiBzcmMvaW5jbHVkZS9jYXRhbG9nL2JpbmFyeV91cGdyYWRlLmggICAg ICAgICAgfCAgIDEgKwogc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCAgICAgICAgICAg ICAgIHwgICA0ICsKIHNyYy9pbmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmggICAgICAg ICB8ICAgMyArCiAuLi4vZXhwZWN0ZWQvc3BnaXN0X25hbWVfb3BzLm91dCAgICAgICAgICAgICAg fCAgIDYgKy0KIDE0IGZpbGVzIGNoYW5nZWQsIDI0OSBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9jYXRhbG9nL2hlYXAuYyBiL3NyYy9iYWNr ZW5kL2NhdGFsb2cvaGVhcC5jCmluZGV4IDg4MDg3NjU0ZGU5Li4wOGQxNWRlNDA4MyAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY2F0YWxvZy9oZWFwLmMKKysrIGIvc3JjL2JhY2tlbmQvY2F0YWxv Zy9oZWFwLmMKQEAgLTMxMiw2ICszMTIsOCBAQCBoZWFwX2NyZWF0ZShjb25zdCBjaGFyICpyZWxu YW1lLAogCSAqIEJ1dCBhbGxvdyBjcmVhdGluZyBpbmRleGVzIG9uIHJlbGF0aW9ucyBpbiBwZ19j YXRhbG9nIGV2ZW4gaWYKIAkgKiBhbGxvd19zeXN0ZW1fdGFibGVfbW9kcyA9IG9mZiwgdXBwZXIg bGF5ZXJzIGFscmVhZHkgZ3VhcmFudGVlIGl0J3Mgb24gYQogCSAqIHVzZXIgZGVmaW5lZCByZWxh dGlvbiwgbm90IGEgc3lzdGVtIG9uZS4KKwkgKgorCSAqIEFsbG93IGNyZWF0aW9uIG9mIHRoZSBj b25mbGljdCBsb2cgdGFibGUgaW4gYmluYXJ5LXVwZ3JhZGUgbW9kZS4KIAkgKi8KIAlpZiAoIWFs bG93X3N5c3RlbV90YWJsZV9tb2RzICYmCiAJCSgoSXNDYXRhbG9nTmFtZXNwYWNlKHJlbG5hbWVz cGFjZSkgJiYgcmVsa2luZCAhPSBSRUxLSU5EX0lOREVYKSB8fApkaWZmIC0tZ2l0IGEvc3JjL2Jh Y2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jIGIvc3JjL2JhY2tlbmQvY29tbWFuZHMv c3Vic2NyaXB0aW9uY21kcy5jCmluZGV4IDQyOTJlN2ZiOGY0Li4wYmQ3Mzg3NjM0OSAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvc3Vic2NyaXB0aW9uY21kcy5jCisrKyBiL3NyYy9i YWNrZW5kL2NvbW1hbmRzL3N1YnNjcmlwdGlvbmNtZHMuYwpAQCAtMTksNiArMTksNyBAQAogI2lu Y2x1ZGUgImFjY2Vzcy90YWJsZS5oIgogI2luY2x1ZGUgImFjY2Vzcy90d29waGFzZS5oIgogI2lu Y2x1ZGUgImFjY2Vzcy94YWN0LmgiCisjaW5jbHVkZSAiY2F0YWxvZy9iaW5hcnlfdXBncmFkZS5o IgogI2luY2x1ZGUgImNhdGFsb2cvY2F0YWxvZy5oIgogI2luY2x1ZGUgImNhdGFsb2cvZGVwZW5k ZW5jeS5oIgogI2luY2x1ZGUgImNhdGFsb2cvaW5kZXhpbmcuaCIKQEAgLTg2LDYgKzg3LDEyIEBA CiAvKiBjaGVjayBpZiB0aGUgJ3ZhbCcgaGFzICdiaXRzJyBzZXQgKi8KICNkZWZpbmUgSXNTZXQo dmFsLCBiaXRzKSAgKCgodmFsKSAmIChiaXRzKSkgPT0gKGJpdHMpKQogCisvKgorICogVGhpcyB3 aWxsIGJlIHNldCBieSB0aGUgcGdfdXBncmFkZV9zdXBwb3J0IGZ1bmN0aW9uIC0tCisgKiBiaW5h cnlfdXBncmFkZV9zZXRfbmV4dF9wZ19zdWJzY3JpcHRpb25fb2lkKCkuCisgKi8KK09pZAkJCWJp bmFyeV91cGdyYWRlX25leHRfcGdfc3Vic2NyaXB0aW9uX29pZCA9IEludmFsaWRPaWQ7CisKIC8q CiAgKiBTdHJ1Y3R1cmUgdG8gaG9sZCBhIGJpdG1hcCByZXByZXNlbnRpbmcgdGhlIHVzZXItcHJv dmlkZWQgQ1JFQVRFL0FMVEVSCiAgKiBTVUJTQ1JJUFRJT04gY29tbWFuZCBvcHRpb25zIGFuZCB0 aGUgcGFyc2VkL2RlZmF1bHQgdmFsdWVzIG9mIGVhY2ggb2YgdGhlbS4KQEAgLTgyOCw4ICs4MzUs MjEgQEAgQ3JlYXRlU3Vic2NyaXB0aW9uKFBhcnNlU3RhdGUgKnBzdGF0ZSwgQ3JlYXRlU3Vic2Ny aXB0aW9uU3RtdCAqc3RtdCwKIAltZW1zZXQodmFsdWVzLCAwLCBzaXplb2YodmFsdWVzKSk7CiAJ bWVtc2V0KG51bGxzLCBmYWxzZSwgc2l6ZW9mKG51bGxzKSk7CiAKLQlzdWJpZCA9IEdldE5ld09p ZFdpdGhJbmRleChyZWwsIFN1YnNjcmlwdGlvbk9iamVjdEluZGV4SWQsCi0JCQkJCQkJICAgQW51 bV9wZ19zdWJzY3JpcHRpb25fb2lkKTsKKwkvKiBVc2UgYmluYXJ5LXVwZ3JhZGUgb3ZlcnJpZGUg Zm9yIHBnX3N1YnNjcmlwdGlvbi5vaWQ/ICovCisJaWYgKElzQmluYXJ5VXBncmFkZSkKKwl7CisJ CWlmICghT2lkSXNWYWxpZChiaW5hcnlfdXBncmFkZV9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQp KQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJKGVycmNvZGUoRVJSQ09ERV9JTlZBTElEX1BBUkFN RVRFUl9WQUxVRSksCisJCQkJCSBlcnJtc2coInBnX3N1YnNjcmlwdGlvbiBPSUQgdmFsdWUgbm90 IHNldCB3aGVuIGluIGJpbmFyeSB1cGdyYWRlIG1vZGUiKSkpOworCisJCXN1YmlkID0gYmluYXJ5 X3VwZ3JhZGVfbmV4dF9wZ19zdWJzY3JpcHRpb25fb2lkOworCQliaW5hcnlfdXBncmFkZV9uZXh0 X3BnX3N1YnNjcmlwdGlvbl9vaWQgPSBJbnZhbGlkT2lkOworCX0KKwllbHNlCisJCXN1YmlkID0g R2V0TmV3T2lkV2l0aEluZGV4KHJlbCwgU3Vic2NyaXB0aW9uT2JqZWN0SW5kZXhJZCwKKwkJCQkJ CQkJICAgQW51bV9wZ19zdWJzY3JpcHRpb25fb2lkKTsKKwogCXZhbHVlc1tBbnVtX3BnX3N1YnNj cmlwdGlvbl9vaWQgLSAxXSA9IE9iamVjdElkR2V0RGF0dW0oc3ViaWQpOwogCXZhbHVlc1tBbnVt X3BnX3N1YnNjcmlwdGlvbl9zdWJkYmlkIC0gMV0gPSBPYmplY3RJZEdldERhdHVtKE15RGF0YWJh c2VJZCk7CiAJdmFsdWVzW0FudW1fcGdfc3Vic2NyaXB0aW9uX3N1YnNraXBsc24gLSAxXSA9IExT TkdldERhdHVtKEludmFsaWRYTG9nUmVjUHRyKTsKQEAgLTE1NDIsMTggKzE1NjIsNDAgQEAgYWx0 ZXJfc3ViX2NvbmZsaWN0X2xvZ19kZXN0KFN1YnNjcmlwdGlvbiAqc3ViLCBDb25mbGljdExvZ0Rl c3Qgb2xkbG9nZGVzdCwKIAkJewogCQkJT2JqZWN0QWRkcmVzcyBjbHRhZGRyOwogCQkJT2JqZWN0 QWRkcmVzcyBzdWJvYmo7CisJCQljaGFyICAgICAgICAgIHJlbG5hbWVbTkFNRURBVEFMRU5dOwog Ci0JCQlyZWxpZCA9IGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoc3ViLT5vaWQsIHN1Yi0+bmFt ZSwgc3ViLT5vd25lcik7Ci0JCQl1cGRhdGVfcmVsaWQgPSB0cnVlOworCQkJc25wcmludGYocmVs bmFtZSwgTkFNRURBVEFMRU4sIENPTkZMSUNUX0xPR19SRUxBVElPTl9OQU1FX0ZNVCwgc3ViLT5v aWQpOwogCiAJCQkvKgotCQkJICogRXN0YWJsaXNoIGFuIGludGVybmFsIGRlcGVuZGVuY3kgYmV0 d2VlbiB0aGUgY29uZmxpY3QgbG9nIHRhYmxlCi0JCQkgKiBhbmQgdGhlIHN1YnNjcmlwdGlvbi4g IEZvciBkZXRhaWxzIHJlZmVyIGNvbW1lbnRzIGluCi0JCQkgKiBDcmVhdGVTdWJzY3JpcHRpb24g ZnVuY3Rpb24uCisJCQkgKiBJbiB1cGdyYWRlIHNjZW5hcmlvcywgb2xkX2Rlc3QgcmVmbGVjdHMg dGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YKKwkJCSAqIGEgbmV3bHkgY3JlYXRlZCBzdWJzY3JpcHRp b24gKGkuZS4sIG5vIGNvbmZsaWN0IGxvZ2dpbmcgdG8KKwkJCSAqIHRhYmxlKSBIb3dldmVyLCB0 aGUgY29uZmxpY3QgbG9nIHRhYmxlIHdpbGwgYWxyZWFkeSBleGlzdCBmcm9tCisJCQkgKiB0aGUg dXBncmFkZWQgY2x1c3Rlci4gIEluIHN1Y2ggY2FzZXMsIHdlIG5lZWQgdG8gZGV0ZWN0IHRoZQor CQkJICogcHJlLWV4aXN0aW5nIHRhYmxlIGFuZCB1cGRhdGUgdGhlIGNhdGFsb2cgc3RhdGUgdG8g YXNzb2NpYXRlIGl0CisJCQkgKiB3aXRoIHRoZSBzdWJzY3JpcHRpb24gaW5zdGVhZCBvZiBjcmVh dGluZyBhIG5ldyBvbmUuCisJCQkgKi8KKwkJCXJlbGlkID0gZ2V0X3JlbG5hbWVfcmVsaWQocmVs bmFtZSwgUEdfQ09ORkxJQ1RfTkFNRVNQQUNFKTsKKwkJCWlmIChPaWRJc1ZhbGlkKHJlbGlkKSkK KwkJCXsKKwkJCQkvKiBFeGlzdGluZyB0YWJsZSBmcm9tIHVwZ3JhZGUgKi8KKwkJCQlBc3NlcnQo SXNCaW5hcnlVcGdyYWRlKTsKKwkJCX0KKwkJCWVsc2UKKwkJCXsKKwkJCQlyZWxpZCA9IGNyZWF0 ZV9jb25mbGljdF9sb2dfdGFibGUoc3ViLT5vaWQsIHN1Yi0+bmFtZSwKKwkJCQkJCQkJCQkJCSAg c3ViLT5vd25lcik7CisJCQl9CisKKwkJCS8qCisJCQkgKiBFc3RhYmxpc2ggYW4gaW50ZXJuYWwg ZGVwZW5kZW5jeSBiZXR3ZWVuIHRoZSBjb25mbGljdCBsb2cKKwkJCSAqIHRhYmxlIGFuZCB0aGUg c3Vic2NyaXB0aW9uLiAgUmVmZXIgdG8gY29tbWVudHMgaW4gdGhlCisJCQkgKiBDcmVhdGVTdWJz Y3JpcHRpb24gZnVuY3Rpb24gZm9yIGRldGFpbHMuCiAJCQkgKi8KIAkJCU9iamVjdEFkZHJlc3NT ZXQoY2x0YWRkciwgUmVsYXRpb25SZWxhdGlvbklkLCByZWxpZCk7CiAJCQlPYmplY3RBZGRyZXNz U2V0KHN1Ym9iaiwgU3Vic2NyaXB0aW9uUmVsYXRpb25JZCwgc3ViLT5vaWQpOwogCQkJcmVjb3Jk RGVwZW5kZW5jeU9uKCZjbHRhZGRyLCAmc3Vib2JqLCBERVBFTkRFTkNZX0lOVEVSTkFMKTsKKwor CQkJdXBkYXRlX3JlbGlkID0gdHJ1ZTsKIAkJfQogCX0KIApkaWZmIC0tZ2l0IGEvc3JjL2JhY2tl bmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRp b24vbG9naWNhbC9jb25mbGljdC5jCmluZGV4IDU1NTFkODdkMWJjLi5hM2MwNmUyMmFjMSAxMDA2 NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9jb25mbGljdC5jCisrKyBi L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvY29uZmxpY3QuYwpAQCAtMjA3LDcgKzIw Nyw3IEBAIGNyZWF0ZV9jb25mbGljdF9sb2dfdGFibGUoT2lkIHN1YmlkLCBjaGFyICpzdWJuYW1l LCBPaWQgc3Vib3duZXIpCiAJT2lkCQkJcmVsaWQ7CiAJY2hhcgkJcmVsbmFtZVtOQU1FREFUQUxF Tl07CiAKLQlzbnByaW50ZihyZWxuYW1lLCBOQU1FREFUQUxFTiwgInBnX2NvbmZsaWN0X2xvZ18l dSIsIHN1YmlkKTsKKwlzbnByaW50ZihyZWxuYW1lLCBOQU1FREFUQUxFTiwgQ09ORkxJQ1RfTE9H X1JFTEFUSU9OX05BTUVfRk1ULCBzdWJpZCk7CiAKIAkvKiBCdWlsZCB0aGUgdHVwbGUgZGVzY3Jp cHRvciBmb3IgdGhlIG5ldyB0YWJsZS4gKi8KIAl0dXBkZXNjID0gY3JlYXRlX2NvbmZsaWN0X2xv Z190YWJsZV90dXBkZXNjKCk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdf dXBncmFkZV9zdXBwb3J0LmMgYi9zcmMvYmFja2VuZC91dGlscy9hZHQvcGdfdXBncmFkZV9zdXBw b3J0LmMKaW5kZXggYjUwNWE2YjRmZWUuLjU5YzNlN2YwMTQ2IDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC91dGlscy9hZHQvcGdfdXBncmFkZV9zdXBwb3J0LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRp bHMvYWR0L3BnX3VwZ3JhZGVfc3VwcG9ydC5jCkBAIC0xODEsNiArMTgxLDE2IEBAIGJpbmFyeV91 cGdyYWRlX3NldF9uZXh0X3BnX2F1dGhpZF9vaWQoUEdfRlVOQ1RJT05fQVJHUykKIAlQR19SRVRV Uk5fVk9JRCgpOwogfQogCitEYXR1bQorYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfc3Vic2Ny aXB0aW9uX29pZChQR19GVU5DVElPTl9BUkdTKQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VUQVJH X09JRCgwKTsKKworCUNIRUNLX0lTX0JJTkFSWV9VUEdSQURFOworCWJpbmFyeV91cGdyYWRlX25l eHRfcGdfc3Vic2NyaXB0aW9uX29pZCA9IHN1YmlkOworCVBHX1JFVFVSTl9WT0lEKCk7Cit9CisK IERhdHVtCiBiaW5hcnlfdXBncmFkZV9jcmVhdGVfZW1wdHlfZXh0ZW5zaW9uKFBHX0ZVTkNUSU9O X0FSR1MpCiB7CmRpZmYgLS1naXQgYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5jIGIvc3JjL2Jp bi9wZ19kdW1wL3BnX2R1bXAuYwppbmRleCAyNWY2NmI1NmQ0MC4uOWQ2MGQxMmRmYjUgMTAwNjQ0 Ci0tLSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmMKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3Bn X2R1bXAuYwpAQCAtMTk4MSw2ICsxOTgxLDggQEAgY2hlY2tFeHRlbnNpb25NZW1iZXJzaGlwKER1 bXBhYmxlT2JqZWN0ICpkb2JqLCBBcmNoaXZlICpmb3V0KQogc3RhdGljIHZvaWQKIHNlbGVjdER1 bXBhYmxlTmFtZXNwYWNlKE5hbWVzcGFjZUluZm8gKm5zaW5mbywgQXJjaGl2ZSAqZm91dCkKIHsK KwlEdW1wT3B0aW9ucyAqZG9wdCA9IGZvdXQtPmRvcHQ7CisKIAkvKgogCSAqIERVTVBfQ09NUE9O RU5UX0RFRklOSVRJT04gdHlwaWNhbGx5IGltcGxpZXMgYSBDUkVBVEUgU0NIRU1BIHN0YXRlbWVu dAogCSAqIGFuZCAoZm9yIC0tY2xlYW4pIGEgRFJPUCBTQ0hFTUEgc3RhdGVtZW50LiAgKEluIHRo ZSBhYnNlbmNlIG9mCkBAIC0yMDEwLDYgKzIwMTIsMzIgQEAgc2VsZWN0RHVtcGFibGVOYW1lc3Bh Y2UoTmFtZXNwYWNlSW5mbyAqbnNpbmZvLCBBcmNoaXZlICpmb3V0KQogCQkgKi8KIAkJbnNpbmZv LT5kb2JqLmR1bXBfY29udGFpbnMgPSBuc2luZm8tPmRvYmouZHVtcCA9IERVTVBfQ09NUE9ORU5U X0FDTDsKIAl9CisJZWxzZSBpZiAoc3RyY21wKG5zaW5mby0+ZG9iai5uYW1lLCAicGdfY29uZmxp Y3QiKSA9PSAwKQorCXsKKwkJaWYgKGRvcHQtPmJpbmFyeV91cGdyYWRlKQorCQl7CisJCQkvKgor CQkJICogVGhlIHBnX2NvbmZsaWN0IHNjaGVtYSBpcyBhIHN0cmFuZ2UgYmVhc3QgdGhhdCBzaXRz IGluIGEgc29ydAorCQkJICogb2Ygbm8tbWFucy1sYW5kIGJldHdlZW4gYmVpbmcgYSBzeXN0ZW0g b2JqZWN0IGFuZCBhIHVzZXIKKwkJCSAqIG9iamVjdC4gQ1JFQVRFIFNDSEVNQSB3b3VsZCBmYWls LCBzbyBpdHMKKwkJCSAqIERVTVBfQ09NUE9ORU5UX0RFRklOSVRJT04gaXMganVzdCBhIGNvbW1l bnQuCisJCQkgKi8KKwkJCW5zaW5mby0+Y3JlYXRlID0gZmFsc2U7CisJCQluc2luZm8tPmRvYmou ZHVtcCA9IERVTVBfQ09NUE9ORU5UX0FMTDsKKwkJCW5zaW5mby0+ZG9iai5kdW1wICY9IH5EVU1Q X0NPTVBPTkVOVF9ERUZJTklUSU9OOworCQkJbnNpbmZvLT5kb2JqLmR1bXBfY29udGFpbnMgPSBE VU1QX0NPTVBPTkVOVF9BTEw7CisKKwkJCS8qCisJCQkgKiBBbHNvLCBtYWtlIGxpa2UgaXQgaGFz IGEgY29tbWVudCBldmVuIGlmIGl0IGRvZXNuJ3Q7IHRoaXMgaXMgc28KKwkJCSAqIHRoYXQgd2Un bGwgZW1pdCBhIGNvbW1hbmQgdG8gZHJvcCB0aGUgY29tbWVudCwgaWYgYXBwcm9wcmlhdGUuCisJ CQkgKiAoV2l0aG91dCB0aGlzLCB3ZSdkIG5vdCBjYWxsIGR1bXBDb21tZW50RXh0ZW5kZWQgZm9y IGl0LikKKwkJCSAqLworCQkJbnNpbmZvLT5kb2JqLmNvbXBvbmVudHMgfD0gRFVNUF9DT01QT05F TlRfQ09NTUVOVDsKKwkJfQorCQllbHNlCisJCQluc2luZm8tPmRvYmouZHVtcF9jb250YWlucyA9 IG5zaW5mby0+ZG9iai5kdW1wID0KKwkJCQlEVU1QX0NPTVBPTkVOVF9OT05FOworCX0KIAllbHNl IGlmIChzdHJuY21wKG5zaW5mby0+ZG9iai5uYW1lLCAicGdfIiwgMykgPT0gMCB8fAogCQkJIHN0 cmNtcChuc2luZm8tPmRvYmoubmFtZSwgImluZm9ybWF0aW9uX3NjaGVtYSIpID09IDApCiAJewpA QCAtMjA2Nyw5ICsyMDk1LDM4IEBAIHNlbGVjdER1bXBhYmxlTmFtZXNwYWNlKE5hbWVzcGFjZUlu Zm8gKm5zaW5mbywgQXJjaGl2ZSAqZm91dCkKIHN0YXRpYyB2b2lkCiBzZWxlY3REdW1wYWJsZVRh YmxlKFRhYmxlSW5mbyAqdGJpbmZvLCBBcmNoaXZlICpmb3V0KQogeworCUR1bXBPcHRpb25zICpk b3B0ID0gZm91dC0+ZG9wdDsKKwogCWlmIChjaGVja0V4dGVuc2lvbk1lbWJlcnNoaXAoJnRiaW5m by0+ZG9iaiwgZm91dCkpCiAJCXJldHVybjsJCQkJCS8qIGV4dGVuc2lvbiBtZW1iZXJzaGlwIG92 ZXJyaWRlcyBhbGwgZWxzZSAqLwogCisJaWYgKHN0cmNtcCh0YmluZm8tPmRvYmoubmFtZXNwYWNl LT5kb2JqLm5hbWUsICJwZ19jb25mbGljdCIpID09IDApCisJeworCQkvKgorCQkgKiBEdW1wIHBn X2NvbmZsaWN0IHRhYmxlcyBvbmx5IGR1cmluZyBiaW5hcnkgdXBncmFkZS4gVGhlIHNjaGVtYSBp cworCQkgKiBhc3N1bWVkIHRvIGFscmVhZHkgZXhpc3QuCisJCSAqLworCQlpZiAoZG9wdC0+Ymlu YXJ5X3VwZ3JhZGUpCisJCXsKKwkJCXRiaW5mby0+ZG9iai5kdW1wID0gRFVNUF9DT01QT05FTlRf REVGSU5JVElPTjsKKworCQkJLyoKKwkJCSAqIFN1cHByZXNzIHRoZSAiQUxURVIgVEFCTEUgLi4u IE9XTkVSIFRPIC4uLiIgY29tbWFuZCBmb3IgdGhpcworCQkJICogdGFibGUuIFRoaXMgcHJldmVu dHMgcGdfZHVtcCBmcm9tIG91dHB1dHRpbmcgdGhlIG93bmVyIGNoYW5nZS4KKwkJCSAqLworCQkJ dGJpbmZvLT5yb2xuYW1lID0gTlVMTDsKKwkJfQorCQllbHNlCisJCQl0YmluZm8tPmRvYmouZHVt cCA9IERVTVBfQ09NUE9ORU5UX05PTkU7CisKKwkJLyoKKwkJICogRG8gbm90IGFwcGx5IHRhYmxl IHNlbGVjdGlvbiBvciBleGNsdXNpb24gcnVsZXMgdG8gcGdfY29uZmxpY3QKKwkJICogdGFibGVz LiBEdXJpbmcgYmluYXJ5IHVwZ3JhZGUsIHRoZXNlIHRhYmxlcyBhcmUgZHVtcGVkIHRvIHByZXNl cnZlCisJCSAqIGNhdGFsb2cgc3RhdGU7IG90aGVyd2lzZSwgdGhleSBhcmUgbm90IGR1bXBlZCBh dCBhbGwuCisJCSAqLworCQlyZXR1cm47CisJfQorCiAJLyoKIAkgKiBJZiBzcGVjaWZpYyB0YWJs ZXMgYXJlIGJlaW5nIGR1bXBlZCwgZHVtcCBqdXN0IHRob3NlIHRhYmxlczsgZWxzZSwgZHVtcAog CSAqIGFjY29yZGluZyB0byB0aGUgcGFyZW50IG5hbWVzcGFjZSdzIGR1bXAgZmxhZy4KQEAgLTUx ODQsNiArNTI0MSw4IEBAIGdldFN1YnNjcmlwdGlvbnMoQXJjaGl2ZSAqZm91dCkKIAlpbnQJCQlp X3N1YmZhaWxvdmVyOwogCWludAkJCWlfc3VicmV0YWluZGVhZHR1cGxlczsKIAlpbnQJCQlpX3N1 Ym1heHJldGVudGlvbjsKKwlpbnQJCQlpX3N1YmNvbmZsaWN0bG9ncmVsaWQ7CisJaW50CQkJaV9z dWJsb2dkZXN0aW5hdGlvbjsKIAlpbnQJCQlpLAogCQkJCW50dXBzOwogCkBAIC01MjgyLDkgKzUz NDEsMTYgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpmb3V0KQogCQkJCQkJCSAiICctMScg QVMgc3Vid2FscmN2dGltZW91dCxcbiIpOwogCiAJaWYgKGZvdXQtPnJlbW90ZVZlcnNpb24gPj0g MTkwMDAwKQotCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBmcy5zcnZuYW1lIEFTIHN1 YnNlcnZlcm5hbWVcbiIpOworCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIiBmcy5zcnZu YW1lIEFTIHN1YnNlcnZlcm5hbWUsXG4iKTsKKwllbHNlCisJCWFwcGVuZFBRRXhwQnVmZmVyU3Ry KHF1ZXJ5LCAiIE5VTEwgQVMgc3Vic2VydmVybmFtZSxcbiIpOworCisJaWYgKGZvdXQtPnJlbW90 ZVZlcnNpb24gPj0gMTkwMDAwKQorCQlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwKKwkJCQkJ CQkgIiBzLnN1YmNvbmZsaWN0bG9ncmVsaWQsIHMuc3ViY29uZmxpY3Rsb2dkZXN0XG4iKTsKIAll bHNlCi0JCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LCAiIE5VTEwgQVMgc3Vic2VydmVybmFt ZVxuIik7CisJCWFwcGVuZFBRRXhwQnVmZmVyU3RyKHF1ZXJ5LAorCQkJCQkJCSAiIE5VTEwgQVMg c3ViY29uZmxpY3Rsb2dyZWxpZCwgTlVMTCBBUyBzdWJjb25mbGljdGxvZ2Rlc3RcbiIpOwogCiAJ YXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksCiAJCQkJCQkgIkZST00gcGdfc3Vic2NyaXB0aW9u IHNcbiIpOwpAQCAtNTMzMyw2ICs1Mzk5LDggQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNoaXZlICpm b3V0KQogCWlfc3VicHVibGljYXRpb25zID0gUFFmbnVtYmVyKHJlcywgInN1YnB1YmxpY2F0aW9u cyIpOwogCWlfc3Vib3JpZ2luID0gUFFmbnVtYmVyKHJlcywgInN1Ym9yaWdpbiIpOwogCWlfc3Vi b3JpZ2lucmVtb3RlbHNuID0gUFFmbnVtYmVyKHJlcywgInN1Ym9yaWdpbnJlbW90ZWxzbiIpOwor CWlfc3ViY29uZmxpY3Rsb2dyZWxpZCA9IFBRZm51bWJlcihyZXMsICJzdWJjb25mbGljdGxvZ3Jl bGlkIik7CisJaV9zdWJsb2dkZXN0aW5hdGlvbiA9IFBRZm51bWJlcihyZXMsICJzdWJjb25mbGlj dGxvZ2Rlc3QiKTsKIAogCXN1YmluZm8gPSBwZ19tYWxsb2NfYXJyYXkoU3Vic2NyaXB0aW9uSW5m bywgbnR1cHMpOwogCkBAIC01MzkxLDYgKzU0NTksMzIgQEAgZ2V0U3Vic2NyaXB0aW9ucyhBcmNo aXZlICpmb3V0KQogCQkJc3ViaW5mb1tpXS5zdWJvcmlnaW5yZW1vdGVsc24gPQogCQkJCXBnX3N0 cmR1cChQUWdldHZhbHVlKHJlcywgaSwgaV9zdWJvcmlnaW5yZW1vdGVsc24pKTsKIAorCQlpZiAo UFFnZXRpc251bGwocmVzLCBpLCBpX3N1YmNvbmZsaWN0bG9ncmVsaWQpKQorCQkJc3ViaW5mb1tp XS5zdWJjb25mbGljdGxvZ3JlbGlkID0gSW52YWxpZE9pZDsKKwkJZWxzZQorCQl7CisJCQlzdWJp bmZvW2ldLnN1YmNvbmZsaWN0bG9ncmVsaWQgPQorCQkJCWF0b29pZChQUWdldHZhbHVlKHJlcywg aSwgaV9zdWJjb25mbGljdGxvZ3JlbGlkKSk7CisKKwkJCWlmIChzdWJpbmZvW2ldLnN1YmNvbmZs aWN0bG9ncmVsaWQpCisJCQl7CisJCQkJVGFibGVJbmZvICAqdGFibGVJbmZvOworCisJCQkJdGFi bGVJbmZvID0gZmluZFRhYmxlQnlPaWQoc3ViaW5mb1tpXS5zdWJjb25mbGljdGxvZ3JlbGlkKTsK KwkJCQlpZiAoIXRhYmxlSW5mbykKKwkJCQkJcGdfZmF0YWwoImNvdWxkIG5vdCBmaW5kIGNvbmZs aWN0IGxvZyB0YWJsZSB3aXRoIE9JRCAldSIsCisJCQkJCQkJIHN1YmluZm9baV0uc3ViY29uZmxp Y3Rsb2dyZWxpZCk7CisKKwkJCQlhZGRPYmplY3REZXBlbmRlbmN5KCZzdWJpbmZvW2ldLmRvYmos IHRhYmxlSW5mby0+ZG9iai5kdW1wSWQpOworCQkJfQorCQl9CisKKwkJaWYgKFBRZ2V0aXNudWxs KHJlcywgaSwgaV9zdWJsb2dkZXN0aW5hdGlvbikpCisJCQlzdWJpbmZvW2ldLnN1YmNvbmZsaWN0 bG9nZGVzdCA9IE5VTEw7CisJCWVsc2UKKwkJCXN1YmluZm9baV0uc3ViY29uZmxpY3Rsb2dkZXN0 ID0KKwkJCQlwZ19zdHJkdXAoUFFnZXR2YWx1ZShyZXMsIGksIGlfc3VibG9nZGVzdGluYXRpb24p KTsKKwogCQkvKiBEZWNpZGUgd2hldGhlciB3ZSB3YW50IHRvIGR1bXAgaXQgKi8KIAkJc2VsZWN0 RHVtcGFibGVPYmplY3QoJihzdWJpbmZvW2ldLmRvYmopLCBmb3V0KTsKIAl9CkBAIC01NTgzLDYg KzU2NzcsMTQgQEAgZHVtcFN1YnNjcmlwdGlvbihBcmNoaXZlICpmb3V0LCBjb25zdCBTdWJzY3Jp cHRpb25JbmZvICpzdWJpbmZvKQogCWFwcGVuZFBRRXhwQnVmZmVyKGRlbHEsICJEUk9QIFNVQlND UklQVElPTiAlcztcbiIsCiAJCQkJCSAgcXN1Ym5hbWUpOwogCisJaWYgKGRvcHQtPmJpbmFyeV91 cGdyYWRlKQorCXsKKwkJYXBwZW5kUFFFeHBCdWZmZXJTdHIocXVlcnksICJcbi0tIEZvciBiaW5h cnkgdXBncmFkZSwgbXVzdCBwcmVzZXJ2ZSBwZ19zdWJzY3JpcHRpb24ub2lkXG4iKTsKKwkJYXBw ZW5kUFFFeHBCdWZmZXIocXVlcnksCisJCQkJCQkgICJTRUxFQ1QgcGdfY2F0YWxvZy5iaW5hcnlf dXBncmFkZV9zZXRfbmV4dF9wZ19zdWJzY3JpcHRpb25fb2lkKCcldSc6OnBnX2NhdGFsb2cub2lk KTtcblxuIiwKKwkJCQkJCSAgc3ViaW5mby0+ZG9iai5jYXRJZC5vaWQpOworCX0KKwogCWFwcGVu ZFBRRXhwQnVmZmVyKHF1ZXJ5LCAiQ1JFQVRFIFNVQlNDUklQVElPTiAlcyAiLAogCQkJCQkgIHFz dWJuYW1lKTsKIAlpZiAoc3ViaW5mby0+c3Vic2VydmVybmFtZSkKQEAgLTU2NTYsNiArNTc1OCwy NSBAQCBkdW1wU3Vic2NyaXB0aW9uKEFyY2hpdmUgKmZvdXQsIGNvbnN0IFN1YnNjcmlwdGlvbklu Zm8gKnN1YmluZm8pCiAKIAlhcHBlbmRQUUV4cEJ1ZmZlclN0cihxdWVyeSwgIik7XG4iKTsKIAor CS8qCisJICogUmVzdG9yZSB0aGUgY29uZmxpY3QgbG9nIGRlc3RpbmF0aW9uIHNlcGFyYXRlbHkg ZnJvbSBDUkVBVEUgU1VCU0NSSVBUSU9OLgorCSAqIFNldHRpbmcgY29uZmxpY3RfbG9nX2Rlc3Rp bmF0aW9uIHRvICd0YWJsZScgbWF5IGNyZWF0ZSBhbmQgYXNzb2NpYXRlCisJICogYSBjb25mbGlj dCBsb2cgdGFibGUgd2hvc2UgbmFtZSBpcyBkZXJpdmVkIGZyb20gdGhlIHN1YnNjcmlwdGlvbiBP SUQuCisJICogU2luY2UgdGhlIHN1YnNjcmlwdGlvbiBtdXN0IGFscmVhZHkgZXhpc3QgYmVmb3Jl IHRoYXQgT0lEIGlzIGtub3duLAorCSAqIGVtaXQgdGhpcyBhcyBhIHNlcGFyYXRlIEFMVEVSIFNV QlNDUklQVElPTiBzbyB0aGF0IGFueSByZXF1aXJlZCBjb25mbGljdAorCSAqIGxvZyB0YWJsZSBj YW4gYmUgY3JlYXRlZCBhbmQgbGlua2VkIGFmdGVyIHRoZSBzdWJzY3JpcHRpb24gaXRzZWxmIGhh cworCSAqIGJlZW4gcmVzdG9yZWQuCisJICoKKwkgKiBXZSBza2lwIHRoZSBkZWZhdWx0IHZhbHVl ICgnbG9nJykgdG8gbWF0Y2ggdGhlIGhhbmRsaW5nIG9mIG90aGVyCisJICogc3Vic2NyaXB0aW9u IG9wdGlvbnMuCisJICovCisJaWYgKHN1YmluZm8tPnN1YmNvbmZsaWN0bG9nZGVzdCAmJgorCQko cGdfc3RyY2FzZWNtcChzdWJpbmZvLT5zdWJjb25mbGljdGxvZ2Rlc3QsICJsb2ciKSAhPSAwKSkK KwkJYXBwZW5kUFFFeHBCdWZmZXIocXVlcnksCisJCQkJCQkgICJcblxuQUxURVIgU1VCU0NSSVBU SU9OICVzIFNFVCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJXMpO1xuIiwKKwkJCQkJCSAg cXN1Ym5hbWUsCisJCQkJCQkgIHN1YmluZm8tPnN1YmNvbmZsaWN0bG9nZGVzdCk7CisKIAkvKgog CSAqIEluIGJpbmFyeS11cGdyYWRlIG1vZGUsIHdlIGFsbG93IHRoZSByZXBsaWNhdGlvbiB0byBj b250aW51ZSBhZnRlciB0aGUKIAkgKiB1cGdyYWRlLgpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19k dW1wL3BnX2R1bXAuaCBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKaW5kZXggNWE2NzI2ZDhi MTIuLmE0M2EzMDQ5MzQzIDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2R1bXAvcGdfZHVtcC5oCisr KyBiL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wLmgKQEAgLTcyMiw2ICs3MjIsNyBAQCB0eXBlZGVm IHN0cnVjdCBfU3Vic2NyaXB0aW9uSW5mbwogCWJvb2wJCXN1YmZhaWxvdmVyOwogCWJvb2wJCXN1 YnJldGFpbmRlYWR0dXBsZXM7CiAJaW50CQkJc3VibWF4cmV0ZW50aW9uOworCU9pZAkJCXN1YmNv bmZsaWN0bG9ncmVsaWQ7CiAJY2hhcgkgICAqc3Vic2VydmVybmFtZTsKIAljaGFyCSAgICpzdWJj b25uaW5mbzsKIAljaGFyCSAgICpzdWJzbG90bmFtZTsKQEAgLTczMCw2ICs3MzEsNyBAQCB0eXBl ZGVmIHN0cnVjdCBfU3Vic2NyaXB0aW9uSW5mbwogCWNoYXIJICAgKnN1YnB1YmxpY2F0aW9uczsK IAljaGFyCSAgICpzdWJvcmlnaW47CiAJY2hhcgkgICAqc3Vib3JpZ2lucmVtb3RlbHNuOworCWNo YXIJICAgKnN1YmNvbmZsaWN0bG9nZGVzdDsKIH0gU3Vic2NyaXB0aW9uSW5mbzsKIAogLyoKZGlm ZiAtLWdpdCBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYyBiL3NyYy9iaW4vcGdfZHVt cC9wZ19kdW1wX3NvcnQuYwppbmRleCA1YjNlYTBmMmExOC4uMThiN2I3OGFkZGEgMTAwNjQ0Ci0t LSBhL3NyYy9iaW4vcGdfZHVtcC9wZ19kdW1wX3NvcnQuYworKysgYi9zcmMvYmluL3BnX2R1bXAv cGdfZHVtcF9zb3J0LmMKQEAgLTExMzEsNiArMTEzMSwxOSBAQCByZXBhaXJUYWJsZUF0dHJEZWZN dWx0aUxvb3AoRHVtcGFibGVPYmplY3QgKnRhYmxlb2JqLAogCWFkZE9iamVjdERlcGVuZGVuY3ko YXR0cmRlZm9iaiwgdGFibGVvYmotPmR1bXBJZCk7CiB9CiAKKy8qCisgKiBCZWNhdXNlIHdlIG1h a2Ugc3Vic2NyaXB0aW9ucyBkZXBlbmQgb24gdGhlaXIgY29uZmxpY3QgbG9nIHRhYmxlcywgd2hp bGUKKyAqIHRoZXJlIGlzIGFuIGF1dG9tYXRpYyBkZXBlbmRlbmN5IGluIHRoZSBvdGhlciBkaXJl Y3Rpb24sIHdlIG5lZWQgdG8gYnJlYWsKKyAqIHRoZSBsb29wLiBSZW1vdmUgdGhlIGF1dG9tYXRp YyBkZXBlbmRlbmN5LCBhbGxvd2luZyB0aGUgdGFibGUgdG8gYmUgY3JlYXRlZAorICogZmlyc3Qu CisgKi8KK3N0YXRpYyB2b2lkCityZXBhaXJTdWJzY3JpcHRpb25UYWJsZUxvb3AoRHVtcGFibGVP YmplY3QgKnN1Ym9iaiwgRHVtcGFibGVPYmplY3QgKnRhYmxlb2JqKQoreworCS8qIFJlbW92ZSB0 YWJsZSdzIGRlcGVuZGVuY3kgb24gc3Vic2NyaXB0aW9uICovCisJcmVtb3ZlT2JqZWN0RGVwZW5k ZW5jeSh0YWJsZW9iaiwgc3Vib2JqLT5kdW1wSWQpOworfQorCiAvKgogICogQ0hFQ0ssIE5PVCBO VUxMIGNvbnN0cmFpbnRzIG9uIGRvbWFpbnMgd29yayBqdXN0IGxpa2UgdGhvc2Ugb24gdGFibGVz IC4uLgogICovCkBAIC0xMzYxLDYgKzEzNzQsMjQgQEAgcmVwYWlyRGVwZW5kZW5jeUxvb3AoRHVt cGFibGVPYmplY3QgKipsb29wLAogCQlyZXR1cm47CiAJfQogCisJLyoKKwkgKiBTdWJzY3JpcHRp b24gYW5kIGl0cyBDb25mbGljdCBMb2cgVGFibGUKKwkgKi8KKwlpZiAobkxvb3AgPT0gMiAmJgor CQlsb29wWzBdLT5vYmpUeXBlID09IERPX1RBQkxFICYmCisJCWxvb3BbMV0tPm9ialR5cGUgPT0g RE9fU1VCU0NSSVBUSU9OKQorCXsKKwkJcmVwYWlyU3Vic2NyaXB0aW9uVGFibGVMb29wKGxvb3Bb MV0sIGxvb3BbMF0pOworCQlyZXR1cm47CisJfQorCWlmIChuTG9vcCA9PSAyICYmCisJCWxvb3Bb MF0tPm9ialR5cGUgPT0gRE9fU1VCU0NSSVBUSU9OICYmCisJCWxvb3BbMV0tPm9ialR5cGUgPT0g RE9fVEFCTEUpCisJeworCQlyZXBhaXJTdWJzY3JpcHRpb25UYWJsZUxvb3AobG9vcFswXSwgbG9v cFsxXSk7CisJCXJldHVybjsKKwl9CisKIAkvKiBpbmRleCBvbiBwYXJ0aXRpb25lZCB0YWJsZSBh bmQgY29ycmVzcG9uZGluZyBpbmRleCBvbiBwYXJ0aXRpb24gKi8KIAlpZiAobkxvb3AgPT0gMiAm JgogCQlsb29wWzBdLT5vYmpUeXBlID09IERPX0lOREVYICYmCmRpZmYgLS1naXQgYS9zcmMvYmlu L3BnX2R1bXAvdC8wMDJfcGdfZHVtcC5wbCBiL3NyYy9iaW4vcGdfZHVtcC90LzAwMl9wZ19kdW1w LnBsCmluZGV4IDkyNTg5NDhiNTgzLi44YzI2NTNlODUyZSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9w Z19kdW1wL3QvMDAyX3BnX2R1bXAucGwKKysrIGIvc3JjL2Jpbi9wZ19kdW1wL3QvMDAyX3BnX2R1 bXAucGwKQEAgLTMzMTcsOSArMzMxNywxMCBAQCBteSAldGVzdHMgPSAoCiAJCWNyZWF0ZV9vcmRl ciA9PiA1MCwKIAkJY3JlYXRlX3NxbCA9PiAnQ1JFQVRFIFNVQlNDUklQVElPTiBzdWIzCiAJCQkJ CQkgQ09OTkVDVElPTiBcJ2RibmFtZT1kb2Vzbm90ZXhpc3RcJyBQVUJMSUNBVElPTiBwdWIxCi0J CQkJCQkgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBvcmlnaW4gPSBhbnksIHN0cmVhbWluZyA9IG9u KTsnLAorCQkJCQkJIFdJVEggKGNvbm5lY3QgPSBmYWxzZSwgb3JpZ2luID0gYW55LCBzdHJlYW1p bmcgPSBvbiwgY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uPSB0YWJsZSk7JywKIAkJcmVnZXhwID0+ IHFyL14KLQkJCVxRQ1JFQVRFIFNVQlNDUklQVElPTiBzdWIzIENPTk5FQ1RJT04gJ2RibmFtZT1k b2Vzbm90ZXhpc3QnIFBVQkxJQ0FUSU9OIHB1YjEgV0lUSCAoY29ubmVjdCA9IGZhbHNlLCBzbG90 X25hbWUgPSAnc3ViMycsIHN0cmVhbWluZyA9IG9uKTtcRQorCQkJXFFDUkVBVEUgU1VCU0NSSVBU SU9OIHN1YjMgQ09OTkVDVElPTiAnZGJuYW1lPWRvZXNub3RleGlzdCcgUFVCTElDQVRJT04gcHVi MSBXSVRIIChjb25uZWN0ID0gZmFsc2UsIHNsb3RfbmFtZSA9ICdzdWIzJywgc3RyZWFtaW5nID0g b24pO1xFXG5cblxuCisJCQlcUUFMVEVSIFNVQlNDUklQVElPTiBzdWIzIFNFVCAoY29uZmxpY3Rf bG9nX2Rlc3RpbmF0aW9uID0gdGFibGUpO1xFCiAJCQkveG0sCiAJCWxpa2UgPT4geyAlZnVsbF9y dW5zLCBzZWN0aW9uX3Bvc3RfZGF0YSA9PiAxLCB9LAogCQl1bmxpa2UgPT4gewpkaWZmIC0tZ2l0 IGEvc3JjL2Jpbi9wZ191cGdyYWRlL3BnX3VwZ3JhZGUuYyBiL3NyYy9iaW4vcGdfdXBncmFkZS9w Z191cGdyYWRlLmMKaW5kZXggMjEyN2QyOTdiZmUuLjEzNWVmNjU4YzJjIDEwMDY0NAotLS0gYS9z cmMvYmluL3BnX3VwZ3JhZGUvcGdfdXBncmFkZS5jCisrKyBiL3NyYy9iaW4vcGdfdXBncmFkZS9w Z191cGdyYWRlLmMKQEAgLTM1LDYgKzM1LDEwIEBACiAgKgogICoJV2UgY29udHJvbCBhbGwgYXNz aWdubWVudHMgb2YgcGdfZGF0YWJhc2Uub2lkIGJlY2F1c2Ugd2Ugd2FudCB0aGUgZGlyZWN0b3J5 CiAgKgluYW1lcyB0byBtYXRjaCBiZXR3ZWVuIHRoZSBvbGQgYW5kIG5ldyBjbHVzdGVyLgorICoK KyAqCVdlIGNvbnRyb2wgYXNzaWdubWVudCBvZiBwZ19zdWJzY3JpcHRpb24ub2lkIGJlY2F1c2Ug d2Ugd2FudCB0aGUgb2lkIHRvCisgKgltYXRjaCBiZXR3ZWVuIHRoZSBvbGQgYW5kIG5ldyBjbHVz dGVyIHRvIG1ha2UgdXNlIG9mIHN1YnNjcmlwdGlvbidzCisgKgljb25mbGljdCBsb2cgdGFibGUg d2hpY2ggaXMgbmFtZWQgdXNpbmcgdGhlIHN1YnNjcmlwdGlvbiBvaWQuCiAgKi8KIAogCmRpZmYg LS1naXQgYS9zcmMvYmluL3BnX3VwZ3JhZGUvdC8wMDRfc3Vic2NyaXB0aW9uLnBsIGIvc3JjL2Jp bi9wZ191cGdyYWRlL3QvMDA0X3N1YnNjcmlwdGlvbi5wbAppbmRleCAzNmYwNTlmYWEyZS4uMjc3 MzE2ODZkODcgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfdXBncmFkZS90LzAwNF9zdWJzY3JpcHRp b24ucGwKKysrIGIvc3JjL2Jpbi9wZ191cGdyYWRlL3QvMDA0X3N1YnNjcmlwdGlvbi5wbApAQCAt MjkwLDcgKzI5MCw3IEBAICRwdWJsaXNoZXItPnNhZmVfcHNxbCgKICRvbGRfc3ViLT5zYWZlX3Bz cWwoCiAJJ3Bvc3RncmVzJywgcXFbCiAJCUNSRUFURSBUQUJMRSB0YWJfdXBncmFkZWQyKGlkIGlu dCk7Ci0JCUNSRUFURSBTVUJTQ1JJUFRJT04gcmVncmVzc19zdWI1IENPTk5FQ1RJT04gJyRjb25u c3RyJyBQVUJMSUNBVElPTiByZWdyZXNzX3B1YjU7CisJCUNSRUFURSBTVUJTQ1JJUFRJT04gcmVn cmVzc19zdWI1IENPTk5FQ1RJT04gJyRjb25uc3RyJyBQVUJMSUNBVElPTiByZWdyZXNzX3B1YjUg d2l0aCAoY29uZmxpY3RfbG9nX2Rlc3RpbmF0aW9uID0gJ3RhYmxlJyk7CiBdKTsKIAogIyBUaGUg dGFibGUgdGFiX3VwZ3JhZGVkMiB3aWxsIGJlIGluIHRoZSBpbml0IHN0YXRlIGFzIHRoZSBzdWJz Y3JpYmVyJ3MKQEAgLTMxMiw3ICszMTIsMTAgQEAgbXkgJHRhYl91cGdyYWRlZDFfb2lkID0gJG9s ZF9zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3Mg V0hFUkUgcmVsbmFtZSA9ICd0YWJfdXBncmFkZWQxJyIpOwogbXkgJHRhYl91cGdyYWRlZDJfb2lk ID0gJG9sZF9zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogCSJTRUxFQ1Qgb2lkIEZST00gcGdf Y2xhc3MgV0hFUkUgcmVsbmFtZSA9ICd0YWJfdXBncmFkZWQyJyIpOwotCitteSAkc3ViNV9vaWQg PSAkb2xkX3N1Yi0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsCisJIlNFTEVDVCBvaWQgRlJPTSBwZ19z dWJzY3JpcHRpb24gd2hlcmUgc3VibmFtZSA9ICdyZWdyZXNzX3N1YjUnIik7CitteSAkc3ViX2Ns dF9yZWxpZCA9ICRvbGRfc3ViLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywKKwkiU0VMRUNUIHN1YmNv bmZsaWN0bG9ncmVsaWQgRlJPTSBwZ19zdWJzY3JpcHRpb24gV0hFUkUgc3VibmFtZSA9ICdyZWdy ZXNzX3N1YjUnIik7CiAkb2xkX3N1Yi0+c3RvcDsKIAogIyBDaGFuZ2UgY29uZmlndXJhdGlvbiBz byB0aGF0IGluaXRpYWwgdGFibGUgc3luYyBkb2VzIG5vdCBnZXQgc3RhcnRlZApAQCAtMzk0LDYg KzM5NywxMyBAQCAkcmVzdWx0ID0gJG5ld19zdWItPnNhZmVfcHNxbCgncG9zdGdyZXMnLAogKTsK IGlzKCRyZXN1bHQsIHFxKHQpLCAiY29uZmxpY3QgZGV0ZWN0aW9uIHNsb3QgZXhpc3RzIik7CiAK KyMgVGhlIHN1YnNjcmlwdGlvbiBvaWQgYW5kIHRoZSBzdWJzY3JpcHRpb24gY29uZmxpY3QgbG9n IHRhYmxlIHJlbGlkIHNob3VsZCBiZSBwcmVzZXJ2ZWQKKyRyZXN1bHQgPSAkbmV3X3N1Yi0+c2Fm ZV9wc3FsKCdwb3N0Z3JlcycsICJTRUxFQ1Qgb2lkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJF IHN1Ym5hbWUgPSAncmVncmVzc19zdWI1JyIpOworaXMoJHJlc3VsdCwgcXEoJHN1YjVfb2lkKSwg InN1YnNjcmlwdGlvbiBvaWQgc2hvdWxkIGhhdmUgYmVlbiBwcmVzZXJ2ZWQiKTsKKworJHJlc3Vs dCA9ICRuZXdfc3ViLT5zYWZlX3BzcWwoJ3Bvc3RncmVzJywgIlNFTEVDVCBzdWJjb25mbGljdGxv Z3JlbGlkIEZST00gcGdfc3Vic2NyaXB0aW9uIFdIRVJFIHN1Ym5hbWUgPSAncmVncmVzc19zdWI1 JyIpOworaXMoJHJlc3VsdCwgcXEoJHN1Yl9jbHRfcmVsaWQpLCAic3Vic2NyaXB0aW9uIGNvbmZs aWN0IGxvZyB0YWJsZSByZWxpZCBzaG91bGQgaGF2ZSBiZWVuIHByZXNlcnZlZCIpOworCiAjIFJl c3VtZSB0aGUgaW5pdGlhbCBzeW5jIGFuZCB3YWl0IHVudGlsIGFsbCB0YWJsZXMgb2Ygc3Vic2Ny aXB0aW9uCiAjICdyZWdyZXNzX3N1YjUnIGFyZSBzeW5jaHJvbml6ZWQKICRuZXdfc3ViLT5hcHBl bmRfY29uZigncG9zdGdyZXNxbC5jb25mJywKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFs b2cvYmluYXJ5X3VwZ3JhZGUuaCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvYmluYXJ5X3VwZ3JhZGUu aAppbmRleCA3YmY3YWU0NDM4NS4uYjE1YjE4ZTdkYzkgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRl L2NhdGFsb2cvYmluYXJ5X3VwZ3JhZGUuaAorKysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL2JpbmFy eV91cGdyYWRlLmgKQEAgLTMyLDYgKzMyLDcgQEAgZXh0ZXJuIFBHRExMSU1QT1JUIFJlbEZpbGVO dW1iZXIgYmluYXJ5X3VwZ3JhZGVfbmV4dF90b2FzdF9wZ19jbGFzc19yZWxmaWxlbnVtYmUKIAog ZXh0ZXJuIFBHRExMSU1QT1JUIE9pZCBiaW5hcnlfdXBncmFkZV9uZXh0X3BnX2VudW1fb2lkOwog ZXh0ZXJuIFBHRExMSU1QT1JUIE9pZCBiaW5hcnlfdXBncmFkZV9uZXh0X3BnX2F1dGhpZF9vaWQ7 CitleHRlcm4gUEdETExJTVBPUlQgT2lkIGJpbmFyeV91cGdyYWRlX25leHRfcGdfc3Vic2NyaXB0 aW9uX29pZDsKIAogZXh0ZXJuIFBHRExMSU1QT1JUIGJvb2wgYmluYXJ5X3VwZ3JhZGVfcmVjb3Jk X2luaXRfcHJpdnM7CiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5k YXQgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CmluZGV4IDNjYjg0MzU5YWRmLi44 MGFiYTVlOGZkOCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAor KysgYi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC0xMTk5NCw2ICsxMTk5NCwx MCBAQAogICBwcm9pc3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxlID0+ICd2JywgcHJvcGFyYWxs ZWwgPT4gJ3UnLAogICBwcm9yZXR0eXBlID0+ICd2b2lkJywgcHJvYXJndHlwZXMgPT4gJycsCiAg IHByb3NyYyA9PiAnYmluYXJ5X3VwZ3JhZGVfY3JlYXRlX2NvbmZsaWN0X2RldGVjdGlvbl9zbG90 JyB9LAoreyBvaWQgPT4gJzg0MDcnLCBkZXNjciA9PiAnZm9yIHVzZSBieSBwZ191cGdyYWRlJywK KyAgcHJvbmFtZSA9PiAnYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29p ZCcsIHByb3ZvbGF0aWxlID0+ICd2JywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBl ID0+ICd2b2lkJywgcHJvYXJndHlwZXMgPT4gJ29pZCcsCisgIHByb3NyYyA9PiAnYmluYXJ5X3Vw Z3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29pZCcgfSwKIAogIyBjb252ZXJzaW9uIGZ1 bmN0aW9ucwogeyBvaWQgPT4gJzQzMTAnLCBkZXNjciA9PiAnaW50ZXJuYWwgY29udmVyc2lvbiBm dW5jdGlvbiBmb3IgS09JOFIgdG8gV0lOMTI1MScsCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9j YXRhbG9nL3BnX3N1YnNjcmlwdGlvbi5oIGIvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19zdWJzY3Jp cHRpb24uaAppbmRleCA2NWNlOGUxNDVmYi4uZjdlMWY0OGFhOGYgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL2NhdGFsb2cvcGdfc3Vic2NyaXB0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvY2F0YWxv Zy9wZ19zdWJzY3JpcHRpb24uaApAQCAtMjIwLDYgKzIyMCw5IEBAIHR5cGVkZWYgc3RydWN0IFN1 YnNjcmlwdGlvbgogICovCiAjZGVmaW5lIExPR0lDQUxSRVBfU1RSRUFNX1BBUkFMTEVMICdwJwog CisvKiBDb25mbGljdCBsb2cgdGFibGUgbmFtZSBmb3JtYXQuICV1IGlzIHJlcGxhY2VkIHdpdGgg dGhlIHN1YnNjcmlwdGlvbiBPSUQuICovCisjZGVmaW5lIENPTkZMSUNUX0xPR19SRUxBVElPTl9O QU1FX0ZNVCAicGdfY29uZmxpY3RfbG9nXyV1IgorCiAjZW5kaWYJCQkJCQkJLyogRVhQT1NFX1RP X0NMSUVOVF9DT0RFICovCiAKIGV4dGVybiBTdWJzY3JpcHRpb24gKkdldFN1YnNjcmlwdGlvbihP aWQgc3ViaWQsIGJvb2wgbWlzc2luZ19vaywKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L21vZHVsZXMv c3BnaXN0X25hbWVfb3BzL2V4cGVjdGVkL3NwZ2lzdF9uYW1lX29wcy5vdXQgYi9zcmMvdGVzdC9t b2R1bGVzL3NwZ2lzdF9uYW1lX29wcy9leHBlY3RlZC9zcGdpc3RfbmFtZV9vcHMub3V0CmluZGV4 IDFlZTY1ZWRlMjQzLi4zOWQ0MzM2OGM0MiAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvbW9kdWxlcy9z cGdpc3RfbmFtZV9vcHMvZXhwZWN0ZWQvc3BnaXN0X25hbWVfb3BzLm91dAorKysgYi9zcmMvdGVz dC9tb2R1bGVzL3NwZ2lzdF9uYW1lX29wcy9leHBlY3RlZC9zcGdpc3RfbmFtZV9vcHMub3V0CkBA IC01OSwxMSArNTksMTIgQEAgc2VsZWN0ICogZnJvbSB0CiAgYmluYXJ5X3VwZ3JhZGVfc2V0X25l eHRfbXVsdGlyYW5nZV9wZ190eXBlX29pZCAgICAgICB8ICAxIHwgYmluYXJ5X3VwZ3JhZGVfc2V0 X25leHRfbXVsdGlyYW5nZV9wZ190eXBlX29pZAogIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3Bn X2F1dGhpZF9vaWQgICAgICAgICAgICAgICAgfCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0 X3BnX2F1dGhpZF9vaWQKICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9wZ19lbnVtX29pZCAgICAg ICAgICAgICAgICAgIHwgICAgfCBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF9wZ19lbnVtX29pZAor IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQgICAgICAgICAgfCAg ICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3N1YnNjcmlwdGlvbl9vaWQKICBiaW5hcnlf dXBncmFkZV9zZXRfbmV4dF9wZ190YWJsZXNwYWNlX29pZCAgICAgICAgICAgIHwgICAgfCBiaW5h cnlfdXBncmFkZV9zZXRfbmV4dF9wZ190YWJsZXNwYWNlX29pZAogIGJpbmFyeV91cGdyYWRlX3Nl dF9uZXh0X3BnX3R5cGVfb2lkICAgICAgICAgICAgICAgICAgfCAgICB8IGJpbmFyeV91cGdyYWRl X3NldF9uZXh0X3BnX3R5cGVfb2lkCiAgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfdG9hc3RfcGdf Y2xhc3Nfb2lkICAgICAgICAgICB8ICAxIHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfdG9hc3Rf cGdfY2xhc3Nfb2lkCiAgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfdG9hc3RfcmVsZmlsZW5vZGUg ICAgICAgICAgICB8ICAgIHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfdG9hc3RfcmVsZmlsZW5v ZGUKLSgxMyByb3dzKQorKDE0IHJvd3MpCiAKIC0tIFZlcmlmeSBjbGVhbiBmYWlsdXJlIHdoZW4g SU5DTFVERSdkIGNvbHVtbnMgcmVzdWx0IGluIG92ZXJsZW5ndGggdHVwbGUKIC0tIFRoZSBlcnJv ciBtZXNzYWdlIGRldGFpbHMgYXJlIHBsYXRmb3JtLWRlcGVuZGVudCwgc28gc2hvdyBvbmx5IFNR TFNUQVRFCkBAIC0xMDgsMTEgKzEwOSwxMiBAQCBzZWxlY3QgKiBmcm9tIHQKICBiaW5hcnlfdXBn cmFkZV9zZXRfbmV4dF9tdWx0aXJhbmdlX3BnX3R5cGVfb2lkICAgICAgIHwgIDEgfCBiaW5hcnlf dXBncmFkZV9zZXRfbmV4dF9tdWx0aXJhbmdlX3BnX3R5cGVfb2lkCiAgYmluYXJ5X3VwZ3JhZGVf c2V0X25leHRfcGdfYXV0aGlkX29pZCAgICAgICAgICAgICAgICB8ICAgIHwgYmluYXJ5X3VwZ3Jh ZGVfc2V0X25leHRfcGdfYXV0aGlkX29pZAogIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX2Vu dW1fb2lkICAgICAgICAgICAgICAgICAgfCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3Bn X2VudW1fb2lkCisgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29pZCAg ICAgICAgICB8ICAgIHwgYmluYXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfc3Vic2NyaXB0aW9uX29p ZAogIGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3RhYmxlc3BhY2Vfb2lkICAgICAgICAgICAg fCAgICB8IGJpbmFyeV91cGdyYWRlX3NldF9uZXh0X3BnX3RhYmxlc3BhY2Vfb2lkCiAgYmluYXJ5 X3VwZ3JhZGVfc2V0X25leHRfcGdfdHlwZV9vaWQgICAgICAgICAgICAgICAgICB8ICAgIHwgYmlu YXJ5X3VwZ3JhZGVfc2V0X25leHRfcGdfdHlwZV9vaWQKICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4 dF90b2FzdF9wZ19jbGFzc19vaWQgICAgICAgICAgIHwgIDEgfCBiaW5hcnlfdXBncmFkZV9zZXRf bmV4dF90b2FzdF9wZ19jbGFzc19vaWQKICBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF90b2FzdF9y ZWxmaWxlbm9kZSAgICAgICAgICAgIHwgICAgfCBiaW5hcnlfdXBncmFkZV9zZXRfbmV4dF90b2Fz dF9yZWxmaWxlbm9kZQotKDEzIHJvd3MpCisoMTQgcm93cykKIAogXHNldCBWRVJCT1NJVFkgc3Fs c3RhdGUKIGluc2VydCBpbnRvIHQgdmFsdWVzKHJlcGVhdCgneHl6enknLCAxMiksIDQyLCByZXBl YXQoJ3h5enp5JywgNDAwMCkpOwotLSAKMi40OS4wCgo= --000000000000e6253306559c5391--