<?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>137083</bug_id>
          
          <creation_ts>2014-09-24 16:10:01 -0700</creation_ts>
          <short_desc>Web Inspector: persist probe samples in the probe details section across subsequent replays</short_desc>
          <delta_ts>2017-07-10 14:01:27 -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>Web Inspector</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</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>
          <dependson>137162</dependson>
          <blocked>137078</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Brian Burg">burg</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>inspector-bugzilla-changes</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1037066</commentid>
    <comment_count>0</comment_count>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-24 16:10:01 -0700</bug_when>
    <thetext>This code has been sitting around a long time :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037067</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-09-24 16:11:04 -0700</bug_when>
    <thetext>&lt;rdar://problem/18447807&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037068</commentid>
    <comment_count>2</comment_count>
      <attachid>238618</attachid>
    <who name="Brian Burg">burg</who>
    <bug_when>2014-09-24 16:11:33 -0700</bug_when>
    <thetext>Created attachment 238618
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1037151</commentid>
    <comment_count>3</comment_count>
      <attachid>238618</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2014-09-24 21:37:20 -0700</bug_when>
    <thetext>Comment on attachment 238618
WIP

View in context: https://bugs.webkit.org/attachment.cgi?id=238618&amp;action=review

&gt; Source/WebInspectorUI/UserInterface/Models/ProbeSetReplayDataFrame.js:54
&gt; +        return &quot;%d,%d,%d&quot;.format(this.position.segmentOffset, this.position.inputOffset, this.counterValue);

Eh. Just use concat (+)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1327166</commentid>
    <comment_count>4</comment_count>
    <who name="Blaze Burg">bburg</who>
    <bug_when>2017-07-10 14:01:27 -0700</bug_when>
    <thetext>Closing web replay-related bugs until we resume working on the feature again.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>238618</attachid>
            <date>2014-09-24 16:11:33 -0700</date>
            <delta_ts>2014-09-24 21:37:20 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-137083-20140924161126.patch</filename>
            <type>text/plain</type>
            <size>26447</size>
            <attacher name="Brian Burg">burg</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTczODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9CYXNlL01haW4uanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkv
