<?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>76398</bug_id>
          
          <creation_ts>2012-01-16 11:59:09 -0800</creation_ts>
          <short_desc>Web Inspector: HAR pageref attributes are wrong and inconsistent with pages array</short_desc>
          <delta_ts>2012-01-23 01:03:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>1</everconfirmed>
          <reporter name="Andrey Kosyakov">caseq</reporter>
          <assigned_to name="Andrey Kosyakov">caseq</assigned_to>
          <cc>apavlov</cc>
    
    <cc>bweinstein</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>loislo</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>536695</commentid>
    <comment_count>0</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-01-16 11:59:09 -0800</bug_when>
    <thetext>Original report by Steve Souders:

====
A simple case is to just load two simple pages - Bing and Craigslist:
1. Clear your cache.
2. Select &quot;Preserve Log upon Navigation&quot; 
3. Go to Bing &amp; Craigslist. In the waterfall chart UI verify that you see all the requests for both pages.
4. Right-click (2-finger click) and select &quot;Save All as HAR&quot; and save as chrome-bing-craigslist.har.
5. Open the .har file in a text editor - very that info for all requests is present - for example AutoSug.js (from Bing) and craigslist.css.
6. View the .har file in various tools included pcapperf, Har to Page Speed, and HAR Viewer. In the first two tools, only 3 requests for Craigslist are shown. In HAR Viewer only error messages are shown.

This might be the same bug, but when I try to get a HAR file for Gmail a similar thing happens. I can see all the requests in the Chrome dev tools (eg, logo_small.png) and also see them in the .har file, but when I try to view that file only 4 requests are shown (instead of ~30).
====

There are two related problems that cause this:
- The pages array only contains one page, the one after the last navigation; the correct behavior is to populate pages array with all pages that are present in the log;
- pageref attribute is incorrect for some HAR entries -- notably for those that followed the main resource redirect and those loaded from subframes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539366</commentid>
    <comment_count>1</comment_count>
      <attachid>123275</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-01-20 02:30:29 -0800</bug_when>
    <thetext>Created attachment 123275
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539464</commentid>
    <comment_count>2</comment_count>
      <attachid>123306</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-01-20 06:48:54 -0800</bug_when>
    <thetext>Created attachment 123306
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539488</commentid>
    <comment_count>3</comment_count>
      <attachid>123306</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2012-01-20 07:15:02 -0800</bug_when>
    <thetext>Comment on attachment 123306
Patch

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

A bunch of small nits.

&gt; Source/WebCore/inspector/front-end/HAREntry.js:325
&gt; +    _convertPage: function(page)

If you move this method to the Page class, you wouldn&apos;t need to expose all of the page&apos;s properties to public.

&gt; Source/WebCore/inspector/front-end/NetworkLog.js:56
&gt; +    pageForResource: function(resource)

pageLoadForResource ?

&gt; Source/WebCore/inspector/front-end/NetworkLog.js:58
&gt; +        return resource.__page;

Please use Map for this.

&gt; Source/WebCore/inspector/front-end/NetworkLog.js:76
&gt; +                resource.__page = this._currentPageLoad;

ditto

&gt; Source/WebCore/inspector/front-end/NetworkLog.js:88
&gt; +        var frame = WebInspector.resourceTreeModel.frameForId(resource.frameId);

this seems to be unused.

&gt; Source/WebCore/inspector/front-end/NetworkLog.js:89
&gt; +        resource.__page = this._currentPageLoad;

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539523</commentid>
    <comment_count>4</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-01-20 08:23:24 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 123306 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=123306&amp;action=review
&gt; 
&gt; A bunch of small nits.
&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/HAREntry.js:325
&gt; &gt; +    _convertPage: function(page)
&gt; 
&gt; If you move this method to the Page class, you wouldn&apos;t need to expose all of the page&apos;s properties to public.

As discussed offline, this is not quite practical, as convertPage() relies on certain methods internal to HAR. Besides, we pretend this is a more generic, model level than HAR support -- I think this may be eventually reused in NetworkPanel, perhaps in audits. As agreed, I&apos;m just removing getters and use fields directly.

&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkLog.js:56
&gt; &gt; +    pageForResource: function(resource)
&gt; 
&gt; pageLoadForResource ?

done.

&gt; 
&gt; &gt; Source/WebCore/inspector/front-end/NetworkLog.js:58
&gt; &gt; +        return resource.__page;
&gt; 
&gt; Please use Map for this.

That would be cumbersome due to need to eventually release map entries. For HAR at least, the resource entries are primary and we only need PageLoad entries as long as there are some (network) Resources that refer to them. The life-time of resource is a bit complicated, as some may be cleaned manually in the network panel, some may survive page reloads (again due to network panel), and life-time of resource references in NetworkLog is different from the Network panel.
 
WebInspector.resourceTreeModel.frameForId(resource.frameId);
&gt; 
&gt; this seems to be unused.

Thanks, fixed!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>539525</commentid>
    <comment_count>5</comment_count>
      <attachid>123319</attachid>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-01-20 08:25:01 -0800</bug_when>
    <thetext>Created attachment 123319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>540419</commentid>
    <comment_count>6</comment_count>
    <who name="Andrey Kosyakov">caseq</who>
    <bug_when>2012-01-23 01:03:24 -0800</bug_when>
    <thetext>Committed r105596: &lt;http://trac.webkit.org/changeset/105596&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123275</attachid>
            <date>2012-01-20 02:30:29 -0800</date>
            <delta_ts>2012-01-20 06:48:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76398-20120120143027.patch</filename>
            <type>text/plain</type>
            <size>20118</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA4Mzc2MzI5MGYwOTQw
