<?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>178476</bug_id>
          
          <creation_ts>2017-10-18 11:19:07 -0700</creation_ts>
          <short_desc>REGRESSION(r223321): This protocol change broke some internal builds (Requested by brrian__ on #webkit).</short_desc>
          <delta_ts>2017-10-18 11:40:05 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>177451</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="WebKit Commit Bot">commit-queue</reporter>
          <assigned_to name="WebKit Commit Bot">commit-queue</assigned_to>
          <cc>bburg</cc>
    
    <cc>buildbot</cc>
    
    <cc>cdumez</cc>
    
    <cc>dbates</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>hi</cc>
    
    <cc>joepeck</cc>
    
    <cc>kangil.han</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1361794</commentid>
    <comment_count>0</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 11:19:07 -0700</bug_when>
    <thetext>https://trac.webkit.org/changeset/223321 broke the build:
This protocol change broke some internal builds (Requested by brrian__ on #webkit).

This is an automatic bug report generated by webkitbot. 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 fail.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361796</commentid>
    <comment_count>1</comment_count>
      <attachid>324138</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 11:19:18 -0700</bug_when>
    <thetext>Created attachment 324138
ROLLOUT of r223321

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>1361802</commentid>
    <comment_count>2</comment_count>
      <attachid>324138</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 11:28:25 -0700</bug_when>
    <thetext>Comment on attachment 324138
ROLLOUT of r223321

Clearing flags on attachment: 324138

Committed r223618: &lt;https://trac.webkit.org/changeset/223618&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361803</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-10-18 11:28:27 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361804</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-10-18 11:28:52 -0700</bug_when>
    <thetext>&lt;rdar://problem/35056300&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361807</commentid>
    <comment_count>5</comment_count>
    <who name="Devin Rousso">hi</who>
    <bug_when>2017-10-18 11:33:57 -0700</bug_when>
    <thetext>@brrian can you provide me with any info as to what broke the build?  I&apos;ve used this feature already when debugging WebInspector and it has been extremely useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1361816</commentid>
    <comment_count>6</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-10-18 11:40:05 -0700</bug_when>
    <thetext>(In reply to Devin Rousso from comment #5)
&gt; @brrian can you provide me with any info as to what broke the build?  I&apos;ve
&gt; used this feature already when debugging WebInspector and it has been
&gt; extremely useful.

You really, really don&apos;t want to know. :(</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>324138</attachid>
            <date>2017-10-18 11:19:18 -0700</date>
            <delta_ts>2017-10-18 11:28:25 -0700</delta_ts>
            <desc>ROLLOUT of r223321</desc>
            <filename>bug-178476-20171018141917.patch</filename>
            <type>text/plain</type>
            <size>35214</size>
            <attacher name="WebKit Commit Bot">commit-queue</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjIzNjE0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA0
YzA2YjEyZmMxNWViMmQwNmRhYTAzZTA4MmEzNmJmZjFmOTkzMzdmLi45YTk3YThkMzMzOGFmYjNm
OWUxMjE0MzQ0ZGMxMzQzNGI0NDNmODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOCBAQAorMjAxNy0xMC0xOCAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQgcjIyMzMyMS4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3ODQ3NgorCisgICAg
ICAgIFRoaXMgcHJvdG9jb2wgY2hhbmdlIGJyb2tlIHNvbWUgaW50ZXJuYWwgYnVpbGRzIChSZXF1
ZXN0ZWQgYnkKKyAgICAgICAgYnJyaWFuX18gb24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0
ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJXZWIgSW5zcGVjdG9yOiBwcm92aWRlIGEgd2F5IHRv
IGVuYWJsZS9kaXNhYmxlIGV2ZW50CisgICAgICAgIGxpc3RlbmVycyIKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE3NzQ1MQorICAgICAgICBodHRwczov
L3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQvMjIzMzIxCisKIDIwMTctMTAtMTggIE1hcmsgTGFt
ICA8bWFyay5sYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFRoZSBjb21waWxlciBzaG91bGQgYWx3
YXlzIHJlZ2lzdGVyIGEgc3RydWN0dXJlIHdoZW4gaXQgYWRkcyBpdHMgdHJhbnNpdGlvbldhdGNo
UG9pbnRTZXQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWY5ZmU3NWIyZjcxNmZmODcxYmZmNmUxNTBkY2FkOTVh
Njk0YWJmZi4uMDIyZWVjZTY3NTg1ZTk2MjJhMGE1NGU0NDI4YTY1MDNiZjMxOTcxOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTE4ICBDb21taXQgUXVldWUgIDxjb21taXQt
cXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjIz
MzIxLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc4
NDc2CisKKyAgICAgICAgVGhpcyBwcm90b2NvbCBjaGFuZ2UgYnJva2Ugc29tZSBpbnRlcm5hbCBi
dWlsZHMgKFJlcXVlc3RlZCBieQorICAgICAgICBicnJpYW5fXyBvbiAjd2Via2l0KS4KKworICAg
ICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIldlYiBJbnNwZWN0b3I6IHByb3Zp
ZGUgYSB3YXkgdG8gZW5hYmxlL2Rpc2FibGUgZXZlbnQKKyAgICAgICAgbGlzdGVuZXJzIgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc3NDUxCisgICAg
ICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMjMzMjEKKwogMjAxNy0xMC0x
OCAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtTZXR0aW5nc10gTWlz
Y2VsbGFuZW91cyBjbGVhbnVwIG9mIHRoZSBzZXR0aW5ncyBnZW5lcmF0aW9uIHNjcmlwdHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGQ2OTYzNzFmOTcwOTU4YWFiYmY0MGUxOGZiZjQwMGVl
OTczOWFmNjcuLjEwZDYzNDc5ZGE0ZTVkZjViMjI3NDM1NzY3Yjg1YTA0YWU4Yzk1NDIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE3LTEwLTE4ICBDb21taXQg
UXVldWUgIDxjb21taXQtcXVldWVAd2Via2l0Lm9yZz4KKworICAgICAgICBVbnJldmlld2VkLCBy
b2xsaW5nIG91dCByMjIzMzIxLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTc4NDc2CisKKyAgICAgICAgVGhpcyBwcm90b2NvbCBjaGFuZ2UgYnJva2Ug
c29tZSBpbnRlcm5hbCBidWlsZHMgKFJlcXVlc3RlZCBieQorICAgICAgICBicnJpYW5fXyBvbiAj
d2Via2l0KS4KKworICAgICAgICBSZXZlcnRlZCBjaGFuZ2VzZXQ6CisKKyAgICAgICAgIldlYiBJ
bnNwZWN0b3I6IHByb3ZpZGUgYSB3YXkgdG8gZW5hYmxlL2Rpc2FibGUgZXZlbnQKKyAgICAgICAg
bGlzdGVuZXJzIgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTc3NDUxCisgICAgICAgIGh0dHBzOi8vdHJhYy53ZWJraXQub3JnL2NoYW5nZXNldC8yMjMz
MjEKKwogMjAxNy0xMC0xNyAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBbUEFSSVRZXSBTdHlsZXMgUmVkZXNpZ246IEFkZCBj
b2xvciBwaWNrZXIgaW5saW5lIHdpZGdldApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRD
b3JlL2luc3BlY3Rvci9wcm90b2NvbC9ET00uanNvbiBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9p
bnNwZWN0b3IvcHJvdG9jb2wvRE9NLmpzb24KaW5kZXggMDM4ZjMwOTBiOTdjNDQ2ZTNjOTU5OWQ2
MThhNzljMzVhOTA2YmI3Ni4uZjlkZjY2ZDMxNjNkNmJmOWNmMTgzY2U3ODk3NDgxOTY0NTY2ODZh
ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2luc3BlY3Rvci9wcm90b2NvbC9E
T00uanNvbgorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaW5zcGVjdG9yL3Byb3RvY29sL0RP
TS5qc29uCkBAIC0xNCwxMSArMTQsNiBAQAogICAgICAgICAgICAgImRlc2NyaXB0aW9uIjogIlVu
aXF1ZSBET00gbm9kZSBpZGVudGlmaWVyIHVzZWQgdG8gcmVmZXJlbmNlIGEgbm9kZSB0aGF0IG1h
eSBub3QgaGF2ZSBiZWVuIHB1c2hlZCB0byB0aGUgZnJvbnQtZW5kLiIKICAgICAgICAgfSwKICAg
ICAgICAgewotICAgICAgICAgICAgImlkIjogIkV2ZW50TGlzdGVuZXJJZCIsCi0gICAgICAgICAg
ICAidHlwZSI6ICJpbnRlZ2VyIiwKLSAgICAgICAgICAgICJkZXNjcmlwdGlvbiI6ICJVbmlxdWUg
ZXZlbnQgbGlzdGVuZXIgaWRlbnRpZmllci4iCi0gICAgICAgIH0sCi0gICAgICAgIHsKICAgICAg
ICAgICAgICJpZCI6ICJQc2V1ZG9UeXBlIiwKICAgICAgICAgICAgICJ0eXBlIjogInN0cmluZyIs
CiAgICAgICAgICAgICAiZW51bSI6IFsiYmVmb3JlIiwgImFmdGVyIl0sCkBAIC03OSw3ICs3NCw2
IEBACiAgICAgICAgICAgICAidHlwZSI6ICJvYmplY3QiLAogICAgICAgICAgICAgImRlc2NyaXB0
aW9uIjogIkEgc3RydWN0dXJlIGhvbGRpbmcgZXZlbnQgbGlzdGVuZXIgcHJvcGVydGllcy4iLAog
ICAgICAgICAgICAgInByb3BlcnRpZXMiOiBbCi0gICAgICAgICAgICAgICAgeyAibmFtZSI6ICJl
dmVudExpc3RlbmVySWQiLCAiJHJlZiI6ICJFdmVudExpc3RlbmVySWQiIH0sCiAgICAgICAgICAg
ICAgICAgeyAibmFtZSI6ICJ0eXBlIiwgInR5cGUiOiAic3RyaW5nIiwgImRlc2NyaXB0aW9uIjog
Ijxjb2RlPkV2ZW50TGlzdGVuZXI8L2NvZGU+J3MgdHlwZS4iIH0sCiAgICAgICAgICAgICAgICAg
eyAibmFtZSI6ICJ1c2VDYXB0dXJlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJkZXNjcmlwdGlvbiI6
ICI8Y29kZT5FdmVudExpc3RlbmVyPC9jb2RlPidzIHVzZUNhcHR1cmUuIiB9LAogICAgICAgICAg
ICAgICAgIHsgIm5hbWUiOiAiaXNBdHRyaWJ1dGUiLCAidHlwZSI6ICJib29sZWFuIiwgImRlc2Ny
aXB0aW9uIjogIjxjb2RlPkV2ZW50TGlzdGVuZXI8L2NvZGU+J3MgaXNBdHRyaWJ1dGUuIiB9LApA
QCAtODksOCArODMsNyBAQAogICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAic291cmNlTmFtZSIs
ICJ0eXBlIjogInN0cmluZyIsICJvcHRpb25hbCI6IHRydWUsICJkZXNjcmlwdGlvbiI6ICJTb3Vy
Y2Ugc2NyaXB0IFVSTC4iIH0sCiAgICAgICAgICAgICAgICAgeyAibmFtZSI6ICJoYW5kbGVyIiwg
IiRyZWYiOiAiUnVudGltZS5SZW1vdGVPYmplY3QiLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3Jp
cHRpb24iOiAiRXZlbnQgaGFuZGxlciBmdW5jdGlvbiB2YWx1ZS4iIH0sCiAgICAgICAgICAgICAg
ICAgeyAibmFtZSI6ICJwYXNzaXZlIiwgInR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRy
dWUsICJkZXNjcmlwdGlvbiI6ICI8Y29kZT5FdmVudExpc3RlbmVyPC9jb2RlPidzIHBhc3NpdmUu
IiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAib25jZSIsICJ0eXBlIjogImJvb2xlYW4i
LCAib3B0aW9uYWwiOiB0cnVlLCAiZGVzY3JpcHRpb24iOiAiPGNvZGU+RXZlbnRMaXN0ZW5lcjwv
Y29kZT4ncyBvbmNlLiIgfSwKLSAgICAgICAgICAgICAgICB7ICJuYW1lIjogImRpc2FibGVkIiwg
InR5cGUiOiAiYm9vbGVhbiIsICJvcHRpb25hbCI6IHRydWUgfQorICAgICAgICAgICAgICAgIHsg
Im5hbWUiOiAib25jZSIsICJ0eXBlIjogImJvb2xlYW4iLCAib3B0aW9uYWwiOiB0cnVlLCAiZGVz
Y3JpcHRpb24iOiAiPGNvZGU+RXZlbnRMaXN0ZW5lcjwvY29kZT4ncyBvbmNlLiIgfQogICAgICAg
ICAgICAgXQogICAgICAgICB9LAogICAgICAgICB7CkBAIC0yNjYsMTQgKzI1OSw2IEBACiAgICAg
ICAgICAgICBdCiAgICAgICAgIH0sCiAgICAgICAgIHsKLSAgICAgICAgICAgICJuYW1lIjogInNl
dEV2ZW50TGlzdGVuZXJEaXNhYmxlZCIsCi0gICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiRW5h
YmxlL2Rpc2FibGUgdGhlIGdpdmVuIGV2ZW50IGxpc3RlbmVyLiBBIGRpc2FibGVkIGV2ZW50IGxp
c3RlbmVyIHdpbGwgbm90IGZpcmUuIiwKLSAgICAgICAgICAgICJwYXJhbWV0ZXJzIjogWwotICAg
ICAgICAgICAgICAgIHsgIm5hbWUiOiAiZXZlbnRMaXN0ZW5lcklkIiwgIiRyZWYiOiAiRXZlbnRM
aXN0ZW5lcklkIiB9LAotICAgICAgICAgICAgICAgIHsgIm5hbWUiOiAiZGlzYWJsZWQiLCAidHlw
ZSI6ICJib29sZWFuIiB9Ci0gICAgICAgICAgICBdCi0gICAgICAgIH0sCi0gICAgICAgIHsKICAg
ICAgICAgICAgICJuYW1lIjogImdldEFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzRm9yTm9kZSIsCiAg
ICAgICAgICAgICAiZGVzY3JpcHRpb24iOiAiUmV0dXJucyBhIGRpY3Rpb25hcnkgb2YgYWNjZXNz
aWJpbGl0eSBwcm9wZXJ0aWVzIGZvciB0aGUgbm9kZS4iLAogICAgICAgICAgICAgInBhcmFtZXRl
cnMiOiBbCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmNwcAppbmRleCBmNmE4YWRhYTA2Mzg3ZDQ5
ZDMyNDViMmQwMDUzYTgxYTBhNjUyMTY4Li40Yzg3NTkwMTA3MWE3NTk0ZGU2NDQ2NDIwY2UzZWU3
NTk5ZDVkYTk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5jcHAKQEAgLTI3OCw5ICsyNzgs
NiBAQCB2b2lkIEV2ZW50VGFyZ2V0OjpmaXJlRXZlbnRMaXN0ZW5lcnMoRXZlbnQmIGV2ZW50LCBF
dmVudExpc3RlbmVyVmVjdG9yIGxpc3RlbmVycwogICAgICAgICBpZiAoZXZlbnQuZXZlbnRQaGFz
ZSgpID09IEV2ZW50OjpCVUJCTElOR19QSEFTRSAmJiByZWdpc3RlcmVkTGlzdGVuZXItPnVzZUNh
cHR1cmUoKSkKICAgICAgICAgICAgIGNvbnRpbnVlOwogCi0gICAgICAgIGlmIChJbnNwZWN0b3JJ
bnN0cnVtZW50YXRpb246OmlzRXZlbnRMaXN0ZW5lckRpc2FibGVkKCp0aGlzLCBldmVudC50eXBl
KCksIHJlZ2lzdGVyZWRMaXN0ZW5lci0+Y2FsbGJhY2soKSwgcmVnaXN0ZXJlZExpc3RlbmVyLT51
c2VDYXB0dXJlKCkpKQotICAgICAgICAgICAgY29udGludWU7Ci0KICAgICAgICAgLy8gSWYgc3Rv
cEltbWVkaWF0ZVByb3BhZ2F0aW9uIGhhcyBiZWVuIGNhbGxlZCwgd2UganVzdCBicmVhayBvdXQg
aW1tZWRpYXRlbHksIHdpdGhvdXQKICAgICAgICAgLy8gaGFuZGxpbmcgYW55IG1vcmUgZXZlbnRz
IG9uIHRoaXMgdGFyZ2V0LgogICAgICAgICBpZiAoZXZlbnQuaW1tZWRpYXRlUHJvcGFnYXRpb25T
dG9wcGVkKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckRPTUFnZW50
LmNwcAppbmRleCAyZjAyNjk3NjZkYjk3Zjc2ZTM5YWUzMDcyZDkxZjI2NmZhNGFhYmY3Li5hMmUw
ODQxNGVmNDlhYWFhZjdlN2IzMjQ1Nzg5OGM5ZGI4MGFmZjBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2luc3BlY3Rvci9JbnNwZWN0b3JET01BZ2VudC5jcHAKQEAgLTQ4Niw3ICs0ODYsNiBAQCB2
b2lkIEluc3BlY3RvckRPTUFnZW50OjpkaXNjYXJkQmluZGluZ3MoKQogewogICAgIG1fZG9jdW1l
bnROb2RlVG9JZE1hcC5jbGVhcigpOwogICAgIG1faWRUb05vZGUuY2xlYXIoKTsKLSAgICBtX2V2
ZW50TGlzdGVuZXJFbnRyaWVzLmNsZWFyKCk7CiAgICAgcmVsZWFzZURhbmdsaW5nTm9kZXMoKTsK
ICAgICBtX2NoaWxkcmVuUmVxdWVzdGVkLmNsZWFyKCk7CiAgICAgbV9iYWNrZW5kSWRUb05vZGUu
Y2xlYXIoKTsKQEAgLTgzMSwzMSArODMwLDEyIEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6Omdl
dEV2ZW50TGlzdGVuZXJzRm9yTm9kZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGludCBuCiAg
ICAgVmVjdG9yPEV2ZW50TGlzdGVuZXJJbmZvPiBldmVudEluZm9ybWF0aW9uOwogICAgIGdldEV2
ZW50TGlzdGVuZXJzKG5vZGUsIGV2ZW50SW5mb3JtYXRpb24sIHRydWUpOwogCi0gICAgYXV0byBh
ZGRMaXN0ZW5lciA9IFsmXSAoUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBjb25z
dCBFdmVudExpc3RlbmVySW5mbyYgaW5mbykgewotICAgICAgICBpbnQgaWRlbnRpZmllciA9IDA7
Ci0gICAgICAgIGJvb2wgZGlzYWJsZWQgPSBmYWxzZTsKLQotICAgICAgICBhdXRvIGl0ID0gbV9l
dmVudExpc3RlbmVyRW50cmllcy5maW5kKCZsaXN0ZW5lci5jYWxsYmFjaygpKTsKLSAgICAgICAg
aWYgKGl0ID09IG1fZXZlbnRMaXN0ZW5lckVudHJpZXMuZW5kKCkpIHsKLSAgICAgICAgICAgIElu
c3BlY3RvckV2ZW50TGlzdGVuZXIgaW5zcGVjdG9yRXZlbnRMaXN0ZW5lcihtX2xhc3RFdmVudExp
c3RlbmVySWQrKywgKmluZm8ubm9kZSwgaW5mby5ldmVudFR5cGUsIGxpc3RlbmVyLnVzZUNhcHR1
cmUoKSk7Ci0gICAgICAgICAgICBtX2V2ZW50TGlzdGVuZXJFbnRyaWVzLmFkZCgmbGlzdGVuZXIu
Y2FsbGJhY2soKSwgaW5zcGVjdG9yRXZlbnRMaXN0ZW5lcik7Ci0KLSAgICAgICAgICAgIGlkZW50
aWZpZXIgPSBpbnNwZWN0b3JFdmVudExpc3RlbmVyLmlkZW50aWZpZXI7Ci0gICAgICAgICAgICBk
aXNhYmxlZCA9IGluc3BlY3RvckV2ZW50TGlzdGVuZXIuZGlzYWJsZWQ7Ci0gICAgICAgIH0gZWxz
ZSB7Ci0gICAgICAgICAgICBpZGVudGlmaWVyID0gaXQtPnZhbHVlLmlkZW50aWZpZXI7Ci0gICAg
ICAgICAgICBkaXNhYmxlZCA9IGl0LT52YWx1ZS5kaXNhYmxlZDsKLSAgICAgICAgfQotCi0gICAg
ICAgIGxpc3RlbmVyc0FycmF5LT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0ZW5lcihs
aXN0ZW5lciwgaWRlbnRpZmllciwgaW5mby5ldmVudFR5cGUsIGluZm8ubm9kZSwgb2JqZWN0R3Jv
dXAsIGRpc2FibGVkKSk7Ci0gICAgfTsKLQogICAgIC8vIEdldCBDYXB0dXJpbmcgTGlzdGVuZXJz
IChpbiB0aGlzIG9yZGVyKQogICAgIHNpemVfdCBldmVudEluZm9ybWF0aW9uTGVuZ3RoID0gZXZl
bnRJbmZvcm1hdGlvbi5zaXplKCk7CiAgICAgZm9yIChhdXRvJiBpbmZvIDogZXZlbnRJbmZvcm1h
dGlvbikgewogICAgICAgICBmb3IgKGF1dG8mIGxpc3RlbmVyIDogaW5mby5ldmVudExpc3RlbmVy
VmVjdG9yKSB7CiAgICAgICAgICAgICBpZiAobGlzdGVuZXItPnVzZUNhcHR1cmUoKSkKLSAgICAg
ICAgICAgICAgICBhZGRMaXN0ZW5lcigqbGlzdGVuZXIsIGluZm8pOworICAgICAgICAgICAgICAg
IGxpc3RlbmVyc0FycmF5LT5hZGRJdGVtKGJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0ZW5lcigqbGlz
dGVuZXIsIGluZm8uZXZlbnRUeXBlLCBpbmZvLm5vZGUsIG9iamVjdEdyb3VwKSk7CiAgICAgICAg
IH0KICAgICB9CiAKQEAgLTg2NCw3ICs4NDQsNyBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50Ojpn
ZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoRXJyb3JTdHJpbmcmIGVycm9yU3RyaW5nLCBpbnQgbgog
ICAgICAgICBjb25zdCBFdmVudExpc3RlbmVySW5mbyYgaW5mbyA9IGV2ZW50SW5mb3JtYXRpb25b
aSAtIDFdOwogICAgICAgICBmb3IgKGF1dG8mIGxpc3RlbmVyIDogaW5mby5ldmVudExpc3RlbmVy
VmVjdG9yKSB7CiAgICAgICAgICAgICBpZiAoIWxpc3RlbmVyLT51c2VDYXB0dXJlKCkpCi0gICAg
ICAgICAgICAgICAgYWRkTGlzdGVuZXIoKmxpc3RlbmVyLCBpbmZvKTsKKyAgICAgICAgICAgICAg
ICBsaXN0ZW5lcnNBcnJheS0+YWRkSXRlbShidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIoKmxp
c3RlbmVyLCBpbmZvLmV2ZW50VHlwZSwgaW5mby5ub2RlLCBvYmplY3RHcm91cCkpOwogICAgICAg
ICB9CiAgICAgfQogfQpAQCAtOTAxLDE4ICs4ODEsNiBAQCB2b2lkIEluc3BlY3RvckRPTUFnZW50
OjpnZXRFdmVudExpc3RlbmVycyhOb2RlKiBub2RlLCBWZWN0b3I8RXZlbnRMaXN0ZW5lckluZm8+
JgogICAgIH0KIH0KIAotdm9pZCBJbnNwZWN0b3JET01BZ2VudDo6c2V0RXZlbnRMaXN0ZW5lckRp
c2FibGVkKEVycm9yU3RyaW5nJiBlcnJvclN0cmluZywgaW50IGV2ZW50TGlzdGVuZXJJZCwgYm9v
bCBkaXNhYmxlZCkKLXsKLSAgICBmb3IgKEluc3BlY3RvckV2ZW50TGlzdGVuZXImIGluc3BlY3Rv
ckV2ZW50TGlzdGVuZXIgOiBtX2V2ZW50TGlzdGVuZXJFbnRyaWVzLnZhbHVlcygpKSB7Ci0gICAg
ICAgIGlmIChpbnNwZWN0b3JFdmVudExpc3RlbmVyLmlkZW50aWZpZXIgPT0gZXZlbnRMaXN0ZW5l
cklkKSB7Ci0gICAgICAgICAgICBpbnNwZWN0b3JFdmVudExpc3RlbmVyLmRpc2FibGVkID0gZGlz
YWJsZWQ7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBlcnJv
clN0cmluZyA9IEFTQ0lJTGl0ZXJhbCgiTm8gZXZlbnQgbGlzdGVuZXIgZm9yIGdpdmVuIGlkZW50
aWZpZXIuIik7Ci19Ci0KIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmdldEFjY2Vzc2liaWxpdHlQ
cm9wZXJ0aWVzRm9yTm9kZShFcnJvclN0cmluZyYgZXJyb3JTdHJpbmcsIGludCBub2RlSWQsIFJl
ZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpET006OkFjY2Vzc2liaWxpdHlQcm9wZXJ0aWVzPiYg
YXhQcm9wZXJ0aWVzKQogewogICAgIE5vZGUqIG5vZGUgPSBhc3NlcnROb2RlKGVycm9yU3RyaW5n
LCBub2RlSWQpOwpAQCAtMTU4Niw3ICsxNTU0LDcgQEAgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9j
b2w6OkFycmF5PEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTTo6Tm9kZT4+IEluc3BlY3RvckRPTUEK
ICAgICByZXR1cm4gV1RGTW92ZShwc2V1ZG9FbGVtZW50cyk7CiB9CiAKLVJlZjxJbnNwZWN0b3I6
OlByb3RvY29sOjpET006OkV2ZW50TGlzdGVuZXI+IEluc3BlY3RvckRPTUFnZW50OjpidWlsZE9i
amVjdEZvckV2ZW50TGlzdGVuZXIoY29uc3QgUmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXImIHJlZ2lz
dGVyZWRFdmVudExpc3RlbmVyLCBpbnQgaWRlbnRpZmllciwgY29uc3QgQXRvbWljU3RyaW5nJiBl
dmVudFR5cGUsIE5vZGUqIG5vZGUsIGNvbnN0IFN0cmluZyogb2JqZWN0R3JvdXBJZCwgYm9vbCBk
aXNhYmxlZCkKK1JlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpET006OkV2ZW50TGlzdGVuZXI+IElu
c3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2ZW50TGlzdGVuZXIoY29uc3QgUmVnaXN0
ZXJlZEV2ZW50TGlzdGVuZXImIHJlZ2lzdGVyZWRFdmVudExpc3RlbmVyLCBjb25zdCBBdG9taWNT
dHJpbmcmIGV2ZW50VHlwZSwgTm9kZSogbm9kZSwgY29uc3QgU3RyaW5nKiBvYmplY3RHcm91cElk
KQogewogICAgIFJlZjxFdmVudExpc3RlbmVyPiBldmVudExpc3RlbmVyID0gcmVnaXN0ZXJlZEV2
ZW50TGlzdGVuZXIuY2FsbGJhY2soKTsKIApAQCAtMTYxNyw3ICsxNTg1LDYgQEAgUmVmPEluc3Bl
Y3Rvcjo6UHJvdG9jb2w6OkRPTTo6RXZlbnRMaXN0ZW5lcj4gSW5zcGVjdG9yRE9NQWdlbnQ6OmJ1
aWxkT2JqZWN0Rm9yRXYKICAgICB9CiAKICAgICBhdXRvIHZhbHVlID0gSW5zcGVjdG9yOjpQcm90
b2NvbDo6RE9NOjpFdmVudExpc3RlbmVyOjpjcmVhdGUoKQotICAgICAgICAuc2V0RXZlbnRMaXN0
ZW5lcklkKGlkZW50aWZpZXIpCiAgICAgICAgIC5zZXRUeXBlKGV2ZW50VHlwZSkKICAgICAgICAg
LnNldFVzZUNhcHR1cmUocmVnaXN0ZXJlZEV2ZW50TGlzdGVuZXIudXNlQ2FwdHVyZSgpKQogICAg
ICAgICAuc2V0SXNBdHRyaWJ1dGUoZXZlbnRMaXN0ZW5lci0+aXNBdHRyaWJ1dGUoKSkKQEAgLTE2
NDMsOCArMTYxMCw2IEBAIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpET006OkV2ZW50TGlzdGVu
ZXI+IEluc3BlY3RvckRPTUFnZW50OjpidWlsZE9iamVjdEZvckV2CiAgICAgICAgIHZhbHVlLT5z
ZXRQYXNzaXZlKHRydWUpOwogICAgIGlmIChyZWdpc3RlcmVkRXZlbnRMaXN0ZW5lci5pc09uY2Uo
KSkKICAgICAgICAgdmFsdWUtPnNldE9uY2UodHJ1ZSk7Ci0gICAgaWYgKGRpc2FibGVkKQotICAg
ICAgICB2YWx1ZS0+c2V0RGlzYWJsZWQoZGlzYWJsZWQpOwogICAgIHJldHVybiB2YWx1ZTsKIH0K
ICAgICAKQEAgLTIyNTUsNyArMjIyMCw3IEBAIHZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OmRpZEFk
ZEV2ZW50TGlzdGVuZXIoRXZlbnRUYXJnZXQmIHRhcmdldCkKICAgICBtX2Zyb250ZW5kRGlzcGF0
Y2hlci0+ZGlkQWRkRXZlbnRMaXN0ZW5lcihub2RlSWQpOwogfQogCi12b2lkIEluc3BlY3RvckRP
TUFnZW50Ojp3aWxsUmVtb3ZlRXZlbnRMaXN0ZW5lcihFdmVudFRhcmdldCYgdGFyZ2V0LCBjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGJvb2wg
Y2FwdHVyZSkKK3ZvaWQgSW5zcGVjdG9yRE9NQWdlbnQ6OndpbGxSZW1vdmVFdmVudExpc3RlbmVy
KEV2ZW50VGFyZ2V0JiB0YXJnZXQpCiB7CiAgICAgTm9kZSogbm9kZSA9IHRhcmdldC50b05vZGUo
KTsKICAgICBpZiAoIW5vZGUpCkBAIC0yMjY1LDM0ICsyMjMwLDkgQEAgdm9pZCBJbnNwZWN0b3JE
T01BZ2VudDo6d2lsbFJlbW92ZUV2ZW50TGlzdGVuZXIoRXZlbnRUYXJnZXQmIHRhcmdldCwgY29u
c3QgQXRvbWkKICAgICBpZiAoIW5vZGVJZCkKICAgICAgICAgcmV0dXJuOwogCi0gICAgYm9vbCBs
aXN0ZW5lckV4aXN0cyA9IGZhbHNlOwotICAgIGZvciAoY29uc3QgUmVmUHRyPFJlZ2lzdGVyZWRF
dmVudExpc3RlbmVyPiYgaXRlbSA6IG5vZGUtPmV2ZW50TGlzdGVuZXJzKGV2ZW50VHlwZSkpIHsK
LSAgICAgICAgaWYgKGl0ZW0tPmNhbGxiYWNrKCkgPT0gbGlzdGVuZXIgJiYgaXRlbS0+dXNlQ2Fw
dHVyZSgpID09IGNhcHR1cmUpIHsKLSAgICAgICAgICAgIGxpc3RlbmVyRXhpc3RzID0gdHJ1ZTsK
LSAgICAgICAgICAgIGJyZWFrOwotICAgICAgICB9Ci0gICAgfQotCi0gICAgaWYgKCFsaXN0ZW5l
ckV4aXN0cykKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9ldmVudExpc3RlbmVyRW50cmllcy5y
ZW1vdmUoJmxpc3RlbmVyKTsKLQogICAgIG1fZnJvbnRlbmREaXNwYXRjaGVyLT53aWxsUmVtb3Zl
RXZlbnRMaXN0ZW5lcihub2RlSWQpOwogfQogCi1ib29sIEluc3BlY3RvckRPTUFnZW50Ojppc0V2
ZW50TGlzdGVuZXJEaXNhYmxlZChFdmVudFRhcmdldCYgdGFyZ2V0LCBjb25zdCBBdG9taWNTdHJp
bmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGJvb2wgY2FwdHVyZSkKLXsK
LSAgICBhdXRvIGl0ID0gbV9ldmVudExpc3RlbmVyRW50cmllcy5maW5kKCZsaXN0ZW5lcik7Ci0g
ICAgaWYgKGl0ID09IG1fZXZlbnRMaXN0ZW5lckVudHJpZXMuZW5kKCkpCi0gICAgICAgIHJldHVy
biBmYWxzZTsKLQotICAgIGlmICghaXQtPnZhbHVlLmRpc2FibGVkKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICByZXR1cm4gaXQtPnZhbHVlLmV2ZW50VGFyZ2V0LmdldCgpID09ICZ0YXJn
ZXQgJiYgaXQtPnZhbHVlLmV2ZW50VHlwZSA9PSBldmVudFR5cGUgJiYgaXQtPnZhbHVlLnVzZUNh
cHR1cmUgPT0gY2FwdHVyZTsKLX0KLQogTm9kZSogSW5zcGVjdG9yRE9NQWdlbnQ6Om5vZGVGb3JQ
YXRoKGNvbnN0IFN0cmluZyYgcGF0aCkKIHsKICAgICAvLyBUaGUgcGF0aCBpcyBvZiBmb3JtICIx
LEhUTUwsMixCT0RZLDEsRElWIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9y
L0luc3BlY3RvckRPTUFnZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
RE9NQWdlbnQuaAppbmRleCBmN2IxMzNmYWQwMmE5Yzc2NWI2MTRmZmM0NzAyYWM4MjlmOTI3MTQ3
Li42ZTVhMzQzMzhhNDgxZWU0OWY4YTc1NjhlZWI4NjQ4ZWY2Njc1OTVmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yRE9NQWdlbnQuaApAQCAtMTIzLDcgKzEyMyw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHNldE91dGVySFRNTChFcnJvclN0cmluZyYsIGludCBub2RlSWQs
IGNvbnN0IFN0cmluZyYgb3V0ZXJIVE1MKSBvdmVycmlkZTsKICAgICB2b2lkIHNldE5vZGVWYWx1
ZShFcnJvclN0cmluZyYsIGludCBub2RlSWQsIGNvbnN0IFN0cmluZyYgdmFsdWUpIG92ZXJyaWRl
OwogICAgIHZvaWQgZ2V0RXZlbnRMaXN0ZW5lcnNGb3JOb2RlKEVycm9yU3RyaW5nJiwgaW50IG5v
ZGVJZCwgY29uc3QgV1RGOjpTdHJpbmcqIGNvbnN0IG9iamVjdEdyb3VwLCBSZWZQdHI8SW5zcGVj
dG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpFdmVudExpc3Rl
bmVyPj4mIGxpc3RlbmVyc0FycmF5KSBvdmVycmlkZTsKLSAgICB2b2lkIHNldEV2ZW50TGlzdGVu
ZXJEaXNhYmxlZChFcnJvclN0cmluZyYsIGludCBldmVudExpc3RlbmVySWQsIGJvb2wgZGlzYWJs
ZWQpIG92ZXJyaWRlOwogICAgIHZvaWQgZ2V0QWNjZXNzaWJpbGl0eVByb3BlcnRpZXNGb3JOb2Rl
KEVycm9yU3RyaW5nJiwgaW50IG5vZGVJZCwgUmVmUHRyPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRP
TTo6QWNjZXNzaWJpbGl0eVByb3BlcnRpZXM+JiBheFByb3BlcnRpZXMpIG92ZXJyaWRlOwogICAg
IHZvaWQgcGVyZm9ybVNlYXJjaChFcnJvclN0cmluZyYsIGNvbnN0IFN0cmluZyYgd2hpdGVzcGFj
ZVRyaW1tZWRRdWVyeSwgY29uc3QgSW5zcGVjdG9yOjpJbnNwZWN0b3JBcnJheSogbm9kZUlkcywg
U3RyaW5nKiBzZWFyY2hJZCwgaW50KiByZXN1bHRDb3VudCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBn
ZXRTZWFyY2hSZXN1bHRzKEVycm9yU3RyaW5nJiwgY29uc3QgU3RyaW5nJiBzZWFyY2hJZCwgaW50
IGZyb21JbmRleCwgaW50IHRvSW5kZXgsIFJlZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJh
eTxpbnQ+PiYpIG92ZXJyaWRlOwpAQCAtMTY5LDggKzE2OCw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHBzZXVkb0VsZW1lbnRDcmVhdGVkKFBzZXVkb0VsZW1lbnQmKTsKICAgICB2b2lkIHBzZXVkb0Vs
ZW1lbnREZXN0cm95ZWQoUHNldWRvRWxlbWVudCYpOwogICAgIHZvaWQgZGlkQWRkRXZlbnRMaXN0
ZW5lcihFdmVudFRhcmdldCYpOwotICAgIHZvaWQgd2lsbFJlbW92ZUV2ZW50TGlzdGVuZXIoRXZl
bnRUYXJnZXQmLCBjb25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYs
IGJvb2wgY2FwdHVyZSk7Ci0gICAgYm9vbCBpc0V2ZW50TGlzdGVuZXJEaXNhYmxlZChFdmVudFRh
cmdldCYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgYm9v
bCBjYXB0dXJlKTsKKyAgICB2b2lkIHdpbGxSZW1vdmVFdmVudExpc3RlbmVyKEV2ZW50VGFyZ2V0
Jik7CiAKICAgICAvLyBDYWxsYmFja3MgdGhhdCBkb24ndCBkaXJlY3RseSBjb3JyZXNwb25kIHRv
IGFuIGluc3RydW1lbnRhdGlvbiBlbnRyeSBwb2ludC4KICAgICB2b2lkIHNldERvY3VtZW50KERv
Y3VtZW50Kik7CkBAIC0yMzQsNyArMjMyLDcgQEAgcHJpdmF0ZToKICAgICBSZWY8SW5zcGVjdG9y
OjpQcm90b2NvbDo6QXJyYXk8U3RyaW5nPj4gYnVpbGRBcnJheUZvckVsZW1lbnRBdHRyaWJ1dGVz
KEVsZW1lbnQqKTsKICAgICBSZWY8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8SW5zcGVjdG9y
OjpQcm90b2NvbDo6RE9NOjpOb2RlPj4gYnVpbGRBcnJheUZvckNvbnRhaW5lckNoaWxkcmVuKE5v
ZGUqIGNvbnRhaW5lciwgaW50IGRlcHRoLCBOb2RlVG9JZE1hcCogbm9kZXNNYXApOwogICAgIFJl
ZlB0cjxJbnNwZWN0b3I6OlByb3RvY29sOjpBcnJheTxJbnNwZWN0b3I6OlByb3RvY29sOjpET006
Ok5vZGU+PiBidWlsZEFycmF5Rm9yUHNldWRvRWxlbWVudHMoY29uc3QgRWxlbWVudCYsIE5vZGVU
b0lkTWFwKiBub2Rlc01hcCk7Ci0gICAgUmVmPEluc3BlY3Rvcjo6UHJvdG9jb2w6OkRPTTo6RXZl
bnRMaXN0ZW5lcj4gYnVpbGRPYmplY3RGb3JFdmVudExpc3RlbmVyKGNvbnN0IFJlZ2lzdGVyZWRF
dmVudExpc3RlbmVyJiwgaW50IGlkZW50aWZpZXIsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRU
eXBlLCBOb2RlKiwgY29uc3QgU3RyaW5nKiBvYmplY3RHcm91cElkLCBib29sIGRpc2FibGVkID0g
ZmFsc2UpOworICAgIFJlZjxJbnNwZWN0b3I6OlByb3RvY29sOjpET006OkV2ZW50TGlzdGVuZXI+
IGJ1aWxkT2JqZWN0Rm9yRXZlbnRMaXN0ZW5lcihjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5l
ciYsIGNvbnN0IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBOb2RlKiwgY29uc3QgU3RyaW5nKiBv
YmplY3RHcm91cElkKTsKICAgICBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6RE9NOjpBY2Nl
c3NpYmlsaXR5UHJvcGVydGllcz4gYnVpbGRPYmplY3RGb3JBY2Nlc3NpYmlsaXR5UHJvcGVydGll
cyhOb2RlKik7CiAgICAgdm9pZCBwcm9jZXNzQWNjZXNzaWJpbGl0eUNoaWxkcmVuKFJlZlB0cjxB
Y2Nlc3NpYmlsaXR5T2JqZWN0PiYmLCBSZWZQdHI8SW5zcGVjdG9yOjpQcm90b2NvbDo6QXJyYXk8
aW50Pj4mJik7CiAgICAgCkBAIC0yNzUsMjcgKzI3Myw2IEBAIHByaXZhdGU6CiAgICAgYm9vbCBt
X3NlYXJjaGluZ0Zvck5vZGUgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zdXBwcmVzc0F0dHJpYnV0
ZU1vZGlmaWVkRXZlbnQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9kb2N1bWVudFJlcXVlc3RlZCB7
IGZhbHNlIH07Ci0KLSAgICBzdHJ1Y3QgSW5zcGVjdG9yRXZlbnRMaXN0ZW5lciB7Ci0gICAgICAg
IGludCBpZGVudGlmaWVyIHsgMSB9OwotICAgICAgICBSZWZQdHI8RXZlbnRUYXJnZXQ+IGV2ZW50
VGFyZ2V0OwotICAgICAgICBBdG9taWNTdHJpbmcgZXZlbnRUeXBlOwotICAgICAgICBib29sIHVz
ZUNhcHR1cmUgeyBmYWxzZSB9OwotICAgICAgICBib29sIGRpc2FibGVkIHsgZmFsc2UgfTsKLQot
ICAgICAgICBJbnNwZWN0b3JFdmVudExpc3RlbmVyKCkgeyB9Ci0KLSAgICAgICAgSW5zcGVjdG9y
RXZlbnRMaXN0ZW5lcihpbnQgaWRlbnRpZmllciwgRXZlbnRUYXJnZXQmIGV2ZW50VGFyZ2V0LCBj
b25zdCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCB1c2VDYXB0dXJlKQotICAgICAgICAg
ICAgOiBpZGVudGlmaWVyKGlkZW50aWZpZXIpCi0gICAgICAgICAgICAsIGV2ZW50VGFyZ2V0KCZl
dmVudFRhcmdldCkKLSAgICAgICAgICAgICwgZXZlbnRUeXBlKGV2ZW50VHlwZSkKLSAgICAgICAg
ICAgICwgdXNlQ2FwdHVyZSh1c2VDYXB0dXJlKQotICAgICAgICB7Ci0gICAgICAgIH0KLSAgICB9
OwotCi0gICAgSGFzaE1hcDxFdmVudExpc3RlbmVyKiwgSW5zcGVjdG9yRXZlbnRMaXN0ZW5lcj4g
bV9ldmVudExpc3RlbmVyRW50cmllczsKLSAgICBpbnQgbV9sYXN0RXZlbnRMaXN0ZW5lcklkIHsg
MSB9OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAppbmRleCAxNDFjZDNk
ZjA5NDdlZGVkNzk4YWQ2NGMwYThiMTUwZjU3ZmRkZGE1Li4zYWRiMWU5MzI0MTZmZGI4Y2ZjMTlk
MjBlN2ZhZTY4YTU1MDE4ODMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3Iv
SW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmNwcApAQCAtMzI3LDE0ICszMjcsNyBAQCB2b2lk
IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlbW92ZUV2ZW50TGlzdGVuZXJJbXBsKElu
c3RydW1lbnRpbmdBZ2VudHMmCiAgICAgaWYgKFBhZ2VEZWJ1Z2dlckFnZW50KiBwYWdlRGVidWdn
ZXJBZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMucGFnZURlYnVnZ2VyQWdlbnQoKSkKICAgICAg
ICAgcGFnZURlYnVnZ2VyQWdlbnQtPndpbGxSZW1vdmVFdmVudExpc3RlbmVyKHRhcmdldCwgZXZl
bnRUeXBlLCBsaXN0ZW5lciwgY2FwdHVyZSk7CiAgICAgaWYgKEluc3BlY3RvckRPTUFnZW50KiBk
b21BZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVjdG9yRE9NQWdlbnQoKSkKLSAgICAg
ICAgZG9tQWdlbnQtPndpbGxSZW1vdmVFdmVudExpc3RlbmVyKHRhcmdldCwgZXZlbnRUeXBlLCBs
aXN0ZW5lciwgY2FwdHVyZSk7Ci19Ci0KLWJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpp
c0V2ZW50TGlzdGVuZXJEaXNhYmxlZEltcGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVu
dGluZ0FnZW50cywgRXZlbnRUYXJnZXQmIHRhcmdldCwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVu
dFR5cGUsIEV2ZW50TGlzdGVuZXImIGxpc3RlbmVyLCBib29sIGNhcHR1cmUpCi17Ci0gICAgaWYg
KEluc3BlY3RvckRPTUFnZW50KiBkb21BZ2VudCA9IGluc3RydW1lbnRpbmdBZ2VudHMuaW5zcGVj
dG9yRE9NQWdlbnQoKSkKLSAgICAgICAgcmV0dXJuIGRvbUFnZW50LT5pc0V2ZW50TGlzdGVuZXJE
aXNhYmxlZCh0YXJnZXQsIGV2ZW50VHlwZSwgbGlzdGVuZXIsIGNhcHR1cmUpOwotICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgZG9tQWdlbnQtPndpbGxSZW1vdmVFdmVudExpc3RlbmVyKHRhcmdl
dCk7CiB9CiAKIHZvaWQgSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uOjpkaWRQb3N0TWVzc2FnZUlt
cGwoSW5zdHJ1bWVudGluZ0FnZW50cyYgaW5zdHJ1bWVudGluZ0FnZW50cywgY29uc3QgVGltZXJC
YXNlJiB0aW1lciwgSlNDOjpFeGVjU3RhdGUmIHN0YXRlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL0luc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oCmluZGV4IDU2OGQzMzg5NDE3
ZWQwZTg0NzUyMmVmNTZjMjczODQxNDE1NGM4MTEuLjYzM2I1ZDAwOTdkNDIxZTI4MWY5ZjNkYjNj
MDRjNmQ3ZWUwYzA5YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNw
ZWN0b3JJbnN0cnVtZW50YXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgKQEAgLTE0Niw3ICsxNDYsNiBAQCBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgZGlkQ2FsbEZ1bmN0aW9uKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlv
bkNvb2tpZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRB
ZGRFdmVudExpc3RlbmVyKEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5
cGUpOwogICAgIHN0YXRpYyB2b2lkIHdpbGxSZW1vdmVFdmVudExpc3RlbmVyKEV2ZW50VGFyZ2V0
JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBib29sIGNh
cHR1cmUpOwotICAgIHN0YXRpYyBib29sIGlzRXZlbnRMaXN0ZW5lckRpc2FibGVkKEV2ZW50VGFy
Z2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBib29s
IGNhcHR1cmUpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb25Db29raWUgd2ls
bERpc3BhdGNoRXZlbnQoRG9jdW1lbnQmLCBjb25zdCBFdmVudCYsIGJvb2wgaGFzRXZlbnRMaXN0
ZW5lcnMpOwogICAgIHN0YXRpYyB2b2lkIGRpZERpc3BhdGNoRXZlbnQoY29uc3QgSW5zcGVjdG9y
SW5zdHJ1bWVudGF0aW9uQ29va2llJik7CiAgICAgc3RhdGljIHZvaWQgd2lsbEhhbmRsZUV2ZW50
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBFdmVudCYsIGNvbnN0IFJlZ2lzdGVyZWRF
dmVudExpc3RlbmVyJik7CkBAIC0zMjQsNyArMzIzLDYgQEAgcHJpdmF0ZToKICAgICBzdGF0aWMg
dm9pZCBkaWRDYWxsRnVuY3Rpb25JbXBsKGNvbnN0IEluc3BlY3Rvckluc3RydW1lbnRhdGlvbkNv
b2tpZSYsIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqKTsKICAgICBzdGF0aWMgdm9pZCBkaWRBZGRF
dmVudExpc3RlbmVySW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgRXZlbnRUYXJnZXQmLCBjb25z
dCBBdG9taWNTdHJpbmcmIGV2ZW50VHlwZSk7CiAgICAgc3RhdGljIHZvaWQgd2lsbFJlbW92ZUV2
ZW50TGlzdGVuZXJJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMmLCBFdmVudFRhcmdldCYsIGNvbnN0
IEF0b21pY1N0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgYm9vbCBjYXB0dXJlKTsK
LSAgICBzdGF0aWMgYm9vbCBpc0V2ZW50TGlzdGVuZXJEaXNhYmxlZEltcGwoSW5zdHJ1bWVudGlu
Z0FnZW50cyYsIEV2ZW50VGFyZ2V0JiwgY29uc3QgQXRvbWljU3RyaW5nJiBldmVudFR5cGUsIEV2
ZW50TGlzdGVuZXImLCBib29sIGNhcHR1cmUpOwogICAgIHN0YXRpYyBJbnNwZWN0b3JJbnN0cnVt
ZW50YXRpb25Db29raWUgd2lsbERpc3BhdGNoRXZlbnRJbXBsKEluc3RydW1lbnRpbmdBZ2VudHMm
LCBEb2N1bWVudCYsIGNvbnN0IEV2ZW50JiwgYm9vbCBoYXNFdmVudExpc3RlbmVycyk7CiAgICAg
c3RhdGljIHZvaWQgd2lsbEhhbmRsZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJiwgY29u
c3QgRXZlbnQmLCBjb25zdCBSZWdpc3RlcmVkRXZlbnRMaXN0ZW5lciYpOwogICAgIHN0YXRpYyB2
b2lkIGRpZEhhbmRsZUV2ZW50SW1wbChJbnN0cnVtZW50aW5nQWdlbnRzJik7CkBAIC02ODksMTQg
KzY4Nyw2IEBAIGlubGluZSB2b2lkIEluc3BlY3Rvckluc3RydW1lbnRhdGlvbjo6d2lsbFJlbW92
ZUV2ZW50TGlzdGVuZXIoRXZlbnRUYXJnZXQmIHRhcmdlCiAgICAgICAgIHdpbGxSZW1vdmVFdmVu
dExpc3RlbmVySW1wbCgqaW5zdHJ1bWVudGluZ0FnZW50cywgdGFyZ2V0LCBldmVudFR5cGUsIGxp
c3RlbmVyLCBjYXB0dXJlKTsKIH0KIAotaW5saW5lIGJvb2wgSW5zcGVjdG9ySW5zdHJ1bWVudGF0
aW9uOjppc0V2ZW50TGlzdGVuZXJEaXNhYmxlZChFdmVudFRhcmdldCYgdGFyZ2V0LCBjb25zdCBB
dG9taWNTdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYgbGlzdGVuZXIsIGJvb2wgY2Fw
dHVyZSkKLXsKLSAgICBGQVNUX1JFVFVSTl9JRl9OT19GUk9OVEVORFMoZmFsc2UpOwotICAgIGlm
IChJbnN0cnVtZW50aW5nQWdlbnRzKiBpbnN0cnVtZW50aW5nQWdlbnRzID0gaW5zdHJ1bWVudGlu
Z0FnZW50c0ZvckNvbnRleHQodGFyZ2V0LnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkpCi0gICAg
ICAgIHJldHVybiBpc0V2ZW50TGlzdGVuZXJEaXNhYmxlZEltcGwoKmluc3RydW1lbnRpbmdBZ2Vu
dHMsIHRhcmdldCwgZXZlbnRUeXBlLCBsaXN0ZW5lciwgY2FwdHVyZSk7Ci0gICAgcmV0dXJuIGZh
bHNlOwotfQotCiBpbmxpbmUgdm9pZCBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246OmRpZFBvc3RN
ZXNzYWdlKEZyYW1lJiBmcmFtZSwgVGltZXJCYXNlJiB0aW1lciwgSlNDOjpFeGVjU3RhdGUmIHN0
YXRlKQogewogICAgIEZBU1RfUkVUVVJOX0lGX05PX0ZST05URU5EUyh2b2lkKCkpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ovbG9jYWxp
emVkU3RyaW5ncy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Mb2NhbGl6YXRpb25zL2VuLmxw
cm9qL2xvY2FsaXplZFN0cmluZ3MuanMKaW5kZXggY2NkMTQ0ZmNiMWY2ZjBjOGE1YTQ2OTVhNzI2
NGY1MGI5Y2VmYzgzMS4uMTE5OWI3ZjU0YTBmNWMzNDFiYTk2NjAyYzQ3MGU4MzQxNDNjM2NkNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL0xvY2FsaXphdGlvbnMvZW4ubHByb2ov
bG9jYWxpemVkU3RyaW5ncy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvTG9jYWxpemF0
aW9ucy9lbi5scHJvai9sb2NhbGl6ZWRTdHJpbmdzLmpzCkBAIC0yOTMsNyArMjkzLDYgQEAgbG9j
YWxpemVkU3RyaW5nc1siRGltZW5zaW9ucyJdID0gIkRpbWVuc2lvbnMiOwogbG9jYWxpemVkU3Ry
aW5nc1siRGlyZWN0aW9uIl0gPSAiRGlyZWN0aW9uIjsKIGxvY2FsaXplZFN0cmluZ3NbIkRpc2Fi
bGUgQnJlYWtwb2ludCJdID0gIkRpc2FibGUgQnJlYWtwb2ludCI7CiBsb2NhbGl6ZWRTdHJpbmdz
WyJEaXNhYmxlIEJyZWFrcG9pbnRzIl0gPSAiRGlzYWJsZSBCcmVha3BvaW50cyI7Ci1sb2NhbGl6
ZWRTdHJpbmdzWyJEaXNhYmxlIEV2ZW50IExpc3RlbmVyIl0gPSAiRGlzYWJsZSBFdmVudCBMaXN0
ZW5lciI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJEaXNhYmxlIFByb2dyYW0iXSA9ICJEaXNhYmxlIFBy
b2dyYW0iOwogbG9jYWxpemVkU3RyaW5nc1siRGlzYWJsZSBhbGwgYnJlYWtwb2ludHMgKCVzKSJd
ID0gIkRpc2FibGUgYWxsIGJyZWFrcG9pbnRzICglcykiOwogbG9jYWxpemVkU3RyaW5nc1siRGlz
YWJsZSBwYWludCBmbGFzaGluZyJdID0gIkRpc2FibGUgcGFpbnQgZmxhc2hpbmciOwpAQCAtMzU5
LDEzICszNTgsMTEgQEAgbG9jYWxpemVkU3RyaW5nc1siRWxlbWVudHMiXSA9ICJFbGVtZW50cyI7
CiBsb2NhbGl6ZWRTdHJpbmdzWyJFbmFibGUgQnJlYWtwb2ludCJdID0gIkVuYWJsZSBCcmVha3Bv
aW50IjsKIGxvY2FsaXplZFN0cmluZ3NbIkVuYWJsZSBCcmVha3BvaW50cyJdID0gIkVuYWJsZSBC
cmVha3BvaW50cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFbmFibGUgQ2FudmFzIFRhYiJdID0gIkVu
YWJsZSBDYW52YXMgVGFiIjsKLWxvY2FsaXplZFN0cmluZ3NbIkVuYWJsZSBFdmVudCBMaXN0ZW5l
ciJdID0gIkVuYWJsZSBFdmVudCBMaXN0ZW5lciI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFbmFibGUg
TGF5ZXJzIFRhYiJdID0gIkVuYWJsZSBMYXllcnMgVGFiIjsKIGxvY2FsaXplZFN0cmluZ3NbIkVu
YWJsZSBQcm9ncmFtIl0gPSAiRW5hYmxlIFByb2dyYW0iOwogbG9jYWxpemVkU3RyaW5nc1siRW5h
YmxlIGFsbCBicmVha3BvaW50cyAoJXMpIl0gPSAiRW5hYmxlIGFsbCBicmVha3BvaW50cyAoJXMp
IjsKIGxvY2FsaXplZFN0cmluZ3NbIkVuYWJsZSBicmVha3BvaW50cyJdID0gIkVuYWJsZSBicmVh
a3BvaW50cyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJFbmFibGUgcGFpbnQgZmxhc2hpbmciXSA9ICJF
bmFibGUgcGFpbnQgZmxhc2hpbmciOwotbG9jYWxpemVkU3RyaW5nc1siRW5hYmxlZCJdID0gIkVu
YWJsZWQiOwogbG9jYWxpemVkU3RyaW5nc1siRW5jb2RlZCJdID0gIkVuY29kZWQiOwogbG9jYWxp
emVkU3RyaW5nc1siRW5jb2RpbmciXSA9ICJFbmNvZGluZyI7CiBsb2NhbGl6ZWRTdHJpbmdzWyJF
bnRlciBUYWciXSA9ICJFbnRlciBUYWciOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvRE9NVHJlZU1hbmFnZXIuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5q
cwppbmRleCA2N2YzYmU5NDZhZjU0MWE1Y2Y0MWI3NjMyZDEzYjFkNmZmNmVjODg3Li44Mjc4MmZl
NzhhZDBkY2ZjZmYzMTJmMjZhMTlmNTg3MTA0MTAxMDkyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
SW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01UcmVlTWFuYWdlci5qcwor
KysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Db250cm9sbGVycy9ET01U
cmVlTWFuYWdlci5qcwpAQCAtNTI2LDExICs1MjYsNiBAQCBXSS5ET01UcmVlTWFuYWdlciA9IGNs
YXNzIERPTVRyZWVNYW5hZ2VyIGV4dGVuZHMgV0kuT2JqZWN0CiAgICAgICAgIERPTUFnZW50LnNl
dEluc3BlY3RlZE5vZGUobm9kZS5pZCwgY2FsbGJhY2spOwogICAgIH0KIAotICAgIHNldEV2ZW50
TGlzdGVuZXJEaXNhYmxlZChldmVudExpc3RlbmVySWQsIGRpc2FibGVkKQotICAgIHsKLSAgICAg
ICAgRE9NQWdlbnQuc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkKGV2ZW50TGlzdGVuZXJJZCwgZGlz
YWJsZWQpOwotICAgIH0KLQogICAgIF9idWlsZEhpZ2hsaWdodENvbmZpZyhtb2RlID0gImFsbCIp
CiAgICAgewogICAgICAgICBsZXQgaGlnaGxpZ2h0Q29uZmlnID0ge3Nob3dJbmZvOiBtb2RlID09
PSAiYWxsIn07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFj
ZS9WaWV3cy9ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpzCmlu
ZGV4IDlhODE5MGVlY2EwM2FhNDMxMTZhNTkzNmVlOTc1YTNlN2Q0MTI3MDEuLjgyYzRjY2YxYjUw
OWQ4YjBkNmU1MTM1YzM1ZmFjYTczN2VjMDdhZGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsLmpz
CisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0RPTU5vZGVE
ZXRhaWxzU2lkZWJhclBhbmVsLmpzCkBAIC00NSw2ICs0NSwxNiBAQCBXSS5ET01Ob2RlRGV0YWls
c1NpZGViYXJQYW5lbCA9IGNsYXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMg
V0kuRE9NRAogICAgICAgICBzdXBlci5jbG9zZWQoKTsKICAgICB9CiAKKyAgICBhZGRFdmVudExp
c3RlbmVycygpCisgICAgeworICAgICAgICB0aGlzLmRvbU5vZGUuYWRkRXZlbnRMaXN0ZW5lcihX
SS5ET01Ob2RlLkV2ZW50LkV2ZW50TGlzdGVuZXJzQ2hhbmdlZCwgdGhpcy5fZXZlbnRMaXN0ZW5l
cnNDaGFuZ2VkLCB0aGlzKTsKKyAgICB9CisKKyAgICByZW1vdmVFdmVudExpc3RlbmVycygpCisg
ICAgeworICAgICAgICB0aGlzLmRvbU5vZGUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXSS5ET01Ob2Rl
LkV2ZW50LkV2ZW50TGlzdGVuZXJzQ2hhbmdlZCwgdGhpcy5fZXZlbnRMaXN0ZW5lcnNDaGFuZ2Vk
LCB0aGlzKTsKKyAgICB9CisKICAgICAvLyBQcm90ZWN0ZWQKIAogICAgIGluaXRpYWxMYXlvdXQo
KQpAQCAtMTU5LDIwICsxNjksNiBAQCBXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNs
YXNzIERPTU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuRE9NRAogICAgICAgICB0
aGlzLl9hdHRyaWJ1dGVzRGF0YUdyaWRSb3cuc2l6ZURpZENoYW5nZSgpOwogICAgIH0KIAotICAg
IGF0dGFjaGVkKCkKLSAgICB7Ci0gICAgICAgIHN1cGVyLmF0dGFjaGVkKCk7Ci0KLSAgICAgICAg
V0kuRE9NTm9kZS5hZGRFdmVudExpc3RlbmVyKFdJLkRPTU5vZGUuRXZlbnQuRXZlbnRMaXN0ZW5l
cnNDaGFuZ2VkLCB0aGlzLl9ldmVudExpc3RlbmVyc0NoYW5nZWQsIHRoaXMpOwotICAgIH0KLQot
ICAgIGRldGFjaGVkKCkKLSAgICB7Ci0gICAgICAgIFdJLkRPTU5vZGUucmVtb3ZlRXZlbnRMaXN0
ZW5lcihXSS5ET01Ob2RlLkV2ZW50LkV2ZW50TGlzdGVuZXJzQ2hhbmdlZCwgdGhpcy5fZXZlbnRM
aXN0ZW5lcnNDaGFuZ2VkLCB0aGlzKTsKLQotICAgICAgICBzdXBlci5kZXRhY2hlZCgpOwotICAg
IH0KLQogICAgIC8vIFByaXZhdGUKIAogICAgIF9hY2Nlc3NpYmlsaXR5U3VwcG9ydGVkKCkKQEAg
LTc1Nyw4ICs3NTMsNyBAQCBXSS5ET01Ob2RlRGV0YWlsc1NpZGViYXJQYW5lbCA9IGNsYXNzIERP
TU5vZGVEZXRhaWxzU2lkZWJhclBhbmVsIGV4dGVuZHMgV0kuRE9NRAogCiAgICAgX2V2ZW50TGlz
dGVuZXJzQ2hhbmdlZChldmVudCkKICAgICB7Ci0gICAgICAgIGlmIChldmVudC50YXJnZXQgPT09
IHRoaXMuZG9tTm9kZSB8fCBldmVudC50YXJnZXQuaXNBbmNlc3Rvcih0aGlzLmRvbU5vZGUpKQot
ICAgICAgICAgICAgdGhpcy5fcmVmcmVzaEV2ZW50TGlzdGVuZXJzKCk7CisgICAgICAgIHRoaXMu
X3JlZnJlc2hFdmVudExpc3RlbmVycygpOwogICAgIH0KIAogICAgIF9hdHRyaWJ1dGVzQ2hhbmdl
ZChldmVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNl
L1ZpZXdzL0RldGFpbHNTZWN0aW9uU2ltcGxlUm93LmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3cuanMKaW5kZXggZTVh
NWZlYzFlYWJiNWMwOTcyY2ZhMDUzZDUzNGMzNjAwOWUxYjc2Zi4uOGU0YzM0Y2E5OWMzMTYxYTMx
OWU1ZDJlZGMwNjE2NDBiY2M0ZTkxNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3cuanMKKysrIGIvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRGV0YWlsc1NlY3Rpb25TaW1w
bGVSb3cuanMKQEAgLTczLDE4ICs3MywxMiBAQCBXSS5EZXRhaWxzU2VjdGlvblNpbXBsZVJvdyA9
IGNsYXNzIERldGFpbHNTZWN0aW9uU2ltcGxlUm93IGV4dGVuZHMgV0kuRGV0YWlsc1NlYwogCiAg
ICAgZ2V0IGxhYmVsKCkKICAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9sYWJlbDsKKyAgICAg
ICAgcmV0dXJuIHRoaXMuX2xhYmVsRWxlbWVudC50ZXh0Q29udGVudDsKICAgICB9CiAKICAgICBz
ZXQgbGFiZWwobGFiZWwpCiAgICAgewotICAgICAgICB0aGlzLl9sYWJlbCA9IGxhYmVsIHx8ICIi
OwotCi0gICAgICAgIGlmICh0aGlzLl9sYWJlbCBpbnN0YW5jZW9mIE5vZGUpIHsKLSAgICAgICAg
ICAgIHRoaXMuX2xhYmVsRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwotICAgICAgICAgICAgdGhp
cy5fbGFiZWxFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2xhYmVsKTsKLSAgICAgICAgfSBlbHNl
Ci0gICAgICAgICAgICB0aGlzLl9sYWJlbEVsZW1lbnQudGV4dENvbnRlbnQgPSB0aGlzLl9sYWJl
bDsKKyAgICAgICAgdGhpcy5fbGFiZWxFbGVtZW50LnRleHRDb250ZW50ID0gbGFiZWw7CiAgICAg
fQogCiAgICAgZ2V0IHZhbHVlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAuY3NzIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25H
cm91cC5jc3MKaW5kZXggNDc2NTc1MmUyZjAwM2NjZTQzYzQ5YTJiNmU3Y2FkZmRhYzI5OGYyOS4u
MDBiMTg4OTJlMTJlM2I1YjY3YjI4NjkzMjRjNTIzMzg0Y2E1NDc3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rp
b25Hcm91cC5jc3MKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmll
d3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5jc3MKQEAgLTI4LDkgKzI4LDMgQEAKICAgICBv
dmVyZmxvdzogaGlkZGVuOwogICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzOwogfQotCi0uZXZl
bnQtbGlzdGVuZXItc2VjdGlvbiA+IC5jb250ZW50IGlucHV0W3R5cGU9ImNoZWNrYm94Il0gewot
ICAgIHdpZHRoOiAxMnB4OwotICAgIGhlaWdodDogMTJweDsKLSAgICBtYXJnaW46IDA7Ci19CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9FdmVu
dExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvVmlld3MvRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cC5qcwppbmRleCA3MTU2ZDU0OThl
OWIzYWJjNWJmNTUyYmM5MzI2NWY2ZjcwOTJiOGEwLi5jZGY5ODdlYmQ2MzFjNjczODlmOGJhODg3
MjM4YWExZTE5ZDUwYmMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9WaWV3cy9FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwLmpzCisrKyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0V2ZW50TGlzdGVuZXJTZWN0aW9uR3Jv
dXAuanMKQEAgLTUyLDkgKzUyLDYgQEAgV0kuRXZlbnRMaXN0ZW5lclNlY3Rpb25Hcm91cCA9IGNs
YXNzIEV2ZW50TGlzdGVuZXJTZWN0aW9uR3JvdXAgZXh0ZW5kcyBXSS5EZXRhaWwKICAgICAgICAg
aWYgKHRoaXMuX2V2ZW50TGlzdGVuZXIub25jZSkKICAgICAgICAgICAgIHJvd3MucHVzaChuZXcg
V0kuRGV0YWlsc1NlY3Rpb25TaW1wbGVSb3coV0kuVUlTdHJpbmcoIk9uY2UiKSwgV0kuVUlTdHJp
bmcoIlllcyIpKSk7CiAKLSAgICAgICAgaWYgKERPTUFnZW50LnNldEV2ZW50TGlzdGVuZXJEaXNh
YmxlZCkKLSAgICAgICAgICAgIHJvd3MucHVzaCh0aGlzLl9jcmVhdGVEaXNhYmxlZFRvZ2dsZVJv
dygpKTsKLQogICAgICAgICB0aGlzLnJvd3MgPSByb3dzOwogICAgIH0KIApAQCAtMTA3LDM0ICsx
MDQsNCBAQCBXSS5FdmVudExpc3RlbmVyU2VjdGlvbkdyb3VwID0gY2xhc3MgRXZlbnRMaXN0ZW5l
clNlY3Rpb25Hcm91cCBleHRlbmRzIFdJLkRldGFpbAogICAgICAgICBmcmFnbWVudC5hcHBlbmQo
bGlua0VsZW1lbnQsIGZ1bmN0aW9uTmFtZSk7CiAgICAgICAgIHJldHVybiBmcmFnbWVudDsKICAg
ICB9Ci0KLSAgICBfY3JlYXRlRGlzYWJsZWRUb2dnbGVSb3coKQotICAgIHsKLSAgICAgICAgbGV0
IHRvZ2dsZUVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJpbnB1dCIpOwotICAgICAg
ICB0b2dnbGVFbGVtZW50LnR5cGUgPSAiY2hlY2tib3giOwotICAgICAgICB0b2dnbGVFbGVtZW50
LmNoZWNrZWQgPSAhdGhpcy5fZXZlbnRMaXN0ZW5lci5kaXNhYmxlZDsKLQotICAgICAgICBsZXQg
dXBkYXRlVGl0bGUgPSAoKSA9PiB7Ci0gICAgICAgICAgICBpZiAodGhpcy5fZXZlbnRMaXN0ZW5l
ci5kaXNhYmxlZCkKLSAgICAgICAgICAgICAgICB0b2dnbGVFbGVtZW50LnRpdGxlID0gV0kuVUlT
dHJpbmcoIkVuYWJsZSBFdmVudCBMaXN0ZW5lciIpOwotICAgICAgICAgICAgZWxzZQotICAgICAg
ICAgICAgICAgIHRvZ2dsZUVsZW1lbnQudGl0bGUgPSBXSS5VSVN0cmluZygiRGlzYWJsZSBFdmVu
dCBMaXN0ZW5lciIpOwotICAgICAgICB9OwotCi0gICAgICAgIHVwZGF0ZVRpdGxlKCk7Ci0KLSAg
ICAgICAgdG9nZ2xlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCAoZXZlbnQpID0+
IHsKLSAgICAgICAgICAgIHRoaXMuX2V2ZW50TGlzdGVuZXIuZGlzYWJsZWQgPSAhdG9nZ2xlRWxl
bWVudC5jaGVja2VkOwotICAgICAgICAgICAgV0kuZG9tVHJlZU1hbmFnZXIuc2V0RXZlbnRMaXN0
ZW5lckRpc2FibGVkKHRoaXMuX2V2ZW50TGlzdGVuZXIuZXZlbnRMaXN0ZW5lcklkLCB0aGlzLl9l
dmVudExpc3RlbmVyLmRpc2FibGVkKTsKLSAgICAgICAgICAgIHVwZGF0ZVRpdGxlKCk7Ci0gICAg
ICAgIH0pOwotCi0gICAgICAgIGxldCB0b2dnbGVMYWJlbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1l
bnQoInNwYW4iKTsKLSAgICAgICAgdG9nZ2xlTGFiZWwudGV4dENvbnRlbnQgPSBXSS5VSVN0cmlu
ZygiRW5hYmxlZCIpOwotICAgICAgICB0b2dnbGVMYWJlbC5hZGRFdmVudExpc3RlbmVyKCJjbGlj
ayIsIChldmVudCkgPT4gewotICAgICAgICAgICAgdG9nZ2xlRWxlbWVudC5jbGljaygpOwotICAg
ICAgICB9KTsKLQotICAgICAgICByZXR1cm4gbmV3IFdJLkRldGFpbHNTZWN0aW9uU2ltcGxlUm93
KHRvZ2dsZUxhYmVsLCB0b2dnbGVFbGVtZW50KTsKLSAgICB9CiB9OwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDg4NmMyYTFm
M2RlYjNiYWQ4MTg1YjQwMDRjYTEwZjE1YjgyNGU0ZmYuLjRmZWYxOTg1Y2ZmZGMzZjNmYmFlOTAy
YTEwYzJjOTJjNzNhMWM2NzkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxNy0xMC0xOCAgQ29t
bWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CisKKyAgICAgICAgVW5yZXZpZXdl
ZCwgcm9sbGluZyBvdXQgcjIyMzMyMS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE3ODQ3NgorCisgICAgICAgIFRoaXMgcHJvdG9jb2wgY2hhbmdlIGJy
b2tlIHNvbWUgaW50ZXJuYWwgYnVpbGRzIChSZXF1ZXN0ZWQgYnkKKyAgICAgICAgYnJyaWFuX18g
b24gI3dlYmtpdCkuCisKKyAgICAgICAgUmV2ZXJ0ZWQgY2hhbmdlc2V0OgorCisgICAgICAgICJX
ZWIgSW5zcGVjdG9yOiBwcm92aWRlIGEgd2F5IHRvIGVuYWJsZS9kaXNhYmxlIGV2ZW50CisgICAg
ICAgIGxpc3RlbmVycyIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE3NzQ1MQorICAgICAgICBodHRwczovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MjIzMzIxCisKIDIwMTctMTAtMTggIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBodHRwL3Rlc3RzL2xvYWRpbmcvYmFzaWMtYXV0aC1yZXNlbmQt
d3JvbmctY3JlZGVudGlhbHMuaHRtbCBpcyBzdGlsbCBhIGZsYWt5IGZhaWx1cmUgYWZ0ZXIgcHJv
cG9zZWQgZml4LgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2RvbS9zZXRFdmVu
dExpc3RlbmVyRGlzYWJsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW5zcGVjdG9yL2Rv
bS9zZXRFdmVudExpc3RlbmVyRGlzYWJsZWQtZXhwZWN0ZWQudHh0CmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBlOTExNjQwZmQ3MTVkZTExYTI2YjUwN2U3ZDQwMmFmNmQ2NTcyMmViLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL0xheW91dFRlc3Rz
L2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLWV4cGVjdGVkLnR4dAorKysg
L2Rldi9udWxsCkBAIC0xLDIyICswLDAgQEAKLVRlc3RpbmcgRE9NQWdlbnQuc2V0RXZlbnRMaXN0
ZW5lckRpc2FibGVkLgotCi0KLT09IFJ1bm5pbmcgdGVzdCBzdWl0ZTogRE9NLnNldEV2ZW50TGlz
dGVuZXJEaXNhYmxlZAotLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTS5zZXRFdmVudExpc3RlbmVy
RGlzYWJsZWQuRGlzYWJsZWRDbGlja0V2ZW50Ci1DbGljayBldmVudCBsaXN0ZW5lciBpcyBlbmFi
bGVkLgotRGlzYWJsaW5nIGV2ZW50IGxpc3RlbmVyLi4uCi08Ym9keT4gY2xpY2tlZC4KLVBBU1M6
IENsaWNrIGV2ZW50IGxpc3RlbmVyIGRpZCBub3QgZmlyZS4KLUNsaWNrIGV2ZW50IGxpc3RlbmVy
IGlzIGRpc2FibGVkLgotCi0tLSBSdW5uaW5nIHRlc3QgY2FzZTogRE9NLnNldEV2ZW50TGlzdGVu
ZXJEaXNhYmxlZC5SZWVuYWJsZWRDbGlja0V2ZW50Ci1DbGljayBldmVudCBsaXN0ZW5lciBpcyBk
aXNhYmxlZC4KLUVuYWJsaW5nIGV2ZW50IGxpc3RlbmVyLi4uCi08Ym9keT4gY2xpY2tlZC4KLVBB
U1M6IENsaWNrIGV2ZW50IGxpc3RlbmVyIGZpcmVkLgotQ2xpY2sgZXZlbnQgbGlzdGVuZXIgaXMg
ZW5hYmxlZC4KLQotLS0gUnVubmluZyB0ZXN0IGNhc2U6IERPTS5zZXRFdmVudExpc3RlbmVyRGlz
YWJsZWQuSW52YWxpZAotUEFTUzogU2hvdWxkIHByb2R1Y2UgYW4gZXJyb3IuCi1FcnJvcjogTm8g
ZXZlbnQgbGlzdGVuZXIgZm9yIGdpdmVuIGlkZW50aWZpZXIuCi0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLmh0bWwgYi9MYXlv
dXRUZXN0cy9pbnNwZWN0b3IvZG9tL3NldEV2ZW50TGlzdGVuZXJEaXNhYmxlZC5odG1sCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBjNjY1ZGM1ZDYwOGI4ZjgyOGIzOTNiZmY5MGNjMDll
N2M0YTkwODhiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L0xheW91dFRlc3RzL2luc3BlY3Rvci9kb20vc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVkLmh0bWwK
KysrIC9kZXYvbnVsbApAQCAtMSwxMjkgKzAsMCBAQAotPCFkb2N0eXBlIGh0bWw+Ci08aHRtbD4K
LTxoZWFkPgotPHNjcmlwdCBzcmM9Ii4uLy4uL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
cy9pbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Ci08c2NyaXB0PgotZnVuY3Rpb24gY2xpY2tC
b2R5KCkgewotICAgIGRvY3VtZW50LmJvZHkuY2xpY2soKTsKLQotICAgIFRlc3RQYWdlLmRpc3Bh
dGNoRXZlbnRUb0Zyb250ZW5kKCJUZXN0UGFnZUFmdGVyQ2xpY2siKTsKLX0KLQotZnVuY3Rpb24g
dGVzdCgpIHsKLSAgICBsZXQgY2xpY2tFdmVudExpc3RlbmVyID0gbnVsbDsKLQotICAgIGxldCBz
dWl0ZSA9IEluc3BlY3RvclRlc3QuY3JlYXRlQXN5bmNTdWl0ZSgiRE9NLnNldEV2ZW50TGlzdGVu
ZXJEaXNhYmxlZCIpOwotCi0gICAgZnVuY3Rpb24gbG9nTGlzdGVuZXIoKSB7Ci0gICAgICAgIHJl
dHVybiBET01BZ2VudC5nZXRFdmVudExpc3RlbmVyc0Zvck5vZGUoY2xpY2tFdmVudExpc3RlbmVy
Lm5vZGVJZCkudGhlbigoe2xpc3RlbmVyc30pID0+IHsKLSAgICAgICAgICAgIEluc3BlY3RvclRl
c3QuYXNzZXJ0KGxpc3RlbmVycy5sZW5ndGggPT09IDEsICJUaGVyZSBzaG91bGQgb25seSBiZSBv
bmUgZXZlbnQgbGlzdGVuZXIuIik7Ci0gICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmFzc2VydChs
aXN0ZW5lcnNbMF0udHlwZSA9PT0gImNsaWNrIiwgYFRoZXJlIGV2ZW50IGxpc3RlbmVyIHNob3Vs
ZCBiZSBmb3IgImNsaWNrIi5gKTsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJDbGlj
ayBldmVudCBsaXN0ZW5lciBpcyAiICsgKGxpc3RlbmVyc1swXS5kaXNhYmxlZCA/ICJkaXNhYmxl
ZCIgOiAiZW5hYmxlZCIpICsgIi4iKTsKLSAgICAgICAgfSk7Ci0gICAgfQotCi0gICAgc3VpdGUu
YWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiRE9NLnNldEV2ZW50TGlzdGVuZXJEaXNhYmxl
ZC5EaXNhYmxlZENsaWNrRXZlbnQiLAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewot
ICAgICAgICAgICAgbGV0IGxpc3RlbmVyID0gSW5zcGVjdG9yVGVzdC5zaW5nbGVGaXJlRXZlbnRM
aXN0ZW5lcigiVGVzdFBhZ2VEb2N1bWVudENsaWNrZWQiLCAoKSA9PiB7Ci0gICAgICAgICAgICAg
ICAgcmVqZWN0KCJDbGljayBldmVudCBsaXN0ZW5lciBzaG91bGQgbm90IGJlIGNhbGxlZCIpOwot
ICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2luZ2xlRmlyZUV2
ZW50TGlzdGVuZXIoIlRlc3RQYWdlQWZ0ZXJDbGljayIsICgpID0+IHsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LnBhc3MoIkNsaWNrIGV2ZW50IGxpc3RlbmVyIGRpZCBub3QgZmlyZS4i
KTsKLQotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucmVtb3ZlRXZlbnRMaXN0ZW5lcihs
aXN0ZW5lcik7Ci0KLSAgICAgICAgICAgICAgICBsb2dMaXN0ZW5lcigpLnRoZW4ocmVzb2x2ZSwg
cmVqZWN0KTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBsb2dMaXN0ZW5lcigpLnRo
ZW4oKCkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJEaXNhYmxpbmcg
ZXZlbnQgbGlzdGVuZXIuLi4iKTsKLQotICAgICAgICAgICAgICAgIGNvbnN0IGRpc2FibGVkID0g
dHJ1ZTsKLSAgICAgICAgICAgICAgICBET01BZ2VudC5zZXRFdmVudExpc3RlbmVyRGlzYWJsZWQo
Y2xpY2tFdmVudExpc3RlbmVyLmV2ZW50TGlzdGVuZXJJZCwgZGlzYWJsZWQsIChlcnJvcikgPT4g
ewotICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIHJlamVjdChlcnJvcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2
YWx1YXRlSW5QYWdlKGBjbGlja0JvZHkoKWAsICgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QubG9nKCI8Ym9keT4gY2xpY2tlZC4iKTsKLSAgICAgICAgICAgICAg
ICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAg
fQotICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiRE9N
LnNldEV2ZW50TGlzdGVuZXJEaXNhYmxlZC5SZWVuYWJsZWRDbGlja0V2ZW50IiwKLSAgICAgICAg
dGVzdChyZXNvbHZlLCByZWplY3QpIHsKLSAgICAgICAgICAgIEluc3BlY3RvclRlc3Quc2luZ2xl
RmlyZUV2ZW50TGlzdGVuZXIoIlRlc3RQYWdlRG9jdW1lbnRDbGlja2VkIiwgKCkgPT4gewotICAg
ICAgICAgICAgICAgIEluc3BlY3RvclRlc3QucGFzcygiQ2xpY2sgZXZlbnQgbGlzdGVuZXIgZmly
ZWQuIik7Ci0KLSAgICAgICAgICAgICAgICBsb2dMaXN0ZW5lcigpLnRoZW4ocmVzb2x2ZSwgcmVq
ZWN0KTsKLSAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICBsb2dMaXN0ZW5lcigpLnRoZW4o
KCkgPT4gewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QubG9nKCJFbmFibGluZyBldmVu
dCBsaXN0ZW5lci4uLiIpOwotCi0gICAgICAgICAgICAgICAgY29uc3QgZGlzYWJsZWQgPSBmYWxz
ZTsKLSAgICAgICAgICAgICAgICBET01BZ2VudC5zZXRFdmVudExpc3RlbmVyRGlzYWJsZWQoY2xp
Y2tFdmVudExpc3RlbmVyLmV2ZW50TGlzdGVuZXJJZCwgZGlzYWJsZWQsIChlcnJvcikgPT4gewot
ICAgICAgICAgICAgICAgICAgICBpZiAoZXJyb3IpIHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IHJlamVjdChlcnJvcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
ICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKGBjbGlja0JvZHkoKWAsICgpID0+IHsKLSAgICAgICAgICAgICAgICAgICAgICAg
IEluc3BlY3RvclRlc3QubG9nKCI8Ym9keT4gY2xpY2tlZC4iKTsKLSAgICAgICAgICAgICAgICAg
ICAgfSk7Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICB9KTsKLSAgICAgICAgfQot
ICAgIH0pOwotCi0gICAgc3VpdGUuYWRkVGVzdENhc2UoewotICAgICAgICBuYW1lOiAiRE9NLnNl
dEV2ZW50TGlzdGVuZXJEaXNhYmxlZC5JbnZhbGlkIiwKLSAgICAgICAgZGVzY3JpcHRpb246ICJJ
bnZhbGlkIGV2ZW50IGxpc3RlbmVyIGlkZW50aWZpZXJzIHNob3VsZCBjYXVzZSBhbiBlcnJvci4i
LAotICAgICAgICB0ZXN0KHJlc29sdmUsIHJlamVjdCkgewotICAgICAgICAgICAgY29uc3QgaW52
YWxpZEV2ZW50TGlzdGVuZXJJZCA9IDk5OTk5OTk7Ci0gICAgICAgICAgICBjb25zdCBkaXNhYmxl
ZCA9IGZhbHNlOwotICAgICAgICAgICAgRE9NQWdlbnQuc2V0RXZlbnRMaXN0ZW5lckRpc2FibGVk
KGludmFsaWRFdmVudExpc3RlbmVySWQsIGRpc2FibGVkLCAoZXJyb3IpID0+IHsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmV4cGVjdFRoYXQoZXJyb3IsICJTaG91bGQgcHJvZHVjZSBh
biBlcnJvci4iKTsKLSAgICAgICAgICAgICAgICBJbnNwZWN0b3JUZXN0LmxvZygiRXJyb3I6ICIg
KyBlcnJvcik7Ci0gICAgICAgICAgICAgICAgcmVzb2x2ZSgpOwotICAgICAgICAgICAgfSk7Ci0g
ICAgICAgIH0KLSAgICB9KTsKLQotICAgIFdJLmRvbVRyZWVNYW5hZ2VyLnJlcXVlc3REb2N1bWVu
dCgoZG9jdW1lbnROb2RlKSA9PiB7Ci0gICAgICAgIERPTUFnZW50LmdldEV2ZW50TGlzdGVuZXJz
Rm9yTm9kZShkb2N1bWVudE5vZGUuaWQsIChlcnJvciwgZXZlbnRMaXN0ZW5lcnMpID0+IHsKLSAg
ICAgICAgICAgIGlmIChlcnJvcikgewotICAgICAgICAgICAgICAgIEluc3BlY3RvclRlc3QuZmFp
bCgiVW5hYmxlIHRvIHJldHJpZXZlIGV2ZW50IGxpc3RlbmVycy4iKTsKLSAgICAgICAgICAgICAg
ICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgY2xpY2tFdmVudExpc3RlbmVyID0gZXZlbnRM
aXN0ZW5lcnNbMF07Ci0gICAgICAgICAgICBpZiAoIWNsaWNrRXZlbnRMaXN0ZW5lciB8fCBjbGlj
a0V2ZW50TGlzdGVuZXIudHlwZSAhPT0gImNsaWNrIikgewotICAgICAgICAgICAgICAgIEluc3Bl
Y3RvclRlc3QuZmFpbCgiTWlzc2luZyBjbGljayBldmVudCBsaXN0ZW5lci4iKTsKLSAgICAgICAg
ICAgICAgICBJbnNwZWN0b3JUZXN0LmNvbXBsZXRlVGVzdCgpOwotICAgICAgICAgICAgICAgIHJl
dHVybjsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgc3VpdGUucnVuVGVzdENhc2VzQW5k
RmluaXNoKCk7Ci0gICAgICAgIH0pOwotICAgIH0pOwotfQotPC9zY3JpcHQ+Ci08L2hlYWQ+Ci08
Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Ci0gICAgPHA+VGVzdGluZyBET01BZ2VudC5zZXRFdmVu
dExpc3RlbmVyRGlzYWJsZWQuPC9wPgotCi0gICAgPHNjcmlwdD4KLSAgICAgICAgZG9jdW1lbnQu
YWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCAoZXZlbnQpID0+IHsKLSAgICAgICAgICAgIFRlc3RQ
YWdlLmRpc3BhdGNoRXZlbnRUb0Zyb250ZW5kKCJUZXN0UGFnZURvY3VtZW50Q2xpY2tlZCIpOwot
ICAgICAgICB9KTsKLSAgICA8L3NjcmlwdD4KLTwvYm9keT4KLTwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>