From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Garklein Newsgroups: gmane.emacs.bugs Subject: bug#73401: [PATCH] Make window dividers and internal border respect alpha background Date: Sat, 23 Nov 2024 16:56:26 -0500 Message-ID: References: <864j606pwa.fsf@gnu.org> <87frpkt61k.fsf@yahoo.com> <8634l1y37v.fsf@gnu.org> <8734l0supd.fsf@yahoo.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="000000000000ef0ea306279b92f5" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="10158"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 73401@debbugs.gnu.org, Eli Zaretskii To: Po Lu Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Nov 23 22:58:22 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1tEy90-0002UZ-5Q for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 23 Nov 2024 22:58:22 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tEy8j-0002ZV-KG; Sat, 23 Nov 2024 16:58:05 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tEy8h-0002ZC-AD for bug-gnu-emacs@gnu.org; Sat, 23 Nov 2024 16:58:03 -0500 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tEy8g-0007Uq-Vq for bug-gnu-emacs@gnu.org; Sat, 23 Nov 2024 16:58:03 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=Date:From:In-Reply-To:References:MIME-Version:To:Subject; bh=it4uw3+VYgpUAyQmnPyZgQnttAQRL/dz9vRHEKWqEjE=; b=tVrGOJakkNMmMMJWmJBaJX9/PVT36MXA0rwD+4h/Nd1STdWRwwBSTIb64KpC5YXQRTsJxm1SBbNI88U7LbIUtsWkgg9giqV3wBsbBt9XUYrAlGu0lH36BuzXw/TBuzcihhbNHz9cL/AcUtEjAkRNpJ93fKUabzG4sreE6DH8K6fiIgyyHWXup/FDEG2MGHCGWGGOHS1ovbG7AhNFpXnvHIT+FaaTp6XqeMuc0NVuYuN3dXD6Kcp74nSrKC/5HZhKQIsx6kRTxiRPn9Y4HG0wp0vdM2mPpWz11Tj0MCbzZs/N7+tpNZncMJD7c6awmgEj6HXsaMvK3LkCqrsalOWCfw==; Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1tEy8g-0000cG-Hn for bug-gnu-emacs@gnu.org; Sat, 23 Nov 2024 16:58:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Garklein Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Sat, 23 Nov 2024 21:58:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 73401 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 73401-submit@debbugs.gnu.org id=B73401.17323990672338 (code B ref 73401); Sat, 23 Nov 2024 21:58:02 +0000 Original-Received: (at 73401) by debbugs.gnu.org; 23 Nov 2024 21:57:47 +0000 Original-Received: from localhost ([127.0.0.1]:59719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEy8R-0000be-Bf for submit@debbugs.gnu.org; Sat, 23 Nov 2024 16:57:47 -0500 Original-Received: from mail-il1-f170.google.com ([209.85.166.170]:47385) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1tEy8O-0000bO-HB for 73401@debbugs.gnu.org; Sat, 23 Nov 2024 16:57:45 -0500 Original-Received: by mail-il1-f170.google.com with SMTP id e9e14a558f8ab-3a778cc0e5cso12034335ab.3 for <73401@debbugs.gnu.org>; Sat, 23 Nov 2024 13:57:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1732398999; x=1733003799; darn=debbugs.gnu.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=it4uw3+VYgpUAyQmnPyZgQnttAQRL/dz9vRHEKWqEjE=; b=BSpG9JWb+sBY4uDMVWcHYisX3Li84x5QJ9KeOajIRotmZpPsQNXyKqEKnaoXZR+omb EbGLMKZ8zNEwCYhGNPlWm31QyVN1XT9rkrtFz3bhpUUnYsBptkbj4RvvxYVqpiXNZs3n 93h9ib0zErAUhDT9uLo+HehxpzE9L3PUO0EEfBtiSv8UQm30k4gwrc0wS++gA8Xu1wAx +y5zLQ8JJKsq63sSXAeKIG6Li87if51KS9P+VasOsCOnxhZtq+A2Bc4YTjicAmz1bJiR tNbze0G4XJTzcoFgZrARxYueVpo7nO27lZkSEvNq/eUrWNEnLZVBAuscldQKCo2p1180 WSsA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1732398999; x=1733003799; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=it4uw3+VYgpUAyQmnPyZgQnttAQRL/dz9vRHEKWqEjE=; b=qRC1K5kFjMXe00r9W3whHsIGYqNnrXwgGFZdabjofPpoRuMX3mXz/14DqVZjw51EPA tktncZ+CaG/vC1oG9N87tiegP0+WiOBuj+U79/voCT+qZ+oTZBA1AqTpNgn+zBq+Ty71 woycY3uRN5GVu8mDOSOhVi+XWKhI7KUgOeRUxERr/dF0t8cXu4Mrt1GD5qZoi6uFtnJj ut9J553Ux4eVaB1MNzRaCjeyDLw5mNcEg5G1KOjgVzpjjKAzKOeWCwPoptK0Ff737+F/ 1BsYnimjCGWCPx51j/wd0WjcaKikkeCuY8KkygAnPoKsMkNBNTTmHNyLkfVOEVQPQNb5 0FdA== X-Forwarded-Encrypted: i=1; AJvYcCWqjB8LVzRDvo5hXNWxDKHFIthGc/VR9cDFe0Ag9bReR8UiUNspEoJWynE0Am82Z4UrHw85gw==@debbugs.gnu.org X-Gm-Message-State: AOJu0YxbKUSHtBg9fRkbbYYNcWpcXBH3uRKgtrM5Cd/NvzXqeXVigjXq p42VjdE22PdZOqWsFFY/4ec32k0FU3hjMir/PdwllRlGC7sCubh/wfDr985pqVcgtlk4lrqJ/ed YLu8laWPC0qp8Zgzwg07sKVGfKA8= X-Gm-Gg: ASbGncuDcHwkFjLLvNuoVRk9DGnZI5AJvGQrCvutW6KmnueHhyyyuICvI8MMsLZuYqr GH269MPY8GYTwg8B37DVDYBZh2LlnhEWt X-Google-Smtp-Source: AGHT+IEOBYKFqKwMIGvwnVV/Xhs4pyqUv8dRoIWRWz+os2uYoLpH+jmxMUehL6Rhud+2C62IaiJQ7cyWRCTeT4B5IfQ= X-Received: by 2002:a05:6602:2c8c:b0:837:7f8e:dfe2 with SMTP id ca18e2360f4ac-83ecdc55ea3mr904707539f.2.1732398998807; Sat, 23 Nov 2024 13:56:38 -0800 (PST) In-Reply-To: <8734l0supd.fsf@yahoo.com> X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:295872 Archived-At: --000000000000ef0ea306279b92f5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Here is a patch that adds this option as a frame parameter. I hope I did everything correctly, but I have never worked with the Emacs C source before, so I probably made some mistakes in style or logic. Also, should this be factored out so that `border-alpha-background' is its own parameter? In that case, a lot of functions would need to be changed (the `respect-alpha-background' parameter in many xterm.c functions would probably be changed to just a `double alpha` or something like that). I am up for that, but I'm not sure if it would be a helpful change. Please let me know how it looks! On Sat, Oct 12, 2024 at 8:38=E2=80=AFPM Po Lu wrote: > > Eli Zaretskii writes: > > > Ping! Po Lu, can you answer the OP? > > > >> From: Garklein > >> Date: Sun, 29 Sep 2024 15:37:58 -0400 > >> Cc: Eli Zaretskii , 73401@debbugs.gnu.org > >> > >> Would it be possible to have an option to make them transparent? It > >> makes it look a lot better for EXWM. > > Yes, but I won't be implementing it myself till Emacs 30 is released. > In the interim, patches welcome. --000000000000ef0ea306279b92f5 Content-Type: application/x-patch; name="borders-respect-alpha-background.patch" Content-Disposition: attachment; filename="borders-respect-alpha-background.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_m3upfv470 ZGlmZiAtLWdpdCBhL2RvYy9saXNwcmVmL2ZyYW1lcy50ZXhpIGIvZG9jL2xpc3ByZWYvZnJhbWVz LnRleGkKaW5kZXggYmY0ZDVjMC4uODE5YWIxYSAxMDA2NDQKLS0tIGEvZG9jL2xpc3ByZWYvZnJh bWVzLnRleGkKKysrIGIvZG9jL2xpc3ByZWYvZnJhbWVzLnRleGkKQEAgLTI1MDQsNiArMjUwNCwx MyBAQCBGb250IGFuZCBDb2xvciBQYXJhbWV0ZXJzCiB3aGlsZSBrZWVwaW5nIGZvcmVncm91bmQg ZWxlbWVudHMgc3VjaCBhcyB0ZXh0IGZ1bGx5IG9wYXF1ZS4gIEl0CiBzaG91bGQgYmUgYW4gaW50 ZWdlciBiZXR3ZWVuIDAgYW5kIDEwMCwgd2hlcmUgMCBtZWFucwogY29tcGxldGVseSB0cmFuc3Bh cmVudCBhbmQgMTAwIG1lYW5zIGNvbXBsZXRlbHkgb3BhcXVlIChkZWZhdWx0KS4KKworQHZpbmRl eCBib3JkZXJzLXJlc3BlY3QtYWxwaGEtYmFja2dyb3VuZEByeywgYSBmcmFtZSBwYXJhbWV0ZXJ9 CitAaXRlbSBib3JkZXJzLXJlc3BlY3QtYWxwaGEtYmFja2dyb3VuZAorQGNpbmRleCBvcGFjaXR5 LCBmcmFtZQorQGNpbmRleCB0cmFuc3BhcmVuY3ksIGZyYW1lCitXaGVuIG5vbi1AY29kZXtuaWx9 LCBpbnRlcm5hbCBib3JkZXJzIGFuZCB3aW5kb3cgZGl2aWRlcnMgYXJlCit0cmFuc3BhcmVudCBh Y2NvcmRpbmcgdG8gQGNvZGV7YWxwaGEtYmFja2dyb3VuZH0uCiBAZW5kIHRhYmxlCiAKIFRoZSBm b2xsb3dpbmcgZnJhbWUgcGFyYW1ldGVycyBhcmUgc2VtaS1vYnNvbGV0ZSBpbiB0aGF0IHRoZXkg YXJlCmRpZmYgLS1naXQgYS9zcmMvZnJhbWUuYyBiL3NyYy9mcmFtZS5jCmluZGV4IDdmNGJmMjcu LmNiODY2OGEgMTAwNjQ0Ci0tLSBhL3NyYy9mcmFtZS5jCisrKyBiL3NyYy9mcmFtZS5jCkBAIC00 MDAzLDU2ICs0MDAzLDU3IEBAIERFRlVOICgiZnJhbWUtc2NhbGUtZmFjdG9yIiwgRmZyYW1lX3Nj YWxlX2ZhY3RvciwgU2ZyYW1lX3NjYWxlX2ZhY3RvciwKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBm cmFtZV9wYXJtX3RhYmxlIGZyYW1lX3Bhcm1zW10gPQogewotICB7ImF1dG8tcmFpc2UiLAkJU1lN Qk9MX0lOREVYIChRYXV0b19yYWlzZSl9LAotICB7ImF1dG8tbG93ZXIiLAkJU1lNQk9MX0lOREVY IChRYXV0b19sb3dlcil9LAotICB7ImJhY2tncm91bmQtY29sb3IiLAkJLTF9LAotICB7ImJvcmRl ci1jb2xvciIsCQlTWU1CT0xfSU5ERVggKFFib3JkZXJfY29sb3IpfSwKLSAgeyJib3JkZXItd2lk dGgiLAkJU1lNQk9MX0lOREVYIChRYm9yZGVyX3dpZHRoKX0sCi0gIHsiY3Vyc29yLWNvbG9yIiwJ CVNZTUJPTF9JTkRFWCAoUWN1cnNvcl9jb2xvcil9LAotICB7ImN1cnNvci10eXBlIiwJCVNZTUJP TF9JTkRFWCAoUWN1cnNvcl90eXBlKX0sCi0gIHsiZm9udCIsCQkJLTF9LAotICB7ImZvcmVncm91 bmQtY29sb3IiLAkJLTF9LAotICB7Imljb24tbmFtZSIsCQkJU1lNQk9MX0lOREVYIChRaWNvbl9u YW1lKX0sCi0gIHsiaWNvbi10eXBlIiwJCQlTWU1CT0xfSU5ERVggKFFpY29uX3R5cGUpfSwKLSAg eyJjaGlsZC1mcmFtZS1ib3JkZXItd2lkdGgiLAlTWU1CT0xfSU5ERVggKFFjaGlsZF9mcmFtZV9i b3JkZXJfd2lkdGgpfSwKLSAgeyJpbnRlcm5hbC1ib3JkZXItd2lkdGgiLAlTWU1CT0xfSU5ERVgg KFFpbnRlcm5hbF9ib3JkZXJfd2lkdGgpfSwKLSAgeyJyaWdodC1kaXZpZGVyLXdpZHRoIiwJU1lN Qk9MX0lOREVYIChRcmlnaHRfZGl2aWRlcl93aWR0aCl9LAotICB7ImJvdHRvbS1kaXZpZGVyLXdp ZHRoIiwJU1lNQk9MX0lOREVYIChRYm90dG9tX2RpdmlkZXJfd2lkdGgpfSwKLSAgeyJtZW51LWJh ci1saW5lcyIsCQlTWU1CT0xfSU5ERVggKFFtZW51X2Jhcl9saW5lcyl9LAotICB7Im1vdXNlLWNv bG9yIiwJCVNZTUJPTF9JTkRFWCAoUW1vdXNlX2NvbG9yKX0sCi0gIHsibmFtZSIsCQkJU1lNQk9M X0lOREVYIChRbmFtZSl9LAotICB7InNjcm9sbC1iYXItd2lkdGgiLAkJU1lNQk9MX0lOREVYIChR c2Nyb2xsX2Jhcl93aWR0aCl9LAotICB7InNjcm9sbC1iYXItaGVpZ2h0IiwJCVNZTUJPTF9JTkRF WCAoUXNjcm9sbF9iYXJfaGVpZ2h0KX0sCi0gIHsidGl0bGUiLAkJCVNZTUJPTF9JTkRFWCAoUXRp dGxlKX0sCi0gIHsidW5zcGxpdHRhYmxlIiwJCVNZTUJPTF9JTkRFWCAoUXVuc3BsaXR0YWJsZSl9 LAotICB7InZlcnRpY2FsLXNjcm9sbC1iYXJzIiwJU1lNQk9MX0lOREVYIChRdmVydGljYWxfc2Ny b2xsX2JhcnMpfSwKLSAgeyJob3Jpem9udGFsLXNjcm9sbC1iYXJzIiwJU1lNQk9MX0lOREVYIChR aG9yaXpvbnRhbF9zY3JvbGxfYmFycyl9LAotICB7InZpc2liaWxpdHkiLAkJU1lNQk9MX0lOREVY IChRdmlzaWJpbGl0eSl9LAotICB7InRhYi1iYXItbGluZXMiLAkJU1lNQk9MX0lOREVYIChRdGFi X2Jhcl9saW5lcyl9LAotICB7InRvb2wtYmFyLWxpbmVzIiwJCVNZTUJPTF9JTkRFWCAoUXRvb2xf YmFyX2xpbmVzKX0sCi0gIHsic2Nyb2xsLWJhci1mb3JlZ3JvdW5kIiwJU1lNQk9MX0lOREVYIChR c2Nyb2xsX2Jhcl9mb3JlZ3JvdW5kKX0sCi0gIHsic2Nyb2xsLWJhci1iYWNrZ3JvdW5kIiwJU1lN Qk9MX0lOREVYIChRc2Nyb2xsX2Jhcl9iYWNrZ3JvdW5kKX0sCi0gIHsic2NyZWVuLWdhbW1hIiwJ CVNZTUJPTF9JTkRFWCAoUXNjcmVlbl9nYW1tYSl9LAotICB7ImxpbmUtc3BhY2luZyIsCQlTWU1C T0xfSU5ERVggKFFsaW5lX3NwYWNpbmcpfSwKLSAgeyJsZWZ0LWZyaW5nZSIsCQlTWU1CT0xfSU5E RVggKFFsZWZ0X2ZyaW5nZSl9LAotICB7InJpZ2h0LWZyaW5nZSIsCQlTWU1CT0xfSU5ERVggKFFy aWdodF9mcmluZ2UpfSwKLSAgeyJ3YWl0LWZvci13bSIsCQlTWU1CT0xfSU5ERVggKFF3YWl0X2Zv cl93bSl9LAotICB7ImZ1bGxzY3JlZW4iLCAgICAgICAgICAgICAgICBTWU1CT0xfSU5ERVggKFFm dWxsc2NyZWVuKX0sCi0gIHsiZm9udC1iYWNrZW5kIiwJCVNZTUJPTF9JTkRFWCAoUWZvbnRfYmFj a2VuZCl9LAotICB7ImFscGhhIiwJCQlTWU1CT0xfSU5ERVggKFFhbHBoYSl9LAotICB7InN0aWNr eSIsCQkJU1lNQk9MX0lOREVYIChRc3RpY2t5KX0sCi0gIHsidG9vbC1iYXItcG9zaXRpb24iLAkJ U1lNQk9MX0lOREVYIChRdG9vbF9iYXJfcG9zaXRpb24pfSwKLSAgeyJpbmhpYml0LWRvdWJsZS1i dWZmZXJpbmciLCAgU1lNQk9MX0lOREVYIChRaW5oaWJpdF9kb3VibGVfYnVmZmVyaW5nKX0sCi0g IHsidW5kZWNvcmF0ZWQiLAkJU1lNQk9MX0lOREVYIChRdW5kZWNvcmF0ZWQpfSwKLSAgeyJwYXJl bnQtZnJhbWUiLAkJU1lNQk9MX0lOREVYIChRcGFyZW50X2ZyYW1lKX0sCi0gIHsic2tpcC10YXNr YmFyIiwJCVNZTUJPTF9JTkRFWCAoUXNraXBfdGFza2Jhcil9LAotICB7Im5vLWZvY3VzLW9uLW1h cCIsCQlTWU1CT0xfSU5ERVggKFFub19mb2N1c19vbl9tYXApfSwKLSAgeyJuby1hY2NlcHQtZm9j dXMiLAkJU1lNQk9MX0lOREVYIChRbm9fYWNjZXB0X2ZvY3VzKX0sCi0gIHsiei1ncm91cCIsCQkJ U1lNQk9MX0lOREVYIChRel9ncm91cCl9LAotICB7Im92ZXJyaWRlLXJlZGlyZWN0IiwJCVNZTUJP TF9JTkRFWCAoUW92ZXJyaWRlX3JlZGlyZWN0KX0sCi0gIHsibm8tc3BlY2lhbC1nbHlwaHMiLAkJ U1lNQk9MX0lOREVYIChRbm9fc3BlY2lhbF9nbHlwaHMpfSwKLSAgeyJhbHBoYS1iYWNrZ3JvdW5k IiwJCVNZTUJPTF9JTkRFWCAoUWFscGhhX2JhY2tncm91bmQpfSwKLSAgeyJ1c2UtZnJhbWUtc3lu Y2hyb25pemF0aW9uIiwJU1lNQk9MX0lOREVYIChRdXNlX2ZyYW1lX3N5bmNocm9uaXphdGlvbil9 LAorICB7ImF1dG8tcmFpc2UiLAkJCVNZTUJPTF9JTkRFWCAoUWF1dG9fcmFpc2UpfSwKKyAgeyJh dXRvLWxvd2VyIiwJCQlTWU1CT0xfSU5ERVggKFFhdXRvX2xvd2VyKX0sCisgIHsiYmFja2dyb3Vu ZC1jb2xvciIsCQkJLTF9LAorICB7ImJvcmRlci1jb2xvciIsCQkJU1lNQk9MX0lOREVYIChRYm9y ZGVyX2NvbG9yKX0sCisgIHsiYm9yZGVyLXdpZHRoIiwJCQlTWU1CT0xfSU5ERVggKFFib3JkZXJf d2lkdGgpfSwKKyAgeyJjdXJzb3ItY29sb3IiLAkJCVNZTUJPTF9JTkRFWCAoUWN1cnNvcl9jb2xv cil9LAorICB7ImN1cnNvci10eXBlIiwJCQlTWU1CT0xfSU5ERVggKFFjdXJzb3JfdHlwZSl9LAor ICB7ImZvbnQiLAkJCQktMX0sCisgIHsiZm9yZWdyb3VuZC1jb2xvciIsCQkJLTF9LAorICB7Imlj b24tbmFtZSIsCQkJCVNZTUJPTF9JTkRFWCAoUWljb25fbmFtZSl9LAorICB7Imljb24tdHlwZSIs CQkJCVNZTUJPTF9JTkRFWCAoUWljb25fdHlwZSl9LAorICB7ImNoaWxkLWZyYW1lLWJvcmRlci13 aWR0aCIsCQlTWU1CT0xfSU5ERVggKFFjaGlsZF9mcmFtZV9ib3JkZXJfd2lkdGgpfSwKKyAgeyJp bnRlcm5hbC1ib3JkZXItd2lkdGgiLAkJU1lNQk9MX0lOREVYIChRaW50ZXJuYWxfYm9yZGVyX3dp ZHRoKX0sCisgIHsicmlnaHQtZGl2aWRlci13aWR0aCIsCQlTWU1CT0xfSU5ERVggKFFyaWdodF9k aXZpZGVyX3dpZHRoKX0sCisgIHsiYm90dG9tLWRpdmlkZXItd2lkdGgiLAkJU1lNQk9MX0lOREVY IChRYm90dG9tX2RpdmlkZXJfd2lkdGgpfSwKKyAgeyJtZW51LWJhci1saW5lcyIsCQkJU1lNQk9M X0lOREVYIChRbWVudV9iYXJfbGluZXMpfSwKKyAgeyJtb3VzZS1jb2xvciIsCQkJU1lNQk9MX0lO REVYIChRbW91c2VfY29sb3IpfSwKKyAgeyJuYW1lIiwJCQkJU1lNQk9MX0lOREVYIChRbmFtZSl9 LAorICB7InNjcm9sbC1iYXItd2lkdGgiLAkJCVNZTUJPTF9JTkRFWCAoUXNjcm9sbF9iYXJfd2lk dGgpfSwKKyAgeyJzY3JvbGwtYmFyLWhlaWdodCIsCQkJU1lNQk9MX0lOREVYIChRc2Nyb2xsX2Jh cl9oZWlnaHQpfSwKKyAgeyJ0aXRsZSIsCQkJCVNZTUJPTF9JTkRFWCAoUXRpdGxlKX0sCisgIHsi dW5zcGxpdHRhYmxlIiwJCQlTWU1CT0xfSU5ERVggKFF1bnNwbGl0dGFibGUpfSwKKyAgeyJ2ZXJ0 aWNhbC1zY3JvbGwtYmFycyIsCQlTWU1CT0xfSU5ERVggKFF2ZXJ0aWNhbF9zY3JvbGxfYmFycyl9 LAorICB7Imhvcml6b250YWwtc2Nyb2xsLWJhcnMiLAkJU1lNQk9MX0lOREVYIChRaG9yaXpvbnRh bF9zY3JvbGxfYmFycyl9LAorICB7InZpc2liaWxpdHkiLAkJCVNZTUJPTF9JTkRFWCAoUXZpc2li aWxpdHkpfSwKKyAgeyJ0YWItYmFyLWxpbmVzIiwJCQlTWU1CT0xfSU5ERVggKFF0YWJfYmFyX2xp bmVzKX0sCisgIHsidG9vbC1iYXItbGluZXMiLAkJCVNZTUJPTF9JTkRFWCAoUXRvb2xfYmFyX2xp bmVzKX0sCisgIHsic2Nyb2xsLWJhci1mb3JlZ3JvdW5kIiwJCVNZTUJPTF9JTkRFWCAoUXNjcm9s bF9iYXJfZm9yZWdyb3VuZCl9LAorICB7InNjcm9sbC1iYXItYmFja2dyb3VuZCIsCQlTWU1CT0xf SU5ERVggKFFzY3JvbGxfYmFyX2JhY2tncm91bmQpfSwKKyAgeyJzY3JlZW4tZ2FtbWEiLAkJCVNZ TUJPTF9JTkRFWCAoUXNjcmVlbl9nYW1tYSl9LAorICB7ImxpbmUtc3BhY2luZyIsCQkJU1lNQk9M X0lOREVYIChRbGluZV9zcGFjaW5nKX0sCisgIHsibGVmdC1mcmluZ2UiLAkJCVNZTUJPTF9JTkRF WCAoUWxlZnRfZnJpbmdlKX0sCisgIHsicmlnaHQtZnJpbmdlIiwJCQlTWU1CT0xfSU5ERVggKFFy aWdodF9mcmluZ2UpfSwKKyAgeyJ3YWl0LWZvci13bSIsCQkJU1lNQk9MX0lOREVYIChRd2FpdF9m b3Jfd20pfSwKKyAgeyJmdWxsc2NyZWVuIiwgICAgICAgICAgICAgICAgCVNZTUJPTF9JTkRFWCAo UWZ1bGxzY3JlZW4pfSwKKyAgeyJmb250LWJhY2tlbmQiLAkJCVNZTUJPTF9JTkRFWCAoUWZvbnRf YmFja2VuZCl9LAorICB7ImFscGhhIiwJCQkJU1lNQk9MX0lOREVYIChRYWxwaGEpfSwKKyAgeyJz dGlja3kiLAkJCQlTWU1CT0xfSU5ERVggKFFzdGlja3kpfSwKKyAgeyJ0b29sLWJhci1wb3NpdGlv biIsCQkJU1lNQk9MX0lOREVYIChRdG9vbF9iYXJfcG9zaXRpb24pfSwKKyAgeyJpbmhpYml0LWRv dWJsZS1idWZmZXJpbmciLCAgCVNZTUJPTF9JTkRFWCAoUWluaGliaXRfZG91YmxlX2J1ZmZlcmlu Zyl9LAorICB7InVuZGVjb3JhdGVkIiwJCQlTWU1CT0xfSU5ERVggKFF1bmRlY29yYXRlZCl9LAor ICB7InBhcmVudC1mcmFtZSIsCQkJU1lNQk9MX0lOREVYIChRcGFyZW50X2ZyYW1lKX0sCisgIHsi c2tpcC10YXNrYmFyIiwJCQlTWU1CT0xfSU5ERVggKFFza2lwX3Rhc2tiYXIpfSwKKyAgeyJuby1m b2N1cy1vbi1tYXAiLAkJCVNZTUJPTF9JTkRFWCAoUW5vX2ZvY3VzX29uX21hcCl9LAorICB7Im5v LWFjY2VwdC1mb2N1cyIsCQkJU1lNQk9MX0lOREVYIChRbm9fYWNjZXB0X2ZvY3VzKX0sCisgIHsi ei1ncm91cCIsCQkJCVNZTUJPTF9JTkRFWCAoUXpfZ3JvdXApfSwKKyAgeyJvdmVycmlkZS1yZWRp cmVjdCIsCQkJU1lNQk9MX0lOREVYIChRb3ZlcnJpZGVfcmVkaXJlY3QpfSwKKyAgeyJuby1zcGVj aWFsLWdseXBocyIsCQkJU1lNQk9MX0lOREVYIChRbm9fc3BlY2lhbF9nbHlwaHMpfSwKKyAgeyJh bHBoYS1iYWNrZ3JvdW5kIiwJCQlTWU1CT0xfSU5ERVggKFFhbHBoYV9iYWNrZ3JvdW5kKX0sCisg IHsiYm9yZGVycy1yZXNwZWN0LWFscGhhLWJhY2tncm91bmQiLAlTWU1CT0xfSU5ERVggKFFib3Jk ZXJzX3Jlc3BlY3RfYWxwaGFfYmFja2dyb3VuZCl9LAorICB7InVzZS1mcmFtZS1zeW5jaHJvbml6 YXRpb24iLAkJU1lNQk9MX0lOREVYIChRdXNlX2ZyYW1lX3N5bmNocm9uaXphdGlvbil9LAogI2lm ZGVmIEhBVkVfWF9XSU5ET1dTCiAgIHsic2hhZGVkIiwJCQlTWU1CT0xfSU5ERVggKFFzaGFkZWQp fSwKICNlbmRpZgpAQCAtNTIzOCw2ICs1MjM5LDEyIEBAIGd1aV9zZXRfYWxwaGFfYmFja2dyb3Vu ZCAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBhcmcsIExpc3BfT2JqZWN0IG9sZHZhbCkK ICAgU0VUX0ZSQU1FX0dBUkJBR0VEIChmKTsKIH0KIAordm9pZAorZ3VpX3NldF9ib3JkZXJzX3Jl c3BlY3RfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICpmLCBMaXNwX09iamVjdCBhcmcs IExpc3BfT2JqZWN0IG9sZHZhbCkKK3sKKyAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tn cm91bmQgPSAhTklMUCAoYXJnKTsKK30KKwogLyoqCiAgKiBndWlfc2V0X25vX3NwZWNpYWxfZ2x5 cGhzOgogICoKQEAgLTY0MDAsNiArNjQwNyw3IEBAIHN5bXNfb2ZfZnJhbWUgKHZvaWQpCiAKICAg REVGU1lNIChRYWxwaGEsICJhbHBoYSIpOwogICBERUZTWU0gKFFhbHBoYV9iYWNrZ3JvdW5kLCAi YWxwaGEtYmFja2dyb3VuZCIpOworICBERUZTWU0gKFFib3JkZXJzX3Jlc3BlY3RfYWxwaGFfYmFj a2dyb3VuZCwgImJvcmRlcnMtcmVzcGVjdC1hbHBoYS1iYWNrZ3JvdW5kIik7CiAgIERFRlNZTSAo UWF1dG9fbG93ZXIsICJhdXRvLWxvd2VyIik7CiAgIERFRlNZTSAoUWF1dG9fcmFpc2UsICJhdXRv LXJhaXNlIik7CiAgIERFRlNZTSAoUWJvcmRlcl9jb2xvciwgImJvcmRlci1jb2xvciIpOwpkaWZm IC0tZ2l0IGEvc3JjL2ZyYW1lLmggYi9zcmMvZnJhbWUuaAppbmRleCAxZDkyMGQxLi4wZTM1M2Ew IDEwMDY0NAotLS0gYS9zcmMvZnJhbWUuaAorKysgYi9zcmMvZnJhbWUuaApAQCAtNTQ0LDYgKzU0 NCwxMCBAQCAjZGVmaW5lIEVNQUNTX0ZSQU1FX0gKICAgICAgc2VsZWN0ZWQgd2luZG93IGluIHRo ZSBmcmFtZSwgYXNzdW1pbmcgdGhlcmUgaXMgc3RpbGwgYW4gYWN0aXZlCiAgICAgIG1pbmlidWZm ZXIgaW4gdGhhdCBtaW5pLXdpbmRvdy4gICovCiAgIGJvb2xfYmYgc2VsZWN0X21pbmlfd2luZG93 X2ZsYWcgOiAxOworCisgIC8qIFNldCB0byB0cnVlIHdoZW4gYm9yZGVycycgdHJhbnNwYXJlbmNp ZXMgc2hvdWxkIG1hdGNoIHRoZQorICAgICBiYWNrZ3JvdW5kIG9wYWNpdHkuICAqLworICBib29s X2JmIGJvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kIDogMTsKICAgLyogQml0ZmllbGQg YXJlYSBlbmRzIGhlcmUuICAqLwogCiAgIC8qIFRoaXMgZnJhbWUncyBjaGFuZ2Ugc3RhbXAsIHNl dCB0aGUgbGFzdCB0aW1lIHdpbmRvdyBjaGFuZ2UKQEAgLTE4NjcsNiArMTg3MSw3IEBAICNkZWZp bmUgRU1BQ1NfQ0xBU1MgIkVtYWNzIgogCiBleHRlcm4gdm9pZCBndWlfc2V0X2FscGhhIChzdHJ1 Y3QgZnJhbWUgKiwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0KTsKIGV4dGVybiB2b2lkIGd1aV9z ZXRfYWxwaGFfYmFja2dyb3VuZCAoc3RydWN0IGZyYW1lICosIExpc3BfT2JqZWN0LCBMaXNwX09i amVjdCk7CitleHRlcm4gdm9pZCBndWlfc2V0X2JvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3Jv dW5kIChzdHJ1Y3QgZnJhbWUgKiwgTGlzcF9PYmplY3QsIExpc3BfT2JqZWN0KTsKIGV4dGVybiB2 b2lkIGd1aV9zZXRfbm9fc3BlY2lhbF9nbHlwaHMgKHN0cnVjdCBmcmFtZSAqLCBMaXNwX09iamVj dCwgTGlzcF9PYmplY3QpOwogCiBleHRlcm4gdm9pZCB2YWxpZGF0ZV94X3Jlc291cmNlX25hbWUg KHZvaWQpOwpkaWZmIC0tZ2l0IGEvc3JjL3hmbnMuYyBiL3NyYy94Zm5zLmMKaW5kZXggM2YwZDhm My4uZDAzMTkxNiAxMDA2NDQKLS0tIGEvc3JjL3hmbnMuYworKysgYi9zcmMveGZucy5jCkBAIC01 MzE1LDYgKzUzMTUsOSBAQCBERUZVTiAoIngtY3JlYXRlLWZyYW1lIiwgRnhfY3JlYXRlX2ZyYW1l LCBTeF9jcmVhdGVfZnJhbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgImFscGhhIiwgIkFs cGhhIiwgUkVTX1RZUEVfTlVNQkVSKTsKICAgZ3VpX2RlZmF1bHRfcGFyYW1ldGVyIChmLCBwYXJt cywgUWFscGhhX2JhY2tncm91bmQsIFFuaWwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgImFs cGhhQmFja2dyb3VuZCIsICJBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIpOworICBn dWlfZGVmYXVsdF9wYXJhbWV0ZXIgKGYsIHBhcm1zLCBRYm9yZGVyc19yZXNwZWN0X2FscGhhX2Jh Y2tncm91bmQsIFFuaWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgImJvcmRlcnNSZXNwZWN0 QWxwaGFCYWNrZ3JvdW5kIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAiQm9yZGVyc1Jlc3Bl Y3RBbHBoYUJhY2tncm91bmQiLCBSRVNfVFlQRV9OVU1CRVIpOwogCiAgIGlmICghTklMUCAocGFy ZW50X2ZyYW1lKSkKICAgICB7CkBAIC0xMDE3MCw2ICsxMDE3Myw3IEBAIERFRlVOICgieC10ZXN0 LXN0cmluZy1jb252ZXJzaW9uIiwgRnhfdGVzdF9zdHJpbmdfY29udmVyc2lvbiwKICAgeF9zZXRf b3ZlcnJpZGVfcmVkaXJlY3QsCiAgIGd1aV9zZXRfbm9fc3BlY2lhbF9nbHlwaHMsCiAgIHhfc2V0 X2FscGhhX2JhY2tncm91bmQsCisgIGd1aV9zZXRfYm9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tn cm91bmQsCiAgIHhfc2V0X3VzZV9mcmFtZV9zeW5jaHJvbml6YXRpb24sCiAgIHhfc2V0X3NoYWRl ZCwKIH07CmRpZmYgLS1naXQgYS9zcmMveHRlcm0uYyBiL3NyYy94dGVybS5jCmluZGV4IDBjMjBk MzguLjMyNTlmNTAgMTAwNjQ0Ci0tLSBhL3NyYy94dGVybS5jCisrKyBiL3NyYy94dGVybS5jCkBA IC03NDk3LDEzICs3NDk3LDE2IEBAIHhfZHJhd193aW5kb3dfZGl2aWRlciAoc3RydWN0IHdpbmRv dyAqdywgaW50IHgwLCBpbnQgeDEsIGludCB5MCwgaW50IHkxKQogICAgIHsKICAgICAgIFhTZXRG b3JlZ3JvdW5kIChkaXNwbGF5LCBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsIGNvbG9yX2Zp cnN0KTsKICAgICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGYtPm91dHB1dF9kYXRhLngtPm5vcm1h bF9nYywKLQkJCXgwLCB5MCwgMSwgeTEgLSB5MCwgZmFsc2UpOworCQkJeDAsIHkwLCAxLCB5MSAt IHkwLAorICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2Jh Y2tncm91bmQpOwogICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRh LngtPm5vcm1hbF9nYywgY29sb3IpOwogICAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZi0+b3V0 cHV0X2RhdGEueC0+bm9ybWFsX2djLAotCQkJeDAgKyAxLCB5MCwgeDEgLSB4MCAtIDIsIHkxIC0g eTAsIGZhbHNlKTsKKwkJCXgwICsgMSwgeTAsIHgxIC0geDAgLSAyLCB5MSAtIHkwLAorICAgICAg ICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOwog ICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9n YywgY29sb3JfbGFzdCk7CiAgICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBmLT5vdXRwdXRfZGF0 YS54LT5ub3JtYWxfZ2MsCi0JCQl4MSAtIDEsIHkwLCAxLCB5MSAtIHkwLCBmYWxzZSk7CisJCQl4 MSAtIDEsIHkwLCAxLCB5MSAtIHkwLAorICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVy c19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOwogICAgIH0KICAgZWxzZSBpZiAoKHgxIC0geDAg PiB5MSAtIHkwKSAmJiAoeTEgLSB5MCA+PSAzKSkKICAgICAvKiBBIGhvcml6b250YWwgZGl2aWRl ciwgYXQgbGVhc3QgdGhyZWUgcGl4ZWxzIGhpZ2g6IERyYXcgZmlyc3QgYW5kCkBAIC03NTExLDEz ICs3NTE0LDE2IEBAIHhfZHJhd193aW5kb3dfZGl2aWRlciAoc3RydWN0IHdpbmRvdyAqdywgaW50 IHgwLCBpbnQgeDEsIGludCB5MCwgaW50IHkxKQogICAgIHsKICAgICAgIFhTZXRGb3JlZ3JvdW5k IChkaXNwbGF5LCBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsIGNvbG9yX2ZpcnN0KTsKICAg ICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywKLQkJ CXgwLCB5MCwgeDEgLSB4MCwgMSwgZmFsc2UpOworCQkJeDAsIHkwLCB4MSAtIHgwLCAxLAorICAg ICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQp OwogICAgICAgWFNldEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRhLngtPm5vcm1h bF9nYywgY29sb3IpOwogICAgICAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZi0+b3V0cHV0X2RhdGEu eC0+bm9ybWFsX2djLAotCQkJeDAsIHkwICsgMSwgeDEgLSB4MCwgeTEgLSB5MCAtIDIsIGZhbHNl KTsKKwkJCXgwLCB5MCArIDEsIHgxIC0geDAsIHkxIC0geTAgLSAyLAorICAgICAgICAgICAgICAg ICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOwogICAgICAgWFNl dEZvcmVncm91bmQgKGRpc3BsYXksIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9nYywgY29sb3Jf bGFzdCk7CiAgICAgICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBmLT5vdXRwdXRfZGF0YS54LT5ub3Jt YWxfZ2MsCi0JCQl4MCwgeTEgLSAxLCB4MSAtIHgwLCAxLCBmYWxzZSk7CisJCQl4MCwgeTEgLSAx LCB4MSAtIHgwLCAxLAorICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0 X2FscGhhX2JhY2tncm91bmQpOwogICAgIH0KICAgZWxzZQogICAgIHsKQEAgLTc1MjUsNyArNzUz MSw4IEBAIHhfZHJhd193aW5kb3dfZGl2aWRlciAoc3RydWN0IHdpbmRvdyAqdywgaW50IHgwLCBp bnQgeDEsIGludCB5MCwgaW50IHkxKQogICAgICAgIGRpZmZlcmVudGx5LiAgKi8KICAgICAgIFhT ZXRGb3JlZ3JvdW5kIChkaXNwbGF5LCBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2MsIGNvbG9y KTsKICAgICAgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGYtPm91dHB1dF9kYXRhLngtPm5vcm1hbF9n YywKLQkJCXgwLCB5MCwgeDEgLSB4MCwgeTEgLSB5MCwgZmFsc2UpOworCQkJeDAsIHkwLCB4MSAt IHgwLCB5MSAtIHkwLAorICAgICAgICAgICAgICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0 X2FscGhhX2JhY2tncm91bmQpOwogICAgIH0KIH0KIApAQCAtNzczMiwxMSArNzczOSwxNSBAQCB4 X2NsZWFyX3VuZGVyX2ludGVybmFsX2JvcmRlciAoc3RydWN0IGZyYW1lICpmKQogCSAgR0MgZ2Mg PSBmLT5vdXRwdXRfZGF0YS54LT5ub3JtYWxfZ2M7CiAKIAkgIFhTZXRGb3JlZ3JvdW5kIChkaXNw bGF5LCBnYywgY29sb3IpOwotCSAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZ2MsIDAsIG1hcmdpbiwg d2lkdGgsIGJvcmRlciwgZmFsc2UpOwotCSAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZ2MsIDAsIDAs IGJvcmRlciwgaGVpZ2h0LCBmYWxzZSk7Ci0JICB4X2ZpbGxfcmVjdGFuZ2xlIChmLCBnYywgd2lk dGggLSBib3JkZXIsIDAsIGJvcmRlciwgaGVpZ2h0LCBmYWxzZSk7CisJICB4X2ZpbGxfcmVjdGFu Z2xlIChmLCBnYywgMCwgbWFyZ2luLCB3aWR0aCwgYm9yZGVyLAorICAgICAgICAgICAgZi0+Ym9y ZGVyc19yZXNwZWN0X2FscGhhX2JhY2tncm91bmQpOworCSAgeF9maWxsX3JlY3RhbmdsZSAoZiwg Z2MsIDAsIDAsIGJvcmRlciwgaGVpZ2h0LAorICAgICAgICAgICAgZi0+Ym9yZGVyc19yZXNwZWN0 X2FscGhhX2JhY2tncm91bmQpOworCSAgeF9maWxsX3JlY3RhbmdsZSAoZiwgZ2MsIHdpZHRoIC0g Ym9yZGVyLCAwLCBib3JkZXIsIGhlaWdodCwKKyAgICAgICAgICAgIGYtPmJvcmRlcnNfcmVzcGVj dF9hbHBoYV9iYWNrZ3JvdW5kKTsKIAkgIHhfZmlsbF9yZWN0YW5nbGUgKGYsIGdjLCAwLCBoZWln aHQgLSBib3R0b21fbWFyZ2luIC0gYm9yZGVyLAotCQkJICAgIHdpZHRoLCBib3JkZXIsIGZhbHNl KTsKKwkJCSAgICB3aWR0aCwgYm9yZGVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGYt PmJvcmRlcnNfcmVzcGVjdF9hbHBoYV9iYWNrZ3JvdW5kKTsKIAkgIFhTZXRGb3JlZ3JvdW5kIChk aXNwbGF5LCBnYywgRlJBTUVfRk9SRUdST1VORF9QSVhFTCAoZikpOwogCX0KICAgICAgIGVsc2UK --000000000000ef0ea306279b92f5--