ZGQ0MDhiNDgwYzdjMmM5NGFhMzA0MjMzNC4uYzc5Y2M5MmQ5N2Y0ZGNhNDk4Njc3NTRkMDlmMjg1
YTFhYzRkMDFlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEyLTAxLTIwICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogSEFSIHBhZ2VyZWYgYXR0cmlidXRlcyBhcmUgd3JvbmcgYW5kIGluY29uc2lzdGVudCB3aXRo
IHBhZ2VzIGFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIC0gaW50cm9kdWNlIGEgbm90aW9uIG9mIFBhZ2UsIG1haW50YWluIHBhZ2UgcmVmZXJlbmNl
cyBmb3IgYWxsIGZyYW1lczsKKyAgICAgICAgLSBtb3ZlIHBhZ2UgbG9hZCB0aW1lcyB0byBQYWdl
OworICAgICAgICAtIGJpbmQgbmV0d29yayByZXNvdXJjZXMgdG8gcGFnZXM7CisgICAgICAgIC0g
ZXhwb3J0IHBhZ2VzIGZvciBhbGwgYXZhaWxhYmxlIHJlc29ydWNlcyB0byBIQVIsIG5vdCBqdXN0
IHRoZSBsYXN0IHBhZ2U7CisgICAgICAgIC0gdXNlIHBhZ2UgaWRzLCBub3QgZG9jdW1lbnQgVVJM
cyBpbiBIQVIgZW50cmllcyB0byByZWZlciB0byBwYWdlczsKKyAgICAgICAgLSB1c2UgcGFnZSBV
UkwgYXMgYSB0aXRsZSBmaWVsZCBvZiBIQVIgcGFnZTsKKworICAgICAgICBObyBuZXcgdGVzdHMg
LS0gdGhpcyBpcyBjb3ZlcmVkIGJ5IGV4aXN0aW5nIHRlc3RzIHRvIHNvbWUgZXh0ZW50LCBob3dl
dmVyLCBiZXR0ZXIKKyAgICAgICAgdGVzdHMgYXJlIGNvbWluZyBvbmNlIHdlIGNhbiBuYXZpZ2F0
ZSB0byBhIGRpZmZlcmVudCBmcmFtZSAoYXMgb3Bwb3NlZCB0byB3aXRoaW4gdGhlIGZyYW1lKQor
ICAgICAgICBmcm9tIGluc3RlcGN0b3IgdGVzdCBzdWl0ZS4KKworICAgICAgICAqIGluc3BlY3Rv
ci9mcm9udC1lbmQvQXVkaXRzUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRz
UGFuZWwpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanM6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuSEFSRW50cnkucHJvdG90eXBlLmJ1aWxkKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5IQVJFbnRyeS5wcm90b3R5cGUuZ2V0IHJlc3BvbnNlQ29tcHJlc3Npb24pOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLkhBUkxvZy5wcm90b3R5cGUuX2J1aWxkUGFnZXMpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkhBUkxvZy5wcm90b3R5cGUuX2NvbnZlcnRQYWdlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5IQVJMb2cucHJvdG90eXBlLl9wYWdlRXZlbnRUaW1lKToKKyAgICAg
ICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtMb2cuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuTmV0d29ya0xvZyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90
b3R5cGUuX21haW5GcmFtZU5hdmlnYXRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29y
a0xvZy5wcm90b3R5cGUuX29uUmVzb3VyY2VTdGFydGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5QYWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlLnByb3RvdHlwZS5nZXQgaWQpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJvdG90eXBlLmdldCB1cmwpOgorICAgICAgICAo
V2ViSW5zcGVjdG9yLlBhZ2UucHJvdG90eXBlLmdldCBjb250ZW50TG9hZFRpbWUpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJvdG90eXBlLnNldCBjb250ZW50TG9hZFRpbWUpOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJvdG90eXBlLmdldCBsb2FkVGltZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuUGFnZS5wcm90b3R5cGUuc2V0IGxvYWRUaW1lKToKKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5QYWdlLnByb3RvdHlwZS5nZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5QYWdlLnByb3RvdHlwZS5fYmluZFJlc291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5hZ2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5l
dHdvcmtEaXNwYXRjaGVyLnByb3RvdHlwZS5yZXF1ZXN0U2VydmVkRnJvbU1lbW9yeUNhY2hlKToK
KyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzOgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZS5nZXQgcGFnZSk6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuUmVzb3VyY2UucHJvdG90eXBlLnNldCBwYWdlKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJl
c291cmNlVHJlZUZyYW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFt
ZS5wcm90b3R5cGUuZ2V0IHBhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRj
aGVyLnByb3RvdHlwZS5kb21Db250ZW50RXZlbnRGaXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0
b3IuUGFnZURpc3BhdGNoZXIucHJvdG90eXBlLmxvYWRFdmVudEZpcmVkKToKKwogMjAxMi0wMS0x
OSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBkcm9wIGV2ZW50
IGlzbid0IGZpcmVkIGZvciBjb250ZW50RWRpdGFibGUgaW4gZWRpdCBkcmFnCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzIGIvU291
cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcwppbmRleCBjYzE5
NTViYjE4MDIxOTExMzAzZDQ2ZGEwMzZjYTgwNWY2NmIwNzdiLi41MjAwNDc3YzA3YzM5ZTRkODY3
NTQyYzE3ZjQzNGQ2Y2MzZGM1MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvQXVkaXRzUGFuZWwuanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJp
Z2h0IChDKSAyMDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKQEAgLTYxLDggKzYxLDcgQEAgV2ViSW5zcGVjdG9yLkF1
ZGl0c1BhbmVsID0gZnVuY3Rpb24oKQogICAgIGZvciAodmFyIGlkIGluIHRoaXMuY2F0ZWdvcmll
c0J5SWQpCiAgICAgICAgIHRoaXMuX2xhdW5jaGVyVmlldy5hZGRDYXRlZ29yeSh0aGlzLmNhdGVn
b3JpZXNCeUlkW2lkXSk7CiAKLSAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5P
bkxvYWQsIHRoaXMuX29uTG9hZEV2ZW50RmlyZWQsIHRoaXMpOwotICAgIFdlYkluc3BlY3Rvci5y
ZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRy
ZWVNb2RlbC5FdmVudFR5cGVzLkRPTUNvbnRlbnRMb2FkZWQsIHRoaXMuX2RvbUNvbnRlbnRMb2Fk
ZWRFdmVudEZpcmVkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwu
YWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBl
cy5PbkxvYWQsIHRoaXMuX2RpZE1haW5SZXNvdXJjZUxvYWQsIHRoaXMpOwogfQogCiBXZWJJbnNw
ZWN0b3IuQXVkaXRzUGFuZWwucHJvdG90eXBlID0gewpAQCAtNzYsMjcgKzc1LDYgQEAgV2ViSW5z
cGVjdG9yLkF1ZGl0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIFt0aGlzLmNs
ZWFyUmVzdWx0c0J1dHRvbi5lbGVtZW50XTsKICAgICB9LAogCi0gICAgZ2V0IG1haW5SZXNvdXJj
ZUxvYWRUaW1lKCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9tYWluUmVzb3VyY2VMb2Fk
VGltZTsKLSAgICB9LAotCi0gICAgX29uTG9hZEV2ZW50RmlyZWQ6IGZ1bmN0aW9uKGV2ZW50KQot
ICAgIHsKLSAgICAgICAgdGhpcy5fbWFpblJlc291cmNlTG9hZFRpbWUgPSBldmVudC5kYXRhOwot
ICAgICAgICB0aGlzLl9kaWRNYWluUmVzb3VyY2VMb2FkKCk7Ci0gICAgfSwKLQotICAgIGdldCBt
YWluUmVzb3VyY2VET01Db250ZW50VGltZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
bWFpblJlc291cmNlRE9NQ29udGVudFRpbWU7Ci0gICAgfSwKLQotICAgIF9kb21Db250ZW50TG9h
ZGVkRXZlbnRGaXJlZDogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9tYWlu
UmVzb3VyY2VET01Db250ZW50VGltZSA9IGV2ZW50LmRhdGE7Ci0gICAgfSwKLQogICAgIGdldCBj
YXRlZ29yaWVzQnlJZCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fYXVkaXRDYXRlZ29y
aWVzQnlJZDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
SEFSRW50cnkuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hBUkVudHJ5
LmpzCmluZGV4IDBjYjBmNDhjYjRlMmExMmIyMmQ2ZmEyOGI0MDRiNjMwMDdkZGM5YmUuLjUzNDZl
MTEwNWQ5ZDI5ZmZlOGU2NjIzOTg2ZjYyMDMwNDdlZjJhYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IENvcHlyaWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoK
ICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDksOCArNDksNyBAQCBXZWJJbnNw
ZWN0b3IuSEFSRW50cnkucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGJ1aWxkOiBmdW5jdGlv
bigpCiAgICAgewotICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgcGFnZXJlZjogdGhpcy5f
cmVzb3VyY2UuZG9jdW1lbnRVUkwsCisgICAgICAgIHZhciBlbnRyeSA9ICB7CiAgICAgICAgICAg
ICBzdGFydGVkRGF0ZVRpbWU6IG5ldyBEYXRlKHRoaXMuX3Jlc291cmNlLnN0YXJ0VGltZSAqIDEw
MDApLAogICAgICAgICAgICAgdGltZTogV2ViSW5zcGVjdG9yLkhBUkVudHJ5Ll90b01pbGxpc2Vj
b25kcyh0aGlzLl9yZXNvdXJjZS5kdXJhdGlvbiksCiAgICAgICAgICAgICByZXF1ZXN0OiB0aGlz
Ll9idWlsZFJlcXVlc3QoKSwKQEAgLTU4LDYgKzU3LDkgQEAgV2ViSW5zcGVjdG9yLkhBUkVudHJ5
LnByb3RvdHlwZSA9IHsKICAgICAgICAgICAgIGNhY2hlOiB7IH0sIC8vIE5vdCBzdXBwb3J0ZWQg
eWV0LgogICAgICAgICAgICAgdGltaW5nczogdGhpcy5fYnVpbGRUaW1pbmdzKCkKICAgICAgICAg
fTsKKyAgICAgICAgaWYgKHRoaXMuX3Jlc291cmNlLnBhZ2UpCisgICAgICAgICAgICBlbnRyeS5w
YWdlcmVmID0gInBhZ2VfIiArIHRoaXMuX3Jlc291cmNlLnBhZ2UuaWQ7CisgICAgICAgIHJldHVy
biBlbnRyeTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0yNTEsMTEgKzI1MywxMSBAQCBXZWJJbnNw
ZWN0b3IuSEFSRW50cnkucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKLSAgICAgKiBA
cmV0dXJuIHtudW1iZXJ9CisgICAgICogQHJldHVybiB7bnVtYmVyfHVuZGVmaW5lZH0KICAgICAg
Ki8KICAgICBnZXQgcmVzcG9uc2VDb21wcmVzc2lvbigpCiAgICAgewotICAgICAgICBpZiAodGhp
cy5fcmVzb3VyY2UuY2FoY2VkIHx8IHRoaXMuX3Jlc291cmNlLnN0YXR1c0NvZGUgPT09IDMwNCkK
KyAgICAgICAgaWYgKHRoaXMuX3Jlc291cmNlLmNhY2hlZCB8fCB0aGlzLl9yZXNvdXJjZS5zdGF0
dXNDb2RlID09PSAzMDQpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIHJldHVybiB0aGlz
Ll9yZXNvdXJjZS5yZXNvdXJjZVNpemUgLSAodGhpcy5fcmVzb3VyY2UudHJhbnNmZXJTaXplIC0g
dGhpcy5fcmVzb3VyY2UucmVzcG9uc2VIZWFkZXJzU2l6ZSk7CiAgICAgfQpAQCAtMzAzLDI0ICsz
MDUsMzIgQEAgV2ViSW5zcGVjdG9yLkhBUkxvZy5wcm90b3R5cGUgPSB7CiAgICAgICovCiAgICAg
X2J1aWxkUGFnZXM6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAgICAgIHJldHVybiBbCi0gICAgICAg
ICAgICB7Ci0gICAgICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lOiBuZXcgRGF0ZShXZWJJbnNw
ZWN0b3IubmV0d29ya0xvZy5tYWluUmVzb3VyY2VTdGFydFRpbWUgKiAxMDAwKSwKLSAgICAgICAg
ICAgICAgICBpZDogV2ViSW5zcGVjdG9yLmluc3BlY3RlZFBhZ2VVUkwsCi0gICAgICAgICAgICAg
ICAgdGl0bGU6ICIiLAotICAgICAgICAgICAgICAgIHBhZ2VUaW1pbmdzOiB0aGlzLmJ1aWxkTWFp
blJlc291cmNlVGltaW5ncygpCi0gICAgICAgICAgICB9Ci0gICAgICAgIF07CisgICAgICAgIHZh
ciBzZWVuSWRlbnRpZmllcnMgPSB7fTsKKyAgICAgICAgdmFyIHBhZ2VzID0gW107CisgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fcmVzb3VyY2VzLmxlbmd0aDsgKytpKSB7CisgICAg
ICAgICAgICB2YXIgcGFnZSA9IHRoaXMuX3Jlc291cmNlc1tpXS5wYWdlOworICAgICAgICAgICAg
aWYgKCFwYWdlIHx8IHNlZW5JZGVudGlmaWVyc1twYWdlLmlkXSkKKyAgICAgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgICAgIHNlZW5JZGVudGlmaWVyc1twYWdlLmlkXSA9IHRydWU7Cisg
ICAgICAgICAgICBwYWdlcy5wdXNoKHRoaXMuX2NvbnZlcnRQYWdlKHBhZ2UpKTsKKyAgICAgICAg
fQorICAgICAgICByZXR1cm4gcGFnZXM7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAqIEBwYXJh
bSB7V2ViSW5zcGVjdG9yLlBhZ2V9IHBhZ2UKICAgICAgKiBAcmV0dXJuIHtPYmplY3R9CiAgICAg
ICovCi0gICAgYnVpbGRNYWluUmVzb3VyY2VUaW1pbmdzOiBmdW5jdGlvbigpCisgICAgX2NvbnZl
cnRQYWdlOiBmdW5jdGlvbihwYWdlKQogICAgIHsKICAgICAgICAgcmV0dXJuIHsKLSAgICAgICAg
ICAgICBvbkNvbnRlbnRMb2FkOiB0aGlzLl9wYWdlRXZlbnRUaW1lKFdlYkluc3BlY3Rvci5tYWlu
UmVzb3VyY2VET01Db250ZW50VGltZSksCi0gICAgICAgICAgICAgb25Mb2FkOiB0aGlzLl9wYWdl
RXZlbnRUaW1lKFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2VMb2FkVGltZSksCisgICAgICAgICAg
ICBzdGFydGVkRGF0ZVRpbWU6IG5ldyBEYXRlKHBhZ2Uuc3RhcnRUaW1lICogMTAwMCksCisgICAg
ICAgICAgICBpZDogInBhZ2VfIiArIHBhZ2UuaWQsCisgICAgICAgICAgICB0aXRsZTogcGFnZS51
cmwsIC8vIFdlIGRvbid0IGhhdmUgYWN0dWFsIHBhZ2UgdGl0bGUgaGVyZS4gVVJMIGlzIHByb2Jh
Ymx5IGJldHRlciB0aGFuIG5vdGhpbmcuCisgICAgICAgICAgICBwYWdlVGltaW5nczogeworICAg
ICAgICAgICAgICAgIG9uQ29udGVudExvYWQ6IHRoaXMuX3BhZ2VFdmVudFRpbWUocGFnZSwgcGFn
ZS5jb250ZW50TG9hZFRpbWUpLAorICAgICAgICAgICAgICAgIG9uTG9hZDogdGhpcy5fcGFnZUV2
ZW50VGltZShwYWdlLCBwYWdlLmxvYWRUaW1lKQorICAgICAgICAgICAgfQogICAgICAgICB9CiAg
ICAgfSwKIApAQCAtMzM0LDEyICszNDQsMTMgQEAgV2ViSW5zcGVjdG9yLkhBUkxvZy5wcm90b3R5
cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlBh
Z2V9IHBhZ2UKICAgICAgKiBAcGFyYW0ge251bWJlcn0gdGltZQogICAgICAqIEByZXR1cm4ge251
bWJlcn0KICAgICAgKi8KLSAgICBfcGFnZUV2ZW50VGltZTogZnVuY3Rpb24odGltZSkKKyAgICBf
cGFnZUV2ZW50VGltZTogZnVuY3Rpb24ocGFnZSwgdGltZSkKICAgICB7Ci0gICAgICAgIHZhciBz
dGFydFRpbWUgPSBXZWJJbnNwZWN0b3IubWFpblJlc291cmNlU3RhcnRUaW1lOworICAgICAgICB2
YXIgc3RhcnRUaW1lID0gcGFnZS5zdGFydFRpbWU7CiAgICAgICAgIGlmICh0aW1lID09PSAtMSB8
fCBzdGFydFRpbWUgPT09IC0xKQogICAgICAgICAgICAgcmV0dXJuIC0xOwogICAgICAgICByZXR1
cm4gV2ViSW5zcGVjdG9yLkhBUkVudHJ5Ll90b01pbGxpc2Vjb25kcyh0aW1lIC0gc3RhcnRUaW1l
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29y
a0xvZy5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya0xvZy5q
cwppbmRleCA5OWFiMjAzNTQ1NWVkNmMxODFkY2I2NTcyYThhODRjYWY2MjJlNzYxLi42YWZkN2I1
YTk3MGIxNjUzYWVmMDQ4ZGE3NTNhZjg0ZDkzODcyNDE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtMb2cuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTG9nLmpzCkBAIC0zNCw3ICszNCw2IEBACiBX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZyA9IGZ1bmN0aW9uKCkKIHsKICAgICB0aGlzLl9yZXNvdXJj
ZXMgPSBbXTsKLSAgICB0aGlzLl9tYWluUmVzb3VyY2VTdGFydFRpbWUgPSBudWxsOwogICAgIFdl
Ykluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5O
ZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlU3RhcnRlZCwgdGhpcy5fb25SZXNvdXJj
ZVN0YXJ0ZWQsIHRoaXMpOwogICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRF
dmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLk1h
aW5GcmFtZU5hdmlnYXRlZCwgdGhpcy5fbWFpbkZyYW1lTmF2aWdhdGVkLCB0aGlzKTsKIH0KQEAg
LTQ5LDI4ICs0OCwxOCBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUgPSB7CiAg
ICAgfSwKIAogICAgIC8qKgotICAgICAqIEByZXR1cm4gez9EYXRlfQotICAgICAqLwotICAgIGdl
dCBtYWluUmVzb3VyY2VTdGFydFRpbWUoKQotICAgIHsKLSAgICAgICAgcmV0dXJuIHRoaXMuX21h
aW5SZXNvdXJjZVN0YXJ0VGltZTsKLSAgICB9LAotCi0gICAgLyoqCiAgICAgICogQHBhcmFtIHtX
ZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CiAgICAgICovCiAgICAgX21haW5GcmFtZU5hdmlnYXRl
ZDogZnVuY3Rpb24oZXZlbnQpCiAgICAgewogICAgICAgICB2YXIgbWFpbkZyYW1lID0gLyoqIHR5
cGUge1dlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFtZX0gKi8gZXZlbnQuZGF0YTsKLSAgICAg
ICAgdGhpcy5fbWFpblJlc291cmNlU3RhcnRUaW1lID0gbnVsbDsKICAgICAgICAgLy8gUHJlc2Vy
dmUgcmVzb3VyY2VzIGZyb20gdGhlIG5ldyBzZXNzaW9uLgogICAgICAgICB2YXIgb2xkUmVzb3Vy
Y2VzID0gdGhpcy5fcmVzb3VyY2VzLnNwbGljZSgwLCB0aGlzLl9yZXNvdXJjZXMubGVuZ3RoKTsK
ICAgICAgICAgZm9yICh2YXIgaSA9IDA7IGkgPCBvbGRSZXNvdXJjZXMubGVuZ3RoOyArK2kpIHsK
ICAgICAgICAgICAgIHZhciByZXNvdXJjZSA9IG9sZFJlc291cmNlc1tpXTsKICAgICAgICAgICAg
IGlmIChyZXNvdXJjZS5sb2FkZXJJZCA9PT0gbWFpbkZyYW1lLmxvYWRlcklkKSB7Ci0gICAgICAg
ICAgICAgICAgaWYgKCF0aGlzLl9tYWluUmVzb3VyY2VTdGFydFRpbWUgJiYgbWFpbkZyYW1lLnVy
bCA9PT0gcmVzb3VyY2UudXJsKQotICAgICAgICAgICAgICAgICAgICB0aGlzLl9tYWluUmVzb3Vy
Y2VTdGFydFRpbWUgPSByZXNvdXJjZS5zdGFydFRpbWU7CiAgICAgICAgICAgICAgICAgdGhpcy5f
cmVzb3VyY2VzLnB1c2gocmVzb3VyY2UpOworICAgICAgICAgICAgICAgIG1haW5GcmFtZS5wYWdl
Ll9iaW5kUmVzb3VyY2UocmVzb3VyY2UsIHRydWUpOwogICAgICAgICAgICAgfQogICAgICAgICB9
CiAgICAgfSwKQEAgLTgyLDYgKzcxLDEwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9nLnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIHZhciByZXNvdXJjZSA9IC8qKiBAdHlwZSB7V2ViSW5z
cGVjdG9yLlJlc291cmNlfSAqLyBldmVudC5kYXRhOwogICAgICAgICB0aGlzLl9yZXNvdXJjZXMu
cHVzaChyZXNvdXJjZSk7CisgICAgICAgIHZhciBmcmFtZSA9IFdlYkluc3BlY3Rvci5yZXNvdXJj
ZVRyZWVNb2RlbC5mcmFtZUZvcklkKHJlc291cmNlLmZyYW1lSWQpOworICAgICAgICAvLyBUaGVy
ZSBhcmUgbm8gZnJhbWVzIGZvciBwcm92aXNpb25hbCBsb2FkcyB5ZXQuCisgICAgICAgIGlmIChm
cmFtZSkKKyAgICAgICAgICAgIGZyYW1lLnBhZ2UuX2JpbmRSZXNvdXJjZShyZXNvdXJjZSk7CiAg
ICAgfQogfQogCkBAIC04OSwzICs4Miw3NiBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90
b3R5cGUgPSB7CiAgKiBAdHlwZSB7V2ViSW5zcGVjdG9yLk5ldHdvcmtMb2d9CiAgKi8KIFdlYklu
c3BlY3Rvci5uZXR3b3JrTG9nID0gbnVsbDsKKworLyoqCisgKiBAY29uc3RydWN0b3IKKyAqIEBw
YXJhbSB7c3RyaW5nfSB1cmwKKyAqLworV2ViSW5zcGVjdG9yLlBhZ2UgPSBmdW5jdGlvbigpCit7
CisgICAgdGhpcy5faWQgPSArK1dlYkluc3BlY3Rvci5QYWdlLl9sYXN0SWRlbnRpZmllcjsKK30K
KworV2ViSW5zcGVjdG9yLlBhZ2UuX2xhc3RJZGVudGlmaWVyID0gMDsKKworV2ViSW5zcGVjdG9y
LlBhZ2UucHJvdG90eXBlID0geworICAgIGdldCBpZCgpCisgICAgeworICAgICAgICByZXR1cm4g
dGhpcy5faWQ7CisgICAgfSwKKworICAgIC8qKgorICAgICAqIEB0eXBlIHtzdHJpbmd9IHVybAor
ICAgICAqLworICAgIGdldCB1cmwoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRoaXMuX3VybDsK
KyAgICB9LAorCisgICAgLyoqCisgICAgICogQHR5cGUge251bWJlcn0KKyAgICAgKi8KKyAgICBn
ZXQgY29udGVudExvYWRUaW1lKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9jb250ZW50
TG9hZFRpbWU7CisgICAgfSwKKworICAgIHNldCBjb250ZW50TG9hZFRpbWUodGltZSkKKyAgICB7
CisgICAgICAgIHRoaXMuX2NvbnRlbnRMb2FkVGltZSA9IHRpbWU7CisgICAgfSwKKworICAgIC8q
KgorICAgICAqIEB0eXBlIHtudW1iZXJ9CisgICAgICovCisgICAgZ2V0IGxvYWRUaW1lKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLl9sb2FkVGltZTsKKyAgICB9LAorCisgICAgc2V0IGxv
YWRUaW1lKHRpbWUpCisgICAgeworICAgICAgICB0aGlzLl9sb2FkVGltZSA9IHRpbWU7CisgICAg
fSwKKworICAgIC8qKgorICAgICAqIEB0eXBlIHtudW1iZXJ9CisgICAgICovCisgICAgZ2V0IHN0
YXJ0VGltZSgpCisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5fc3RhcnRUaW1lOworICAgIH0s
CisgCisgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9IHJlc291
cmNlCisgICAgICogQHBhcmFtIHtib29sZWFuPX0gaXNNYWluRnJhbWUKKyAgICAgKi8KKyAgICBf
YmluZFJlc291cmNlOiBmdW5jdGlvbihyZXNvdXJjZSwgaXNNYWluRnJhbWUpCisgICAgeworICAg
ICAgICByZXNvdXJjZS5wYWdlID0gdGhpczsKKyAgICAgICAgaWYgKCF0aGlzLl91cmwgJiYgaXNN
YWluRnJhbWUpIHsKKyAgICAgICAgICAgIHRoaXMuX3VybCA9IHJlc291cmNlLnVybDsKKyAgICAg
ICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IHJlc291cmNlLnN0YXJ0VGltZTsKKyAgICAgICAgfQor
ICAgIH0KK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
TmV0d29ya01hbmFnZXIuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05l
dHdvcmtNYW5hZ2VyLmpzCmluZGV4IDdkNDM4YzI1MGZmNzM4ZjVhM2ZjODhiYzhlYzY2ZTdhYzRl
OWFlY2YuLjk4MjYzNjIyOWY3M2MxYjIxYjRlMTE5NDZiNTA5NmYxYjU1NzIxMDkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya01hbmFnZXIuanMK
KysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9OZXR3b3JrTWFuYWdlci5q
cwpAQCAtMzg0LDggKzM4NCw4IEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrRGlzcGF0Y2hlci5wcm90
b3R5cGUgPSB7CiAgICAgICAgIHRoaXMuX3VwZGF0ZVJlc291cmNlV2l0aENhY2hlZFJlc291cmNl
KHJlc291cmNlLCBjYWNoZWRSZXNvdXJjZSk7CiAgICAgICAgIHJlc291cmNlLmNhY2hlZCA9IHRy
dWU7CiAgICAgICAgIHJlc291cmNlLnJlcXVlc3RNZXRob2QgPSAiR0VUIjsKLSAgICAgICAgdGhp
cy5fc3RhcnRSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgICAgIHJlc291cmNlLnN0YXJ0VGltZSA9
IHJlc291cmNlLnJlc3BvbnNlUmVjZWl2ZWRUaW1lID0gdGltZTsKKyAgICAgICAgdGhpcy5fc3Rh
cnRSZXNvdXJjZShyZXNvdXJjZSk7CiAgICAgICAgIHRoaXMuX2ZpbmlzaFJlc291cmNlKHJlc291
cmNlLCB0aW1lKTsKICAgICB9LAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZS5qcwppbmRleCBjYTc1NGQ1N2UyNTc0OTBlYTIxNWYyZDNhODFkODQ0YTAy
NDU0Mzg5Li5hMTU2MjhiY2I5ZDc3MWJiMzJjZjI2ZDUzYmJlZGU3ZDIwMmQ0M2QxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlLmpzCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2UuanMKQEAgLTQyMyw2
ICs0MjMsMTkgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3RvdHlwZSA9IHsKICAgICB9LAog
CiAgICAgLyoqCisgICAgICogQHR5cGUge1dlYkluc3BlY3Rvci5QYWdlfQorICAgICAqLworICAg
IGdldCBwYWdlKCkKKyAgICB7CisgICAgICAgIHJldHVybiB0aGlzLl9wYWdlOworICAgIH0sCisK
KyAgICBzZXQgcGFnZShwYWdlKQorICAgIHsKKyAgICAgICAgdGhpcy5fcGFnZSA9IHBhZ2U7Cisg
ICAgfSwKKworICAgIC8qKgogICAgICAqIEByZXR1cm4ge251bWJlcn0KICAgICAgKi8KICAgICBn
ZXQgcmVjZWl2ZUR1cmF0aW9uKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCmluZGV4IGQzNDIyOWVjY2JlYjMxMGY4
ZWZlMzBmMGZkYTNmZjc5OTVjMGZhZWQuLjE1MTY4ODNmNWE1MWIyYzAwYjQ0MDg2NzU5NmY3Yjg5
MGVkZmMwOTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
UmVzb3VyY2VUcmVlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDIxLDggKzQyMSwxMSBAQCBXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VUcmVlRnJhbWUgPSBmdW5jdGlvbihtb2RlbCwgcGFyZW50RnJhbWUsIHBheWxvYWQp
CiAgICAgICovCiAgICAgdGhpcy5fcmVzb3VyY2VzTWFwID0ge307CiAKLSAgICBpZiAodGhpcy5f
cGFyZW50RnJhbWUpCisgICAgaWYgKHRoaXMuX3BhcmVudEZyYW1lKSB7CiAgICAgICAgIHRoaXMu
X3BhcmVudEZyYW1lLl9jaGlsZEZyYW1lcy5wdXNoKHRoaXMpOworICAgICAgICB0aGlzLl9wYWdl
ID0gdGhpcy5fcGFyZW50RnJhbWUuX3BhZ2U7CisgICAgfSBlbHNlCisgICAgICAgIHRoaXMuX3Bh
Z2UgPSBuZXcgV2ViSW5zcGVjdG9yLlBhZ2UoKTsKIH0KIAogV2ViSW5zcGVjdG9yLlJlc291cmNl
VHJlZUZyYW1lLnByb3RvdHlwZSA9IHsKQEAgLTQ5MSw2ICs0OTQsMTQgQEAgV2ViSW5zcGVjdG9y
LlJlc291cmNlVHJlZUZyYW1lLnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCisgICAg
ICogQHR5cGUge1dlYkluc3BlY3Rvci5QYWdlfQorICAgICAqLworICAgIGdldCBwYWdlKCkKKyAg
ICB7CisgICAgICAgIHJldHVybiB0aGlzLl9wYWdlOworICAgIH0sCisKKyAgICAvKioKICAgICAg
KiBAcGFyYW0ge1BhZ2VBZ2VudC5GcmFtZX0gZnJhbWVQYXlsb2FkCiAgICAgICovCiAgICAgX25h
dmlnYXRlOiBmdW5jdGlvbihmcmFtZVBheWxvYWQpCkBAIC02MTMsMTcgKzYyNCwxMyBAQCBXZWJJ
bnNwZWN0b3IuUGFnZURpc3BhdGNoZXIucHJvdG90eXBlID0gewogICAgIGRvbUNvbnRlbnRFdmVu
dEZpcmVkOiBmdW5jdGlvbih0aW1lKQogICAgIHsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VUcmVl
TW9kZWwuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVN
b2RlbC5FdmVudFR5cGVzLkRPTUNvbnRlbnRMb2FkZWQsIHRpbWUpOwotCi0gICAgICAgIC8vIEZJ
WE1FOiB0aGUgb25seSBjbGllbnQgaXMgSEFSLCBmaXggaXQgdGhlcmUuCi0gICAgICAgIFdlYklu
c3BlY3Rvci5tYWluUmVzb3VyY2VET01Db250ZW50VGltZSA9IHRpbWU7CisgICAgICAgIHRoaXMu
X3Jlc291cmNlVHJlZU1vZGVsLm1haW5GcmFtZS5wYWdlLmNvbnRlbnRMb2FkVGltZSA9IHRpbWU7
CiAgICAgfSwKIAogICAgIGxvYWRFdmVudEZpcmVkOiBmdW5jdGlvbih0aW1lKQogICAgIHsKICAg
ICAgICAgdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwuZGlzcGF0Y2hFdmVudFRvTGlzdGVuZXJzKFdl
Ykluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLk9uTG9hZCwgdGltZSk7Ci0K
LSAgICAgICAgLy8gRklYTUU6IHRoZSBvbmx5IGNsaWVudCBpcyBIQVIsIGZpeCBpdCB0aGVyZS4K
LSAgICAgICAgV2ViSW5zcGVjdG9yLm1haW5SZXNvdXJjZUxvYWRUaW1lID0gdGltZTsKKyAgICAg
ICAgdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwubWFpbkZyYW1lLnBhZ2UubG9hZFRpbWUgPSB0aW1l
OwogICAgIH0sCiAKICAgICBmcmFtZU5hdmlnYXRlZDogZnVuY3Rpb24oZnJhbWUpCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
MjEyY2VlNGVmMTAwNjQ2NjdkMGY1ZjU5ZTRkNWVjYjkxMDkxMGJiZC4uMDEzMTM5ZTBlYmY3YWE5
MzU3ZmFjNWUyZTExODFiZjhkOTk0Y2NhNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAx
LTIwICBBbmRyZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2Vi
IEluc3BlY3RvcjogSEFSIHBhZ2VyZWYgYXR0cmlidXRlcyBhcmUgd3JvbmcgYW5kIGluY29uc2lz
dGVudCB3aXRoIHBhZ2VzIGFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD03NjM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWhlYWRlcnMt
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXBh
cmFtZXRlcnMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2h0dHAv
dGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dDoKKwog
MjAxMi0wMS0xOSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAg
ICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcuIFVuc2tpcCBub3cgcGFzc2luZyB0ZXN0cy4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhh
ci1oZWFkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dAppbmRleCAzODUwMTIxNjExZTI3NGI3
ZmMwZDg1MTExMzU1ZDA4Y2YyZjliMmU0Li5kNjQ5NjFhYjJmNDMxZmY3MjQ1MTVhZTVmMWZkZDY4
NDE2OGM1OGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS1oYXItaGVhZGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90
ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWhlYWRlcnMtZXhwZWN0ZWQudHh0CkBAIC0xOSw3
ICsxOSw2IEBAIFJlc291cmNlOnsKICAgICB9CiB9CiBIQVI6ewotICAgIHBhZ2VyZWYgOiAiaHR0
cDovL2V4YW1wbGUuY29tL2luc3BlY3Rvci10ZXN0LmpzIgogICAgIHN0YXJ0ZWREYXRlVGltZSA6
IDxvYmplY3Q+CiAgICAgdGltZSA6IDxudW1iZXI+CiAgICAgcmVxdWVzdCA6IHsKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
cGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggYzFlMDVmYmY1MDAxYmJjZDBkMDgyOWJiOTcz
NDliYzk5NzlkYmY4MC4uZjg1OGMxYjYxYTBlZDY0N2RkY2UzZDhlNTA1NTUzNmQ4MTNlY2EwOSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtcGFy
YW1ldGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0
b3IvcmVzb3VyY2UtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw2IEBAIFRlc3Rz
IHRoYXQgcmVzb3VyY2VzIHBhbmVsIHNob3dzIGZvcm0gZGF0YSBwYXJhbWV0ZXJzLgogICAKIAog
ewotICAgIHBhZ2VyZWYgOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAwL2luc3BlY3Rvci9yZXNvdXJj
ZXMvcG9zdC10YXJnZXQuY2dpP3F1ZXJ5UGFyYW0xPXF1ZXJ5VmFsdWUxJnF1ZXJ5UGFyYW0yPSNm
cmFnbWVudFBhcmFtMT1mcmFnbWVudFZhbHVlMSZmcmFnbWVudFBhcmFtMj0iCiAgICAgc3RhcnRl
ZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KICAgICB0aW1lIDogPG51bWJlcj4KICAgICByZXF1ZXN0
IDogewpAQCAtNTksNSArNTgsNiBAQCBUZXN0cyB0aGF0IHJlc291cmNlcyBwYW5lbCBzaG93cyBm
b3JtIGRhdGEgcGFyYW1ldGVycy4KICAgICBjYWNoZSA6IHsKICAgICB9CiAgICAgdGltaW5ncyA6
IDxvYmplY3Q+CisgICAgcGFnZXJlZiA6ICJwYWdlXzEiCiB9CiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhh
ci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVt
L2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4
dAppbmRleCBlZGQ1MTc0ZDRiOThhZmVjNTA3YThjODJlZmMyZGI3YTRkYmIwMTU2Li44ZDMzZTU3
OGEzMGNiYWE1YmU1MmExMWNiMzFkMTlmY2M3NTY4ZDJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29u
dmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0
CkBAIC0xMSw3ICsxMSw3IEBAIFBhZ2UgcmVsb2FkZWQuCiAgICAgICAgIHsKICAgICAgICAgICAg
IHN0YXJ0ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CiAgICAgICAgICAgICBpZCA6IDxzdHJpbmc+
Ci0gICAgICAgICAgICB0aXRsZSA6ICIiCisgICAgICAgICAgICB0aXRsZSA6ICJodHRwOi8vMTI3
LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLmh0bWwiCiAgICAg
ICAgICAgICBwYWdlVGltaW5ncyA6IHsKICAgICAgICAgICAgICAgICBvbkNvbnRlbnRMb2FkIDog
PG51bWJlcj4KICAgICAgICAgICAgICAgICBvbkxvYWQgOiA8bnVtYmVyPgpAQCAtMjAsNyArMjAs
NiBAQCBQYWdlIHJlbG9hZGVkLgogICAgIF0KICAgICBlbnRyaWVzIDogWwogICAgICAgICB7Ci0g
ICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6
IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAgICAgICAgICAgIHJl
cXVlc3QgOiB7CkBAIC0xMDcsOSArMTA2LDkgQEAgUGFnZSByZWxvYWRlZC4KICAgICAgICAgICAg
IGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5ncyA6IDxvYmplY3Q+
CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQogICAgICAgICB7Ci0g
ICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6
IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAgICAgICAgICAgIHJl
cXVlc3QgOiB7CkBAIC0xNDMsOSArMTQyLDkgQEAgUGFnZSByZWxvYWRlZC4KICAgICAgICAgICAg
IGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5ncyA6IDxvYmplY3Q+
CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQogICAgICAgICB7Ci0g
ICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6
IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAgICAgICAgICAgIHJl
cXVlc3QgOiB7CkBAIC0xNzgsOSArMTc3LDkgQEAgUGFnZSByZWxvYWRlZC4KICAgICAgICAgICAg
IGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5ncyA6IDxvYmplY3Q+
CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQogICAgICAgICB7Ci0g
ICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVz
b3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6
IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAgICAgICAgICAgIHJl
cXVlc3QgOiB7CkBAIC0yMTgsNiArMjE3LDcgQEAgUGFnZSByZWxvYWRlZC4KICAgICAgICAgICAg
IGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5ncyA6IDxvYmplY3Q+
CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQogICAgIF0KIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123306</attachid>
            <date>2012-01-20 06:48:54 -0800</date>
            <delta_ts>2012-01-20 08:24:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76398-20120120184851.patch</filename>
            <type>text/plain</type>
            <size>22211</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NDAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTA4Mzc2MzI5MGYwOTQw
