<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>51050</bug_id>
          
          <creation_ts>2010-12-14 12:21:42 -0800</creation_ts>
          <short_desc>REGRESSION(r74040): Breaks 2d.shadow.canvas.transparent.2 and 2d.shadow.image.transparent.2 (Requested by helder on #webkit).</short_desc>
          <delta_ts>2010-12-14 13:05:09 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>50422</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Review Bot">webkit.review.bot</reporter>
          <assigned_to name="WebKit Review Bot">webkit.review.bot</assigned_to>
          <cc>ariya.hidayat</cc>
    
    <cc>commit-queue</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>322108</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-14 12:21:42 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74040 broke the build:
Breaks 2d.shadow.canvas.transparent.2 and 2d.shadow.image.transparent.2 (Requested by helder on #webkit).

This is an automatic bug report generated by the sheriff-bot. If this bug
report was created because of a flaky test, please file a bug for the flaky
test (if we don&apos;t already have one on file) and dup this bug against that bug
so that we can track how often these flaky tests case pain.

&quot;Only you can prevent forest fires.&quot; -- Smokey the Bear</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322109</commentid>
    <comment_count>1</comment_count>
      <attachid>76557</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-14 12:22:01 -0800</bug_when>
    <thetext>Created attachment 76557
ROLLOUT of r74040

Any committer can land this patch automatically by marking it commit-queue+.  The commit-queue will build and test the patch before landing to ensure that the rollout will be successful.  This process takes approximately 15 minutes.

If you would like to land the rollout faster, you can use the following command:

  webkit-patch land-attachment ATTACHMENT_ID --ignore-builders

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322142</commentid>
    <comment_count>2</comment_count>
      <attachid>76557</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-14 13:05:04 -0800</bug_when>
    <thetext>Comment on attachment 76557
ROLLOUT of r74040

Clearing flags on attachment: 76557

Committed r74054: &lt;http://trac.webkit.org/changeset/74054&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322143</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-14 13:05:09 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76557</attachid>
            <date>2010-12-14 12:22:01 -0800</date>
            <delta_ts>2010-12-14 13:05:04 -0800</delta_ts>
            <desc>ROLLOUT of r74040</desc>
            <filename>bug-51050-20101214202136.patch</filename>
            <type>text/plain</type>
            <size>33713</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhY2MwNWM0YjQyMWNkOWIyN2FkMWNmM2VlYTIzZjEzZjRhNjcxZThiLi43ODg4OTIy
ZjE1OTM4ZTNmM2E2YTgxZDkyMjFlZWU1N2ZiNjJjMDQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjEgQEAK
KzIwMTAtMTItMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDA0MC4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzQwNDAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMDUwCisKKyAgICAgICAgQnJlYWtzIDJkLnNoYWRv
dy5jYW52YXMudHJhbnNwYXJlbnQuMiBhbmQKKyAgICAgICAgMmQuc2hhZG93LmltYWdlLnRyYW5z
cGFyZW50LjIgKFJlcXVlc3RlZCBieSBoZWxkZXIgb24KKyAgICAgICAgI3dlYmtpdCkuCisKKyAg
ICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtc2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3ctZXhwZWN0
ZWQudHh0OgorICAgICAgICAqIGZhc3QvY2FudmFzL2NhbnZhcy10cmFuc2Zvcm1zLWZpbGxSZWN0
LXNoYWRvdy1leHBlY3RlZC50eHQ6IFJlbW92ZWQuCisgICAgICAgICogZmFzdC9jYW52YXMvY2Fu
dmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qtc2hhZG93Lmh0bWw6IFJlbW92ZWQuCisgICAgICAgICog
ZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2FsZS1maWxsUGF0aC1zaGFkb3cuanM6
CisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2FsZS1maWxsUmVj
dC1zaGFkb3cuanM6CisgICAgICAgICogZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1z
Y2FsZS1zdHJva2VQYXRoLXNoYWRvdy5qczoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9zY3JpcHQt
dGVzdHMvY2FudmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qtc2hhZG93LmpzOiBSZW1vdmVkLgorCiAy
MDEwLTEyLTE0ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFz
L2NhbnZhcy1zY2FsZS1zdHJva2VQYXRoLXNoYWRvdy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9jYW52YXMtc2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3ctZXhwZWN0ZWQudHh0
CmluZGV4IGEzMzdjNGI2M2ZmMWRkZmVlZDQ0ODhlMzUxZmZkYWUxNDllYTg1MTYuLmU1NjIwMWY3
Mzg3ZTQ2MmY3OTIyNWU2NWY4YTM0MDFlMmUzMjM2ZmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy1zY2FsZS1zdHJva2VQYXRoLXNoYWRvdy1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hh
ZG93LWV4cGVjdGVkLnR4dApAQCAtMzAsMjcgKzMwLDI3IEBAIFBBU1MgZFszXSBpcyBhcm91bmQg
NzYKIFBBU1MgZFswXSBpcyAyNTUKIFBBU1MgZFsxXSBpcyAwCiBQQVNTIGRbMl0gaXMgMAotUEFT
UyBkWzNdIGlzIGFyb3VuZCAxNDkKK1BBU1MgZFszXSBpcyBhcm91bmQgMjAKIFBBU1MgZFswXSBp
cyAyNTUKIFBBU1MgZFsxXSBpcyAwCiBQQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlzIGFyb3Vu
ZCAxMTYKK1BBU1MgZFszXSBpcyBhcm91bmQgMjIKIFBBU1MgZFswXSBpcyAyNTUKIFBBU1MgZFsx
XSBpcyAwCiBQQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlzIGFyb3VuZCAxMTUKK1BBU1MgZFsz
XSBpcyBhcm91bmQgMjgKIFBBU1MgZFswXSBpcyAyNTUKIFBBU1MgZFsxXSBpcyAwCiBQQVNTIGRb
Ml0gaXMgMAotUEFTUyBkWzNdIGlzIGFyb3VuZCA3MAorUEFTUyBkWzNdIGlzIGFyb3VuZCAyMgog
UEFTUyBkWzBdIGlzIDI1NQogUEFTUyBkWzFdIGlzIDAKIFBBU1MgZFsyXSBpcyAwCi1QQVNTIGRb
M10gaXMgYXJvdW5kIDcwCitQQVNTIGRbM10gaXMgYXJvdW5kIDE1CiBQQVNTIGRbMF0gaXMgMjU1
CiBQQVNTIGRbMV0gaXMgMAogUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgNjkK
K1BBU1MgZFszXSBpcyBhcm91bmQgMTcKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2Fu
dmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qtc2hhZG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3Rz
L2Zhc3QvY2FudmFzL2NhbnZhcy10cmFuc2Zvcm1zLWZpbGxSZWN0LXNoYWRvdy1leHBlY3RlZC50
eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAxM2I4OTEyZjBkMmE3ZjAzOTE5NjNj
ZjY5YzBiNzRlNmI0MzE5NGMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXRyYW5zZm9ybXMtZmlsbFJl
Y3Qtc2hhZG93LWV4cGVjdGVkLnR4dAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAgQEAKLUVu
c3VyZSBjb3JyZWN0IGJlaGF2aW9yIG9mIGNhbnZhcyB3aXRoIGZpbGxSZWN0K3NoYWRvdyBhZnRl
ciB0cmFuc2xhdGlvbityb3RhdGlvbitzY2FsaW5nLiBBIGJsdWUgYW5kIHJlZCBjaGVja2VyZWQg
cGF0dGVybiBzaG91bGQgYmUgZGlzcGxheWVkLgotCi1PbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUg
YSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIu
Ci0KLQotUEFTUyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAwCi1Q
QVNTIGRbM10gaXMgMjU1Ci1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0gaXMgMAotUEFTUyBk
WzJdIGlzIDAKLVBBU1MgZFszXSBpcyAyNTUKLVBBU1MgZFswXSBpcyAyNTUKLVBBU1MgZFsxXSBp
cyAwCi1QQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlzIDI1NQotUEFTUyBkWzBdIGlzIDI1NQot
UEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDEyNwot
UEFTUyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAwCi1QQVNTIGRb
M10gaXMgYXJvdW5kIDEyNwotUEFTUyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1Mg
ZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDEyNwotUEFTUyBkWzBdIGlzIDI1NQotUEFT
UyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDEwNgotUEFT
UyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10g
aXMgYXJvdW5kIDEwNgotUEFTUyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsy
XSBpcyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDgzCi1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRb
MV0gaXMgMAotUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgMzYKLVBBU1MgZFsw
XSBpcyAyNTUKLVBBU1MgZFsxXSBpcyAwCi1QQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlzIGFy
b3VuZCAzNgotUEFTUyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAw
Ci1QQVNTIGRbM10gaXMgYXJvdW5kIDM2Ci1QQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVl
Ci0KLVRFU1QgQ09NUExFVEUKLQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
Y2FudmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qtc2hhZG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L2NhbnZhcy9jYW52YXMtdHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3cuaHRtbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMmZjNGU5YTg0NGU3YmY2N2ZmZWU1ZWJmNThkNTBkYmY0MmE3
OGE5MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtdHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3cuaHRt
bAorKysgL2Rldi9udWxsCkBAIC0xLDEzICswLDAgQEAKLTwhRE9DVFlQRSBIVE1MIFBVQkxJQyAi
LS8vSUVURi8vRFREIEhUTUwvL0VOIj4KLTxodG1sPgotPGhlYWQ+Ci08bGluayByZWw9InN0eWxl
c2hlZXQiIGhyZWY9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Ci08c2NyaXB0
IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KLTwvaGVhZD4K
LTxib2R5PgotPHAgaWQ9ImRlc2NyaXB0aW9uIj48L3A+Ci08ZGl2IGlkPSJjb25zb2xlIj48L2Rp
dj4KLTxzY3JpcHQgc3JjPSJzY3JpcHQtdGVzdHMvY2FudmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qt
c2hhZG93LmpzIj48L3NjcmlwdD4KLTxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUtZmlsbFBhdGgtc2hh
ZG93LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2Fs
ZS1maWxsUGF0aC1zaGFkb3cuanMKaW5kZXggM2NhMzMyMTk5MjhkZGQxYmYyMDIxYzRhMDI0ZDcz
MDhiY2I4NjUzMy4uMDUyODZmNTMyOGI1ZTU5OTgzMjQzNTA3NWRiYmYxZWMxN2U1YTIwNyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2Fs
ZS1maWxsUGF0aC1zaGFkb3cuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0
LXRlc3RzL2NhbnZhcy1zY2FsZS1maWxsUGF0aC1zaGFkb3cuanMKQEAgLTc5LDEzICs3OSwxMyBA
QCBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBzaG91bGRC
ZSgnZFszXScsICcyNTUnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk4LCAyOTUsIDEsIDEp
LmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyOTksIDI5NSwgMSwgMSkuZGF0YTsKIHNob3Vs
ZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2Rb
Ml0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAnMjU1Jyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VE
YXRhKDIwMCwgMjk4LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAwLCAyOTks
IDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywg
JzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKQEAgLTk4LDEzICs5OCwxMyBAQCBzaG91bGRC
ZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBzaG91bGRCZUFyb3VuZCgn
ZFszXScsICc3NicpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSgyOTgsIDQwNSwgMSwgMSkuZGF0
YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDI5OSwgNDA1LCAxLCAxKS5kYXRhOwogc2hvdWxkQmUo
J2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScs
ICcwJyk7CiBzaG91bGRCZUFyb3VuZCgnZFszXScsICc3NicpOwogCi1kID0gY3R4LmdldEltYWdl
RGF0YSgyMDUsIDQ5OCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwNSwgNDk5
LCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScs
ICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLWZpbGxSZWN0LXNoYWRvdy5qcyBi
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUtZmlsbFJl
Y3Qtc2hhZG93LmpzCmluZGV4IGY0OTVjOTEwNTViYmExZGNiMTQ2ODMyZTI4MTYzMDc0YTA0NWU4
MjkuLjk5YTFlNTk0YmQ1OWY3MzY3ZjNjMzBkZWExNjUxZTMyZjNkNGRlNmUgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUtZmlsbFJl
Y3Qtc2hhZG93LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9j
YW52YXMtc2NhbGUtZmlsbFJlY3Qtc2hhZG93LmpzCkBAIC01OCwxMyArNTgsMTMgQEAgc2hvdWxk
QmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10n
LCAnMjU1Jyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDI5OCwgMjk4LCAxLCAxKS5kYXRhOwor
ZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk5LCAyOTUsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFsw
XScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAn
KTsKIHNob3VsZEJlKCdkWzNdJywgJzI1NScpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSgyMDEs
IDI5OCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwMCwgMjk5LCAxLCAxKS5k
YXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBz
aG91bGRCZSgnZFsyXScsICcwJyk7CkBAIC03NywxMyArNzcsMTMgQEAgc2hvdWxkQmUoJ2RbMV0n
LCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAn
NzYnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk4LCA0MDUsIDEsIDEpLmRhdGE7CitkID0g
Y3R4LmdldEltYWdlRGF0YSgyOTksIDQwNSwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywg
JzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwog
c2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnNzYnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjA1
LCA0OTgsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyMDUsIDQ5OSwgMSwgMSku
ZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwog
c2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52
YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2FsZS1zdHJva2VQYXRoLXNoYWRvdy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUtc3Ryb2tlUGF0aC1z
aGFkb3cuanMKaW5kZXggOTFiOTI3Zjk1ZmE4N2RlNWY5ZDY1NWYzYjJmZmQyZjRiNWRhZDUzNi4u
NTE5OGQ5NDE1MTdkYWI5MmJjMjg5MWM4Mzc0ZjM1YmExYTg5ZDU3OSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2FsZS1zdHJva2VQYXRo
LXNoYWRvdy5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2Fu
dmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hhZG93LmpzCkBAIC0zNSw3ICszNSw2IEBAIGN0eC5zY2Fs
ZSgyLCAyKTsKIGN0eC5zaGFkb3dPZmZzZXRYID0gMTAwOwogY3R4LnNoYWRvd09mZnNldFkgPSAx
MDA7CiBjdHguc3Ryb2tlU3R5bGUgPSAncmdiYSgwLCAwLCAyNTUsIDEpJzsKLWN0eC5saW5lV2lk
dGggPSA1OwogCiBjdHguc2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAsIDAsIDEuMCknOwogY3R4
LmJlZ2luUGF0aCgpOwpAQCAtNzcsNzkgKzc2LDc5IEBAIGN0eC5zdHJva2UoKTsKIHZhciBkOyAv
LyBpbWFnZURhdGEuZGF0YQogCiAvLyBWZXJpZnkgc29saWQgc2hhZG93LgotZCA9IGN0eC5nZXRJ
bWFnZURhdGEoMjUwLCAyMDAsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyMDAs
IDIwNSwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2Rb
MV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAnMjU1
Jyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDMwMCwgMjkwLCAxLCAxKS5kYXRhOworZCA9IGN0
eC5nZXRJbWFnZURhdGEoMjk5LCAyOTUsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcy
NTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKIHNo
b3VsZEJlKCdkWzNdJywgJzI1NScpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSgyMDAsIDI1MCwg
MSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwMSwgMjk5LCAxLCAxKS5kYXRhOwog
c2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRC
ZSgnZFsyXScsICcwJyk7CiBzaG91bGRCZSgnZFszXScsICcyNTUnKTsKIAogLy8gVmVyaWZ5IHNv
bGlkIGFscGhhIHNoYWRvdy4KLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwMSwgNDA1LCAxLCAxKS5k
YXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAwLCA0MDUsIDEsIDEpLmRhdGE7CiBzaG91bGRC
ZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJd
JywgJzAnKTsKIHNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzc2Jyk7CiAKLWQgPSBjdHguZ2V0SW1h
Z2VEYXRhKDIwMSwgNTAwLCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk5LCA0
MDUsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFd
JywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKIHNob3VsZEJlQXJvdW5kKCdkWzNdJywg
Jzc2Jyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDMwMCwgNDk5LCAxLCAxKS5kYXRhOworZCA9
IGN0eC5nZXRJbWFnZURhdGEoMjA1LCA0OTksIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScs
ICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsK
IHNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzc2Jyk7CiAKIC8vIFZlcmlmeSBibHVycnkgc2hhZG93
LgotZCA9IGN0eC5nZXRJbWFnZURhdGEoNDA0LCAyMTAsIDEsIDEpLmRhdGE7CitkID0gY3R4Lmdl
dEltYWdlRGF0YSgzOTQsIDIwOCwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScp
Owogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxk
QmVBcm91bmQoJ2RbM10nLCAnMTQ5Jyk7CitzaG91bGRCZUFyb3VuZCgnZFszXScsICcyMCcpOwog
Ci1kID0gY3R4LmdldEltYWdlRGF0YSg1MDUsIDI1MCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0
SW1hZ2VEYXRhKDUwMywgMzAxLCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7
CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRC
ZUFyb3VuZCgnZFszXScsICcxMTYnKTsKK3Nob3VsZEJlQXJvdW5kKCdkWzNdJywgJzIyJyk7CiAK
LWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ1MCwgMjA1LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJ
bWFnZURhdGEoNTA0LCAyNTAsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsK
IHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKLXNob3VsZEJl
QXJvdW5kKCdkWzNdJywgJzExNScpOworc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMjgnKTsKIAog
Ly8gVmVyaWZ5IGJsdXJyeSBhbHBoYSBzaGFkb3cuCi1kID0gY3R4LmdldEltYWdlRGF0YSg1MDUs
IDQ1MCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDQwNSwgNDA1LCAxLCAxKS5k
YXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBz
aG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgnZFszXScsICc3MCcpOworc2hv
dWxkQmVBcm91bmQoJ2RbM10nLCAnMjInKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoNTA1LCA0
NTAsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSg0MTUsIDQ5NSwgMSwgMSkuZGF0
YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hv
dWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnNzAnKTsKK3Nob3Vs
ZEJlQXJvdW5kKCdkWzNdJywgJzE1Jyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ1MCwgNDA1
LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoNDUwLCA1MDQsIDEsIDEpLmRhdGE7
CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3Vs
ZEJlKCdkWzJdJywgJzAnKTsKLXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzY5Jyk7CitzaG91bGRC
ZUFyb3VuZCgnZFszXScsICcxNycpOwogCiB2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMt
dHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3cuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9z
Y3JpcHQtdGVzdHMvY2FudmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qtc2hhZG93LmpzCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNjdmMjQ0M2NiZTkwNjAwNTNiYzM5OTAyNzk4NWVlNWYw
NzM3OWVmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xh
eW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtdHJhbnNmb3Jtcy1maWxs
UmVjdC1zaGFkb3cuanMKKysrIC9kZXYvbnVsbApAQCAtMSwxMzMgKzAsMCBAQAotZGVzY3JpcHRp
b24oIkVuc3VyZSBjb3JyZWN0IGJlaGF2aW9yIG9mIGNhbnZhcyB3aXRoIGZpbGxSZWN0K3NoYWRv
dyBhZnRlciB0cmFuc2xhdGlvbityb3RhdGlvbitzY2FsaW5nLiBBIGJsdWUgYW5kIHJlZCBjaGVj
a2VyZWQgcGF0dGVybiBzaG91bGQgYmUgZGlzcGxheWVkLiIpOwotCi1mdW5jdGlvbiBwcmludCht
ZXNzYWdlLCBjb2xvcikKLXsKLSAgICB2YXIgcGFyYWdyYXBoID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgiZGl2Iik7Ci0gICAgcGFyYWdyYXBoLmFwcGVuZENoaWxkKGRvY3VtZW50LmNyZWF0ZVRl
eHROb2RlKG1lc3NhZ2UpKTsKLSAgICBwYXJhZ3JhcGguc3R5bGUuZm9udEZhbWlseSA9ICJtb25v
c3BhY2UiOwotICAgIGlmIChjb2xvcikKLSAgICAgICAgcGFyYWdyYXBoLnN0eWxlLmNvbG9yID0g
Y29sb3I7Ci0gICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnNvbGUiKS5hcHBlbmRDaGls
ZChwYXJhZ3JhcGgpOwotfQotCi1mdW5jdGlvbiBzaG91bGRCZUFyb3VuZChhLCBiKQotewotICAg
IHZhciBldmFsQTsKLSAgICB0cnkgewotICAgICAgICBldmFsQSA9IGV2YWwoYSk7Ci0gICAgfSBj
YXRjaChlKSB7Ci0gICAgICAgIGV2YWxBID0gZTsKLSAgICB9Ci0KLSAgICBpZiAoTWF0aC5hYnMo
ZXZhbEEgLSBiKSA8IDEwKQotICAgICAgICBwcmludCgiUEFTUyAiICsgYSArICIgaXMgYXJvdW5k
ICIgKyBiICwgImdyZWVuIikKLSAgICBlbHNlCi0gICAgICAgIHByaW50KCJGQUlMICIgKyBhICsg
IiBpcyBub3QgYXJvdW5kICIgKyBiICsgIiAoYWN0dWFsOiAiICsgZXZhbEEgKyAiKSIsICJyZWQi
KTsKLX0KLQotdmFyIGNhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpOwot
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChjYW52YXMpOwotY2FudmFzLnNldEF0dHJpYnV0ZSgn
d2lkdGgnLCAnNjAwJyk7Ci1jYW52YXMuc2V0QXR0cmlidXRlKCdoZWlnaHQnLCAnNjAwJyk7Ci12
YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoJzJkJyk7Ci0KLWN0eC5maWxsU3R5bGUgPSAncmdi
YSgwLCAwLCAyNTUsIDEuMCknOwotY3R4LnNoYWRvd09mZnNldFggPSAxMDA7Ci1jdHguc2hhZG93
T2Zmc2V0WSA9IDEwMDsKLQotY3R4LnRyYW5zbGF0ZSgtMTAwLCAtMTAwKTsKLWN0eC5yb3RhdGUo
TWF0aC5QSS8yKTsKLWN0eC5zY2FsZSgyLCAyKTsKLQotY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEo
MjU1LCAwLCAwLCAxLjApJzsKLWN0eC5maWxsUmVjdCgxMDAsIC0xNTAsIDUwLCA1MCk7Ci0KLWN0
eC5zaGFkb3dDb2xvciA9ICdyZ2JhKDI1NSwgMCwgMCwgMC41KSc7Ci1jdHguZmlsbFJlY3QoMjAw
LCAtMTUwLCA1MCwgNTApOwotCi1jdHguc2hhZG93Qmx1ciA9IDU7Ci1jdHguc2hhZG93Q29sb3Ig
PSAncmdiYSgyNTUsIDAsIDAsIDEuMCknOwotY3R4LmZpbGxSZWN0KDEwMCwgLTI1MCwgNTAsIDUw
KTsKLQotY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMjU1LCAwLCAwLCAwLjUpJzsKLWN0eC5maWxs
UmVjdCgyMDAsIC0yNTAsIDUwLCA1MCk7Ci0KLXZhciBkOyAvLyBpbWFnZURhdGEuZGF0YQotCi0v
LyBWZXJpZnkgc29saWQgc2hhZG93LgotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAwLCAyMDUsIDEs
IDEpLmRhdGE7Ci1zaG91bGRCZSgnZFswXScsICcyNTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAn
KTsKLXNob3VsZEJlKCdkWzJdJywgJzAnKTsKLXNob3VsZEJlKCdkWzNdJywgJzI1NScpOwotCi1k
ID0gY3R4LmdldEltYWdlRGF0YSgyOTgsIDI5OCwgMSwgMSkuZGF0YTsKLXNob3VsZEJlKCdkWzBd
JywgJzI1NScpOwotc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwotc2hvdWxkQmUoJ2RbMl0nLCAnMCcp
Owotc2hvdWxkQmUoJ2RbM10nLCAnMjU1Jyk7Ci0KLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwMSwg
Mjk4LCAxLCAxKS5kYXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRCZSgnZFsx
XScsICcwJyk7Ci1zaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZSgnZFszXScsICcyNTUn
KTsKLQotLy8gVmVyaWZ5IHNvbGlkIGFscGhhIHNoYWRvdy4KLWQgPSBjdHguZ2V0SW1hZ2VEYXRh
KDIwMSwgNDAxLCAxLCAxKS5kYXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRC
ZSgnZFsxXScsICcwJyk7Ci1zaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgn
ZFszXScsICcxMjcnKTsKLQotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk5LCA0NTAsIDEsIDEpLmRh
dGE7Ci1zaG91bGRCZSgnZFswXScsICcyNTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNo
b3VsZEJlKCdkWzJdJywgJzAnKTsKLXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzEyNycpOwotCi1k
ID0gY3R4LmdldEltYWdlRGF0YSgyMDUsIDQ5OCwgMSwgMSkuZGF0YTsKLXNob3VsZEJlKCdkWzBd
JywgJzI1NScpOwotc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwotc2hvdWxkQmUoJ2RbMl0nLCAnMCcp
Owotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMTI3Jyk7Ci0KLS8vIFZlcmlmeSBibHVycnkgc2hh
ZG93LgotZCA9IGN0eC5nZXRJbWFnZURhdGEoMzk5LCAyMDUsIDEsIDEpLmRhdGE7Ci1zaG91bGRC
ZSgnZFswXScsICcyNTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNob3VsZEJlKCdkWzJd
JywgJzAnKTsKLXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzEwNicpOwotCi1kID0gY3R4LmdldElt
YWdlRGF0YSg1MDAsIDIwNSwgMSwgMSkuZGF0YTsKLXNob3VsZEJlKCdkWzBdJywgJzI1NScpOwot
c2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwotc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVB
cm91bmQoJ2RbM10nLCAnMTA2Jyk7Ci0KLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDQ5OSwgMjk5LCAx
LCAxKS5kYXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRCZSgnZFsxXScsICcw
Jyk7Ci1zaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgnZFszXScsICc4Mycp
OwotCi0vLyBWZXJpZnkgYmx1cnJ5IGFscGhhIHNoYWRvdy4KLWQgPSBjdHguZ2V0SW1hZ2VEYXRh
KDM5OCwgNDA1LCAxLCAxKS5kYXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRC
ZSgnZFsxXScsICcwJyk7Ci1zaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgn
ZFszXScsICczNicpOwotCi1kID0gY3R4LmdldEltYWdlRGF0YSg0MDUsIDUwMSwgMSwgMSkuZGF0
YTsKLXNob3VsZEJlKCdkWzBdJywgJzI1NScpOwotc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwotc2hv
dWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMzYnKTsKLQotZCA9
IGN0eC5nZXRJbWFnZURhdGEoNDA1LCA1MDEsIDEsIDEpLmRhdGE7Ci1zaG91bGRCZSgnZFswXScs
ICcyNTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNob3VsZEJlKCdkWzJdJywgJzAnKTsK
LXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzM2Jyk7Ci0KLXZhciBzdWNjZXNzZnVsbHlQYXJzZWQg
PSB0cnVlOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCBkNmVlZjYyZmExYzJmYzExOGQ3ZTJlMTc5N2U3ZmQxYjE1NzE0NzZiLi44YmMwNWI4
MmUyZTczYTllZjJiNDVmYzcwMTNlNjBlYWVjYjNmN2E2IDEwMDY0NAotLS0gYS9XZWJDb3JlL0No
YW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEwLTEy
LTE0ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByNzQwNDAuCisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0Lzc0MDQwCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD01MTA1MAorCisgICAgICAgIEJyZWFrcyAyZC5zaGFkb3cuY2FudmFz
LnRyYW5zcGFyZW50LjIgYW5kCisgICAgICAgIDJkLnNoYWRvdy5pbWFnZS50cmFuc3BhcmVudC4y
IChSZXF1ZXN0ZWQgYnkgaGVsZGVyIG9uCisgICAgICAgICN3ZWJraXQpLgorCisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpD
b250ZXh0U2hhZG93OjpDb250ZXh0U2hhZG93KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRT
aGFkb3c6OmNhbGN1bGF0ZUxheWVyQm91bmRpbmdSZWN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9Db250ZXh0U2hhZG93Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0U2hhZG93
OjpvZmZzZXQpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3F0L0NvbnRleHRTaGFkb3dR
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0U2hhZG93OjpiZWdpblNoYWRvd0xheWVy
KToKKyAgICAgICAgKFdlYkNvcmU6OkNvbnRleHRTaGFkb3c6OmVuZFNoYWRvd0xheWVyKToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OmZpbGxQYXRoKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6c3Ryb2tlUGF0aCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQ6OmZpbGxSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDo6ZmlsbFJvdW5kZWRSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6
c2V0UGxhdGZvcm1TaGFkb3cpOgorCiAyMDEwLTEyLTE0ICBOYXRlIENoYXBpbiAgPGphcGhldEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCmluZGV4IGViZmZkOTgzZWIzYWQ1
NzQ1NmI5NTJlNDdjY2ZmODI4NDgyYjM1NGYuLjg3YTFjNWM3NjNjZWM1NTY2MzRmMmZiYWZjNjc1
OTQyOWVkYzU5ZDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4
dFNoYWRvdy5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93
LmNwcApAQCAtNDEsNyArNDEsNiBAQCBDb250ZXh0U2hhZG93OjpDb250ZXh0U2hhZG93KCkKICAg
ICA6IG1fdHlwZShOb1NoYWRvdykKICAgICAsIG1fYmx1ckRpc3RhbmNlKDApCiAgICAgLCBtX2xh
eWVyQ29udGV4dCgwKQotICAgICwgbV9zaGFkb3dzSWdub3JlVHJhbnNmb3JtcyhmYWxzZSkKIHsK
IH0KIApAQCAtNTAsNyArNDksNiBAQCBDb250ZXh0U2hhZG93OjpDb250ZXh0U2hhZG93KGNvbnN0
IENvbG9yJiBjb2xvciwgZmxvYXQgcmFkaXVzLCBjb25zdCBGbG9hdFNpemUmCiAgICAgLCBtX2Js
dXJEaXN0YW5jZShyb3VuZChyYWRpdXMpKQogICAgICwgbV9vZmZzZXQob2Zmc2V0KQogICAgICwg
bV9sYXllckNvbnRleHQoMCkKLSAgICAsIG1fc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoZmFsc2Up
CiB7CiAgICAgLy8gU2VlIGNvbW1lbnRzIGluIGh0dHA6Ly93ZWJraXQub3JnL2IvNDA3OTMsIGl0
IHNlZW1zIHNlbnNpYmxlCiAgICAgLy8gdG8gZm9sbG93IFNraWEncyBsaW1pdCBvZiAxMjggcGl4
ZWxzIG9mIGJsdXIgcmFkaXVzCkBAIC0xNTEsNTMgKzE0OSw2IEBAIHZvaWQgQ29udGV4dFNoYWRv
dzo6Ymx1ckxheWVySW1hZ2UodW5zaWduZWQgY2hhciogaW1hZ2VEYXRhLCBjb25zdCBJbnRTaXpl
JiBzaXplCiAgICAgfQogfQogCi0jaWYgUExBVEZPUk0oUVQpCi1JbnRSZWN0IENvbnRleHRTaGFk
b3c6OmNhbGN1bGF0ZUxheWVyQm91bmRpbmdSZWN0KGNvbnN0IFBsYXRmb3JtQ29udGV4dCBwLCBj
b25zdCBGbG9hdFJlY3QmIGxheWVyQXJlYSwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCi17Ci0g
ICAgLy8gQ2FsY3VsYXRlIHRoZSBkZXN0aW5hdGlvbiBvZiB0aGUgYmx1cnJlZCBhbmQvb3IgdHJh
bnNmb3JtZWQgbGF5ZXIuCi0gICAgRmxvYXRSZWN0IGxheWVyRmxvYXRSZWN0OwotICAgIGZsb2F0
IGluZmxhdGlvbiA9IDA7Ci0KLSAgICBjb25zdCBRVHJhbnNmb3JtIHRyYW5zZm9ybSA9IHAtPnRy
YW5zZm9ybSgpOwotICAgIGlmIChtX3NoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zICYmICF0cmFuc2Zv
cm0uaXNJZGVudGl0eSgpKSB7Ci0gICAgICAgIFFQb2x5Z29uRiB0cmFuc2Zvcm1lZFBvbHlnb24g
PSB0cmFuc2Zvcm0ubWFwKFFQb2x5Z29uRihsYXllckFyZWEpKTsKLSAgICAgICAgdHJhbnNmb3Jt
ZWRQb2x5Z29uLnRyYW5zbGF0ZShvZmZzZXQoKSk7Ci0gICAgICAgIGxheWVyRmxvYXRSZWN0ID0g
dHJhbnNmb3JtLmludmVydGVkKCkubWFwKHRyYW5zZm9ybWVkUG9seWdvbikuYm91bmRpbmdSZWN0
KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgbGF5ZXJGbG9hdFJlY3QgPSBsYXllckFyZWE7Ci0g
ICAgICAgIGxheWVyRmxvYXRSZWN0Lm1vdmUobV9vZmZzZXQpOwotICAgIH0KLQotICAgIC8vIFdl
IGV4cGFuZCB0aGUgYXJlYSBieSB0aGUgYmx1ciByYWRpdXMgdG8gZ2l2ZSBleHRyYSBzcGFjZSBm
b3IgdGhlIGJsdXIgdHJhbnNpdGlvbi4KLSAgICBpZiAobV90eXBlID09IEJsdXJTaGFkb3cpIHsK
LSAgICAgICAgbGF5ZXJGbG9hdFJlY3QuaW5mbGF0ZShtX2JsdXJEaXN0YW5jZSk7Ci0gICAgICAg
IGluZmxhdGlvbiArPSBtX2JsdXJEaXN0YW5jZTsKLSAgICB9Ci0KLSAgICBpZiAoIWNsaXBSZWN0
LmNvbnRhaW5zKGVuY2xvc2luZ0ludFJlY3QobGF5ZXJGbG9hdFJlY3QpKSkgewotICAgICAgICAv
LyBObyBuZWVkIHRvIGhhdmUgdGhlIGJ1ZmZlciBsYXJnZXIgdGhhbiB0aGUgY2xpcC4KLSAgICAg
ICAgbGF5ZXJGbG9hdFJlY3QuaW50ZXJzZWN0KGNsaXBSZWN0KTsKLQotICAgICAgICAvLyBJZiB3
ZSBhcmUgdG90YWxseSBvdXRzaWRlIHRoZSBjbGlwIHJlZ2lvbiwgd2UgYXJlbid0IHBhaW50aW5n
IGF0IGFsbC4KLSAgICAgICAgaWYgKGxheWVyRmxvYXRSZWN0LmlzRW1wdHkoKSkKLSAgICAgICAg
ICAgIHJldHVybiBJbnRSZWN0KDAsIDAsIDAsIDApOwotCi0gICAgICAgIC8vIFdlIGFkanVzdCBh
Z2FpbiBiZWNhdXNlIHRoZSBwaXhlbHMgYXQgdGhlIGJvcmRlcnMgYXJlIHN0aWxsCi0gICAgICAg
IC8vIHBvdGVudGlhbGx5IGFmZmVjdGVkIGJ5IHRoZSBwaXhlbHMgb3V0c2lkZSB0aGUgYnVmZmVy
LgotICAgICAgICBpZiAobV90eXBlID09IEJsdXJTaGFkb3cpIHsKLSAgICAgICAgICAgIGxheWVy
RmxvYXRSZWN0LmluZmxhdGUobV9ibHVyRGlzdGFuY2UpOwotICAgICAgICAgICAgaW5mbGF0aW9u
ICs9IG1fYmx1ckRpc3RhbmNlOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgY29uc3QgaW50IGZy
YW1lU2l6ZSA9IGluZmxhdGlvbiAqIDI7Ci0gICAgbV9zb3VyY2VSZWN0ID0gSW50UmVjdCgwLCAw
LCBsYXllckFyZWEud2lkdGgoKSArIGZyYW1lU2l6ZSwgbGF5ZXJBcmVhLmhlaWdodCgpICsgZnJh
bWVTaXplKTsKLSAgICBtX2xheWVyT3JpZ2luID0gRmxvYXRQb2ludChsYXllckZsb2F0UmVjdC54
KCksIGxheWVyRmxvYXRSZWN0LnkoKSk7Ci0gICAgcmV0dXJuIGVuY2xvc2luZ0ludFJlY3QobGF5
ZXJGbG9hdFJlY3QpOwotfQotI2VuZGlmCi0KLSNpZiBQTEFURk9STShDQUlSTykKIHZvaWQgQ29u
dGV4dFNoYWRvdzo6Y2FsY3VsYXRlTGF5ZXJCb3VuZGluZ1JlY3QoY29uc3QgRmxvYXRSZWN0JiBs
YXllckFyZWEsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQogewogICAgIC8vIENhbGN1bGF0ZSB0
aGUgZGVzdGluYXRpb24gb2YgdGhlIGJsdXJyZWQgbGF5ZXIuCkBAIC0yMjIsNiArMTczLDUgQEAg
dm9pZCBDb250ZXh0U2hhZG93OjpjYWxjdWxhdGVMYXllckJvdW5kaW5nUmVjdChjb25zdCBGbG9h
dFJlY3QmIGxheWVyQXJlYSwgY29uc3QKICAgICAgICAgICAgIG1fbGF5ZXJSZWN0LmluZmxhdGUo
bV90eXBlID09IEJsdXJTaGFkb3cgPyBtX2JsdXJEaXN0YW5jZSA6IDApOwogICAgIH0KIH0KLSNl
bmRpZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuaCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Q29udGV4dFNoYWRvdy5oCmluZGV4IGMwNzc2YmJlYTA2NjBiM2QwOGJmNmRlMWE0Mjg0ZDRmODE4
NjMxYjUuLmZhNzc4YWZiY2NkZGZhZmMzZjQwY2QwMjNjYjdhZDRmNDUxZWQ1MmMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5oCisrKyBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5oCkBAIC0xMDYsNDEgKzEwNiwyNyBA
QCBwdWJsaWM6CiAgICAgUGxhdGZvcm1Db250ZXh0IGJlZ2luU2hhZG93TGF5ZXIoUGxhdGZvcm1D
b250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGxheWVyQXJlYSk7CiAgICAgdm9pZCBlbmRTaGFkb3dM
YXllcihQbGF0Zm9ybUNvbnRleHQpOwogICAgIHN0YXRpYyB2b2lkIHB1cmdlU2NyYXRjaEJ1ZmZl
cigpOwotICAgIHZvaWQgc2V0U2hhZG93c0lnbm9yZVRyYW5zZm9ybXMoYm9vbCBlbmFibGUpIHsg
bV9zaGFkb3dzSWdub3JlVHJhbnNmb3JtcyA9IGVuYWJsZTsgfQotICAgIGJvb2wgc2hhZG93c0ln
bm9yZVRyYW5zZm9ybXMoKSBjb25zdCB7IHJldHVybiBtX3NoYWRvd3NJZ25vcmVUcmFuc2Zvcm1z
OyB9CiAjaWYgUExBVEZPUk0oQ0FJUk8pCiAgICAgdm9pZCBkcmF3UmVjdFNoYWRvdyhHcmFwaGlj
c0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IEludFNpemUmIHRv
cExlZnRSYWRpdXMgPSBJbnRTaXplKCksIGNvbnN0IEludFNpemUmIHRvcFJpZ2h0UmFkaXVzID0g
SW50U2l6ZSgpLCBjb25zdCBJbnRTaXplJiBib3R0b21MZWZ0UmFkaXVzID0gSW50U2l6ZSgpLCBj
b25zdCBJbnRTaXplJiBib3R0b21SaWdodFJhZGl1cyA9IEludFNpemUoKSk7CiAjZW5kaWYKKwog
I2lmIFBMQVRGT1JNKFFUKQotICAgIFFQb2ludEYgb2Zmc2V0KCkgY29uc3QgeyByZXR1cm4gUVBv
aW50RihtX29mZnNldC53aWR0aCgpLCBtX29mZnNldC5oZWlnaHQoKSk7IH0KKyAgICBRUG9pbnRG
IG9mZnNldCgpIHsgcmV0dXJuIFFQb2ludEYobV9vZmZzZXQud2lkdGgoKSwgbV9vZmZzZXQuaGVp
Z2h0KCkpOyB9CiAjZW5kaWYKIAogCiBwcml2YXRlOgotICAgIC8vIEJ1ZmZlciB0byB3aGVyZSB0
aGUgdGVtcG9yYXJ5IHNoYWRvdyB3aWxsIGJlIGRyYXduIHRvLgorICAgIEludFJlY3QgbV9sYXll
clJlY3Q7CiAgICAgUGxhdGZvcm1JbWFnZSBtX2xheWVySW1hZ2U7Ci0gICAgLy8gQ29udGV4dCB1
c2VkIHRvIHBhaW50IHRoZSBzaGFkb3cgdG8gdGhlIGxheWVyIGltYWdlLgogICAgIFBsYXRmb3Jt
Q29udGV4dCBtX2xheWVyQ29udGV4dDsKLSNpZiBQTEFURk9STShRVCkKLSAgICAvLyBTdWItcmVj
dCBvZiBtX2xheWVySW1hZ2UgdGhhdCBjb250YWlucyB0aGUgc2hhZG93IHBpeGVscy4KLSAgICBG
bG9hdFJlY3QgbV9zb3VyY2VSZWN0OwotICAgIC8vIFRvcC1sZWZ0IGNvcm5lciBvZiB0aGUgYm91
bmRpbmcgcmVjdCB3aGVyZSB0aGUgc2hhZG93IGltYWdlIG5lZWRzIHRvIGJlIGRyYXduLgotICAg
IEZsb2F0UG9pbnQgbV9sYXllck9yaWdpbjsKLSNlbmRpZgotI2lmIFBMQVRGT1JNKENBSVJPKQot
ICAgIC8vIEVuY2xvc2luZyBpbnQgcmVjdCB3aGVyZSBzaGFkb3cgbmVlZHMgdG8gYmUgZHJhd24g
dG8gdXNpbmcgdGhlIGxheWVyIGNvbnRleHQuCi0gICAgSW50UmVjdCBtX2xheWVyUmVjdDsKKwog
ICAgIC8vIFVzZWQgZm9yIHJlZmVyZW5jZSB3aGVuIGNhbnZhcyBzY2FsZSh4LHkpIHdhcyBjYWxs
ZWQuCiAgICAgRmxvYXRSZWN0IG1fdW5zY2FsZWRMYXllclJlY3Q7Ci0jZW5kaWYKLSAgICBib29s
IG1fc2hhZG93c0lnbm9yZVRyYW5zZm9ybXM7CiAKICAgICB2b2lkIGJsdXJMYXllckltYWdlKHVu
c2lnbmVkIGNoYXIqLCBjb25zdCBJbnRTaXplJiBpbWFnZVNpemUsIGludCBzdHJpZGUpOwotI2lm
IFBMQVRGT1JNKENBSVJPKQogICAgIHZvaWQgY2FsY3VsYXRlTGF5ZXJCb3VuZGluZ1JlY3QoY29u
c3QgRmxvYXRSZWN0JiBsYXllckFyZWEsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KTsKKyNpZiBQ
TEFURk9STShDQUlSTykKICAgICB2b2lkIGRyYXdSZWN0U2hhZG93V2l0aG91dFRpbGluZyhQbGF0
Zm9ybUNvbnRleHQgY29udGV4dCwgY29uc3QgSW50UmVjdCYgc2hhZG93UmVjdCwgY29uc3QgSW50
U2l6ZSYgdG9wTGVmdFJhZGl1cywgY29uc3QgSW50U2l6ZSYgdG9wUmlnaHRSYWRpdXMsIGNvbnN0
IEludFNpemUmIGJvdHRvbUxlZnRSYWRpdXMsIGNvbnN0IEludFNpemUmIGJvdHRvbVJpZ2h0UmFk
aXVzLCBmbG9hdCBhbHBoYSk7Ci0jZWxzZQotICAgIEludFJlY3QgY2FsY3VsYXRlTGF5ZXJCb3Vu
ZGluZ1JlY3QoY29uc3QgUGxhdGZvcm1Db250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIGxheWVyQXJl
YSwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0NvbnRleHRTaGFkb3dRdC5jcHAgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0NvbnRleHRTaGFkb3dRdC5jcHAKaW5kZXggNTZlMDY3MzEx
MmI0YmQzYTMzNjFiZDg1N2JiYTgyZjliMDdiYzk2Yy4uZjdjNzBmNjk1YmMwZmM0MjUwY2M5YmRj
MzVlOWQ1ZThlNjNmOTc0NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Db250ZXh0U2hhZG93UXQuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQv
Q29udGV4dFNoYWRvd1F0LmNwcApAQCAtMTE0LDI1ICsxMTQsMjQgQEAgUGxhdGZvcm1Db250ZXh0
IENvbnRleHRTaGFkb3c6OmJlZ2luU2hhZG93TGF5ZXIoUGxhdGZvcm1Db250ZXh0IHAsIGNvbnN0
IEZsb2F0UmUKICAgICBlbHNlCiAgICAgICAgIGNsaXBSZWN0ID0gcC0+dHJhbnNmb3JtKCkuaW52
ZXJ0ZWQoKS5tYXBSZWN0KHAtPndpbmRvdygpKTsKIAotICAgIC8vIFNldCBtX2xheWVyT3JpZ2lu
IGFuZCBtX3NvdXJjZVJlY3QuCi0gICAgSW50UmVjdCBjbGlwKGNsaXBSZWN0LngoKSwgY2xpcFJl
Y3QueSgpLCBjbGlwUmVjdC53aWR0aCgpLCBjbGlwUmVjdC5oZWlnaHQoKSk7Ci0gICAgSW50UmVj
dCBsYXllclJlY3QgPSBjYWxjdWxhdGVMYXllckJvdW5kaW5nUmVjdChwLCBsYXllckFyZWEsIGNs
aXApOworICAgIG1fdW5zY2FsZWRMYXllclJlY3QgPSBsYXllckFyZWE7CisgICAgY2FsY3VsYXRl
TGF5ZXJCb3VuZGluZ1JlY3QobGF5ZXJBcmVhLCBJbnRSZWN0KGNsaXBSZWN0LngoKSwgY2xpcFJl
Y3QueSgpLCBjbGlwUmVjdC53aWR0aCgpLCBjbGlwUmVjdC5oZWlnaHQoKSkpOwogCiAgICAgLy8g
RG9uJ3QgcGFpbnQgaWYgd2UgYXJlIHRvdGFsbHkgb3V0c2lkZSB0aGUgY2xpcCByZWdpb24uCi0g
ICAgaWYgKGxheWVyUmVjdC5pc0VtcHR5KCkpCisgICAgaWYgKG1fbGF5ZXJSZWN0LmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIDA7CiAKICAgICBTaGFkb3dCdWZmZXIqIHNoYWRvd0J1ZmZlciA9
IHNjcmF0Y2hTaGFkb3dCdWZmZXIoKTsKLSAgICBRSW1hZ2UqIHNoYWRvd0ltYWdlID0gc2hhZG93
QnVmZmVyLT5zY3JhdGNoSW1hZ2UobGF5ZXJSZWN0LnNpemUoKSk7CisgICAgUUltYWdlKiBzaGFk
b3dJbWFnZSA9IHNoYWRvd0J1ZmZlci0+c2NyYXRjaEltYWdlKG1fbGF5ZXJSZWN0LnNpemUoKSk7
CiAgICAgbV9sYXllckltYWdlID0gUUltYWdlKCpzaGFkb3dJbWFnZSk7CiAKICAgICBtX2xheWVy
Q29udGV4dCA9IG5ldyBRUGFpbnRlcjsKICAgICBtX2xheWVyQ29udGV4dC0+YmVnaW4oJm1fbGF5
ZXJJbWFnZSk7CiAgICAgbV9sYXllckNvbnRleHQtPnNldEZvbnQocC0+Zm9udCgpKTsKKyAgICBt
X2xheWVyQ29udGV4dC0+dHJhbnNsYXRlKG1fb2Zmc2V0LndpZHRoKCksIG1fb2Zmc2V0LmhlaWdo
dCgpKTsKIAotICAgIC8vIFNldCB0aGUgb3JpZ2luIGFzIHRoZSB0b3AgbGVmdCBjb3JuZXIgb2Yg
dGhlIHNjcmF0Y2ggaW1hZ2UuCi0gICAgY29uc3QgaW50IGZyYW1lU2l6ZSA9IChtX3NvdXJjZVJl
Y3Qud2lkdGgoKSAtIGxheWVyQXJlYS53aWR0aCgpKSAvIDI7Ci0gICAgbV9sYXllckNvbnRleHQt
PnRyYW5zbGF0ZSgtbGF5ZXJBcmVhLngoKSArIGZyYW1lU2l6ZSwgLWxheWVyQXJlYS55KCkgKyBm
cmFtZVNpemUpOworICAgIC8vIFRoZSBvcmlnaW4gaXMgbm93IHRoZSB0b3AgbGVmdCBjb3JuZXIg
b2YgdGhlIHNjcmF0Y2ggaW1hZ2UuCisgICAgbV9sYXllckNvbnRleHQtPnRyYW5zbGF0ZSgtbV9s
YXllclJlY3QueCgpLCAtbV9sYXllclJlY3QueSgpKTsKIAogICAgIHJldHVybiBtX2xheWVyQ29u
dGV4dDsKIH0KQEAgLTE1Niw3ICsxNTUsMTMgQEAgdm9pZCBDb250ZXh0U2hhZG93OjplbmRTaGFk
b3dMYXllcihQbGF0Zm9ybUNvbnRleHQgcCkKICAgICAgICAgcC5lbmQoKTsKICAgICB9CiAKLSAg
ICBwLT5kcmF3SW1hZ2UobV9sYXllck9yaWdpbiwgbV9sYXllckltYWdlLCBtX3NvdXJjZVJlY3Qp
OworICAgIGNvbnN0IFFUcmFuc2Zvcm0gdHJhbnNmb3JtID0gcC0+dHJhbnNmb3JtKCk7CisgICAg
aWYgKHRyYW5zZm9ybS5pc1NjYWxpbmcoKSkgeworICAgICAgICBxcmVhbCB4ID0gbV91bnNjYWxl
ZExheWVyUmVjdC54KCkgKyBtX29mZnNldC53aWR0aCgpICAvIHRyYW5zZm9ybS5tMTEoKSAtIG1f
Ymx1ckRpc3RhbmNlOworICAgICAgICBxcmVhbCB5ID0gbV91bnNjYWxlZExheWVyUmVjdC55KCkg
KyBtX29mZnNldC5oZWlnaHQoKSAvIHRyYW5zZm9ybS5tMjIoKSAtIG1fYmx1ckRpc3RhbmNlOwor
ICAgICAgICBwLT5kcmF3SW1hZ2UoUVBvaW50Rih4LCB5KSwgbV9sYXllckltYWdlKTsKKyAgICB9
IGVsc2UKKyAgICAgICAgcC0+ZHJhd0ltYWdlKG1fbGF5ZXJSZWN0LnRvcExlZnQoKSwgbV9sYXll
ckltYWdlKTsKIAogICAgIHNjcmF0Y2hTaGFkb3dCdWZmZXIoKS0+c2NoZWR1bGVQdXJnZSgpOwog
fQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRl
eHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0
LmNwcAppbmRleCA0MmU1NjE4MjE2ZTNhOWVlOGFmZDNjZDRkZjVhNzJmYzhiMWUwYjBlLi4yNTQy
MzVlZTEyNjRiMzk1ZTc0MjNiNzM4OGJiOWMwYzlkODNiOGIxIDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcApAQCAtNTMsNiArNTMs
NyBAQAogI2luY2x1ZGUgIlRyYW5zcGFyZW5jeUxheWVyLmgiCiAKICNpbmNsdWRlIDxRQnJ1c2g+
CisjaW5jbHVkZSA8UURlYnVnPgogI2luY2x1ZGUgPFFHcmFkaWVudD4KICNpbmNsdWRlIDxRUGFp
bnREZXZpY2U+CiAjaW5jbHVkZSA8UVBhaW50RW5naW5lPgpAQCAtMTc0LDIyICsxNzUsNiBAQCBz
dGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAg
ICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQogCi1zdGF0aWMgaW5saW5lIGJvb2wgbXVzdFVz
ZUNvbnRleHRTaGFkb3coUVBhaW50ZXIqIHBhaW50ZXIsIENvbnRleHRTaGFkb3cqIHNoYWRvdykK
LXsKLSAgICBpZiAoc2hhZG93LT5tX3R5cGUgPT0gQ29udGV4dFNoYWRvdzo6Qmx1clNoYWRvdykK
LSAgICAgICAgLy8gV2UgY2FuJ3QgYXZvaWQgQ29udGV4dFNoYWRvdywgc2luY2UgdGhlIHNoYWRv
dyBoYXMgYmx1ci4KLSAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgaWYgKCFzaGFkb3ctPnNoYWRv
d3NJZ25vcmVUcmFuc2Zvcm1zKCkpCi0gICAgICAgIC8vIFdlIGNhbiBhdm9pZCBDb250ZXh0U2hh
ZG93IGFuZCBvcHRpbWl6ZSwgc2luY2Ugd2UncmUgbm90IGRyYXdpbmcgb24gYSBjYW52YXMgYW5k
IGJveAotICAgICAgICAvLyBzaGFkb3dzIGFyZSBhZmZlY3RlZCBieSB0aGUgdHJhbnNmb3JtYXRp
b24gbWF0cml4LgotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgaWYgKHBhaW50ZXItPnRyYW5z
Zm9ybSgpLmlzSWRlbnRpdHkoKSkKLSAgICAgICAgLy8gV2UgY2FuIGF2b2lkIENvbnRleHRTaGFk
b3csIHNpbmNlIHRoZXJlIGFyZSBubyB0cmFuc2Zvcm1hdGlvbnMgdG8gYXBwbHkgdG8gdGhlIGNh
bnZhcy4KLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIC8vIE90aGVyd2lzZSwgbm8gY2hhbmNl
IGF2b2lkaW5nIENvbnRleHRTaGFkb3cuCi0gICAgcmV0dXJuIHRydWU7Ci19Ci0KIGNsYXNzIEdy
YXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJs
aWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZvcm1Qcml2YXRlKFFQYWludGVyKiwgY29uc3Qg
UUNvbG9yJiBpbml0aWFsU29saWRDb2xvcik7CkBAIC01MjEsMjAgKzUwNiwzMyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoY29uc3QgUGF0aCYgcGF0aCkKIAogICAgIGlmIChtX2Rh
dGEtPmhhc1NoYWRvdygpKSB7CiAgICAgICAgIENvbnRleHRTaGFkb3cqIHNoYWRvdyA9IGNvbnRl
eHRTaGFkb3coKTsKLSAgICAgICAgaWYgKG11c3RVc2VDb250ZXh0U2hhZG93KHAsIHNoYWRvdykg
fHwgbV9zdGF0ZS5maWxsUGF0dGVybiB8fCBtX3N0YXRlLmZpbGxHcmFkaWVudCkKKyAgICAgICAg
aWYgKHNoYWRvdy0+bV90eXBlICE9IENvbnRleHRTaGFkb3c6OkJsdXJTaGFkb3cKKyAgICAgICAg
ICAgICYmICFtX3N0YXRlLmZpbGxQYXR0ZXJuICYmICFtX3N0YXRlLmZpbGxHcmFkaWVudCkKICAg
ICAgICAgeworICAgICAgICAgICAgUVBvaW50RiBvZmZzZXQgPSBzaGFkb3ctPm9mZnNldCgpOwor
ICAgICAgICAgICAgY29uc3QgUVRyYW5zZm9ybSYgdHJhbnNmb3JtID0gcC0+dHJhbnNmb3JtKCk7
CisgICAgICAgICAgICBpZiAodHJhbnNmb3JtLmlzU2NhbGluZygpKSB7CisgICAgICAgICAgICAg
ICAgLy8gSWYgc2NhbGluZyBpcyByZXF1aXJlZCwgZmluZCB0aGUgbmV3IGNvb3JkIGZvciBzaGFk
b3cgb3JpZ2luLAorICAgICAgICAgICAgICAgIC8vIHNvIHRoYXQgdGhlIHJlbGF0aXZlIG9mZnNl
dCB0byBpdHMgc2hhcGUgaXMga2VwdC4KKyAgICAgICAgICAgICAgICBRUG9pbnRGIHRyYW5zbGF0
ZWRPZmZzZXQob2Zmc2V0LngoKSAvIHRyYW5zZm9ybS5tMTEoKSwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0LnkoKSAvIHRyYW5zZm9ybS5tMjIoKSk7Cisg
ICAgICAgICAgICAgICAgcGxhdGZvcm1QYXRoLnRyYW5zbGF0ZSh0cmFuc2xhdGVkT2Zmc2V0KTsK
KyAgICAgICAgICAgICAgICBwLT5maWxsUGF0aChwbGF0Zm9ybVBhdGgsIFFDb2xvcihzaGFkb3ct
Pm1fY29sb3IpKTsKKyAgICAgICAgICAgICAgICBwbGF0Zm9ybVBhdGgudHJhbnNsYXRlKC10cmFu
c2xhdGVkT2Zmc2V0KTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgcC0+
dHJhbnNsYXRlKG9mZnNldCk7CisgICAgICAgICAgICAgICAgcC0+ZmlsbFBhdGgocGxhdGZvcm1Q
YXRoLCBRQ29sb3Ioc2hhZG93LT5tX2NvbG9yKSk7CisgICAgICAgICAgICAgICAgcC0+dHJhbnNs
YXRlKC1vZmZzZXQpOworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgewogICAgICAgICAg
ICAgUVBhaW50ZXIqIHNoYWRvd1BhaW50ZXIgPSBzaGFkb3ctPmJlZ2luU2hhZG93TGF5ZXIocCwg
cGxhdGZvcm1QYXRoLmNvbnRyb2xQb2ludFJlY3QoKSk7CiAgICAgICAgICAgICBpZiAoc2hhZG93
UGFpbnRlcikgewogICAgICAgICAgICAgICAgIHNoYWRvd1BhaW50ZXItPnNldENvbXBvc2l0aW9u
TW9kZShRUGFpbnRlcjo6Q29tcG9zaXRpb25Nb2RlX1NvdXJjZSk7CiAgICAgICAgICAgICAgICAg
c2hhZG93UGFpbnRlci0+ZmlsbFBhdGgocGxhdGZvcm1QYXRoLCBRQ29sb3IobV9kYXRhLT5zaGFk
b3cubV9jb2xvcikpOwogICAgICAgICAgICAgICAgIHNoYWRvdy0+ZW5kU2hhZG93TGF5ZXIocCk7
CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBRUG9pbnRGIG9m
ZnNldCA9IHNoYWRvdy0+b2Zmc2V0KCk7Ci0gICAgICAgICAgICBwLT50cmFuc2xhdGUob2Zmc2V0
KTsKLSAgICAgICAgICAgIHAtPmZpbGxQYXRoKHBsYXRmb3JtUGF0aCwgUUNvbG9yKHNoYWRvdy0+
bV9jb2xvcikpOwotICAgICAgICAgICAgcC0+dHJhbnNsYXRlKC1vZmZzZXQpOwogICAgICAgICB9
CisKICAgICB9CiAgICAgaWYgKG1fc3RhdGUuZmlsbFBhdHRlcm4pIHsKICAgICAgICAgQWZmaW5l
VHJhbnNmb3JtIGFmZmluZTsKQEAgLTU1OSw4ICs1NTcsMjggQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OnN0cm9rZVBhdGgoY29uc3QgUGF0aCYgcGF0aCkKIAogICAgIGlmIChtX2RhdGEtPmhhc1No
YWRvdygpKSB7CiAgICAgICAgIENvbnRleHRTaGFkb3cqIHNoYWRvdyA9IGNvbnRleHRTaGFkb3co
KTsKLSAgICAgICAgaWYgKG11c3RVc2VDb250ZXh0U2hhZG93KHAsIHNoYWRvdykgfHwgbV9zdGF0
ZS5zdHJva2VQYXR0ZXJuIHx8IG1fc3RhdGUuc3Ryb2tlR3JhZGllbnQpCisKKyAgICAgICAgaWYg
KHNoYWRvdy0+bV90eXBlICE9IENvbnRleHRTaGFkb3c6OkJsdXJTaGFkb3cKKyAgICAgICAgICAg
ICYmICFtX3N0YXRlLnN0cm9rZVBhdHRlcm4gJiYgIW1fc3RhdGUuc3Ryb2tlR3JhZGllbnQpCiAg
ICAgICAgIHsKKyAgICAgICAgICAgIFFQZW4gc2hhZG93UGVuKHBlbik7CisgICAgICAgICAgICBz
aGFkb3dQZW4uc2V0Q29sb3IobV9kYXRhLT5zaGFkb3cubV9jb2xvcik7CisgICAgICAgICAgICBR
UG9pbnRGIG9mZnNldCA9IHNoYWRvdy0+b2Zmc2V0KCk7CisgICAgICAgICAgICBjb25zdCBRVHJh
bnNmb3JtJiB0cmFuc2Zvcm0gPSBwLT50cmFuc2Zvcm0oKTsKKyAgICAgICAgICAgIGlmICh0cmFu
c2Zvcm0uaXNTY2FsaW5nKCkpIHsKKyAgICAgICAgICAgICAgICAvLyBJZiBzY2FsaW5nIGlzIHJl
cXVpcmVkLCBmaW5kIHRoZSBuZXcgY29vcmQgZm9yIHNoYWRvdyBvcmlnaW4sCisgICAgICAgICAg
ICAgICAgLy8gc28gdGhhdCB0aGUgcmVsYXRpdmUgb2Zmc2V0IHRvIGl0cyBzaGFwZSBpcyBrZXB0
LgorICAgICAgICAgICAgICAgIFFQb2ludEYgdHJhbnNsYXRlZE9mZnNldChvZmZzZXQueCgpIC8g
dHJhbnNmb3JtLm0xMSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBvZmZzZXQueSgpIC8gdHJhbnNmb3JtLm0yMigpKTsKKyAgICAgICAgICAgICAgICBwbGF0Zm9y
bVBhdGgudHJhbnNsYXRlKHRyYW5zbGF0ZWRPZmZzZXQpOworICAgICAgICAgICAgICAgIHAtPnN0
cm9rZVBhdGgocGxhdGZvcm1QYXRoLCBzaGFkb3dQZW4pOworICAgICAgICAgICAgICAgIHBsYXRm
b3JtUGF0aC50cmFuc2xhdGUoLXRyYW5zbGF0ZWRPZmZzZXQpOworICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICBwLT50cmFuc2xhdGUob2Zmc2V0KTsKKyAgICAgICAgICAgICAg
ICBwLT5zdHJva2VQYXRoKHBsYXRmb3JtUGF0aCwgc2hhZG93UGVuKTsKKyAgICAgICAgICAgICAg
ICBwLT50cmFuc2xhdGUoLW9mZnNldCk7CisgICAgICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7
CiAgICAgICAgICAgICBGbG9hdFJlY3QgYm91bmRpbmdSZWN0ID0gcGxhdGZvcm1QYXRoLmNvbnRy
b2xQb2ludFJlY3QoKTsKICAgICAgICAgICAgIGJvdW5kaW5nUmVjdC5pbmZsYXRlKHBlbi5taXRl
ckxpbWl0KCkgKyBwZW4ud2lkdGhGKCkpOwogICAgICAgICAgICAgUVBhaW50ZXIqIHNoYWRvd1Bh
aW50ZXIgPSBzaGFkb3ctPmJlZ2luU2hhZG93TGF5ZXIocCwgYm91bmRpbmdSZWN0KTsKQEAgLTU2
OSwxMyArNTg3LDYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgoY29uc3QgUGF0
aCYgcGF0aCkKICAgICAgICAgICAgICAgICBzaGFkb3dQYWludGVyLT5zdHJva2VQYXRoKHBsYXRm
b3JtUGF0aCwgcGVuKTsKICAgICAgICAgICAgICAgICBzaGFkb3ctPmVuZFNoYWRvd0xheWVyKHAp
OwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgUVBlbiBzaGFk
b3dQZW4ocGVuKTsKLSAgICAgICAgICAgIHNoYWRvd1Blbi5zZXRDb2xvcihtX2RhdGEtPnNoYWRv
dy5tX2NvbG9yKTsKLSAgICAgICAgICAgIFFQb2ludEYgb2Zmc2V0ID0gc2hhZG93LT5vZmZzZXQo
KTsKLSAgICAgICAgICAgIHAtPnRyYW5zbGF0ZShvZmZzZXQpOwotICAgICAgICAgICAgcC0+c3Ry
b2tlUGF0aChwbGF0Zm9ybVBhdGgsIHNoYWRvd1Blbik7Ci0gICAgICAgICAgICBwLT50cmFuc2xh
dGUoLW9mZnNldCk7CiAgICAgICAgIH0KICAgICB9CiAKQEAgLTY5NSw3ICs3MDYsNyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJlY3QoY29uc3QgRmxvYXRSZWN0JiByZWN0KQogICAgICAg
ICBwLT5maWxsUmVjdChub3JtYWxpemVkUmVjdCwgYnJ1c2gpOwogICAgIH0gZWxzZSB7CiAgICAg
ICAgIGlmIChtX2RhdGEtPmhhc1NoYWRvdygpKSB7Ci0gICAgICAgICAgICBpZiAobXVzdFVzZUNv
bnRleHRTaGFkb3cocCwgc2hhZG93KSkgeworICAgICAgICAgICAgaWYgKHNoYWRvdy0+bV90eXBl
ID09IENvbnRleHRTaGFkb3c6OkJsdXJTaGFkb3cpIHsKICAgICAgICAgICAgICAgICBRUGFpbnRl
ciogc2hhZG93UGFpbnRlciA9IHNoYWRvdy0+YmVnaW5TaGFkb3dMYXllcihwLCBub3JtYWxpemVk
UmVjdCk7CiAgICAgICAgICAgICAgICAgaWYgKHNoYWRvd1BhaW50ZXIpIHsKICAgICAgICAgICAg
ICAgICAgICAgc2hhZG93UGFpbnRlci0+c2V0T3BhY2l0eShzdGF0aWNfY2FzdDxxcmVhbD4oc2hh
ZG93LT5tX2NvbG9yLmFscGhhKCkpIC8gMjU1KTsKQEAgLTcwMywxMSArNzE0LDE3IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgICAg
ICAgICAgICAgICAgIHNoYWRvdy0+ZW5kU2hhZG93TGF5ZXIocCk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAvLyBTb2xpZCByZWN0YW5n
bGUgZmlsbCB3aXRoIG5vIGJsdXIgc2hhZG93IG9yIHRyYW5zZm9ybWF0aW9ucyBhcHBsaWVkIGNh
biBiZSBkb25lCi0gICAgICAgICAgICAgICAgLy8gZmFzdGVyIHdpdGhvdXQgdXNpbmcgdGhlIHNo
YWRvdyBsYXllciBhdCBhbGwuCisgICAgICAgICAgICAgICAgLy8gU29saWQgcmVjdGFuZ2xlIGZp
bGwgd2l0aCBubyBibHVyIHNoYWRvdyBjYW4gYmUgZG9uZSBmYXN0ZXIKKyAgICAgICAgICAgICAg
ICAvLyB3aXRob3V0IHVzaW5nIHRoZSBzaGFkb3cgbGF5ZXIgYXQgYWxsLgogICAgICAgICAgICAg
ICAgIFFDb2xvciBzaGFkb3dDb2xvciA9IHNoYWRvdy0+bV9jb2xvcjsKICAgICAgICAgICAgICAg
ICBzaGFkb3dDb2xvci5zZXRBbHBoYUYoc2hhZG93Q29sb3IuYWxwaGFGKCkgKiBwLT5icnVzaCgp
LmNvbG9yKCkuYWxwaGFGKCkpOwotICAgICAgICAgICAgICAgIHAtPmZpbGxSZWN0KG5vcm1hbGl6
ZWRSZWN0LnRyYW5zbGF0ZWQoc2hhZG93LT5vZmZzZXQoKSksIHNoYWRvd0NvbG9yKTsKKyAgICAg
ICAgICAgICAgICBjb25zdCBRVHJhbnNmb3JtJiB0cmFuc2Zvcm0gPSBwLT50cmFuc2Zvcm0oKTsK
KyAgICAgICAgICAgICAgICBpZiAodHJhbnNmb3JtLmlzU2NhbGluZygpKSB7CisgICAgICAgICAg
ICAgICAgICAgIHAtPmZpbGxSZWN0KG5vcm1hbGl6ZWRSZWN0LnRyYW5zbGF0ZWQoc3RhdGljX2Nh
c3Q8cXJlYWw+KHNoYWRvdy0+b2Zmc2V0KCkueCgpKSAvIHRyYW5zZm9ybS5tMTEoKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0
aWNfY2FzdDxxcmVhbD4oc2hhZG93LT5vZmZzZXQoKS55KCkgIC8gdHJhbnNmb3JtLm0yMigpKSks
CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRvd0NvbG9yKTsKKyAgICAgICAg
ICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICAgICAgcC0+ZmlsbFJlY3Qobm9ybWFsaXpl
ZFJlY3QudHJhbnNsYXRlZChzaGFkb3ctPm9mZnNldCgpKSwgc2hhZG93Q29sb3IpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAKQEAgLTcyNywxNSArNzQ0LDE4IEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xv
ciwgQ29sb3JTCiAKICAgICBpZiAobV9kYXRhLT5oYXNTaGFkb3coKSkgewogICAgICAgICBDb250
ZXh0U2hhZG93KiBzaGFkb3cgPSBjb250ZXh0U2hhZG93KCk7Ci0gICAgICAgIGlmIChtdXN0VXNl
Q29udGV4dFNoYWRvdyhwLCBzaGFkb3cpKSB7CisKKyAgICAgICAgaWYgKHNoYWRvdy0+bV90eXBl
ICE9IENvbnRleHRTaGFkb3c6OkJsdXJTaGFkb3cpIHsKKyAgICAgICAgICAgIC8vIFdlIGRvIG5v
dCBuZWVkIGFueSBsYXllciBmb3Igc2ltcGxlIHNoYWRvdy4KKyAgICAgICAgICAgIHAtPmZpbGxS
ZWN0KG5vcm1hbGl6ZWRSZWN0LnRyYW5zbGF0ZWQoc2hhZG93LT5vZmZzZXQoKSksIHNoYWRvdy0+
bV9jb2xvcik7CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBRUGFpbnRlciogc2hhZG93
UGFpbnRlciA9IHNoYWRvdy0+YmVnaW5TaGFkb3dMYXllcihwLCBub3JtYWxpemVkUmVjdCk7CiAg
ICAgICAgICAgICBpZiAoc2hhZG93UGFpbnRlcikgewogICAgICAgICAgICAgICAgIHNoYWRvd1Bh
aW50ZXItPnNldENvbXBvc2l0aW9uTW9kZShRUGFpbnRlcjo6Q29tcG9zaXRpb25Nb2RlX1NvdXJj
ZSk7CiAgICAgICAgICAgICAgICAgc2hhZG93UGFpbnRlci0+ZmlsbFJlY3Qobm9ybWFsaXplZFJl
Y3QsIHNoYWRvdy0+bV9jb2xvcik7CiAgICAgICAgICAgICAgICAgc2hhZG93LT5lbmRTaGFkb3dM
YXllcihwKTsKICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICBwLT5m
aWxsUmVjdChub3JtYWxpemVkUmVjdC50cmFuc2xhdGVkKHNoYWRvdy0+b2Zmc2V0KCkpLCBzaGFk
b3ctPm1fY29sb3IpOworICAgICAgICB9CiAgICAgfQogCiAgICAgcC0+ZmlsbFJlY3Qobm9ybWFs
aXplZFJlY3QsIG1fZGF0YS0+c29saWRDb2xvcik7CkBAIC03NTEsMTcgKzc3MSwxOSBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJvdW5kZWRSZWN0KGNvbnN0IEludFJlY3QmIHJlY3QsIGNv
bnN0IEludFNpemUmIHRvcExlZgogICAgIFFQYWludGVyKiBwID0gbV9kYXRhLT5wKCk7CiAgICAg
aWYgKG1fZGF0YS0+aGFzU2hhZG93KCkpIHsKICAgICAgICAgQ29udGV4dFNoYWRvdyogc2hhZG93
ID0gY29udGV4dFNoYWRvdygpOwotICAgICAgICBpZiAobXVzdFVzZUNvbnRleHRTaGFkb3cocCwg
c2hhZG93KSkgeworCisgICAgICAgIGlmIChzaGFkb3ctPm1fdHlwZSAhPSBDb250ZXh0U2hhZG93
OjpCbHVyU2hhZG93KSB7CisgICAgICAgICAgICAvLyBXZSBkbyBub3QgbmVlZCBhbnkgbGF5ZXIg
Zm9yIHNpbXBsZSBzaGFkb3cuCisgICAgICAgICAgICBwLT50cmFuc2xhdGUobV9kYXRhLT5zaGFk
b3cub2Zmc2V0KCkpOworICAgICAgICAgICAgcC0+ZmlsbFBhdGgocGF0aC5wbGF0Zm9ybVBhdGgo
KSwgUUNvbG9yKG1fZGF0YS0+c2hhZG93Lm1fY29sb3IpKTsKKyAgICAgICAgICAgIHAtPnRyYW5z
bGF0ZSgtbV9kYXRhLT5zaGFkb3cub2Zmc2V0KCkpOworICAgICAgICB9IGVsc2UgewogICAgICAg
ICAgICAgUVBhaW50ZXIqIHNoYWRvd1BhaW50ZXIgPSBzaGFkb3ctPmJlZ2luU2hhZG93TGF5ZXIo
cCwgcmVjdCk7CiAgICAgICAgICAgICBpZiAoc2hhZG93UGFpbnRlcikgewogICAgICAgICAgICAg
ICAgIHNoYWRvd1BhaW50ZXItPnNldENvbXBvc2l0aW9uTW9kZShRUGFpbnRlcjo6Q29tcG9zaXRp
b25Nb2RlX1NvdXJjZSk7CiAgICAgICAgICAgICAgICAgc2hhZG93UGFpbnRlci0+ZmlsbFBhdGgo
cGF0aC5wbGF0Zm9ybVBhdGgoKSwgUUNvbG9yKG1fZGF0YS0+c2hhZG93Lm1fY29sb3IpKTsKICAg
ICAgICAgICAgICAgICBzaGFkb3ctPmVuZFNoYWRvd0xheWVyKHApOwogICAgICAgICAgICAgfQot
ICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcC0+dHJhbnNsYXRlKG1fZGF0YS0+c2hhZG93
Lm9mZnNldCgpKTsKLSAgICAgICAgICAgIHAtPmZpbGxQYXRoKHBhdGgucGxhdGZvcm1QYXRoKCks
IFFDb2xvcihtX2RhdGEtPnNoYWRvdy5tX2NvbG9yKSk7Ci0gICAgICAgICAgICBwLT50cmFuc2xh
dGUoLW1fZGF0YS0+c2hhZG93Lm9mZnNldCgpKTsKICAgICAgICAgfQogICAgIH0KICAgICBwLT5m
aWxsUGF0aChwYXRoLnBsYXRmb3JtUGF0aCgpLCBRQ29sb3IoY29sb3IpKTsKQEAgLTk0OSwxMCAr
OTcxLDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtU2hhZG93KGNvbnN0IEZs
b2F0U2l6ZSYgc2l6ZSwgZmxvYXQgYmx1ciwgY29uc3QKICAgICAgICAgLy8gV2UgZmxpcCB0aGUg
aGVpZ2h0IHNpbmNlIENHIGFuZCBIVE1MNSBDYW52YXMgaGF2ZSBvcHBvc2l0ZSBZIGF4aXMKICAg
ICAgICAgbV9zdGF0ZS5zaGFkb3dPZmZzZXQgPSBGbG9hdFNpemUoc2l6ZS53aWR0aCgpLCAtc2l6
ZS5oZWlnaHQoKSk7CiAgICAgICAgIG1fZGF0YS0+c2hhZG93ID0gQ29udGV4dFNoYWRvdyhjb2xv
ciwgYmx1ciwgRmxvYXRTaXplKHNpemUud2lkdGgoKSwgLXNpemUuaGVpZ2h0KCkpKTsKLSAgICB9
IGVsc2UKKyAgICB9IGVsc2UgewogICAgICAgICBtX2RhdGEtPnNoYWRvdyA9IENvbnRleHRTaGFk
b3coY29sb3IsIGJsdXIsIEZsb2F0U2l6ZShzaXplLndpZHRoKCksIHNpemUuaGVpZ2h0KCkpKTsK
LQotICAgIG1fZGF0YS0+c2hhZG93LnNldFNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKG1fc3RhdGUu
c2hhZG93c0lnbm9yZVRyYW5zZm9ybXMpOworICAgIH0KIH0KIAogdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmNsZWFyUGxhdGZvcm1TaGFkb3coKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>