VXNlckludGVyZmFjZS9CYXNlL01haW4uanMKaW5kZXggMDBjMTAwY2MyMDJiMjJiNzE1M2Y4YjY0
ZDJhYWQ3OGNkYjE5MjFhNi4uYjcyYWYyM2FiZjM2NGQ2NjBlN2U1YzU1Y2JkYzlhOTRkZjk0YjVm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQmFzZS9N
YWluLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0Jhc2UvTWFp
bi5qcwpAQCAtNzM4LDEyICs3MzgsMTAgQEAgV2ViSW5zcGVjdG9yLl9kcmFnT3ZlciA9IGZ1bmN0
aW9uKGV2ZW50KQogICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiB9CiAKLS8qCiBXZWJJbnNw
ZWN0b3IuX2NhcHR1cmVEaWRTdGFydCA9IGZ1bmN0aW9uKGV2ZW50KQogewogICAgIHRoaXMuZGFz
aGJvYXJkQ29udGFpbmVyLnNob3dEYXNoYm9hcmRWaWV3Rm9yUmVwcmVzZW50ZWRPYmplY3QodGhp
cy5kYXNoYm9hcmRNYW5hZ2VyLmRhc2hib2FyZHMucmVwbGF5KTsKIH0KLSovCiAKIFdlYkluc3Bl
Y3Rvci5fZGVidWdnZXJEaWRQYXVzZSA9IGZ1bmN0aW9uKGV2ZW50KQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvUmVwbGF5TWFu
YWdlci5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL0NvbnRyb2xsZXJz
L1JlcGxheU1hbmFnZXIuanMKaW5kZXggYjhjMWVmMjAyNDlkZDgzNDVjOTI3ODhiOTlhYzZiM2Mz
OTdhZTZlMC4uNWZiNTZlZWEyNzQwM2ZkMjY0Nzc0MWI5NmUzZmE1YzBiZWIwMjg5ZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvQ29udHJvbGxlcnMvUmVw
bGF5TWFuYWdlci5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9D
b250cm9sbGVycy9SZXBsYXlNYW5hZ2VyLmpzCkBAIC0xNTgsNyArMTU4LDcgQEAgV2ViSW5zcGVj
dG9yLlJlcGxheU1hbmFnZXIucHJvdG90eXBlID0gewogCiAgICAgZ2V0IHBsYXliYWNrU2Vzc2lv
bigpCiAgICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCh0aGlzLnNlc3Npb25TdGF0ZSA9PT0g
V2ViSW5zcGVjdG9yLlJlcGxheU1hbmFnZXIuU2Vzc2lvblN0YXRlLlJlcGxheWluZyk7CisgICAg
ICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuc2Vzc2lvblN0YXRlICE9PSBXZWJJbnNwZWN0b3IuUmVw
bGF5TWFuYWdlci5TZXNzaW9uU3RhdGUuQ2FwdHVyaW5nKTsKICAgICAgICAgcmV0dXJuIHRoaXMu
X3Nlc3Npb25zLmdldCh0aGlzLmFjdGl2ZVNlc3Npb25JZGVudGlmaWVyKTsKICAgICB9LAogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwg
Yi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9NYWluLmh0bWwKaW5kZXggMWI5
ZGNhNGI5NWU4Yjc4OGU2Y2EzZmM4MmZhOWIxZjNhMjA1MDIxYy4uYzY3ZWNmMmM5YmE5ZDI1Nzlj
NDUyMDAwNDk1OWU1YzVmZjM0ZWEwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTWFpbi5odG1sCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01haW4uaHRtbApAQCAtMjQ3LDcgKzI0Nyw5IEBACiAgICAgPHNjcmlwdCBzcmM9
Ik1vZGVscy9Qcm9iZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9Qcm9i
ZVNldC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9Qcm9iZVNldERhdGFG
cmFtZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9Qcm9iZVNldFJlcGxh
eURhdGFGcmFtZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9Qcm9iZVNl
dERhdGFUYWJsZS5qcyI+PC9zY3JpcHQ+CisgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9Qcm9iZVNl
dFJlcGxheURhdGFUYWJsZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCBzcmM9Ik1vZGVscy9Q
cm9maWxlLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1Byb2ZpbGVOb2Rl
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHNyYz0iTW9kZWxzL1Byb2ZpbGVOb2RlQ2FsbC5q
cyI+PC9zY3JpcHQ+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvUHJvYmVTZXQuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvUHJvYmVTZXQuanMKaW5kZXggZWRhZjc3ZWY4MWM3MmM3YjczMjE2NDE4MDNm
NjFkOGNkOWY4NmNlNi4uNzY5YmVjNGMwNjEyNzk2ZTA1Y2JkOWZhZGRiMzNiOTdmNWI3OGRjZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1By
b2JlU2V0LmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9Qcm9iZVNldC5qcwpAQCAtMzUsMTEgKzM1LDIxIEBAIFdlYkluc3BlY3Rvci5Qcm9iZVNldCA9
IGZ1bmN0aW9uKGJyZWFrcG9pbnQpCiAgICAgdGhpcy5fcHJvYmVzID0gW107CiAgICAgdGhpcy5f
cHJvYmVzQnlJZGVudGlmaWVyID0gbmV3IE1hcDsKIAotICAgIHRoaXMuX2NyZWF0ZURhdGFUYWJs
ZSgpOworICAgIHRoaXMuX2RhdGFUYWJsZSA9IG5ldyBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRh
VGFibGUodGhpcyk7CiAKLSAgICBXZWJJbnNwZWN0b3IuRnJhbWUuYWRkRXZlbnRMaXN0ZW5lcihX
ZWJJbnNwZWN0b3IuRnJhbWUuRXZlbnQuTWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWlu
UmVzb3VyY2VDaGFuZ2VkLCB0aGlzKTsKLSAgICBXZWJJbnNwZWN0b3IuUHJvYmUuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuUHJvYmUuRXZlbnQuU2FtcGxlQWRkZWQsIHRoaXMuX3NhbXBs
ZUNvbGxlY3RlZCwgdGhpcyk7Ci0gICAgV2ViSW5zcGVjdG9yLkJyZWFrcG9pbnQuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5FdmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hh
bmdlLCB0aGlzLl9icmVha3BvaW50UmVzb2x2ZWRTdGF0ZURpZENoYW5nZSwgdGhpcyk7CisgICAg
dGhpcy5fbGlzdGVuZXJzID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2V0KHRoaXMs
ICJQcm9iZVNldCBsaXN0ZW5lcnMiKTsKKyAgICB0aGlzLl9saXN0ZW5lcnMucmVnaXN0ZXIoV2Vi
SW5zcGVjdG9yLkZyYW1lLCBXZWJJbnNwZWN0b3IuRnJhbWUuRXZlbnQuTWFpblJlc291cmNlRGlk
Q2hhbmdlLCB0aGlzLl9tYWluUmVzb3VyY2VDaGFuZ2VkKTsKKyAgICB0aGlzLl9saXN0ZW5lcnMu
cmVnaXN0ZXIoV2ViSW5zcGVjdG9yLlByb2JlLCBXZWJJbnNwZWN0b3IuUHJvYmUuRXZlbnQuU2Ft
cGxlQWRkZWQsIHRoaXMuX3NhbXBsZUNvbGxlY3RlZCk7CisgICAgdGhpcy5fbGlzdGVuZXJzLnJl
Z2lzdGVyKFdlYkluc3BlY3Rvci5CcmVha3BvaW50LCBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5F
dmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzLl9icmVha3BvaW50UmVzb2x2ZWRTdGF0
ZURpZENoYW5nZSk7CisgICAgdGhpcy5fbGlzdGVuZXJzLnJlZ2lzdGVyKFdlYkluc3BlY3Rvci5y
ZXBsYXlNYW5hZ2VyLCBXZWJJbnNwZWN0b3IuUmVwbGF5TWFuYWdlci5FdmVudC5DYXB0dXJlU3Rv
cHBlZCwgdGhpcy5fcmVwbGF5Q2FwdHVyZVN0b3BwZWQpOworICAgIHRoaXMuX2xpc3RlbmVycy5y
ZWdpc3RlcihXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdlciwgV2ViSW5zcGVjdG9yLlJlcGxheU1h
bmFnZXIuRXZlbnQuQWN0aXZlU2Vzc2lvbkNoYW5nZWQsIHRoaXMuX3BsYXliYWNrU2Vzc2lvbkNo
YW5nZWQpOworICAgIHRoaXMuX2xpc3RlbmVycy5yZWdpc3RlcihXZWJJbnNwZWN0b3IuUmVwbGF5
U2Vzc2lvbiwgV2ViSW5zcGVjdG9yLlJlcGxheVNlc3Npb24uRXZlbnQuU2VnbWVudHNDaGFuZ2Vk
LCB0aGlzLl9wbGF5YmFja1Nlc3Npb25TZWdtZW50c0NoYW5nZWQpOworCisgICAgdGhpcy5fbGlz
dGVuZXJzLmluc3RhbGwoKTsKKworICAgIC8vIFN0YXJ0IHdpdGggYSBub3JtYWwgZGF0YSB0YWJs
ZSwgYW5kIHVwZ3JhZGUgdG8gYSByZXBsYXkgZGF0YSB0YWJsZSBpZiBhIG5vbi1lbXB0eSBzZXNz
aW9uIGlzIGFjdGl2ZS4gVGhlCisgICAgLy8gcmVwbGF5IG1hbmFnZXIgbWF5IG5vdCBiZSBzeW5j
aHJvbml6ZWQgd2l0aCB0aGUgYmFja2VuZCB5ZXQgaWYgdGhlIHByb2JlIHNldCBpcyByZXN0b3Jl
ZCBmcm9tIGNvb2tpZS4KKyAgICBXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdlci53YWl0VW50aWxJ
bml0aWFsaXplZCgpLnRoZW4odGhpcy5fcGxheWJhY2tTZXNzaW9uQ2hhbmdlZC5iaW5kKHRoaXMp
KTsKIH0KIAogV2ViSW5zcGVjdG9yLk9iamVjdC5hZGRDb25zdHJ1Y3RvckZ1bmN0aW9ucyhXZWJJ
bnNwZWN0b3IuUHJvYmVTZXQpOwpAQCAtMTIyLDkgKzEzMiw3IEBAIFdlYkluc3BlY3Rvci5Qcm9i
ZVNldC5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBjb25zb2xlLmFzc2VydCghdGhpcy5f
cHJvYmVzLmxlbmd0aCwgIlByb2JlU2V0LndpbGxSZW1vdmUgY2FsbGVkLCBidXQgcHJvYmVzIHN0
aWxsIGFzc29jaWF0ZWQgd2l0aCBncm91cDogIiwgdGhpcy5fcHJvYmVzKTsKIAotICAgICAgICBX
ZWJJbnNwZWN0b3IuRnJhbWUucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuRnJhbWUu
RXZlbnQuTWFpblJlc291cmNlRGlkQ2hhbmdlLCB0aGlzLl9tYWluUmVzb3VyY2VDaGFuZ2VkLCB0
aGlzKTsKLSAgICAgICAgV2ViSW5zcGVjdG9yLlByb2JlLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2Vi
SW5zcGVjdG9yLlByb2JlLkV2ZW50LlNhbXBsZUFkZGVkLCB0aGlzLl9zYW1wbGVDb2xsZWN0ZWQs
IHRoaXMpOwotICAgICAgICBXZWJJbnNwZWN0b3IuQnJlYWtwb2ludC5yZW1vdmVFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5CcmVha3BvaW50LkV2ZW50LlJlc29sdmVkU3RhdGVEaWRDaGFuZ2Us
IHRoaXMuX2JyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlLCB0aGlzKTsKKyAgICAgICAg
dGhpcy5fbGlzdGVuZXJzLnVuaW5zdGFsbCh0cnVlKTsKICAgICB9LAogCiAgICAgLy8gUHJpdmF0
ZQpAQCAtMTM2LDEwICsxNDQsMTMgQEAgV2ViSW5zcGVjdG9yLlByb2JlU2V0LnByb3RvdHlwZSA9
IHsKIAogICAgIF9jcmVhdGVEYXRhVGFibGU6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIGlm
ICh0aGlzLmRhdGFUYWJsZSkKLSAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLndpbGxSZW1vdmUo
KTsKKyAgICAgICAgaWYgKHRoaXMuX2RhdGFUYWJsZSkKKyAgICAgICAgICAgIHRoaXMuX2RhdGFU
YWJsZS53aWxsUmVtb3ZlKCk7CiAKLSAgICAgICAgdGhpcy5fZGF0YVRhYmxlID0gbmV3IFdlYklu
c3BlY3Rvci5Qcm9iZVNldERhdGFUYWJsZSh0aGlzKTsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rv
ci5yZXBsYXlNYW5hZ2VyLnNlc3Npb25TdGF0ZSAhPT0gV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFn
ZXIuU2Vzc2lvblN0YXRlLkNhcHR1cmluZyAmJiBXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdlci5w
bGF5YmFja1Nlc3Npb24uc2VnbWVudHMubGVuZ3RoKQorICAgICAgICAgICAgdGhpcy5fZGF0YVRh
YmxlID0gbmV3IFdlYkluc3BlY3Rvci5Qcm9iZVNldFJlcGxheURhdGFUYWJsZSh0aGlzKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgdGhpcy5fZGF0YVRhYmxlID0gbmV3IFdlYkluc3BlY3Rv
ci5Qcm9iZVNldERhdGFUYWJsZSh0aGlzKTsKICAgICB9LAogCiAgICAgX3NhbXBsZUNvbGxlY3Rl
ZDogZnVuY3Rpb24oZXZlbnQpCkBAIC0xNTUsNiArMTY2LDQyIEBAIFdlYkluc3BlY3Rvci5Qcm9i
ZVNldC5wcm90b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuZGF0YVRhYmxlLmFkZFNhbXBsZUZvclBy
b2JlKHByb2JlLCBzYW1wbGUpOwogICAgIH0sCiAKKyAgICBfcmVwbGF5Q2FwdHVyZVN0b3BwZWQ6
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5SZXBsYXlT
ZXNzaW9uLnNlc3Npb25TdGF0ZSA9PT0gV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFnZXIuU2Vzc2lv
blN0YXRlLkNhcHR1cmluZykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIVdl
Ykluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLnBsYXliYWNrU2Vzc2lvbi5zZWdtZW50cy5sZW5ndGgp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5jbGVhclNhbXBsZXMoKTsKKyAg
ICB9LAorCisgICAgX3BsYXliYWNrU2Vzc2lvbkNoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAg
IHsKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5SZXBsYXlTZXNzaW9uLnNlc3Npb25TdGF0ZSA9
PT0gV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFnZXIuU2Vzc2lvblN0YXRlLkNhcHR1cmluZykKKyAg
ICAgICAgICAgIHJldHVybjsKKworICAgICAgICBpZiAoIVdlYkluc3BlY3Rvci5yZXBsYXlNYW5h
Z2VyLnBsYXliYWNrU2Vzc2lvbi5zZWdtZW50cy5sZW5ndGgpCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgdGhpcy5jbGVhclNhbXBsZXMoKTsKKyAgICB9LAorCisgICAgX3BsYXliYWNr
U2Vzc2lvblNlZ21lbnRzQ2hhbmdlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBp
ZiAoZXZlbnQudGFyZ2V0ICE9PSBXZWJJbnNwZWN0b3IucmVwbGF5TWFuYWdlci5wbGF5YmFja1Nl
c3Npb24pCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgaWYgKFdlYkluc3BlY3Rvci5S
ZXBsYXlTZXNzaW9uLnNlc3Npb25TdGF0ZSA9PT0gV2ViSW5zcGVjdG9yLlJlcGxheU1hbmFnZXIu
U2Vzc2lvblN0YXRlLkNhcHR1cmluZykKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBp
ZiAoIVdlYkluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLnBsYXliYWNrU2Vzc2lvbi5zZWdtZW50cy5s
ZW5ndGgpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5jbGVhclNhbXBsZXMo
KTsKKyAgICB9LAorCiAgICAgX2JyZWFrcG9pbnRSZXNvbHZlZFN0YXRlRGlkQ2hhbmdlOiBmdW5j
dGlvbihldmVudCkKICAgICB7CiAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJz
KFdlYkluc3BlY3Rvci5Qcm9iZVNldC5FdmVudC5SZXNvbHZlZFN0YXRlRGlkQ2hhbmdlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Qcm9i
ZVNldERhdGFGcmFtZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9Qcm9iZVNldERhdGFGcmFtZS5qcwppbmRleCA5ZTExNmQyMWI0ODkzNDhiOTNjMjI1MDli
Nzg5YjhjZGI5MWM4NGM0Li4xMDQ4NjA3YjBmZGU1OThkNjk2Y2MxMmMwY2ZmNmQ0ZjczYjk0OWQ0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
UHJvYmVTZXREYXRhRnJhbWUuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL1Byb2JlU2V0RGF0YUZyYW1lLmpzCkBAIC0zMSw3ICszMSw3IEBAIFdlYklu
c3BlY3Rvci5Qcm9iZVNldERhdGFGcmFtZSA9IGZ1bmN0aW9uKGluZGV4KQogICAgIHRoaXMuX3Nl
cGFyYXRvciA9IGZhbHNlOwogfTsKIAotV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUZyYW1lLmNv
bXBhcmUgPSBmdW5jdGlvbihhLCBiKSB7CitXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhRnJhbWUu
Y29tcGFyYXRvciA9IGZ1bmN0aW9uKGEsIGIpIHsKICAgICBjb25zb2xlLmFzc2VydChhIGluc3Rh
bmNlb2YgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUZyYW1lLCBhKTsKICAgICBjb25zb2xlLmFz
c2VydChiIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUZyYW1lLCBiKTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1By
b2JlU2V0RGF0YVRhYmxlLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2Uv
TW9kZWxzL1Byb2JlU2V0RGF0YVRhYmxlLmpzCmluZGV4IGM1MzgxNDNkNDk3NDczMDg0NGMzMmU5
ZWU5ZjRjNzllYzU5ZmVmMWIuLjgxZTBhYzExOWMxMzA0NDAyMDNmNzY5NjZkOTEyOWI4Mzg3ODI5
ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9Qcm9iZVNldERhdGFUYWJsZS5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlcklu
dGVyZmFjZS9Nb2RlbHMvUHJvYmVTZXREYXRhVGFibGUuanMKQEAgLTM1LDcgKzM1LDkgQEAgV2Vi
SW5zcGVjdG9yLlByb2JlU2V0RGF0YVRhYmxlID0gZnVuY3Rpb24ocHJvYmVTZXQpCiAKIFdlYklu
c3BlY3Rvci5Qcm9iZVNldERhdGFUYWJsZS5FdmVudCA9IHsKICAgICBGcmFtZUluc2VydGVkOiAi
cHJvYmUtc2V0LWRhdGEtdGFibGUtZnJhbWUtaW5zZXJ0ZWQiLAorICAgIEZyYW1lUmVwbGFjZWQ6
ICJwcm9iZS1zZXQtZGF0YS10YWJsZS1mcmFtZS1yZXBsYWNlZCIsCiAgICAgU2VwYXJhdG9ySW5z
ZXJ0ZWQ6ICJwcm9iZS1zZXQtZGF0YS10YWJsZS1zZXBhcmF0b3ItaW5zZXJ0ZWQiLAorICAgIFNl
cGFyYXRvclJlcGxhY2VkOiAicHJvYmUtc2V0LWRhdGEtdGFibGUtc2VwYXJhdG9yLXJlcGxhY2Vk
IiwKICAgICBXaWxsUmVtb3ZlOiAicHJvYmUtc2V0LWRhdGEtdGFibGUtd2lsbC1yZW1vdmUiCiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2Rl
bHMvUHJvYmVTZXRSZXBsYXlEYXRhRnJhbWUuanMgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNl
ckludGVyZmFjZS9Nb2RlbHMvUHJvYmVTZXRSZXBsYXlEYXRhRnJhbWUuanMKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZGNkYTM1ZTJkYmM5YzRhMDMzNWFmOThkOGMzYzI5Y2RhMzg4MWI0MAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9Qcm9iZVNldFJl
cGxheURhdGFGcmFtZS5qcwpAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEzIFVuaXZlcnNpdHkgb2YgV2FzaGluZ3Rvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUyAiQVMKKyAqIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRAorICogVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBCisgKiBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworV2ViSW5zcGVjdG9yLlByb2JlU2V0UmVwbGF5RGF0YUZyYW1lID0gZnVu
Y3Rpb24ocG9zaXRpb24sIGNvdW50ZXJWYWx1ZSkKK3sKKyAgICBXZWJJbnNwZWN0b3IuUHJvYmVT
ZXREYXRhRnJhbWUuY2FsbCh0aGlzLCAwKTsKKyAgICB0aGlzLnBvc2l0aW9uID0gcG9zaXRpb247
CisgICAgdGhpcy5jb3VudGVyVmFsdWUgPSBjb3VudGVyVmFsdWU7Cit9OworCitXZWJJbnNwZWN0
b3IuUHJvYmVTZXRSZXBsYXlEYXRhRnJhbWUuY29tcGFyYXRvciA9IGZ1bmN0aW9uKGEsIGIpCit7
CisgICAgY29uc29sZS5hc3NlcnQoYSBpbnN0YW5jZW9mIFdlYkluc3BlY3Rvci5Qcm9iZVNldFJl
cGxheURhdGFGcmFtZSwgYSk7CisgICAgY29uc29sZS5hc3NlcnQoYiBpbnN0YW5jZW9mIFdlYklu
c3BlY3Rvci5Qcm9iZVNldFJlcGxheURhdGFGcmFtZSwgYik7CisKKyAgICB2YXIgcG9zaXRpb25S
ZWxhdGlvbiA9IFdlYkluc3BlY3Rvci5SZXBsYXlQb3NpdGlvbi5jb21wYXJhdG9yKGEucG9zaXRp
b24sIGIucG9zaXRpb24pOworICAgIGlmIChwb3NpdGlvblJlbGF0aW9uICE9PSAwKQorICAgICAg
ICByZXR1cm4gcG9zaXRpb25SZWxhdGlvbjsKKworICAgIHJldHVybiBhLmNvdW50ZXJWYWx1ZSAt
IGIuY291bnRlclZhbHVlOworfQorCitXZWJJbnNwZWN0b3IuUHJvYmVTZXRSZXBsYXlEYXRhRnJh
bWUucHJvdG90eXBlID0geworICAgIGNvbnN0cnVjdG9yOiBXZWJJbnNwZWN0b3IuUHJvYmVTZXRS
ZXBsYXlEYXRhRnJhbWUsCisgICAgX19wcm90b19fOiBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRh
RnJhbWUucHJvdG90eXBlLAorCisgICAgLy8gUHVibGljCisKKyAgICBnZXQga2V5KCkKKyAgICB7
CisgICAgICAgIHJldHVybiAiJWQsJWQsJWQiLmZvcm1hdCh0aGlzLnBvc2l0aW9uLnNlZ21lbnRP
ZmZzZXQsIHRoaXMucG9zaXRpb24uaW5wdXRPZmZzZXQsIHRoaXMuY291bnRlclZhbHVlKTsKKyAg
ICB9LAorCisgICAgZ2V0IGNvbXBhcmVGdW5jdGlvbigpCisgICAgeworICAgICAgICByZXR1cm4g
V2ViSW5zcGVjdG9yLlByb2JlU2V0UmVwbGF5RGF0YUZyYW1lLmNvbXBhcmF0b3I7CisgICAgfQor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVs
cy9Qcm9iZVNldFJlcGxheURhdGFUYWJsZS5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9Qcm9iZVNldFJlcGxheURhdGFUYWJsZS5qcwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5m
ZjI4OWQwODJmY2E2MmExM2QyYjM4M2I4NDUwZDYwOTdjZjYwZTYwCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL1Byb2JlU2V0UmVw
bGF5RGF0YVRhYmxlLmpzCkBAIC0wLDAgKzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTMgVW5pdmVyc2l0eSBvZiBXYXNoaW5ndG9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElT
JycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitXZWJJbnNwZWN0b3IuUHJvYmVT
ZXRSZXBsYXlEYXRhVGFibGUgPSBmdW5jdGlvbihwcm9iZVNldCkKK3sKKyAgICBXZWJJbnNwZWN0
b3IuUHJvYmVTZXREYXRhVGFibGUuY2FsbCh0aGlzLCBwcm9iZVNldCk7CisKKyAgICB0aGlzLl9j
b3VudGVyVmFsdWUgPSBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhVGFibGUuU2VudGluZWxWYWx1
ZTsKKyAgICB0aGlzLl9wcmV2aW91c0ZyYW1lID0gbnVsbDsKKworCisgICAgV2ViSW5zcGVjdG9y
LnJlcGxheU1hbmFnZXIuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVwbGF5TWFuYWdl
ci5FdmVudC5QbGF5YmFja1Bvc2l0aW9uQ2hhbmdlZCwgdGhpcy5fcGxheWJhY2tQb3NpdGlvbkNo
YW5nZWQsIHRoaXMpOworfTsKKworV2ViSW5zcGVjdG9yLlByb2JlU2V0UmVwbGF5RGF0YVRhYmxl
LnByb3RvdHlwZSA9IHsKKyAgICBjb25zdHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlByb2JlU2V0UmVw
bGF5RGF0YVRhYmxlLAorICAgIF9fcHJvdG9fXzogV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YVRh
YmxlLnByb3RvdHlwZSwKKworICAgIHdpbGxSZW1vdmU6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAg
ICAgIFdlYkluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLnJlbW92ZUV2ZW50TGlzdGVuZXIoV2ViSW5z
cGVjdG9yLlJlcGxheU1hbmFnZXIuRXZlbnQuUGxheWJhY2tQb3NpdGlvbkNoYW5nZWQsIHRoaXMu
X3BsYXliYWNrUG9zaXRpb25DaGFuZ2VkLCB0aGlzKTsKKworICAgICAgICBXZWJJbnNwZWN0b3Iu
UHJvYmVTZXREYXRhVGFibGUucHJvdG90eXBlLndpbGxSZW1vdmUuY2FsbCh0aGlzKTsKKyAgICB9
LAorCisgICAgLy8gUHJvdGVjdGVkCisKKyAgICBjcmVhdGVGcmFtZTogZnVuY3Rpb24oKQorICAg
IHsKKyAgICAgICAgdGhpcy5fY291bnRlclZhbHVlID0gKHRoaXMuX2NvdW50ZXJWYWx1ZSA9PT0g
V2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YVRhYmxlLlNlbnRpbmVsVmFsdWUpID8gMCA6IHRoaXMu
X2NvdW50ZXJWYWx1ZSArIDE7CisgICAgICAgIHJldHVybiBuZXcgV2ViSW5zcGVjdG9yLlByb2Jl
U2V0UmVwbGF5RGF0YUZyYW1lKFdlYkluc3BlY3Rvci5yZXBsYXlNYW5hZ2VyLnBsYXliYWNrUG9z
aXRpb24sIHRoaXMuX2NvdW50ZXJWYWx1ZSk7CisgICAgfSwKKworICAgIGFkZEZyYW1lOiBmdW5j
dGlvbihmcmFtZSkKKyAgICB7CisgICAgICAgIHZhciBpbnNlcnRpb25JbmRleCA9IGluc2VydGlv
bkluZGV4Rm9yT2JqZWN0SW5MaXN0U29ydGVkQnlGdW5jdGlvbihmcmFtZSwgdGhpcy5fZnJhbWVz
LCBXZWJJbnNwZWN0b3IuUHJvYmVTZXRSZXBsYXlEYXRhRnJhbWUuY29tcGFyYXRvcik7CisgICAg
ICAgIGlmICh0aGlzLl9mcmFtZXMuaGFzT3duUHJvcGVydHkoaW5zZXJ0aW9uSW5kZXgpKSB7Cisg
ICAgICAgICAgICB0aGlzLl9mcmFtZXMuc3BsaWNlKGluc2VydGlvbkluZGV4LCAxLCBmcmFtZSk7
CisgICAgICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
UHJvYmVTZXREYXRhVGFibGUuRXZlbnQuRnJhbWVSZXBsYWNlZCwgZnJhbWUpOworICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgdGhpcy5fZnJhbWVzLnNwbGljZShpbnNlcnRpb25JbmRleCwg
MCwgZnJhbWUpOworICAgICAgICAgICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2Vi
SW5zcGVjdG9yLlByb2JlU2V0RGF0YVRhYmxlLkV2ZW50LkZyYW1lSW5zZXJ0ZWQsIGZyYW1lKTsK
KyAgICAgICAgfQorCisgICAgICAgIC8vIFNhdmUgdGhlIHByZXZpb3VzIGZyYW1lIHNvIHRoZSBz
ZXBhcmF0b3IgY2FuIGJlIHBsYWNlZCB0aGVyZS4KKyAgICAgICAgdGhpcy5fcHJldmlvdXNGcmFt
ZSA9IGZyYW1lOworICAgIH0sCisKKyAgICBhZGRTZXBhcmF0b3I6IGZ1bmN0aW9uKCkKKyAgICB7
CisgICAgICAgIC8vIFNlcGFyYXRvcnMgbXVzdCBiZSBhc3NvY2lhdGVkIHdpdGggYSBmcmFtZS4K
KyAgICAgICAgaWYgKCF0aGlzLl9wcmV2aW91c0ZyYW1lKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIGlmICh0aGlzLl9wcmV2aW91c0ZyYW1lLmlzU2VwYXJhdG9yKQorICAgICAgICAg
ICAgdGhpcy5kaXNwYXRjaEV2ZW50VG9MaXN0ZW5lcnMoV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0
YVRhYmxlLkV2ZW50LlNlcGFyYXRvclJlcGxhY2VkLCB0aGlzLl9wcmV2aW91c0ZyYW1lKTsKKyAg
ICAgICAgZWxzZSB7CisgICAgICAgICAgICB0aGlzLl9wcmV2aW91c0ZyYW1lLmlzU2VwYXJhdG9y
ID0gdHJ1ZTsKKyAgICAgICAgICAgIHRoaXMuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYklu
c3BlY3Rvci5Qcm9iZVNldERhdGFUYWJsZS5FdmVudC5TZXBhcmF0b3JJbnNlcnRlZCwgdGhpcy5f
cHJldmlvdXNGcmFtZSk7CisgICAgICAgIH0KKyAgICB9LAorCisgICAgLy8gUHJpdmF0ZQorCisg
ICAgX3BsYXliYWNrUG9zaXRpb25DaGFuZ2VkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAg
ICAgIHRoaXMuX2NvdW50ZXJWYWx1ZSA9IFdlYkluc3BlY3Rvci5Qcm9iZVNldERhdGFUYWJsZS5T
ZW50aW5lbFZhbHVlOworICAgIH0KK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVwbGF5UG9zaXRpb24uanMgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVwbGF5UG9zaXRpb24uanMKaW5kZXggMmFj
MGMyNGYyMGNlZGQ0MjFmMmNlZjU0ZGM0NmY0ZWZjMmQ3Mzk2Yi4uYzNkZjMzNmVjMmFjMzY5NTYy
OGNjM2EyNmFmZTBmNzhjNmY4MDViZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL1JlcGxheVBvc2l0aW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXBsYXlQb3NpdGlvbi5qcwpAQCAtMzYs
NiArMzYsMjQgQEAgV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0aW9uLmZyb21Qcm90b2NvbCA9IGZ1
bmN0aW9uKHBheWxvYWQpCiAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuUmVwbGF5UG9zaXRp
b24ocGF5bG9hZC5zZWdtZW50T2Zmc2V0LCBwYXlsb2FkLmlucHV0T2Zmc2V0KTsKIH07CiAKK1dl
Ykluc3BlY3Rvci5SZXBsYXlQb3NpdGlvbi5jb21wYXJhdG9yID0gZnVuY3Rpb24oYSwgYikKK3sK
KyAgICBjb25zb2xlLmFzc2VydChhIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0
aW9uLCBhKTsKKyAgICBjb25zb2xlLmFzc2VydChiIGluc3RhbmNlb2YgV2ViSW5zcGVjdG9yLlJl
cGxheVBvc2l0aW9uLCBiKTsKKworICAgIGlmIChhLnNlZ21lbnRPZmZzZXQgPCBiLnNlZ21lbnRP
ZmZzZXQpCisgICAgICAgIHJldHVybiAtMTsKKyAgICBpZiAoYS5zZWdtZW50T2Zmc2V0ID4gYi5z
ZWdtZW50T2Zmc2V0KQorICAgICAgICByZXR1cm4gMTsKKworICAgIGlmIChhLmlucHV0T2Zmc2V0
IDwgYi5pbnB1dE9mZnNldCkKKyAgICAgICAgcmV0dXJuIC0xOworICAgIGlmIChhLmlucHV0T2Zm
c2V0ID4gYi5pbnB1dE9mZnNldCkKKyAgICAgICAgcmV0dXJuIDE7CisKKyAgICByZXR1cm4gMDsK
K30KKwogV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0aW9uLnByb3RvdHlwZSA9IHsKICAgICBjb25z
dHJ1Y3RvcjogV2ViSW5zcGVjdG9yLlJlcGxheVBvc2l0aW9uLAogICAgIF9fcHJvdG9fXzogV2Vi
SW5zcGVjdG9yLk9iamVjdC5wcm90b3R5cGUsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvUmVwbGF5U2Vzc2lvbi5qcyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXBsYXlTZXNzaW9uLmpzCmluZGV4IGQy
NDAxYzBhZjIxMTgyOTMwMmY2NjZjODRlYjRkNTNjNzc2YmI1MzQuLjI0ZmIwYTIwMDU0YTE2MTlk
ZjFlNjQwNDlkZmY0OTNkYTRiOGNmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXBsYXlTZXNzaW9uLmpzCisrKyBiL1NvdXJjZS9XZWJJ
bnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9SZXBsYXlTZXNzaW9uLmpzCkBAIC0zNCw2
ICszNCw4IEBAIFdlYkluc3BlY3Rvci5SZXBsYXlTZXNzaW9uID0gZnVuY3Rpb24oaWRlbnRpZmll
cikKICAgICB0aGlzLl90aW1lc3RhbXAgPSBudWxsOwogfTsKIAorV2ViSW5zcGVjdG9yLk9iamVj
dC5hZGRDb25zdHJ1Y3RvckZ1bmN0aW9ucyhXZWJJbnNwZWN0b3IuUmVwbGF5U2Vzc2lvbik7CisK
IFdlYkluc3BlY3Rvci5SZXBsYXlTZXNzaW9uLmZyb21QYXlsb2FkID0gZnVuY3Rpb24oaWRlbnRp
ZmllciwgcGF5bG9hZCkKIHsKICAgICB2YXIgc2Vzc2lvbiA9IG5ldyBXZWJJbnNwZWN0b3IuUmVw
bGF5U2Vzc2lvbihpZGVudGlmaWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JV
SS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2JlU2V0RGF0YUdyaWQuY3NzIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRhR3JpZC5jc3MKaW5kZXgg
NGZjZTI2ZmFkZTdhZjBiZDA3OTBkNmU5MmUzNjc3ZGVhNWZhNmY5Yi4uYWNmNjUwNTcwNzIwMmUy
OGIxNDk1MTBlNzVhZTczYTUwYWM0ZDM5MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRhR3JpZC5jc3MKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRhR3JpZC5jc3MK
QEAgLTI5LDYgKzI5LDExIEBACiAgICAgY29sb3I6ICM3Nzc7CiB9CiAKKy5kZXRhaWxzLXNlY3Rp
b24ucHJvYmUtc2V0IC5kYXRhLWdyaWQgLmRhdGEtY29udGFpbmVyIHRyLmZ1dHVyZS12YWx1ZSB0
ZCB7CisgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpOworICAg
IGNvbG9yOiAjYWFhOworfQorCiAuZGV0YWlscy1zZWN0aW9uLnByb2JlLXNldCAuZGF0YS1ncmlk
ID4gdGQudW5rbm93bi12YWx1ZSB7CiAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzAsIDIz
MCwgMjMwLCAwLjgpOwogICAgIGJhY2tncm91bmQtaW1hZ2U6IHJlcGVhdGluZy1saW5lYXItZ3Jh
ZGllbnQoLTQ1ZGVnLCB0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQgN3B4LCByZ2JhKDI1NSwgMjU1
LCAyNTUsIC41KSA3cHgsIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpIDE0cHgpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRh
R3JpZC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1Byb2Jl
U2V0RGF0YUdyaWQuanMKaW5kZXggMWNiN2ViYzVlMTBkNjQ4MGNiYWRmYTgxMTU3OGNjYTQxMjEw
NzMwZC4uMzUwNTQ3ODViZjZlZjQ3ODY2MWZmOWQ4NTgwNmUzMWM1NGNhN2E4ZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRh
R3JpZC5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9Q
cm9iZVNldERhdGFHcmlkLmpzCkBAIC0zOSwxNCArMzksMTUgQEAgV2ViSW5zcGVjdG9yLlByb2Jl
U2V0RGF0YUdyaWQgPSBmdW5jdGlvbihwcm9iZVNldCkKIAogICAgIHRoaXMuZWxlbWVudC5jbGFz
c0xpc3QuYWRkKCJpbmxpbmUiKTsKIAotICAgIHRoaXMuX2ZyYW1lTm9kZXMgPSBuZXcgTWFwOwor
ICAgIHRoaXMuX2ZyYW1lS2V5VG9Ob2Rlc01hcCA9IG5ldyBNYXA7CiAgICAgdGhpcy5fbm9kZXNT
aW5jZUxhc3ROYXZpZ2F0aW9uID0gW107CiAKICAgICB0aGlzLl9saXN0ZW5lcnMgPSBuZXcgV2Vi
SW5zcGVjdG9yLkV2ZW50TGlzdGVuZXJTZXQodGhpcywgIlByb2JlU2V0RGF0YUdyaWQgaW5zdGFu
Y2UgbGlzdGVuZXJzIik7CiAgICAgdGhpcy5fbGlzdGVuZXJzLnJlZ2lzdGVyKHByb2JlU2V0LCBX
ZWJJbnNwZWN0b3IuUHJvYmVTZXQuRXZlbnQuUHJvYmVBZGRlZCwgdGhpcy5fc2V0dXBQcm9iZSk7
CiAgICAgdGhpcy5fbGlzdGVuZXJzLnJlZ2lzdGVyKHByb2JlU2V0LCBXZWJJbnNwZWN0b3IuUHJv
YmVTZXQuRXZlbnQuUHJvYmVSZW1vdmVkLCB0aGlzLl90ZWFyZG93blByb2JlKTsKICAgICB0aGlz
Ll9saXN0ZW5lcnMucmVnaXN0ZXIocHJvYmVTZXQsIFdlYkluc3BlY3Rvci5Qcm9iZVNldC5FdmVu
dC5TYW1wbGVzQ2xlYXJlZCwgdGhpcy5fc2V0dXBEYXRhKTsKLSAgICB0aGlzLl9saXN0ZW5lcnMu
cmVnaXN0ZXIoV2ViSW5zcGVjdG9yLlByb2JlLCBXZWJJbnNwZWN0b3IuUHJvYmUuRXZlbnQuRXhw
cmVzc2lvbkNoYW5nZWQsIHRoaXMuX3Byb2JlRXhwcmVzc2lvbkNoYW5nZWQpCisgICAgdGhpcy5f
bGlzdGVuZXJzLnJlZ2lzdGVyKFdlYkluc3BlY3Rvci5Qcm9iZSwgV2ViSW5zcGVjdG9yLlByb2Jl
LkV2ZW50LkV4cHJlc3Npb25DaGFuZ2VkLCB0aGlzLl9wcm9iZUV4cHJlc3Npb25DaGFuZ2VkKTsK
KyAgICB0aGlzLl9saXN0ZW5lcnMucmVnaXN0ZXIoV2ViSW5zcGVjdG9yLnJlcGxheU1hbmFnZXIs
IFdlYkluc3BlY3Rvci5SZXBsYXlNYW5hZ2VyLkV2ZW50LkFjdGl2ZVNlZ21lbnRDaGFuZ2VkLCB0
aGlzLl9hY3RpdmVTZWdtZW50Q2hhbmdlZCk7CiAgICAgdGhpcy5fbGlzdGVuZXJzLmluc3RhbGwo
KTsKIAogICAgIHRoaXMuX3NldHVwRGF0YSgpOwpAQCAtNTQsNiArNTUsNyBAQCBXZWJJbnNwZWN0
b3IuUHJvYmVTZXREYXRhR3JpZCA9IGZ1bmN0aW9uKHByb2JlU2V0KQogCiBXZWJJbnNwZWN0b3Iu
UHJvYmVTZXREYXRhR3JpZC5EYXRhVXBkYXRlZFN0eWxlQ2xhc3NOYW1lID0gImRhdGEtdXBkYXRl
ZCI7CiBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhR3JpZC5QYXN0RnJhbWVTdHlsZUNsYXNzTmFt
ZSA9ICJwYXN0LXZhbHVlIjsKK1dlYkluc3BlY3Rvci5Qcm9iZVNldERhdGFHcmlkLkZ1dHVyZUZy
YW1lU3R5bGVDbGFzc05hbWUgPSAiZnV0dXJlLXZhbHVlIjsKIFdlYkluc3BlY3Rvci5Qcm9iZVNl
dERhdGFHcmlkLkhpZ2hsaWdodGVkRnJhbWVTdHlsZUNsYXNzTmFtZSA9ICJoaWdobGlnaHRlZCI7
CiAKIFdlYkluc3BlY3Rvci5Qcm9iZVNldERhdGFHcmlkLkRhdGFVcGRhdGVkQW5pbWF0aW9uRHVy
YXRpb24gPSAzMDA7IC8vIG1pbGxpc2Vjb25kcwpAQCAtMTAwLDcgKzEwMiw5IEBAIFdlYkluc3Bl
Y3Rvci5Qcm9iZVNldERhdGFHcmlkLnByb3RvdHlwZSA9IHsKIAogICAgICAgICB0aGlzLl9kYXRh
TGlzdGVuZXJzID0gbmV3IFdlYkluc3BlY3Rvci5FdmVudExpc3RlbmVyU2V0KHRoaXMsICJQcm9i
ZVNldERhdGFHcmlkIGRhdGEgdGFibGUgbGlzdGVuZXJzIik7CiAgICAgICAgIHRoaXMuX2RhdGFM
aXN0ZW5lcnMucmVnaXN0ZXIodGhpcy5fZGF0YSwgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YVRh
YmxlLkV2ZW50LkZyYW1lSW5zZXJ0ZWQsIHRoaXMuX2RhdGFGcmFtZUluc2VydGVkKTsKKyAgICAg
ICAgdGhpcy5fZGF0YUxpc3RlbmVycy5yZWdpc3Rlcih0aGlzLl9kYXRhLCBXZWJJbnNwZWN0b3Iu
UHJvYmVTZXREYXRhVGFibGUuRXZlbnQuRnJhbWVSZXBsYWNlZCwgdGhpcy5fZGF0YUZyYW1lUmVw
bGFjZWQpOwogICAgICAgICB0aGlzLl9kYXRhTGlzdGVuZXJzLnJlZ2lzdGVyKHRoaXMuX2RhdGEs
IFdlYkluc3BlY3Rvci5Qcm9iZVNldERhdGFUYWJsZS5FdmVudC5TZXBhcmF0b3JJbnNlcnRlZCwg
dGhpcy5fZGF0YVNlcGFyYXRvckluc2VydGVkKTsKKyAgICAgICAgdGhpcy5fZGF0YUxpc3RlbmVy
cy5yZWdpc3Rlcih0aGlzLl9kYXRhLCBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhVGFibGUuRXZl
bnQuU2VwYXJhdG9yUmVwbGFjZWQsIHRoaXMuX2RhdGFTZXBhcmF0b3JSZXBsYWNlZCk7CiAgICAg
ICAgIHRoaXMuX2RhdGFMaXN0ZW5lcnMucmVnaXN0ZXIodGhpcy5fZGF0YSwgV2ViSW5zcGVjdG9y
LlByb2JlU2V0RGF0YVRhYmxlLkV2ZW50LldpbGxSZW1vdmUsIHRoaXMuX3RlYXJkb3duRGF0YSk7
CiAgICAgICAgIHRoaXMuX2RhdGFMaXN0ZW5lcnMuaW5zdGFsbCgpOwogICAgIH0sCkBAIC0xMDks
NyArMTEzLDcgQEAgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUdyaWQucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgdGhpcy5fZGF0YUxpc3RlbmVycy51bmluc3RhbGwodHJ1ZSk7CiAgICAg
ICAgIHRoaXMucmVtb3ZlQ2hpbGRyZW4oKTsKLSAgICAgICAgdGhpcy5fZnJhbWVOb2RlcyA9IG5l
dyBNYXA7CisgICAgICAgIHRoaXMuX2ZyYW1lS2V5VG9Ob2Rlc01hcCA9IG5ldyBNYXA7CiAgICAg
ICAgIHRoaXMuX3NlcGFyYXRvcnMgPSBuZXcgTWFwOwogICAgICAgICBkZWxldGUgdGhpcy5fbGFz
dFVwZGF0ZWRGcmFtZTsKICAgICB9LApAQCAtMTE4LDIwICsxMjIsMjQgQEAgV2ViSW5zcGVjdG9y
LlByb2JlU2V0RGF0YUdyaWQucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgY29uc29sZS5h
c3NlcnQoZnJhbWUgaW5zdGFuY2VvZiBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhRnJhbWUsICJJ
bnZhbGlkIFByb2JlU2V0RGF0YUZyYW1lIGFyZ3VtZW50OiAiLCBmcmFtZSk7CiAgICAgICAgIHZh
ciBub2RlID0gbnVsbDsKLSAgICAgICAgaWYgKHRoaXMuX2ZyYW1lTm9kZXMuaGFzKGZyYW1lKSkg
ewotICAgICAgICAgICAgbm9kZSA9IHRoaXMuX2ZyYW1lTm9kZXMuZ2V0KGZyYW1lKTsKKyAgICAg
ICAgaWYgKHRoaXMuX2ZyYW1lS2V5VG9Ob2Rlc01hcC5oYXMoZnJhbWUua2V5KSkgeworICAgICAg
ICAgICAgbm9kZSA9IHRoaXMuX2ZyYW1lS2V5VG9Ob2Rlc01hcC5nZXQoZnJhbWUua2V5KTsKICAg
ICAgICAgICAgIG5vZGUuZnJhbWUgPSBmcmFtZTsKICAgICAgICAgICAgIG5vZGUucmVmcmVzaCgp
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgbm9kZSA9IG5ldyBXZWJJbnNwZWN0b3Iu
UHJvYmVTZXREYXRhR3JpZE5vZGUodGhpcyk7CiAgICAgICAgICAgICBub2RlLmZyYW1lID0gZnJh
bWU7Ci0gICAgICAgICAgICB0aGlzLl9mcmFtZU5vZGVzLnNldChmcmFtZSwgbm9kZSk7CisgICAg
ICAgICAgICB0aGlzLl9mcmFtZUtleVRvTm9kZXNNYXAuc2V0KGZyYW1lLmtleSwgbm9kZSk7CiAg
ICAgICAgICAgICBub2RlLmNyZWF0ZUNlbGxzKCk7CiAKLSAgICAgICAgICAgIHZhciBzb3J0RnVu
Y3Rpb24gPSBmdW5jdGlvbihhLCBiKSB7Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3Bl
Y3Rvci5Qcm9iZVNldERhdGFGcmFtZS5jb21wYXJlKGEuZnJhbWUsIGIuZnJhbWUpOwotICAgICAg
ICAgICAgfTsKLSAgICAgICAgICAgIHZhciBpbnNlcnRpb25JbmRleCA9IGluc2VydGlvbkluZGV4
Rm9yT2JqZWN0SW5MaXN0U29ydGVkQnlGdW5jdGlvbihub2RlLCB0aGlzLmNoaWxkcmVuLCBzb3J0
RnVuY3Rpb24pOworICAgICAgICAgICAgdmFyIGZyYW1lQ29tcGFyYXRvciA9IGZyYW1lLmNvbnN0
cnVjdG9yLmNvbXBhcmF0b3I7CisgICAgICAgICAgICBjb25zb2xlLmFzc2VydChmcmFtZUNvbXBh
cmF0b3IgaW5zdGFuY2VvZiBGdW5jdGlvbik7CisgICAgICAgICAgICBmdW5jdGlvbiBub2RlQ29t
cGFyYXRvcihhLCBiKSB7CisgICAgICAgICAgICAgICAgLy8gRHluYW1pY2FsbHkgZmluZCB0aGUg
cmlnaHQgY29tcGFyYXRvciBmb3IgdGhpcyBmcmFtZSBzdWJjbGFzcy4KKyAgICAgICAgICAgICAg
ICByZXR1cm4gZnJhbWVDb21wYXJhdG9yKGEuZnJhbWUsIGIuZnJhbWUpOworICAgICAgICAgICAg
fQorCisgICAgICAgICAgICB2YXIgaW5zZXJ0aW9uSW5kZXggPSBpbnNlcnRpb25JbmRleEZvck9i
amVjdEluTGlzdFNvcnRlZEJ5RnVuY3Rpb24obm9kZSwgdGhpcy5jaGlsZHJlbiwgbm9kZUNvbXBh
cmF0b3IpOwogICAgICAgICAgICAgaWYgKGluc2VydGlvbkluZGV4ID09PSB0aGlzLmNoaWxkcmVu
Lmxlbmd0aCkKICAgICAgICAgICAgICAgICB0aGlzLmFwcGVuZENoaWxkKG5vZGUpOwogICAgICAg
ICAgICAgZWxzZSBpZiAodGhpcy5jaGlsZHJlbltpbnNlcnRpb25JbmRleF0uZnJhbWUua2V5ID09
PSBmcmFtZS5rZXkpIHsKQEAgLTE0NywxMyArMTU1LDE0IEBAIFdlYkluc3BlY3Rvci5Qcm9iZVNl
dERhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIG5vZGUuZWxlbWVudC5jbGFzc0xp
c3QucmVtb3ZlKFdlYkluc3BlY3Rvci5Qcm9iZVNldERhdGFHcmlkLkRhdGFVcGRhdGVkU3R5bGVD
bGFzc05hbWUpOwogICAgICAgICB9LCBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhR3JpZC5EYXRh
VXBkYXRlZEFuaW1hdGlvbkR1cmF0aW9uKTsKIAorICAgICAgICBub2RlLmVsZW1lbnQuY2xhc3NM
aXN0LnJlbW92ZShXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhR3JpZC5GdXR1cmVGcmFtZVN0eWxl
Q2xhc3NOYW1lKTsKICAgICAgICAgdGhpcy5fbm9kZXNTaW5jZUxhc3ROYXZpZ2F0aW9uLnB1c2go
bm9kZSk7CiAgICAgfSwKIAogICAgIF91cGRhdGVOb2RlRm9yU2VwYXJhdG9yOiBmdW5jdGlvbihm
cmFtZSkKICAgICB7Ci0gICAgICAgIGNvbnNvbGUuYXNzZXJ0KHRoaXMuX2ZyYW1lTm9kZXMuaGFz
KGZyYW1lKSwgIlRyaWVkIHRvIGFkZCBzZXBhcmF0b3IgZm9yIHVua25vd24gZGF0YSBmcmFtZTog
IiwgZnJhbWUpOwotICAgICAgICB0aGlzLl9mcmFtZU5vZGVzLmdldChmcmFtZSkudXBkYXRlQ2Vs
bHNGb3JTZXBhcmF0b3IoZnJhbWUsIHRoaXMucHJvYmVTZXQpOworICAgICAgICBjb25zb2xlLmFz
c2VydCh0aGlzLl9mcmFtZUtleVRvTm9kZXNNYXAuaGFzKGZyYW1lLmtleSksICJUcmllZCB0byBh
ZGQgc2VwYXJhdG9yIGZvciB1bmtub3duIGRhdGEgZnJhbWU6ICIsIGZyYW1lKTsKKyAgICAgICAg
dGhpcy5fZnJhbWVLZXlUb05vZGVzTWFwLmdldChmcmFtZS5rZXkpLnVwZGF0ZUNlbGxzRm9yU2Vw
YXJhdG9yKGZyYW1lLCB0aGlzLnByb2JlU2V0KTsKIAogICAgICAgICBmb3IgKHZhciBub2RlIG9m
IHRoaXMuX25vZGVzU2luY2VMYXN0TmF2aWdhdGlvbikKICAgICAgICAgICAgIG5vZGUuZWxlbWVu
dC5jbGFzc0xpc3QuYWRkKFdlYkluc3BlY3Rvci5Qcm9iZVNldERhdGFHcmlkLlBhc3RGcmFtZVN0
eWxlQ2xhc3NOYW1lKTsKQEAgLTE2OCwxMiArMTc3LDI1IEBAIFdlYkluc3BlY3Rvci5Qcm9iZVNl
dERhdGFHcmlkLnByb3RvdHlwZSA9IHsKICAgICAgICAgdGhpcy5fdXBkYXRlTm9kZUZvckZyYW1l
KGZyYW1lKTsKICAgICB9LAogCisgICAgX2RhdGFGcmFtZVJlcGxhY2VkOiBmdW5jdGlvbihldmVu
dCkKKyAgICB7CisgICAgICAgIHZhciBmcmFtZSA9IGV2ZW50LmRhdGE7CisgICAgICAgIHRoaXMu
X2xhc3RVcGRhdGVkRnJhbWUgPSBmcmFtZTsKKyAgICAgICAgdGhpcy5fdXBkYXRlTm9kZUZvckZy
YW1lKGZyYW1lKTsKKyAgICB9LAorCiAgICAgX2RhdGFTZXBhcmF0b3JJbnNlcnRlZDogZnVuY3Rp
b24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgZnJhbWUgPSBldmVudC5kYXRhOwogICAgICAg
ICB0aGlzLl91cGRhdGVOb2RlRm9yU2VwYXJhdG9yKGZyYW1lKTsKICAgICB9LAogCisgICAgX2Rh
dGFTZXBhcmF0b3JSZXBsYWNlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB2YXIg
ZnJhbWUgPSBldmVudC5kYXRhOworICAgICAgICB0aGlzLl91cGRhdGVOb2RlRm9yU2VwYXJhdG9y
KGZyYW1lKTsKKyAgICB9LAorCiAgICAgX3Byb2JlRXhwcmVzc2lvbkNoYW5nZWQ6IGZ1bmN0aW9u
KGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIHByb2JlID0gZXZlbnQudGFyZ2V0OwpAQCAtMTkx
LDUgKzIxMywxOCBAQCBXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhR3JpZC5wcm90b3R5cGUgPSB7
CiAKICAgICAgICAgZm9yICh2YXIgZnJhbWUgb2YgdGhpcy5fZGF0YS5mcmFtZXMpCiAgICAgICAg
ICAgICB0aGlzLl91cGRhdGVOb2RlRm9yRnJhbWUoZnJhbWUpOworICAgIH0sCisKKyAgICBfYWN0
aXZlU2VnbWVudENoYW5nZWQ6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgLy8gRG9u
J3QgY2xlYXIgc2FtcGxlcyBpZiB0aGUgZmluYWwgc2VnbWVudCB3YXMgdW5sb2FkZWQuCisgICAg
ICAgIGlmICghV2ViSW5zcGVjdG9yLnJlcGxheU1hbmFnZXIuYWN0aXZlU2VnbWVudElkZW50aWZp
ZXIpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgdGhpcy5fbm9kZXNTaW5jZUxhc3RO
YXZpZ2F0aW9uID0gW107CisgICAgICAgIGZvciAodmFyIFtmcmFtZUtleSwgbm9kZV0gb2YgdGhp
cy5fZnJhbWVLZXlUb05vZGVzTWFwKSB7CisgICAgICAgICAgICBub2RlLmVsZW1lbnQuY2xhc3NM
aXN0LmFkZChXZWJJbnNwZWN0b3IuUHJvYmVTZXREYXRhR3JpZC5GdXR1cmVGcmFtZVN0eWxlQ2xh
c3NOYW1lKTsKKyAgICAgICAgICAgIG5vZGUuZWxlbWVudC5jbGFzc0xpc3QucmVtb3ZlKFdlYklu
c3BlY3Rvci5Qcm9iZVNldERhdGFHcmlkLlBhc3RGcmFtZVN0eWxlQ2xhc3NOYW1lKTsKKyAgICAg
ICAgfQogICAgIH0KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1Byb2JlU2V0RGF0YUdyaWROb2RlLmpzIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRhR3JpZE5vZGUuanMKaW5kZXggZTYy
ZTI0ZGQxODc3N2QwMjA5NWJhN2ZiZTMwMTgyYWJmNzdlMjQ1NC4uY2U4OWE1MGVmMzJmODA5ZjVj
Y2E3YjllYjhjOWJjOWVmMTlmOGU0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRhR3JpZE5vZGUuanMKKysrIGIvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvUHJvYmVTZXREYXRhR3JpZE5vZGUu
anMKQEAgLTMzLDcgKzMzLDcgQEAgV2ViSW5zcGVjdG9yLlByb2JlU2V0RGF0YUdyaWROb2RlID0g
ZnVuY3Rpb24oZGF0YUdyaWQpCiAgICAgdGhpcy5fZGF0YSA9IHt9OwogCiAgICAgdGhpcy5fZWxl
bWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7Ci0gICAgdGhpcy5fZWxlbWVudC5k
YXRhR3JpZE5vZGUgPSB0aGlzOworICAgIHRoaXMuX2VsZW1lbnQuX2RhdGFHcmlkTm9kZSA9IHRo
aXM7CiAgICAgdGhpcy5fZWxlbWVudC5jbGFzc0xpc3QuYWRkKCJyZXZlYWxlZCIpOwogfTsKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>