ZGQ0MDhiNDgwYzdjMmM5NGFhMzA0MjMzNC4uMmUwMDRmYTYzMThiYmI1MDlhMGE4NmZlZWFkZTE0
NDdiNjJjZDU5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTAxLTIwICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogSEFSIHBhZ2VyZWYgYXR0cmlidXRlcyBhcmUgd3JvbmcgYW5kIGluY29uc2lzdGVudCB3aXRo
IHBhZ2VzIGFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIC0gaW50cm9kdWNlIGEgbm90aW9uIG9mIExvYWRQYWdlOworICAgICAgICAtIG1vdmUgcGFn
ZSBsb2FkIHRpbWVzIHRvIExvYWRQYWdlOworICAgICAgICAtIGFzc29jaWF0ZSBuZXR3b3JrIHJl
c291cmNlcyB3aXRoIExvYWRQYWdlOworICAgICAgICAtIGV4cG9ydCBwYWdlcyBmb3IgYWxsIGF2
YWlsYWJsZSByZXNvcnVjZXMgdG8gSEFSLCBub3QganVzdCB0aGUgbGFzdCBwYWdlOworICAgICAg
ICAtIHVzZSBwYWdlIGlkcywgbm90IGRvY3VtZW50IFVSTHMgaW4gSEFSIGVudHJpZXMgdG8gcmVm
ZXIgdG8gcGFnZXM7CisgICAgICAgIC0gdXNlIHBhZ2UgVVJMIGFzIGEgdGl0bGUgZmllbGQgb2Yg
YSBIQVIgcGFnZTsKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRzUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRzUGFuZWwpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSEFSRW50
cnkucHJvdG90eXBlLmJ1aWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IQVJFbnRyeS5wcm90
b3R5cGUuZ2V0IHJlc3BvbnNlQ29tcHJlc3Npb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhB
UkxvZy5wcm90b3R5cGUuX2J1aWxkUGFnZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhBUkxv
Zy5wcm90b3R5cGUuX2NvbnZlcnRQYWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IQVJMb2cu
cHJvdG90eXBlLl9wYWdlRXZlbnRUaW1lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtMb2cuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUuX21haW5GcmFtZU5hdmlnYXRl
ZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUuX29uUmVzb3Vy
Y2VTdGFydGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5QYWdlLnByb3RvdHlwZS5nZXQgaWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBh
Z2UucHJvdG90eXBlLmdldCB1cmwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJvdG90
eXBlLmdldCBjb250ZW50TG9hZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJv
dG90eXBlLnNldCBjb250ZW50TG9hZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2Uu
cHJvdG90eXBlLmdldCBsb2FkVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFnZS5wcm90
b3R5cGUuc2V0IGxvYWRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlLnByb3RvdHlw
ZS5nZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlLnByb3RvdHlwZS5f
YmluZFJlc291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5h
Z2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlw
ZS5yZXF1ZXN0U2VydmVkRnJvbU1lbW9yeUNhY2hlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3Rv
dHlwZS5nZXQgcGFnZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBl
LnNldCBwYWdlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1v
ZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUZyYW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFtZS5wcm90b3R5cGUuZ2V0IHBhZ2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZS5kb21Db250ZW50
RXZlbnRGaXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFnZURpc3BhdGNoZXIucHJvdG90
eXBlLmxvYWRFdmVudEZpcmVkKToKKwogMjAxMi0wMS0xOSAgUnlvc3VrZSBOaXdhICA8cm5pd2FA
d2Via2l0Lm9yZz4KIAogICAgICAgICBkcm9wIGV2ZW50IGlzbid0IGZpcmVkIGZvciBjb250ZW50
RWRpdGFibGUgaW4gZWRpdCBkcmFnCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9BdWRpdHNQYW5lbC5qcwppbmRleCBjYzE5NTViYjE4MDIxOTExMzAzZDQ2ZGEwMzZj
YTgwNWY2NmIwNzdiLi41MjAwNDc3YzA3YzM5ZTRkODY3NTQyYzE3ZjQzNGQ2Y2MzZGM1MjQ5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVs
LmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRzUGFuZWwu
anMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUK
QEAgLTYxLDggKzYxLDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsID0gZnVuY3Rpb24oKQog
ICAgIGZvciAodmFyIGlkIGluIHRoaXMuY2F0ZWdvcmllc0J5SWQpCiAgICAgICAgIHRoaXMuX2xh
dW5jaGVyVmlldy5hZGRDYXRlZ29yeSh0aGlzLmNhdGVnb3JpZXNCeUlkW2lkXSk7CiAKLSAgICBX
ZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0
b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5PbkxvYWQsIHRoaXMuX29uTG9hZEV2ZW50
RmlyZWQsIHRoaXMpOwotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVu
dExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLkRPTUNv
bnRlbnRMb2FkZWQsIHRoaXMuX2RvbUNvbnRlbnRMb2FkZWRFdmVudEZpcmVkLCB0aGlzKTsKKyAg
ICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5PbkxvYWQsIHRoaXMuX2RpZE1haW5S
ZXNvdXJjZUxvYWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuQXVkaXRzUGFuZWwucHJvdG90
eXBlID0gewpAQCAtNzYsMjcgKzc1LDYgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVsLnByb3Rv
dHlwZSA9IHsKICAgICAgICAgcmV0dXJuIFt0aGlzLmNsZWFyUmVzdWx0c0J1dHRvbi5lbGVtZW50
XTsKICAgICB9LAogCi0gICAgZ2V0IG1haW5SZXNvdXJjZUxvYWRUaW1lKCkKLSAgICB7Ci0gICAg
ICAgIHJldHVybiB0aGlzLl9tYWluUmVzb3VyY2VMb2FkVGltZTsKLSAgICB9LAotCi0gICAgX29u
TG9hZEV2ZW50RmlyZWQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAgICAgICAgdGhpcy5fbWFp
blJlc291cmNlTG9hZFRpbWUgPSBldmVudC5kYXRhOwotICAgICAgICB0aGlzLl9kaWRNYWluUmVz
b3VyY2VMb2FkKCk7Ci0gICAgfSwKLQotICAgIGdldCBtYWluUmVzb3VyY2VET01Db250ZW50VGlt
ZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWFpblJlc291cmNlRE9NQ29udGVudFRp
bWU7Ci0gICAgfSwKLQotICAgIF9kb21Db250ZW50TG9hZGVkRXZlbnRGaXJlZDogZnVuY3Rpb24o
ZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VET01Db250ZW50VGltZSA9
IGV2ZW50LmRhdGE7Ci0gICAgfSwKLQogICAgIGdldCBjYXRlZ29yaWVzQnlJZCgpCiAgICAgewog
ICAgICAgICByZXR1cm4gdGhpcy5fYXVkaXRDYXRlZ29yaWVzQnlJZDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMgYi9Tb3VyY2UvV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hBUkVudHJ5LmpzCmluZGV4IDBjYjBmNDhjYjRlMmEx
MmIyMmQ2ZmEyOGI0MDRiNjMwMDdkZGM5YmUuLmU4NGU4N2FmMGIxOTI5ZDVhMmQzY2M5ZjlkYjU1
MjUyZGY1MmIwMTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvSEFSRW50cnkuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9I
QVJFbnRyeS5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29v
Z2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBHb29n
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQpAQCAtNDksOCArNDksNyBAQCBXZWJJbnNwZWN0b3IuSEFSRW50cnkucHJvdG90eXBl
ID0gewogICAgICAqLwogICAgIGJ1aWxkOiBmdW5jdGlvbigpCiAgICAgewotICAgICAgICByZXR1
cm4gewotICAgICAgICAgICAgcGFnZXJlZjogdGhpcy5fcmVzb3VyY2UuZG9jdW1lbnRVUkwsCisg
ICAgICAgIHZhciBlbnRyeSA9ICB7CiAgICAgICAgICAgICBzdGFydGVkRGF0ZVRpbWU6IG5ldyBE
YXRlKHRoaXMuX3Jlc291cmNlLnN0YXJ0VGltZSAqIDEwMDApLAogICAgICAgICAgICAgdGltZTog
V2ViSW5zcGVjdG9yLkhBUkVudHJ5Ll90b01pbGxpc2Vjb25kcyh0aGlzLl9yZXNvdXJjZS5kdXJh
dGlvbiksCiAgICAgICAgICAgICByZXF1ZXN0OiB0aGlzLl9idWlsZFJlcXVlc3QoKSwKQEAgLTU4
LDYgKzU3LDEwIEBAIFdlYkluc3BlY3Rvci5IQVJFbnRyeS5wcm90b3R5cGUgPSB7CiAgICAgICAg
ICAgICBjYWNoZTogeyB9LCAvLyBOb3Qgc3VwcG9ydGVkIHlldC4KICAgICAgICAgICAgIHRpbWlu
Z3M6IHRoaXMuX2J1aWxkVGltaW5ncygpCiAgICAgICAgIH07CisgICAgICAgIHZhciBwYWdlID0g
V2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucGFnZUZvclJlc291cmNlKHRoaXMuX3Jlc291cmNlKTsK
KyAgICAgICAgaWYgKHBhZ2UpCisgICAgICAgICAgICBlbnRyeS5wYWdlcmVmID0gInBhZ2VfIiAr
IHBhZ2UuaWQ7CisgICAgICAgIHJldHVybiBlbnRyeTsKICAgICB9LAogCiAgICAgLyoqCkBAIC0y
NTEsMTEgKzI1NCwxMSBAQCBXZWJJbnNwZWN0b3IuSEFSRW50cnkucHJvdG90eXBlID0gewogICAg
IH0sCiAKICAgICAvKioKLSAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CisgICAgICogQHJldHVybiB7
bnVtYmVyfHVuZGVmaW5lZH0KICAgICAgKi8KICAgICBnZXQgcmVzcG9uc2VDb21wcmVzc2lvbigp
CiAgICAgewotICAgICAgICBpZiAodGhpcy5fcmVzb3VyY2UuY2FoY2VkIHx8IHRoaXMuX3Jlc291
cmNlLnN0YXR1c0NvZGUgPT09IDMwNCkKKyAgICAgICAgaWYgKHRoaXMuX3Jlc291cmNlLmNhY2hl
ZCB8fCB0aGlzLl9yZXNvdXJjZS5zdGF0dXNDb2RlID09PSAzMDQpCiAgICAgICAgICAgICByZXR1
cm47CiAgICAgICAgIHJldHVybiB0aGlzLl9yZXNvdXJjZS5yZXNvdXJjZVNpemUgLSAodGhpcy5f
cmVzb3VyY2UudHJhbnNmZXJTaXplIC0gdGhpcy5fcmVzb3VyY2UucmVzcG9uc2VIZWFkZXJzU2l6
ZSk7CiAgICAgfQpAQCAtMzAzLDI0ICszMDYsMzIgQEAgV2ViSW5zcGVjdG9yLkhBUkxvZy5wcm90
b3R5cGUgPSB7CiAgICAgICovCiAgICAgX2J1aWxkUGFnZXM6IGZ1bmN0aW9uKCkKICAgICB7Ci0g
ICAgICAgIHJldHVybiBbCi0gICAgICAgICAgICB7Ci0gICAgICAgICAgICAgICAgc3RhcnRlZERh
dGVUaW1lOiBuZXcgRGF0ZShXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5tYWluUmVzb3VyY2VTdGFy
dFRpbWUgKiAxMDAwKSwKLSAgICAgICAgICAgICAgICBpZDogV2ViSW5zcGVjdG9yLmluc3BlY3Rl
ZFBhZ2VVUkwsCi0gICAgICAgICAgICAgICAgdGl0bGU6ICIiLAotICAgICAgICAgICAgICAgIHBh
Z2VUaW1pbmdzOiB0aGlzLmJ1aWxkTWFpblJlc291cmNlVGltaW5ncygpCi0gICAgICAgICAgICB9
Ci0gICAgICAgIF07CisgICAgICAgIHZhciBzZWVuSWRlbnRpZmllcnMgPSB7fTsKKyAgICAgICAg
dmFyIHBhZ2VzID0gW107CisgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgdGhpcy5fcmVzb3Vy
Y2VzLmxlbmd0aDsgKytpKSB7CisgICAgICAgICAgICB2YXIgcGFnZSA9IFdlYkluc3BlY3Rvci5u
ZXR3b3JrTG9nLnBhZ2VGb3JSZXNvdXJjZSh0aGlzLl9yZXNvdXJjZXNbaV0pOworICAgICAgICAg
ICAgaWYgKCFwYWdlIHx8IHNlZW5JZGVudGlmaWVyc1twYWdlLmlkXSkKKyAgICAgICAgICAgICAg
ICBjb250aW51ZTsKKyAgICAgICAgICAgIHNlZW5JZGVudGlmaWVyc1twYWdlLmlkXSA9IHRydWU7
CisgICAgICAgICAgICBwYWdlcy5wdXNoKHRoaXMuX2NvbnZlcnRQYWdlKHBhZ2UpKTsKKyAgICAg
ICAgfQorICAgICAgICByZXR1cm4gcGFnZXM7CiAgICAgfSwKIAogICAgIC8qKgorICAgICAqIEBw
YXJhbSB7V2ViSW5zcGVjdG9yLlBhZ2VMb2FkfSBwYWdlCiAgICAgICogQHJldHVybiB7T2JqZWN0
fQogICAgICAqLwotICAgIGJ1aWxkTWFpblJlc291cmNlVGltaW5nczogZnVuY3Rpb24oKQorICAg
IF9jb252ZXJ0UGFnZTogZnVuY3Rpb24ocGFnZSkKICAgICB7CiAgICAgICAgIHJldHVybiB7Ci0g
ICAgICAgICAgICAgb25Db250ZW50TG9hZDogdGhpcy5fcGFnZUV2ZW50VGltZShXZWJJbnNwZWN0
b3IubWFpblJlc291cmNlRE9NQ29udGVudFRpbWUpLAotICAgICAgICAgICAgIG9uTG9hZDogdGhp
cy5fcGFnZUV2ZW50VGltZShXZWJJbnNwZWN0b3IubWFpblJlc291cmNlTG9hZFRpbWUpLAorICAg
ICAgICAgICAgc3RhcnRlZERhdGVUaW1lOiBuZXcgRGF0ZShwYWdlLnN0YXJ0VGltZSAqIDEwMDAp
LAorICAgICAgICAgICAgaWQ6ICJwYWdlXyIgKyBwYWdlLmlkLAorICAgICAgICAgICAgdGl0bGU6
IHBhZ2UudXJsLCAvLyBXZSBkb24ndCBoYXZlIGFjdHVhbCBwYWdlIHRpdGxlIGhlcmUuIFVSTCBp
cyBwcm9iYWJseSBiZXR0ZXIgdGhhbiBub3RoaW5nLgorICAgICAgICAgICAgcGFnZVRpbWluZ3M6
IHsKKyAgICAgICAgICAgICAgICBvbkNvbnRlbnRMb2FkOiB0aGlzLl9wYWdlRXZlbnRUaW1lKHBh
Z2UsIHBhZ2UuY29udGVudExvYWRUaW1lKSwKKyAgICAgICAgICAgICAgICBvbkxvYWQ6IHRoaXMu
X3BhZ2VFdmVudFRpbWUocGFnZSwgcGFnZS5sb2FkVGltZSkKKyAgICAgICAgICAgIH0KICAgICAg
ICAgfQogICAgIH0sCiAKQEAgLTMzNCwxMiArMzQ1LDEzIEBAIFdlYkluc3BlY3Rvci5IQVJMb2cu
cHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dlYkluc3Bl
Y3Rvci5QYWdlTG9hZH0gcGFnZQogICAgICAqIEBwYXJhbSB7bnVtYmVyfSB0aW1lCiAgICAgICog
QHJldHVybiB7bnVtYmVyfQogICAgICAqLwotICAgIF9wYWdlRXZlbnRUaW1lOiBmdW5jdGlvbih0
aW1lKQorICAgIF9wYWdlRXZlbnRUaW1lOiBmdW5jdGlvbihwYWdlLCB0aW1lKQogICAgIHsKLSAg
ICAgICAgdmFyIHN0YXJ0VGltZSA9IFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2VTdGFydFRpbWU7
CisgICAgICAgIHZhciBzdGFydFRpbWUgPSBwYWdlLnN0YXJ0VGltZTsKICAgICAgICAgaWYgKHRp
bWUgPT09IC0xIHx8IHN0YXJ0VGltZSA9PT0gLTEpCiAgICAgICAgICAgICByZXR1cm4gLTE7CiAg
ICAgICAgIHJldHVybiBXZWJJbnNwZWN0b3IuSEFSRW50cnkuX3RvTWlsbGlzZWNvbmRzKHRpbWUg
LSBzdGFydFRpbWUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9OZXR3b3JrTG9nLmpzIGIvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9O
ZXR3b3JrTG9nLmpzCmluZGV4IDk5YWIyMDM1NDU1ZWQ2YzE4MWRjYjY1NzJhOGE4NGNhZjYyMmU3
NjEuLjI5ZGQ1OWZmNjQ0MTcwYjc4OThjYjgyZDkzZmJlMWNmOTI0ZWVlZjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvTmV0d29ya0xvZy5qcworKysgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtMb2cuanMKQEAgLTM0LDkg
KzM0LDEwIEBACiBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZyA9IGZ1bmN0aW9uKCkKIHsKICAgICB0
aGlzLl9yZXNvdXJjZXMgPSBbXTsKLSAgICB0aGlzLl9tYWluUmVzb3VyY2VTdGFydFRpbWUgPSBu
dWxsOwogICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdl
Ykluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlU3RhcnRlZCwgdGhp
cy5fb25SZXNvdXJjZVN0YXJ0ZWQsIHRoaXMpOwotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5F
dmVudFR5cGVzLk1haW5GcmFtZU5hdmlnYXRlZCwgdGhpcy5fbWFpbkZyYW1lTmF2aWdhdGVkLCB0
aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5l
cihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5NYWluRnJhbWVOYXZp
Z2F0ZWQsIHRoaXMuX29uTWFpbkZyYW1lTmF2aWdhdGVkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0
b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3Vy
Y2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5PbkxvYWQsIHRoaXMuX29uTG9hZCwgdGhpcyk7CisgICAg
V2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuRE9NQ29udGVudExvYWRlZCwgdGhpcy5f
b25ET01Db250ZW50TG9hZGVkLCB0aGlzKTsKIH0KIAogV2ViSW5zcGVjdG9yLk5ldHdvcmtMb2cu
cHJvdG90eXBlID0gewpAQCAtNDksMjggKzUwLDMwIEBAIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
LnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7P0RhdGV9
CisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2V9IHJlc291cmNlCisgICAgICog
QHJldHVybiB7V2ViSW5zcGVjdG9yLlBhZ2VMb2FkfQogICAgICAqLwotICAgIGdldCBtYWluUmVz
b3VyY2VTdGFydFRpbWUoKQorICAgIHBhZ2VGb3JSZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2Up
CiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWFpblJlc291cmNlU3RhcnRUaW1lOworICAg
ICAgICByZXR1cm4gcmVzb3VyY2UuX19wYWdlOwogICAgIH0sCiAKICAgICAvKioKICAgICAgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5FdmVudH0gZXZlbnQKICAgICAgKi8KLSAgICBfbWFpbkZyYW1l
TmF2aWdhdGVkOiBmdW5jdGlvbihldmVudCkKKyAgICBfb25NYWluRnJhbWVOYXZpZ2F0ZWQ6IGZ1
bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAgdmFyIG1haW5GcmFtZSA9IC8qKiB0eXBlIHtX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRnJhbWV9ICovIGV2ZW50LmRhdGE7Ci0gICAgICAgIHRo
aXMuX21haW5SZXNvdXJjZVN0YXJ0VGltZSA9IG51bGw7CiAgICAgICAgIC8vIFByZXNlcnZlIHJl
c291cmNlcyBmcm9tIHRoZSBuZXcgc2Vzc2lvbi4KKyAgICAgICAgdGhpcy5fY3VycmVudFBhZ2VM
b2FkID0gbnVsbDsKICAgICAgICAgdmFyIG9sZFJlc291cmNlcyA9IHRoaXMuX3Jlc291cmNlcy5z
cGxpY2UoMCwgdGhpcy5fcmVzb3VyY2VzLmxlbmd0aCk7CiAgICAgICAgIGZvciAodmFyIGkgPSAw
OyBpIDwgb2xkUmVzb3VyY2VzLmxlbmd0aDsgKytpKSB7CiAgICAgICAgICAgICB2YXIgcmVzb3Vy
Y2UgPSBvbGRSZXNvdXJjZXNbaV07CiAgICAgICAgICAgICBpZiAocmVzb3VyY2UubG9hZGVySWQg
PT09IG1haW5GcmFtZS5sb2FkZXJJZCkgewotICAgICAgICAgICAgICAgIGlmICghdGhpcy5fbWFp
blJlc291cmNlU3RhcnRUaW1lICYmIG1haW5GcmFtZS51cmwgPT09IHJlc291cmNlLnVybCkKLSAg
ICAgICAgICAgICAgICAgICAgdGhpcy5fbWFpblJlc291cmNlU3RhcnRUaW1lID0gcmVzb3VyY2Uu
c3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGlmICghdGhpcy5fY3VycmVudFBhZ2VMb2FkKQor
ICAgICAgICAgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUxvYWQgPSBuZXcgV2ViSW5zcGVj
dG9yLlBhZ2VMb2FkKHJlc291cmNlKTsKICAgICAgICAgICAgICAgICB0aGlzLl9yZXNvdXJjZXMu
cHVzaChyZXNvdXJjZSk7CisgICAgICAgICAgICAgICAgcmVzb3VyY2UuX19wYWdlID0gdGhpcy5f
Y3VycmVudFBhZ2VMb2FkOwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSwKQEAgLTgy
LDEwICs4NSw4MyBAQCBXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUgPSB7CiAgICAg
ewogICAgICAgICB2YXIgcmVzb3VyY2UgPSAvKiogQHR5cGUge1dlYkluc3BlY3Rvci5SZXNvdXJj
ZX0gKi8gZXZlbnQuZGF0YTsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VzLnB1c2gocmVzb3VyY2Up
OwotICAgIH0KKyAgICAgICAgdmFyIGZyYW1lID0gV2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1v
ZGVsLmZyYW1lRm9ySWQocmVzb3VyY2UuZnJhbWVJZCk7CisgICAgICAgIHJlc291cmNlLl9fcGFn
ZSA9IHRoaXMuX2N1cnJlbnRQYWdlTG9hZDsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBh
cmFtIHtXZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CisgICAgICovCisgICAgX29uRE9NQ29udGVu
dExvYWRlZDogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fY3VycmVu
dFBhZ2VMb2FkKQorICAgICAgICAgICAgdGhpcy5fY3VycmVudFBhZ2VMb2FkLl9jb250ZW50TG9h
ZFRpbWUgPSBldmVudC5kYXRhOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBAcGFyYW0ge1dl
Ykluc3BlY3Rvci5FdmVudH0gZXZlbnQKKyAgICAgKi8KKyAgICBfb25Mb2FkOiBmdW5jdGlvbihl
dmVudCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9jdXJyZW50UGFnZUxvYWQpCisgICAgICAg
ICAgICB0aGlzLl9jdXJyZW50UGFnZUxvYWQuX2xvYWRUaW1lID0gZXZlbnQuZGF0YTsKKyAgICB9
LAorCiB9CiAKIC8qKgogICogQHR5cGUge1dlYkluc3BlY3Rvci5OZXR3b3JrTG9nfQogICovCiBX
ZWJJbnNwZWN0b3IubmV0d29ya0xvZyA9IG51bGw7CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZXNvdXJjZX0gbWFpblJlc291cmNlCisgKi8KK1dlYklu
c3BlY3Rvci5QYWdlTG9hZCA9IGZ1bmN0aW9uKG1haW5SZXNvdXJjZSkKK3sKKyAgICB0aGlzLl9p
ZCA9ICsrV2ViSW5zcGVjdG9yLlBhZ2VMb2FkLl9sYXN0SWRlbnRpZmllcjsKKyAgICB0aGlzLl91
cmwgPSBtYWluUmVzb3VyY2UudXJsOworICAgIHRoaXMuX3N0YXJ0VGltZSA9IG1haW5SZXNvdXJj
ZS5zdGFydFRpbWU7Cit9CisKK1dlYkluc3BlY3Rvci5QYWdlTG9hZC5fbGFzdElkZW50aWZpZXIg
PSAwOworCitXZWJJbnNwZWN0b3IuUGFnZUxvYWQucHJvdG90eXBlID0geworICAgIGdldCBpZCgp
CisgICAgeworICAgICAgICByZXR1cm4gdGhpcy5faWQ7CisgICAgfSwKKworICAgIC8qKgorICAg
ICAqIEB0eXBlIHtzdHJpbmd9IHVybAorICAgICAqLworICAgIGdldCB1cmwoKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRoaXMuX3VybDsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHR5cGUg
e251bWJlcn0KKyAgICAgKi8KKyAgICBnZXQgY29udGVudExvYWRUaW1lKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLl9jb250ZW50TG9hZFRpbWU7CisgICAgfSwKKworICAgIC8qKgorICAg
ICAqIEB0eXBlIHtudW1iZXJ9CisgICAgICovCisgICAgZ2V0IGxvYWRUaW1lKCkKKyAgICB7Cisg
ICAgICAgIHJldHVybiB0aGlzLl9sb2FkVGltZTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICog
QHR5cGUge251bWJlcn0KKyAgICAgKi8KKyAgICBnZXQgc3RhcnRUaW1lKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiB0aGlzLl9zdGFydFRpbWU7CisgICAgfSAKK30KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMgYi9Tb3Vy
Y2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1vZGVsLmpzCmluZGV4
IGQzNDIyOWVjY2JlYjMxMGY4ZWZlMzBmMGZkYTNmZjc5OTVjMGZhZWQuLmVkYzVlYmU4YmMwOTJi
MTczOGYxYmIxMGE0OWQ2MWQ4MTQ3NzliNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VUcmVlTW9kZWwuanMKKysrIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5qcwpAQCAtNjEzLDE3ICs2
MTMsMTEgQEAgV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZSA9IHsKICAgICBk
b21Db250ZW50RXZlbnRGaXJlZDogZnVuY3Rpb24odGltZSkKICAgICB7CiAgICAgICAgIHRoaXMu
X3Jlc291cmNlVHJlZU1vZGVsLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5ET01Db250ZW50TG9hZGVkLCB0aW1lKTsKLQot
ICAgICAgICAvLyBGSVhNRTogdGhlIG9ubHkgY2xpZW50IGlzIEhBUiwgZml4IGl0IHRoZXJlLgot
ICAgICAgICBXZWJJbnNwZWN0b3IubWFpblJlc291cmNlRE9NQ29udGVudFRpbWUgPSB0aW1lOwog
ICAgIH0sCiAKICAgICBsb2FkRXZlbnRGaXJlZDogZnVuY3Rpb24odGltZSkKICAgICB7CiAgICAg
ICAgIHRoaXMuX3Jlc291cmNlVHJlZU1vZGVsLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJ
bnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5PbkxvYWQsIHRpbWUpOwotCi0g
ICAgICAgIC8vIEZJWE1FOiB0aGUgb25seSBjbGllbnQgaXMgSEFSLCBmaXggaXQgdGhlcmUuCi0g
ICAgICAgIFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2VMb2FkVGltZSA9IHRpbWU7CiAgICAgfSwK
IAogICAgIGZyYW1lTmF2aWdhdGVkOiBmdW5jdGlvbihmcmFtZSkKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMTJjZWU0ZWYx
MDA2NDY2N2QwZjVmNTllNGQ1ZWNiOTEwOTEwYmJkLi4wMTMxMzllMGViZjdhYTkzNTdmYWM1ZTJl
MTE4MWJmOGQ5OTRjY2E3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDEtMjAgIEFuZHJl
eSBLb3N5YWtvdiAgPGNhc2VxQGNocm9taXVtLm9yZz4KKworICAgICAgICBXZWIgSW5zcGVjdG9y
OiBIQVIgcGFnZXJlZiBhdHRyaWJ1dGVzIGFyZSB3cm9uZyBhbmQgaW5jb25zaXN0ZW50IHdpdGgg
cGFnZXMgYXJyYXkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTc2Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItaGVhZGVycy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtcGFyYW1ldGVycy1l
eHBlY3RlZC50eHQ6CisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0OgorCiAyMDEyLTAxLTE5
ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1F0XSBV
bnJldmlld2VkIGdhcmRlbmluZy4gVW5za2lwIG5vdyBwYXNzaW5nIHRlc3RzLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWhlYWRlcnMt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2Ut
aGFyLWhlYWRlcnMtZXhwZWN0ZWQudHh0CmluZGV4IDM4NTAxMjE2MTFlMjc0YjdmYzBkODUxMTEz
NTVkMDhjZjJmOWIyZTQuLmQ2NDk2MWFiMmY0MzFmZjcyNDUxNWFlNWYxZmRkNjg0MTY4YzU4Yjcg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhh
ci1oZWFkZXJzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS1oYXItaGVhZGVycy1leHBlY3RlZC50eHQKQEAgLTE5LDcgKzE5LDYgQEAg
UmVzb3VyY2U6ewogICAgIH0KIH0KIEhBUjp7Ci0gICAgcGFnZXJlZiA6ICJodHRwOi8vZXhhbXBs
ZS5jb20vaW5zcGVjdG9yLXRlc3QuanMiCiAgICAgc3RhcnRlZERhdGVUaW1lIDogPG9iamVjdD4K
ICAgICB0aW1lIDogPG51bWJlcj4KICAgICByZXF1ZXN0IDogewpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1wYWdlcy1l
eHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzY1ZTJkZTY5ODVmM2Y5NWNlNTgzZmIxZDlmMTgzMjA0
NDc0MzA1NgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVj
dG9yL3Jlc291cmNlLWhhci1wYWdlcy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGVz
dHMgY29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyByZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRv
IEhBUiBmb3JtYXQuCisKK1BhZ2UgcmVsb2FkZWQuCit7CisgICAgMCA6IHsKKyAgICAgICAgc3Rh
cnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KKyAgICAgICAgaWQgOiA8c3RyaW5nPgorICAgICAg
ICB0aXRsZSA6ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91
cmw9L2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwi
CisgICAgICAgIHBhZ2VUaW1pbmdzIDogeworICAgICAgICAgICAgb25Db250ZW50TG9hZCA6IDxu
dW1iZXI+CisgICAgICAgICAgICBvbkxvYWQgOiA8bnVtYmVyPgorICAgICAgICB9CisgICAgfQor
ICAgIDEgOiB7CisgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CisgICAgICAg
IGlkIDogPHN0cmluZz4KKyAgICAgICAgdGl0bGUgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2lu
c3BlY3Rvci9yZXNvdXJjZS1oYXItcGFnZXMuaHRtbCIKKyAgICAgICAgcGFnZVRpbWluZ3MgOiB7
CisgICAgICAgICAgICBvbkNvbnRlbnRMb2FkIDogPG51bWJlcj4KKyAgICAgICAgICAgIG9uTG9h
ZCA6IDxudW1iZXI+CisgICAgICAgIH0KKyAgICB9Cit9CitwYWdlOiBwYWdlXzIgdXJsOiBodHRw
Oi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL2luc3BlY3Rvci10ZXN0LmpzCitwYWdlOiBwYWdl
XzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1wYWdl
cy5odG1sCitwYWdlOiBwYWdlXzIgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9y
L3Jlc291cmNlcy10ZXN0LmpzCitwYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgw
MDAvaW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtaWZyYW1lLmh0bWwKK3BhZ2U6IHBhZ2Vf
MSB1cmw6IGh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1wYWdl
cy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sCitwYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAu
MC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlcy9zb3VyY2UxLmpzCitwYWdlOiBwYWdlXzEgdXJs
OiBodHRwOi8vMTI3LjAuMC4xOjgwMDAvcmVzb3VyY2VzL3JlZGlyZWN0LnBocD91cmw9L2luc3Bl
Y3Rvci9yZXNvdXJjZXMvaGFyLXBhZ2VzLW5hdmlnYXRpb24tdGFyZ2V0Lmh0bWwKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2Vz
Lmh0bWwgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItcGFn
ZXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40OGUwNzc5NjAxMzMyM2U1YWFmOGNlNDI5MWEwNjY1NjMwZDJi
ZTBmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
cmVzb3VyY2UtaGFyLXBhZ2VzLmh0bWwKQEAgLTAsMCArMSw2NCBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Imluc3BlY3Rvci10ZXN0LmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMtdGVzdC5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+
CisKK3ZhciB0ZXN0ID0gZnVuY3Rpb24oKQoreworICAgIGZ1bmN0aW9uIHN0ZXAxKCkKKyAgICB7
CisgICAgICAgIHZhciBoYWROYXZpZ2F0aW9uID0gZmFsc2U7CisKKyAgICAgICAgZnVuY3Rpb24g
b25SZXNvdXJjZUZpbmlzaGVkKGV2ZW50KQorICAgICAgICB7CisgICAgICAgICAgICB2YXIgcmVz
b3VyY2UgPSBldmVudC5kYXRhOworICAgICAgICAgICAgaWYgKC9cL2hhci1wYWdlcy1uYXZpZ2F0
aW9uLXRhcmdldFwuaHRtbCQvLnRlc3QocmVzb3VyY2UudXJsKSkKKyAgICAgICAgICAgICAgICBo
YWROYXZpZ2F0aW9uID0gdHJ1ZTsKKyAgICAgICAgICAgIGlmIChoYWROYXZpZ2F0aW9uICYmIC9c
L3Jlc291cmNlLWhhci1wYWdlc1wuaHRtbCQvLnRlc3QocmVzb3VyY2UudXJsKSkgeworICAgICAg
ICAgICAgICAgIFdlYkluc3BlY3Rvci5uZXR3b3JrTWFuYWdlci5yZW1vdmVFdmVudExpc3RlbmVy
KFdlYkluc3BlY3Rvci5OZXR3b3JrTWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlRmluaXNoZWQs
IG9uUmVzb3VyY2VGaW5pc2hlZCkKKyAgICAgICAgICAgICAgICBzdGVwMigpOworICAgICAgICAg
ICAgfQorICAgICAgICB9CisgICAgICAgIFdlYkluc3BlY3Rvci5pbnNwZWN0b3JWaWV3LnNldEN1
cnJlbnRQYW5lbChXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmspOworICAgICAgICB2YXIgbmV0
d29ya0xvZ1ZpZXcgPSBXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuX25ldHdvcmtMb2dWaWV3
OworICAgICAgICAvLyBuZXR3b3JrTG9nVmlldy5jbGVhcigpOworICAgICAgICBuZXR3b3JrTG9n
Vmlldy5fcHJlc2VydmVMb2dUb2dnbGUudG9nZ2xlZCA9IHRydWU7CisgICAgICAgIFdlYkluc3Bl
Y3Rvci5uZXR3b3JrTWFuYWdlci5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5OZXR3b3Jr
TWFuYWdlci5FdmVudFR5cGVzLlJlc291cmNlRmluaXNoZWQsIG9uUmVzb3VyY2VGaW5pc2hlZCk7
CisgICAgICAgIEluc3BlY3RvclRlc3QuZXZhbHVhdGVJblBhZ2UoImxvY2F0aW9uLmhyZWYgPSAn
L3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1wYWdl
cy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sJzsiKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBzdGVw
MigpCisgICAgeworICAgICAgICB2YXIgbG9nID0gKG5ldyBXZWJJbnNwZWN0b3IuSEFSTG9nKFdl
Ykluc3BlY3Rvci5wYW5lbHMubmV0d29yay5fbmV0d29ya0xvZ1ZpZXcuX3Jlc291cmNlcykpLmJ1
aWxkKCk7CisgICAgICAgIEluc3BlY3RvclRlc3QuYWRkT2JqZWN0KGxvZy5wYWdlcywgSW5zcGVj
dG9yVGVzdC5IQVJQcm9wZXJ0eUZvcm1hdHRlcnNXaXRoU2l6ZSk7CisKKyAgICAgICAgLy8gRmls
dGVyIG91dCBmYXZpY29uLmljbyByZXF1ZXN0cyB0aGF0IG9ubHkgYXBwZWFyIG9uIGNlcnRhaW4g
cGxhdGZvcm1zLgorICAgICAgICBsb2cuZW50cmllcyA9IGxvZy5lbnRyaWVzLmZpbHRlcihmdW5j
dGlvbihlbnRyeSkgeworICAgICAgICAgICAgcmV0dXJuICEvZmF2aWNvblwuaWNvJC8udGVzdChl
bnRyeS5yZXF1ZXN0LnVybCk7CisgICAgICAgIH0pOworICAgICAgICBsb2cuZW50cmllcy5zb3J0
KEluc3BlY3RvclRlc3QucmVzb3VyY2VVUkxDb21wYXJlcik7CisgICAgICAgIGZvciAodmFyIGkg
PSAwOyBpIDwgbG9nLmVudHJpZXMubGVuZ3RoOyArK2kpIHsKKyAgICAgICAgICAgIHZhciBlbnRy
eSA9IGxvZy5lbnRyaWVzW2ldOworICAgICAgICAgICAgSW5zcGVjdG9yVGVzdC5hZGRSZXN1bHQo
InBhZ2U6ICIgKyBlbnRyeS5wYWdlcmVmICsgIiB1cmw6ICIgKyBlbnRyeS5yZXF1ZXN0LnVybCk7
CisgICAgICAgIH0KKyAgICAgICAgSW5zcGVjdG9yVGVzdC5jb21wbGV0ZVRlc3QoKTsKKyAgICB9
CisKKyAgICBzdGVwMSgpOworfQorCis8L3NjcmlwdD4KKworCis8L2hlYWQ+CisKKzxib2R5IG9u
bG9hZD0icnVuVGVzdCgpIj4KKzxwPgorVGVzdHMgY29udmVyc2lvbiBvZiBJbnNwZWN0b3IncyBy
ZXNvdXJjZSByZXByZXNlbnRhdGlvbiBpbnRvIEhBUiBmb3JtYXQuCis8L3A+CisKKzwvYm9keT4K
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9p
bnNwZWN0b3IvcmVzb3VyY2UtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKaW5kZXggYzFlMDVmYmY1
MDAxYmJjZDBkMDgyOWJiOTczNDliYzk5NzlkYmY4MC4uMmY3ZmJmNGVkNDU0MjRlMTJlZWJjNWNi
ZmQ4MjFhNDk3ZTJkYjIyNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtcGFyYW1ldGVycy1leHBlY3RlZC50eHQKQEAg
LTMsNyArMyw2IEBAIFRlc3RzIHRoYXQgcmVzb3VyY2VzIHBhbmVsIHNob3dzIGZvcm0gZGF0YSBw
YXJhbWV0ZXJzLgogICAKIAogewotICAgIHBhZ2VyZWYgOiAiaHR0cDovL2xvY2FsaG9zdDo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZXMvcG9zdC10YXJnZXQuY2dpP3F1ZXJ5UGFyYW0xPXF1ZXJ5VmFs
dWUxJnF1ZXJ5UGFyYW0yPSNmcmFnbWVudFBhcmFtMT1mcmFnbWVudFZhbHVlMSZmcmFnbWVudFBh
cmFtMj0iCiAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KICAgICB0aW1lIDogPG51
bWJlcj4KICAgICByZXF1ZXN0IDogewpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vaHR0cC90ZXN0cy9pbnNw
ZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24tZXhwZWN0ZWQudHh0CmluZGV4IGVkZDUxNzRk
NGI5OGFmZWM1MDdhOGM4MmVmYzJkYjdhNGRiYjAxNTYuLjhkMzNlNTc4YTMwY2JhYTViZTUyYTEx
Y2IzMWQxOWZjYzc1NjhkMmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3Bl
Y3Rvci9yZXNvdXJjZS1oYXItY29udmVyc2lvbi1leHBlY3RlZC50eHQKQEAgLTExLDcgKzExLDcg
QEAgUGFnZSByZWxvYWRlZC4KICAgICAgICAgewogICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1l
IDogPHBsYXVzaWJsZT4KICAgICAgICAgICAgIGlkIDogPHN0cmluZz4KLSAgICAgICAgICAgIHRp
dGxlIDogIiIKKyAgICAgICAgICAgIHRpdGxlIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNw
ZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHBhZ2VUaW1p
bmdzIDogewogICAgICAgICAgICAgICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVyPgogICAgICAg
ICAgICAgICAgIG9uTG9hZCA6IDxudW1iZXI+CkBAIC0yMCw3ICsyMCw2IEBAIFBhZ2UgcmVsb2Fk
ZWQuCiAgICAgXQogICAgIGVudHJpZXMgOiBbCiAgICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2Vy
ZWYgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVy
c2lvbi5odG1sIgogICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KICAg
ICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgogICAgICAgICAgICAgcmVxdWVzdCA6IHsKQEAgLTEw
Nyw5ICsxMDYsOSBAQCBQYWdlIHJlbG9hZGVkLgogICAgICAgICAgICAgY2FjaGUgOiB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgICAgIHBh
Z2VyZWYgOiAicGFnZV8xIgogICAgICAgICB9CiAgICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2Vy
ZWYgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVy
c2lvbi5odG1sIgogICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KICAg
ICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgogICAgICAgICAgICAgcmVxdWVzdCA6IHsKQEAgLTE0
Myw5ICsxNDIsOSBAQCBQYWdlIHJlbG9hZGVkLgogICAgICAgICAgICAgY2FjaGUgOiB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgICAgIHBh
Z2VyZWYgOiAicGFnZV8xIgogICAgICAgICB9CiAgICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2Vy
ZWYgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVy
c2lvbi5odG1sIgogICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KICAg
ICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgogICAgICAgICAgICAgcmVxdWVzdCA6IHsKQEAgLTE3
OCw5ICsxNzcsOSBAQCBQYWdlIHJlbG9hZGVkLgogICAgICAgICAgICAgY2FjaGUgOiB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgICAgIHBh
Z2VyZWYgOiAicGFnZV8xIgogICAgICAgICB9CiAgICAgICAgIHsKLSAgICAgICAgICAgIHBhZ2Vy
ZWYgOiAiaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVy
c2lvbi5odG1sIgogICAgICAgICAgICAgc3RhcnRlZERhdGVUaW1lIDogPHBsYXVzaWJsZT4KICAg
ICAgICAgICAgIHRpbWUgOiA8bnVtYmVyPgogICAgICAgICAgICAgcmVxdWVzdCA6IHsKQEAgLTIx
OCw2ICsyMTcsNyBAQCBQYWdlIHJlbG9hZGVkLgogICAgICAgICAgICAgY2FjaGUgOiB7CiAgICAg
ICAgICAgICB9CiAgICAgICAgICAgICB0aW1pbmdzIDogPG9iamVjdD4KKyAgICAgICAgICAgIHBh
Z2VyZWYgOiAicGFnZV8xIgogICAgICAgICB9CiAgICAgXQogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>123319</attachid>
            <date>2012-01-20 08:25:01 -0800</date>
            <delta_ts>2012-01-20 08:25:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-76398-20120120202459.patch</filename>
            <type>text/plain</type>
            <size>21612</size>
            <attacher name="Andrey Kosyakov">caseq</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA1NTExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzM5ZTliNWIyNDZhZmMy
