<?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>96102</bug_id>
          
          <creation_ts>2012-09-07 06:54:35 -0700</creation_ts>
          <short_desc>REGRESSION(r127780): &quot;inspector/styles/protocol-css-regions-commands.html crashing on Chromium Linux Debug and timing out flakily on Release&quot; (Requested by apavlov on #webkit).</short_desc>
          <delta_ts>2012-09-07 06:59:55 -0700</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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>93443</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>apavlov</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>714470</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 06:54:35 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/127780 broke the build:
&quot;inspector/styles/protocol-css-regions-commands.html crashing on Chromium Linux Debug and timing out flakily on Release&quot; (Requested by apavlov 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>714473</commentid>
    <comment_count>1</comment_count>
      <attachid>162759</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-09-07 06:55:15 -0700</bug_when>
    <thetext>Created attachment 162759
ROLLOUT of r127780

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

where ATTACHMENT_ID is the ID of this attachment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714475</commentid>
    <comment_count>2</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-07 06:56:54 -0700</bug_when>
    <thetext>The related reference link to the Chromium test flakiness dashboard is: http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&amp;tests=inspector%2Fstyles%2Fprotocol-css-regions-commands.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714479</commentid>
    <comment_count>3</comment_count>
      <attachid>162759</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-07 06:59:50 -0700</bug_when>
    <thetext>Comment on attachment 162759
ROLLOUT of r127780

Clearing flags on attachment: 162759

Committed r127867: &lt;http://trac.webkit.org/changeset/127867&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>714480</commentid>
    <comment_count>4</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2012-09-07 06:59:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>162759</attachid>
            <date>2012-09-07 06:55:15 -0700</date>
            <delta_ts>2012-09-07 06:59:50 -0700</delta_ts>
            <desc>ROLLOUT of r127780</desc>
            <filename>bug-96102-20120907140138.patch</filename>
            <type>text/plain</type>
            <size>42323</size>
            <attacher name="WebKit Review Bot">webkit.review.bot</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI3ODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjYwZDMxODY1ODBjNDZk
ODBhZDMxODA0ZTA3NGNlOTY2Y2VjOGIyZC4uMDhiMzQ2NmQwMjYwMzlmNmE3NmExNDcxMWEyZDc3
YjdlZjFkZWNhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEyLTA5LTA3ICBTaGVy
aWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KKworICAgICAgICBVbnJldmll
d2VkLCByb2xsaW5nIG91dCByMTI3NzgwIGFuZCByMTI3ODU5LgorICAgICAgICBodHRwOi8vdHJh
Yy53ZWJraXQub3JnL2NoYW5nZXNldC8xMjc3ODAKKyAgICAgICAgaHR0cDovL3RyYWMud2Via2l0
Lm9yZy9jaGFuZ2VzZXQvMTI3ODU5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD05NjEwMgorCisgICAgICAgICJpbnNwZWN0b3Ivc3R5bGVzL3Byb3RvY29s
LWNzcy1yZWdpb25zLWNvbW1hbmRzLmh0bWwgY3Jhc2hpbmcKKyAgICAgICAgb24gQ2hyb21pdW0g
TGludXggRGVidWcgYW5kIHRpbWluZyBvdXQgZmxha2lseSBvbiBSZWxlYXNlIgorICAgICAgICAo
UmVxdWVzdGVkIGJ5IGFwYXZsb3Ygb24gI3dlYmtpdCkuCisKKyAgICAgICAgKiBkb20vTmFtZWRG
bG93Q29sbGVjdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpOYW1lZEZsb3dDb2xsZWN0aW9u
OjplbnN1cmVGbG93V2l0aE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6TmFtZWRGbG93Q29sbGVj
dGlvbjo6ZGlzY2FyZE5hbWVkRmxvdyk6CisgICAgICAgICogaW5zcGVjdG9yL0luc3BlY3Rvci5q
c29uOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpJbnNwZWN0b3JDU1NBZ2VudDo6cmVzZXQpOgorICAgICAgICAoV2ViQ29yZTo6
SW5zcGVjdG9yQ1NTQWdlbnQ6OmRpZENyZWF0ZU5hbWVkRmxvdyk6CisgICAgICAgIChXZWJDb3Jl
OjpJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkUmVtb3ZlTmFtZWRGbG93KToKKyAgICAgICAgKFdlYkNv
cmU6Okluc3BlY3RvckNTU0FnZW50OjpnZXROYW1lZEZsb3dDb2xsZWN0aW9uKToKKyAgICAgICAg
KFdlYkNvcmU6Okluc3BlY3RvckNTU0FnZW50OjpnZXRGbG93QnlOYW1lKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgIChJbnNwZWN0b3JDU1NBZ2VudCk6CisgICAgICAgICogaW5z
cGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHA6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6Okluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6ZGlkQ3JlYXRlTmFt
ZWRGbG93SW1wbCk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246
OmRpZFJlbW92ZU5hbWVkRmxvd0ltcGwpOgorICAgICAgICAqIGluc3BlY3Rvci9JbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb24uaDoKKyAgICAgICAgKEluc3BlY3Rvckluc3RydW1lbnRhdGlvbik6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZU5hbWVk
Rmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJl
bW92ZU5hbWVkRmxvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9DU1NTdHlsZU1v
ZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlLmdldE5hbWVkRmxvd0NvbGxlY3Rp
b25Bc3luYyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUu
Z2V0Rmxvd0J5TmFtZUFzeW5jKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVs
LnByb3RvdHlwZS5fbmFtZWRGbG93Q3JlYXRlZC5jYWxsYmFjayk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUuX25hbWVkRmxvd0NyZWF0ZWQpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwucHJvdG90eXBlLl9uYW1lZEZsb3dSZW1vdmVk
LmNhbGxiYWNrKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlw
ZS5fbmFtZWRGbG93UmVtb3ZlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NTRGlzcGF0Y2hl
ci5wcm90b3R5cGUubmFtZWRGbG93Q3JlYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ1NT
RGlzcGF0Y2hlci5wcm90b3R5cGUubmFtZWRGbG93UmVtb3ZlZCk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmFtZWRGbG93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5OYW1lZEZsb3cucGFyc2VQ
YXlsb2FkQXJyYXkpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJOYW1lZEZsb3dUaHJlYWQu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRjaFJl
Z2lvbkxheW91dFVwZGF0ZUV2ZW50KToKKwogMjAxMi0wOS0wNyAgU2FtaSBLeW9zdGlsYSAgPHNr
eW9zdGlsQGdvb2dsZS5jb20+CiAKICAgICAgICAgW2Nocm9taXVtXSBEeW5hbWljYWxseSByZW1v
dmluZyBwcmVzZXJ2ZS0zZCBmcm9tIGEgbGF5ZXIgaGFzIG5vIGVmZmVjdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL05hbWVkRmxvd0NvbGxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvZG9tL05hbWVkRmxvd0NvbGxlY3Rpb24uY3BwCmluZGV4IDU1NDc1MDYyNmQwM2Q3MWE3YjVk
MjE5NDY1ZDlkODg0ZjhiMDZjMTIuLjE1ODhmYzZjMDM3NzQ3MzllYjU4YmZlMTE2N2UwMTkyOTkw
MWFlMjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9OYW1lZEZsb3dDb2xsZWN0aW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vTmFtZWRGbG93Q29sbGVjdGlvbi5jcHAKQEAg
LTgxLDcgKzgxLDcgQEAgUGFzc1JlZlB0cjxXZWJLaXROYW1lZEZsb3c+IE5hbWVkRmxvd0NvbGxl
Y3Rpb246OmVuc3VyZUZsb3dXaXRoTmFtZShjb25zdCBTdHJpbmcKICAgICBSZWZQdHI8V2ViS2l0
TmFtZWRGbG93PiBuZXdGbG93ID0gV2ViS2l0TmFtZWRGbG93OjpjcmVhdGUodGhpcywgZmxvd05h
bWUpOwogICAgIG1fbmFtZWRGbG93cy5hZGQobmV3Rmxvdy5nZXQoKSk7CiAKLSAgICBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZU5hbWVkRmxvdyhtX2RvY3VtZW50LCBuZXdGbG93
LmdldCgpKTsKKyAgICBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0ZU5hbWVkRmxv
dyhtX2RvY3VtZW50LCBuZXdGbG93LT5uYW1lKCkpOwogCiAgICAgcmV0dXJuIG5ld0Zsb3cucmVs
ZWFzZSgpOwogfQpAQCAtOTUsOSArOTUsOSBAQCB2b2lkIE5hbWVkRmxvd0NvbGxlY3Rpb246OmRp
c2NhcmROYW1lZEZsb3coV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCiAgICAgQVNTRVJUKG5h
bWVkRmxvdy0+Zmxvd1N0YXRlKCkgPT0gV2ViS2l0TmFtZWRGbG93OjpGbG93U3RhdGVOdWxsKTsK
ICAgICBBU1NFUlQobV9uYW1lZEZsb3dzLmNvbnRhaW5zKG5hbWVkRmxvdykpOwogCi0gICAgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVtb3ZlTmFtZWRGbG93KG1fZG9jdW1lbnQsIG5h
bWVkRmxvdyk7Ci0KICAgICBtX25hbWVkRmxvd3MucmVtb3ZlKG5hbWVkRmxvdyk7CisKKyAgICBJ
bnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFJlbW92ZU5hbWVkRmxvdyhtX2RvY3VtZW50LCBu
YW1lZEZsb3ctPm5hbWUoKSk7CiB9CiAKIHZvaWQgTmFtZWRGbG93Q29sbGVjdGlvbjo6ZG9jdW1l
bnREZXN0cm95ZWQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3Rvci5qc29uIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvci5qc29uCmluZGV4
IGY5OGVhMzNiYmIzN2JhN2VlMmEzNjIwMWY2N2ZkNDU5ZTVhYjc2OWYuLjgxODRjYzAwODgyYTAz
ZGEzOWI4ODdhYjRmNzY5MTMwNTU2ZDMzZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9JbnNwZWN0b3IuanNvbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9yLmpzb24KQEAgLTIzMzksNiArMjMzOSwxOCBAQAogICAgICAgICAgICAgICAgIF0sCiAg
ICAgICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlJldHVybnMgdGhlIE5hbWVkIEZsb3dzIGZy
b20gdGhlIGRvY3VtZW50LiIsCiAgICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKKyAgICAg
ICAgICAgIH0sCisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgIm5hbWUiOiAiZ2V0Rmxv
d0J5TmFtZSIsCisgICAgICAgICAgICAgICAgInBhcmFtZXRlcnMiOiBbCisgICAgICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiZG9jdW1lbnROb2RlSWQiLCAiJHJlZiI6ICJET00uTm9kZUlkIiwg
ImRlc2NyaXB0aW9uIjogIlRoZSBkb2N1bWVudCBub2RlIGlkLiIgfSwKKyAgICAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJuYW1lIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjog
Ik5hbWVkIEZsb3cgaWRlbnRpZmllci4iIH0KKyAgICAgICAgICAgICAgICBdLAorICAgICAgICAg
ICAgICAgICJyZXR1cm5zIjogWworICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5hbWVk
RmxvdyIsICIkcmVmIjogIk5hbWVkRmxvdyIsICJkZXNjcmlwdGlvbiI6ICJBIE5hbWVkIEZsb3cu
IiB9CisgICAgICAgICAgICAgICAgXSwKKyAgICAgICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAi
UmV0dXJucyB0aGUgTmFtZWQgRmxvdyBpZGVudGlmaWVkIGJ5IHRoZSBnaXZlbiBuYW1lIiwKKyAg
ICAgICAgICAgICAgICAiaGlkZGVuIjogdHJ1ZQogICAgICAgICAgICAgfQogICAgICAgICBdLAog
ICAgICAgICAiZXZlbnRzIjogWwpAQCAtMjM1Niw3ICsyMzY4LDggQEAKICAgICAgICAgICAgIHsK
ICAgICAgICAgICAgICAgICAibmFtZSI6ICJuYW1lZEZsb3dDcmVhdGVkIiwKICAgICAgICAgICAg
ICAgICAicGFyYW1ldGVycyI6IFsKLSAgICAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJuYW1l
ZEZsb3ciLCAiJHJlZiI6ICJOYW1lZEZsb3ciLCAiZGVzY3JpcHRpb24iOiAiVGhlIG5ldyBOYW1l
ZCBGbG93LiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRvY3VtZW50Tm9kZUlk
IiwgIiRyZWYiOiAiRE9NLk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJUaGUgZG9jdW1lbnQgbm9k
ZSBpZC4iIH0sCisgICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAibmFtZWRGbG93IiwgInR5
cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjogIklkZW50aWZpZXIgb2YgdGhlIG5ldyBOYW1l
ZCBGbG93LiIgfQogICAgICAgICAgICAgICAgIF0sCiAgICAgICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkZpcmVzIHdoZW4gYSBOYW1lZCBGbG93IGlzIGNyZWF0ZWQuIiwKICAgICAgICAgICAg
ICAgICAiaGlkZGVuIjogdHJ1ZQpAQCAtMjM2NSwxOCArMjM3OCwxMCBAQAogICAgICAgICAgICAg
ICAgICJuYW1lIjogIm5hbWVkRmxvd1JlbW92ZWQiLAogICAgICAgICAgICAgICAgICJwYXJhbWV0
ZXJzIjogWwogICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRvY3VtZW50Tm9kZUlkIiwg
IiRyZWYiOiAiRE9NLk5vZGVJZCIsICJkZXNjcmlwdGlvbiI6ICJUaGUgZG9jdW1lbnQgbm9kZSBp
ZC4iIH0sCi0gICAgICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZmxvd05hbWUiLCAidHlwZSI6
ICJzdHJpbmciLCAiZGVzY3JpcHRpb24iOiAiSWRlbnRpZmllciBvZiB0aGUgcmVtb3ZlZCBOYW1l
ZCBGbG93LiIgfQorICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5hbWVkRmxvdyIsICJ0
eXBlIjogInN0cmluZyIsICJkZXNjcmlwdGlvbiI6ICJJZGVudGlmaWVyIG9mIHRoZSByZW1vdmVk
IE5hbWVkIEZsb3cuIiB9CiAgICAgICAgICAgICAgICAgXSwKICAgICAgICAgICAgICAgICAiZGVz
Y3JpcHRpb24iOiAiRmlyZXMgd2hlbiBhIE5hbWVkIEZsb3cgaXMgcmVtb3ZlZDogaGFzIG5vIGFz
c29jaWF0ZWQgY29udGVudCBub2RlcyBhbmQgcmVnaW9ucy4iLAogICAgICAgICAgICAgICAgICJo
aWRkZW4iOiB0cnVlCi0gICAgICAgICAgICB9LAotICAgICAgICAgICAgewotICAgICAgICAgICAg
ICAgICJuYW1lIjogInJlZ2lvbkxheW91dFVwZGF0ZWQiLAotICAgICAgICAgICAgICAgICJwYXJh
bWV0ZXJzIjogWwotICAgICAgICAgICAgICAgICAgICB7ICJuYW1lIjogIm5hbWVkRmxvdyIsICIk
cmVmIjogIk5hbWVkRmxvdyIsICJkZXNjcmlwdGlvbiI6ICJUaGUgTmFtZWQgRmxvdyB3aG9zZSBs
YXlvdXQgbWF5IGhhdmUgY2hhbmdlZC4iIH0KLSAgICAgICAgICAgICAgICBdLAotICAgICAgICAg
ICAgICAgICJkZXNjcmlwdGlvbiI6ICJGaXJlcyB3aGVuIGEgTmFtZWQgRmxvdydzIGxheW91dCBt
YXkgaGF2ZSBjaGFuZ2VkLiIsCi0gICAgICAgICAgICAgICAgImhpZGRlbiI6IHRydWUKICAgICAg
ICAgICAgIH0KICAgICAgICAgXQogICAgIH0sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckNTU0FnZW50LmNwcAppbmRleCBiZGFjZmNiZGViZTA2MTdhZGQ4NmE4NDJiMzJl
MzIyOWNkOGViMjczLi4yNGM3MTk3YjZlZWI2MGIzMTc2MzcwZDU1MzRlZjQ2ZDEzYjRlYmRmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ1NTQWdlbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5jcHAKQEAg
LTIyNiw0MiArMjI2LDYgQEAgUGFzc1JlZlB0cjxUeXBlQnVpbGRlcjo6Q1NTOjpTZWxlY3RvclBy
b2ZpbGU+IFNlbGVjdG9yUHJvZmlsZTo6dG9JbnNwZWN0b3JPYmplY3QKICAgICByZXR1cm4gcmVz
dWx0LnJlbGVhc2UoKTsKIH0KIAotY2xhc3MgVXBkYXRlUmVnaW9uTGF5b3V0VGFzayB7Ci1wdWJs
aWM6Ci0gICAgVXBkYXRlUmVnaW9uTGF5b3V0VGFzayhJbnNwZWN0b3JDU1NBZ2VudCopOwotICAg
IHZvaWQgc2NoZWR1bGVGb3IoV2ViS2l0TmFtZWRGbG93KiwgaW50IGRvY3VtZW50Tm9kZUlkKTsK
LSAgICB2b2lkIHJlc2V0KCkgeyBtX3RpbWVyLnN0b3AoKTsgfQotICAgIHZvaWQgb25UaW1lcihU
aW1lcjxVcGRhdGVSZWdpb25MYXlvdXRUYXNrPiopOwotCi1wcml2YXRlOgotICAgIEluc3BlY3Rv
ckNTU0FnZW50KiBtX2Nzc0FnZW50OwotICAgIFRpbWVyPFVwZGF0ZVJlZ2lvbkxheW91dFRhc2s+
IG1fdGltZXI7Ci0gICAgSGFzaE1hcDxXZWJLaXROYW1lZEZsb3cqLCBpbnQ+IG1fbmFtZWRGbG93
czsKLX07Ci0KLVVwZGF0ZVJlZ2lvbkxheW91dFRhc2s6OlVwZGF0ZVJlZ2lvbkxheW91dFRhc2so
SW5zcGVjdG9yQ1NTQWdlbnQqIGNzc0FnZW50KQotICAgIDogbV9jc3NBZ2VudChjc3NBZ2VudCkK
LSAgICAsIG1fdGltZXIodGhpcywgJlVwZGF0ZVJlZ2lvbkxheW91dFRhc2s6Om9uVGltZXIpCi17
Ci19Ci0KLXZvaWQgVXBkYXRlUmVnaW9uTGF5b3V0VGFzazo6c2NoZWR1bGVGb3IoV2ViS2l0TmFt
ZWRGbG93KiBuYW1lZEZsb3csIGludCBkb2N1bWVudE5vZGVJZCkKLXsKLSAgICBtX25hbWVkRmxv
d3MuYWRkKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQpOwotCi0gICAgaWYgKCFtX3RpbWVyLmlz
QWN0aXZlKCkpCi0gICAgICAgIG1fdGltZXIuc3RhcnRPbmVTaG90KDApOwotfQotCi12b2lkIFVw
ZGF0ZVJlZ2lvbkxheW91dFRhc2s6Om9uVGltZXIoVGltZXI8VXBkYXRlUmVnaW9uTGF5b3V0VGFz
az4qKQotewotICAgIC8vIFRoZSB0aW1lciBpcyBzdG9wcGVkIG9uIG1fY3NzQWdlbnQgZGVzdHJ1
Y3Rpb24sIHNvIHRoaXMgbWV0aG9kIHdpbGwgbmV2ZXIgYmUgY2FsbGVkIGFmdGVyIG1fY3NzQWdl
bnQgaGFzIGJlZW4gZGVzdHJveWVkLgotICAgIGZvciAoSGFzaE1hcDxXZWJLaXROYW1lZEZsb3cq
LCBpbnQ+OjppdGVyYXRvciBpdCA9IG1fbmFtZWRGbG93cy5iZWdpbigpLCBlbmQgPSBtX25hbWVk
Rmxvd3MuZW5kKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgbV9jc3NBZ2VudC0+cmVnaW9u
TGF5b3V0VXBkYXRlZChpdC0+Zmlyc3QsIGl0LT5zZWNvbmQpOwotCi0gICAgbV9uYW1lZEZsb3dz
LmNsZWFyKCk7Ci19Ci0KIGNsYXNzIEluc3BlY3RvckNTU0FnZW50OjpTdHlsZVNoZWV0QWN0aW9u
IDogcHVibGljIEluc3BlY3Rvckhpc3Rvcnk6OkFjdGlvbiB7CiAgICAgV1RGX01BS0VfTk9OQ09Q
WUFCTEUoU3R5bGVTaGVldEFjdGlvbik7CiBwdWJsaWM6CkBAIC01NTQsOCArNTE4LDYgQEAgdm9p
ZCBJbnNwZWN0b3JDU1NBZ2VudDo6cmVzZXQoKQogICAgIG1fbm9kZVRvSW5zcGVjdG9yU3R5bGVT
aGVldC5jbGVhcigpOwogICAgIG1fZG9jdW1lbnRUb0luc3BlY3RvclN0eWxlU2hlZXQuY2xlYXIo
KTsKICAgICBtX25hbWVkRmxvd0NvbGxlY3Rpb25zUmVxdWVzdGVkLmNsZWFyKCk7Ci0gICAgaWYg
KG1fdXBkYXRlUmVnaW9uTGF5b3V0VGFzaykKLSAgICAgICAgbV91cGRhdGVSZWdpb25MYXlvdXRU
YXNrLT5yZXNldCgpOwogICAgIHJlc2V0UHNldWRvU3RhdGVzKCk7CiB9CiAKQEAgLTU3NSw0MyAr
NTM3LDIyIEBAIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6Om1lZGlhUXVlcnlSZXN1bHRDaGFuZ2Vk
KCkKICAgICAgICAgbV9mcm9udGVuZC0+bWVkaWFRdWVyeVJlc3VsdENoYW5nZWQoKTsKIH0KIAot
dm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkQ3JlYXRlTmFtZWRGbG93KERvY3VtZW50KiBkb2N1
bWVudCwgV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCit2b2lkIEluc3BlY3RvckNTU0FnZW50
OjpkaWRDcmVhdGVOYW1lZEZsb3coRG9jdW1lbnQqIGRvY3VtZW50LCBjb25zdCBBdG9taWNTdHJp
bmcmIG5hbWUpCiB7Ci0gICAgaW50IGRvY3VtZW50Tm9kZUlkID0gZG9jdW1lbnROb2RlV2l0aFJl
cXVlc3RlZEZsb3dzSWQoZG9jdW1lbnQpOwotICAgIGlmICghZG9jdW1lbnROb2RlSWQpCisgICAg
aW50IG5vZGVJZCA9IG1fZG9tQWdlbnQtPmJvdW5kTm9kZUlkKGRvY3VtZW50KTsKKyAgICBpZiAo
IW5vZGVJZCB8fCAhbV9uYW1lZEZsb3dDb2xsZWN0aW9uc1JlcXVlc3RlZC5jb250YWlucyhub2Rl
SWQpKQogICAgICAgICByZXR1cm47CiAKLSAgICBFcnJvclN0cmluZyBlcnJvclN0cmluZzsKLSAg
ICBtX2Zyb250ZW5kLT5uYW1lZEZsb3dDcmVhdGVkKGJ1aWxkT2JqZWN0Rm9yTmFtZWRGbG93KCZl
cnJvclN0cmluZywgbmFtZWRGbG93LCBkb2N1bWVudE5vZGVJZCkpOworICAgIG1fZnJvbnRlbmQt
Pm5hbWVkRmxvd0NyZWF0ZWQobm9kZUlkLCBuYW1lLnN0cmluZygpKTsKIH0KIAotdm9pZCBJbnNw
ZWN0b3JDU1NBZ2VudDo6d2lsbFJlbW92ZU5hbWVkRmxvdyhEb2N1bWVudCogZG9jdW1lbnQsIFdl
YktpdE5hbWVkRmxvdyogbmFtZWRGbG93KQordm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6ZGlkUmVt
b3ZlTmFtZWRGbG93KERvY3VtZW50KiBkb2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1l
KQogewotICAgIGludCBkb2N1bWVudE5vZGVJZCA9IGRvY3VtZW50Tm9kZVdpdGhSZXF1ZXN0ZWRG
bG93c0lkKGRvY3VtZW50KTsKLSAgICBpZiAoIWRvY3VtZW50Tm9kZUlkKQorICAgIGludCBub2Rl
SWQgPSBtX2RvbUFnZW50LT5ib3VuZE5vZGVJZChkb2N1bWVudCk7CisgICAgaWYgKCFub2RlSWQg
fHwgIW1fbmFtZWRGbG93Q29sbGVjdGlvbnNSZXF1ZXN0ZWQuY29udGFpbnMobm9kZUlkKSkKICAg
ICAgICAgcmV0dXJuOwogCi0gICAgbV9mcm9udGVuZC0+bmFtZWRGbG93UmVtb3ZlZChkb2N1bWVu
dE5vZGVJZCwgbmFtZWRGbG93LT5uYW1lKCkuc3RyaW5nKCkpOwotfQotCi12b2lkIEluc3BlY3Rv
ckNTU0FnZW50OjpkaWRVcGRhdGVSZWdpb25MYXlvdXQoRG9jdW1lbnQqIGRvY3VtZW50LCBXZWJL
aXROYW1lZEZsb3cqIG5hbWVkRmxvdykKLXsKLSAgICBpbnQgZG9jdW1lbnROb2RlSWQgPSBkb2N1
bWVudE5vZGVXaXRoUmVxdWVzdGVkRmxvd3NJZChkb2N1bWVudCk7Ci0gICAgaWYgKCFkb2N1bWVu
dE5vZGVJZCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX3VwZGF0ZVJlZ2lvbkxheW91
dFRhc2spCi0gICAgICAgIG1fdXBkYXRlUmVnaW9uTGF5b3V0VGFzayA9IGFkb3B0UHRyKG5ldyBV
cGRhdGVSZWdpb25MYXlvdXRUYXNrKHRoaXMpKTsKLSAgICBtX3VwZGF0ZVJlZ2lvbkxheW91dFRh
c2stPnNjaGVkdWxlRm9yKG5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQpOwotfQotCi12b2lkIElu
c3BlY3RvckNTU0FnZW50OjpyZWdpb25MYXlvdXRVcGRhdGVkKFdlYktpdE5hbWVkRmxvdyogbmFt
ZWRGbG93LCBpbnQgZG9jdW1lbnROb2RlSWQpCi17Ci0gICAgaWYgKG5hbWVkRmxvdy0+Zmxvd1N0
YXRlKCkgPT0gV2ViS2l0TmFtZWRGbG93OjpGbG93U3RhdGVOdWxsKQotICAgICAgICByZXR1cm47
Ci0KLSAgICBFcnJvclN0cmluZyBlcnJvclN0cmluZzsKLSAgICBtX2Zyb250ZW5kLT5yZWdpb25M
YXlvdXRVcGRhdGVkKGJ1aWxkT2JqZWN0Rm9yTmFtZWRGbG93KCZlcnJvclN0cmluZywgbmFtZWRG
bG93LCBkb2N1bWVudE5vZGVJZCkpOworICAgIG1fZnJvbnRlbmQtPm5hbWVkRmxvd1JlbW92ZWQo
bm9kZUlkLCBuYW1lLnN0cmluZygpKTsKIH0KIAogYm9vbCBJbnNwZWN0b3JDU1NBZ2VudDo6Zm9y
Y2VQc2V1ZG9TdGF0ZShFbGVtZW50KiBlbGVtZW50LCBDU1NTZWxlY3Rvcjo6UHNldWRvVHlwZSBw
c2V1ZG9UeXBlKQpAQCAtODg3LDE2ICs4MjgsMzIgQEAgdm9pZCBJbnNwZWN0b3JDU1NBZ2VudDo6
Z2V0TmFtZWRGbG93Q29sbGVjdGlvbihFcnJvclN0cmluZyogZXJyb3JTdHJpbmcsIGludCBkb2MK
ICAgICAgICAgcmV0dXJuOwogCiAgICAgbV9uYW1lZEZsb3dDb2xsZWN0aW9uc1JlcXVlc3RlZC5h
ZGQoZG9jdW1lbnROb2RlSWQpOwotCiAgICAgVmVjdG9yPFJlZlB0cjxXZWJLaXROYW1lZEZsb3c+
ID4gbmFtZWRGbG93c1ZlY3RvciA9IGRvY3VtZW50LT5uYW1lZEZsb3dzKCktPm5hbWVkRmxvd3Mo
KTsKICAgICBSZWZQdHI8VHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpDU1M6Ok5hbWVk
Rmxvdz4gPiBuYW1lZEZsb3dzID0gVHlwZUJ1aWxkZXI6OkFycmF5PFR5cGVCdWlsZGVyOjpDU1M6
Ok5hbWVkRmxvdz46OmNyZWF0ZSgpOwogCisKICAgICBmb3IgKFZlY3RvcjxSZWZQdHI8V2ViS2l0
TmFtZWRGbG93PiA+OjppdGVyYXRvciBpdCA9IG5hbWVkRmxvd3NWZWN0b3IuYmVnaW4oKTsgaXQg
IT0gbmFtZWRGbG93c1ZlY3Rvci5lbmQoKTsgKytpdCkKICAgICAgICAgbmFtZWRGbG93cy0+YWRk
SXRlbShidWlsZE9iamVjdEZvck5hbWVkRmxvdyhlcnJvclN0cmluZywgaXQtPmdldCgpLCBkb2N1
bWVudE5vZGVJZCkpOwogCiAgICAgcmVzdWx0ID0gbmFtZWRGbG93cy5yZWxlYXNlKCk7CiB9CiAK
K3ZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmdldEZsb3dCeU5hbWUoRXJyb3JTdHJpbmcqIGVycm9y
U3RyaW5nLCBpbnQgZG9jdW1lbnROb2RlSWQsIGNvbnN0IFN0cmluZyYgZmxvd05hbWUsIFJlZlB0
cjxUeXBlQnVpbGRlcjo6Q1NTOjpOYW1lZEZsb3c+JiByZXN1bHQpCit7CisgICAgRG9jdW1lbnQq
IGRvY3VtZW50ID0gbV9kb21BZ2VudC0+YXNzZXJ0RG9jdW1lbnQoZXJyb3JTdHJpbmcsIGRvY3Vt
ZW50Tm9kZUlkKTsKKyAgICBpZiAoIWRvY3VtZW50KQorICAgICAgICByZXR1cm47CisKKyAgICBX
ZWJLaXROYW1lZEZsb3cqIHdlYmtpdE5hbWVkRmxvdyA9IGRvY3VtZW50LT5uYW1lZEZsb3dzKCkt
PmZsb3dCeU5hbWUoZmxvd05hbWUpOworICAgIGlmICghd2Via2l0TmFtZWRGbG93KSB7CisgICAg
ICAgICplcnJvclN0cmluZyA9ICJObyB0YXJnZXQgQ1NTIE5hbWVkIEZsb3cgZm91bmQiOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgUmVmUHRyPFdlYktpdE5hbWVkRmxvdz4gcHJvdGVj
dG9yKHdlYmtpdE5hbWVkRmxvdyk7CisgICAgcmVzdWx0ID0gYnVpbGRPYmplY3RGb3JOYW1lZEZs
b3coZXJyb3JTdHJpbmcsIHdlYmtpdE5hbWVkRmxvdywgZG9jdW1lbnROb2RlSWQpOworfQorCiB2
b2lkIEluc3BlY3RvckNTU0FnZW50OjpzdGFydFNlbGVjdG9yUHJvZmlsZXIoRXJyb3JTdHJpbmcq
KQogewogICAgIG1fY3VycmVudFNlbGVjdG9yUHJvZmlsZSA9IGFkb3B0UHRyKG5ldyBTZWxlY3Rv
clByb2ZpbGUoKSk7CkBAIC05NzYsMTUgKzkzMyw2IEBAIEVsZW1lbnQqIEluc3BlY3RvckNTU0Fn
ZW50OjplbGVtZW50Rm9ySWQoRXJyb3JTdHJpbmcqIGVycm9yU3RyaW5nLCBpbnQgbm9kZUlkKQog
ICAgIHJldHVybiB0b0VsZW1lbnQobm9kZSk7CiB9CiAKLWludCBJbnNwZWN0b3JDU1NBZ2VudDo6
ZG9jdW1lbnROb2RlV2l0aFJlcXVlc3RlZEZsb3dzSWQoRG9jdW1lbnQqIGRvY3VtZW50KQotewot
ICAgIGludCBkb2N1bWVudE5vZGVJZCA9IG1fZG9tQWdlbnQtPmJvdW5kTm9kZUlkKGRvY3VtZW50
KTsKLSAgICBpZiAoIWRvY3VtZW50Tm9kZUlkIHx8ICFtX25hbWVkRmxvd0NvbGxlY3Rpb25zUmVx
dWVzdGVkLmNvbnRhaW5zKGRvY3VtZW50Tm9kZUlkKSkKLSAgICAgICAgcmV0dXJuIDA7Ci0KLSAg
ICByZXR1cm4gZG9jdW1lbnROb2RlSWQ7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yQ1NTQWdlbnQ6OmNv
bGxlY3RTdHlsZVNoZWV0cyhDU1NTdHlsZVNoZWV0KiBzdHlsZVNoZWV0LCBUeXBlQnVpbGRlcjo6
QXJyYXk8VHlwZUJ1aWxkZXI6OkNTUzo6Q1NTU3R5bGVTaGVldEhlYWRlcj4qIHJlc3VsdCkKIHsK
ICAgICBJbnNwZWN0b3JTdHlsZVNoZWV0KiBpbnNwZWN0b3JTdHlsZVNoZWV0ID0gYmluZFN0eWxl
U2hlZXQoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVTaGVldCo+KHN0eWxlU2hlZXQpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDU1NBZ2VudC5oIGIvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNTU0FnZW50LmgKaW5kZXggYzE5MDYxMmIxZWE1
ODA5NThlMjgyZmYwYzg1ODM1ODYwNzNmZTc3YS4uOTMxZWQzZGZiYmZkN2VmYWIyZGIxNDFlYzI2
ODI3NjRkM2IzNzBmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNTU0FnZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNT
U0FnZW50LmgKQEAgLTU1LDcgKzU1LDYgQEAgY2xhc3MgTm9kZTsKIGNsYXNzIE5vZGVMaXN0Owog
Y2xhc3MgU2VsZWN0b3JQcm9maWxlOwogY2xhc3MgU3R5bGVSZXNvbHZlcjsKLWNsYXNzIFVwZGF0
ZVJlZ2lvbkxheW91dFRhc2s7CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogCkBAIC0xMDAsMTAg
Kzk5LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBkaXNhYmxlKEVycm9yU3RyaW5nKik7
CiAgICAgdm9pZCByZXNldCgpOwogICAgIHZvaWQgbWVkaWFRdWVyeVJlc3VsdENoYW5nZWQoKTsK
LSAgICB2b2lkIGRpZENyZWF0ZU5hbWVkRmxvdyhEb2N1bWVudCosIFdlYktpdE5hbWVkRmxvdyop
OwotICAgIHZvaWQgd2lsbFJlbW92ZU5hbWVkRmxvdyhEb2N1bWVudCosIFdlYktpdE5hbWVkRmxv
dyopOwotICAgIHZvaWQgZGlkVXBkYXRlUmVnaW9uTGF5b3V0KERvY3VtZW50KiwgV2ViS2l0TmFt
ZWRGbG93Kik7Ci0gICAgdm9pZCByZWdpb25MYXlvdXRVcGRhdGVkKFdlYktpdE5hbWVkRmxvdyos
IGludCBkb2N1bWVudE5vZGVJZCk7CisgICAgdm9pZCBkaWRDcmVhdGVOYW1lZEZsb3coRG9jdW1l
bnQqLCBjb25zdCBBdG9taWNTdHJpbmcmIG5hbWUpOworICAgIHZvaWQgZGlkUmVtb3ZlTmFtZWRG
bG93KERvY3VtZW50KiwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBnZXRDb21wdXRlZFN0eWxlRm9yTm9kZShFcnJvclN0cmluZyosIGludCBub2RlSWQsIFJl
ZlB0cjxUeXBlQnVpbGRlcjo6QXJyYXk8VHlwZUJ1aWxkZXI6OkNTUzo6Q1NTQ29tcHV0ZWRTdHls
ZVByb3BlcnR5PiA+Jik7CiAgICAgdmlydHVhbCB2b2lkIGdldElubGluZVN0eWxlc0Zvck5vZGUo
RXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlkLCBSZWZQdHI8VHlwZUJ1aWxkZXI6OkNTUzo6Q1NTU3R5
bGU+JiBpbmxpbmVTdHlsZSwgUmVmUHRyPFR5cGVCdWlsZGVyOjpDU1M6OkNTU1N0eWxlPiYgYXR0
cmlidXRlcyk7CkBAIC0xMTksNiArMTE2LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBn
ZXRTdXBwb3J0ZWRDU1NQcm9wZXJ0aWVzKEVycm9yU3RyaW5nKiwgUmVmUHRyPFR5cGVCdWlsZGVy
OjpBcnJheTxUeXBlQnVpbGRlcjo6Q1NTOjpDU1NQcm9wZXJ0eUluZm8+ID4mIHJlc3VsdCk7CiAg
ICAgdmlydHVhbCB2b2lkIGZvcmNlUHNldWRvU3RhdGUoRXJyb3JTdHJpbmcqLCBpbnQgbm9kZUlk
LCBjb25zdCBSZWZQdHI8SW5zcGVjdG9yQXJyYXk+JiBmb3JjZWRQc2V1ZG9DbGFzc2VzKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZ2V0TmFtZWRGbG93Q29sbGVjdGlvbihFcnJvclN0cmluZyosIGludCBk
b2N1bWVudE5vZGVJZCwgUmVmUHRyPFR5cGVCdWlsZGVyOjpBcnJheTxUeXBlQnVpbGRlcjo6Q1NT
OjpOYW1lZEZsb3c+ID4mIHJlc3VsdCk7CisgICAgdmlydHVhbCB2b2lkIGdldEZsb3dCeU5hbWUo
RXJyb3JTdHJpbmcqLCBpbnQgZG9jdW1lbnROb2RlSWQsIGNvbnN0IFN0cmluZyYgZmxvd05hbWUs
IFJlZlB0cjxUeXBlQnVpbGRlcjo6Q1NTOjpOYW1lZEZsb3c+JiByZXN1bHQpOwogCiAgICAgdmly
dHVhbCB2b2lkIHN0YXJ0U2VsZWN0b3JQcm9maWxlcihFcnJvclN0cmluZyopOwogICAgIHZpcnR1
YWwgdm9pZCBzdG9wU2VsZWN0b3JQcm9maWxlcihFcnJvclN0cmluZyosIFJlZlB0cjxUeXBlQnVp
bGRlcjo6Q1NTOjpTZWxlY3RvclByb2ZpbGU+Jik7CkBAIC0xNDcsNyArMTQ1LDYgQEAgcHJpdmF0
ZToKIAogICAgIEluc3BlY3RvclN0eWxlU2hlZXRGb3JJbmxpbmVTdHlsZSogYXNJbnNwZWN0b3JT
dHlsZVNoZWV0KEVsZW1lbnQqIGVsZW1lbnQpOwogICAgIEVsZW1lbnQqIGVsZW1lbnRGb3JJZChF
cnJvclN0cmluZyosIGludCBub2RlSWQpOwotICAgIGludCBkb2N1bWVudE5vZGVXaXRoUmVxdWVz
dGVkRmxvd3NJZChEb2N1bWVudCopOwogICAgIHZvaWQgY29sbGVjdFN0eWxlU2hlZXRzKENTU1N0
eWxlU2hlZXQqLCBUeXBlQnVpbGRlcjo6QXJyYXk8V2ViQ29yZTo6VHlwZUJ1aWxkZXI6OkNTUzo6
Q1NTU3R5bGVTaGVldEhlYWRlcj4qKTsKIAogICAgIEluc3BlY3RvclN0eWxlU2hlZXQqIGJpbmRT
dHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKQEAgLTE3OSw3ICsxNzYsNiBAQCBwcml2YXRlOgog
ICAgIERvY3VtZW50VG9WaWFJbnNwZWN0b3JTdHlsZVNoZWV0IG1fZG9jdW1lbnRUb0luc3BlY3Rv
clN0eWxlU2hlZXQ7CiAgICAgTm9kZUlkVG9Gb3JjZWRQc2V1ZG9TdGF0ZSBtX25vZGVJZFRvRm9y
Y2VkUHNldWRvU3RhdGU7CiAgICAgSGFzaFNldDxpbnQ+IG1fbmFtZWRGbG93Q29sbGVjdGlvbnNS
ZXF1ZXN0ZWQ7Ci0gICAgT3duUHRyPFVwZGF0ZVJlZ2lvbkxheW91dFRhc2s+IG1fdXBkYXRlUmVn
aW9uTGF5b3V0VGFzazsKIAogICAgIGludCBtX2xhc3RTdHlsZVNoZWV0SWQ7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uY3Bw
IGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAK
aW5kZXggMTQxYzI5YTA1ZmVhMmVkYzEwYTM3N2MxYThhN2FkNWI3ZmUxNGU1MC4uNDFiN2JjODFh
ZGVkYTBhZTg4MWViZTk2ZWVmN2QwN2U2M2QxNDlhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAKQEAgLTIzMSwyMiAr
MjMxLDE2IEBAIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjp3aWxsUG9wU2hhZG93Um9v
dEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1CiAgICAgICAgIGRvbUFnZW50LT53aWxs
UG9wU2hhZG93Um9vdChob3N0LCByb290KTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50
YXRpb246OmRpZENyZWF0ZU5hbWVkRmxvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyogaW5zdHJ1
bWVudGluZ0FnZW50cywgRG9jdW1lbnQqIGRvY3VtZW50LCBXZWJLaXROYW1lZEZsb3cqIG5hbWVk
RmxvdykKK3ZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRDcmVhdGVOYW1lZEZsb3dJ
bXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERvY3VtZW50KiBk
b2N1bWVudCwgY29uc3QgQXRvbWljU3RyaW5nJiBuYW1lKQogewogICAgIGlmIChJbnNwZWN0b3JD
U1NBZ2VudCogY3NzQWdlbnQgPSBpbnN0cnVtZW50aW5nQWdlbnRzLT5pbnNwZWN0b3JDU1NBZ2Vu
dCgpKQotICAgICAgICBjc3NBZ2VudC0+ZGlkQ3JlYXRlTmFtZWRGbG93KGRvY3VtZW50LCBuYW1l
ZEZsb3cpOworICAgICAgICBjc3NBZ2VudC0+ZGlkQ3JlYXRlTmFtZWRGbG93KGRvY3VtZW50LCBu
YW1lKTsKIH0KIAotdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OndpbGxSZW1vdmVOYW1l
ZEZsb3dJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERvY3Vt
ZW50KiBkb2N1bWVudCwgV2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCit2b2lkIEluc3BlY3Rv
ckluc3RydW1lbnRhdGlvbjo6ZGlkUmVtb3ZlTmFtZWRGbG93SW1wbChJbnN0cnVtZW50aW5nQWdl
bnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzLCBEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21p
Y1N0cmluZyYgbmFtZSkKIHsKICAgICBpZiAoSW5zcGVjdG9yQ1NTQWdlbnQqIGNzc0FnZW50ID0g
aW5zdHJ1bWVudGluZ0FnZW50cy0+aW5zcGVjdG9yQ1NTQWdlbnQoKSkKLSAgICAgICAgY3NzQWdl
bnQtPndpbGxSZW1vdmVOYW1lZEZsb3coZG9jdW1lbnQsIG5hbWVkRmxvdyk7Ci19Ci0KLXZvaWQg
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVcGRhdGVSZWdpb25MYXlvdXRJbXBsKEluc3Ry
dW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIERvY3VtZW50KiBkb2N1bWVudCwg
V2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCi17Ci0gICAgaWYgKEluc3BlY3RvckNTU0FnZW50
KiBjc3NBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMtPmluc3BlY3RvckNTU0FnZW50KCkpCi0g
ICAgICAgIGNzc0FnZW50LT5kaWRVcGRhdGVSZWdpb25MYXlvdXQoZG9jdW1lbnQsIG5hbWVkRmxv
dyk7CisgICAgICAgIGNzc0FnZW50LT5kaWRSZW1vdmVOYW1lZEZsb3coZG9jdW1lbnQsIG5hbWUp
OwogfQogCiB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6bW91c2VEaWRNb3ZlT3ZlckVs
ZW1lbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqIGluc3RydW1lbnRpbmdBZ2VudHMsIGNvbnN0
IEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgdW5zaWduZWQgbW9kaWZpZXJGbGFncykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaAppbmRl
eCAyMzczNjczYjMxMTQzYTQ1MzFiNjIwMWJlNjAyZDFmZTkxODc3ZDIxLi5jMjVkMzcyMmI5YWE3
MmFhMWQ2NzVhNmE1ODYwM2Q2ZTNmNmMzOGY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
aW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCkBAIC0xMTMsOSArMTEzLDggQEAg
cHVibGljOgogICAgIHN0YXRpYyB2b2lkIG1lZGlhUXVlcnlSZXN1bHRDaGFuZ2VkKERvY3VtZW50
Kik7CiAgICAgc3RhdGljIHZvaWQgZGlkUHVzaFNoYWRvd1Jvb3QoRWxlbWVudCogaG9zdCwgU2hh
ZG93Um9vdCopOwogICAgIHN0YXRpYyB2b2lkIHdpbGxQb3BTaGFkb3dSb290KEVsZW1lbnQqIGhv
c3QsIFNoYWRvd1Jvb3QqKTsKLSAgICBzdGF0aWMgdm9pZCBkaWRDcmVhdGVOYW1lZEZsb3coRG9j
dW1lbnQqLCBXZWJLaXROYW1lZEZsb3cqKTsKLSAgICBzdGF0aWMgdm9pZCB3aWxsUmVtb3ZlTmFt
ZWRGbG93KERvY3VtZW50KiwgV2ViS2l0TmFtZWRGbG93Kik7Ci0gICAgc3RhdGljIHZvaWQgZGlk
VXBkYXRlUmVnaW9uTGF5b3V0KERvY3VtZW50KiwgV2ViS2l0TmFtZWRGbG93Kik7CisgICAgc3Rh
dGljIHZvaWQgZGlkQ3JlYXRlTmFtZWRGbG93KERvY3VtZW50KiwgY29uc3QgQXRvbWljU3RyaW5n
JiBuYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRSZW1vdmVOYW1lZEZsb3coRG9jdW1lbnQqLCBj
b25zdCBBdG9taWNTdHJpbmcmIG5hbWUpOwogCiAgICAgc3RhdGljIHZvaWQgbW91c2VEaWRNb3Zl
T3ZlckVsZW1lbnQoUGFnZSosIGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCBtb2RpZmll
ckZsYWdzKTsKICAgICBzdGF0aWMgYm9vbCBoYW5kbGVNb3VzZVByZXNzKFBhZ2UqKTsKQEAgLTI5
MSw5ICsyOTAsOCBAQCBwcml2YXRlOgogICAgIHN0YXRpYyB2b2lkIG1lZGlhUXVlcnlSZXN1bHRD
aGFuZ2VkSW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKik7CiAgICAgc3RhdGljIHZvaWQgZGlkUHVz
aFNoYWRvd1Jvb3RJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBFbGVtZW50KiBob3N0LCBTaGFk
b3dSb290Kik7CiAgICAgc3RhdGljIHZvaWQgd2lsbFBvcFNoYWRvd1Jvb3RJbXBsKEluc3RydW1l
bnRpbmdBZ2VudHMqLCBFbGVtZW50KiBob3N0LCBTaGFkb3dSb290Kik7Ci0gICAgc3RhdGljIHZv
aWQgZGlkQ3JlYXRlTmFtZWRGbG93SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRG9jdW1lbnQq
LCBXZWJLaXROYW1lZEZsb3cqKTsKLSAgICBzdGF0aWMgdm9pZCB3aWxsUmVtb3ZlTmFtZWRGbG93
SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzKiwgRG9jdW1lbnQqLCBXZWJLaXROYW1lZEZsb3cqKTsK
LSAgICBzdGF0aWMgdm9pZCBkaWRVcGRhdGVSZWdpb25MYXlvdXRJbXBsKEluc3RydW1lbnRpbmdB
Z2VudHMqLCBEb2N1bWVudCosIFdlYktpdE5hbWVkRmxvdyopOworICAgIHN0YXRpYyB2b2lkIGRp
ZENyZWF0ZU5hbWVkRmxvd0ltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyosIERvY3VtZW50KiwgY29u
c3QgQXRvbWljU3RyaW5nJiBuYW1lKTsKKyAgICBzdGF0aWMgdm9pZCBkaWRSZW1vdmVOYW1lZEZs
b3dJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMqLCBEb2N1bWVudCosIGNvbnN0IEF0b21pY1N0cmlu
ZyYgbmFtZSk7CiAKICAgICBzdGF0aWMgdm9pZCBtb3VzZURpZE1vdmVPdmVyRWxlbWVudEltcGwo
SW5zdHJ1bWVudGluZ0FnZW50cyosIGNvbnN0IEhpdFRlc3RSZXN1bHQmLCB1bnNpZ25lZCBtb2Rp
ZmllckZsYWdzKTsKICAgICBzdGF0aWMgYm9vbCBoYW5kbGVNb3VzZVByZXNzSW1wbChJbnN0cnVt
ZW50aW5nQWdlbnRzKik7CkBAIC01NjMsMzAgKzU2MSwyMSBAQCBpbmxpbmUgdm9pZCBJbnNwZWN0
b3JJbnN0cnVtZW50YXRpb246OndpbGxQb3BTaGFkb3dSb290KEVsZW1lbnQqIGhvc3QsIFNoYWRv
d1JvbwogI2VuZGlmCiB9CiAKLWlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6
ZGlkQ3JlYXRlTmFtZWRGbG93KERvY3VtZW50KiBkb2N1bWVudCwgV2ViS2l0TmFtZWRGbG93KiBu
YW1lZEZsb3cpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZENyZWF0
ZU5hbWVkRmxvdyhEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0b21pY1N0cmluZyYgbmFtZSkK
IHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5E
Uyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdl
bnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKLSAgICAgICAg
ZGlkQ3JlYXRlTmFtZWRGbG93SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBkb2N1bWVudCwgbmFt
ZWRGbG93KTsKKyAgICAgICAgZGlkQ3JlYXRlTmFtZWRGbG93SW1wbChpbnN0cnVtZW50aW5nQWdl
bnRzLCBkb2N1bWVudCwgbmFtZSk7CiAjZW5kaWYKIH0KIAotaW5saW5lIHZvaWQgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uOjp3aWxsUmVtb3ZlTmFtZWRGbG93KERvY3VtZW50KiBkb2N1bWVudCwg
V2ViS2l0TmFtZWRGbG93KiBuYW1lZEZsb3cpCitpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb246OmRpZFJlbW92ZU5hbWVkRmxvdyhEb2N1bWVudCogZG9jdW1lbnQsIGNvbnN0IEF0
b21pY1N0cmluZyYgbmFtZSkKIHsKICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogICAgIEZBU1RfUkVU
VVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwogICAgIGlmIChJbnN0cnVtZW50aW5nQWdlbnRz
KiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0FnZW50c0ZvckRvY3VtZW50KGRv
Y3VtZW50KSkKLSAgICAgICAgd2lsbFJlbW92ZU5hbWVkRmxvd0ltcGwoaW5zdHJ1bWVudGluZ0Fn
ZW50cywgZG9jdW1lbnQsIG5hbWVkRmxvdyk7Ci0jZW5kaWYKLX0KLQotaW5saW5lIHZvaWQgSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRVcGRhdGVSZWdpb25MYXlvdXQoRG9jdW1lbnQqIGRv
Y3VtZW50LCBXZWJLaXROYW1lZEZsb3cqIG5hbWVkRmxvdykKLXsKLSNpZiBFTkFCTEUoSU5TUEVD
VE9SKQotICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwotICAgIGlmIChJ
bnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGluZ0Fn
ZW50c0ZvckRvY3VtZW50KGRvY3VtZW50KSkKLSAgICAgICAgZGlkVXBkYXRlUmVnaW9uTGF5b3V0
SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBkb2N1bWVudCwgbmFtZWRGbG93KTsKKyAgICAgICAg
ZGlkUmVtb3ZlTmFtZWRGbG93SW1wbChpbnN0cnVtZW50aW5nQWdlbnRzLCBkb2N1bWVudCwgbmFt
ZSk7CiAjZW5kaWYKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9DU1NTdHlsZU1vZGVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9DU1NTdHlsZU1vZGVsLmpzCmluZGV4IGQ0NDU4NjNlOTk1MTIxNGRiZGEwZGUzNDc4YmY3
MTcxMWU5NjM0YzMuLjgyMDY5NWJmOGQ2YzM4NTMwZTkxMDUwNjE1Mjg1ZmE4NDM4ZjgzZTUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQ1NTU3R5bGVNb2Rl
bC5qcworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0NTU1N0eWxlTW9k
ZWwuanMKQEAgLTM5LDggKzM5LDYgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwgPSBmdW5j
dGlvbigpCiAgICAgV2ViSW5zcGVjdG9yLmRvbUFnZW50LmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLkRPTUFnZW50LkV2ZW50cy5VbmRvUmVkb1JlcXVlc3RlZCwgdGhpcy5fdW5kb1JlZG9S
ZXF1ZXN0ZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5ET01BZ2VudC5FdmVudHMuVW5kb1JlZG9Db21wbGV0ZWQsIHRoaXMu
X3VuZG9SZWRvQ29tcGxldGVkLCB0aGlzKTsKICAgICB0aGlzLl9yZXNvdXJjZUJpbmRpbmcgPSBu
ZXcgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWxSZXNvdXJjZUJpbmRpbmcodGhpcyk7Ci0gICAg
dGhpcy5fbmFtZWRGbG93Q29sbGVjdGlvbnMgPSB7fTsKLSAgICBXZWJJbnNwZWN0b3IuZG9tQWdl
bnQuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRE9NQWdlbnQuRXZlbnRzLkRvY3VtZW50
VXBkYXRlZCwgdGhpcy5fcmVzZXROYW1lZEZsb3dDb2xsZWN0aW9ucywgdGhpcyk7CiAgICAgSW5z
cGVjdG9yQmFja2VuZC5yZWdpc3RlckNTU0Rpc3BhdGNoZXIobmV3IFdlYkluc3BlY3Rvci5DU1NE
aXNwYXRjaGVyKHRoaXMpKTsKICAgICBDU1NBZ2VudC5lbmFibGUoKTsKIH0KQEAgLTYwLDggKzU4
LDcgQEAgV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwuRXZlbnRzID0gewogICAgIFN0eWxlU2hl
ZXRDaGFuZ2VkOiAiU3R5bGVTaGVldENoYW5nZWQiLAogICAgIE1lZGlhUXVlcnlSZXN1bHRDaGFu
Z2VkOiAiTWVkaWFRdWVyeVJlc3VsdENoYW5nZWQiLAogICAgIE5hbWVkRmxvd0NyZWF0ZWQ6ICJO
YW1lZEZsb3dDcmVhdGVkIiwKLSAgICBOYW1lZEZsb3dSZW1vdmVkOiAiTmFtZWRGbG93UmVtb3Zl
ZCIsCi0gICAgUmVnaW9uTGF5b3V0VXBkYXRlZDogIlJlZ2lvbkxheW91dFVwZGF0ZWQiCisgICAg
TmFtZWRGbG93UmVtb3ZlZDogIk5hbWVkRmxvd1JlbW92ZWQiCiB9CiAKIFdlYkluc3BlY3Rvci5D
U1NTdHlsZU1vZGVsLnByb3RvdHlwZSA9IHsKQEAgLTE3NCwxOSArMTcxLDEzIEBAIFdlYkluc3Bl
Y3Rvci5DU1NTdHlsZU1vZGVsLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAg
ICogQHBhcmFtIHtET01BZ2VudC5Ob2RlSWR9IGRvY3VtZW50Tm9kZUlkCi0gICAgICogQHBhcmFt
IHtmdW5jdGlvbihPYmplY3QuPHN0cmluZywgV2ViSW5zcGVjdG9yLk5hbWVkRmxvdz4pfSB1c2Vy
Q2FsbGJhY2sKKyAgICAgKiBAcGFyYW0ge0RPTUFnZW50Lk5vZGVJZH0gbm9kZUlkCisgICAgICog
QHBhcmFtIHtmdW5jdGlvbig/QXJyYXkuPFdlYkluc3BlY3Rvci5OYW1lZEZsb3c+KX0gdXNlckNh
bGxiYWNrCiAgICAgICovCi0gICAgZ2V0TmFtZWRGbG93Q29sbGVjdGlvbkFzeW5jOiBmdW5jdGlv
bihkb2N1bWVudE5vZGVJZCwgdXNlckNhbGxiYWNrKQorICAgIGdldE5hbWVkRmxvd0NvbGxlY3Rp
b25Bc3luYzogZnVuY3Rpb24obm9kZUlkLCB1c2VyQ2FsbGJhY2spCiAgICAgewotICAgICAgICB2
YXIgbmFtZWRGbG93Q29sbGVjdGlvbiA9IHRoaXMuX25hbWVkRmxvd0NvbGxlY3Rpb25zW2RvY3Vt
ZW50Tm9kZUlkXTsKLSAgICAgICAgaWYgKG5hbWVkRmxvd0NvbGxlY3Rpb24pIHsKLSAgICAgICAg
ICAgIHVzZXJDYWxsYmFjayhuYW1lZEZsb3dDb2xsZWN0aW9uLm5hbWVkRmxvd01hcCk7Ci0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLQogICAgICAgICAvKioKLSAgICAgICAgICogQHBh
cmFtIHtmdW5jdGlvbihPYmplY3QuPHN0cmluZywgV2ViSW5zcGVjdG9yLk5hbWVkRmxvdz4pfSB1
c2VyQ2FsbGJhY2sKKyAgICAgICAgICogQHBhcmFtIHtmdW5jdGlvbig/QXJyYXkuPFdlYkluc3Bl
Y3Rvci5OYW1lZEZsb3c+KX0gdXNlckNhbGxiYWNrCiAgICAgICAgICAqIEBwYXJhbSB7P1Byb3Rv
Y29sLkVycm9yfSBlcnJvcgogICAgICAgICAgKiBAcGFyYW0gez9BcnJheS48Q1NTQWdlbnQuTmFt
ZWRGbG93Pj19IG5hbWVkRmxvd1BheWxvYWQKICAgICAgICAgICovCkBAIC0xOTQsNDIgKzE4NSwz
NCBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHsK
ICAgICAgICAgICAgIGlmIChlcnJvciB8fCAhbmFtZWRGbG93UGF5bG9hZCkKICAgICAgICAgICAg
ICAgICB1c2VyQ2FsbGJhY2sobnVsbCk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAgICAg
ICAgICB2YXIgbmFtZWRGbG93Q29sbGVjdGlvbiA9IG5ldyBXZWJJbnNwZWN0b3IuTmFtZWRGbG93
Q29sbGVjdGlvbihuYW1lZEZsb3dQYXlsb2FkKTsKLSAgICAgICAgICAgICAgICB0aGlzLl9uYW1l
ZEZsb3dDb2xsZWN0aW9uc1tkb2N1bWVudE5vZGVJZF0gPSBuYW1lZEZsb3dDb2xsZWN0aW9uOwot
ICAgICAgICAgICAgICAgIHVzZXJDYWxsYmFjayhuYW1lZEZsb3dDb2xsZWN0aW9uLm5hbWVkRmxv
d01hcCk7Ci0gICAgICAgICAgICB9CisgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAg
dXNlckNhbGxiYWNrKFdlYkluc3BlY3Rvci5OYW1lZEZsb3cucGFyc2VQYXlsb2FkQXJyYXkobmFt
ZWRGbG93UGF5bG9hZCkpOwogICAgICAgICB9CiAKLSAgICAgICAgQ1NTQWdlbnQuZ2V0TmFtZWRG
bG93Q29sbGVjdGlvbihkb2N1bWVudE5vZGVJZCwgY2FsbGJhY2suYmluZCh0aGlzLCB1c2VyQ2Fs
bGJhY2spKTsKKyAgICAgICAgQ1NTQWdlbnQuZ2V0TmFtZWRGbG93Q29sbGVjdGlvbihub2RlSWQs
IGNhbGxiYWNrLmJpbmQodGhpcywgdXNlckNhbGxiYWNrKSk7CiAgICAgfSwKIAogICAgIC8qKgot
ICAgICAqIEBwYXJhbSB7RE9NQWdlbnQuTm9kZUlkfSBkb2N1bWVudE5vZGVJZAorICAgICAqIEBw
YXJhbSB7RE9NQWdlbnQuTm9kZUlkfSBub2RlSWQKICAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmxv
d05hbWUKICAgICAgKiBAcGFyYW0ge2Z1bmN0aW9uKD9XZWJJbnNwZWN0b3IuTmFtZWRGbG93KX0g
dXNlckNhbGxiYWNrCiAgICAgICovCi0gICAgZ2V0Rmxvd0J5TmFtZUFzeW5jOiBmdW5jdGlvbihk
b2N1bWVudE5vZGVJZCwgZmxvd05hbWUsIHVzZXJDYWxsYmFjaykKKyAgICBnZXRGbG93QnlOYW1l
QXN5bmM6IGZ1bmN0aW9uKG5vZGVJZCwgZmxvd05hbWUsIHVzZXJDYWxsYmFjaykKICAgICB7Ci0g
ICAgICAgIHZhciBuYW1lZEZsb3dDb2xsZWN0aW9uID0gdGhpcy5fbmFtZWRGbG93Q29sbGVjdGlv
bnNbZG9jdW1lbnROb2RlSWRdOwotICAgICAgICBpZiAobmFtZWRGbG93Q29sbGVjdGlvbikgewot
ICAgICAgICAgICAgdXNlckNhbGxiYWNrKG5hbWVkRmxvd0NvbGxlY3Rpb24uZmxvd0J5TmFtZShm
bG93TmFtZSkpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KICAgICAgICAgLyoq
CiAgICAgICAgICAqIEBwYXJhbSB7ZnVuY3Rpb24oP1dlYkluc3BlY3Rvci5OYW1lZEZsb3cpfSB1
c2VyQ2FsbGJhY2sKLSAgICAgICAgICogQHBhcmFtIHtPYmplY3QuPHN0cmluZywgV2ViSW5zcGVj
dG9yLk5hbWVkRmxvdz59IG5hbWVkRmxvd01hcAorICAgICAgICAgKiBAcGFyYW0gez9Qcm90b2Nv
bC5FcnJvcn0gZXJyb3IKKyAgICAgICAgICogQHBhcmFtIHs/Q1NTQWdlbnQuTmFtZWRGbG93PX0g
bmFtZWRGbG93UGF5bG9hZAogICAgICAgICAgKi8KLSAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2so
dXNlckNhbGxiYWNrLCBuYW1lZEZsb3dNYXApCisgICAgICAgIGZ1bmN0aW9uIGNhbGxiYWNrKHVz
ZXJDYWxsYmFjaywgZXJyb3IsIG5hbWVkRmxvd1BheWxvYWQpCiAgICAgICAgIHsKLSAgICAgICAg
ICAgIGlmICghbmFtZWRGbG93TWFwKQorICAgICAgICAgICAgaWYgKGVycm9yIHx8ICFuYW1lZEZs
b3dQYXlsb2FkKQogICAgICAgICAgICAgICAgIHVzZXJDYWxsYmFjayhudWxsKTsKICAgICAgICAg
ICAgIGVsc2UKLSAgICAgICAgICAgICAgICB1c2VyQ2FsbGJhY2sodGhpcy5fbmFtZWRGbG93Q29s
bGVjdGlvbnNbZG9jdW1lbnROb2RlSWRdLmZsb3dCeU5hbWUoZmxvd05hbWUpKTsKKyAgICAgICAg
ICAgICAgICB1c2VyQ2FsbGJhY2soV2ViSW5zcGVjdG9yLk5hbWVkRmxvdy5wYXJzZVBheWxvYWQo
bmFtZWRGbG93UGF5bG9hZCkpOwogICAgICAgICB9CiAKLSAgICAgICAgdGhpcy5nZXROYW1lZEZs
b3dDb2xsZWN0aW9uQXN5bmMoZG9jdW1lbnROb2RlSWQsIGNhbGxiYWNrLmJpbmQodGhpcywgdXNl
ckNhbGxiYWNrKSk7CisgICAgICAgIENTU0FnZW50LmdldEZsb3dCeU5hbWUobm9kZUlkLCBmbG93
TmFtZSwgY2FsbGJhY2suYmluZCh0aGlzLCB1c2VyQ2FsbGJhY2spKTsKICAgICB9LAogCiAgICAg
LyoqCkBAIC0zNjcsNDggKzM1MCw1MSBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90
b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgotICAgICAqIEBwYXJhbSB7Q1NTQWdlbnQuTmFt
ZWRGbG93fSBuYW1lZEZsb3dQYXlsb2FkCisgICAgICogQHBhcmFtIHtET01BZ2VudC5Ob2RlSWR9
IGRvY3VtZW50Tm9kZUlkCisgICAgICogQHBhcmFtIHtzdHJpbmd9IG5hbWUKICAgICAgKi8KLSAg
ICBfbmFtZWRGbG93Q3JlYXRlZDogZnVuY3Rpb24obmFtZWRGbG93UGF5bG9hZCkKKyAgICBfbmFt
ZWRGbG93Q3JlYXRlZDogZnVuY3Rpb24oZG9jdW1lbnROb2RlSWQsIG5hbWUpCiAgICAgewotICAg
ICAgICB2YXIgbmFtZWRGbG93ID0gV2ViSW5zcGVjdG9yLk5hbWVkRmxvdy5wYXJzZVBheWxvYWQo
bmFtZWRGbG93UGF5bG9hZCk7Ci0gICAgICAgIHZhciBuYW1lZEZsb3dDb2xsZWN0aW9uID0gdGhp
cy5fbmFtZWRGbG93Q29sbGVjdGlvbnNbbmFtZWRGbG93LmRvY3VtZW50Tm9kZUlkXTsKLQotICAg
ICAgICBpZiAoIW5hbWVkRmxvd0NvbGxlY3Rpb24pCisgICAgICAgIGlmICghdGhpcy5oYXNFdmVu
dExpc3RlbmVycyhXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5FdmVudHMuTmFtZWRGbG93Q3Jl
YXRlZCkpCiAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAgICAgbmFtZWRGbG93Q29sbGVjdGlv
bi5hcHBlbmROYW1lZEZsb3cobmFtZWRGbG93KTsKLSAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50
VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwuRXZlbnRzLk5hbWVkRmxvd0Ny
ZWF0ZWQsIG5hbWVkRmxvdyk7CisgICAgICAgIC8qKgorICAgICAgICAqIEBwYXJhbSB7V2ViSW5z
cGVjdG9yLkRPTURvY3VtZW50fSByb290CisgICAgICAgICovCisgICAgICAgIGZ1bmN0aW9uIGNh
bGxiYWNrKHJvb3QpCisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBBdCB0aGUgbW9t
ZW50IHdlIG9ubHkgd2FudCBzdXBwb3J0IGZvciBOYW1lZEZsb3dzIGluIHRoZSBtYWluIGRvY3Vt
ZW50CisgICAgICAgICAgICBpZiAoZG9jdW1lbnROb2RlSWQgIT09IHJvb3QuaWQpCisgICAgICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3Rl
bmVycyhXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5FdmVudHMuTmFtZWRGbG93Q3JlYXRlZCwg
eyBkb2N1bWVudE5vZGVJZDogZG9jdW1lbnROb2RlSWQsIG5hbWU6IG5hbWUgfSk7CisgICAgICAg
IH0KKworICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVxdWVzdERvY3VtZW50KGNhbGxi
YWNrLmJpbmQodGhpcykpOwogICAgIH0sCiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge0RPTUFn
ZW50Lk5vZGVJZH0gZG9jdW1lbnROb2RlSWQKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmxvd05h
bWUKKyAgICAgKiBAcGFyYW0ge3N0cmluZ30gbmFtZQogICAgICAqLwotICAgIF9uYW1lZEZsb3dS
ZW1vdmVkOiBmdW5jdGlvbihkb2N1bWVudE5vZGVJZCwgZmxvd05hbWUpCisgICAgX25hbWVkRmxv
d1JlbW92ZWQ6IGZ1bmN0aW9uKGRvY3VtZW50Tm9kZUlkLCBuYW1lKQogICAgIHsKLSAgICAgICAg
dmFyIG5hbWVkRmxvd0NvbGxlY3Rpb24gPSB0aGlzLl9uYW1lZEZsb3dDb2xsZWN0aW9uc1tkb2N1
bWVudE5vZGVJZF07Ci0KLSAgICAgICAgaWYgKCFuYW1lZEZsb3dDb2xsZWN0aW9uKQorICAgICAg
ICBpZiAoIXRoaXMuaGFzRXZlbnRMaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwu
RXZlbnRzLk5hbWVkRmxvd1JlbW92ZWQpKQogICAgICAgICAgICAgcmV0dXJuOwogCi0gICAgICAg
IG5hbWVkRmxvd0NvbGxlY3Rpb24ucmVtb3ZlTmFtZWRGbG93KGZsb3dOYW1lKTsKLSAgICAgICAg
dGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwu
RXZlbnRzLk5hbWVkRmxvd1JlbW92ZWQsIHsgZG9jdW1lbnROb2RlSWQ6IGRvY3VtZW50Tm9kZUlk
LCBmbG93TmFtZTogZmxvd05hbWUgfSk7Ci0gICAgfSwKLQotICAgIC8qKgotICAgICAqIEBwYXJh
bSB7Q1NTQWdlbnQuTmFtZWRGbG93fSBuYW1lZEZsb3dQYXlsb2FkCi0gICAgICovCi0gICAgX3Jl
Z2lvbkxheW91dFVwZGF0ZWQ6IGZ1bmN0aW9uKG5hbWVkRmxvd1BheWxvYWQpCi0gICAgewotICAg
ICAgICB2YXIgbmFtZWRGbG93ID0gV2ViSW5zcGVjdG9yLk5hbWVkRmxvdy5wYXJzZVBheWxvYWQo
bmFtZWRGbG93UGF5bG9hZCk7Ci0gICAgICAgIHZhciBuYW1lZEZsb3dDb2xsZWN0aW9uID0gdGhp
cy5fbmFtZWRGbG93Q29sbGVjdGlvbnNbbmFtZWRGbG93LmRvY3VtZW50Tm9kZUlkXTsKKyAgICAg
ICAgLyoqCisgICAgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuRE9NRG9jdW1lbnR9IHJvb3QK
KyAgICAgICAgKi8KKyAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2socm9vdCkKKyAgICAgICAgewor
ICAgICAgICAgICAgLy8gRklYTUU6IEF0IHRoZSBtb21lbnQgd2Ugb25seSB3YW50IHN1cHBvcnQg
Zm9yIE5hbWVkRmxvd3MgaW4gdGhlIG1haW4gZG9jdW1lbnQKKyAgICAgICAgICAgIGlmIChkb2N1
bWVudE5vZGVJZCAhPT0gcm9vdC5pZCkKKyAgICAgICAgICAgICAgICByZXR1cm47CiAKLSAgICAg
ICAgaWYgKCFuYW1lZEZsb3dDb2xsZWN0aW9uKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNTU1N0eWxl
TW9kZWwuRXZlbnRzLk5hbWVkRmxvd1JlbW92ZWQsIHsgZG9jdW1lbnROb2RlSWQ6IGRvY3VtZW50
Tm9kZUlkLCBuYW1lOiBuYW1lIH0pOworICAgICAgICB9CiAKLSAgICAgICAgbmFtZWRGbG93Q29s
bGVjdGlvbi5hcHBlbmROYW1lZEZsb3cobmFtZWRGbG93KTsKLSAgICAgICAgdGhpcy5kaXNwYXRj
aEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwuRXZlbnRzLlJlZ2lv
bkxheW91dFVwZGF0ZWQsIG5hbWVkRmxvdyk7CisgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2Vu
dC5yZXF1ZXN0RG9jdW1lbnQoY2FsbGJhY2suYmluZCh0aGlzKSk7CiAgICAgfSwKIAogICAgIC8q
KgpAQCAtNDc3LDExICs0NjMsNiBAQCBXZWJJbnNwZWN0b3IuQ1NTU3R5bGVNb2RlbC5wcm90b3R5
cGUgPSB7CiAgICAgICAgIHRoaXMuX3NvdXJjZU1hcHBpbmdzID0ge307CiAgICAgfSwKIAotICAg
IF9yZXNldE5hbWVkRmxvd0NvbGxlY3Rpb25zOiBmdW5jdGlvbigpCi0gICAgewotICAgICAgICB0
aGlzLl9uYW1lZEZsb3dDb2xsZWN0aW9ucyA9IHt9OwotICAgIH0sCi0KICAgICAvKioKICAgICAg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5DU1NMb2NhdGlvbn0gcmF3TG9jYXRpb24KICAgICAgKiBA
cmV0dXJuIHs/V2ViSW5zcGVjdG9yLlVJTG9jYXRpb259CkBAIC0xMzQ1LDI4ICsxMzI2LDIxIEBA
IFdlYkluc3BlY3Rvci5DU1NEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAg
LyoqCi0gICAgICogQHBhcmFtIHtDU1NBZ2VudC5OYW1lZEZsb3d9IG5hbWVkRmxvd1BheWxvYWQK
LSAgICAgKi8KLSAgICBuYW1lZEZsb3dDcmVhdGVkOiBmdW5jdGlvbihuYW1lZEZsb3dQYXlsb2Fk
KQotICAgIHsKLSAgICAgICAgdGhpcy5fY3NzTW9kZWwuX25hbWVkRmxvd0NyZWF0ZWQobmFtZWRG
bG93UGF5bG9hZCk7Ci0gICAgfSwKLQotICAgIC8qKgogICAgICAqIEBwYXJhbSB7RE9NQWdlbnQu
Tm9kZUlkfSBkb2N1bWVudE5vZGVJZAotICAgICAqIEBwYXJhbSB7c3RyaW5nfSBmbG93TmFtZQor
ICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgICAgICovCi0gICAgbmFtZWRGbG93UmVtb3Zl
ZDogZnVuY3Rpb24oZG9jdW1lbnROb2RlSWQsIGZsb3dOYW1lKQorICAgIG5hbWVkRmxvd0NyZWF0
ZWQ6IGZ1bmN0aW9uKGRvY3VtZW50Tm9kZUlkLCBuYW1lKQogICAgIHsKLSAgICAgICAgdGhpcy5f
Y3NzTW9kZWwuX25hbWVkRmxvd1JlbW92ZWQoZG9jdW1lbnROb2RlSWQsIGZsb3dOYW1lKTsKKyAg
ICAgICAgdGhpcy5fY3NzTW9kZWwuX25hbWVkRmxvd0NyZWF0ZWQoZG9jdW1lbnROb2RlSWQsIG5h
bWUpOwogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBAcGFyYW0ge0NTU0FnZW50Lk5hbWVkRmxv
d30gbmFtZWRGbG93UGF5bG9hZAorICAgICAqIEBwYXJhbSB7RE9NQWdlbnQuTm9kZUlkfSBkb2N1
bWVudE5vZGVJZAorICAgICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lCiAgICAgICovCi0gICAgcmVn
aW9uTGF5b3V0VXBkYXRlZDogZnVuY3Rpb24obmFtZWRGbG93UGF5bG9hZCkKKyAgICBuYW1lZEZs
b3dSZW1vdmVkOiBmdW5jdGlvbihkb2N1bWVudE5vZGVJZCwgbmFtZSkKICAgICB7Ci0gICAgICAg
IHRoaXMuX2Nzc01vZGVsLl9yZWdpb25MYXlvdXRVcGRhdGVkKG5hbWVkRmxvd1BheWxvYWQpOwor
ICAgICAgICB0aGlzLl9jc3NNb2RlbC5fbmFtZWRGbG93UmVtb3ZlZChkb2N1bWVudE5vZGVJZCwg
bmFtZSk7CiAgICAgfQogfQogCkBAIC0xMzc2LDcgKzEzNTAsNyBAQCBXZWJJbnNwZWN0b3IuQ1NT
RGlzcGF0Y2hlci5wcm90b3R5cGUgPSB7CiAgKi8KIFdlYkluc3BlY3Rvci5OYW1lZEZsb3cgPSBm
dW5jdGlvbihwYXlsb2FkKQogewotICAgIHRoaXMuZG9jdW1lbnROb2RlSWQgPSBwYXlsb2FkLmRv
Y3VtZW50Tm9kZUlkOworICAgIHRoaXMubm9kZUlkID0gcGF5bG9hZC5kb2N1bWVudE5vZGVJZDsK
ICAgICB0aGlzLm5hbWUgPSBwYXlsb2FkLm5hbWU7CiAgICAgdGhpcy5vdmVyc2V0ID0gcGF5bG9h
ZC5vdmVyc2V0OwogICAgIHRoaXMuY29udGVudCA9IHBheWxvYWQuY29udGVudDsKQEAgLTEzOTMs
NTAgKzEzNjcsMjAgQEAgV2ViSW5zcGVjdG9yLk5hbWVkRmxvdy5wYXJzZVBheWxvYWQgPSBmdW5j
dGlvbihwYXlsb2FkKQogfQogCiAvKioKLSAqIEBjb25zdHJ1Y3RvcgotICogQHBhcmFtIHtBcnJh
eS48Q1NTQWdlbnQuTmFtZWRGbG93Pn0gcGF5bG9hZAorICogQHBhcmFtIHs/QXJyYXkuPENTU0Fn
ZW50Lk5hbWVkRmxvdz49fSBuYW1lZEZsb3dQYXlsb2FkCisgKiBAcmV0dXJuIHs/QXJyYXkuPFdl
Ykluc3BlY3Rvci5OYW1lZEZsb3c+fQogICovCi1XZWJJbnNwZWN0b3IuTmFtZWRGbG93Q29sbGVj
dGlvbiA9IGZ1bmN0aW9uKHBheWxvYWQpCitXZWJJbnNwZWN0b3IuTmFtZWRGbG93LnBhcnNlUGF5
bG9hZEFycmF5ID0gZnVuY3Rpb24obmFtZWRGbG93UGF5bG9hZCkKIHsKLSAgICAvKiogQHR5cGUg
e09iamVjdC48c3RyaW5nLCBXZWJJbnNwZWN0b3IuTmFtZWRGbG93Pn0gKi8KLSAgICB0aGlzLm5h
bWVkRmxvd01hcCA9IHt9OworICAgIGlmICghbmFtZWRGbG93UGF5bG9hZCkKKyAgICAgICAgcmV0
dXJuIG51bGw7CiAKLSAgICBmb3IgKHZhciBpID0gMDsgaSA8IHBheWxvYWQubGVuZ3RoOyArK2kp
IHsKLSAgICAgICAgdmFyIG5hbWVkRmxvdyA9IFdlYkluc3BlY3Rvci5OYW1lZEZsb3cucGFyc2VQ
YXlsb2FkKHBheWxvYWRbaV0pOwotICAgICAgICB0aGlzLm5hbWVkRmxvd01hcFtuYW1lZEZsb3cu
bmFtZV0gPSBuYW1lZEZsb3c7Ci0gICAgfQorICAgIHZhciBwYXJzZWRBcnJheSA9IFtdOworICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgbmFtZWRGbG93UGF5bG9hZC5sZW5ndGg7ICsraSkKKyAgICAg
ICAgcGFyc2VkQXJyYXlbaV0gPSBXZWJJbnNwZWN0b3IuTmFtZWRGbG93LnBhcnNlUGF5bG9hZChu
YW1lZEZsb3dQYXlsb2FkW2ldKTsKKyAgICByZXR1cm4gcGFyc2VkQXJyYXk7CiB9CiAKLVdlYklu
c3BlY3Rvci5OYW1lZEZsb3dDb2xsZWN0aW9uLnByb3RvdHlwZSA9IHsKLSAgICAvKioKLSAgICAg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5OYW1lZEZsb3d9IG5hbWVkRmxvdwotICAgICAqLwotICAg
IGFwcGVuZE5hbWVkRmxvdzogZnVuY3Rpb24obmFtZWRGbG93KQotICAgIHsKLSAgICAgICAgdGhp
cy5uYW1lZEZsb3dNYXBbbmFtZWRGbG93Lm5hbWVdID0gbmFtZWRGbG93OwotICAgIH0sCi0KLSAg
ICAvKioKLSAgICAgKiBAcGFyYW0ge3N0cmluZ30gZmxvd05hbWUKLSAgICAgKi8KLSAgICByZW1v
dmVOYW1lZEZsb3c6IGZ1bmN0aW9uKGZsb3dOYW1lKQotICAgIHsKLSAgICAgICAgZGVsZXRlIHRo
aXMubmFtZWRGbG93TWFwW2Zsb3dOYW1lXTsKLSAgICB9LAotCi0gICAgLyoqCi0gICAgICogQHBh
cmFtIHtzdHJpbmd9IGZsb3dOYW1lCi0gICAgICogQHJldHVybiB7V2ViSW5zcGVjdG9yLk5hbWVk
Rmxvd30KLSAgICAgKi8KLSAgICBmbG93QnlOYW1lOiBmdW5jdGlvbihmbG93TmFtZSkKLSAgICB7
Ci0gICAgICAgIHZhciBuYW1lZEZsb3cgPSB0aGlzLm5hbWVkRmxvd01hcFtmbG93TmFtZV07Ci0K
LSAgICAgICAgaWYgKCFuYW1lZEZsb3cpCi0gICAgICAgICAgICByZXR1cm4gbnVsbDsKLSAgICAg
ICAgcmV0dXJuIG5hbWVkRmxvdzsKLSAgICB9Ci19CiAvKioKICAqIEB0eXBlIHtXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVNb2RlbH0KICAqLwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck5hbWVkRmxvd1RocmVhZC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTmFtZWRGbG93VGhyZWFkLmNwcAppbmRleCA3NDYxZjQyYzIyYWIwYWUyMjk5MzFhNDY0
YWRkNDY1NWJjZWEyNzVkLi40ZTgzY2NhOWU2MjQ5MjBlZDdjYjg5NDdjNjQyNGE1YjJlOWJkZDQw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTmFtZWRGbG93VGhy
ZWFkLmNwcApAQCAtMjcsNyArMjcsNiBAQAogI2luY2x1ZGUgIlJlbmRlck5hbWVkRmxvd1RocmVh
ZC5oIgogCiAjaW5jbHVkZSAiRmxvd1RocmVhZENvbnRyb2xsZXIuaCIKLSNpbmNsdWRlICJJbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJSZW5kZXJSZWdpb24uaCIKICNpbmNs
dWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiV2ViS2l0TmFtZWRGbG93LmgiCkBAIC0zNTgs
NyArMzU3LDYgQEAgY29uc3QgQXRvbWljU3RyaW5nJiBSZW5kZXJOYW1lZEZsb3dUaHJlYWQ6OmZs
b3dUaHJlYWROYW1lKCkgY29uc3QKIHZvaWQgUmVuZGVyTmFtZWRGbG93VGhyZWFkOjpkaXNwYXRj
aFJlZ2lvbkxheW91dFVwZGF0ZUV2ZW50KCkKIHsKICAgICBSZW5kZXJGbG93VGhyZWFkOjpkaXNw
YXRjaFJlZ2lvbkxheW91dFVwZGF0ZUV2ZW50KCk7Ci0gICAgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjpkaWRVcGRhdGVSZWdpb25MYXlvdXQoZG9jdW1lbnQoKSwgbV9uYW1lZEZsb3cuZ2V0KCkp
OwogCiAgICAgaWYgKCFtX3JlZ2lvbkxheW91dFVwZGF0ZUV2ZW50VGltZXIuaXNBY3RpdmUoKSAm
JiBtX25hbWVkRmxvdy0+aGFzRXZlbnRMaXN0ZW5lcnMoKSkKICAgICAgICAgbV9yZWdpb25MYXlv
dXRVcGRhdGVFdmVudFRpbWVyLnN0YXJ0T25lU2hvdCgwKTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwY2EzNTIyYzgzMmJj
YWY1ZTMwYzEyNTcxYmM3NzQzNWFmZDlkMGY2Li4xOTcwNWEzZTAyZTVmMTUyZjMyZmMxMDk5OWIy
YzhjN2I2MWY2MWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMDktMDcgIFNoZXJpZmYg
Qm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgorCisgICAgICAgIFVucmV2aWV3ZWQs
IHJvbGxpbmcgb3V0IHIxMjc3ODAgYW5kIHIxMjc4NTkuCisgICAgICAgIGh0dHA6Ly90cmFjLndl
YmtpdC5vcmcvY2hhbmdlc2V0LzEyNzc4MAorICAgICAgICBodHRwOi8vdHJhYy53ZWJraXQub3Jn
L2NoYW5nZXNldC8xMjc4NTkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk2MTAyCisKKyAgICAgICAgImluc3BlY3Rvci9zdHlsZXMvcHJvdG9jb2wtY3Nz
LXJlZ2lvbnMtY29tbWFuZHMuaHRtbCBjcmFzaGluZworICAgICAgICBvbiBDaHJvbWl1bSBMaW51
eCBEZWJ1ZyBhbmQgdGltaW5nIG91dCBmbGFraWx5IG9uIFJlbGVhc2UiCisgICAgICAgIChSZXF1
ZXN0ZWQgYnkgYXBhdmxvdiBvbiAjd2Via2l0KS4KKworICAgICAgICAqIGluc3BlY3Rvci9zdHls
ZXMvcHJvdG9jb2wtY3NzLXJlZ2lvbnMtY29tbWFuZHMtZXhwZWN0ZWQudHh0OgorICAgICAgICAq
IGluc3BlY3Rvci9zdHlsZXMvcHJvdG9jb2wtY3NzLXJlZ2lvbnMtY29tbWFuZHMuaHRtbDoKKwog
MjAxMi0wOS0wNyAgWmFuIERvYmVyc2VrICA8emFuZG9iZXJzZWtAZ21haWwuY29tPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgR1RLIGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lu
c3BlY3Rvci9zdHlsZXMvcHJvdG9jb2wtY3NzLXJlZ2lvbnMtY29tbWFuZHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9wcm90b2NvbC1jc3MtcmVnaW9ucy1jb21t
YW5kcy1leHBlY3RlZC50eHQKaW5kZXggOWZlOWNmMzY3MjJmNjNiZWZiYzVjY2NkZjFiMDE1OWEx
YTk5ZGQ5Mi4uN2M4MmI0OGU3NTMxMTQ2YjZiMmEwYTg4M2ZhZmQ5OTc3M2IyMjBlOCAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9wcm90b2NvbC1jc3MtcmVnaW9ucy1j
b21tYW5kcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9w
cm90b2NvbC1jc3MtcmVnaW9ucy1jb21tYW5kcy1leHBlY3RlZC50eHQKQEAgLTQsMTEgKzQsOSBA
QCBnZXROYW1lZEZsb3dDb2xsZWN0aW9uIEJ1ZyA5MTYwNwogZ2V0Rmxvd0J5TmFtZSBCdWcgOTE4
NTUKIG5hbWVkRmxvd0NyZWF0ZWQgQnVnIDkyNzM5CiBuYW1lZEZsb3dSZW1vdmVkIEJ1ZyA5Mjcz
OQotcmVnaW9uTGF5b3V0VXBkYXRlZCBCdWcgOTM0NDMKLVRoaXMgdGV4dCBpcyBmcm9tIENTUyBO
YW1lZCBGbG93ICJmbG93MyIuCiAKIAotUnVubmluZzogdGVzdEdldE5hbWVkRmxvd0NvbGxlY3Rp
b24KK1J1bm5pbmc6IHRlc3RHZXROYW1lZEZsb3dDb2xsZWN0aW9uMQogPT09IENTUyBOYW1lZCBG
bG93cyBpbiBtYWluIGRvY3VtZW50ID09PQogKiBOYW1lZCBGbG93ICJmbG93MSIKIENvbnRlbnQg
RWxlbWVudHM6IDEKQEAgLTIwLDI2ICsxOCwyMyBAQCBSZWdpb25zOiAyCiBDb250ZW50IEVsZW1l
bnRzOiAxCiBSZWdpb25zOiAxCiAKLVJ1bm5pbmc6IHRlc3RHZXROYW1lZEZsb3dDb2xsZWN0aW9u
V2l0aEludmFsaWREb2N1bWVudAorUnVubmluZzogdGVzdEdldE5hbWVkRmxvd0NvbGxlY3Rpb24y
CiA9PT0gQ1NTIE5hbWVkIEZsb3dzIGluICNmYWtlLWRvY3VtZW50ID09PQogI2Zha2UtZG9jdW1l
bnQgaXMgbm90IGEgZG9jdW1lbnQKIAotUnVubmluZzogdGVzdEdldEZsb3dCeU5hbWUKK1J1bm5p
bmc6IHRlc3RHZXRGbG93QnlOYW1lMQogPT09IE5hbWVkIEZsb3cgImZsb3cyIiBmcm9tIG1haW4g
ZG9jdW1lbnQgPT09CiAqIE5hbWVkIEZsb3cgImZsb3cyIgogQ29udGVudCBFbGVtZW50czogMQog
UmVnaW9uczogMgogCi1SdW5uaW5nOiB0ZXN0R2V0Rmxvd0J5TmFtZVdpdGhJbnZhbGlkTmFtZQor
UnVubmluZzogdGVzdEdldEZsb3dCeU5hbWUyCiA9PT0gTmFtZSBGbG93ICJmbG93NCIgZnJvbSBt
YWluIGRvY3VtZW50ID09PQogVGhlcmUgaXMgbm8gTmFtZWQgRmxvdyAiZmxvdzQiIGluIHRoZSBt
YWluIGRvY3VtZW50CiAKIFJ1bm5pbmc6IHRlc3ROYW1lZEZsb3dDcmVhdGVkCiBOYW1lZEZsb3dD
cmVhdGVkOiAidG1wTmFtZWRGbG93IgogCi1SdW5uaW5nOiB0ZXN0UmVnaW9uTGF5b3V0VXBkYXRl
ZAotUmVnaW9uTGF5b3V0VXBkYXRlZDogImZsb3czIgotCiBSdW5uaW5nOiB0ZXN0TmFtZWRGbG93
UmVtb3ZlZAogTmFtZWRGbG93UmVtb3ZlZDogInRtcE5hbWVkRmxvdyIKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9wcm90b2NvbC1jc3MtcmVnaW9ucy1jb21tYW5k
cy5odG1sIGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL3N0eWxlcy9wcm90b2NvbC1jc3MtcmVnaW9u
cy1jb21tYW5kcy5odG1sCmluZGV4IDQwZWY2OTFmYWRhNGI5YWUxMjkwNGE4NWFkODA2Mjc0ZWQz
M2I2NzUuLmQ4MzRjMmE3ZmNmZWQ5MmVhZDgxZjRmMDZmNGQ4NWNkODBmOTFiNTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2luc3BlY3Rvci9zdHlsZXMvcHJvdG9jb2wtY3NzLXJlZ2lvbnMtY29t
bWFuZHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9pbnNwZWN0b3Ivc3R5bGVzL3Byb3RvY29sLWNz
cy1yZWdpb25zLWNvbW1hbmRzLmh0bWwKQEAgLTIxLDMyICsyMSwyNCBAQCBmdW5jdGlvbiBjcmVh
dGVEeW5hbWljRWxlbWVudHMoKQogZnVuY3Rpb24gY3JlYXRlTmFtZWRGbG93KCkKIHsKICAgICB2
YXIgYXJ0aWNsZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImFydGljbGUiKTsKLSAgICB2YXIg
ZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Ci0KICAgICBhcnRpY2xlLmlkID0g
InRtcEFydGljbGUiOwotICAgIGFydGljbGUuc3R5bGVbIi13ZWJraXQtZmxvdy1pbnRvIl0gPSAi
dG1wTmFtZWRGbG93IjsKLSAgICBhcnRpY2xlLnRleHRDb250ZW50ID0gIlRoaXMgdGV4dCBpcyBm
cm9tIENTUyBOYW1lZCBGbG93IFwidG1wTmFtZWRGbG93XCIiOwotCi0gICAgZGl2LmlkID0gInRt
cERpdiI7Ci0gICAgZGl2LnN0eWxlWyItd2Via2l0LWZsb3ctZnJvbSJdID0gInRtcE5hbWVkRmxv
dyI7Ci0gICAgZGl2LnN0eWxlWyJoZWlnaHQiXSA9ICI1cHgiOwotICAgIGRpdi5zdHlsZVsid2lk
dGgiXSA9ICIyMHB4IjsKKyAgICBhcnRpY2xlLnN0eWxlLndlYmtpdEZsb3dJbnRvID0gInRtcE5h
bWVkRmxvdyI7CiAKICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGFydGljbGUpOwotICAg
IGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZGl2KTsKIH0KIAogZnVuY3Rpb24gcmVtb3ZlTmFt
ZWRGbG93KCkKIHsKLSAgICBkb2N1bWVudC5ib2R5LnJlbW92ZUNoaWxkKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJ0bXBBcnRpY2xlIikpOwotICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRtcERpdiIpKTsKKyAgICB2YXIgYXJ0aWNsZSA9IGRv
Y3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0bXBBcnRpY2xlIik7CisKKyAgICBkb2N1bWVudC5ib2R5
LnJlbW92ZUNoaWxkKGFydGljbGUpOwogfQogCiBmdW5jdGlvbiB0ZXN0KCkKIHsKICAgICBXZWJJ
bnNwZWN0b3Iuc2hvd1BhbmVsKCJlbGVtZW50cyIpOwogICAgIEluc3BlY3RvclRlc3QucnVuVGVz
dFN1aXRlKFsKLSAgICAgICAgZnVuY3Rpb24gdGVzdEdldE5hbWVkRmxvd0NvbGxlY3Rpb24obmV4
dCkKKyAgICAgICAgZnVuY3Rpb24gdGVzdEdldE5hbWVkRmxvd0NvbGxlY3Rpb24xKG5leHQpCiAg
ICAgICAgIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0RG9jdW1l
bnQoZG9jdW1lbnRDYWxsYmFjayk7CiAKQEAgLTU1LDIwICs0NywxNiBAQCBmdW5jdGlvbiB0ZXN0
KCkKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuZ2V0TmFtZWRGbG93Q29s
bGVjdGlvbkFzeW5jKGRvY3VtZW50LmlkLCBuYW1lZEZsb3dDYWxsYmFjayk7CiAgICAgICAgICAg
ICB9CiAKLSAgICAgICAgICAgIGZ1bmN0aW9uIG5hbWVkRmxvd0NhbGxiYWNrKG5hbWVkRmxvd01h
cCkKKyAgICAgICAgICAgIGZ1bmN0aW9uIG5hbWVkRmxvd0NhbGxiYWNrKG5hbWVkRmxvd3MpCiAg
ICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIj09
PSBDU1MgTmFtZWQgRmxvd3MgaW4gbWFpbiBkb2N1bWVudCA9PT0iKTsKIAotICAgICAgICAgICAg
ICAgIGlmICghbmFtZWRGbG93TWFwKSB7CisgICAgICAgICAgICAgICAgaWYgKCFuYW1lZEZsb3dz
KSB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gRmFp
bGVkIHRvIGdldCBOYW1lZCBGbG93cyIpOwogICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JU
ZXN0LmNvbXBsZXRlVGVzdCgpOwogICAgICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgbmFtZWRGbG93cyA9IFtdOwotICAgICAgICAg
ICAgICAgIGZvciAodmFyIGZsb3dOYW1lIGluIG5hbWVkRmxvd01hcCkKLSAgICAgICAgICAgICAg
ICAgICAgbmFtZWRGbG93cy5wdXNoKG5hbWVkRmxvd01hcFtmbG93TmFtZV0pOwotCiAgICAgICAg
ICAgICAgICAgbmFtZWRGbG93cy5zb3J0KGZ1bmN0aW9uIChuZjEsIG5mMikgewogICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gKChuZjEubmFtZSA9PSBuZjIubmFtZSkgPyAwIDogKChuZjEubmFt
ZSA+IG5mMi5uYW1lKSA/IDEgOiAtMSkpOwogICAgICAgICAgICAgICAgIH0pOwpAQCAtODAsNyAr
NjgsNyBAQCBmdW5jdGlvbiB0ZXN0KCkKICAgICAgICAgICAgIH0KICAgICAgICAgfSwKIAotICAg
ICAgICBmdW5jdGlvbiB0ZXN0R2V0TmFtZWRGbG93Q29sbGVjdGlvbldpdGhJbnZhbGlkRG9jdW1l
bnQobmV4dCkKKyAgICAgICAgZnVuY3Rpb24gdGVzdEdldE5hbWVkRmxvd0NvbGxlY3Rpb24yKG5l
eHQpCiAgICAgICAgIHsKICAgICAgICAgICAgIFdlYkluc3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0
RG9jdW1lbnQoZG9jdW1lbnRDYWxsYmFjayk7CiAKQEAgLTk0LDExICs4MiwxMSBAQCBmdW5jdGlv
biB0ZXN0KCkKICAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwuZ2V0TmFtZWRG
bG93Q29sbGVjdGlvbkFzeW5jKG5vZGVJZCwgbmFtZWRGbG93Q2FsbGJhY2spOwogICAgICAgICAg
ICAgfQogCi0gICAgICAgICAgICBmdW5jdGlvbiBuYW1lZEZsb3dDYWxsYmFjayhuYW1lZEZsb3dN
YXApCisgICAgICAgICAgICBmdW5jdGlvbiBuYW1lZEZsb3dDYWxsYmFjayhuYW1lZEZsb3dzKQog
ICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCI9
PT0gQ1NTIE5hbWVkIEZsb3dzIGluICNmYWtlLWRvY3VtZW50ID09PSIpOwogCi0gICAgICAgICAg
ICAgICAgaWYgKG5hbWVkRmxvd01hcCkgeworICAgICAgICAgICAgICAgIGlmIChuYW1lZEZsb3dz
KSB7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJbIV0gRmFp
bGVkIik7CiAgICAgICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuY29tcGxldGVUZXN0KCk7
CiAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKQEAgLTEwOSw3ICs5Nyw3IEBAIGZ1bmN0aW9u
IHRlc3QoKQogICAgICAgICAgICAgfQogICAgICAgICB9LAogCi0gICAgICAgIGZ1bmN0aW9uIHRl
c3RHZXRGbG93QnlOYW1lKG5leHQpCisgICAgICAgIGZ1bmN0aW9uIHRlc3RHZXRGbG93QnlOYW1l
MShuZXh0KQogICAgICAgICB7CiAgICAgICAgICAgICBXZWJJbnNwZWN0b3IuZG9tQWdlbnQucmVx
dWVzdERvY3VtZW50KGRvY3VtZW50Q2FsbGJhY2spOwogCkBAIC0xMzQsNyArMTIyLDcgQEAgZnVu
Y3Rpb24gdGVzdCgpCiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCiAKLSAgICAgICAgZnVuY3Rp
b24gdGVzdEdldEZsb3dCeU5hbWVXaXRoSW52YWxpZE5hbWUobmV4dCkKKyAgICAgICAgZnVuY3Rp
b24gdGVzdEdldEZsb3dCeU5hbWUyKG5leHQpCiAgICAgICAgIHsKICAgICAgICAgICAgIFdlYklu
c3BlY3Rvci5kb21BZ2VudC5yZXF1ZXN0RG9jdW1lbnQoZG9jdW1lbnRDYWxsYmFjayk7CiAKQEAg
LTE2NSwyOSArMTUzLDE1IEBAIGZ1bmN0aW9uIHRlc3QoKQogCiAgICAgICAgICAgICBmdW5jdGlv
biBjYWxsYmFjayhldmVudCkKICAgICAgICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAoZXZl
bnQuZGF0YS5uYW1lICE9PSAidG1wTmFtZWRGbG93IikKLSAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOwotCiAgICAgICAgICAgICAgICAgV2ViSW5zcGVjdG9yLmNzc01vZGVsLnJlbW92ZUV2ZW50
TGlzdGVuZXIoV2ViSW5zcGVjdG9yLkNTU1N0eWxlTW9kZWwuRXZlbnRzLk5hbWVkRmxvd0NyZWF0
ZWQsIGNhbGxiYWNrLCB0aGlzKTsKIAotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuYWRk
UmVzdWx0KCJOYW1lZEZsb3dDcmVhdGVkOiBcInRtcE5hbWVkRmxvd1wiIik7Ci0gICAgICAgICAg
ICAgICAgbmV4dCgpOwotICAgICAgICAgICAgfQotICAgICAgICB9LAotCi0gICAgICAgIGZ1bmN0
aW9uIHRlc3RSZWdpb25MYXlvdXRVcGRhdGVkKG5leHQpCi0gICAgICAgIHsKLSAgICAgICAgICAg
IFdlYkluc3BlY3Rvci5jc3NNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NT
dHlsZU1vZGVsLkV2ZW50cy5SZWdpb25MYXlvdXRVcGRhdGVkLCBjYWxsYmFjaywgdGhpcyk7Ci0g
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1YXRlSW5QYWdlKCJkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZChcInJlZ2lvbjNcIikuc3R5bGVbXCJ3aWR0aFwiXSA9IFwiMjAwcHhcIiIpOwotCi0g
ICAgICAgICAgICBmdW5jdGlvbiBjYWxsYmFjayhldmVudCkKLSAgICAgICAgICAgIHsKLSAgICAg
ICAgICAgICAgICBpZiAoZXZlbnQuZGF0YS5uYW1lICE9PSAiZmxvdzMiKQorICAgICAgICAgICAg
ICAgIGlmIChldmVudC5kYXRhLm5hbWUgIT09ICJ0bXBOYW1lZEZsb3ciKSB7CisgICAgICAgICAg
ICAgICAgICAgIEluc3BlY3Rvci5hZGRSZXN1bHQoIlshXSBGYWlsZWQiKTsKKyAgICAgICAgICAg
ICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgICAgIFdlYkluc3Bl
Y3Rvci5jc3NNb2RlbC5yZW1vdmVFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5DU1NTdHlsZU1v
ZGVsLkV2ZW50cy5SZWdpb25MYXlvdXRVcGRhdGVkLCBjYWxsYmFjaywgdGhpcyk7Ci0KLSAgICAg
ICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFkZFJlc3VsdCgiUmVnaW9uTGF5b3V0VXBkYXRlZDog
XCJmbG93M1wiIik7CisgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQoIk5h
bWVkRmxvd0NyZWF0ZWQ6IFwidG1wTmFtZWRGbG93XCIiKTsKICAgICAgICAgICAgICAgICBuZXh0
KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sCkBAIC0xOTksMTAgKzE3MywxMiBAQCBmdW5j
dGlvbiB0ZXN0KCkKIAogICAgICAgICAgICAgZnVuY3Rpb24gY2FsbGJhY2soZXZlbnQpCiAgICAg
ICAgICAgICB7Ci0gICAgICAgICAgICAgICAgaWYgKGV2ZW50LmRhdGEuZmxvd05hbWUgIT09ICJ0
bXBOYW1lZEZsb3ciKQotICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0KICAgICAgICAgICAg
ICAgICBXZWJJbnNwZWN0b3IuY3NzTW9kZWwucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuQ1NTU3R5bGVNb2RlbC5FdmVudHMuTmFtZWRGbG93UmVtb3ZlZCwgY2FsbGJhY2ssIHRoaXMp
OworICAgICAgICAgICAgICAgIGlmIChldmVudC5kYXRhLm5hbWUgIT09ICJ0bXBOYW1lZEZsb3ci
KSB7CisgICAgICAgICAgICAgICAgICAgIEluc3BlY3Rvci5hZGRSZXN1bHQoIlshXSBGYWlsZWQi
KTsKKyAgICAgICAgICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAg
ICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAg
ICAgICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJOYW1lZEZsb3dSZW1vdmVkOiBcInRtcE5h
bWVkRmxvd1wiIik7CiAgICAgICAgICAgICAgICAgbmV4dCgpOwpAQCAtMjI4LDcgKzIwNCw2IEBA
IFRlc3RzIHRoZSBmb2xsb3dpbmcgY29tbWFuZHMgYW5kIGV2ZW50czoKICAgICA8bGk+Z2V0Rmxv
d0J5TmFtZSA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTE4NTUiPkJ1ZyA5MTg1NTwvYT48L2xpPgogICAgIDxsaT5uYW1lZEZsb3dDcmVhdGVkIDxhIGhy
ZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05MjczOSI+QnVnIDky
NzM5PC9hPjwvbGk+CiAgICAgPGxpPm5hbWVkRmxvd1JlbW92ZWQgPGEgaHJlZj0iaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTkyNzM5Ij5CdWcgOTI3Mzk8L2E+PC9saT4K
LSAgICA8bGk+cmVnaW9uTGF5b3V0VXBkYXRlZCA8YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTM0NDMiPkJ1ZyA5MzQ0MzwvYT48L2xpPgogPC91bD4KIDwv
cD4KIApAQCAtMjQxLDEwICsyMTYsOCBAQCBUZXN0cyB0aGUgZm9sbG93aW5nIGNvbW1hbmRzIGFu
ZCBldmVudHM6CiA8ZGl2IHN0eWxlPSItd2Via2l0LWZsb3ctZnJvbTogZmxvdzIiPjwvZGl2Pgog
PGRpdiBzdHlsZT0iLXdlYmtpdC1mbG93LWZyb206IGZsb3cyIj48L2Rpdj4KIAotPGFydGljbGUg
c3R5bGU9Ii13ZWJraXQtZmxvdy1pbnRvOiBmbG93MyI+Ci0gICAgVGhpcyB0ZXh0IGlzIGZyb20g
Q1NTIE5hbWVkIEZsb3cgImZsb3czIi4KLTwvYXJ0aWNsZT4KLTxkaXYgaWQ9InJlZ2lvbjMiIHN0
eWxlPSItd2Via2l0LWZsb3ctZnJvbTogZmxvdzM7IGhlaWdodDogMjBweDsgd2lkdGg6IDVweCI+
PC9kaXY+Cis8YXJ0aWNsZSBzdHlsZT0iLXdlYmtpdC1mbG93LWludG86IGZsb3czIj48L2FydGlj
bGU+Cis8ZGl2IHN0eWxlPSItd2Via2l0LWZsb3ctZnJvbTogZmxvdzMiPjwvZGl2PgogCiA8ZGl2
IGlkPSJmYWtlLWRvY3VtZW50Ij48L2Rpdj4KIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>