<?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>51183</bug_id>
          
          <creation_ts>2010-12-16 05:43:15 -0800</creation_ts>
          <short_desc>REGRESSION(r74154): Massive breakage in GTK+ (Requested by xan_ on #webkit).</short_desc>
          <delta_ts>2010-12-20 23:02:24 -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>
    
    <cc>eric</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>323128</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-16 05:43:15 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74154 broke the build:
Massive breakage in GTK+ (Requested by xan_ 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>323129</commentid>
    <comment_count>1</comment_count>
      <attachid>76759</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-16 05:43:33 -0800</bug_when>
    <thetext>Created attachment 76759
ROLLOUT of r74154

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>323131</commentid>
    <comment_count>2</comment_count>
      <attachid>76759</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-16 05:52:08 -0800</bug_when>
    <thetext>Comment on attachment 76759
ROLLOUT of r74154

Rejecting attachment 76759 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 76759]&quot; exit_code: 2
Last 500 characters of output:
ailed to merge in the changes.
Patch failed at 0001 2010-12-16  Yury Semikhatsky  &lt;yurys@chromium.org&gt;

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at WebKitTools/Scripts/update-webkit line 132.

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/7110071</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323141</commentid>
    <comment_count>3</comment_count>
      <attachid>76759</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-16 06:13:40 -0800</bug_when>
    <thetext>Comment on attachment 76759
ROLLOUT of r74154

Rejecting attachment 76759 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=cr-jail-3&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 76759]&quot; exit_code: 2
Last 500 characters of output:
ailed to merge in the changes.
Patch failed at 0001 2010-12-16  Yury Semikhatsky  &lt;yurys@chromium.org&gt;

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at WebKitTools/Scripts/update-webkit line 132.

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/7161073</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324842</commentid>
    <comment_count>4</comment_count>
      <attachid>76759</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-20 23:02:08 -0800</bug_when>
    <thetext>Comment on attachment 76759
ROLLOUT of r74154

Sorry, this cq problem has been resolved for good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>324843</commentid>
    <comment_count>5</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-20 23:02:24 -0800</bug_when>
    <thetext>I can only assume this was resolved manually.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76759</attachid>
            <date>2010-12-16 05:43:33 -0800</date>
            <delta_ts>2010-12-20 23:02:08 -0800</delta_ts>
            <desc>ROLLOUT of r74154</desc>
            <filename>bug-51183-20101216134302.patch</filename>
            <type>text/plain</type>
            <size>34367</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2Mzg2Y2QxZWEzNmFjY2Q3OTIxYmRkYmE3NTMyNGIzZDBkZTM4ODk2Li5lNWM3NmJm