MDZmOGZhZmYyNTQ5ZTdmYjA0M2VkZTgxNS4uZGJmN2NjMGE0NTliYTZmMGNkZWUxNmVjZjNlYjk4
NjJjZmZiMzc1OCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ5IEBACisyMDEyLTAxLTIwICBBbmRy
ZXkgS29zeWFrb3YgIDxjYXNlcUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgV2ViIEluc3BlY3Rv
cjogSEFSIHBhZ2VyZWYgYXR0cmlidXRlcyBhcmUgd3JvbmcgYW5kIGluY29uc2lzdGVudCB3aXRo
IHBhZ2VzIGFycmF5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD03NjM5OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIC0gaW50cm9kdWNlIGEgbm90aW9uIG9mIExvYWRQYWdlOworICAgICAgICAtIG1vdmUgcGFn
ZSBsb2FkIHRpbWVzIHRvIExvYWRQYWdlOworICAgICAgICAtIGFzc29jaWF0ZSBuZXR3b3JrIHJl
c291cmNlcyB3aXRoIExvYWRQYWdlOworICAgICAgICAtIGV4cG9ydCBwYWdlcyBmb3IgYWxsIGF2
YWlsYWJsZSByZXNvcnVjZXMgdG8gSEFSLCBub3QganVzdCB0aGUgbGFzdCBwYWdlOworICAgICAg
ICAtIHVzZSBwYWdlIGlkcywgbm90IGRvY3VtZW50IFVSTHMgaW4gSEFSIGVudHJpZXMgdG8gcmVm
ZXIgdG8gcGFnZXM7CisgICAgICAgIC0gdXNlIHBhZ2UgVVJMIGFzIGEgdGl0bGUgZmllbGQgb2Yg
YSBIQVIgcGFnZTsKKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvQXVkaXRzUGFuZWwu
anM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQXVkaXRzUGFuZWwpOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuSEFSRW50
cnkucHJvdG90eXBlLmJ1aWxkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IQVJFbnRyeS5wcm90
b3R5cGUuZ2V0IHJlc3BvbnNlQ29tcHJlc3Npb24pOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhB
UkxvZy5wcm90b3R5cGUuX2J1aWxkUGFnZXMpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkhBUkxv
Zy5wcm90b3R5cGUuX2NvbnZlcnRQYWdlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5IQVJMb2cu
cHJvdG90eXBlLl9wYWdlRXZlbnRUaW1lKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5k
L05ldHdvcmtMb2cuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUuX21haW5GcmFtZU5hdmlnYXRl
ZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUuX29uUmVzb3Vy
Y2VTdGFydGVkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlKToKKyAgICAgICAgKFdlYklu
c3BlY3Rvci5QYWdlLnByb3RvdHlwZS5nZXQgaWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBh
Z2UucHJvdG90eXBlLmdldCB1cmwpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJvdG90
eXBlLmdldCBjb250ZW50TG9hZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2UucHJv
dG90eXBlLnNldCBjb250ZW50TG9hZFRpbWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2Uu
cHJvdG90eXBlLmdldCBsb2FkVGltZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFnZS5wcm90
b3R5cGUuc2V0IGxvYWRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlLnByb3RvdHlw
ZS5nZXQgc3RhcnRUaW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5QYWdlLnByb3RvdHlwZS5f
YmluZFJlc291cmNlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtNYW5h
Z2VyLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLk5ldHdvcmtEaXNwYXRjaGVyLnByb3RvdHlw
ZS5yZXF1ZXN0U2VydmVkRnJvbU1lbW9yeUNhY2hlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJv
bnQtZW5kL1Jlc291cmNlLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlLnByb3Rv
dHlwZS5nZXQgcGFnZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2UucHJvdG90eXBl
LnNldCBwYWdlKToKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1v
ZGVsLmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVHJlZUZyYW1lKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVGcmFtZS5wcm90b3R5cGUuZ2V0IHBhZ2UpOgor
ICAgICAgICAoV2ViSW5zcGVjdG9yLlBhZ2VEaXNwYXRjaGVyLnByb3RvdHlwZS5kb21Db250ZW50
RXZlbnRGaXJlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUGFnZURpc3BhdGNoZXIucHJvdG90
eXBlLmxvYWRFdmVudEZpcmVkKToKKwogMjAxMi0wMS0yMCAgS2ludWtvIFlhc3VkYSAgPGtpbnVr
b0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgQWRkIERhdGFUcmFuc2Zlckl0ZW1zIHN1cHBvcnQg
Zm9yIGRyYWctYW5kLWRyb3AnZWQgZmlsZXMgYW5kIHRleHRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0F1ZGl0c1BhbmVsLmpzIGIvU291cmNlL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9BdWRpdHNQYW5lbC5qcwppbmRleCBjYzE5NTViYjE4MDIx
OTExMzAzZDQ2ZGEwMzZjYTgwNWY2NmIwNzdiLi41MjAwNDc3YzA3YzM5ZTRkODY3NTQyYzE3ZjQz
NGQ2Y2MzZGM1MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0F1ZGl0c1BhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvQXVkaXRzUGFuZWwuanMKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucyBhcmUKQEAgLTYxLDggKzYxLDcgQEAgV2ViSW5zcGVjdG9yLkF1ZGl0c1BhbmVs
ID0gZnVuY3Rpb24oKQogICAgIGZvciAodmFyIGlkIGluIHRoaXMuY2F0ZWdvcmllc0J5SWQpCiAg
ICAgICAgIHRoaXMuX2xhdW5jaGVyVmlldy5hZGRDYXRlZ29yeSh0aGlzLmNhdGVnb3JpZXNCeUlk
W2lkXSk7CiAKLSAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRMaXN0
ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5PbkxvYWQsIHRo
aXMuX29uTG9hZEV2ZW50RmlyZWQsIHRoaXMpOwotICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5F
dmVudFR5cGVzLkRPTUNvbnRlbnRMb2FkZWQsIHRoaXMuX2RvbUNvbnRlbnRMb2FkZWRFdmVudEZp
cmVkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5PbkxvYWQs
IHRoaXMuX2RpZE1haW5SZXNvdXJjZUxvYWQsIHRoaXMpOwogfQogCiBXZWJJbnNwZWN0b3IuQXVk
aXRzUGFuZWwucHJvdG90eXBlID0gewpAQCAtNzYsMjcgKzc1LDYgQEAgV2ViSW5zcGVjdG9yLkF1
ZGl0c1BhbmVsLnByb3RvdHlwZSA9IHsKICAgICAgICAgcmV0dXJuIFt0aGlzLmNsZWFyUmVzdWx0
c0J1dHRvbi5lbGVtZW50XTsKICAgICB9LAogCi0gICAgZ2V0IG1haW5SZXNvdXJjZUxvYWRUaW1l
KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiB0aGlzLl9tYWluUmVzb3VyY2VMb2FkVGltZTsKLSAg
ICB9LAotCi0gICAgX29uTG9hZEV2ZW50RmlyZWQ6IGZ1bmN0aW9uKGV2ZW50KQotICAgIHsKLSAg
ICAgICAgdGhpcy5fbWFpblJlc291cmNlTG9hZFRpbWUgPSBldmVudC5kYXRhOwotICAgICAgICB0
aGlzLl9kaWRNYWluUmVzb3VyY2VMb2FkKCk7Ci0gICAgfSwKLQotICAgIGdldCBtYWluUmVzb3Vy
Y2VET01Db250ZW50VGltZSgpCi0gICAgewotICAgICAgICByZXR1cm4gdGhpcy5fbWFpblJlc291
cmNlRE9NQ29udGVudFRpbWU7Ci0gICAgfSwKLQotICAgIF9kb21Db250ZW50TG9hZGVkRXZlbnRG
aXJlZDogZnVuY3Rpb24oZXZlbnQpCi0gICAgewotICAgICAgICB0aGlzLl9tYWluUmVzb3VyY2VE
T01Db250ZW50VGltZSA9IGV2ZW50LmRhdGE7Ci0gICAgfSwKLQogICAgIGdldCBjYXRlZ29yaWVz
QnlJZCgpCiAgICAgewogICAgICAgICByZXR1cm4gdGhpcy5fYXVkaXRDYXRlZ29yaWVzQnlJZDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnku
anMgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0hBUkVudHJ5LmpzCmluZGV4
IDBjYjBmNDhjYjRlMmExMmIyMmQ2ZmEyOGI0MDRiNjMwMDdkZGM5YmUuLjBjMzNmNzc3MjdiYmQz
NDQxZDlhNjE4ZDM2OTg1OGQ4NDc3MTU1NDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvSEFSRW50cnkuanMKKysrIGIvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9IQVJFbnRyeS5qcwpAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zIGFyZQpAQCAtNDksOCArNDksNyBAQCBXZWJJbnNwZWN0b3IuSEFS
RW50cnkucHJvdG90eXBlID0gewogICAgICAqLwogICAgIGJ1aWxkOiBmdW5jdGlvbigpCiAgICAg
ewotICAgICAgICByZXR1cm4gewotICAgICAgICAgICAgcGFnZXJlZjogdGhpcy5fcmVzb3VyY2Uu
ZG9jdW1lbnRVUkwsCisgICAgICAgIHZhciBlbnRyeSA9ICB7CiAgICAgICAgICAgICBzdGFydGVk
RGF0ZVRpbWU6IG5ldyBEYXRlKHRoaXMuX3Jlc291cmNlLnN0YXJ0VGltZSAqIDEwMDApLAogICAg
ICAgICAgICAgdGltZTogV2ViSW5zcGVjdG9yLkhBUkVudHJ5Ll90b01pbGxpc2Vjb25kcyh0aGlz
Ll9yZXNvdXJjZS5kdXJhdGlvbiksCiAgICAgICAgICAgICByZXF1ZXN0OiB0aGlzLl9idWlsZFJl
cXVlc3QoKSwKQEAgLTU4LDYgKzU3LDEwIEBAIFdlYkluc3BlY3Rvci5IQVJFbnRyeS5wcm90b3R5
cGUgPSB7CiAgICAgICAgICAgICBjYWNoZTogeyB9LCAvLyBOb3Qgc3VwcG9ydGVkIHlldC4KICAg
ICAgICAgICAgIHRpbWluZ3M6IHRoaXMuX2J1aWxkVGltaW5ncygpCiAgICAgICAgIH07CisgICAg
ICAgIHZhciBwYWdlID0gV2ViSW5zcGVjdG9yLm5ldHdvcmtMb2cucGFnZUxvYWRGb3JSZXNvdXJj
ZSh0aGlzLl9yZXNvdXJjZSk7CisgICAgICAgIGlmIChwYWdlKQorICAgICAgICAgICAgZW50cnku
cGFnZXJlZiA9ICJwYWdlXyIgKyBwYWdlLmlkOworICAgICAgICByZXR1cm4gZW50cnk7CiAgICAg
fSwKIAogICAgIC8qKgpAQCAtMjUxLDExICsyNTQsMTEgQEAgV2ViSW5zcGVjdG9yLkhBUkVudHJ5
LnByb3RvdHlwZSA9IHsKICAgICB9LAogCiAgICAgLyoqCi0gICAgICogQHJldHVybiB7bnVtYmVy
fQorICAgICAqIEByZXR1cm4ge251bWJlcnx1bmRlZmluZWR9CiAgICAgICovCiAgICAgZ2V0IHJl
c3BvbnNlQ29tcHJlc3Npb24oKQogICAgIHsKLSAgICAgICAgaWYgKHRoaXMuX3Jlc291cmNlLmNh
aGNlZCB8fCB0aGlzLl9yZXNvdXJjZS5zdGF0dXNDb2RlID09PSAzMDQpCisgICAgICAgIGlmICh0
aGlzLl9yZXNvdXJjZS5jYWNoZWQgfHwgdGhpcy5fcmVzb3VyY2Uuc3RhdHVzQ29kZSA9PT0gMzA0
KQogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICByZXR1cm4gdGhpcy5fcmVzb3VyY2UucmVz
b3VyY2VTaXplIC0gKHRoaXMuX3Jlc291cmNlLnRyYW5zZmVyU2l6ZSAtIHRoaXMuX3Jlc291cmNl
LnJlc3BvbnNlSGVhZGVyc1NpemUpOwogICAgIH0KQEAgLTMwMywyNCArMzA2LDMyIEBAIFdlYklu
c3BlY3Rvci5IQVJMb2cucHJvdG90eXBlID0gewogICAgICAqLwogICAgIF9idWlsZFBhZ2VzOiBm
dW5jdGlvbigpCiAgICAgewotICAgICAgICByZXR1cm4gWwotICAgICAgICAgICAgewotICAgICAg
ICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZTogbmV3IERhdGUoV2ViSW5zcGVjdG9yLm5ldHdvcmtM
b2cubWFpblJlc291cmNlU3RhcnRUaW1lICogMTAwMCksCi0gICAgICAgICAgICAgICAgaWQ6IFdl
Ykluc3BlY3Rvci5pbnNwZWN0ZWRQYWdlVVJMLAotICAgICAgICAgICAgICAgIHRpdGxlOiAiIiwK
LSAgICAgICAgICAgICAgICBwYWdlVGltaW5nczogdGhpcy5idWlsZE1haW5SZXNvdXJjZVRpbWlu
Z3MoKQotICAgICAgICAgICAgfQotICAgICAgICBdOworICAgICAgICB2YXIgc2VlbklkZW50aWZp
ZXJzID0ge307CisgICAgICAgIHZhciBwYWdlcyA9IFtdOworICAgICAgICBmb3IgKHZhciBpID0g
MDsgaSA8IHRoaXMuX3Jlc291cmNlcy5sZW5ndGg7ICsraSkgeworICAgICAgICAgICAgdmFyIHBh
Z2UgPSBXZWJJbnNwZWN0b3IubmV0d29ya0xvZy5wYWdlTG9hZEZvclJlc291cmNlKHRoaXMuX3Jl
c291cmNlc1tpXSk7CisgICAgICAgICAgICBpZiAoIXBhZ2UgfHwgc2VlbklkZW50aWZpZXJzW3Bh
Z2UuaWRdKQorICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAgc2VlbklkZW50
aWZpZXJzW3BhZ2UuaWRdID0gdHJ1ZTsKKyAgICAgICAgICAgIHBhZ2VzLnB1c2godGhpcy5fY29u
dmVydFBhZ2UocGFnZSkpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBwYWdlczsKICAgICB9
LAogCiAgICAgLyoqCisgICAgICogQHBhcmFtIHtXZWJJbnNwZWN0b3IuUGFnZUxvYWR9IHBhZ2UK
ICAgICAgKiBAcmV0dXJuIHtPYmplY3R9CiAgICAgICovCi0gICAgYnVpbGRNYWluUmVzb3VyY2VU
aW1pbmdzOiBmdW5jdGlvbigpCisgICAgX2NvbnZlcnRQYWdlOiBmdW5jdGlvbihwYWdlKQogICAg
IHsKICAgICAgICAgcmV0dXJuIHsKLSAgICAgICAgICAgICBvbkNvbnRlbnRMb2FkOiB0aGlzLl9w
YWdlRXZlbnRUaW1lKFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2VET01Db250ZW50VGltZSksCi0g
ICAgICAgICAgICAgb25Mb2FkOiB0aGlzLl9wYWdlRXZlbnRUaW1lKFdlYkluc3BlY3Rvci5tYWlu
UmVzb3VyY2VMb2FkVGltZSksCisgICAgICAgICAgICBzdGFydGVkRGF0ZVRpbWU6IG5ldyBEYXRl
KHBhZ2Uuc3RhcnRUaW1lICogMTAwMCksCisgICAgICAgICAgICBpZDogInBhZ2VfIiArIHBhZ2Uu
aWQsCisgICAgICAgICAgICB0aXRsZTogcGFnZS51cmwsIC8vIFdlIGRvbid0IGhhdmUgYWN0dWFs
IHBhZ2UgdGl0bGUgaGVyZS4gVVJMIGlzIHByb2JhYmx5IGJldHRlciB0aGFuIG5vdGhpbmcuCisg
ICAgICAgICAgICBwYWdlVGltaW5nczogeworICAgICAgICAgICAgICAgIG9uQ29udGVudExvYWQ6
IHRoaXMuX3BhZ2VFdmVudFRpbWUocGFnZSwgcGFnZS5jb250ZW50TG9hZFRpbWUpLAorICAgICAg
ICAgICAgICAgIG9uTG9hZDogdGhpcy5fcGFnZUV2ZW50VGltZShwYWdlLCBwYWdlLmxvYWRUaW1l
KQorICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfSwKIApAQCAtMzM0LDEyICszNDUsMTMg
QEAgV2ViSW5zcGVjdG9yLkhBUkxvZy5wcm90b3R5cGUgPSB7CiAgICAgfSwKIAogICAgIC8qKgor
ICAgICAqIEBwYXJhbSB7V2ViSW5zcGVjdG9yLlBhZ2VMb2FkfSBwYWdlCiAgICAgICogQHBhcmFt
IHtudW1iZXJ9IHRpbWUKICAgICAgKiBAcmV0dXJuIHtudW1iZXJ9CiAgICAgICovCi0gICAgX3Bh
Z2VFdmVudFRpbWU6IGZ1bmN0aW9uKHRpbWUpCisgICAgX3BhZ2VFdmVudFRpbWU6IGZ1bmN0aW9u
KHBhZ2UsIHRpbWUpCiAgICAgewotICAgICAgICB2YXIgc3RhcnRUaW1lID0gV2ViSW5zcGVjdG9y
Lm1haW5SZXNvdXJjZVN0YXJ0VGltZTsKKyAgICAgICAgdmFyIHN0YXJ0VGltZSA9IHBhZ2Uuc3Rh
cnRUaW1lOwogICAgICAgICBpZiAodGltZSA9PT0gLTEgfHwgc3RhcnRUaW1lID09PSAtMSkKICAg
ICAgICAgICAgIHJldHVybiAtMTsKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5IQVJFbnRy
eS5fdG9NaWxsaXNlY29uZHModGltZSAtIHN0YXJ0VGltZSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtMb2cuanMgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL05ldHdvcmtMb2cuanMKaW5kZXggOTlhYjIwMzU0NTVlZDZj
MTgxZGNiNjU3MmE4YTg0Y2FmNjIyZTc2MS4uM2NiMTY0ZTI0MzcxM2FjNDA2MTE4MTMzMTNkZjky
Mjg4N2M1MTA5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVu
ZC9OZXR3b3JrTG9nLmpzCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
TmV0d29ya0xvZy5qcwpAQCAtMzQsOSArMzQsMTAgQEAKIFdlYkluc3BlY3Rvci5OZXR3b3JrTG9n
ID0gZnVuY3Rpb24oKQogewogICAgIHRoaXMuX3Jlc291cmNlcyA9IFtdOwotICAgIHRoaXMuX21h
aW5SZXNvdXJjZVN0YXJ0VGltZSA9IG51bGw7CiAgICAgV2ViSW5zcGVjdG9yLm5ldHdvcmtNYW5h
Z2VyLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVjdG9yLk5ldHdvcmtNYW5hZ2VyLkV2ZW50VHlw
ZXMuUmVzb3VyY2VTdGFydGVkLCB0aGlzLl9vblJlc291cmNlU3RhcnRlZCwgdGhpcyk7Ci0gICAg
V2ViSW5zcGVjdG9yLnJlc291cmNlVHJlZU1vZGVsLmFkZEV2ZW50TGlzdGVuZXIoV2ViSW5zcGVj
dG9yLlJlc291cmNlVHJlZU1vZGVsLkV2ZW50VHlwZXMuTWFpbkZyYW1lTmF2aWdhdGVkLCB0aGlz
Ll9tYWluRnJhbWVOYXZpZ2F0ZWQsIHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRy
ZWVNb2RlbC5hZGRFdmVudExpc3RlbmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5F
dmVudFR5cGVzLk1haW5GcmFtZU5hdmlnYXRlZCwgdGhpcy5fb25NYWluRnJhbWVOYXZpZ2F0ZWQs
IHRoaXMpOworICAgIFdlYkluc3BlY3Rvci5yZXNvdXJjZVRyZWVNb2RlbC5hZGRFdmVudExpc3Rl
bmVyKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLk9uTG9hZCwgdGhp
cy5fb25Mb2FkLCB0aGlzKTsKKyAgICBXZWJJbnNwZWN0b3IucmVzb3VyY2VUcmVlTW9kZWwuYWRk
RXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlTW9kZWwuRXZlbnRUeXBlcy5E
T01Db250ZW50TG9hZGVkLCB0aGlzLl9vbkRPTUNvbnRlbnRMb2FkZWQsIHRoaXMpOwogfQogCiBX
ZWJJbnNwZWN0b3IuTmV0d29ya0xvZy5wcm90b3R5cGUgPSB7CkBAIC00OSwyOCArNTAsMzAgQEAg
V2ViSW5zcGVjdG9yLk5ldHdvcmtMb2cucHJvdG90eXBlID0gewogICAgIH0sCiAKICAgICAvKioK
LSAgICAgKiBAcmV0dXJuIHs/RGF0ZX0KKyAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZXNv
dXJjZX0gcmVzb3VyY2UKKyAgICAgKiBAcmV0dXJuIHtXZWJJbnNwZWN0b3IuUGFnZUxvYWR9CiAg
ICAgICovCi0gICAgZ2V0IG1haW5SZXNvdXJjZVN0YXJ0VGltZSgpCisgICAgcGFnZUxvYWRGb3JS
ZXNvdXJjZTogZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgewotICAgICAgICByZXR1cm4gdGhpcy5f
bWFpblJlc291cmNlU3RhcnRUaW1lOworICAgICAgICByZXR1cm4gcmVzb3VyY2UuX19wYWdlOwog
ICAgIH0sCiAKICAgICAvKioKICAgICAgKiBAcGFyYW0ge1dlYkluc3BlY3Rvci5FdmVudH0gZXZl
bnQKICAgICAgKi8KLSAgICBfbWFpbkZyYW1lTmF2aWdhdGVkOiBmdW5jdGlvbihldmVudCkKKyAg
ICBfb25NYWluRnJhbWVOYXZpZ2F0ZWQ6IGZ1bmN0aW9uKGV2ZW50KQogICAgIHsKICAgICAgICAg
dmFyIG1haW5GcmFtZSA9IC8qKiB0eXBlIHtXZWJJbnNwZWN0b3IuUmVzb3VyY2VUcmVlRnJhbWV9
ICovIGV2ZW50LmRhdGE7Ci0gICAgICAgIHRoaXMuX21haW5SZXNvdXJjZVN0YXJ0VGltZSA9IG51
bGw7CiAgICAgICAgIC8vIFByZXNlcnZlIHJlc291cmNlcyBmcm9tIHRoZSBuZXcgc2Vzc2lvbi4K
KyAgICAgICAgdGhpcy5fY3VycmVudFBhZ2VMb2FkID0gbnVsbDsKICAgICAgICAgdmFyIG9sZFJl
c291cmNlcyA9IHRoaXMuX3Jlc291cmNlcy5zcGxpY2UoMCwgdGhpcy5fcmVzb3VyY2VzLmxlbmd0
aCk7CiAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgb2xkUmVzb3VyY2VzLmxlbmd0aDsgKytp
KSB7CiAgICAgICAgICAgICB2YXIgcmVzb3VyY2UgPSBvbGRSZXNvdXJjZXNbaV07CiAgICAgICAg
ICAgICBpZiAocmVzb3VyY2UubG9hZGVySWQgPT09IG1haW5GcmFtZS5sb2FkZXJJZCkgewotICAg
ICAgICAgICAgICAgIGlmICghdGhpcy5fbWFpblJlc291cmNlU3RhcnRUaW1lICYmIG1haW5GcmFt
ZS51cmwgPT09IHJlc291cmNlLnVybCkKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5fbWFpblJl
c291cmNlU3RhcnRUaW1lID0gcmVzb3VyY2Uuc3RhcnRUaW1lOworICAgICAgICAgICAgICAgIGlm
ICghdGhpcy5fY3VycmVudFBhZ2VMb2FkKQorICAgICAgICAgICAgICAgICAgICB0aGlzLl9jdXJy
ZW50UGFnZUxvYWQgPSBuZXcgV2ViSW5zcGVjdG9yLlBhZ2VMb2FkKHJlc291cmNlKTsKICAgICAg
ICAgICAgICAgICB0aGlzLl9yZXNvdXJjZXMucHVzaChyZXNvdXJjZSk7CisgICAgICAgICAgICAg
ICAgcmVzb3VyY2UuX19wYWdlID0gdGhpcy5fY3VycmVudFBhZ2VMb2FkOwogICAgICAgICAgICAg
fQogICAgICAgICB9CiAgICAgfSwKQEAgLTgyLDEwICs4NSw0MyBAQCBXZWJJbnNwZWN0b3IuTmV0
d29ya0xvZy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICB2YXIgcmVzb3VyY2UgPSAvKiog
QHR5cGUge1dlYkluc3BlY3Rvci5SZXNvdXJjZX0gKi8gZXZlbnQuZGF0YTsKICAgICAgICAgdGhp
cy5fcmVzb3VyY2VzLnB1c2gocmVzb3VyY2UpOwotICAgIH0KKyAgICAgICAgcmVzb3VyY2UuX19w
YWdlID0gdGhpcy5fY3VycmVudFBhZ2VMb2FkOworICAgIH0sCisKKyAgICAvKioKKyAgICAgKiBA
cGFyYW0ge1dlYkluc3BlY3Rvci5FdmVudH0gZXZlbnQKKyAgICAgKi8KKyAgICBfb25ET01Db250
ZW50TG9hZGVkOiBmdW5jdGlvbihldmVudCkKKyAgICB7CisgICAgICAgIGlmICh0aGlzLl9jdXJy
ZW50UGFnZUxvYWQpCisgICAgICAgICAgICB0aGlzLl9jdXJyZW50UGFnZUxvYWQuY29udGVudExv
YWRUaW1lID0gZXZlbnQuZGF0YTsKKyAgICB9LAorCisgICAgLyoqCisgICAgICogQHBhcmFtIHtX
ZWJJbnNwZWN0b3IuRXZlbnR9IGV2ZW50CisgICAgICovCisgICAgX29uTG9hZDogZnVuY3Rpb24o
ZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fY3VycmVudFBhZ2VMb2FkKQorICAgICAg
ICAgICAgdGhpcy5fY3VycmVudFBhZ2VMb2FkLmxvYWRUaW1lID0gZXZlbnQuZGF0YTsKKyAgICB9
LAorCiB9CiAKIC8qKgogICogQHR5cGUge1dlYkluc3BlY3Rvci5OZXR3b3JrTG9nfQogICovCiBX
ZWJJbnNwZWN0b3IubmV0d29ya0xvZyA9IG51bGw7CisKKy8qKgorICogQGNvbnN0cnVjdG9yCisg
KiBAcGFyYW0ge1dlYkluc3BlY3Rvci5SZXNvdXJjZX0gbWFpblJlc291cmNlCisgKi8KK1dlYklu
c3BlY3Rvci5QYWdlTG9hZCA9IGZ1bmN0aW9uKG1haW5SZXNvdXJjZSkKK3sKKyAgICB0aGlzLmlk
ID0gKytXZWJJbnNwZWN0b3IuUGFnZUxvYWQuX2xhc3RJZGVudGlmaWVyOworICAgIHRoaXMudXJs
ID0gbWFpblJlc291cmNlLnVybDsKKyAgICB0aGlzLnN0YXJ0VGltZSA9IG1haW5SZXNvdXJjZS5z
dGFydFRpbWU7Cit9CisKK1dlYkluc3BlY3Rvci5QYWdlTG9hZC5fbGFzdElkZW50aWZpZXIgPSAw
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJj
ZVRyZWVNb2RlbC5qcyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3Vy
Y2VUcmVlTW9kZWwuanMKaW5kZXggZDM0MjI5ZWNjYmViMzEwZjhlZmUzMGYwZmRhM2ZmNzk5NWMw
ZmFlZC4uZWRjNWViZThiYzA5MmIxNzM4ZjFiYjEwYTQ5ZDYxZDgxNDc3OWI0MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVRyZWVNb2RlbC5q
cworKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVHJlZU1v
ZGVsLmpzCkBAIC02MTMsMTcgKzYxMywxMSBAQCBXZWJJbnNwZWN0b3IuUGFnZURpc3BhdGNoZXIu
cHJvdG90eXBlID0gewogICAgIGRvbUNvbnRlbnRFdmVudEZpcmVkOiBmdW5jdGlvbih0aW1lKQog
ICAgIHsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwuZGlzcGF0Y2hFdmVudFRvTGlz
dGVuZXJzKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVzLkRPTUNvbnRl
bnRMb2FkZWQsIHRpbWUpOwotCi0gICAgICAgIC8vIEZJWE1FOiB0aGUgb25seSBjbGllbnQgaXMg
SEFSLCBmaXggaXQgdGhlcmUuCi0gICAgICAgIFdlYkluc3BlY3Rvci5tYWluUmVzb3VyY2VET01D
b250ZW50VGltZSA9IHRpbWU7CiAgICAgfSwKIAogICAgIGxvYWRFdmVudEZpcmVkOiBmdW5jdGlv
bih0aW1lKQogICAgIHsKICAgICAgICAgdGhpcy5fcmVzb3VyY2VUcmVlTW9kZWwuZGlzcGF0Y2hF
dmVudFRvTGlzdGVuZXJzKFdlYkluc3BlY3Rvci5SZXNvdXJjZVRyZWVNb2RlbC5FdmVudFR5cGVz
Lk9uTG9hZCwgdGltZSk7Ci0KLSAgICAgICAgLy8gRklYTUU6IHRoZSBvbmx5IGNsaWVudCBpcyBI
QVIsIGZpeCBpdCB0aGVyZS4KLSAgICAgICAgV2ViSW5zcGVjdG9yLm1haW5SZXNvdXJjZUxvYWRU
aW1lID0gdGltZTsKICAgICB9LAogCiAgICAgZnJhbWVOYXZpZ2F0ZWQ6IGZ1bmN0aW9uKGZyYW1l
KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDQ3ZDBjOWNmODRhYzhiYjBhNWJkNWEyYWU4YTQ2ZjYyNTE1OTUxYjguLmZiYTM3
YjYwM2UxOTQ3YzFjZTdjNzBiOTE0NzU4NTEzMDc0NmYxY2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBA
QAorMjAxMi0wMS0yMCAgQW5kcmV5IEtvc3lha292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFdlYiBJbnNwZWN0b3I6IEhBUiBwYWdlcmVmIGF0dHJpYnV0ZXMgYXJlIHdyb25nIGFu
ZCBpbmNvbnNpc3RlbnQgd2l0aCBwYWdlcyBhcnJheQorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIGh0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhh
ci1oZWFkZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBodHRwL3Rlc3RzL2luc3BlY3Rvci9y
ZXNvdXJjZS1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItY29udmVyc2lvbi1leHBlY3Rl
ZC50eHQ6CisKIDIwMTItMDEtMjAgIEFsZXhpcyBNZW5hcmQgIDxhbGV4aXMubWVuYXJkQG9wZW5i
b3NzYS5vcmc+CiAKICAgICAgICAgW1F0XSBhbmltYXRpb25zIHRlc3RzIGZhaWxzIHdoaWNoIHVz
ZXMgc3VzcGVuZC9yZXN1bWUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5z
cGVjdG9yL3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0
dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1oZWFkZXJzLWV4cGVjdGVkLnR4dAppbmRl
eCAzODUwMTIxNjExZTI3NGI3ZmMwZDg1MTExMzU1ZDA4Y2YyZjliMmU0Li5kNjQ5NjFhYjJmNDMx
ZmY3MjQ1MTVhZTVmMWZkZDY4NDE2OGM1OGI3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9odHRw
L3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItaGVhZGVycy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWhlYWRlcnMtZXhw
ZWN0ZWQudHh0CkBAIC0xOSw3ICsxOSw2IEBAIFJlc291cmNlOnsKICAgICB9CiB9CiBIQVI6ewot
ICAgIHBhZ2VyZWYgOiAiaHR0cDovL2V4YW1wbGUuY29tL2luc3BlY3Rvci10ZXN0LmpzIgogICAg
IHN0YXJ0ZWREYXRlVGltZSA6IDxvYmplY3Q+CiAgICAgdGltZSA6IDxudW1iZXI+CiAgICAgcmVx
dWVzdCA6IHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jl
c291cmNlLWhhci1wYWdlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3Rlc3RzL2lu
c3BlY3Rvci9yZXNvdXJjZS1oYXItcGFnZXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2NWUy
ZGU2OTg1ZjNmOTVjZTU4M2ZiMWQ5ZjE4MzIwNDQ3NDMwNTYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1oYXItcGFnZXMtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMzEgQEAKK1Rlc3RzIGNvbnZlcnNpb24gb2YgSW5zcGVjdG9yJ3Mg
cmVzb3VyY2UgcmVwcmVzZW50YXRpb24gaW50byBIQVIgZm9ybWF0LgorCitQYWdlIHJlbG9hZGVk
LgoreworICAgIDAgOiB7CisgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6IDxwbGF1c2libGU+Cisg
ICAgICAgIGlkIDogPHN0cmluZz4KKyAgICAgICAgdGl0bGUgOiAiaHR0cDovLzEyNy4wLjAuMTo4
MDAwL3Jlc291cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1w
YWdlcy1uYXZpZ2F0aW9uLXRhcmdldC5odG1sIgorICAgICAgICBwYWdlVGltaW5ncyA6IHsKKyAg
ICAgICAgICAgIG9uQ29udGVudExvYWQgOiA8bnVtYmVyPgorICAgICAgICAgICAgb25Mb2FkIDog
PG51bWJlcj4KKyAgICAgICAgfQorICAgIH0KKyAgICAxIDogeworICAgICAgICBzdGFydGVkRGF0
ZVRpbWUgOiA8cGxhdXNpYmxlPgorICAgICAgICBpZCA6IDxzdHJpbmc+CisgICAgICAgIHRpdGxl
IDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLmh0
bWwiCisgICAgICAgIHBhZ2VUaW1pbmdzIDogeworICAgICAgICAgICAgb25Db250ZW50TG9hZCA6
IDxudW1iZXI+CisgICAgICAgICAgICBvbkxvYWQgOiA8bnVtYmVyPgorICAgICAgICB9CisgICAg
fQorfQorcGFnZTogcGFnZV8yIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9p
bnNwZWN0b3ItdGVzdC5qcworcGFnZTogcGFnZV8yIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAw
L2luc3BlY3Rvci9yZXNvdXJjZS1oYXItcGFnZXMuaHRtbAorcGFnZTogcGFnZV8yIHVybDogaHR0
cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMtdGVzdC5qcworcGFnZTogcGFn
ZV8xIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMvaGFyLXBh
Z2VzLWlmcmFtZS5odG1sCitwYWdlOiBwYWdlXzEgdXJsOiBodHRwOi8vMTI3LjAuMC4xOjgwMDAv
aW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJnZXQuaHRtbAorcGFn
ZTogcGFnZV8xIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL2luc3BlY3Rvci9yZXNvdXJjZXMv
c291cmNlMS5qcworcGFnZTogcGFnZV8xIHVybDogaHR0cDovLzEyNy4wLjAuMTo4MDAwL3Jlc291
cmNlcy9yZWRpcmVjdC5waHA/dXJsPS9pbnNwZWN0b3IvcmVzb3VyY2VzL2hhci1wYWdlcy1uYXZp
Z2F0aW9uLXRhcmdldC5odG1sCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvdGVzdHMv
aW5zcGVjdG9yL3Jlc291cmNlLWhhci1wYWdlcy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0cC90ZXN0
cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLXBhZ2VzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDhlMDc3OTYw
MTMzMjNlNWFhZjhjZTQyOTFhMDY2NTYzMGQyYmUwZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1wYWdlcy5odG1sCkBAIC0w
LDAgKzEsNjQgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSJpbnNwZWN0b3ItdGVzdC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzLXRl
c3QuanMiPjwvc2NyaXB0PgorCis8c2NyaXB0PgorCit2YXIgdGVzdCA9IGZ1bmN0aW9uKCkKK3sK
KyAgICBmdW5jdGlvbiBzdGVwMSgpCisgICAgeworICAgICAgICB2YXIgaGFkTmF2aWdhdGlvbiA9
IGZhbHNlOworCisgICAgICAgIGZ1bmN0aW9uIG9uUmVzb3VyY2VGaW5pc2hlZChldmVudCkKKyAg
ICAgICAgeworICAgICAgICAgICAgdmFyIHJlc291cmNlID0gZXZlbnQuZGF0YTsKKyAgICAgICAg
ICAgIGlmICgvXC9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJnZXRcLmh0bWwkLy50ZXN0KHJlc291
cmNlLnVybCkpCisgICAgICAgICAgICAgICAgaGFkTmF2aWdhdGlvbiA9IHRydWU7CisgICAgICAg
ICAgICBpZiAoaGFkTmF2aWdhdGlvbiAmJiAvXC9yZXNvdXJjZS1oYXItcGFnZXNcLmh0bWwkLy50
ZXN0KHJlc291cmNlLnVybCkpIHsKKyAgICAgICAgICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29y
a01hbmFnZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIu
RXZlbnRUeXBlcy5SZXNvdXJjZUZpbmlzaGVkLCBvblJlc291cmNlRmluaXNoZWQpCisgICAgICAg
ICAgICAgICAgc3RlcDIoKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICBXZWJJ
bnNwZWN0b3IuaW5zcGVjdG9yVmlldy5zZXRDdXJyZW50UGFuZWwoV2ViSW5zcGVjdG9yLnBhbmVs
cy5uZXR3b3JrKTsKKyAgICAgICAgdmFyIG5ldHdvcmtMb2dWaWV3ID0gV2ViSW5zcGVjdG9yLnBh
bmVscy5uZXR3b3JrLl9uZXR3b3JrTG9nVmlldzsKKyAgICAgICAgLy8gbmV0d29ya0xvZ1ZpZXcu
Y2xlYXIoKTsKKyAgICAgICAgbmV0d29ya0xvZ1ZpZXcuX3ByZXNlcnZlTG9nVG9nZ2xlLnRvZ2ds
ZWQgPSB0cnVlOworICAgICAgICBXZWJJbnNwZWN0b3IubmV0d29ya01hbmFnZXIuYWRkRXZlbnRM
aXN0ZW5lcihXZWJJbnNwZWN0b3IuTmV0d29ya01hbmFnZXIuRXZlbnRUeXBlcy5SZXNvdXJjZUZp
bmlzaGVkLCBvblJlc291cmNlRmluaXNoZWQpOworICAgICAgICBJbnNwZWN0b3JUZXN0LmV2YWx1
YXRlSW5QYWdlKCJsb2NhdGlvbi5ocmVmID0gJy9yZXNvdXJjZXMvcmVkaXJlY3QucGhwP3VybD0v
aW5zcGVjdG9yL3Jlc291cmNlcy9oYXItcGFnZXMtbmF2aWdhdGlvbi10YXJnZXQuaHRtbCc7Iik7
CisgICAgfQorCisgICAgZnVuY3Rpb24gc3RlcDIoKQorICAgIHsKKyAgICAgICAgdmFyIGxvZyA9
IChuZXcgV2ViSW5zcGVjdG9yLkhBUkxvZyhXZWJJbnNwZWN0b3IucGFuZWxzLm5ldHdvcmsuX25l
dHdvcmtMb2dWaWV3Ll9yZXNvdXJjZXMpKS5idWlsZCgpOworICAgICAgICBJbnNwZWN0b3JUZXN0
LmFkZE9iamVjdChsb2cucGFnZXMsIEluc3BlY3RvclRlc3QuSEFSUHJvcGVydHlGb3JtYXR0ZXJz
V2l0aFNpemUpOworCisgICAgICAgIC8vIEZpbHRlciBvdXQgZmF2aWNvbi5pY28gcmVxdWVzdHMg
dGhhdCBvbmx5IGFwcGVhciBvbiBjZXJ0YWluIHBsYXRmb3Jtcy4KKyAgICAgICAgbG9nLmVudHJp
ZXMgPSBsb2cuZW50cmllcy5maWx0ZXIoZnVuY3Rpb24oZW50cnkpIHsKKyAgICAgICAgICAgIHJl
dHVybiAhL2Zhdmljb25cLmljbyQvLnRlc3QoZW50cnkucmVxdWVzdC51cmwpOworICAgICAgICB9
KTsKKyAgICAgICAgbG9nLmVudHJpZXMuc29ydChJbnNwZWN0b3JUZXN0LnJlc291cmNlVVJMQ29t
cGFyZXIpOworICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxvZy5lbnRyaWVzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgICAgICB2YXIgZW50cnkgPSBsb2cuZW50cmllc1tpXTsKKyAgICAgICAg
ICAgIEluc3BlY3RvclRlc3QuYWRkUmVzdWx0KCJwYWdlOiAiICsgZW50cnkucGFnZXJlZiArICIg
dXJsOiAiICsgZW50cnkucmVxdWVzdC51cmwpOworICAgICAgICB9CisgICAgICAgIEluc3BlY3Rv
clRlc3QuY29tcGxldGVUZXN0KCk7CisgICAgfQorCisgICAgc3RlcDEoKTsKK30KKworPC9zY3Jp
cHQ+CisKKworPC9oZWFkPgorCis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKSI+Cis8cD4KK1Rlc3Rz
IGNvbnZlcnNpb24gb2YgSW5zcGVjdG9yJ3MgcmVzb3VyY2UgcmVwcmVzZW50YXRpb24gaW50byBI
QVIgZm9ybWF0LgorPC9wPgorCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNvdXJjZS1wYXJhbWV0ZXJzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXBhcmFtZXRlcnMt
ZXhwZWN0ZWQudHh0CmluZGV4IGMxZTA1ZmJmNTAwMWJiY2QwZDA4MjliYjk3MzQ5YmM5OTc5ZGJm
ODAuLjJmN2ZiZjRlZDQ1NDI0ZTEyZWViYzVjYmZkODIxYTQ5N2UyZGIyMjYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLXBhcmFtZXRlcnMtZXhw
ZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNl
LXBhcmFtZXRlcnMtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNiBAQCBUZXN0cyB0aGF0IHJlc291
cmNlcyBwYW5lbCBzaG93cyBmb3JtIGRhdGEgcGFyYW1ldGVycy4KICAgCiAKIHsKLSAgICBwYWdl
cmVmIDogImh0dHA6Ly9sb2NhbGhvc3Q6ODAwMC9pbnNwZWN0b3IvcmVzb3VyY2VzL3Bvc3QtdGFy
Z2V0LmNnaT9xdWVyeVBhcmFtMT1xdWVyeVZhbHVlMSZxdWVyeVBhcmFtMj0jZnJhZ21lbnRQYXJh
bTE9ZnJhZ21lbnRWYWx1ZTEmZnJhZ21lbnRQYXJhbTI9IgogICAgIHN0YXJ0ZWREYXRlVGltZSA6
IDxwbGF1c2libGU+CiAgICAgdGltZSA6IDxudW1iZXI+CiAgICAgcmVxdWVzdCA6IHsKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvaW5zcGVjdG9y
L3Jlc291cmNlLWhhci1jb252ZXJzaW9uLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2h0dHAvdGVzdHMvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9u
LWV4cGVjdGVkLnR4dAppbmRleCBlZGQ1MTc0ZDRiOThhZmVjNTA3YThjODJlZmMyZGI3YTRkYmIw
MTU2Li44ZDMzZTU3OGEzMGNiYWE1YmU1MmExMWNiMzFkMTlmY2M3NTY4ZDJlIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9odHRwL3Rlc3RzL2luc3BlY3Rvci9yZXNv
dXJjZS1oYXItY29udmVyc2lvbi1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vaHR0cC90ZXN0cy9pbnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24t
ZXhwZWN0ZWQudHh0CkBAIC0xMSw3ICsxMSw3IEBAIFBhZ2UgcmVsb2FkZWQuCiAgICAgICAgIHsK
ICAgICAgICAgICAgIHN0YXJ0ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CiAgICAgICAgICAgICBp
ZCA6IDxzdHJpbmc+Ci0gICAgICAgICAgICB0aXRsZSA6ICIiCisgICAgICAgICAgICB0aXRsZSA6
ICJodHRwOi8vMTI3LjAuMC4xOjgwMDAvaW5zcGVjdG9yL3Jlc291cmNlLWhhci1jb252ZXJzaW9u
Lmh0bWwiCiAgICAgICAgICAgICBwYWdlVGltaW5ncyA6IHsKICAgICAgICAgICAgICAgICBvbkNv
bnRlbnRMb2FkIDogPG51bWJlcj4KICAgICAgICAgICAgICAgICBvbkxvYWQgOiA8bnVtYmVyPgpA
QCAtMjAsNyArMjAsNiBAQCBQYWdlIHJlbG9hZGVkLgogICAgIF0KICAgICBlbnRyaWVzIDogWwog
ICAgICAgICB7Ci0gICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0
ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAg
ICAgICAgICAgIHJlcXVlc3QgOiB7CkBAIC0xMDcsOSArMTA2LDkgQEAgUGFnZSByZWxvYWRlZC4K
ICAgICAgICAgICAgIGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5n
cyA6IDxvYmplY3Q+CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQog
ICAgICAgICB7Ci0gICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0
ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAg
ICAgICAgICAgIHJlcXVlc3QgOiB7CkBAIC0xNDMsOSArMTQyLDkgQEAgUGFnZSByZWxvYWRlZC4K
ICAgICAgICAgICAgIGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5n
cyA6IDxvYmplY3Q+CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQog
ICAgICAgICB7Ci0gICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0
ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAg
ICAgICAgICAgIHJlcXVlc3QgOiB7CkBAIC0xNzgsOSArMTc3LDkgQEAgUGFnZSByZWxvYWRlZC4K
ICAgICAgICAgICAgIGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5n
cyA6IDxvYmplY3Q+CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQog
ICAgICAgICB7Ci0gICAgICAgICAgICBwYWdlcmVmIDogImh0dHA6Ly8xMjcuMC4wLjE6ODAwMC9p
bnNwZWN0b3IvcmVzb3VyY2UtaGFyLWNvbnZlcnNpb24uaHRtbCIKICAgICAgICAgICAgIHN0YXJ0
ZWREYXRlVGltZSA6IDxwbGF1c2libGU+CiAgICAgICAgICAgICB0aW1lIDogPG51bWJlcj4KICAg
ICAgICAgICAgIHJlcXVlc3QgOiB7CkBAIC0yMTgsNiArMjE3LDcgQEAgUGFnZSByZWxvYWRlZC4K
ICAgICAgICAgICAgIGNhY2hlIDogewogICAgICAgICAgICAgfQogICAgICAgICAgICAgdGltaW5n
cyA6IDxvYmplY3Q+CisgICAgICAgICAgICBwYWdlcmVmIDogInBhZ2VfMSIKICAgICAgICAgfQog
ICAgIF0KIH0K
</data>
<flag name="review"
          id="124362"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>