<?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>38542</bug_id>
          
          <creation_ts>2010-05-04 13:40:59 -0700</creation_ts>
          <short_desc>Web Inspector: Clickable links to resources should be used as &apos;details&apos; part for the all suitable kinds of records.</short_desc>
          <delta_ts>2010-05-05 04:36:37 -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 (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ilya Tikhonovsky">loislo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>pfeldman</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>220741</commentid>
    <comment_count>0</comment_count>
      <attachid>55041</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-05-04 13:40:59 -0700</bug_when>
    <thetext>Created attachment 55041
screenshot.

Direct link to resources should be used as &apos;details&apos; part of record for all suitable record types.
As far as we definitely have a single child FunctionCall event for each TimerFire event we should propagate FunctionCall record&apos;s data to its parent TimerFire record.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220746</commentid>
    <comment_count>1</comment_count>
      <attachid>55042</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-05-04 13:48:45 -0700</bug_when>
    <thetext>Created attachment 55042
[patch] Initial version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>220973</commentid>
    <comment_count>2</comment_count>
      <attachid>55042</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-04 23:44:37 -0700</bug_when>
    <thetext>Comment on attachment 55042
[patch] Initial version.

WebCore/inspector/front-end/TimelinePanel.js:1002
 +  WebInspector.TimelinePanel.FormattedRecord.PopupContentHelper = function(title)
This could be WebInspector.TimelinePanel.PopupContentHelper or WebInspector.TimelinePopupContentHelper. No need to create nesting that deep. Same for FromattedRecord itself.

Please fix before landing!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221048</commentid>
    <comment_count>3</comment_count>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-05-05 04:31:02 -0700</bug_when>
    <thetext>Committing to http://svn.webkit.org/repository/webkit/trunk ...
	M	WebCore/ChangeLog
	M	WebCore/inspector/front-end/TimelinePanel.js
Committed r58809</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>221051</commentid>
    <comment_count>4</comment_count>
      <attachid>55106</attachid>
    <who name="Ilya Tikhonovsky">loislo</who>
    <bug_when>2010-05-05 04:36:37 -0700</bug_when>
    <thetext>Created attachment 55106
[patch] landed version.

PopupContentHelper was renamed.
&apos;details&apos; part of Timer related records was adjusted for WebKit case where we have no information about caller and callback function.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>55041</attachid>
            <date>2010-05-04 13:40:59 -0700</date>
            <delta_ts>2010-05-04 13:40:59 -0700</delta_ts>
            <desc>screenshot.</desc>
            <filename>Picture 2.png</filename>
            <type>image/png</type>
            <size>46439</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">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
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55042</attachid>
            <date>2010-05-04 13:48:45 -0700</date>
            <delta_ts>2010-05-05 04:36:37 -0700</delta_ts>
            <desc>[patch] Initial version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>19998</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YmY5M2MxYy4uNTMyZTE4OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wNS0wNCAgSWx5YSBUaWtob25v
dnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViSW5zcGVjdG9yOiBDbGlja2FibGUgbGlua3MgdG8gcmVz
b3VyY2VzIHNob3VsZCBiZSB1c2VkIGFzICdkZXRhaWxzJyBwYXJ0IGZvciB0aGUgYWxsIHN1aXRh
YmxlIGtpbmRzIG9mIHJlY29yZHMuIAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9Mzg1NDIKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGlt
ZWxpbmVQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLnByb3Rv
dHlwZS5faW5uZXJBZGRSZWNvcmRUb1RpbWVsaW5lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZExpc3RSb3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUmVj
b3JkTGlzdFJvdy5wcm90b3R5cGUudXBkYXRlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1l
bGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQucHJvdG90eXBlLl9nZW5lcmF0ZVBvcHVwQ29udGVudCk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQucHJv
dG90eXBlLl9nZXRSZWNvcmREZXRhaWxzKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5Qb3B1cENvbnRlbnRIZWxwZXIpOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLlBvcHVwQ29udGVudEhlbHBl
ci5wcm90b3R5cGUuX2NyZWF0ZUNlbGwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWwuRm9ybWF0dGVkUmVjb3JkLlBvcHVwQ29udGVudEhlbHBlci5wcm90b3R5cGUuX2FwcGVu
ZFRleHRSb3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVk
UmVjb3JkLlBvcHVwQ29udGVudEhlbHBlci5wcm90b3R5cGUuX2FwcGVuZEVsZW1lbnRSb3cpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLlBvcHVw
Q29udGVudEhlbHBlci5wcm90b3R5cGUuX2FwcGVuZExpbmtSb3cpOgorCiAyMDEwLTA1LTAzICBT
dGV2ZW4gTGFpICA8c3RldmVuX2xhaUBhc2lhLmFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdl
ZCBieSBCcmFkeSBFaWRzb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZVBhbmVsLmpzCmluZGV4IGUzOTM5M2IuLjY2MTY0NjYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC0yOTIsNiArMjkyLDE1IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCisgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PSByZWNvcmRUeXBlcy5UaW1lckZpcmUgJiYg
cmVjb3JkLmNoaWxkcmVuICYmIHJlY29yZC5jaGlsZHJlbi5sZW5ndGggPT09IDEpIHsKKyAgICAg
ICAgICAgIHZhciBjaGlsZFJlY29yZCA9IHJlY29yZC5jaGlsZHJlblswXTsKKyAgICAgICAgICAg
IGlmICggY2hpbGRSZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuRnVuY3Rpb25DYWxsKSB7Cisg
ICAgICAgICAgICAgICAgcmVjb3JkLmRhdGEuc2NyaXB0TmFtZSA9IGNoaWxkUmVjb3JkLmRhdGEu
c2NyaXB0TmFtZTsKKyAgICAgICAgICAgICAgICByZWNvcmQuZGF0YS5zY3JpcHRMaW5lID0gY2hp
bGRSZWNvcmQuZGF0YS5zY3JpcHRMaW5lOworICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZHJl
biA9IGNoaWxkUmVjb3JkLmNoaWxkcmVuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAg
ICAgICAgdmFyIGZvcm1hdHRlZFJlY29yZCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5l
bC5Gb3JtYXR0ZWRSZWNvcmQocmVjb3JkLCBwYXJlbnRSZWNvcmQsIHRoaXMuX3JlY29yZFN0eWxl
cywgdGhpcy5fc2VuZFJlcXVlc3RSZWNvcmRzLCB0aGlzLl90aW1lclJlY29yZHMpOwogCiAgICAg
ICAgIGlmIChyZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuTWFya0RPTUNvbnRlbnRFdmVudFR5
cGUgfHwgcmVjb3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLk1hcmtMb2FkRXZlbnRUeXBlKSB7CkBA
IC0zMDIsNyArMzExLDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICArK3RoaXMuX3Jvb3RSZWNvcmQuX2FsbFJlY29yZHNDb3VudDsKICAgICAgICAg
Zm9ybWF0dGVkUmVjb3JkLmNvbGxhcHNlZCA9IChwYXJlbnRSZWNvcmQgPT09IHRoaXMuX3Jvb3RS
ZWNvcmQpOwogCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQuY2hpbGRyZW4gJiYgaSA8
IHJlY29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgdmFyIGNoaWxkcmVuQ291bnQg
PSByZWNvcmQuY2hpbGRyZW4gPyByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoIDogMDsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkNvdW50OyArK2kpCiAgICAgICAgICAgICB0aGlz
Ll9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkLmNoaWxkcmVuW2ldLCBmb3JtYXR0ZWRS
ZWNvcmQpOwogCiAgICAgICAgIGZvcm1hdHRlZFJlY29yZC5fY2FsY3VsYXRlQWdncmVnYXRlZFN0
YXRzKHRoaXMuY2F0ZWdvcmllcyk7CkBAIC02NjQsMTIgKzY3NCw4IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZExpc3RSb3cgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fZGF0YUVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgdGhpcy5fZGF0YUVsZW1lbnQu
Y2xhc3NOYW1lID0gImRhdGEgZGltbWVkIjsKIAotICAgIHRoaXMuX3JlcGVhdENvdW50RWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICB0aGlzLl9yZXBlYXRDb3Vu
dEVsZW1lbnQuY2xhc3NOYW1lID0gImNvdW50IjsKLQogICAgIHRoaXMuZWxlbWVudC5hcHBlbmRD
aGlsZChzZXBhcmF0b3JFbGVtZW50KTsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fZGF0YUVsZW1lbnQpOwotICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9yZXBl
YXRDb3VudEVsZW1lbnQpOwogfQogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRMaXN0Um93
LnByb3RvdHlwZSA9IHsKQEAgLTY4MiwxNSArNjg4LDE4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZExpc3RSb3cucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NO
YW1lID0gInRpbWVsaW5lLXRyZWUtaXRlbSB0aW1lbGluZS1jYXRlZ29yeS0iICsgcmVjb3JkLmNh
dGVnb3J5Lm5hbWUgKyAoaXNFdmVuID8gIiBldmVuIiA6ICIiKTsKICAgICAgICAgdGhpcy5fdHlw
ZUVsZW1lbnQudGV4dENvbnRlbnQgPSByZWNvcmQudGl0bGU7CiAKLSAgICAgICAgaWYgKHJlY29y
ZC5kZXRhaWxzKQotICAgICAgICAgICAgdGhpcy5fZGF0YUVsZW1lbnQudGV4dENvbnRlbnQgPSAi
KCIgKyByZWNvcmQuZGV0YWlscyArICIpIjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGhp
cy5fZGF0YUVsZW1lbnQudGV4dENvbnRlbnQgPSAiIjsKLQotICAgICAgICBpZiAocmVjb3JkLmNv
dW50ID4gMSkKLSAgICAgICAgICAgIHRoaXMuX3JlcGVhdENvdW50RWxlbWVudC50ZXh0Q29udGVu
dCA9ICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgcmVjb3JkLmNvdW50OwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICB0aGlzLl9yZXBlYXRDb3VudEVsZW1lbnQudGV4dENvbnRlbnQgPSAiIjsKKyAg
ICAgICAgaWYgKHRoaXMuX2RhdGFFbGVtZW50LmZpcnN0Q2hpbGQpCisgICAgICAgICAgICB0aGlz
Ll9kYXRhRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICBpZiAocmVjb3JkLmRldGFp
bHMpIHsKKyAgICAgICAgICAgIHZhciBkZXRhaWxzQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOworICAgICAgICAgICAgaWYgKHR5cGVvZiByZWNvcmQuZGV0YWlscyA9
PT0gIm9iamVjdCIpIHsKKyAgICAgICAgICAgICAgICBkZXRhaWxzQ29udGFpbmVyLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIoIikpOworICAgICAgICAgICAgICAgIGRldGFp
bHNDb250YWluZXIuYXBwZW5kQ2hpbGQocmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAg
IGRldGFpbHNDb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiki
KSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBkZXRhaWxzQ29udGFpbmVy
LnRleHRDb250ZW50ID0gIigiICsgcmVjb3JkLmRldGFpbHMgKyAiKSI7CisgICAgICAgICAgICB0
aGlzLl9kYXRhRWxlbWVudC5hcHBlbmRDaGlsZChkZXRhaWxzQ29udGFpbmVyKTsKKyAgICAgICAg
fQogICAgIH0sCiAKICAgICBkaXNwb3NlOiBmdW5jdGlvbigpCkBAIC03OTQsNyArODAzLDYgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkID0gZnVuY3Rpb24ocmVj
b3JkLCBwYXJlbnRSZWNvcmQsIHJlY28KICAgICB0aGlzLnRpdGxlID0gc3R5bGUudGl0bGU7CiAg
ICAgdGhpcy5zdGFydFRpbWUgPSByZWNvcmQuc3RhcnRUaW1lIC8gMTAwMDsKICAgICB0aGlzLmRh
dGEgPSByZWNvcmQuZGF0YTsKLSAgICB0aGlzLmNvdW50ID0gMTsKICAgICB0aGlzLnR5cGUgPSBy
ZWNvcmQudHlwZTsKICAgICB0aGlzLmVuZFRpbWUgPSAodHlwZW9mIHJlY29yZC5lbmRUaW1lICE9
PSAidW5kZWZpbmVkIikgPyByZWNvcmQuZW5kVGltZSAvIDEwMDAgOiB0aGlzLnN0YXJ0VGltZTsK
ICAgICB0aGlzLl9zZWxmVGltZSA9IHRoaXMuZW5kVGltZSAtIHRoaXMuc3RhcnRUaW1lOwpAQCAt
ODQ1LDE4ICs4NTMsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNv
cmQucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gKHRoaXMuX2xhc3RDaGlsZEVuZFRpbWUg
LSB0aGlzLnN0YXJ0VGltZSkgPiBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5zaG9ydFJlY29y
ZFRocmVzaG9sZDsKICAgICB9LAogCi0gICAgX2NyZWF0ZUNlbGw6IGZ1bmN0aW9uKGNvbnRlbnQs
IHN0eWxlTmFtZSkKLSAgICB7Ci0gICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGFiZWwiKTsKLSAgICAgICAgdGV4dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShjb250ZW50KSk7Ci0gICAgICAgIHZhciBjZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidGQiKTsKLSAgICAgICAgY2VsbC5jbGFzc05hbWUgPSAidGltZWxpbmUtZGV0YWlscyI7
Ci0gICAgICAgIGlmIChzdHlsZU5hbWUpCi0gICAgICAgICAgICBjZWxsLmNsYXNzTmFtZSArPSAi
ICIgKyBzdHlsZU5hbWU7Ci0gICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb250ZW50OwotICAg
ICAgICByZXR1cm4gY2VsbDsKLSAgICB9LAotCiAgICAgZ2V0IGNoaWxkcmVuKCkKICAgICB7CiAg
ICAgICAgIGlmICghdGhpcy5fY2hpbGRyZW4pCkBAIC04NjQsMjQgKzg2MCw2IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHJldHVybiB0aGlzLl9jaGlsZHJlbjsKICAgICB9LAogCi0gICAgX2NyZWF0ZVJvdzogZnVuY3Rp
b24odGl0bGUsIGNvbnRlbnQpCi0gICAgewotICAgICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgidHIiKTsKLSAgICAgICAgcm93LmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNl
bGwodGl0bGUsICJ0aW1lbGluZS1kZXRhaWxzLXJvdy10aXRsZSIpKTsKLSAgICAgICAgcm93LmFw
cGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNlbGwoY29udGVudCwgInRpbWVsaW5lLWRldGFpbHMtcm93
LWRhdGEiKSk7Ci0gICAgICAgIHJldHVybiByb3c7Ci0gICAgfSwKLQotICAgIF9jcmVhdGVMaW5r
Um93OiBmdW5jdGlvbih0aXRsZSwgY29udGVudCkKLSAgICB7Ci0gICAgICAgIHZhciByb3cgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOwotICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGhp
cy5fY3JlYXRlQ2VsbCh0aXRsZSwgInRpbWVsaW5lLWRldGFpbHMtcm93LXRpdGxlIikpOwotICAg
ICAgICB2YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIGNl
bGwuYXBwZW5kQ2hpbGQoY29udGVudCk7Ci0gICAgICAgIHJvdy5hcHBlbmRDaGlsZChjZWxsKTsK
LSAgICAgICAgcmV0dXJuIHJvdzsKLSAgICB9LAotCiAgICAgX2dlbmVyYXRlQWdncmVnYXRlZElu
Zm86IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciBjZWxsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOwpAQCAtODk5LDcyICs4NzcsNzMgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLnByb3RvdHlwZSA9IHsKIAogICAgIF9nZW5lcmF0ZVBv
cHVwQ29udGVudDogZnVuY3Rpb24oY2FsY3VsYXRvciwgY2F0ZWdvcmllcykKICAgICB7Ci0gICAg
ICAgIHZhciByZWNvcmRDb250ZW50VGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJs
ZSIpOwotICAgICAgICB2YXIgdGl0bGVDZWxsID0gdGhpcy5fY3JlYXRlQ2VsbChXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIiVzIC0gRGV0YWlscyIsIHRoaXMudGl0bGUpLCAidGltZWxpbmUtZGV0YWls
cy10aXRsZSIpOwotICAgICAgICB0aXRsZUNlbGwuY29sU3BhbiA9IDI7Ci0gICAgICAgIHZhciB0
aXRsZVJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7Ci0gICAgICAgIHRpdGxlUm93
LmFwcGVuZENoaWxkKHRpdGxlQ2VsbCk7Ci0gICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBl
bmRDaGlsZCh0aXRsZVJvdyk7CisgICAgICAgIHZhciBjb250ZW50SGVscGVyID0gbmV3IFdlYklu
c3BlY3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5Qb3B1cENvbnRlbnRIZWxwZXIo
dGhpcy50aXRsZSk7CiAKICAgICAgICAgaWYgKHRoaXMuX2NoaWxkcmVuICYmIHRoaXMuX2NoaWxk
cmVuLmxlbmd0aCkgewotICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxk
KHRoaXMuX2NyZWF0ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlNlbGYgVGltZSIpLCBOdW1i
ZXIuc2Vjb25kc1RvU3RyaW5nKHRoaXMuX3NlbGZUaW1lICsgMC4wMDAxKSkpOwotICAgICAgICAg
ICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUxpbmtSb3coV2Vi
SW5zcGVjdG9yLlVJU3RyaW5nKCJBZ2dyZWdhdGVkIFRpbWUiKSwgdGhpcy5fZ2VuZXJhdGVBZ2dy
ZWdhdGVkSW5mbygpKSk7CisgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93
KCJTZWxmIFRpbWUiLCBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHRoaXMuX3NlbGZUaW1lICsgMC4w
MDAxKSk7CisgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRFbGVtZW50Um93KCJBZ2dy
ZWdhdGVkIFRpbWUiLCB0aGlzLl9nZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvKCkpOwogICAgICAgICB9
CiAgICAgICAgIHZhciB0ZXh0ID0gTnVtYmVyLnNlY29uZHNUb1N0cmluZyh0aGlzLl9sYXN0Q2hp
bGRFbmRUaW1lIC0gdGhpcy5zdGFydFRpbWUpICsgIiAoQCIgKwotICAgICAgICBjYWxjdWxhdG9y
LmZvcm1hdFZhbHVlKHRoaXMuc3RhcnRUaW1lIC0gY2FsY3VsYXRvci5taW5pbXVtQm91bmRhcnkp
ICsgIikiOwotICAgICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3Jl
YXRlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiRHVyYXRpb24iKSwgdGV4dCkpOworICAgICAg
ICAgICAgY2FsY3VsYXRvci5mb3JtYXRWYWx1ZSh0aGlzLnN0YXJ0VGltZSAtIGNhbGN1bGF0b3Iu
bWluaW11bUJvdW5kYXJ5KSArICIpIjsKKyAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4
dFJvdygiRHVyYXRpb24iLCB0ZXh0KTsKIAogICAgICAgICBjb25zdCByZWNvcmRUeXBlcyA9IFdl
Ykluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGU7Ci0gICAgICAgIGlmICh0aGlzLmRl
dGFpbHMpIHsKLSAgICAgICAgICAgIGlmICh0aGlzLnR5cGUgPT09IHJlY29yZFR5cGVzLkdDRXZl
bnQgKQotICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlz
Ll9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJDb2xsZWN0ZWQiKSwgTnVtYmVyLmJ5
dGVzVG9TdHJpbmcodGhpcy5kYXRhLnVzZWRIZWFwU2l6ZURlbHRhKSkpOwotICAgICAgICAgICAg
ZWxzZSBpZiAodGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5UaW1lckluc3RhbGwgfHwKLSAgICAg
ICAgICAgICAgICB0aGlzLnR5cGUgPT09IHJlY29yZFR5cGVzLlRpbWVyRmlyZSB8fAotICAgICAg
ICAgICAgICAgIHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZXJSZW1vdmUpIHsKLSAgICAg
ICAgICAgICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiVGltZXIgSWQiKSwgdGhpcy5kYXRhLnRpbWVySWQpKTsK
KworICAgICAgICBzd2l0Y2ggKHRoaXMudHlwZSkgeworICAgICAgICAgICAgY2FzZSByZWNvcmRU
eXBlcy5HQ0V2ZW50OgorICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRS
b3coIkNvbGxlY3RlZCIsIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMuZGF0YS51c2VkSGVhcFNp
emVEZWx0YSkpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSByZWNv
cmRUeXBlcy5UaW1lckluc3RhbGw6CisgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWVy
RmlyZToKKyAgICAgICAgICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZXJSZW1vdmU6CisgICAgICAg
ICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdygiVGltZXIgSWQiLCB0aGlzLmRh
dGEudGltZXJJZCk7CiAgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpbWVvdXQgPT09
ICJudW1iZXIiKSB7Ci0gICAgICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBl
bmRDaGlsZCh0aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaW1lb3V0Iiks
IHRoaXMudGltZW91dCkpOwotICAgICAgICAgICAgICAgICAgICByZWNvcmRDb250ZW50VGFibGUu
YXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiUmVwZWF0
cyIpLCAhdGhpcy5zaW5nbGVTaG90KSk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAg
ICAgIGlmICh0eXBlb2YgdGhpcy5jYWxsU2l0ZVNjcmlwdExpbmUgPT09ICJudW1iZXIiKSB7Ci0g
ICAgICAgICAgICAgICAgICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJj
ZUFzTm9kZSh0aGlzLmNhbGxTaXRlU2NyaXB0TmFtZSwgInNjcmlwdHMiLCB0aGlzLmNhbGxTaXRl
U2NyaXB0TGluZSwgInRpbWVsaW5lLWRldGFpbHMiKTsKLSAgICAgICAgICAgICAgICAgICAgcmVj
b3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUxpbmtSb3coV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJDYWxsIFNpdGUiKSwgbGluaykpOworICAgICAgICAgICAgICAgICAgICBj
b250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJUaW1lb3V0IiwgdGhpcy50aW1lb3V0KTsKKyAg
ICAgICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdygiUmVwZWF0cyIs
ICF0aGlzLnNpbmdsZVNob3QpOwogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAodGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5GdW5jdGlvbkNhbGwpIHsKLSAgICAgICAg
ICAgICAgICB2YXIgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3VyY2VBc05vZGUodGhp
cy5kYXRhLnNjcmlwdE5hbWUsICJzY3JpcHRzIiwgdGhpcy5kYXRhLnNjcmlwdExpbmUsICJ0aW1l
bGluZS1kZXRhaWxzIik7Ci0gICAgICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVu
ZENoaWxkKHRoaXMuX2NyZWF0ZUxpbmtSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2NhdGlv
biIpLCBsaW5rKSk7Ci0gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gcmVjb3Jk
VHlwZXMuUmVzb3VyY2VTZW5kUmVxdWVzdCB8fAotICAgICAgICAgICAgICAgICAgICAgICB0aGlz
LnR5cGUgPT09IHJlY29yZFR5cGVzLlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlIHx8Ci0gICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuUmVzb3VyY2VSZWNlaXZl
RGF0YSB8fAotICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnR5cGUgPT09IHJlY29yZFR5cGVz
LlJlc291cmNlRmluaXNoKSB7Ci0gICAgICAgICAgICAgICAgdmFyIGxpbmsgPSBXZWJJbnNwZWN0
b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHRoaXMuZGF0YS51cmwsICJyZXNvdXJjZXMiLCBudWxs
LCAidGltZWxpbmUtZGV0YWlscyIpOwotICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJs
ZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVMaW5rUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygi
UmVzb3VyY2UiKSwgbGluaykpOworICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5jYWxs
U2l0ZVNjcmlwdExpbmUgPT09ICJudW1iZXIiKQorICAgICAgICAgICAgICAgICAgICBjb250ZW50
SGVscGVyLl9hcHBlbmRMaW5rUm93KCJDYWxsIFNpdGUiLCB0aGlzLmNhbGxTaXRlU2NyaXB0TmFt
ZSwgdGhpcy5jYWxsU2l0ZVNjcmlwdExpbmUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5GdW5jdGlvbkNhbGw6CisgICAgICAgICAgICAgICAg
Y29udGVudEhlbHBlci5fYXBwZW5kTGlua1JvdygiTG9jYXRpb24iLCB0aGlzLmRhdGEuc2NyaXB0
TmFtZSwgdGhpcy5kYXRhLnNjcmlwdExpbmUpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5SZXNvdXJjZVNlbmRSZXF1ZXN0OgorICAgICAgICAg
ICAgY2FzZSByZWNvcmRUeXBlcy5SZXNvdXJjZVJlY2VpdmVSZXNwb25zZToKKyAgICAgICAgICAg
IGNhc2UgcmVjb3JkVHlwZXMuUmVzb3VyY2VSZWNlaXZlRGF0YToKKyAgICAgICAgICAgIGNhc2Ug
cmVjb3JkVHlwZXMuUmVzb3VyY2VGaW5pc2g6CisgICAgICAgICAgICAgICAgY29udGVudEhlbHBl
ci5fYXBwZW5kTGlua1JvdygiUmVzb3VyY2UiLCB0aGlzLmRhdGEudXJsKTsKICAgICAgICAgICAg
ICAgICBpZiAodGhpcy5kYXRhLnJlcXVlc3RNZXRob2QpCi0gICAgICAgICAgICAgICAgICAgIHJl
Y29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJSZXF1ZXN0IE1ldGhvZCIpLCB0aGlzLmRhdGEucmVxdWVzdE1ldGhvZCkpOwor
ICAgICAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJSZXF1ZXN0
IE1ldGhvZCIsIHRoaXMuZGF0YS5yZXF1ZXN0TWV0aG9kKTsKICAgICAgICAgICAgICAgICBpZiAo
dHlwZW9mIHRoaXMuZGF0YS5zdGF0dXNDb2RlID09PSAibnVtYmVyIikKLSAgICAgICAgICAgICAg
ICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVJvdyhXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIlN0YXR1cyBDb2RlIiksIHRoaXMuZGF0YS5zdGF0dXNDb2RlKSk7
CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coIlN0YXR1
cyBDb2RlIiwgdGhpcy5kYXRhLnN0YXR1c0NvZGUpOwogICAgICAgICAgICAgICAgIGlmICh0aGlz
LmRhdGEubWltZVR5cGUpCi0gICAgICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5h
cHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJNaW1lIFR5
cGUiKSwgdGhpcy5kYXRhLm1pbWVUeXBlKSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRI
ZWxwZXIuX2FwcGVuZFRleHRSb3coIk1pbWUgVHlwZSIsIHRoaXMuZGF0YS5taW1lVHlwZSk7CiAg
ICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmRhdGEuZXhwZWN0ZWRDb250ZW50TGVuZ3Ro
ID09PSAibnVtYmVyIiAmJiB0aGlzLmRhdGEuZXhwZWN0ZWRDb250ZW50TGVuZ3RoICE9PSAtMSkK
LSAgICAgICAgICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMu
X2NyZWF0ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkV4cGVjdGVkIENvbnRlbnQgTGVuZ3Ro
IiksIHRoaXMuZGF0YS5leHBlY3RlZENvbnRlbnRMZW5ndGgpKTsKLSAgICAgICAgICAgIH0gZWxz
ZSBpZiAodGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5FdmFsdWF0ZVNjcmlwdCkgewotICAgICAg
ICAgICAgICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSh0
aGlzLmRhdGEudXJsLCAic2NyaXB0cyIsIHRoaXMuZGF0YS5saW5lTnVtYmVyLCAidGltZWxpbmUt
ZGV0YWlscyIpOwotICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGls
ZCh0aGlzLl9jcmVhdGVMaW5rUm93KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2NyaXB0IiksIGxp
bmspKTsKLSAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5Q
YWludCkgewotICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0
aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJMb2NhdGlvbiIpLCB0aGlzLmRh
dGEueCArICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgdGhpcy5kYXRhLnkpKTsKLSAgICAgICAgICAg
ICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93KFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRGltZW5zaW9ucyIpLCB0aGlzLmRhdGEud2lkdGggKyAiXHUyMDA5
XHUwMGQ3XHUyMDA5IiArIHRoaXMuZGF0YS5oZWlnaHQpKTsKLSAgICAgICAgICAgIH0gZWxzZQot
ICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVh
dGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJEZXRhaWxzIiksIHRoaXMuZGV0YWlscykpOwor
ICAgICAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJFeHBlY3Rl
ZCBDb250ZW50IExlbmd0aCIsIHRoaXMuZGF0YS5leHBlY3RlZENvbnRlbnRMZW5ndGgpOworICAg
ICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5FdmFsdWF0
ZVNjcmlwdDoKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhICYmIHRoaXMuZGF0YS51cmwp
CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZExpbmtSb3coIlNjcmlw
dCIsIHRoaXMuZGF0YS51cmwsIHRoaXMuZGF0YS5saW5lTnVtYmVyKTsKKyAgICAgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgICAgIGNhc2UgcmVjb3JkVHlwZXMuUGFpbnQ6CisgICAgICAgICAg
ICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdygiTG9jYXRpb24iLCB0aGlzLmRhdGEu
eCArICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgdGhpcy5kYXRhLnkpOworICAgICAgICAgICAgICAg
IGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coIkRpbWVuc2lvbnMiLCB0aGlzLmRhdGEud2lk
dGggKyAiXHUyMDA5XHUwMGQ3XHUyMDA5IiArIHRoaXMuZGF0YS5oZWlnaHQpOworICAgICAgICAg
ICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICBpZiAodGhpcy5kZXRhaWxzKQorICAgICAgICAg
ICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJEZXRhaWxzIiwgdGhpcy5k
ZXRhaWxzKTsKKyAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogCi0gICAgICAgIGlm
ICh0aGlzLnR5cGUgIT09IHJlY29yZFR5cGVzLkdDRXZlbnQgJiYgdGhpcy5jYWxsZXJTY3JpcHRO
YW1lKSB7Ci0gICAgICAgICAgICB2YXIgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3Vy
Y2VBc05vZGUodGhpcy5jYWxsZXJTY3JpcHROYW1lLCAic2NyaXB0cyIsIHRoaXMuY2FsbGVyU2Ny
aXB0TGluZSk7Ci0gICAgICAgICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhp
cy5fY3JlYXRlTGlua1JvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNhbGxlciIpLCBsaW5rKSk7
Ci0gICAgICAgIH0KKyAgICAgICAgaWYgKHRoaXMuZGF0YS5zY3JpcHROYW1lICYmIHRoaXMudHlw
ZSAhPT0gcmVjb3JkVHlwZXMuRnVuY3Rpb25DYWxsKQorICAgICAgICAgICAgY29udGVudEhlbHBl
ci5fYXBwZW5kTGlua1JvdygiRnVuY3Rpb24gQ2FsbCIsIHRoaXMuZGF0YS5zY3JpcHROYW1lLCB0
aGlzLmRhdGEuc2NyaXB0TGluZSk7CisKKyAgICAgICAgaWYgKHRoaXMuY2FsbGVyU2NyaXB0TmFt
ZSAmJiB0aGlzLnR5cGUgIT09IHJlY29yZFR5cGVzLkdDRXZlbnQpCisgICAgICAgICAgICBjb250
ZW50SGVscGVyLl9hcHBlbmRMaW5rUm93KCJDYWxsZXIiLCB0aGlzLmNhbGxlclNjcmlwdE5hbWUs
IHRoaXMuY2FsbGVyU2NyaXB0TGluZSk7CisKICAgICAgICAgaWYgKHRoaXMudXNlZEhlYXBTaXpl
KQotICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0
ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlVzZWQgSGVhcCBTaXplIiksIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiJXMgb2YgJXMiLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0aGlzLnVzZWRIZWFw
U2l6ZSksIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMudG90YWxIZWFwU2l6ZSkpKSk7CisgICAg
ICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJVc2VkIEhlYXAgU2l6ZSIsIFdl
Ykluc3BlY3Rvci5VSVN0cmluZygiJXMgb2YgJXMiLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0aGlz
LnVzZWRIZWFwU2l6ZSksIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMudG90YWxIZWFwU2l6ZSkp
KTsKIAotICAgICAgICByZXR1cm4gcmVjb3JkQ29udGVudFRhYmxlOworICAgICAgICByZXR1cm4g
Y29udGVudEhlbHBlci5fY29udGVudFRhYmxlOwogICAgIH0sCiAKICAgICBfZ2V0UmVjb3JkRGV0
YWlsczogZnVuY3Rpb24ocmVjb3JkLCBzZW5kUmVxdWVzdFJlY29yZHMpCkBAIC05NzIsMTggKzk1
MSwyMCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQucHJvdG90
eXBlID0gewogICAgICAgICBzd2l0Y2ggKHJlY29yZC50eXBlKSB7CiAgICAgICAgICAgICBjYXNl
IFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuR0NFdmVudDoKICAgICAgICAg
ICAgICAgICByZXR1cm4gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyBjb2xsZWN0ZWQiLCBOdW1i
ZXIuYnl0ZXNUb1N0cmluZyhyZWNvcmQuZGF0YS51c2VkSGVhcFNpemVEZWx0YSkpOworICAgICAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVyRmly
ZToKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlw
ZS5GdW5jdGlvbkNhbGw6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNw
bGF5TmFtZUZvclVSTChyZWNvcmQuZGF0YS5zY3JpcHROYW1lKSArICI6IiArIHJlY29yZC5kYXRh
LnNjcmlwdExpbmU7CisgICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLnNjcmlwdE5h
bWUgPyBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHJlY29yZC5kYXRhLnNjcmlw
dE5hbWUsICJzY3JpcHRzIiwgcmVjb3JkLmRhdGEuc2NyaXB0TGluZSkgOiBudWxsOwogICAgICAg
ICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLkV2ZW50RGlz
cGF0Y2g6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhID8gcmVjb3JkLmRhdGEu
dHlwZSA6ICIiOworICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQuZGF0YSA/IHJlY29yZC5k
YXRhLnR5cGUgOiBudWxsOwogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudC5SZWNvcmRUeXBlLlBhaW50OgogICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQuZGF0
YS53aWR0aCArICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgcmVjb3JkLmRhdGEuaGVpZ2h0OwogICAg
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVy
SW5zdGFsbDoKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVj
b3JkVHlwZS5UaW1lclJlbW92ZToKLSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lckZpcmU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJl
Y29yZC5kYXRhLnRpbWVySWQ7CisgICAgICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZUFnZW50LlJlY29yZFR5cGUuUGFyc2VIVE1MOgorICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlJlY2FsY3VsYXRlU3R5bGVzOgorICAgICAgICAg
ICAgICAgIHJldHVybiB0aGlzLmNhbGxlclNjcmlwdE5hbWUgPyBXZWJJbnNwZWN0b3IubGlua2lm
eVJlc291cmNlQXNOb2RlKHRoaXMuY2FsbGVyU2NyaXB0TmFtZSwgInNjcmlwdHMiLCB0aGlzLmNh
bGxlclNjcmlwdExpbmUpIDogbnVsbDsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5FdmFsdWF0ZVNjcmlwdDoKLSAgICAgICAgICAgICAgICBy
ZXR1cm4gcmVjb3JkLmRhdGEudXJsID8gV2ViSW5zcGVjdG9yLmRpc3BsYXlOYW1lRm9yVVJMKHJl
Y29yZC5kYXRhLnVybCkgKyAiOiIgKyByZWNvcmQuZGF0YS5saW5lTnVtYmVyIDogIiI7CisgICAg
ICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLnVybCA/IFdlYkluc3BlY3Rvci5saW5raWZ5
UmVzb3VyY2VBc05vZGUocmVjb3JkLmRhdGEudXJsLCAic2NyaXB0cyIsIHJlY29yZC5kYXRhLmxp
bmVOdW1iZXIpIDogbnVsbDsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5l
QWdlbnQuUmVjb3JkVHlwZS5YSFJSZWFkeVN0YXRlQ2hhbmdlOgogICAgICAgICAgICAgY2FzZSBX
ZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlhIUkxvYWQ6CiAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuUmVzb3VyY2VTZW5k
UmVxdWVzdDoKQEAgLTk5NCw3ICs5NzUsNyBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5G
b3JtYXR0ZWRSZWNvcmQucHJvdG90eXBlID0gewogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLk1hcmtUaW1lbGluZToKICAgICAgICAgICAgICAg
ICByZXR1cm4gcmVjb3JkLmRhdGEubWVzc2FnZTsKICAgICAgICAgICAgIGRlZmF1bHQ6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuICIiOworICAgICAgICAgICAgICAgIHJldHVybiBudWxsOwogICAg
ICAgICB9CiAgICAgfSwKIApAQCAtMTAxNywzICs5OTgsNTEgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLnByb3RvdHlwZSA9IHsKICAgICAgICAgfQogICAgIH0K
IH0KKworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLlBvcHVwQ29u
dGVudEhlbHBlciA9IGZ1bmN0aW9uKHRpdGxlKQoreworICAgIHRoaXMuX2NvbnRlbnRUYWJsZSA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRhYmxlIik7OworICAgIHZhciB0aXRsZUNlbGwgPSB0
aGlzLl9jcmVhdGVDZWxsKFdlYkluc3BlY3Rvci5VSVN0cmluZygiJXMgLSBEZXRhaWxzIiwgdGl0
bGUpLCAidGltZWxpbmUtZGV0YWlscy10aXRsZSIpOworICAgIHRpdGxlQ2VsbC5jb2xTcGFuID0g
MjsKKyAgICB2YXIgdGl0bGVSb3cgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOworICAg
IHRpdGxlUm93LmFwcGVuZENoaWxkKHRpdGxlQ2VsbCk7CisgICAgdGhpcy5fY29udGVudFRhYmxl
LmFwcGVuZENoaWxkKHRpdGxlUm93KTsKK30KKworV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwu
Rm9ybWF0dGVkUmVjb3JkLlBvcHVwQ29udGVudEhlbHBlci5wcm90b3R5cGUgPSB7CisgICAgX2Ny
ZWF0ZUNlbGw6IGZ1bmN0aW9uKGNvbnRlbnQsIHN0eWxlTmFtZSkKKyAgICB7CisgICAgICAgIHZh
ciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKKyAgICAgICAgdGV4dC5h
cHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSk7CisgICAgICAgIHZh
ciBjZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKKyAgICAgICAgY2VsbC5jbGFz
c05hbWUgPSAidGltZWxpbmUtZGV0YWlscyI7CisgICAgICAgIGlmIChzdHlsZU5hbWUpCisgICAg
ICAgICAgICBjZWxsLmNsYXNzTmFtZSArPSAiICIgKyBzdHlsZU5hbWU7CisgICAgICAgIGNlbGwu
dGV4dENvbnRlbnQgPSBjb250ZW50OworICAgICAgICByZXR1cm4gY2VsbDsKKyAgICB9LAorCisg
ICAgX2FwcGVuZFRleHRSb3c6IGZ1bmN0aW9uKHRpdGxlLCBjb250ZW50KQorICAgIHsKKyAgICAg
ICAgdmFyIHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7CisgICAgICAgIHJvdy5h
cHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVDZWxsKFdlYkluc3BlY3Rvci5VSVN0cmluZyh0aXRsZSks
ICJ0aW1lbGluZS1kZXRhaWxzLXJvdy10aXRsZSIpKTsKKyAgICAgICAgcm93LmFwcGVuZENoaWxk
KHRoaXMuX2NyZWF0ZUNlbGwoY29udGVudCwgInRpbWVsaW5lLWRldGFpbHMtcm93LWRhdGEiKSk7
CisgICAgICAgIHRoaXMuX2NvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZChyb3cpOworICAgIH0sCisK
KyAgICBfYXBwZW5kRWxlbWVudFJvdzogZnVuY3Rpb24odGl0bGUsIGNvbnRlbnQpCisgICAgewor
ICAgICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTsKKyAgICAgICAg
cm93LmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNlbGwoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKHRp
dGxlKSwgInRpbWVsaW5lLWRldGFpbHMtcm93LXRpdGxlIikpOworICAgICAgICB2YXIgY2VsbCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7CisgICAgICAgIGNlbGwuYXBwZW5kQ2hpbGQo
Y29udGVudCk7CisgICAgICAgIHJvdy5hcHBlbmRDaGlsZChjZWxsKTsKKyAgICAgICAgdGhpcy5f
Y29udGVudFRhYmxlLmFwcGVuZENoaWxkKHJvdyk7CisgICAgfSwKKworICAgIF9hcHBlbmRMaW5r
Um93OiBmdW5jdGlvbih0aXRsZSwgc2NyaXB0TmFtZSwgc2NyaXB0TGluZSkKKyAgICB7CisgICAg
ICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZShzY3JpcHRO
YW1lLCAic2NyaXB0cyIsIHNjcmlwdExpbmUsICJ0aW1lbGluZS1kZXRhaWxzIik7CisgICAgICAg
IHRoaXMuX2FwcGVuZEVsZW1lbnRSb3codGl0bGUsIGxpbmspOworICAgIH0KK30K
</data>
<flag name="review"
          id="39142"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55106</attachid>
            <date>2010-05-05 04:36:37 -0700</date>
            <delta_ts>2010-05-05 04:36:37 -0700</delta_ts>
            <desc>[patch] landed version.</desc>
            <filename>patch</filename>
            <type>text/plain</type>
            <size>20280</size>
            <attacher name="Ilya Tikhonovsky">loislo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
OGQxYjFkZC4uZTQxZWY3MCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0wNS0wNSAgSWx5YSBUaWtob25v
dnNreSAgPGxvaXNsb0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgUGF2ZWwg
RmVsZG1hbi4KKworICAgICAgICBXZWJJbnNwZWN0b3I6IENsaWNrYWJsZSBsaW5rcyB0byByZXNv
dXJjZXMgc2hvdWxkIGJlIHVzZWQgYXMgJ2RldGFpbHMnIHBhcnQgZm9yIHRoZSBhbGwgc3VpdGFi
bGUga2luZHMgb2YgcmVjb3Jkcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTM4NTQyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1RpbWVs
aW5lUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5wcm90b3R5
cGUuX2lubmVyQWRkUmVjb3JkVG9UaW1lbGluZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGlt
ZWxpbmVSZWNvcmRMaXN0Um93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVJlY29y
ZExpc3RSb3cucHJvdG90eXBlLnVwZGF0ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxp
bmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWwuRm9ybWF0dGVkUmVjb3JkLnByb3RvdHlwZS5fZ2VuZXJhdGVQb3B1cENvbnRlbnQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLnByb3Rv
dHlwZS5fZ2V0UmVjb3JkRGV0YWlscyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5Qb3B1cENvbnRlbnRIZWxwZXIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5l
UGFuZWwuUG9wdXBDb250ZW50SGVscGVyLnByb3RvdHlwZS5fY3JlYXRlQ2VsbCk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Qb3B1cENvbnRlbnRIZWxwZXIucHJvdG90eXBl
Ll9hcHBlbmRUZXh0Um93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVBhbmVsLlBv
cHVwQ29udGVudEhlbHBlci5wcm90b3R5cGUuX2FwcGVuZEVsZW1lbnRSb3cpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuUG9wdXBDb250ZW50SGVscGVyLnByb3RvdHlwZS5f
YXBwZW5kTGlua1Jvdyk6CisKIDIwMTAtMDUtMDUgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1t
ZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgTm90IHJldmlld2VkLiBBZGQgbWlzc2luZyBmaWxl
cyBnZW5lcmF0ZWQgYnkgInJ1bi1iaW5kaW5ncy10ZXN0IiwgYWZ0ZXIgdGhlIERPTVRlc3RDYWxs
YmFjay5pZGwgYWRkaXRpb24uCmRpZmYgLS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvVGltZWxpbmVQYW5lbC5qcyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UaW1lbGlu
ZVBhbmVsLmpzCmluZGV4IGUzOTM5M2IuLjRmZjlkNWEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5z
cGVjdG9yL2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCisrKyBiL1dlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9UaW1lbGluZVBhbmVsLmpzCkBAIC0yOTIsNiArMjkyLDE1IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIH0KICAgICAgICAg
fQogCisgICAgICAgIGlmIChyZWNvcmQudHlwZSA9PSByZWNvcmRUeXBlcy5UaW1lckZpcmUgJiYg
cmVjb3JkLmNoaWxkcmVuICYmIHJlY29yZC5jaGlsZHJlbi5sZW5ndGggPT09IDEpIHsKKyAgICAg
ICAgICAgIHZhciBjaGlsZFJlY29yZCA9IHJlY29yZC5jaGlsZHJlblswXTsKKyAgICAgICAgICAg
IGlmICggY2hpbGRSZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuRnVuY3Rpb25DYWxsKSB7Cisg
ICAgICAgICAgICAgICAgcmVjb3JkLmRhdGEuc2NyaXB0TmFtZSA9IGNoaWxkUmVjb3JkLmRhdGEu
c2NyaXB0TmFtZTsKKyAgICAgICAgICAgICAgICByZWNvcmQuZGF0YS5zY3JpcHRMaW5lID0gY2hp
bGRSZWNvcmQuZGF0YS5zY3JpcHRMaW5lOworICAgICAgICAgICAgICAgIHJlY29yZC5jaGlsZHJl
biA9IGNoaWxkUmVjb3JkLmNoaWxkcmVuOworICAgICAgICAgICAgfQorICAgICAgICB9CisKICAg
ICAgICAgdmFyIGZvcm1hdHRlZFJlY29yZCA9IG5ldyBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5l
bC5Gb3JtYXR0ZWRSZWNvcmQocmVjb3JkLCBwYXJlbnRSZWNvcmQsIHRoaXMuX3JlY29yZFN0eWxl
cywgdGhpcy5fc2VuZFJlcXVlc3RSZWNvcmRzLCB0aGlzLl90aW1lclJlY29yZHMpOwogCiAgICAg
ICAgIGlmIChyZWNvcmQudHlwZSA9PT0gcmVjb3JkVHlwZXMuTWFya0RPTUNvbnRlbnRFdmVudFR5
cGUgfHwgcmVjb3JkLnR5cGUgPT09IHJlY29yZFR5cGVzLk1hcmtMb2FkRXZlbnRUeXBlKSB7CkBA
IC0zMDIsNyArMzExLDggQEAgV2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwucHJvdG90eXBlID0g
ewogICAgICAgICArK3RoaXMuX3Jvb3RSZWNvcmQuX2FsbFJlY29yZHNDb3VudDsKICAgICAgICAg
Zm9ybWF0dGVkUmVjb3JkLmNvbGxhcHNlZCA9IChwYXJlbnRSZWNvcmQgPT09IHRoaXMuX3Jvb3RS
ZWNvcmQpOwogCi0gICAgICAgIGZvciAodmFyIGkgPSAwOyByZWNvcmQuY2hpbGRyZW4gJiYgaSA8
IHJlY29yZC5jaGlsZHJlbi5sZW5ndGg7ICsraSkKKyAgICAgICAgdmFyIGNoaWxkcmVuQ291bnQg
PSByZWNvcmQuY2hpbGRyZW4gPyByZWNvcmQuY2hpbGRyZW4ubGVuZ3RoIDogMDsKKyAgICAgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCBjaGlsZHJlbkNvdW50OyArK2kpCiAgICAgICAgICAgICB0aGlz
Ll9pbm5lckFkZFJlY29yZFRvVGltZWxpbmUocmVjb3JkLmNoaWxkcmVuW2ldLCBmb3JtYXR0ZWRS
ZWNvcmQpOwogCiAgICAgICAgIGZvcm1hdHRlZFJlY29yZC5fY2FsY3VsYXRlQWdncmVnYXRlZFN0
YXRzKHRoaXMuY2F0ZWdvcmllcyk7CkBAIC02NjQsMTIgKzY3NCw4IEBAIFdlYkluc3BlY3Rvci5U
aW1lbGluZVJlY29yZExpc3RSb3cgPSBmdW5jdGlvbigpCiAgICAgdGhpcy5fZGF0YUVsZW1lbnQg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJzcGFuIik7CiAgICAgdGhpcy5fZGF0YUVsZW1lbnQu
Y2xhc3NOYW1lID0gImRhdGEgZGltbWVkIjsKIAotICAgIHRoaXMuX3JlcGVhdENvdW50RWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInNwYW4iKTsKLSAgICB0aGlzLl9yZXBlYXRDb3Vu
dEVsZW1lbnQuY2xhc3NOYW1lID0gImNvdW50IjsKLQogICAgIHRoaXMuZWxlbWVudC5hcHBlbmRD
aGlsZChzZXBhcmF0b3JFbGVtZW50KTsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5fZGF0YUVsZW1lbnQpOwotICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLl9yZXBl
YXRDb3VudEVsZW1lbnQpOwogfQogCiBXZWJJbnNwZWN0b3IuVGltZWxpbmVSZWNvcmRMaXN0Um93
LnByb3RvdHlwZSA9IHsKQEAgLTY4MiwxNSArNjg4LDE4IEBAIFdlYkluc3BlY3Rvci5UaW1lbGlu
ZVJlY29yZExpc3RSb3cucHJvdG90eXBlID0gewogICAgICAgICB0aGlzLmVsZW1lbnQuY2xhc3NO
YW1lID0gInRpbWVsaW5lLXRyZWUtaXRlbSB0aW1lbGluZS1jYXRlZ29yeS0iICsgcmVjb3JkLmNh
dGVnb3J5Lm5hbWUgKyAoaXNFdmVuID8gIiBldmVuIiA6ICIiKTsKICAgICAgICAgdGhpcy5fdHlw
ZUVsZW1lbnQudGV4dENvbnRlbnQgPSByZWNvcmQudGl0bGU7CiAKLSAgICAgICAgaWYgKHJlY29y
ZC5kZXRhaWxzKQotICAgICAgICAgICAgdGhpcy5fZGF0YUVsZW1lbnQudGV4dENvbnRlbnQgPSAi
KCIgKyByZWNvcmQuZGV0YWlscyArICIpIjsKLSAgICAgICAgZWxzZQotICAgICAgICAgICAgdGhp
cy5fZGF0YUVsZW1lbnQudGV4dENvbnRlbnQgPSAiIjsKLQotICAgICAgICBpZiAocmVjb3JkLmNv
dW50ID4gMSkKLSAgICAgICAgICAgIHRoaXMuX3JlcGVhdENvdW50RWxlbWVudC50ZXh0Q29udGVu
dCA9ICJcdTIwMDlcdTAwZDdcdTIwMDkiICsgcmVjb3JkLmNvdW50OwotICAgICAgICBlbHNlCi0g
ICAgICAgICAgICB0aGlzLl9yZXBlYXRDb3VudEVsZW1lbnQudGV4dENvbnRlbnQgPSAiIjsKKyAg
ICAgICAgaWYgKHRoaXMuX2RhdGFFbGVtZW50LmZpcnN0Q2hpbGQpCisgICAgICAgICAgICB0aGlz
Ll9kYXRhRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICBpZiAocmVjb3JkLmRldGFp
bHMpIHsKKyAgICAgICAgICAgIHZhciBkZXRhaWxzQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOworICAgICAgICAgICAgaWYgKHR5cGVvZiByZWNvcmQuZGV0YWlscyA9
PT0gIm9iamVjdCIpIHsKKyAgICAgICAgICAgICAgICBkZXRhaWxzQ29udGFpbmVyLmFwcGVuZENo
aWxkKGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKCIoIikpOworICAgICAgICAgICAgICAgIGRldGFp
bHNDb250YWluZXIuYXBwZW5kQ2hpbGQocmVjb3JkLmRldGFpbHMpOworICAgICAgICAgICAgICAg
IGRldGFpbHNDb250YWluZXIuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoIiki
KSk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICBkZXRhaWxzQ29udGFpbmVy
LnRleHRDb250ZW50ID0gIigiICsgcmVjb3JkLmRldGFpbHMgKyAiKSI7CisgICAgICAgICAgICB0
aGlzLl9kYXRhRWxlbWVudC5hcHBlbmRDaGlsZChkZXRhaWxzQ29udGFpbmVyKTsKKyAgICAgICAg
fQogICAgIH0sCiAKICAgICBkaXNwb3NlOiBmdW5jdGlvbigpCkBAIC03OTQsNyArODAzLDYgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkID0gZnVuY3Rpb24ocmVj
b3JkLCBwYXJlbnRSZWNvcmQsIHJlY28KICAgICB0aGlzLnRpdGxlID0gc3R5bGUudGl0bGU7CiAg
ICAgdGhpcy5zdGFydFRpbWUgPSByZWNvcmQuc3RhcnRUaW1lIC8gMTAwMDsKICAgICB0aGlzLmRh
dGEgPSByZWNvcmQuZGF0YTsKLSAgICB0aGlzLmNvdW50ID0gMTsKICAgICB0aGlzLnR5cGUgPSBy
ZWNvcmQudHlwZTsKICAgICB0aGlzLmVuZFRpbWUgPSAodHlwZW9mIHJlY29yZC5lbmRUaW1lICE9
PSAidW5kZWZpbmVkIikgPyByZWNvcmQuZW5kVGltZSAvIDEwMDAgOiB0aGlzLnN0YXJ0VGltZTsK
ICAgICB0aGlzLl9zZWxmVGltZSA9IHRoaXMuZW5kVGltZSAtIHRoaXMuc3RhcnRUaW1lOwpAQCAt
ODQ1LDE4ICs4NTMsNiBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNv
cmQucHJvdG90eXBlID0gewogICAgICAgICByZXR1cm4gKHRoaXMuX2xhc3RDaGlsZEVuZFRpbWUg
LSB0aGlzLnN0YXJ0VGltZSkgPiBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5zaG9ydFJlY29y
ZFRocmVzaG9sZDsKICAgICB9LAogCi0gICAgX2NyZWF0ZUNlbGw6IGZ1bmN0aW9uKGNvbnRlbnQs
IHN0eWxlTmFtZSkKLSAgICB7Ci0gICAgICAgIHZhciB0ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgibGFiZWwiKTsKLSAgICAgICAgdGV4dC5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZShjb250ZW50KSk7Ci0gICAgICAgIHZhciBjZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxl
bWVudCgidGQiKTsKLSAgICAgICAgY2VsbC5jbGFzc05hbWUgPSAidGltZWxpbmUtZGV0YWlscyI7
Ci0gICAgICAgIGlmIChzdHlsZU5hbWUpCi0gICAgICAgICAgICBjZWxsLmNsYXNzTmFtZSArPSAi
ICIgKyBzdHlsZU5hbWU7Ci0gICAgICAgIGNlbGwudGV4dENvbnRlbnQgPSBjb250ZW50OwotICAg
ICAgICByZXR1cm4gY2VsbDsKLSAgICB9LAotCiAgICAgZ2V0IGNoaWxkcmVuKCkKICAgICB7CiAg
ICAgICAgIGlmICghdGhpcy5fY2hpbGRyZW4pCkBAIC04NjQsMjQgKzg2MCw2IEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHJldHVybiB0aGlzLl9jaGlsZHJlbjsKICAgICB9LAogCi0gICAgX2NyZWF0ZVJvdzogZnVuY3Rp
b24odGl0bGUsIGNvbnRlbnQpCi0gICAgewotICAgICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgidHIiKTsKLSAgICAgICAgcm93LmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNl
bGwodGl0bGUsICJ0aW1lbGluZS1kZXRhaWxzLXJvdy10aXRsZSIpKTsKLSAgICAgICAgcm93LmFw
cGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNlbGwoY29udGVudCwgInRpbWVsaW5lLWRldGFpbHMtcm93
LWRhdGEiKSk7Ci0gICAgICAgIHJldHVybiByb3c7Ci0gICAgfSwKLQotICAgIF9jcmVhdGVMaW5r
Um93OiBmdW5jdGlvbih0aXRsZSwgY29udGVudCkKLSAgICB7Ci0gICAgICAgIHZhciByb3cgPSBk
b2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0ciIpOwotICAgICAgICByb3cuYXBwZW5kQ2hpbGQodGhp
cy5fY3JlYXRlQ2VsbCh0aXRsZSwgInRpbWVsaW5lLWRldGFpbHMtcm93LXRpdGxlIikpOwotICAg
ICAgICB2YXIgY2VsbCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7Ci0gICAgICAgIGNl
bGwuYXBwZW5kQ2hpbGQoY29udGVudCk7Ci0gICAgICAgIHJvdy5hcHBlbmRDaGlsZChjZWxsKTsK
LSAgICAgICAgcmV0dXJuIHJvdzsKLSAgICB9LAotCiAgICAgX2dlbmVyYXRlQWdncmVnYXRlZElu
Zm86IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIHZhciBjZWxsID0gZG9jdW1lbnQuY3JlYXRl
RWxlbWVudCgic3BhbiIpOwpAQCAtODk5LDcyICs4NzcsNzMgQEAgV2ViSW5zcGVjdG9yLlRpbWVs
aW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLnByb3RvdHlwZSA9IHsKIAogICAgIF9nZW5lcmF0ZVBv
cHVwQ29udGVudDogZnVuY3Rpb24oY2FsY3VsYXRvciwgY2F0ZWdvcmllcykKICAgICB7Ci0gICAg
ICAgIHZhciByZWNvcmRDb250ZW50VGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJs
ZSIpOwotICAgICAgICB2YXIgdGl0bGVDZWxsID0gdGhpcy5fY3JlYXRlQ2VsbChXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIiVzIC0gRGV0YWlscyIsIHRoaXMudGl0bGUpLCAidGltZWxpbmUtZGV0YWls
cy10aXRsZSIpOwotICAgICAgICB0aXRsZUNlbGwuY29sU3BhbiA9IDI7Ci0gICAgICAgIHZhciB0
aXRsZVJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7Ci0gICAgICAgIHRpdGxlUm93
LmFwcGVuZENoaWxkKHRpdGxlQ2VsbCk7Ci0gICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBl
bmRDaGlsZCh0aXRsZVJvdyk7CisgICAgICAgIHZhciBjb250ZW50SGVscGVyID0gbmV3IFdlYklu
c3BlY3Rvci5UaW1lbGluZVBhbmVsLlBvcHVwQ29udGVudEhlbHBlcih0aGlzLnRpdGxlKTsKIAog
ICAgICAgICBpZiAodGhpcy5fY2hpbGRyZW4gJiYgdGhpcy5fY2hpbGRyZW4ubGVuZ3RoKSB7Ci0g
ICAgICAgICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiU2VsZiBUaW1lIiksIE51bWJlci5zZWNvbmRzVG9TdHJp
bmcodGhpcy5fc2VsZlRpbWUgKyAwLjAwMDEpKSk7Ci0gICAgICAgICAgICByZWNvcmRDb250ZW50
VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlTGlua1JvdyhXZWJJbnNwZWN0b3IuVUlTdHJp
bmcoIkFnZ3JlZ2F0ZWQgVGltZSIpLCB0aGlzLl9nZW5lcmF0ZUFnZ3JlZ2F0ZWRJbmZvKCkpKTsK
KyAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coIlNlbGYgVGltZSIsIE51
bWJlci5zZWNvbmRzVG9TdHJpbmcodGhpcy5fc2VsZlRpbWUgKyAwLjAwMDEpKTsKKyAgICAgICAg
ICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZEVsZW1lbnRSb3coIkFnZ3JlZ2F0ZWQgVGltZSIsIHRo
aXMuX2dlbmVyYXRlQWdncmVnYXRlZEluZm8oKSk7CiAgICAgICAgIH0KICAgICAgICAgdmFyIHRl
eHQgPSBOdW1iZXIuc2Vjb25kc1RvU3RyaW5nKHRoaXMuX2xhc3RDaGlsZEVuZFRpbWUgLSB0aGlz
LnN0YXJ0VGltZSkgKyAiIChAIiArCi0gICAgICAgIGNhbGN1bGF0b3IuZm9ybWF0VmFsdWUodGhp
cy5zdGFydFRpbWUgLSBjYWxjdWxhdG9yLm1pbmltdW1Cb3VuZGFyeSkgKyAiKSI7Ci0gICAgICAg
IHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJEdXJhdGlvbiIpLCB0ZXh0KSk7CisgICAgICAgICAgICBjYWxjdWxhdG9y
LmZvcm1hdFZhbHVlKHRoaXMuc3RhcnRUaW1lIC0gY2FsY3VsYXRvci5taW5pbXVtQm91bmRhcnkp
ICsgIikiOworICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJEdXJhdGlvbiIs
IHRleHQpOwogCiAgICAgICAgIGNvbnN0IHJlY29yZFR5cGVzID0gV2ViSW5zcGVjdG9yLlRpbWVs
aW5lQWdlbnQuUmVjb3JkVHlwZTsKLSAgICAgICAgaWYgKHRoaXMuZGV0YWlscykgewotICAgICAg
ICAgICAgaWYgKHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuR0NFdmVudCApCi0gICAgICAgICAg
ICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVJvdyhXZWJJ
bnNwZWN0b3IuVUlTdHJpbmcoIkNvbGxlY3RlZCIpLCBOdW1iZXIuYnl0ZXNUb1N0cmluZyh0aGlz
LmRhdGEudXNlZEhlYXBTaXplRGVsdGEpKSk7Ci0gICAgICAgICAgICBlbHNlIGlmICh0aGlzLnR5
cGUgPT09IHJlY29yZFR5cGVzLlRpbWVySW5zdGFsbCB8fAotICAgICAgICAgICAgICAgIHRoaXMu
dHlwZSA9PT0gcmVjb3JkVHlwZXMuVGltZXJGaXJlIHx8Ci0gICAgICAgICAgICAgICAgdGhpcy50
eXBlID09PSByZWNvcmRUeXBlcy5UaW1lclJlbW92ZSkgewotICAgICAgICAgICAgICAgIHJlY29y
ZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJ
U3RyaW5nKCJUaW1lciBJZCIpLCB0aGlzLmRhdGEudGltZXJJZCkpOworCisgICAgICAgIHN3aXRj
aCAodGhpcy50eXBlKSB7CisgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkdDRXZlbnQ6Cisg
ICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdygiQ29sbGVjdGVkIiwg
TnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy5kYXRhLnVzZWRIZWFwU2l6ZURlbHRhKSk7CisgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLlRpbWVySW5z
dGFsbDoKKyAgICAgICAgICAgIGNhc2UgcmVjb3JkVHlwZXMuVGltZXJGaXJlOgorICAgICAgICAg
ICAgY2FzZSByZWNvcmRUeXBlcy5UaW1lclJlbW92ZToKKyAgICAgICAgICAgICAgICBjb250ZW50
SGVscGVyLl9hcHBlbmRUZXh0Um93KCJUaW1lciBJZCIsIHRoaXMuZGF0YS50aW1lcklkKTsKICAg
ICAgICAgICAgICAgICBpZiAodHlwZW9mIHRoaXMudGltZW91dCA9PT0gIm51bWJlciIpIHsKLSAg
ICAgICAgICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2Ny
ZWF0ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlRpbWVvdXQiKSwgdGhpcy50aW1lb3V0KSk7
Ci0gICAgICAgICAgICAgICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlz
Ll9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXBlYXRzIiksICF0aGlzLnNpbmds
ZVNob3QpKTsKLSAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0
aGlzLmNhbGxTaXRlU2NyaXB0TGluZSA9PT0gIm51bWJlciIpIHsKLSAgICAgICAgICAgICAgICAg
ICAgdmFyIGxpbmsgPSBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHRoaXMuY2Fs
bFNpdGVTY3JpcHROYW1lLCAic2NyaXB0cyIsIHRoaXMuY2FsbFNpdGVTY3JpcHRMaW5lLCAidGlt
ZWxpbmUtZGV0YWlscyIpOwotICAgICAgICAgICAgICAgICAgICByZWNvcmRDb250ZW50VGFibGUu
YXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlTGlua1JvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNh
bGwgU2l0ZSIpLCBsaW5rKSk7CisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2Fw
cGVuZFRleHRSb3coIlRpbWVvdXQiLCB0aGlzLnRpbWVvdXQpOworICAgICAgICAgICAgICAgICAg
ICBjb250ZW50SGVscGVyLl9hcHBlbmRUZXh0Um93KCJSZXBlYXRzIiwgIXRoaXMuc2luZ2xlU2hv
dCk7CiAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUg
PT09IHJlY29yZFR5cGVzLkZ1bmN0aW9uQ2FsbCkgewotICAgICAgICAgICAgICAgIHZhciBsaW5r
ID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSh0aGlzLmRhdGEuc2NyaXB0TmFt
ZSwgInNjcmlwdHMiLCB0aGlzLmRhdGEuc2NyaXB0TGluZSwgInRpbWVsaW5lLWRldGFpbHMiKTsK
LSAgICAgICAgICAgICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3Jl
YXRlTGlua1JvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxvY2F0aW9uIiksIGxpbmspKTsKLSAg
ICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5SZXNvdXJjZVNl
bmRSZXF1ZXN0IHx8Ci0gICAgICAgICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gcmVjb3Jk
VHlwZXMuUmVzb3VyY2VSZWNlaXZlUmVzcG9uc2UgfHwKLSAgICAgICAgICAgICAgICAgICAgICAg
dGhpcy50eXBlID09PSByZWNvcmRUeXBlcy5SZXNvdXJjZVJlY2VpdmVEYXRhIHx8Ci0gICAgICAg
ICAgICAgICAgICAgICAgIHRoaXMudHlwZSA9PT0gcmVjb3JkVHlwZXMuUmVzb3VyY2VGaW5pc2gp
IHsKLSAgICAgICAgICAgICAgICB2YXIgbGluayA9IFdlYkluc3BlY3Rvci5saW5raWZ5UmVzb3Vy
Y2VBc05vZGUodGhpcy5kYXRhLnVybCwgInJlc291cmNlcyIsIG51bGwsICJ0aW1lbGluZS1kZXRh
aWxzIik7Ci0gICAgICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRo
aXMuX2NyZWF0ZUxpbmtSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJSZXNvdXJjZSIpLCBsaW5r
KSk7CisgICAgICAgICAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbGxTaXRlU2NyaXB0TGluZSA9
PT0gIm51bWJlciIpCisgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZExp
bmtSb3coIkNhbGwgU2l0ZSIsIHRoaXMuY2FsbFNpdGVTY3JpcHROYW1lLCB0aGlzLmNhbGxTaXRl
U2NyaXB0TGluZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIHJl
Y29yZFR5cGVzLkZ1bmN0aW9uQ2FsbDoKKyAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9h
cHBlbmRMaW5rUm93KCJMb2NhdGlvbiIsIHRoaXMuZGF0YS5zY3JpcHROYW1lLCB0aGlzLmRhdGEu
c2NyaXB0TGluZSk7CisgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICBjYXNlIHJl
Y29yZFR5cGVzLlJlc291cmNlU2VuZFJlcXVlc3Q6CisgICAgICAgICAgICBjYXNlIHJlY29yZFR5
cGVzLlJlc291cmNlUmVjZWl2ZVJlc3BvbnNlOgorICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBl
cy5SZXNvdXJjZVJlY2VpdmVEYXRhOgorICAgICAgICAgICAgY2FzZSByZWNvcmRUeXBlcy5SZXNv
dXJjZUZpbmlzaDoKKyAgICAgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRMaW5rUm93
KCJSZXNvdXJjZSIsIHRoaXMuZGF0YS51cmwpOwogICAgICAgICAgICAgICAgIGlmICh0aGlzLmRh
dGEucmVxdWVzdE1ldGhvZCkKLSAgICAgICAgICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxl
LmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIlJlcXVl
c3QgTWV0aG9kIiksIHRoaXMuZGF0YS5yZXF1ZXN0TWV0aG9kKSk7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coIlJlcXVlc3QgTWV0aG9kIiwgdGhpcy5k
YXRhLnJlcXVlc3RNZXRob2QpOwogICAgICAgICAgICAgICAgIGlmICh0eXBlb2YgdGhpcy5kYXRh
LnN0YXR1c0NvZGUgPT09ICJudW1iZXIiKQotICAgICAgICAgICAgICAgICAgICByZWNvcmRDb250
ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93KFdlYkluc3BlY3Rvci5VSVN0cmlu
ZygiU3RhdHVzIENvZGUiKSwgdGhpcy5kYXRhLnN0YXR1c0NvZGUpKTsKKyAgICAgICAgICAgICAg
ICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4dFJvdygiU3RhdHVzIENvZGUiLCB0aGlzLmRh
dGEuc3RhdHVzQ29kZSk7CiAgICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YS5taW1lVHlwZSkK
LSAgICAgICAgICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMu
X2NyZWF0ZVJvdyhXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIk1pbWUgVHlwZSIpLCB0aGlzLmRhdGEu
bWltZVR5cGUpKTsKKyAgICAgICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kVGV4
dFJvdygiTWltZSBUeXBlIiwgdGhpcy5kYXRhLm1pbWVUeXBlKTsKICAgICAgICAgICAgICAgICBp
ZiAodHlwZW9mIHRoaXMuZGF0YS5leHBlY3RlZENvbnRlbnRMZW5ndGggPT09ICJudW1iZXIiICYm
IHRoaXMuZGF0YS5leHBlY3RlZENvbnRlbnRMZW5ndGggIT09IC0xKQotICAgICAgICAgICAgICAg
ICAgICByZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93KFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRXhwZWN0ZWQgQ29udGVudCBMZW5ndGgiKSwgdGhpcy5kYXRhLmV4
cGVjdGVkQ29udGVudExlbmd0aCkpOwotICAgICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnR5cGUg
PT09IHJlY29yZFR5cGVzLkV2YWx1YXRlU2NyaXB0KSB7Ci0gICAgICAgICAgICAgICAgdmFyIGxp
bmsgPSBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHRoaXMuZGF0YS51cmwsICJz
Y3JpcHRzIiwgdGhpcy5kYXRhLmxpbmVOdW1iZXIsICJ0aW1lbGluZS1kZXRhaWxzIik7Ci0gICAg
ICAgICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUxp
bmtSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJTY3JpcHQiKSwgbGluaykpOwotICAgICAgICAg
ICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IHJlY29yZFR5cGVzLlBhaW50KSB7Ci0gICAgICAg
ICAgICAgICAgcmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVJvdyhX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkxvY2F0aW9uIiksIHRoaXMuZGF0YS54ICsgIlx1MjAwOVx1
MDBkN1x1MjAwOSIgKyB0aGlzLmRhdGEueSkpOwotICAgICAgICAgICAgICAgIHJlY29yZENvbnRl
bnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVSb3coV2ViSW5zcGVjdG9yLlVJU3RyaW5n
KCJEaW1lbnNpb25zIiksIHRoaXMuZGF0YS53aWR0aCArICJcdTIwMDlcdTAwZDdcdTIwMDkiICsg
dGhpcy5kYXRhLmhlaWdodCkpOwotICAgICAgICAgICAgfSBlbHNlCi0gICAgICAgICAgICAgICAg
cmVjb3JkQ29udGVudFRhYmxlLmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZVJvdyhXZWJJbnNwZWN0
b3IuVUlTdHJpbmcoIkRldGFpbHMiKSwgdGhpcy5kZXRhaWxzKSk7CisgICAgICAgICAgICAgICAg
ICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVuZFRleHRSb3coIkV4cGVjdGVkIENvbnRlbnQgTGVuZ3Ro
IiwgdGhpcy5kYXRhLmV4cGVjdGVkQ29udGVudExlbmd0aCk7CisgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICBjYXNlIHJlY29yZFR5cGVzLkV2YWx1YXRlU2NyaXB0OgorICAgICAg
ICAgICAgICAgIGlmICh0aGlzLmRhdGEgJiYgdGhpcy5kYXRhLnVybCkKKyAgICAgICAgICAgICAg
ICAgICAgY29udGVudEhlbHBlci5fYXBwZW5kTGlua1JvdygiU2NyaXB0IiwgdGhpcy5kYXRhLnVy
bCwgdGhpcy5kYXRhLmxpbmVOdW1iZXIpOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICAgICAgY2FzZSByZWNvcmRUeXBlcy5QYWludDoKKyAgICAgICAgICAgICAgICBjb250ZW50SGVs
cGVyLl9hcHBlbmRUZXh0Um93KCJMb2NhdGlvbiIsIHRoaXMuZGF0YS54ICsgIlx1MjAwOVx1MDBk
N1x1MjAwOSIgKyB0aGlzLmRhdGEueSk7CisgICAgICAgICAgICAgICAgY29udGVudEhlbHBlci5f
YXBwZW5kVGV4dFJvdygiRGltZW5zaW9ucyIsIHRoaXMuZGF0YS53aWR0aCArICJcdTIwMDlcdTAw
ZDdcdTIwMDkiICsgdGhpcy5kYXRhLmhlaWdodCk7CisgICAgICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgICAgIGlmICh0aGlzLmRldGFpbHMpCisgICAgICAgICAgICAgICAgICAgIGNvbnRl
bnRIZWxwZXIuX2FwcGVuZFRleHRSb3coIkRldGFpbHMiLCB0aGlzLmRldGFpbHMpOworICAgICAg
ICAgICAgICAgIGJyZWFrOwogICAgICAgICB9CiAKLSAgICAgICAgaWYgKHRoaXMudHlwZSAhPT0g
cmVjb3JkVHlwZXMuR0NFdmVudCAmJiB0aGlzLmNhbGxlclNjcmlwdE5hbWUpIHsKLSAgICAgICAg
ICAgIHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSh0aGlzLmNh
bGxlclNjcmlwdE5hbWUsICJzY3JpcHRzIiwgdGhpcy5jYWxsZXJTY3JpcHRMaW5lKTsKLSAgICAg
ICAgICAgIHJlY29yZENvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aGlzLl9jcmVhdGVMaW5rUm93
KFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ2FsbGVyIiksIGxpbmspKTsKLSAgICAgICAgfQorICAg
ICAgICBpZiAodGhpcy5kYXRhLnNjcmlwdE5hbWUgJiYgdGhpcy50eXBlICE9PSByZWNvcmRUeXBl
cy5GdW5jdGlvbkNhbGwpCisgICAgICAgICAgICBjb250ZW50SGVscGVyLl9hcHBlbmRMaW5rUm93
KCJGdW5jdGlvbiBDYWxsIiwgdGhpcy5kYXRhLnNjcmlwdE5hbWUsIHRoaXMuZGF0YS5zY3JpcHRM
aW5lKTsKKworICAgICAgICBpZiAodGhpcy5jYWxsZXJTY3JpcHROYW1lICYmIHRoaXMudHlwZSAh
PT0gcmVjb3JkVHlwZXMuR0NFdmVudCkKKyAgICAgICAgICAgIGNvbnRlbnRIZWxwZXIuX2FwcGVu
ZExpbmtSb3coIkNhbGxlciIsIHRoaXMuY2FsbGVyU2NyaXB0TmFtZSwgdGhpcy5jYWxsZXJTY3Jp
cHRMaW5lKTsKKwogICAgICAgICBpZiAodGhpcy51c2VkSGVhcFNpemUpCi0gICAgICAgICAgICBy
ZWNvcmRDb250ZW50VGFibGUuYXBwZW5kQ2hpbGQodGhpcy5fY3JlYXRlUm93KFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiVXNlZCBIZWFwIFNpemUiKSwgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCIlcyBv
ZiAlcyIsIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMudXNlZEhlYXBTaXplKSwgTnVtYmVyLmJ5
dGVzVG9TdHJpbmcodGhpcy50b3RhbEhlYXBTaXplKSkpKTsKKyAgICAgICAgICAgIGNvbnRlbnRI
ZWxwZXIuX2FwcGVuZFRleHRSb3coIlVzZWQgSGVhcCBTaXplIiwgV2ViSW5zcGVjdG9yLlVJU3Ry
aW5nKCIlcyBvZiAlcyIsIE51bWJlci5ieXRlc1RvU3RyaW5nKHRoaXMudXNlZEhlYXBTaXplKSwg
TnVtYmVyLmJ5dGVzVG9TdHJpbmcodGhpcy50b3RhbEhlYXBTaXplKSkpOwogCi0gICAgICAgIHJl
dHVybiByZWNvcmRDb250ZW50VGFibGU7CisgICAgICAgIHJldHVybiBjb250ZW50SGVscGVyLl9j
b250ZW50VGFibGU7CiAgICAgfSwKIAogICAgIF9nZXRSZWNvcmREZXRhaWxzOiBmdW5jdGlvbihy
ZWNvcmQsIHNlbmRSZXF1ZXN0UmVjb3JkcykKQEAgLTk3MiwxOCArOTUxLDIyIEBAIFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVBhbmVsLkZvcm1hdHRlZFJlY29yZC5wcm90b3R5cGUgPSB7CiAgICAgICAg
IHN3aXRjaCAocmVjb3JkLnR5cGUpIHsKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRp
bWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5HQ0V2ZW50OgogICAgICAgICAgICAgICAgIHJldHVybiBX
ZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIGNvbGxlY3RlZCIsIE51bWJlci5ieXRlc1RvU3RyaW5n
KHJlY29yZC5kYXRhLnVzZWRIZWFwU2l6ZURlbHRhKSk7CisgICAgICAgICAgICBjYXNlIFdlYklu
c3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuVGltZXJGaXJlOgorICAgICAgICAgICAg
ICAgIHJldHVybiByZWNvcmQuZGF0YS5zY3JpcHROYW1lID8gV2ViSW5zcGVjdG9yLmxpbmtpZnlS
ZXNvdXJjZUFzTm9kZShyZWNvcmQuZGF0YS5zY3JpcHROYW1lLCAic2NyaXB0cyIsIHJlY29yZC5k
YXRhLnNjcmlwdExpbmUpIDogcmVjb3JkLmRhdGEudGltZXJJZDsKICAgICAgICAgICAgIGNhc2Ug
V2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5GdW5jdGlvbkNhbGw6Ci0gICAg
ICAgICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTChyZWNvcmQu
ZGF0YS5zY3JpcHROYW1lKSArICI6IiArIHJlY29yZC5kYXRhLnNjcmlwdExpbmU7CisgICAgICAg
ICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLnNjcmlwdE5hbWUgPyBXZWJJbnNwZWN0b3IubGlu
a2lmeVJlc291cmNlQXNOb2RlKHJlY29yZC5kYXRhLnNjcmlwdE5hbWUsICJzY3JpcHRzIiwgcmVj
b3JkLmRhdGEuc2NyaXB0TGluZSkgOiBudWxsOwogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0
b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLkV2ZW50RGlzcGF0Y2g6Ci0gICAgICAgICAgICAg
ICAgcmV0dXJuIHJlY29yZC5kYXRhID8gcmVjb3JkLmRhdGEudHlwZSA6ICIiOworICAgICAgICAg
ICAgICAgIHJldHVybiByZWNvcmQuZGF0YSA/IHJlY29yZC5kYXRhLnR5cGUgOiBudWxsOwogICAg
ICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlBhaW50
OgogICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQuZGF0YS53aWR0aCArICJcdTIwMDlcdTAw
ZDdcdTIwMDkiICsgcmVjb3JkLmRhdGEuaGVpZ2h0OwogICAgICAgICAgICAgY2FzZSBXZWJJbnNw
ZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlRpbWVySW5zdGFsbDoKICAgICAgICAgICAg
IGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5UaW1lclJlbW92ZToK
LSAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5U
aW1lckZpcmU6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLnRpbWVySWQ7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuIHRoaXMuY2FsbGVyU2NyaXB0TmFtZSA/IFdlYkluc3BlY3Rv
ci5saW5raWZ5UmVzb3VyY2VBc05vZGUodGhpcy5jYWxsZXJTY3JpcHROYW1lLCAic2NyaXB0cyIs
IHRoaXMuY2FsbGVyU2NyaXB0TGluZSkgOiByZWNvcmQuZGF0YS50aW1lcklkOworICAgICAgICAg
ICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVBZ2VudC5SZWNvcmRUeXBlLlBhcnNlSFRNTDoK
KyAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5S
ZWNhbGN1bGF0ZVN0eWxlczoKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5jYWxsZXJTY3Jp
cHROYW1lID8gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZSh0aGlzLmNhbGxlclNj
cmlwdE5hbWUsICJzY3JpcHRzIiwgdGhpcy5jYWxsZXJTY3JpcHRMaW5lKSA6IG51bGw7CiAgICAg
ICAgICAgICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuRXZhbHVh
dGVTY3JpcHQ6Ci0gICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLnVybCA/IFdlYklu
c3BlY3Rvci5kaXNwbGF5TmFtZUZvclVSTChyZWNvcmQuZGF0YS51cmwpICsgIjoiICsgcmVjb3Jk
LmRhdGEubGluZU51bWJlciA6ICIiOworICAgICAgICAgICAgICAgIHJldHVybiByZWNvcmQuZGF0
YS51cmwgPyBXZWJJbnNwZWN0b3IubGlua2lmeVJlc291cmNlQXNOb2RlKHJlY29yZC5kYXRhLnVy
bCwgInNjcmlwdHMiLCByZWNvcmQuZGF0YS5saW5lTnVtYmVyKSA6IG51bGw7CiAgICAgICAgICAg
ICBjYXNlIFdlYkluc3BlY3Rvci5UaW1lbGluZUFnZW50LlJlY29yZFR5cGUuWEhSUmVhZHlTdGF0
ZUNoYW5nZToKICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVj
b3JkVHlwZS5YSFJMb2FkOgogICAgICAgICAgICAgY2FzZSBXZWJJbnNwZWN0b3IuVGltZWxpbmVB
Z2VudC5SZWNvcmRUeXBlLlJlc291cmNlU2VuZFJlcXVlc3Q6CkBAIC05OTQsNyArOTc3LDcgQEAg
V2ViSW5zcGVjdG9yLlRpbWVsaW5lUGFuZWwuRm9ybWF0dGVkUmVjb3JkLnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIGNhc2UgV2ViSW5zcGVjdG9yLlRpbWVsaW5lQWdlbnQuUmVjb3JkVHlwZS5N
YXJrVGltZWxpbmU6CiAgICAgICAgICAgICAgICAgcmV0dXJuIHJlY29yZC5kYXRhLm1lc3NhZ2U7
CiAgICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgIHJldHVybiAiIjsKKyAgICAg
ICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgfQogICAgIH0sCiAKQEAgLTEwMTcsMyAr
MTAwMCw1MSBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVQYW5lbC5Gb3JtYXR0ZWRSZWNvcmQucHJv
dG90eXBlID0gewogICAgICAgICB9CiAgICAgfQogfQorCitXZWJJbnNwZWN0b3IuVGltZWxpbmVQ
YW5lbC5Qb3B1cENvbnRlbnRIZWxwZXIgPSBmdW5jdGlvbih0aXRsZSkKK3sKKyAgICB0aGlzLl9j
b250ZW50VGFibGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJ0YWJsZSIpOzsKKyAgICB2YXIg
dGl0bGVDZWxsID0gdGhpcy5fY3JlYXRlQ2VsbChXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIiVzIC0g
RGV0YWlscyIsIHRpdGxlKSwgInRpbWVsaW5lLWRldGFpbHMtdGl0bGUiKTsKKyAgICB0aXRsZUNl
bGwuY29sU3BhbiA9IDI7CisgICAgdmFyIHRpdGxlUm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVu
dCgidHIiKTsKKyAgICB0aXRsZVJvdy5hcHBlbmRDaGlsZCh0aXRsZUNlbGwpOworICAgIHRoaXMu
X2NvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZCh0aXRsZVJvdyk7Cit9CisKK1dlYkluc3BlY3Rvci5U
aW1lbGluZVBhbmVsLlBvcHVwQ29udGVudEhlbHBlci5wcm90b3R5cGUgPSB7CisgICAgX2NyZWF0
ZUNlbGw6IGZ1bmN0aW9uKGNvbnRlbnQsIHN0eWxlTmFtZSkKKyAgICB7CisgICAgICAgIHZhciB0
ZXh0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKKyAgICAgICAgdGV4dC5hcHBl
bmRDaGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShjb250ZW50KSk7CisgICAgICAgIHZhciBj
ZWxsID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidGQiKTsKKyAgICAgICAgY2VsbC5jbGFzc05h
bWUgPSAidGltZWxpbmUtZGV0YWlscyI7CisgICAgICAgIGlmIChzdHlsZU5hbWUpCisgICAgICAg
ICAgICBjZWxsLmNsYXNzTmFtZSArPSAiICIgKyBzdHlsZU5hbWU7CisgICAgICAgIGNlbGwudGV4
dENvbnRlbnQgPSBjb250ZW50OworICAgICAgICByZXR1cm4gY2VsbDsKKyAgICB9LAorCisgICAg
X2FwcGVuZFRleHRSb3c6IGZ1bmN0aW9uKHRpdGxlLCBjb250ZW50KQorICAgIHsKKyAgICAgICAg
dmFyIHJvdyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInRyIik7CisgICAgICAgIHJvdy5hcHBl
bmRDaGlsZCh0aGlzLl9jcmVhdGVDZWxsKFdlYkluc3BlY3Rvci5VSVN0cmluZyh0aXRsZSksICJ0
aW1lbGluZS1kZXRhaWxzLXJvdy10aXRsZSIpKTsKKyAgICAgICAgcm93LmFwcGVuZENoaWxkKHRo
aXMuX2NyZWF0ZUNlbGwoY29udGVudCwgInRpbWVsaW5lLWRldGFpbHMtcm93LWRhdGEiKSk7Cisg
ICAgICAgIHRoaXMuX2NvbnRlbnRUYWJsZS5hcHBlbmRDaGlsZChyb3cpOworICAgIH0sCisKKyAg
ICBfYXBwZW5kRWxlbWVudFJvdzogZnVuY3Rpb24odGl0bGUsIGNvbnRlbnQpCisgICAgeworICAg
ICAgICB2YXIgcm93ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgidHIiKTsKKyAgICAgICAgcm93
LmFwcGVuZENoaWxkKHRoaXMuX2NyZWF0ZUNlbGwoV2ViSW5zcGVjdG9yLlVJU3RyaW5nKHRpdGxl
KSwgInRpbWVsaW5lLWRldGFpbHMtcm93LXRpdGxlIikpOworICAgICAgICB2YXIgY2VsbCA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoInRkIik7CisgICAgICAgIGNlbGwuYXBwZW5kQ2hpbGQoY29u
dGVudCk7CisgICAgICAgIHJvdy5hcHBlbmRDaGlsZChjZWxsKTsKKyAgICAgICAgdGhpcy5fY29u
dGVudFRhYmxlLmFwcGVuZENoaWxkKHJvdyk7CisgICAgfSwKKworICAgIF9hcHBlbmRMaW5rUm93
OiBmdW5jdGlvbih0aXRsZSwgc2NyaXB0TmFtZSwgc2NyaXB0TGluZSkKKyAgICB7CisgICAgICAg
IHZhciBsaW5rID0gV2ViSW5zcGVjdG9yLmxpbmtpZnlSZXNvdXJjZUFzTm9kZShzY3JpcHROYW1l
LCAic2NyaXB0cyIsIHNjcmlwdExpbmUsICJ0aW1lbGluZS1kZXRhaWxzIik7CisgICAgICAgIHRo
aXMuX2FwcGVuZEVsZW1lbnRSb3codGl0bGUsIGxpbmspOworICAgIH0KK30K
</data>

          </attachment>
      

    </bug>

</bugzilla>