YmMwZjE3YTM5M2ZkMTBlYTk3MWJjN2U3MjI4YjJhMzU4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTAtMTItMTYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgor
CisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDE1NC4KKyAgICAgICAgaHR0cDov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzQxNTQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMTgzCisKKyAgICAgICAgTWFzc2l2ZSBicmVha2Fn
ZSBpbiBHVEsrIChSZXF1ZXN0ZWQgYnkgeGFuXyBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGZh
c3QvY2FudmFzL2NhbnZhcy1zY2FsZS1zdHJva2VQYXRoLXNoYWRvdy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogZmFzdC9jYW52YXMvY2FudmFzLXRyYW5zZm9ybXMtZmlsbFJlY3Qtc2hhZG93LWV4
cGVjdGVkLnR4dDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZhcy9jYW52YXMtdHJhbnNm
b3Jtcy1maWxsUmVjdC1zaGFkb3cuaHRtbDogUmVtb3ZlZC4KKyAgICAgICAgKiBmYXN0L2NhbnZh
cy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLWZpbGxQYXRoLXNoYWRvdy5qczoKKyAgICAgICAg
KiBmYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLWZpbGxSZWN0LXNoYWRvdy5q
czoKKyAgICAgICAgKiBmYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLXN0cm9r
ZVBhdGgtc2hhZG93LmpzOgorICAgICAgICAqIGZhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52
YXMtdHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3cuanM6IFJlbW92ZWQuCisKIDIwMTAtMTItMTYg
IFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZC4gVXBkYXRlIENocm9taXVtIHRlc3QgZXhwZWN0YXRpb25zLgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hhZG93LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy1zY2FsZS1zdHJva2VQYXRo
LXNoYWRvdy1leHBlY3RlZC50eHQKaW5kZXggYTMzN2M0YjYzZmYxZGRmZWVkNDQ4OGUzNTFmZmRh
ZTE0OWVhODUxNi4uZTU2MjAxZjczODdlNDYyZjc5MjI1ZTY1ZjhhMzQwMWUyZTMyMzZmZSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXNjYWxlLXN0cm9rZVBhdGgt
c2hhZG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMt
c2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3ctZXhwZWN0ZWQudHh0CkBAIC0zMCwyNyArMzAsMjcgQEAg
UEFTUyBkWzNdIGlzIGFyb3VuZCA3NgogUEFTUyBkWzBdIGlzIDI1NQogUEFTUyBkWzFdIGlzIDAK
IFBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDE0OQorUEFTUyBkWzNdIGlzIGFy
b3VuZCAyMAogUEFTUyBkWzBdIGlzIDI1NQogUEFTUyBkWzFdIGlzIDAKIFBBU1MgZFsyXSBpcyAw
Ci1QQVNTIGRbM10gaXMgYXJvdW5kIDExNgorUEFTUyBkWzNdIGlzIGFyb3VuZCAyMgogUEFTUyBk
WzBdIGlzIDI1NQogUEFTUyBkWzFdIGlzIDAKIFBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMg
YXJvdW5kIDExNQorUEFTUyBkWzNdIGlzIGFyb3VuZCAyOAogUEFTUyBkWzBdIGlzIDI1NQogUEFT
UyBkWzFdIGlzIDAKIFBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDcwCitQQVNT
IGRbM10gaXMgYXJvdW5kIDIyCiBQQVNTIGRbMF0gaXMgMjU1CiBQQVNTIGRbMV0gaXMgMAogUEFT
UyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgNzAKK1BBU1MgZFszXSBpcyBhcm91bmQg
MTUKIFBBU1MgZFswXSBpcyAyNTUKIFBBU1MgZFsxXSBpcyAwCiBQQVNTIGRbMl0gaXMgMAotUEFT
UyBkWzNdIGlzIGFyb3VuZCA2OQorUEFTUyBkWzNdIGlzIGFyb3VuZCAxNwogUEFTUyBzdWNjZXNz
ZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtdHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3ctZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvY2FudmFzLXRyYW5zZm9ybXMtZmlsbFJl
Y3Qtc2hhZG93LWV4cGVjdGVkLnR4dApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDEz
Yjg5MTJmMGQyYTdmMDM5MTk2M2NmNjljMGI3NGU2YjQzMTk0Yy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52
YXMtdHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3ctZXhwZWN0ZWQudHh0CisrKyAvZGV2L251bGwK
QEAgLTEsNTcgKzAsMCBAQAotRW5zdXJlIGNvcnJlY3QgYmVoYXZpb3Igb2YgY2FudmFzIHdpdGgg
ZmlsbFJlY3Qrc2hhZG93IGFmdGVyIHRyYW5zbGF0aW9uK3JvdGF0aW9uK3NjYWxpbmcuIEEgYmx1
ZSBhbmQgcmVkIGNoZWNrZXJlZCBwYXR0ZXJuIHNob3VsZCBiZSBkaXNwbGF5ZWQuCi0KLU9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KLQotCi1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0gaXMg
MAotUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyAyNTUKLVBBU1MgZFswXSBpcyAyNTUKLVBB
U1MgZFsxXSBpcyAwCi1QQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlzIDI1NQotUEFTUyBkWzBd
IGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBpcyAwCi1QQVNTIGRbM10gaXMgMjU1
Ci1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0gaXMgMAotUEFTUyBkWzJdIGlzIDAKLVBBU1Mg
ZFszXSBpcyBhcm91bmQgMTI3Ci1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0gaXMgMAotUEFT
UyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgMTI3Ci1QQVNTIGRbMF0gaXMgMjU1Ci1Q
QVNTIGRbMV0gaXMgMAotUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgMTI3Ci1Q
QVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0gaXMgMAotUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFsz
XSBpcyBhcm91bmQgMTA2Ci1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0gaXMgMAotUEFTUyBk
WzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgMTA2Ci1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNT
IGRbMV0gaXMgMAotUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgODMKLVBBU1Mg
ZFswXSBpcyAyNTUKLVBBU1MgZFsxXSBpcyAwCi1QQVNTIGRbMl0gaXMgMAotUEFTUyBkWzNdIGlz
IGFyb3VuZCAzNgotUEFTUyBkWzBdIGlzIDI1NQotUEFTUyBkWzFdIGlzIDAKLVBBU1MgZFsyXSBp
cyAwCi1QQVNTIGRbM10gaXMgYXJvdW5kIDM2Ci1QQVNTIGRbMF0gaXMgMjU1Ci1QQVNTIGRbMV0g
aXMgMAotUEFTUyBkWzJdIGlzIDAKLVBBU1MgZFszXSBpcyBhcm91bmQgMzYKLVBBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKLQotVEVTVCBDT01QTEVURQotCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2NhbnZhcy9jYW52YXMtdHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3cuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy10cmFuc2Zvcm1zLWZpbGxSZWN0LXNo
YWRvdy5odG1sCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAyZmM0ZTlhODQ0ZTdiZjY3
ZmZlZTVlYmY1OGQ1MGRiZjQyYTc4YTkwLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL2NhbnZhcy10cmFuc2Zvcm1z
LWZpbGxSZWN0LXNoYWRvdy5odG1sCisrKyAvZGV2L251bGwKQEAgLTEsMTMgKzAsMCBAQAotPCFE
T0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgotPGh0bWw+Ci08aGVh
ZD4KLTxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qt
c3R5bGUuY3NzIj4KLTxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgotPC9oZWFkPgotPGJvZHk+Ci08cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KLTxk
aXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgotPHNjcmlwdCBzcmM9InNjcmlwdC10ZXN0cy9jYW52YXMt
dHJhbnNmb3Jtcy1maWxsUmVjdC1zaGFkb3cuanMiPjwvc2NyaXB0PgotPHNjcmlwdCBzcmM9Ii4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgotPC9ib2R5PgotPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1zY2FsZS1maWxsUGF0aC1zaGFkb3cuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3Jp
cHQtdGVzdHMvY2FudmFzLXNjYWxlLWZpbGxQYXRoLXNoYWRvdy5qcwppbmRleCAzY2EzMzIxOTky
OGRkZDFiZjIwMjFjNGEwMjRkNzMwOGJjYjg2NTMzLi4wNTI4NmY1MzI4YjVlNTk5ODMyNDM1MDc1
ZGJiZjFlYzE3ZTVhMjA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3Jp
cHQtdGVzdHMvY2FudmFzLXNjYWxlLWZpbGxQYXRoLXNoYWRvdy5qcworKysgYi9MYXlvdXRUZXN0
cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLWZpbGxQYXRoLXNoYWRvdy5q
cwpAQCAtNzksMTMgKzc5LDEzIEBAIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdk
WzJdJywgJzAnKTsKIHNob3VsZEJlKCdkWzNdJywgJzI1NScpOwogCi1kID0gY3R4LmdldEltYWdl
RGF0YSgyOTgsIDI5NSwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDI5OSwgMjk1
LCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScs
ICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBzaG91bGRCZSgnZFszXScsICcyNTUnKTsK
IAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAwLCAyOTgsIDEsIDEpLmRhdGE7CitkID0gY3R4Lmdl
dEltYWdlRGF0YSgyMDAsIDI5OSwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScp
Owogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwpAQCAtOTgs
MTMgKzk4LDEzIEBAIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAn
KTsKIHNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzc2Jyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRh
KDI5OCwgNDA1LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk5LCA0MDUsIDEs
IDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAn
KTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKIHNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzc2Jyk7
CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwNSwgNDk4LCAxLCAxKS5kYXRhOworZCA9IGN0eC5n
ZXRJbWFnZURhdGEoMjA1LCA0OTksIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUn
KTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUt
ZmlsbFJlY3Qtc2hhZG93LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1zY2FsZS1maWxsUmVjdC1zaGFkb3cuanMKaW5kZXggZjQ5NWM5MTA1NWJiYTFkY2Ix
NDY4MzJlMjgxNjMwNzRhMDQ1ZTgyOS4uOTlhMWU1OTRiZDU5ZjczNjdmM2MzMGRlYTE2NTFlMzJm
M2Q0ZGU2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3Rz
L2NhbnZhcy1zY2FsZS1maWxsUmVjdC1zaGFkb3cuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9j
YW52YXMvc2NyaXB0LXRlc3RzL2NhbnZhcy1zY2FsZS1maWxsUmVjdC1zaGFkb3cuanMKQEAgLTU4
LDEzICs1OCwxMyBAQCBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcw
Jyk7CiBzaG91bGRCZSgnZFszXScsICcyNTUnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjk4
LCAyOTgsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyOTksIDI5NSwgMSwgMSku
ZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwog
c2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAnMjU1Jyk7CiAKLWQgPSBj
dHguZ2V0SW1hZ2VEYXRhKDIwMSwgMjk4LCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURh
dGEoMjAwLCAyOTksIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3Vs
ZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKQEAgLTc3LDEzICs3Nywx
MyBAQCBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBzaG91
bGRCZUFyb3VuZCgnZFszXScsICc3NicpOwogCi1kID0gY3R4LmdldEltYWdlRGF0YSgyOTgsIDQw
NSwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDI5OSwgNDA1LCAxLCAxKS5kYXRh
Owogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91
bGRCZSgnZFsyXScsICcwJyk7CiBzaG91bGRCZUFyb3VuZCgnZFszXScsICc3NicpOwogCi1kID0g
Y3R4LmdldEltYWdlRGF0YSgyMDUsIDQ5OCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VE
YXRhKDIwNSwgNDk5LCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91
bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2FudmFzLXNjYWxlLXN0cm9rZVBh
dGgtc2hhZG93LmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2NhbnZh
cy1zY2FsZS1zdHJva2VQYXRoLXNoYWRvdy5qcwppbmRleCA5MWI5MjdmOTVmYTg3ZGU1ZjlkNjU1
ZjNiMmZmZDJmNGI1ZGFkNTM2Li41MTk4ZDk0MTUxN2RhYjkyYmMyODkxYzgzNzRmMzViYTFhODlk
NTc5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy9zY3JpcHQtdGVzdHMvY2Fu
dmFzLXNjYWxlLXN0cm9rZVBhdGgtc2hhZG93LmpzCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2Fu
dmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtc2NhbGUtc3Ryb2tlUGF0aC1zaGFkb3cuanMKQEAgLTM1
LDcgKzM1LDYgQEAgY3R4LnNjYWxlKDIsIDIpOwogY3R4LnNoYWRvd09mZnNldFggPSAxMDA7CiBj
dHguc2hhZG93T2Zmc2V0WSA9IDEwMDsKIGN0eC5zdHJva2VTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1
NSwgMSknOwotY3R4LmxpbmVXaWR0aCA9IDU7CiAKIGN0eC5zaGFkb3dDb2xvciA9ICdyZ2JhKDI1
NSwgMCwgMCwgMS4wKSc7CiBjdHguYmVnaW5QYXRoKCk7CkBAIC03Nyw3OSArNzYsNzkgQEAgY3R4
LnN0cm9rZSgpOwogdmFyIGQ7IC8vIGltYWdlRGF0YS5kYXRhCiAKIC8vIFZlcmlmeSBzb2xpZCBz
aGFkb3cuCi1kID0gY3R4LmdldEltYWdlRGF0YSgyNTAsIDIwMCwgMSwgMSkuZGF0YTsKK2QgPSBj
dHguZ2V0SW1hZ2VEYXRhKDIwMCwgMjA1LCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAn
MjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7CiBz
aG91bGRCZSgnZFszXScsICcyNTUnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMzAwLCAyOTAs
IDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyOTksIDI5NSwgMSwgMSkuZGF0YTsK
IHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxk
QmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbM10nLCAnMjU1Jyk7CiAKLWQgPSBjdHguZ2V0
SW1hZ2VEYXRhKDIwMCwgMjUwLCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAx
LCAyOTksIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdk
WzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKIHNob3VsZEJlKCdkWzNdJywgJzI1
NScpOwogCiAvLyBWZXJpZnkgc29saWQgYWxwaGEgc2hhZG93LgotZCA9IGN0eC5nZXRJbWFnZURh
dGEoMjAxLCA0MDUsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyMDAsIDQwNSwg
MSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAn
MCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnNzYn
KTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAxLCA1MDAsIDEsIDEpLmRhdGE7CitkID0gY3R4
LmdldEltYWdlRGF0YSgyOTksIDQwNSwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1
NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hv
dWxkQmVBcm91bmQoJ2RbM10nLCAnNzYnKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoMzAwLCA0
OTksIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSgyMDUsIDQ5OSwgMSwgMSkuZGF0
YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hv
dWxkQmUoJ2RbMl0nLCAnMCcpOwogc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnNzYnKTsKIAogLy8g
VmVyaWZ5IGJsdXJyeSBzaGFkb3cuCi1kID0gY3R4LmdldEltYWdlRGF0YSg0MDQsIDIxMCwgMSwg
MSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRhKDM5NCwgMjA4LCAxLCAxKS5kYXRhOwogc2hv
dWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRCZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgn
ZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgnZFszXScsICcxNDknKTsKK3Nob3VsZEJlQXJv
dW5kKCdkWzNdJywgJzIwJyk7CiAKLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDUwNSwgMjUwLCAxLCAx
KS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURhdGEoNTAzLCAzMDEsIDEsIDEpLmRhdGE7CiBzaG91
bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3VsZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdk
WzJdJywgJzAnKTsKLXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzExNicpOworc2hvdWxkQmVBcm91
bmQoJ2RbM10nLCAnMjInKTsKIAotZCA9IGN0eC5nZXRJbWFnZURhdGEoNDUwLCAyMDUsIDEsIDEp
LmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSg1MDQsIDI1MCwgMSwgMSkuZGF0YTsKIHNob3Vs
ZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2Rb
Ml0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMTE1Jyk7CitzaG91bGRCZUFyb3Vu
ZCgnZFszXScsICcyOCcpOwogCiAvLyBWZXJpZnkgYmx1cnJ5IGFscGhhIHNoYWRvdy4KLWQgPSBj
dHguZ2V0SW1hZ2VEYXRhKDUwNSwgNDUwLCAxLCAxKS5kYXRhOworZCA9IGN0eC5nZXRJbWFnZURh
dGEoNDA1LCA0MDUsIDEsIDEpLmRhdGE7CiBzaG91bGRCZSgnZFswXScsICcyNTUnKTsKIHNob3Vs
ZEJlKCdkWzFdJywgJzAnKTsKIHNob3VsZEJlKCdkWzJdJywgJzAnKTsKLXNob3VsZEJlQXJvdW5k
KCdkWzNdJywgJzcwJyk7CitzaG91bGRCZUFyb3VuZCgnZFszXScsICcyMicpOwogCi1kID0gY3R4
LmdldEltYWdlRGF0YSg1MDUsIDQ1MCwgMSwgMSkuZGF0YTsKK2QgPSBjdHguZ2V0SW1hZ2VEYXRh
KDQxNSwgNDk1LCAxLCAxKS5kYXRhOwogc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7CiBzaG91bGRC
ZSgnZFsxXScsICcwJyk7CiBzaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgn
ZFszXScsICc3MCcpOworc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMTUnKTsKIAotZCA9IGN0eC5n
ZXRJbWFnZURhdGEoNDUwLCA0MDUsIDEsIDEpLmRhdGE7CitkID0gY3R4LmdldEltYWdlRGF0YSg0
NTAsIDUwNCwgMSwgMSkuZGF0YTsKIHNob3VsZEJlKCdkWzBdJywgJzI1NScpOwogc2hvdWxkQmUo
J2RbMV0nLCAnMCcpOwogc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2Rb
M10nLCAnNjknKTsKK3Nob3VsZEJlQXJvdW5kKCdkWzNdJywgJzE3Jyk7CiAKIHZhciBzdWNjZXNz
ZnVsbHlQYXJzZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMv
c2NyaXB0LXRlc3RzL2NhbnZhcy10cmFuc2Zvcm1zLWZpbGxSZWN0LXNoYWRvdy5qcyBiL0xheW91
dFRlc3RzL2Zhc3QvY2FudmFzL3NjcmlwdC10ZXN0cy9jYW52YXMtdHJhbnNmb3Jtcy1maWxsUmVj
dC1zaGFkb3cuanMKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI2N2YyNDQzY2JlOTA2
MDA1M2JjMzk5MDI3OTg1ZWU1ZjA3Mzc5ZWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvc2NyaXB0LXRlc3RzL2Nh
bnZhcy10cmFuc2Zvcm1zLWZpbGxSZWN0LXNoYWRvdy5qcworKysgL2Rldi9udWxsCkBAIC0xLDEz
MyArMCwwIEBACi1kZXNjcmlwdGlvbigiRW5zdXJlIGNvcnJlY3QgYmVoYXZpb3Igb2YgY2FudmFz
IHdpdGggZmlsbFJlY3Qrc2hhZG93IGFmdGVyIHRyYW5zbGF0aW9uK3JvdGF0aW9uK3NjYWxpbmcu
IEEgYmx1ZSBhbmQgcmVkIGNoZWNrZXJlZCBwYXR0ZXJuIHNob3VsZCBiZSBkaXNwbGF5ZWQuIik7
Ci0KLWZ1bmN0aW9uIHByaW50KG1lc3NhZ2UsIGNvbG9yKQotewotICAgIHZhciBwYXJhZ3JhcGgg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICBwYXJhZ3JhcGguYXBwZW5kQ2hp
bGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUobWVzc2FnZSkpOwotICAgIHBhcmFncmFwaC5zdHls
ZS5mb250RmFtaWx5ID0gIm1vbm9zcGFjZSI7Ci0gICAgaWYgKGNvbG9yKQotICAgICAgICBwYXJh
Z3JhcGguc3R5bGUuY29sb3IgPSBjb2xvcjsKLSAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
Y29uc29sZSIpLmFwcGVuZENoaWxkKHBhcmFncmFwaCk7Ci19Ci0KLWZ1bmN0aW9uIHNob3VsZEJl
QXJvdW5kKGEsIGIpCi17Ci0gICAgdmFyIGV2YWxBOwotICAgIHRyeSB7Ci0gICAgICAgIGV2YWxB
ID0gZXZhbChhKTsKLSAgICB9IGNhdGNoKGUpIHsKLSAgICAgICAgZXZhbEEgPSBlOwotICAgIH0K
LQotICAgIGlmIChNYXRoLmFicyhldmFsQSAtIGIpIDwgMTApCi0gICAgICAgIHByaW50KCJQQVNT
ICIgKyBhICsgIiBpcyBhcm91bmQgIiArIGIgLCAiZ3JlZW4iKQotICAgIGVsc2UKLSAgICAgICAg
cHJpbnQoIkZBSUwgIiArIGEgKyAiIGlzIG5vdCBhcm91bmQgIiArIGIgKyAiIChhY3R1YWw6ICIg
KyBldmFsQSArICIpIiwgInJlZCIpOwotfQotCi12YXIgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgnY2FudmFzJyk7Ci1kb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGNhbnZhcyk7Ci1j
YW52YXMuc2V0QXR0cmlidXRlKCd3aWR0aCcsICc2MDAnKTsKLWNhbnZhcy5zZXRBdHRyaWJ1dGUo
J2hlaWdodCcsICc2MDAnKTsKLXZhciBjdHggPSBjYW52YXMuZ2V0Q29udGV4dCgnMmQnKTsKLQot
Y3R4LmZpbGxTdHlsZSA9ICdyZ2JhKDAsIDAsIDI1NSwgMS4wKSc7Ci1jdHguc2hhZG93T2Zmc2V0
WCA9IDEwMDsKLWN0eC5zaGFkb3dPZmZzZXRZID0gMTAwOwotCi1jdHgudHJhbnNsYXRlKC0xMDAs
IC0xMDApOwotY3R4LnJvdGF0ZShNYXRoLlBJLzIpOwotY3R4LnNjYWxlKDIsIDIpOwotCi1jdHgu
c2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAsIDAsIDEuMCknOwotY3R4LmZpbGxSZWN0KDEwMCwg
LTE1MCwgNTAsIDUwKTsKLQotY3R4LnNoYWRvd0NvbG9yID0gJ3JnYmEoMjU1LCAwLCAwLCAwLjUp
JzsKLWN0eC5maWxsUmVjdCgyMDAsIC0xNTAsIDUwLCA1MCk7Ci0KLWN0eC5zaGFkb3dCbHVyID0g
NTsKLWN0eC5zaGFkb3dDb2xvciA9ICdyZ2JhKDI1NSwgMCwgMCwgMS4wKSc7Ci1jdHguZmlsbFJl
Y3QoMTAwLCAtMjUwLCA1MCwgNTApOwotCi1jdHguc2hhZG93Q29sb3IgPSAncmdiYSgyNTUsIDAs
IDAsIDAuNSknOwotY3R4LmZpbGxSZWN0KDIwMCwgLTI1MCwgNTAsIDUwKTsKLQotdmFyIGQ7IC8v
IGltYWdlRGF0YS5kYXRhCi0KLS8vIFZlcmlmeSBzb2xpZCBzaGFkb3cuCi1kID0gY3R4LmdldElt
YWdlRGF0YSgyMDAsIDIwNSwgMSwgMSkuZGF0YTsKLXNob3VsZEJlKCdkWzBdJywgJzI1NScpOwot
c2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwotc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmUo
J2RbM10nLCAnMjU1Jyk7Ci0KLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDI5OCwgMjk4LCAxLCAxKS5k
YXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRCZSgnZFsxXScsICcwJyk7Ci1z
aG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZSgnZFszXScsICcyNTUnKTsKLQotZCA9IGN0
eC5nZXRJbWFnZURhdGEoMjAxLCAyOTgsIDEsIDEpLmRhdGE7Ci1zaG91bGRCZSgnZFswXScsICcy
NTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNob3VsZEJlKCdkWzJdJywgJzAnKTsKLXNo
b3VsZEJlKCdkWzNdJywgJzI1NScpOwotCi0vLyBWZXJpZnkgc29saWQgYWxwaGEgc2hhZG93Lgot
ZCA9IGN0eC5nZXRJbWFnZURhdGEoMjAxLCA0MDEsIDEsIDEpLmRhdGE7Ci1zaG91bGRCZSgnZFsw
XScsICcyNTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNob3VsZEJlKCdkWzJdJywgJzAn
KTsKLXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzEyNycpOwotCi1kID0gY3R4LmdldEltYWdlRGF0
YSgyOTksIDQ1MCwgMSwgMSkuZGF0YTsKLXNob3VsZEJlKCdkWzBdJywgJzI1NScpOwotc2hvdWxk
QmUoJ2RbMV0nLCAnMCcpOwotc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQo
J2RbM10nLCAnMTI3Jyk7Ci0KLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDIwNSwgNDk4LCAxLCAxKS5k
YXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRCZSgnZFsxXScsICcwJyk7Ci1z
aG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgnZFszXScsICcxMjcnKTsKLQot
Ly8gVmVyaWZ5IGJsdXJyeSBzaGFkb3cuCi1kID0gY3R4LmdldEltYWdlRGF0YSgzOTksIDIwNSwg
MSwgMSkuZGF0YTsKLXNob3VsZEJlKCdkWzBdJywgJzI1NScpOwotc2hvdWxkQmUoJ2RbMV0nLCAn
MCcpOwotc2hvdWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMTA2
Jyk7Ci0KLWQgPSBjdHguZ2V0SW1hZ2VEYXRhKDUwMCwgMjA1LCAxLCAxKS5kYXRhOwotc2hvdWxk
QmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRCZSgnZFsxXScsICcwJyk7Ci1zaG91bGRCZSgnZFsy
XScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgnZFszXScsICcxMDYnKTsKLQotZCA9IGN0eC5nZXRJ
bWFnZURhdGEoNDk5LCAyOTksIDEsIDEpLmRhdGE7Ci1zaG91bGRCZSgnZFswXScsICcyNTUnKTsK
LXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNob3VsZEJlKCdkWzJdJywgJzAnKTsKLXNob3VsZEJl
QXJvdW5kKCdkWzNdJywgJzgzJyk7Ci0KLS8vIFZlcmlmeSBibHVycnkgYWxwaGEgc2hhZG93Lgot
ZCA9IGN0eC5nZXRJbWFnZURhdGEoMzk4LCA0MDUsIDEsIDEpLmRhdGE7Ci1zaG91bGRCZSgnZFsw
XScsICcyNTUnKTsKLXNob3VsZEJlKCdkWzFdJywgJzAnKTsKLXNob3VsZEJlKCdkWzJdJywgJzAn
KTsKLXNob3VsZEJlQXJvdW5kKCdkWzNdJywgJzM2Jyk7Ci0KLWQgPSBjdHguZ2V0SW1hZ2VEYXRh
KDQwNSwgNTAxLCAxLCAxKS5kYXRhOwotc2hvdWxkQmUoJ2RbMF0nLCAnMjU1Jyk7Ci1zaG91bGRC
ZSgnZFsxXScsICcwJyk7Ci1zaG91bGRCZSgnZFsyXScsICcwJyk7Ci1zaG91bGRCZUFyb3VuZCgn
ZFszXScsICczNicpOwotCi1kID0gY3R4LmdldEltYWdlRGF0YSg0MDUsIDUwMSwgMSwgMSkuZGF0
YTsKLXNob3VsZEJlKCdkWzBdJywgJzI1NScpOwotc2hvdWxkQmUoJ2RbMV0nLCAnMCcpOwotc2hv
dWxkQmUoJ2RbMl0nLCAnMCcpOwotc2hvdWxkQmVBcm91bmQoJ2RbM10nLCAnMzYnKTsKLQotdmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDlkZDZiNDYzZTliMDQwZTY1MTBjM2VkNDU4NzZl
YzZhYjcyN2Q3YjQuLjAwMzRiY2ZmYjcxNjBlZGRjYWI0YzI4NTVkZWQyM2YyZjY5YjQxYjAgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjYgQEAKKzIwMTAtMTItMTYgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RA
Z21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI3NDE1NC4KKyAg
ICAgICAgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvNzQxNTQKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTUxMTgzCisKKyAgICAgICAgTWFz
c2l2ZSBicmVha2FnZSBpbiBHVEsrIChSZXF1ZXN0ZWQgYnkgeGFuXyBvbiAjd2Via2l0KS4KKwor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Q29udGV4dFNoYWRvdzo6Q29udGV4dFNoYWRvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpDb250ZXh0U2hhZG93OjpjYWxjdWxhdGVMYXllckJvdW5kaW5nUmVjdCk6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvQ29udGV4dFNoYWRvdy5oOgorICAgICAgICAoV2ViQ29yZTo6Q29u
dGV4dFNoYWRvdzo6b2Zmc2V0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9xdC9Db250
ZXh0U2hhZG93UXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q29udGV4dFNoYWRvdzo6YmVnaW5T
aGFkb3dMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpDb250ZXh0U2hhZG93OjplbmRTaGFkb3dM
YXllcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhpY3NDb250ZXh0UXQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUGF0aCk6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFw
aGljc0NvbnRleHQ6OmZpbGxSb3VuZGVkUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGlj
c0NvbnRleHQ6OnNldFBsYXRmb3JtU2hhZG93KToKKwogMjAxMC0xMi0xNiAgWXVyeSBTZW1pa2hh
dHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLiBGaXggQ2hy
b21pdW0gTWFjIERlYnVnIENsYW5nIGNvbXBpbGF0aW9uLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvQ29udGV4dFNoYWRvdy5jcHAKaW5kZXggYjVhZTU5MjU5ZDQ0NjFlMzlmNmUyNjNhM2Vi
MzhmNTc2MmRlYjA0Ny4uODdhMWM1Yzc2M2NlYzU1NjYzNGYyZmJhZmM2NzU5NDI5ZWRjNTlkMSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Db250ZXh0U2hhZG93LmNwcAor
KysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuY3BwCkBAIC00MSw3
ICs0MSw2IEBAIENvbnRleHRTaGFkb3c6OkNvbnRleHRTaGFkb3coKQogICAgIDogbV90eXBlKE5v
U2hhZG93KQogICAgICwgbV9ibHVyRGlzdGFuY2UoMCkKICAgICAsIG1fbGF5ZXJDb250ZXh0KDAp
Ci0gICAgLCBtX3NoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKGZhbHNlKQogewogfQogCkBAIC01MCw3
ICs0OSw2IEBAIENvbnRleHRTaGFkb3c6OkNvbnRleHRTaGFkb3coY29uc3QgQ29sb3ImIGNvbG9y
LCBmbG9hdCByYWRpdXMsIGNvbnN0IEZsb2F0U2l6ZSYKICAgICAsIG1fYmx1ckRpc3RhbmNlKHJv
dW5kKHJhZGl1cykpCiAgICAgLCBtX29mZnNldChvZmZzZXQpCiAgICAgLCBtX2xheWVyQ29udGV4
dCgwKQotICAgICwgbV9zaGFkb3dzSWdub3JlVHJhbnNmb3JtcyhmYWxzZSkKIHsKICAgICAvLyBT
ZWUgY29tbWVudHMgaW4gaHR0cDovL3dlYmtpdC5vcmcvYi80MDc5MywgaXQgc2VlbXMgc2Vuc2li
bGUKICAgICAvLyB0byBmb2xsb3cgU2tpYSdzIGxpbWl0IG9mIDEyOCBwaXhlbHMgb2YgYmx1ciBy
YWRpdXMKQEAgLTE1MSw2NyArMTQ5LDYgQEAgdm9pZCBDb250ZXh0U2hhZG93OjpibHVyTGF5ZXJJ
bWFnZSh1bnNpZ25lZCBjaGFyKiBpbWFnZURhdGEsIGNvbnN0IEludFNpemUmIHNpemUKICAgICB9
CiB9CiAKLSNpZiBQTEFURk9STShRVCkKLUludFJlY3QgQ29udGV4dFNoYWRvdzo6Y2FsY3VsYXRl
TGF5ZXJCb3VuZGluZ1JlY3QoY29uc3QgUGxhdGZvcm1Db250ZXh0IHAsIGNvbnN0IEZsb2F0UmVj
dCYgbGF5ZXJBcmVhLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKLXsKLSAgICAvLyBDYWxjdWxh
dGUgdGhlIGRlc3RpbmF0aW9uIG9mIHRoZSBibHVycmVkIGFuZC9vciB0cmFuc2Zvcm1lZCBsYXll
ci4KLSAgICBGbG9hdFJlY3QgbGF5ZXJGbG9hdFJlY3Q7Ci0gICAgZmxvYXQgaW5mbGF0aW9uID0g
MDsKLQotICAgIGNvbnN0IFFUcmFuc2Zvcm0gdHJhbnNmb3JtID0gcC0+dHJhbnNmb3JtKCk7Ci0g
ICAgaWYgKG1fc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMgJiYgIXRyYW5zZm9ybS5pc0lkZW50aXR5
KCkpIHsKLSAgICAgICAgUVBvbHlnb25GIHRyYW5zZm9ybWVkUG9seWdvbiA9IHRyYW5zZm9ybS5t
YXAoUVBvbHlnb25GKGxheWVyQXJlYSkpOwotICAgICAgICB0cmFuc2Zvcm1lZFBvbHlnb24udHJh
bnNsYXRlKG9mZnNldCgpKTsKLSAgICAgICAgbGF5ZXJGbG9hdFJlY3QgPSB0cmFuc2Zvcm0uaW52
ZXJ0ZWQoKS5tYXAodHJhbnNmb3JtZWRQb2x5Z29uKS5ib3VuZGluZ1JlY3QoKTsKLSAgICB9IGVs
c2UgewotICAgICAgICBsYXllckZsb2F0UmVjdCA9IGxheWVyQXJlYTsKLSAgICAgICAgbGF5ZXJG
bG9hdFJlY3QubW92ZShtX29mZnNldCk7Ci0gICAgfQotCi0gICAgLy8gV2UgZXhwYW5kIHRoZSBh
cmVhIGJ5IHRoZSBibHVyIHJhZGl1cyB0byBnaXZlIGV4dHJhIHNwYWNlIGZvciB0aGUgYmx1ciB0
cmFuc2l0aW9uLgotICAgIGlmIChtX3R5cGUgPT0gQmx1clNoYWRvdykgewotICAgICAgICBsYXll
ckZsb2F0UmVjdC5pbmZsYXRlKG1fYmx1ckRpc3RhbmNlKTsKLSAgICAgICAgaW5mbGF0aW9uICs9
IG1fYmx1ckRpc3RhbmNlOwotICAgIH0KLQotICAgIEZsb2F0UmVjdCB1bmNsaXBwZWRMYXllclJl
Y3QgPSBsYXllckZsb2F0UmVjdDsKLQotICAgIGlmICghY2xpcFJlY3QuY29udGFpbnMoZW5jbG9z
aW5nSW50UmVjdChsYXllckZsb2F0UmVjdCkpKSB7Ci0gICAgICAgIC8vIE5vIG5lZWQgdG8gaGF2
ZSB0aGUgYnVmZmVyIGxhcmdlciB0aGFuIHRoZSBjbGlwLgotICAgICAgICBsYXllckZsb2F0UmVj
dC5pbnRlcnNlY3QoY2xpcFJlY3QpOwotCi0gICAgICAgIC8vIElmIHdlIGFyZSB0b3RhbGx5IG91
dHNpZGUgdGhlIGNsaXAgcmVnaW9uLCB3ZSBhcmVuJ3QgcGFpbnRpbmcgYXQgYWxsLgotICAgICAg
ICBpZiAobGF5ZXJGbG9hdFJlY3QuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIEludFJl
Y3QoMCwgMCwgMCwgMCk7Ci0KLSAgICAgICAgLy8gV2UgYWRqdXN0IGFnYWluIGJlY2F1c2UgdGhl
IHBpeGVscyBhdCB0aGUgYm9yZGVycyBhcmUgc3RpbGwKLSAgICAgICAgLy8gcG90ZW50aWFsbHkg
YWZmZWN0ZWQgYnkgdGhlIHBpeGVscyBvdXRzaWRlIHRoZSBidWZmZXIuCi0gICAgICAgIGlmICht
X3R5cGUgPT0gQmx1clNoYWRvdykgewotICAgICAgICAgICAgbGF5ZXJGbG9hdFJlY3QuaW5mbGF0
ZShtX2JsdXJEaXN0YW5jZSk7Ci0gICAgICAgICAgICB1bmNsaXBwZWRMYXllclJlY3QuaW5mbGF0
ZShtX2JsdXJEaXN0YW5jZSk7Ci0gICAgICAgICAgICBpbmZsYXRpb24gKz0gbV9ibHVyRGlzdGFu
Y2U7Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBjb25zdCBpbnQgZnJhbWVTaXplID0gaW5mbGF0
aW9uICogMjsKLSAgICBtX3NvdXJjZVJlY3QgPSBJbnRSZWN0KDAsIDAsIGxheWVyQXJlYS53aWR0
aCgpICsgZnJhbWVTaXplLCBsYXllckFyZWEuaGVpZ2h0KCkgKyBmcmFtZVNpemUpOwotCi0gICAg
bV9sYXllck9yaWdpbiA9IEZsb2F0UG9pbnQobGF5ZXJGbG9hdFJlY3QueCgpLCBsYXllckZsb2F0
UmVjdC55KCkpOwotCi0gICAgY29uc3QgRmxvYXRQb2ludCBtX3VuY2xpcHBlZExheWVyT3JpZ2lu
ID0gRmxvYXRQb2ludCh1bmNsaXBwZWRMYXllclJlY3QueCgpLCB1bmNsaXBwZWRMYXllclJlY3Qu
eSgpKTsKLSAgICBjb25zdCBGbG9hdFNpemUgY2xpcHBlZE91dCA9IG1fdW5jbGlwcGVkTGF5ZXJP
cmlnaW4gLSBtX2xheWVyT3JpZ2luOwotCi0gICAgLy8gU2V0IHRoZSBvcmlnaW4gYXMgdGhlIHRv
cCBsZWZ0IGNvcm5lciBvZiB0aGUgc2NyYXRjaCBpbWFnZSwgb3IsIGluIGNhc2UgdGhlcmUncyBh
IGNsaXBwZWQKLSAgICAvLyBvdXQgcmVnaW9uLCBzZXQgdGhlIG9yaWdpbiBhY2NvcmRpbmdseSB0
byB0aGUgZnVsbCBib3VuZGluZyByZWN0J3MgdG9wLWxlZnQgY29ybmVyLgotICAgIGNvbnN0IGZs
b2F0IHRyYW5zbGF0aW9uWCA9IC1sYXllckFyZWEueCgpICsgaW5mbGF0aW9uIC0gZmFic2YoY2xp
cHBlZE91dC53aWR0aCgpKTsKLSAgICBjb25zdCBmbG9hdCB0cmFuc2xhdGlvblkgPSAtbGF5ZXJB
cmVhLnkoKSArIGluZmxhdGlvbiAtIGZhYnNmKGNsaXBwZWRPdXQuaGVpZ2h0KCkpOwotICAgIG1f
bGF5ZXJDb250ZXh0VHJhbnNsYXRpb24gPSBGbG9hdFBvaW50KHRyYW5zbGF0aW9uWCwgdHJhbnNs
YXRpb25ZKTsKLQotICAgIHJldHVybiBlbmNsb3NpbmdJbnRSZWN0KGxheWVyRmxvYXRSZWN0KTsK
LX0KLSNlbmRpZgotCi0jaWYgUExBVEZPUk0oQ0FJUk8pCiB2b2lkIENvbnRleHRTaGFkb3c6OmNh
bGN1bGF0ZUxheWVyQm91bmRpbmdSZWN0KGNvbnN0IEZsb2F0UmVjdCYgbGF5ZXJBcmVhLCBjb25z
dCBJbnRSZWN0JiBjbGlwUmVjdCkKIHsKICAgICAvLyBDYWxjdWxhdGUgdGhlIGRlc3RpbmF0aW9u
IG9mIHRoZSBibHVycmVkIGxheWVyLgpAQCAtMjM2LDYgKzE3Myw1IEBAIHZvaWQgQ29udGV4dFNo
YWRvdzo6Y2FsY3VsYXRlTGF5ZXJCb3VuZGluZ1JlY3QoY29uc3QgRmxvYXRSZWN0JiBsYXllckFy
ZWEsIGNvbnN0CiAgICAgICAgICAgICBtX2xheWVyUmVjdC5pbmZsYXRlKG1fdHlwZSA9PSBCbHVy
U2hhZG93ID8gbV9ibHVyRGlzdGFuY2UgOiAwKTsKICAgICB9CiB9Ci0jZW5kaWYKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9D
b250ZXh0U2hhZG93LmggYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cu
aAppbmRleCBkNzRiMWRlZTE0NzNmNjRlNTVjNzM1M2VkODA0N2IwNGUyYjAyNWEwLi5mYTc3OGFm
YmNjZGRmYWZjM2Y0MGNkMDIzY2I3YWQ0ZjQ1MWVkNTJjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0NvbnRleHRTaGFkb3cuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0NvbnRleHRTaGFkb3cuaApAQCAtMTA2LDQzICsxMDYsMjcgQEAgcHVibGljOgogICAg
IFBsYXRmb3JtQ29udGV4dCBiZWdpblNoYWRvd0xheWVyKFBsYXRmb3JtQ29udGV4dCwgY29uc3Qg
RmxvYXRSZWN0JiBsYXllckFyZWEpOwogICAgIHZvaWQgZW5kU2hhZG93TGF5ZXIoUGxhdGZvcm1D
b250ZXh0KTsKICAgICBzdGF0aWMgdm9pZCBwdXJnZVNjcmF0Y2hCdWZmZXIoKTsKLSAgICB2b2lk
IHNldFNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKGJvb2wgZW5hYmxlKSB7IG1fc2hhZG93c0lnbm9y
ZVRyYW5zZm9ybXMgPSBlbmFibGU7IH0KLSAgICBib29sIHNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1z
KCkgY29uc3QgeyByZXR1cm4gbV9zaGFkb3dzSWdub3JlVHJhbnNmb3JtczsgfQogI2lmIFBMQVRG
T1JNKENBSVJPKQogICAgIHZvaWQgZHJhd1JlY3RTaGFkb3coR3JhcGhpY3NDb250ZXh0KiBjb250
ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0LCBjb25zdCBJbnRTaXplJiB0b3BMZWZ0UmFkaXVzID0g
SW50U2l6ZSgpLCBjb25zdCBJbnRTaXplJiB0b3BSaWdodFJhZGl1cyA9IEludFNpemUoKSwgY29u
c3QgSW50U2l6ZSYgYm90dG9tTGVmdFJhZGl1cyA9IEludFNpemUoKSwgY29uc3QgSW50U2l6ZSYg
Ym90dG9tUmlnaHRSYWRpdXMgPSBJbnRTaXplKCkpOwogI2VuZGlmCisKICNpZiBQTEFURk9STShR
VCkKLSAgICBRUG9pbnRGIG9mZnNldCgpIGNvbnN0IHsgcmV0dXJuIFFQb2ludEYobV9vZmZzZXQu
d2lkdGgoKSwgbV9vZmZzZXQuaGVpZ2h0KCkpOyB9CisgICAgUVBvaW50RiBvZmZzZXQoKSB7IHJl
dHVybiBRUG9pbnRGKG1fb2Zmc2V0LndpZHRoKCksIG1fb2Zmc2V0LmhlaWdodCgpKTsgfQogI2Vu
ZGlmCiAKIAogcHJpdmF0ZToKLSAgICAvLyBCdWZmZXIgdG8gd2hlcmUgdGhlIHRlbXBvcmFyeSBz
aGFkb3cgd2lsbCBiZSBkcmF3biB0by4KKyAgICBJbnRSZWN0IG1fbGF5ZXJSZWN0OwogICAgIFBs
YXRmb3JtSW1hZ2UgbV9sYXllckltYWdlOwotICAgIC8vIENvbnRleHQgdXNlZCB0byBwYWludCB0
aGUgc2hhZG93IHRvIHRoZSBsYXllciBpbWFnZS4KICAgICBQbGF0Zm9ybUNvbnRleHQgbV9sYXll
ckNvbnRleHQ7Ci0jaWYgUExBVEZPUk0oUVQpCi0gICAgLy8gU3ViLXJlY3Qgb2YgbV9sYXllcklt
YWdlIHRoYXQgY29udGFpbnMgdGhlIHNoYWRvdyBwaXhlbHMuCi0gICAgRmxvYXRSZWN0IG1fc291
cmNlUmVjdDsKLSAgICAvLyBUb3AtbGVmdCBjb3JuZXIgb2YgdGhlIChwb3NzaWJseSBjbGlwcGVk
KSBib3VuZGluZyByZWN0IHRvIGRyYXcgdGhlIHNoYWRvdyB0by4KLSAgICBGbG9hdFBvaW50IG1f
bGF5ZXJPcmlnaW47Ci0gICAgLy8gVHJhbnNsYXRpb24gdG8gYXBwbHkgdG8gbV9sYXllckNvbnRl
eHQgZm9yIHRoZSBzaGFkb3cgdG8gYmUgY29ycmVjdGx5IGNsaXBwZWQuCi0gICAgRmxvYXRQb2lu
dCBtX2xheWVyQ29udGV4dFRyYW5zbGF0aW9uOwotI2VuZGlmCi0jaWYgUExBVEZPUk0oQ0FJUk8p
Ci0gICAgLy8gRW5jbG9zaW5nIGludCByZWN0IHdoZXJlIHNoYWRvdyBuZWVkcyB0byBiZSBkcmF3
biB0byB1c2luZyB0aGUgbGF5ZXIgY29udGV4dC4KLSAgICBJbnRSZWN0IG1fbGF5ZXJSZWN0Owor
CiAgICAgLy8gVXNlZCBmb3IgcmVmZXJlbmNlIHdoZW4gY2FudmFzIHNjYWxlKHgseSkgd2FzIGNh
bGxlZC4KICAgICBGbG9hdFJlY3QgbV91bnNjYWxlZExheWVyUmVjdDsKLSNlbmRpZgotICAgIGJv
b2wgbV9zaGFkb3dzSWdub3JlVHJhbnNmb3JtczsKIAogICAgIHZvaWQgYmx1ckxheWVySW1hZ2Uo
dW5zaWduZWQgY2hhciosIGNvbnN0IEludFNpemUmIGltYWdlU2l6ZSwgaW50IHN0cmlkZSk7Ci0j
aWYgUExBVEZPUk0oQ0FJUk8pCiAgICAgdm9pZCBjYWxjdWxhdGVMYXllckJvdW5kaW5nUmVjdChj
b25zdCBGbG9hdFJlY3QmIGxheWVyQXJlYSwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpOworI2lm
IFBMQVRGT1JNKENBSVJPKQogICAgIHZvaWQgZHJhd1JlY3RTaGFkb3dXaXRob3V0VGlsaW5nKFBs
YXRmb3JtQ29udGV4dCBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBzaGFkb3dSZWN0LCBjb25zdCBJ
bnRTaXplJiB0b3BMZWZ0UmFkaXVzLCBjb25zdCBJbnRTaXplJiB0b3BSaWdodFJhZGl1cywgY29u
c3QgSW50U2l6ZSYgYm90dG9tTGVmdFJhZGl1cywgY29uc3QgSW50U2l6ZSYgYm90dG9tUmlnaHRS
YWRpdXMsIGZsb2F0IGFscGhhKTsKLSNlbHNlCi0gICAgSW50UmVjdCBjYWxjdWxhdGVMYXllckJv
dW5kaW5nUmVjdChjb25zdCBQbGF0Zm9ybUNvbnRleHQsIGNvbnN0IEZsb2F0UmVjdCYgbGF5ZXJB
cmVhLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCk7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvQ29udGV4dFNoYWRvd1F0LmNwcCBiL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvQ29udGV4dFNoYWRvd1F0LmNwcAppbmRleCAxMzJlMTI5
OThiZGZhM2MzYTY5YTNkZTBkMTcyZmZlNDg1ZjYwOWUyLi5mN2M3MGY2OTViYzBmYzQyNTBjYzli
ZGMzNWU5ZDVlOGU2M2Y5NzQ0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3F0L0NvbnRleHRTaGFkb3dRdC5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9x
dC9Db250ZXh0U2hhZG93UXQuY3BwCkBAIC0xMTQsMjIgKzExNCwyNSBAQCBQbGF0Zm9ybUNvbnRl
eHQgQ29udGV4dFNoYWRvdzo6YmVnaW5TaGFkb3dMYXllcihQbGF0Zm9ybUNvbnRleHQgcCwgY29u
c3QgRmxvYXRSZQogICAgIGVsc2UKICAgICAgICAgY2xpcFJlY3QgPSBwLT50cmFuc2Zvcm0oKS5p
bnZlcnRlZCgpLm1hcFJlY3QocC0+d2luZG93KCkpOwogCi0gICAgLy8gU2V0IG1fbGF5ZXJPcmln
aW4sIG1fbGF5ZXJDb250ZXh0VHJhbnNsYXRpb24sIG1fc291cmNlUmVjdC4KLSAgICBJbnRSZWN0
IGNsaXAoY2xpcFJlY3QueCgpLCBjbGlwUmVjdC55KCksIGNsaXBSZWN0LndpZHRoKCksIGNsaXBS
ZWN0LmhlaWdodCgpKTsKLSAgICBJbnRSZWN0IGxheWVyUmVjdCA9IGNhbGN1bGF0ZUxheWVyQm91
bmRpbmdSZWN0KHAsIGxheWVyQXJlYSwgY2xpcCk7CisgICAgbV91bnNjYWxlZExheWVyUmVjdCA9
IGxheWVyQXJlYTsKKyAgICBjYWxjdWxhdGVMYXllckJvdW5kaW5nUmVjdChsYXllckFyZWEsIElu
dFJlY3QoY2xpcFJlY3QueCgpLCBjbGlwUmVjdC55KCksIGNsaXBSZWN0LndpZHRoKCksIGNsaXBS
ZWN0LmhlaWdodCgpKSk7CiAKICAgICAvLyBEb24ndCBwYWludCBpZiB3ZSBhcmUgdG90YWxseSBv
dXRzaWRlIHRoZSBjbGlwIHJlZ2lvbi4KLSAgICBpZiAobGF5ZXJSZWN0LmlzRW1wdHkoKSkKKyAg
ICBpZiAobV9sYXllclJlY3QuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gMDsKIAogICAgIFNo
YWRvd0J1ZmZlciogc2hhZG93QnVmZmVyID0gc2NyYXRjaFNoYWRvd0J1ZmZlcigpOwotICAgIFFJ
bWFnZSogc2hhZG93SW1hZ2UgPSBzaGFkb3dCdWZmZXItPnNjcmF0Y2hJbWFnZShsYXllclJlY3Qu
c2l6ZSgpKTsKKyAgICBRSW1hZ2UqIHNoYWRvd0ltYWdlID0gc2hhZG93QnVmZmVyLT5zY3JhdGNo
SW1hZ2UobV9sYXllclJlY3Quc2l6ZSgpKTsKICAgICBtX2xheWVySW1hZ2UgPSBRSW1hZ2UoKnNo
YWRvd0ltYWdlKTsKIAogICAgIG1fbGF5ZXJDb250ZXh0ID0gbmV3IFFQYWludGVyOwogICAgIG1f
bGF5ZXJDb250ZXh0LT5iZWdpbigmbV9sYXllckltYWdlKTsKICAgICBtX2xheWVyQ29udGV4dC0+
c2V0Rm9udChwLT5mb250KCkpOwotICAgIG1fbGF5ZXJDb250ZXh0LT50cmFuc2xhdGUobV9sYXll
ckNvbnRleHRUcmFuc2xhdGlvbik7CisgICAgbV9sYXllckNvbnRleHQtPnRyYW5zbGF0ZShtX29m
ZnNldC53aWR0aCgpLCBtX29mZnNldC5oZWlnaHQoKSk7CisKKyAgICAvLyBUaGUgb3JpZ2luIGlz
IG5vdyB0aGUgdG9wIGxlZnQgY29ybmVyIG9mIHRoZSBzY3JhdGNoIGltYWdlLgorICAgIG1fbGF5
ZXJDb250ZXh0LT50cmFuc2xhdGUoLW1fbGF5ZXJSZWN0LngoKSwgLW1fbGF5ZXJSZWN0LnkoKSk7
CisKICAgICByZXR1cm4gbV9sYXllckNvbnRleHQ7CiB9CiAKQEAgLTE1Miw3ICsxNTUsMTMgQEAg
dm9pZCBDb250ZXh0U2hhZG93OjplbmRTaGFkb3dMYXllcihQbGF0Zm9ybUNvbnRleHQgcCkKICAg
ICAgICAgcC5lbmQoKTsKICAgICB9CiAKLSAgICBwLT5kcmF3SW1hZ2UobV9sYXllck9yaWdpbiwg
bV9sYXllckltYWdlLCBtX3NvdXJjZVJlY3QpOworICAgIGNvbnN0IFFUcmFuc2Zvcm0gdHJhbnNm
b3JtID0gcC0+dHJhbnNmb3JtKCk7CisgICAgaWYgKHRyYW5zZm9ybS5pc1NjYWxpbmcoKSkgewor
ICAgICAgICBxcmVhbCB4ID0gbV91bnNjYWxlZExheWVyUmVjdC54KCkgKyBtX29mZnNldC53aWR0
aCgpICAvIHRyYW5zZm9ybS5tMTEoKSAtIG1fYmx1ckRpc3RhbmNlOworICAgICAgICBxcmVhbCB5
ID0gbV91bnNjYWxlZExheWVyUmVjdC55KCkgKyBtX29mZnNldC5oZWlnaHQoKSAvIHRyYW5zZm9y
bS5tMjIoKSAtIG1fYmx1ckRpc3RhbmNlOworICAgICAgICBwLT5kcmF3SW1hZ2UoUVBvaW50Rih4
LCB5KSwgbV9sYXllckltYWdlKTsKKyAgICB9IGVsc2UKKyAgICAgICAgcC0+ZHJhd0ltYWdlKG1f
bGF5ZXJSZWN0LnRvcExlZnQoKSwgbV9sYXllckltYWdlKTsKIAogICAgIHNjcmF0Y2hTaGFkb3dC
dWZmZXIoKS0+c2NoZWR1bGVQdXJnZSgpOwogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAgYi9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcAppbmRleCBkNWU3Y2NkMzZlMmMzZjQ1YWIz
YjkxYjc4NzFlMTg2MDJmYTUzYWU5Li4yZjhhOTFmYjNhNGQ5YmRkY2ViYjEwZjIwMDUwNGU2NGE1
NmRlNjM2IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3F0L0dyYXBoaWNz
Q29udGV4dFF0LmNwcApAQCAtNTMsNiArNTMsNyBAQAogI2luY2x1ZGUgIlRyYW5zcGFyZW5jeUxh
eWVyLmgiCiAKICNpbmNsdWRlIDxRQnJ1c2g+CisjaW5jbHVkZSA8UURlYnVnPgogI2luY2x1ZGUg
PFFHcmFkaWVudD4KICNpbmNsdWRlIDxRUGFpbnREZXZpY2U+CiAjaW5jbHVkZSA8UVBhaW50RW5n
aW5lPgpAQCAtMTc0LDIyICsxNzUsNiBAQCBzdGF0aWMgaW5saW5lIFF0OjpGaWxsUnVsZSB0b1F0
RmlsbFJ1bGUoV2luZFJ1bGUgcnVsZSkKICAgICByZXR1cm4gUXQ6Ok9kZEV2ZW5GaWxsOwogfQog
Ci1zdGF0aWMgaW5saW5lIGJvb2wgbXVzdFVzZUNvbnRleHRTaGFkb3coUVBhaW50ZXIqIHBhaW50
ZXIsIENvbnRleHRTaGFkb3cqIHNoYWRvdykKLXsKLSAgICBpZiAoc2hhZG93LT5tX3R5cGUgPT0g
Q29udGV4dFNoYWRvdzo6Qmx1clNoYWRvdykKLSAgICAgICAgLy8gV2UgY2FuJ3QgYXZvaWQgQ29u
dGV4dFNoYWRvdywgc2luY2UgdGhlIHNoYWRvdyBoYXMgYmx1ci4KLSAgICAgICAgcmV0dXJuIHRy
dWU7Ci0gICAgaWYgKCFzaGFkb3ctPnNoYWRvd3NJZ25vcmVUcmFuc2Zvcm1zKCkpCi0gICAgICAg
IC8vIFdlIGNhbiBhdm9pZCBDb250ZXh0U2hhZG93IGFuZCBvcHRpbWl6ZSwgc2luY2Ugd2UncmUg
bm90IGRyYXdpbmcgb24gYSBjYW52YXMgYW5kIGJveAotICAgICAgICAvLyBzaGFkb3dzIGFyZSBh
ZmZlY3RlZCBieSB0aGUgdHJhbnNmb3JtYXRpb24gbWF0cml4LgotICAgICAgICByZXR1cm4gZmFs
c2U7Ci0gICAgaWYgKHBhaW50ZXItPnRyYW5zZm9ybSgpLmlzSWRlbnRpdHkoKSkKLSAgICAgICAg
Ly8gV2UgY2FuIGF2b2lkIENvbnRleHRTaGFkb3csIHNpbmNlIHRoZXJlIGFyZSBubyB0cmFuc2Zv
cm1hdGlvbnMgdG8gYXBwbHkgdG8gdGhlIGNhbnZhcy4KLSAgICAgICAgcmV0dXJuIGZhbHNlOwot
ICAgIC8vIE90aGVyd2lzZSwgbm8gY2hhbmNlIGF2b2lkaW5nIENvbnRleHRTaGFkb3cuCi0gICAg
cmV0dXJuIHRydWU7Ci19Ci0KIGNsYXNzIEdyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZSA6
IHB1YmxpYyBOb25jb3B5YWJsZSB7CiBwdWJsaWM6CiAgICAgR3JhcGhpY3NDb250ZXh0UGxhdGZv
cm1Qcml2YXRlKFFQYWludGVyKiwgY29uc3QgUUNvbG9yJiBpbml0aWFsU29saWRDb2xvcik7CkBA
IC01MjEsMjAgKzUwNiwzMyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFBhdGgoY29uc3Qg
UGF0aCYgcGF0aCkKIAogICAgIGlmIChtX2RhdGEtPmhhc1NoYWRvdygpKSB7CiAgICAgICAgIENv
bnRleHRTaGFkb3cqIHNoYWRvdyA9IGNvbnRleHRTaGFkb3coKTsKLSAgICAgICAgaWYgKG11c3RV
c2VDb250ZXh0U2hhZG93KHAsIHNoYWRvdykgfHwgbV9zdGF0ZS5maWxsUGF0dGVybiB8fCBtX3N0
YXRlLmZpbGxHcmFkaWVudCkKKyAgICAgICAgaWYgKHNoYWRvdy0+bV90eXBlICE9IENvbnRleHRT
aGFkb3c6OkJsdXJTaGFkb3cKKyAgICAgICAgICAgICYmICFtX3N0YXRlLmZpbGxQYXR0ZXJuICYm
ICFtX3N0YXRlLmZpbGxHcmFkaWVudCkKICAgICAgICAgeworICAgICAgICAgICAgUVBvaW50RiBv
ZmZzZXQgPSBzaGFkb3ctPm9mZnNldCgpOworICAgICAgICAgICAgY29uc3QgUVRyYW5zZm9ybSYg
dHJhbnNmb3JtID0gcC0+dHJhbnNmb3JtKCk7CisgICAgICAgICAgICBpZiAodHJhbnNmb3JtLmlz
U2NhbGluZygpKSB7CisgICAgICAgICAgICAgICAgLy8gSWYgc2NhbGluZyBpcyByZXF1aXJlZCwg
ZmluZCB0aGUgbmV3IGNvb3JkIGZvciBzaGFkb3cgb3JpZ2luLAorICAgICAgICAgICAgICAgIC8v
IHNvIHRoYXQgdGhlIHJlbGF0aXZlIG9mZnNldCB0byBpdHMgc2hhcGUgaXMga2VwdC4KKyAgICAg
ICAgICAgICAgICBRUG9pbnRGIHRyYW5zbGF0ZWRPZmZzZXQob2Zmc2V0LngoKSAvIHRyYW5zZm9y
bS5tMTEoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0
LnkoKSAvIHRyYW5zZm9ybS5tMjIoKSk7CisgICAgICAgICAgICAgICAgcGxhdGZvcm1QYXRoLnRy
YW5zbGF0ZSh0cmFuc2xhdGVkT2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBwLT5maWxsUGF0aChw
bGF0Zm9ybVBhdGgsIFFDb2xvcihzaGFkb3ctPm1fY29sb3IpKTsKKyAgICAgICAgICAgICAgICBw
bGF0Zm9ybVBhdGgudHJhbnNsYXRlKC10cmFuc2xhdGVkT2Zmc2V0KTsKKyAgICAgICAgICAgIH0g
ZWxzZSB7CisgICAgICAgICAgICAgICAgcC0+dHJhbnNsYXRlKG9mZnNldCk7CisgICAgICAgICAg
ICAgICAgcC0+ZmlsbFBhdGgocGxhdGZvcm1QYXRoLCBRQ29sb3Ioc2hhZG93LT5tX2NvbG9yKSk7
CisgICAgICAgICAgICAgICAgcC0+dHJhbnNsYXRlKC1vZmZzZXQpOworICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUVBhaW50ZXIqIHNoYWRvd1BhaW50ZXIgPSBz
aGFkb3ctPmJlZ2luU2hhZG93TGF5ZXIocCwgcGxhdGZvcm1QYXRoLmNvbnRyb2xQb2ludFJlY3Qo
KSk7CiAgICAgICAgICAgICBpZiAoc2hhZG93UGFpbnRlcikgewogICAgICAgICAgICAgICAgIHNo
YWRvd1BhaW50ZXItPnNldENvbXBvc2l0aW9uTW9kZShRUGFpbnRlcjo6Q29tcG9zaXRpb25Nb2Rl
X1NvdXJjZSk7CiAgICAgICAgICAgICAgICAgc2hhZG93UGFpbnRlci0+ZmlsbFBhdGgocGxhdGZv
cm1QYXRoLCBRQ29sb3IobV9kYXRhLT5zaGFkb3cubV9jb2xvcikpOwogICAgICAgICAgICAgICAg
IHNoYWRvdy0+ZW5kU2hhZG93TGF5ZXIocCk7CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBRUG9pbnRGIG9mZnNldCA9IHNoYWRvdy0+b2Zmc2V0KCk7Ci0gICAg
ICAgICAgICBwLT50cmFuc2xhdGUob2Zmc2V0KTsKLSAgICAgICAgICAgIHAtPmZpbGxQYXRoKHBs
YXRmb3JtUGF0aCwgUUNvbG9yKHNoYWRvdy0+bV9jb2xvcikpOwotICAgICAgICAgICAgcC0+dHJh
bnNsYXRlKC1vZmZzZXQpOwogICAgICAgICB9CisKICAgICB9CiAgICAgaWYgKG1fc3RhdGUuZmls
bFBhdHRlcm4pIHsKICAgICAgICAgQWZmaW5lVHJhbnNmb3JtIGFmZmluZTsKQEAgLTU1OSw4ICs1
NTcsMjggQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnN0cm9rZVBhdGgoY29uc3QgUGF0aCYgcGF0
aCkKIAogICAgIGlmIChtX2RhdGEtPmhhc1NoYWRvdygpKSB7CiAgICAgICAgIENvbnRleHRTaGFk
b3cqIHNoYWRvdyA9IGNvbnRleHRTaGFkb3coKTsKLSAgICAgICAgaWYgKG11c3RVc2VDb250ZXh0
U2hhZG93KHAsIHNoYWRvdykgfHwgbV9zdGF0ZS5zdHJva2VQYXR0ZXJuIHx8IG1fc3RhdGUuc3Ry
b2tlR3JhZGllbnQpCisKKyAgICAgICAgaWYgKHNoYWRvdy0+bV90eXBlICE9IENvbnRleHRTaGFk
b3c6OkJsdXJTaGFkb3cKKyAgICAgICAgICAgICYmICFtX3N0YXRlLnN0cm9rZVBhdHRlcm4gJiYg
IW1fc3RhdGUuc3Ryb2tlR3JhZGllbnQpCiAgICAgICAgIHsKKyAgICAgICAgICAgIFFQZW4gc2hh
ZG93UGVuKHBlbik7CisgICAgICAgICAgICBzaGFkb3dQZW4uc2V0Q29sb3IobV9kYXRhLT5zaGFk
b3cubV9jb2xvcik7CisgICAgICAgICAgICBRUG9pbnRGIG9mZnNldCA9IHNoYWRvdy0+b2Zmc2V0
KCk7CisgICAgICAgICAgICBjb25zdCBRVHJhbnNmb3JtJiB0cmFuc2Zvcm0gPSBwLT50cmFuc2Zv
cm0oKTsKKyAgICAgICAgICAgIGlmICh0cmFuc2Zvcm0uaXNTY2FsaW5nKCkpIHsKKyAgICAgICAg
ICAgICAgICAvLyBJZiBzY2FsaW5nIGlzIHJlcXVpcmVkLCBmaW5kIHRoZSBuZXcgY29vcmQgZm9y
IHNoYWRvdyBvcmlnaW4sCisgICAgICAgICAgICAgICAgLy8gc28gdGhhdCB0aGUgcmVsYXRpdmUg
b2Zmc2V0IHRvIGl0cyBzaGFwZSBpcyBrZXB0LgorICAgICAgICAgICAgICAgIFFQb2ludEYgdHJh
bnNsYXRlZE9mZnNldChvZmZzZXQueCgpIC8gdHJhbnNmb3JtLm0xMSgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZzZXQueSgpIC8gdHJhbnNmb3JtLm0yMigp
KTsKKyAgICAgICAgICAgICAgICBwbGF0Zm9ybVBhdGgudHJhbnNsYXRlKHRyYW5zbGF0ZWRPZmZz
ZXQpOworICAgICAgICAgICAgICAgIHAtPnN0cm9rZVBhdGgocGxhdGZvcm1QYXRoLCBzaGFkb3dQ
ZW4pOworICAgICAgICAgICAgICAgIHBsYXRmb3JtUGF0aC50cmFuc2xhdGUoLXRyYW5zbGF0ZWRP
ZmZzZXQpOworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBwLT50cmFuc2xh
dGUob2Zmc2V0KTsKKyAgICAgICAgICAgICAgICBwLT5zdHJva2VQYXRoKHBsYXRmb3JtUGF0aCwg
c2hhZG93UGVuKTsKKyAgICAgICAgICAgICAgICBwLT50cmFuc2xhdGUoLW9mZnNldCk7CisgICAg
ICAgICAgICB9CisgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBGbG9hdFJlY3QgYm91bmRp
bmdSZWN0ID0gcGxhdGZvcm1QYXRoLmNvbnRyb2xQb2ludFJlY3QoKTsKICAgICAgICAgICAgIGJv
dW5kaW5nUmVjdC5pbmZsYXRlKHBlbi5taXRlckxpbWl0KCkgKyBwZW4ud2lkdGhGKCkpOwogICAg
ICAgICAgICAgUVBhaW50ZXIqIHNoYWRvd1BhaW50ZXIgPSBzaGFkb3ctPmJlZ2luU2hhZG93TGF5
ZXIocCwgYm91bmRpbmdSZWN0KTsKQEAgLTU2OSwxMyArNTg3LDYgQEAgdm9pZCBHcmFwaGljc0Nv
bnRleHQ6OnN0cm9rZVBhdGgoY29uc3QgUGF0aCYgcGF0aCkKICAgICAgICAgICAgICAgICBzaGFk
b3dQYWludGVyLT5zdHJva2VQYXRoKHBsYXRmb3JtUGF0aCwgcGVuKTsKICAgICAgICAgICAgICAg
ICBzaGFkb3ctPmVuZFNoYWRvd0xheWVyKHApOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgUVBlbiBzaGFkb3dQZW4ocGVuKTsKLSAgICAgICAgICAgIHNoYWRv
d1Blbi5zZXRDb2xvcihtX2RhdGEtPnNoYWRvdy5tX2NvbG9yKTsKLSAgICAgICAgICAgIFFQb2lu
dEYgb2Zmc2V0ID0gc2hhZG93LT5vZmZzZXQoKTsKLSAgICAgICAgICAgIHAtPnRyYW5zbGF0ZShv
ZmZzZXQpOwotICAgICAgICAgICAgcC0+c3Ryb2tlUGF0aChwbGF0Zm9ybVBhdGgsIHNoYWRvd1Bl
bik7Ci0gICAgICAgICAgICBwLT50cmFuc2xhdGUoLW9mZnNldCk7CiAgICAgICAgIH0KICAgICB9
CiAKQEAgLTY5NSw3ICs3MDYsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJlY3QoY29u
c3QgRmxvYXRSZWN0JiByZWN0KQogICAgICAgICBwLT5maWxsUmVjdChub3JtYWxpemVkUmVjdCwg
YnJ1c2gpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChtX2RhdGEtPmhhc1NoYWRvdygpKSB7
Ci0gICAgICAgICAgICBpZiAobXVzdFVzZUNvbnRleHRTaGFkb3cocCwgc2hhZG93KSkgeworICAg
ICAgICAgICAgaWYgKHNoYWRvdy0+bV90eXBlID09IENvbnRleHRTaGFkb3c6OkJsdXJTaGFkb3cp
IHsKICAgICAgICAgICAgICAgICBRUGFpbnRlciogc2hhZG93UGFpbnRlciA9IHNoYWRvdy0+YmVn
aW5TaGFkb3dMYXllcihwLCBub3JtYWxpemVkUmVjdCk7CiAgICAgICAgICAgICAgICAgaWYgKHNo
YWRvd1BhaW50ZXIpIHsKICAgICAgICAgICAgICAgICAgICAgc2hhZG93UGFpbnRlci0+c2V0T3Bh
Y2l0eShzdGF0aWNfY2FzdDxxcmVhbD4oc2hhZG93LT5tX2NvbG9yLmFscGhhKCkpIC8gMjU1KTsK
QEAgLTcwMywxMSArNzE0LDE3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25z
dCBGbG9hdFJlY3QmIHJlY3QpCiAgICAgICAgICAgICAgICAgICAgIHNoYWRvdy0+ZW5kU2hhZG93
TGF5ZXIocCk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg
ICAgICAgICAgICAvLyBTb2xpZCByZWN0YW5nbGUgZmlsbCB3aXRoIG5vIGJsdXIgc2hhZG93IG9y
IHRyYW5zZm9ybWF0aW9ucyBhcHBsaWVkIGNhbiBiZSBkb25lCi0gICAgICAgICAgICAgICAgLy8g
ZmFzdGVyIHdpdGhvdXQgdXNpbmcgdGhlIHNoYWRvdyBsYXllciBhdCBhbGwuCisgICAgICAgICAg
ICAgICAgLy8gU29saWQgcmVjdGFuZ2xlIGZpbGwgd2l0aCBubyBibHVyIHNoYWRvdyBjYW4gYmUg
ZG9uZSBmYXN0ZXIKKyAgICAgICAgICAgICAgICAvLyB3aXRob3V0IHVzaW5nIHRoZSBzaGFkb3cg
bGF5ZXIgYXQgYWxsLgogICAgICAgICAgICAgICAgIFFDb2xvciBzaGFkb3dDb2xvciA9IHNoYWRv
dy0+bV9jb2xvcjsKICAgICAgICAgICAgICAgICBzaGFkb3dDb2xvci5zZXRBbHBoYUYoc2hhZG93
Q29sb3IuYWxwaGFGKCkgKiBwLT5icnVzaCgpLmNvbG9yKCkuYWxwaGFGKCkpOwotICAgICAgICAg
ICAgICAgIHAtPmZpbGxSZWN0KG5vcm1hbGl6ZWRSZWN0LnRyYW5zbGF0ZWQoc2hhZG93LT5vZmZz
ZXQoKSksIHNoYWRvd0NvbG9yKTsKKyAgICAgICAgICAgICAgICBjb25zdCBRVHJhbnNmb3JtJiB0
cmFuc2Zvcm0gPSBwLT50cmFuc2Zvcm0oKTsKKyAgICAgICAgICAgICAgICBpZiAodHJhbnNmb3Jt
LmlzU2NhbGluZygpKSB7CisgICAgICAgICAgICAgICAgICAgIHAtPmZpbGxSZWN0KG5vcm1hbGl6
ZWRSZWN0LnRyYW5zbGF0ZWQoc3RhdGljX2Nhc3Q8cXJlYWw+KHNoYWRvdy0+b2Zmc2V0KCkueCgp
KSAvIHRyYW5zZm9ybS5tMTEoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBzdGF0aWNfY2FzdDxxcmVhbD4oc2hhZG93LT5vZmZzZXQo
KS55KCkgIC8gdHJhbnNmb3JtLm0yMigpKSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHNoYWRvd0NvbG9yKTsKKyAgICAgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAg
ICAgICAgcC0+ZmlsbFJlY3Qobm9ybWFsaXplZFJlY3QudHJhbnNsYXRlZChzaGFkb3ctPm9mZnNl
dCgpKSwgc2hhZG93Q29sb3IpOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAKQEAgLTcyNywx
NSArNzQ0LDE4IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG9hdFJl
Y3QmIHJlY3QsIGNvbnN0IENvbG9yJiBjb2xvciwgQ29sb3JTCiAKICAgICBpZiAobV9kYXRhLT5o
YXNTaGFkb3coKSkgewogICAgICAgICBDb250ZXh0U2hhZG93KiBzaGFkb3cgPSBjb250ZXh0U2hh
ZG93KCk7Ci0gICAgICAgIGlmIChtdXN0VXNlQ29udGV4dFNoYWRvdyhwLCBzaGFkb3cpKSB7CisK
KyAgICAgICAgaWYgKHNoYWRvdy0+bV90eXBlICE9IENvbnRleHRTaGFkb3c6OkJsdXJTaGFkb3cp
IHsKKyAgICAgICAgICAgIC8vIFdlIGRvIG5vdCBuZWVkIGFueSBsYXllciBmb3Igc2ltcGxlIHNo
YWRvdy4KKyAgICAgICAgICAgIHAtPmZpbGxSZWN0KG5vcm1hbGl6ZWRSZWN0LnRyYW5zbGF0ZWQo
c2hhZG93LT5vZmZzZXQoKSksIHNoYWRvdy0+bV9jb2xvcik7CisgICAgICAgIH0gZWxzZSB7CiAg
ICAgICAgICAgICBRUGFpbnRlciogc2hhZG93UGFpbnRlciA9IHNoYWRvdy0+YmVnaW5TaGFkb3dM
YXllcihwLCBub3JtYWxpemVkUmVjdCk7CiAgICAgICAgICAgICBpZiAoc2hhZG93UGFpbnRlcikg
ewogICAgICAgICAgICAgICAgIHNoYWRvd1BhaW50ZXItPnNldENvbXBvc2l0aW9uTW9kZShRUGFp
bnRlcjo6Q29tcG9zaXRpb25Nb2RlX1NvdXJjZSk7CiAgICAgICAgICAgICAgICAgc2hhZG93UGFp
bnRlci0+ZmlsbFJlY3Qobm9ybWFsaXplZFJlY3QsIHNoYWRvdy0+bV9jb2xvcik7CiAgICAgICAg
ICAgICAgICAgc2hhZG93LT5lbmRTaGFkb3dMYXllcihwKTsKICAgICAgICAgICAgIH0KLSAgICAg
ICAgfSBlbHNlCi0gICAgICAgICAgICBwLT5maWxsUmVjdChub3JtYWxpemVkUmVjdC50cmFuc2xh
dGVkKHNoYWRvdy0+b2Zmc2V0KCkpLCBzaGFkb3ctPm1fY29sb3IpOworICAgICAgICB9CiAgICAg
fQogCiAgICAgcC0+ZmlsbFJlY3Qobm9ybWFsaXplZFJlY3QsIG1fZGF0YS0+c29saWRDb2xvcik7
CkBAIC03NTEsMTcgKzc3MSwxOSBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6ZmlsbFJvdW5kZWRS
ZWN0KGNvbnN0IEludFJlY3QmIHJlY3QsIGNvbnN0IEludFNpemUmIHRvcExlZgogICAgIFFQYWlu
dGVyKiBwID0gbV9kYXRhLT5wKCk7CiAgICAgaWYgKG1fZGF0YS0+aGFzU2hhZG93KCkpIHsKICAg
ICAgICAgQ29udGV4dFNoYWRvdyogc2hhZG93ID0gY29udGV4dFNoYWRvdygpOwotICAgICAgICBp
ZiAobXVzdFVzZUNvbnRleHRTaGFkb3cocCwgc2hhZG93KSkgeworCisgICAgICAgIGlmIChzaGFk
b3ctPm1fdHlwZSAhPSBDb250ZXh0U2hhZG93OjpCbHVyU2hhZG93KSB7CisgICAgICAgICAgICAv
LyBXZSBkbyBub3QgbmVlZCBhbnkgbGF5ZXIgZm9yIHNpbXBsZSBzaGFkb3cuCisgICAgICAgICAg
ICBwLT50cmFuc2xhdGUobV9kYXRhLT5zaGFkb3cub2Zmc2V0KCkpOworICAgICAgICAgICAgcC0+
ZmlsbFBhdGgocGF0aC5wbGF0Zm9ybVBhdGgoKSwgUUNvbG9yKG1fZGF0YS0+c2hhZG93Lm1fY29s
b3IpKTsKKyAgICAgICAgICAgIHAtPnRyYW5zbGF0ZSgtbV9kYXRhLT5zaGFkb3cub2Zmc2V0KCkp
OworICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgUVBhaW50ZXIqIHNoYWRvd1BhaW50ZXIg
PSBzaGFkb3ctPmJlZ2luU2hhZG93TGF5ZXIocCwgcmVjdCk7CiAgICAgICAgICAgICBpZiAoc2hh
ZG93UGFpbnRlcikgewogICAgICAgICAgICAgICAgIHNoYWRvd1BhaW50ZXItPnNldENvbXBvc2l0
aW9uTW9kZShRUGFpbnRlcjo6Q29tcG9zaXRpb25Nb2RlX1NvdXJjZSk7CiAgICAgICAgICAgICAg
ICAgc2hhZG93UGFpbnRlci0+ZmlsbFBhdGgocGF0aC5wbGF0Zm9ybVBhdGgoKSwgUUNvbG9yKG1f
ZGF0YS0+c2hhZG93Lm1fY29sb3IpKTsKICAgICAgICAgICAgICAgICBzaGFkb3ctPmVuZFNoYWRv
d0xheWVyKHApOwogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
cC0+dHJhbnNsYXRlKG1fZGF0YS0+c2hhZG93Lm9mZnNldCgpKTsKLSAgICAgICAgICAgIHAtPmZp
bGxQYXRoKHBhdGgucGxhdGZvcm1QYXRoKCksIFFDb2xvcihtX2RhdGEtPnNoYWRvdy5tX2NvbG9y
KSk7Ci0gICAgICAgICAgICBwLT50cmFuc2xhdGUoLW1fZGF0YS0+c2hhZG93Lm9mZnNldCgpKTsK
ICAgICAgICAgfQogICAgIH0KICAgICBwLT5maWxsUGF0aChwYXRoLnBsYXRmb3JtUGF0aCgpLCBR
Q29sb3IoY29sb3IpKTsKQEAgLTkzMSwxMCArOTUzLDkgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6
OnNldFBsYXRmb3JtU2hhZG93KGNvbnN0IEZsb2F0U2l6ZSYgc2l6ZSwgZmxvYXQgYmx1ciwgY29u
c3QKICAgICAgICAgLy8gV2UgZmxpcCB0aGUgaGVpZ2h0IHNpbmNlIENHIGFuZCBIVE1MNSBDYW52
YXMgaGF2ZSBvcHBvc2l0ZSBZIGF4aXMKICAgICAgICAgbV9zdGF0ZS5zaGFkb3dPZmZzZXQgPSBG
bG9hdFNpemUoc2l6ZS53aWR0aCgpLCAtc2l6ZS5oZWlnaHQoKSk7CiAgICAgICAgIG1fZGF0YS0+
c2hhZG93ID0gQ29udGV4dFNoYWRvdyhjb2xvciwgYmx1ciwgRmxvYXRTaXplKHNpemUud2lkdGgo
KSwgLXNpemUuaGVpZ2h0KCkpKTsKLSAgICB9IGVsc2UKKyAgICB9IGVsc2UgewogICAgICAgICBt
X2RhdGEtPnNoYWRvdyA9IENvbnRleHRTaGFkb3coY29sb3IsIGJsdXIsIEZsb2F0U2l6ZShzaXpl
LndpZHRoKCksIHNpemUuaGVpZ2h0KCkpKTsKLQotICAgIG1fZGF0YS0+c2hhZG93LnNldFNoYWRv
d3NJZ25vcmVUcmFuc2Zvcm1zKG1fc3RhdGUuc2hhZG93c0lnbm9yZVRyYW5zZm9ybXMpOworICAg
IH0KIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OmNsZWFyUGxhdGZvcm1TaGFkb3coKQo=
</data>
<flag name="review"
          id="67764"
          type_id="1"
          status="+"
          setter="xan.lopez"
    />
    <flag name="commit-queue"
          id="67757"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>