<?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>199054</bug_id>
          
          <creation_ts>2019-06-19 19:00:26 -0700</creation_ts>
          <short_desc>[perf.webkit.org] When calculating a ratio for the summary page, use a rolling window for last available data instead of only the last available data point</short_desc>
          <delta_ts>2019-06-20 14:45:47 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>LATER</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Johnson">dean_johnson</reporter>
          <assigned_to name="Dean Johnson">dean_johnson</assigned_to>
          <cc>dean_johnson</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>rniwa</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1546366</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 19:00:26 -0700</bug_when>
    <thetext>Right now when calculating a ratio for the summary page, we do the following:
current = &quot;last 24 hours of non-baseline data&quot; if any data exists in the last 24 hours, otherwise &quot;last available data point&quot;
baseline = &quot;last 24 hours of baseline data&quot; if any data exists in the last 24 hours, otherwise &quot;last available data point&quot;
ratio = (median(current) / median(baseline))

Since we set the &quot;last 24 hours&quot; window to the current time, and it can take hours between a commit landing, build products becoming available, and testing to occur, this 24 hour window will always have a margin that contains no data to evaluate. Additionally, using only a single data point when no data is available in the past 24 hours can lead to misrepresented results due to a single outlier run before a configuration stopped producing results.

I propose that we change the calculation to:
current = &quot;last 24 hours of non-baseline data since the last available data point&quot;
baseline = &quot;last 24 hours of baseline data since the last available data point&quot;
ratio = (median(current) / median(baseline))

Overall, I think this should improve the analysis of data when representing results on Summary pages, since it will take more data points into account.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546367</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 19:00:47 -0700</bug_when>
    <thetext>&lt;rdar://problem/51763999&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546432</commentid>
    <comment_count>2</comment_count>
      <attachid>372534</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 22:56:21 -0700</bug_when>
    <thetext>Created attachment 372534
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546433</commentid>
    <comment_count>3</comment_count>
      <attachid>372535</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 22:56:54 -0700</bug_when>
    <thetext>Created attachment 372535
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546436</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 23:06:36 -0700</bug_when>
    <thetext>Uploaded patches are incorrect due to https://bugs.webkit.org/show_bug.cgi?id=199058.

Uploading new patch soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546444</commentid>
    <comment_count>5</comment_count>
      <attachid>372541</attachid>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 23:11:32 -0700</bug_when>
    <thetext>Created attachment 372541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546445</commentid>
    <comment_count>6</comment_count>
    <who name="Dean Johnson">dean_johnson</who>
    <bug_when>2019-06-19 23:15:18 -0700</bug_when>
    <thetext>Spoke with Ryosuke in-person about this. There&apos;s another downside I did not consider initially - this change would make it even more difficult to explain how perf-safari is doing its calculations for Summary pages / understand exactly how a number was calculated.

Because we&apos;re already making changes to the summary page calculations in https://bugs.webkit.org/show_bug.cgi?id=199050, we will hold off on this patch until we have stronger evidence something like it is needed. As it stands, I do not feel strongly about landing it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1546665</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2019-06-20 14:45:47 -0700</bug_when>
    <thetext>Resolving this as Later for now. We can reopen it once we decide this is useful.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372534</attachid>
            <date>2019-06-19 22:56:21 -0700</date>
            <delta_ts>2019-06-19 22:56:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199054-20190619225621.patch</filename>
            <type>text/plain</type>
            <size>3778</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjEyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCA4NWVmNDExNDJlZWY2NjY3OWJlZmUyMzZiODVmZGFkNDU1OTg3MTEzLi5hMDhjMGNjYTll
ZjU1YzlmOTQzMGY2NjQ1MWEzZDFlNTVmOTc5MzhhIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxOS0wNi0xOSAgRGVhbiBKb2huc29uICA8ZGVhbl9q
b2huc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbcGVyZi53ZWJraXQub3JnXSBVcGRhdGUgc3Vt
bWFyeSBwYWdlIGNhbGN1bGF0aW9ucyB0byB1c2UgbWVhbiBpbnN0ZWFkIG9mIG1lZGlhbgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDUwCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwdWJsaWMvdjMv
cGFnZXMvc3VtbWFyeS1wYWdlLmpzOgorICAgICAgICAoU3VtbWFyeVBhZ2VDb25maWd1cmF0aW9u
R3JvdXApOiBVcGRhdGVkICdtZWRpYW4nIHJlZmVyZW5jZXMgdG8gJ21lYW4nLgorICAgICAgICAo
U3VtbWFyeVBhZ2VDb25maWd1cmF0aW9uR3JvdXAuc2V0IF9zdGFydEFuZEVuZFBvaW50Rm9yVGlt
ZVJhbmdlKTogRmFjdG9yZWQgb3V0IGxvZ2ljIGZvciBmaW5kaW5nIGRhdGEKKyAgICAgICAgcG9p
bnRzIGluIGEgdGltZVNlcmllcywgd2l0aGluIGEgc3BlY2lmaWVkIHRpbWVSYW5nZS4KKyAgICAg
ICAgKFN1bW1hcnlQYWdlQ29uZmlndXJhdGlvbkdyb3VwLnNldCBfbWVhbkZvclRpbWVSYW5nZSk6
IE5ldy4gU2FtZSBhcyBfbWVkaWFuRm9yVGltZVJhYW5nZSwgYnV0IHVzZXMKKyAgICAgICAgU3Rh
dGlzdGljcy5tZWFuLgorICAgICAgICAoU3VtbWFyeVBhZ2VDb25maWd1cmF0aW9uR3JvdXAuc2V0
IF9tZWRpYW5Gb3JUaW1lUmFuZ2UpOgorCiAyMDE5LTA2LTE3ICBEZXdlaSBaaHUgIDxkZXdlaV96
aHVAYXBwbGUuY29tPgogCiAgICAgICAgIEN1c3RvbWl6YWJsZSB0ZXN0IGdyb3VwIGZvcm0gc2hv
dWxkIGFsbG93IHVzZXIgdG8gc3VwcGx5IGEgcmV2aXNpb24gcHJlZml4IG9mIGEgY29tbWl0IGFu
ZCByZXZpc2lvbiBzdGFydHMgd2l0aCAncicuCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL3N1bW1hcnktcGFnZS5qcyBiL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvc3VtbWFyeS1wYWdlLmpzCmluZGV4IDA1YzYwMTMx
NGUxZGU1N2JmYzA3YTYzOTVjNjI5MDlkMTAzMTQ4YWMuLjA4OWVkOTgyZDdiMDc0ZTQ1ZmUxYjYw
YzJlYjVjMTU0NjljMzdiMzEgMTAwNjQ0Ci0tLSBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9w
dWJsaWMvdjMvcGFnZXMvc3VtbWFyeS1wYWdlLmpzCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvcGFnZXMvc3VtbWFyeS1wYWdlLmpzCkBAIC0zNDYsMjEgKzM0NiwyMSBA
QCBjbGFzcyBTdW1tYXJ5UGFnZUNvbmZpZ3VyYXRpb25Hcm91cCB7CiAgICAgICAgICAgICB2YXIg
YmFzZWxpbmVUaW1lU2VyaWVzID0gc2V0LmZldGNoZWRUaW1lU2VyaWVzKCdiYXNlbGluZScsIGZh
bHNlLCBmYWxzZSk7CiAgICAgICAgICAgICB2YXIgY3VycmVudFRpbWVTZXJpZXMgPSBzZXQuZmV0
Y2hlZFRpbWVTZXJpZXMoJ2N1cnJlbnQnLCBmYWxzZSwgZmFsc2UpOwogCi0gICAgICAgICAgICB2
YXIgYmFzZWxpbmVNZWRpYW4gPSBTdW1tYXJ5UGFnZUNvbmZpZ3VyYXRpb25Hcm91cC5fbWVkaWFu
Rm9yVGltZVJhbmdlKGJhc2VsaW5lVGltZVNlcmllcywgdGltZVJhbmdlKTsKLSAgICAgICAgICAg
IHZhciBjdXJyZW50TWVkaWFuID0gU3VtbWFyeVBhZ2VDb25maWd1cmF0aW9uR3JvdXAuX21lZGlh
bkZvclRpbWVSYW5nZShjdXJyZW50VGltZVNlcmllcywgdGltZVJhbmdlKTsKKyAgICAgICAgICAg
IHZhciBiYXNlbGluZU1lYW4gPSBTdW1tYXJ5UGFnZUNvbmZpZ3VyYXRpb25Hcm91cC5fbWVhbkZv
clRpbWVSYW5nZShiYXNlbGluZVRpbWVTZXJpZXMsIHRpbWVSYW5nZSk7CisgICAgICAgICAgICB2
YXIgY3VycmVudE1lYW4gPSBTdW1tYXJ5UGFnZUNvbmZpZ3VyYXRpb25Hcm91cC5fbWVhbkZvclRp
bWVSYW5nZShjdXJyZW50VGltZVNlcmllcywgdGltZVJhbmdlKTsKICAgICAgICAgICAgIHZhciBw
bGF0Zm9ybSA9IFBsYXRmb3JtLmZpbmRCeUlkKHNldC5wbGF0Zm9ybUlkKCkpOwotICAgICAgICAg
ICAgaWYgKCFjdXJyZW50TWVkaWFuKQorICAgICAgICAgICAgaWYgKCFjdXJyZW50TWVhbikKICAg
ICAgICAgICAgICAgICBzZWxmLl9taXNzaW5nUGxhdGZvcm1zLmFkZChwbGF0Zm9ybSk7Ci0gICAg
ICAgICAgICBlbHNlIGlmICghYmFzZWxpbmVNZWRpYW4pCisgICAgICAgICAgICBlbHNlIGlmICgh
YmFzZWxpbmVNZWFuKQogICAgICAgICAgICAgICAgIHNlbGYuX3BsYXRmb3Jtc1dpdGhvdXRCYXNl
bGluZS5hZGQocGxhdGZvcm0pOwogCi0gICAgICAgICAgICBzZXRUb1JhdGlvLnNldChzZXQsIGN1
cnJlbnRNZWRpYW4gLyBiYXNlbGluZU1lZGlhbik7CisgICAgICAgICAgICBzZXRUb1JhdGlvLnNl
dChzZXQsIGN1cnJlbnRNZWFuIC8gYmFzZWxpbmVNZWFuKTsKICAgICAgICAgfSkuY2F0Y2goZnVu
Y3Rpb24gKCkgewogICAgICAgICAgICAgc2V0VG9SYXRpby5zZXQoc2V0LCBOYU4pOwogICAgICAg
ICB9KTsKICAgICB9CiAKLSAgICBzdGF0aWMgX21lZGlhbkZvclRpbWVSYW5nZSh0aW1lU2VyaWVz
LCB0aW1lUmFuZ2UpCisgICAgc3RhdGljIF9zdGFydEFuZEVuZFBvaW50Rm9yVGltZVJhbmdlKHRp
bWVTZXJpZXMsIHRpbWVSYW5nZSkKICAgICB7CiAgICAgICAgIGlmICghdGltZVNlcmllcy5maXJz
dFBvaW50KCkpCiAgICAgICAgICAgICByZXR1cm4gTmFOOwpAQCAtMzcxLDYgKzM3MSwxOCBAQCBj
bGFzcyBTdW1tYXJ5UGFnZUNvbmZpZ3VyYXRpb25Hcm91cCB7CiAgICAgICAgIGlmICghZW5kUG9p
bnQgfHwgc3RhcnRQb2ludCA9PSBhZnRlckVuZFBvaW50KQogICAgICAgICAgICAgZW5kUG9pbnQg
PSBhZnRlckVuZFBvaW50OwogCisgICAgICAgIHJldHVybiBbc3RhcnRQb2ludCwgZW5kUG9pbnRd
OworICAgIH0KKworICAgIHN0YXRpYyBfbWVkaWFuRm9yVGltZVJhbmdlKHRpbWVTZXJpZXMsIHRp
bWVSYW5nZSkKKyAgICB7CisgICAgICAgIHZhciBbc3RhcnRQb2ludCwgZW5kUG9pbnRdID0gU3Vt
bWFyeVBhZ2VDb25maWd1cmF0aW9uR3JvdXAuX3N0YXJ0QW5kRW5kUG9pbnRGb3JUaW1lUmFuZ2Uo
dGltZVNlcmllcywgdGltZVJhbmdlKTsKICAgICAgICAgcmV0dXJuIFN0YXRpc3RpY3MubWVkaWFu
KHRpbWVTZXJpZXMudmlld0JldHdlZW5Qb2ludHMoc3RhcnRQb2ludCwgZW5kUG9pbnQpLnZhbHVl
cygpKTsKICAgICB9CisKKyAgICBzdGF0aWMgX21lYW5Gb3JUaW1lUmFuZ2UodGltZVNlcmllcywg
dGltZVJhbmdlKQorICAgIHsKKyAgICAgICAgdmFyIFtzdGFydFBvaW50LCBlbmRQb2ludF0gPSBT
dW1tYXJ5UGFnZUNvbmZpZ3VyYXRpb25Hcm91cC5fc3RhcnRBbmRFbmRQb2ludEZvclRpbWVSYW5n
ZSh0aW1lU2VyaWVzLCB0aW1lUmFuZ2UpOworICAgICAgICByZXR1cm4gU3RhdGlzdGljcy5tZWFu
KHRpbWVTZXJpZXMudmlld0JldHdlZW5Qb2ludHMoc3RhcnRQb2ludCwgZW5kUG9pbnQpLnZhbHVl
cygpKTsKKyAgICB9CiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372535</attachid>
            <date>2019-06-19 22:56:54 -0700</date>
            <delta_ts>2019-06-19 23:07:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199054-20190619225653.patch</filename>
            <type>text/plain</type>
            <size>24682</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjEyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCBhMDhjMGNjYTllZjU1YzlmOTQzMGY2NjQ1MWEzZDFlNTVmOTc5MzhhLi4xYTQyYWIxOTlh
MGNmNGRkMzM5ZjlkMmZhZjUwMTNjYzJjYzM1MWY0IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSw2OSBAQAorMjAxOS0wNi0xOSAgRGVhbiBKb2huc29uICA8ZGVhbl9q
b2huc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbcGVyZi53ZWJraXQub3JnXSBBZGQgJ2JhY2sg
aW4gdGltZScgZmVhdHVyZSBmb3IgU3VtbWFyeSBwYWdlcworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5MDUxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBhZGRzIGEgIkJhY2sgaW4gdGltZSIgZmVh
dHVyZSBmb3IgYWxsIFN1bW1hcnkgcGFnZXMgb24gdGhlIFdlYktpdCBQZXJmIGRhc2hib2FyZC4g
VGhlcmUgaXMgYSBuZXcKKyAgICAgICAgc2xpZGVyIGluIHRoZSB0b3AgcmlnaHQgY29ybmVyIHdo
aWNoIGNhbiBiZSBkcmFnZ2VkIHRvIHZpZXcgdGhlIHN1bW1hcnkgcGFnZSAnTiBkYXlzIGFnbycu
IFRoZSBkZWZhdWx0IHZpZXcKKyAgICAgICAgaXMgdGhlIHNhbWUgYXMgYmVmb3JlLgorCisgICAg
ICAgICogcHVibGljL3YzL2luZGV4Lmh0bWw6IEFkZCBuZXcgcmVzb3VyY2VzOiBzbGlkZXItdG9v
bGJhci5qcywgc3VtbWFyeS10b29sYmFyLmpzLgorICAgICAgICAqIHB1YmxpYy92My9tYWluLmpz
OiBBZGQgbmV3IHN1bW1hcnlUb29sYmFyLCBhbmQgaW5pdGlhbGl6ZSBzdW1tYXJ5IHBhZ2VzIHdp
dGggaXQuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvY2hhcnRz
LXRvb2xiYXIuanM6IEFic3RyYWN0IHRoZSBzbGlkZXIgdG9vbGJhciBpbnRvIGEgbmV3IGNsYXNz
LCBhbmQgaW5oZXJpdCBmcm9tIGl0LgorICAgICAgICAoQ2hhcnRzVG9vbGJhcik6IE5vdywgQ2hh
cnRzVG9vbGJhciBpcyBhIG1vc3RseSB0aGluIHdyYXBwZXIgcm91bmQgU2xpZGVyVG9vbGJhciBh
bmQgaW1wbGVtZW50cyB0aGUgJ0FkZCBQYW5lJworICAgICAgICBidXR0b24gKyBmdW5jdGlvbmFs
aXR5LgorICAgICAgICAoQ2hhcnRzVG9vbGJhci5wcm90b3R5cGUucmVuZGVyKToKKyAgICAgICAg
KENoYXJ0c1Rvb2xiYXIuY3NzVGVtcGxhdGUpOgorICAgICAgICAoQ2hhcnRzVG9vbGJhci5wcm90
b3R5cGUuc2V0TnVtYmVyT2ZEYXlzQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAoQ2hhcnRz
VG9vbGJhci5wcm90b3R5cGUuc2V0U3RhcnRUaW1lKTogRGVsZXRlZC4KKyAgICAgICAgKENoYXJ0
c1Rvb2xiYXIucHJvdG90eXBlLl9zZXRJbnB1dEVsZW1lbnRWYWx1ZSk6IERlbGV0ZWQuCisgICAg
ICAgIChDaGFydHNUb29sYmFyLnByb3RvdHlwZS5fZW50ZXJUZXh0TW9kZSk6IERlbGV0ZWQuCisg
ICAgICAgIChDaGFydHNUb29sYmFyLnByb3RvdHlwZS5fZXhpdFRleHRNb2RlKTogRGVsZXRlZC4K
KyAgICAgICAgKENoYXJ0c1Rvb2xiYXIucHJvdG90eXBlLl9zbGlkZXJWYWx1ZU1heUhhdmVDaGFu
Z2VkKTogRGVsZXRlZC4KKyAgICAgICAgKENoYXJ0c1Rvb2xiYXIucHJvdG90eXBlLl9lZGl0b3JW
YWx1ZU1heUhhdmVDaGFuZ2VkKTogRGVsZXRlZC4KKyAgICAgICAgKENoYXJ0c1Rvb2xiYXIucHJv
dG90eXBlLl9jYWxsTnVtYmVyT2ZEYXlzQ2FsbGJhY2spOiBEZWxldGVkLgorICAgICAgICAoQ2hh
cnRzVG9vbGJhci5odG1sVGVtcGxhdGUpOiBXcmFwIFNpbGRlclRvb2xiYXIncyBodG1sVGVtcGxh
dGUgd2l0aCBhIG5hdiBhbmQgZW1iZWQgdGhlICdBZGQgUGFuZScgYnV0dG9uLgorICAgICAgICAq
IHB1YmxpYy92My9wYWdlcy9kb21haW4tY29udHJvbC10b29sYmFyLmpzOgorICAgICAgICAoRG9t
YWluQ29udHJvbFRvb2xiYXIucHJvdG90eXBlLnNldFN0YXJ0VGltZSk6IFVwZGF0ZWQgdG8gc3Vw
cG9ydCBhIHZhbHVlIG9mIDAgZm9yIG51bWJlck9mRGF5cy4KKyAgICAgICAgKERvbWFpbkNvbnRy
b2xUb29sYmFyLnByb3RvdHlwZS5zZXROdW1iZXJPZkRheXMpOiBEaXR0by4KKyAgICAgICAgKERv
bWFpbkNvbnRyb2xUb29sYmFyKToKKyAgICAgICAgKiBwdWJsaWMvdjMvcGFnZXMvc2xpZGVyLXRv
b2xiYXIuanM6IENvcGllZCBmcm9tIFdlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMv
cGFnZXMvY2hhcnRzLXRvb2xiYXIuanMuCisgICAgICAgIChTbGlkZXJUb29sYmFyKTogQ29waWVk
IGZyb20gY2hhcnRzLXRvb2xiYXIuanM7IEFkZGVkIF9kZWZhdWx0TnVtYmVyT2ZEYXlzIHdoZW4g
aW52b2tpbmcgY29uc3RydWN0b3IgYW5kCisgICAgICAgIHJlbW92ZWQgJ0FkZCBQYW5lJyBsb2dp
Yy4KKyAgICAgICAgKFNsaWRlclRvb2xiYXIucHJvdG90eXBlLnJlbmRlcik6IE1vdmVkIGZyb20g
Y2hhcnRzLXRvb2xiYXIuanMuCisgICAgICAgIChTbGlkZXJUb29sYmFyLnByb3RvdHlwZS5zZXRO
dW1iZXJPZkRheXNDYWxsYmFjayk6IERpdHRvLgorICAgICAgICAoU2xpZGVyVG9vbGJhci5wcm90
b3R5cGUuc2V0U3RhcnRUaW1lKTogRGl0dG8sIGJ1dCB1cGRhdGVkIHRvIHVzZSBfZGVmYXVsdE51
bWJlck9mRGF5cy4KKyAgICAgICAgKFNsaWRlclRvb2xiYXIucHJvdG90eXBlLl9zZXRJbnB1dEVs
ZW1lbnRWYWx1ZSk6IERpdHRvLgorICAgICAgICAoU2xpZGVyVG9vbGJhci5wcm90b3R5cGUuX2Vu
dGVyVGV4dE1vZGUpOiBEaXR0by4KKyAgICAgICAgKFNsaWRlclRvb2xiYXIucHJvdG90eXBlLl9l
eGl0VGV4dE1vZGUpOiBEaXR0by4KKyAgICAgICAgKFNsaWRlclRvb2xiYXIucHJvdG90eXBlLl9z
bGlkZXJWYWx1ZU1heUhhdmVDaGFuZ2VkKTogRGl0dG8uCisgICAgICAgIChTbGlkZXJUb29sYmFy
LnByb3RvdHlwZS5fZWRpdG9yVmFsdWVNYXlIYXZlQ2hhbmdlZCk6IERpdHRvLgorICAgICAgICAo
U2xpZGVyVG9vbGJhci5wcm90b3R5cGUuX2NhbGxOdW1iZXJPZkRheXNDYWxsYmFjayk6IERpdHRv
LgorICAgICAgICAoU2xpZGVyVG9vbGJhci5kYXlzQ291bnRMYWJlbFRleHQpOiBSZXR1cm4gYSBj
dXN0b20gZWxlbWVudCBmb3IgbW9kaWZ5aW5nIHRoZSB0ZXh0IC8gc3R5bGluZyB1c2VkIGZvciAn
ZGF5cyBhZ28nLgorICAgICAgICAoU2xpZGVyVG9vbGJhci5odG1sVGVtcGxhdGUpOiBSZW1vdmVk
IHVubmVjZXNzYXJ5IG5hdiBhbmQgcmVzdHJ1Y3R1cmUgdG8gdXNlIHN0YXRpYyB2YWx1ZXMgZm9y
IGRheXNDb3VudExhYmVsVGV4dC4KKyAgICAgICAgKFNsaWRlclRvb2xiYXIuY3NzVGVtcGxhdGUp
OiBNb3ZlZCBmcm9tIGNoYXJ0cy10b29sYmFyLmpzLCB3aXRob3V0IHRoZSAnQWRkIFBhbmUnIHN0
eWxpbmcuCisgICAgICAgICogcHVibGljL3YzL3BhZ2VzL3N1bW1hcnktcGFnZS5qczoKKyAgICAg
ICAgKFN1bW1hcnlQYWdlKTogQ2hhbmdlIGNvbnN0cnVjdG9yIHRvIGFjY2VwdCBhIHRvb2xiYXIg
YXJndW1lbnQuCisgICAgICAgIChTdW1tYXJ5UGFnZS5wcm90b3R5cGUub3Blbik6IFJlZmFjdG9y
ZWQgc3VtbWFyeSByZW5kZXJpbmcgaW50byB1cGRhdGVBbmRSZW5kZXJGb3JSYW5nZSwgc28gaXQg
Y2FuIGJlIGNhbGxlZAorICAgICAgICB3aGVuIHRoZSBuZXcgc2xpZGVyIGlzIG1vdmVkLgorICAg
ICAgICAoU3VtbWFyeVBhZ2UucHJvdG90eXBlLnVwZGF0ZUFuZFJlbmRlckZvclJhbmdlKTogVXBk
YXRlcyBzdW1tYXJ5IHBhZ2UgdG8gc2hvdyByZXN1bHRzIGZvciBOIGRheXMgYWdvLgorICAgICAg
ICAoU3VtbWFyeVBhZ2UucHJvdG90eXBlLnNldE51bWJlck9mRGF5c0Zyb21Ub29sYmFyKTogQ2Fs
bGJhY2sgZm9yIHJlLXJlbmRlcmluZyBzdW1tYXJ5IHBhZ2Ugd2l0aCBuZXcgcmVzdWx0cyBhcwor
ICAgICAgICB0aGUgdmFsdWUgb24gdGhlIHNsaWRlciBjaGFuZ2VzLgorICAgICAgICAqIHB1Ymxp
Yy92My9wYWdlcy9zdW1tYXJ5LXRvb2xiYXIuanM6IEFkZGVkLgorICAgICAgICAoU3VtbWFyeVRv
b2xiYXIpOiBCYXNlZCBvbiBTbGlkZXJUb29sYmFyLiBQcmltYXJ5IGNoYW5nZXMgYXJlIHRvIGFs
bG93ICIwIGRheXMgYWdvIiB0byBpbnN0ZWFkIHNob3cgIkN1cnJlbnQiCisgICAgICAgIHdoZW4g
Y2hhbmdpbmcgdmFsdWVzIG9uIHRoZSBzbGlkZXIgYW5kIG5vdCBpbiBUZXh0TW9kZS4KKyAgICAg
ICAgKFN1bW1hcnlUb29sYmFyLnByb3RvdHlwZS5fYWRkU2xpZGVyVGV4dEZvcm1hdHRpbmdGb3Ja
ZXJvRGF5cyk6IEFkZHMgZm9ybWF0dGluZyB0byB1c2UgIkN1cnJlbnQiIGluc3RlYWQgb2YKKyAg
ICAgICAgIjAgZGF5cyBhZ28iIGFuZCBub3Qgc2hpZnQgdGhlIHNsaWRlciB0b29sYmFyLgorICAg
ICAgICAoU3VtbWFyeVRvb2xiYXIucHJvdG90eXBlLl9yZW1vdmVTbGlkZXJUZXh0Rm9ybWF0dGlu
Z0Zvclplcm9EYXlzKTogUmVtb3ZlcyBmb3JtdHRpbmcgdG8gcmV2ZXJ0IHRvIGEgZGVmYXVsdC4K
KyAgICAgICAgKFN1bW1hcnlUb29sYmFyLnByb3RvdHlwZS5yZW5kZXIpOiBTZXQgdGhlIHNwZWNp
YWwgZm9ybWF0dGluZyB3aGVuIG51bWJlck9mRGF5cyA9PSAwLCBvdGhlcndpc2UgdXNlIHRoZSBk
ZWZhdWx0LgorICAgICAgICAoU3VtbWFyeVRvb2xiYXIucHJvdG90eXBlLl9lbnRlclRleHRNb2Rl
KTogUmVtb3ZlIGFsbCBzcGVjaWFsIGZvcm1hdHRpbmcgc2luY2UgJzAgZGF5cyBhZ28nIHJlYWRz
IGJldHRlciB0aGFuCisgICAgICAgICcwIEN1cnJlbnQnLiBBbHNvIHNldCBhIG5ldyBib29sZWFu
ICh0aGlzLl9pblRleHRNb2RlKSB0aGF0IGNhbiBiZSB1c2VkIHdoZW4gcmVuZGVyaW5nIHRvIGtl
ZXAgZnJvbSByZXZlcnRpbmcKKyAgICAgICAgZnJvbSAnMCBkYXlzIGFnbycgdG8gJzAgQ3VycmVu
dCcuCisgICAgICAgIChTdW1tYXJ5VG9vbGJhci5wcm90b3R5cGUuX2V4aXRUZXh0TW9kZSk6IFNl
dHMgdGhlIHRleHQgbW9kZSBiYWNrIHRvIEN1cnJlbnQgaWYgbnVtYmVyT2ZEYXlzID09IDAuCisK
IDIwMTktMDYtMTkgIERlYW4gSm9obnNvbiAgPGRlYW5fam9obnNvbkBhcHBsZS5jb20+CiAKICAg
ICAgICAgW3BlcmYud2Via2l0Lm9yZ10gVXBkYXRlIHN1bW1hcnkgcGFnZSBjYWxjdWxhdGlvbnMg
dG8gdXNlIG1lYW4gaW5zdGVhZCBvZiBtZWRpYW4KZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYu
d2Via2l0Lm9yZy9wdWJsaWMvdjMvaW5kZXguaHRtbCBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9y
Zy9wdWJsaWMvdjMvaW5kZXguaHRtbAppbmRleCBlNzMxMDc3ZjZlYmUwMDQwN2FkYjA2OGM3ZmZj
YmY2MWVhNjZjZGNjLi5jYmM4ZWUxNmJhYjRjYzdjZDhhNWE3YTZkNzQzZjQ5ZmJhOTdlNzQxIDEw
MDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL2luZGV4Lmh0bWwK
KysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9pbmRleC5odG1sCkBAIC0x
MTMsNiArMTEzLDcgQEAgUnVuIHRvb2xzL2J1bmRsZS12My1zY3JpcHRzIHRvIHNwZWVkIHVwIHRo
ZSBsb2FkIHRpbWUgZm9yIHByb2R1Y3Rpb24uYCk7CiAgICAgICAgIDxzY3JpcHQgc3JjPSJwYWdl
cy9kb21haW4tY29udHJvbC10b29sYmFyLmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdCBz
cmM9InBhZ2VzL2Rhc2hib2FyZC10b29sYmFyLmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlw
dCBzcmM9InBhZ2VzL2Rhc2hib2FyZC1wYWdlLmpzIj48L3NjcmlwdD4KKyAgICAgICAgPHNjcmlw
dCBzcmM9InBhZ2VzL3NsaWRlci10b29sYmFyLmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlw
dCBzcmM9InBhZ2VzL2NoYXJ0LXBhbmUtc3RhdHVzLXZpZXcuanMiPjwvc2NyaXB0PgogICAgICAg
ICA8c2NyaXB0IHNyYz0icGFnZXMvY2hhcnQtcGFuZS5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxz
Y3JpcHQgc3JjPSJwYWdlcy9jaGFydHMtdG9vbGJhci5qcyI+PC9zY3JpcHQ+CkBAIC0xMjMsNiAr
MTI0LDcgQEAgUnVuIHRvb2xzL2J1bmRsZS12My1zY3JpcHRzIHRvIHNwZWVkIHVwIHRoZSBsb2Fk
IHRpbWUgZm9yIHByb2R1Y3Rpb24uYCk7CiAgICAgICAgIDxzY3JpcHQgc3JjPSJwYWdlcy9jcmVh
dGUtYW5hbHlzaXMtdGFzay1wYWdlLmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNjcmlwdCBzcmM9
InBhZ2VzL2J1aWxkLXJlcXVlc3QtcXVldWUtcGFnZS5qcyI+PC9zY3JpcHQ+CiAgICAgICAgIDxz
Y3JpcHQgc3JjPSJwYWdlcy9zdW1tYXJ5LXBhZ2UuanMiPjwvc2NyaXB0PgorICAgICAgICA8c2Ny
aXB0IHNyYz0icGFnZXMvc3VtbWFyeS10b29sYmFyLmpzIj48L3NjcmlwdD4KICAgICAgICAgPHNj
cmlwdCBzcmM9InBhZ2VzL3Rlc3QtZnJlc2huZXNzLXBhZ2UuanMiPjwvc2NyaXB0PgogCiAgICAg
ICAgIDxzY3JpcHQgc3JjPSJtYWluLmpzIj48L3NjcmlwdD4KZGlmZiAtLWdpdCBhL1dlYnNpdGVz
L3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvbWFpbi5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvbWFpbi5qcwppbmRleCAwZWJjMmYwMWM3YmM0ZTY4M2U5Njg2OWI1ZjEy
ZTZjZGMyZjgwYWUzLi42MjE3YjNjZmJhY2YwYWU0NTE5ZDI0ZTg3Y2E5YmM4NjE4NWMzOTk4IDEw
MDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL21haW4uanMKKysr
IGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9tYWluLmpzCkBAIC0yNiwxMSAr
MjYsMTIgQEAgZnVuY3Rpb24gbWFpbigpIHsKICAgICAgICAgICAgICAgICBkYXNoYm9hcmRQYWdl
cy5wdXNoKG5ldyBEYXNoYm9hcmRQYWdlKG5hbWUsIG1hbmlmZXN0LmRhc2hib2FyZHNbbmFtZV0s
IGRhc2hib2FyZFRvb2xiYXIpKTsKICAgICAgICAgfQogCisgICAgICAgIGNvbnN0IHN1bW1hcnlU
b29sYmFyID0gbmV3IFN1bW1hcnlUb29sYmFyOwogICAgICAgICBjb25zdCBzdW1tYXJ5UGFnZXMg
PSBbXTsKICAgICAgICAgbGV0IHRlc3RGcmVzaG5lc3NQYWdlID0gbnVsbDsKICAgICAgICAgaWYg
KG1hbmlmZXN0LnN1bW1hcnlQYWdlcykgewogICAgICAgICAgICAgZm9yIChjb25zdCBzdW1tYXJ5
UGFnZSBvZiBtYW5pZmVzdC5zdW1tYXJ5UGFnZXMpCi0gICAgICAgICAgICAgICAgc3VtbWFyeVBh
Z2VzLnB1c2gobmV3IFN1bW1hcnlQYWdlKHN1bW1hcnlQYWdlKSk7CisgICAgICAgICAgICAgICAg
c3VtbWFyeVBhZ2VzLnB1c2gobmV3IFN1bW1hcnlQYWdlKHN1bW1hcnlQYWdlLCBzdW1tYXJ5VG9v
bGJhcikpOwogICAgICAgICAgICAgdGVzdEZyZXNobmVzc1BhZ2UgPSBuZXcgVGVzdEZyZXNobmVz
c1BhZ2UobWFuaWZlc3Quc3VtbWFyeVBhZ2VzLCBtYW5pZmVzdC50ZXN0QWdlVG9sZXJhbmNlSW5I
b3Vycyk7CiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3Jn
L3B1YmxpYy92My9wYWdlcy9jaGFydHMtdG9vbGJhci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0
Lm9yZy9wdWJsaWMvdjMvcGFnZXMvY2hhcnRzLXRvb2xiYXIuanMKaW5kZXggYTA5N2UzNDhlODdm
OTdiYzFiOTFiOTc5OThmYWUyNDdhNjc2ODFmYi4uMjhlYzliMzUyYzNmODQyMGVlZjE5ZjlhOGFk
YWE0MjlmNjEyNmM3NyAxMDA2NDQKLS0tIGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1Ymxp
Yy92My9wYWdlcy9jaGFydHMtdG9vbGJhci5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5v
cmcvcHVibGljL3YzL3BhZ2VzL2NoYXJ0cy10b29sYmFyLmpzCkBAIC0xLDI0ICsxLDggQEAKIAot
Y2xhc3MgQ2hhcnRzVG9vbGJhciBleHRlbmRzIERvbWFpbkNvbnRyb2xUb29sYmFyIHsKK2NsYXNz
IENoYXJ0c1Rvb2xiYXIgZXh0ZW5kcyBTbGlkZXJUb29sYmFyIHsKICAgICBjb25zdHJ1Y3Rvcigp
CiAgICAgewotICAgICAgICBzdXBlcignY2hhcnMtdG9vbGJhcicsIDcpOwotCi0gICAgICAgIHRo
aXMuX21pbkRheUNvdW50ID0gMTsKLSAgICAgICAgdGhpcy5fbWF4RGF5Q291bnQgPSAzNjY7Ci0K
LSAgICAgICAgdGhpcy5fbnVtYmVyT2ZEYXlzQ2FsbGJhY2sgPSBudWxsOwotICAgICAgICB0aGlz
Ll9zbGlkZXIgPSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuc2xpZGVyJyk7Ci0gICAg
ICAgIHRoaXMuX3NsaWRlci5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9zbGlkZXJW
YWx1ZU1heUhhdmVDaGFuZ2VkLmJpbmQodGhpcykpOwotICAgICAgICB0aGlzLl9zbGlkZXIuYWRk
RXZlbnRMaXN0ZW5lcignbW91c2Vtb3ZlJywgdGhpcy5fc2xpZGVyVmFsdWVNYXlIYXZlQ2hhbmdl
ZC5iaW5kKHRoaXMpKTsKLQotICAgICAgICB0aGlzLl9lZGl0b3IgPSB0aGlzLmNvbnRlbnQoKS5x
dWVyeVNlbGVjdG9yKCcuZWRpdG9yJyk7Ci0gICAgICAgIHRoaXMuX2VkaXRvci5hZGRFdmVudExp
c3RlbmVyKCdmb2N1cycsIHRoaXMuX2VudGVyVGV4dE1vZGUuYmluZCh0aGlzKSk7Ci0gICAgICAg
IHRoaXMuX2VkaXRvci5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgdGhpcy5fZXhpdFRleHRNb2Rl
LmJpbmQodGhpcykpOwotICAgICAgICB0aGlzLl9lZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcignaW5w
dXQnLCB0aGlzLl9lZGl0b3JWYWx1ZU1heUhhdmVDaGFuZ2VkLmJpbmQodGhpcykpOwotICAgICAg
ICB0aGlzLl9lZGl0b3IuYWRkRXZlbnRMaXN0ZW5lcignY2hhbmdlJywgdGhpcy5fZWRpdG9yVmFs
dWVNYXlIYXZlQ2hhbmdlZC5iaW5kKHRoaXMpKTsKLQotICAgICAgICB0aGlzLl9sYWJlbFNwYW4g
PSB0aGlzLmNvbnRlbnQoKS5xdWVyeVNlbGVjdG9yKCcuZGF5LWNvdW50Jyk7CisgICAgICAgIHN1
cGVyKCdjaGFydHMtdG9vbGJhcicsIDcpOwogCiAgICAgICAgIHRoaXMuX2FkZFBhbmVDYWxsYmFj
ayA9IG51bGw7CiAgICAgICAgIHRoaXMuX3BhbmVTZWxlY3RvciA9IHRoaXMuY29udGVudCgpLnF1
ZXJ5U2VsZWN0b3IoJ3BhbmUtc2VsZWN0b3InKS5jb21wb25lbnQoKTsKQEAgLTM1LDE0ICsxOSw2
IEBAIGNsYXNzIENoYXJ0c1Rvb2xiYXIgZXh0ZW5kcyBEb21haW5Db250cm9sVG9vbGJhciB7CiAg
ICAgewogICAgICAgICBzdXBlci5yZW5kZXIoKTsKICAgICAgICAgdGhpcy5fcGFuZVNlbGVjdG9y
LmVucXVldWVUb1JlbmRlcigpOwotICAgICAgICB0aGlzLl9sYWJlbFNwYW4udGV4dENvbnRlbnQg
PSB0aGlzLl9udW1iZXJPZkRheXM7Ci0gICAgICAgIHRoaXMuX3NldElucHV0RWxlbWVudFZhbHVl
KHRoaXMuX251bWJlck9mRGF5cyk7Ci0gICAgfQotCi0gICAgc2V0TnVtYmVyT2ZEYXlzQ2FsbGJh
Y2soY2FsbGJhY2spCi0gICAgewotICAgICAgICBjb25zb2xlLmFzc2VydCghY2FsbGJhY2sgfHwg
Y2FsbGJhY2sgaW5zdGFuY2VvZiBGdW5jdGlvbik7Ci0gICAgICAgIHRoaXMuX251bWJlck9mRGF5
c0NhbGxiYWNrID0gY2FsbGJhY2s7CiAgICAgfQogCiAgICAgc2V0QWRkUGFuZUNhbGxiYWNrKGNh
bGxiYWNrKQpAQCAtNTEsNjUgKzI3LDYgQEAgY2xhc3MgQ2hhcnRzVG9vbGJhciBleHRlbmRzIERv
bWFpbkNvbnRyb2xUb29sYmFyIHsKICAgICAgICAgdGhpcy5fYWRkUGFuZUNhbGxiYWNrID0gY2Fs
bGJhY2s7CiAgICAgfQogCi0gICAgc2V0U3RhcnRUaW1lKHN0YXJ0VGltZSkKLSAgICB7Ci0gICAg
ICAgIHRoaXMuX2V4aXRUZXh0TW9kZSgpOwotICAgICAgICBpZiAoc3RhcnRUaW1lKQotICAgICAg
ICAgICAgc3VwZXIuc2V0U3RhcnRUaW1lKHN0YXJ0VGltZSk7Ci0gICAgICAgIGVsc2UKLSAgICAg
ICAgICAgIHN1cGVyLnNldE51bWJlck9mRGF5cyg3KTsKLSAgICB9Ci0KLSAgICBfc2V0SW5wdXRF
bGVtZW50VmFsdWUodmFsdWUpCi0gICAgewotICAgICAgICB0aGlzLl9zbGlkZXIudmFsdWUgPSBN
YXRoLnBvdyh2YWx1ZSwgMS8zKTsKLSAgICAgICAgdGhpcy5fc2xpZGVyLm1pbiA9IE1hdGgucG93
KHRoaXMuX21pbkRheUNvdW50LCAxLzMpOwotICAgICAgICB0aGlzLl9zbGlkZXIubWF4ID0gTWF0
aC5wb3codGhpcy5fbWF4RGF5Q291bnQsIDEvMyk7Ci0gICAgICAgIHRoaXMuX3NsaWRlci5zdGVw
ID0gJ2FueSc7Ci0gICAgICAgIHRoaXMuX2VkaXRvci52YWx1ZSA9IHZhbHVlOwotICAgIH0KLQot
ICAgIF9lbnRlclRleHRNb2RlKGV2ZW50KQotICAgIHsKLSAgICAgICAgZXZlbnQucHJldmVudERl
ZmF1bHQoKTsKLSAgICAgICAgdGhpcy5fZWRpdG9yLnN0eWxlLm9wYWNpdHkgPSAxOwotICAgICAg
ICB0aGlzLl9lZGl0b3Iuc3R5bGUubWFyZ2luTGVmdCA9ICctMi41cmVtJzsKLSAgICAgICAgdGhp
cy5fbGFiZWxTcGFuLnN0eWxlLm9wYWNpdHkgPSAwOwotICAgICAgICB0aGlzLl9zbGlkZXIuc3R5
bGUub3BhY2l0eSA9IDA7Ci0gICAgfQotCi0gICAgX2V4aXRUZXh0TW9kZShldmVudCkKLSAgICB7
Ci0gICAgICAgIGlmIChldmVudCkKLSAgICAgICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7
Ci0gICAgICAgIHRoaXMuX2VkaXRvci5zdHlsZS5vcGFjaXR5ID0gMDsKLSAgICAgICAgdGhpcy5f
ZWRpdG9yLnN0eWxlLm1hcmdpbkxlZnQgPSBudWxsOwotICAgICAgICB0aGlzLl9sYWJlbFNwYW4u
c3R5bGUub3BhY2l0eSA9IDE7Ci0gICAgICAgIHRoaXMuX3NsaWRlci5zdHlsZS5vcGFjaXR5ID0g
MTsKLSAgICB9Ci0KLSAgICBfc2xpZGVyVmFsdWVNYXlIYXZlQ2hhbmdlZChldmVudCkKLSAgICB7
Ci0gICAgICAgIHZhciBudW1iZXJPZkRheXMgPSBNYXRoLnJvdW5kKE1hdGgucG93KHBhcnNlRmxv
YXQodGhpcy5fc2xpZGVyLnZhbHVlKSwgMykpOwotICAgICAgICB0aGlzLl9jYWxsTnVtYmVyT2ZE
YXlzQ2FsbGJhY2soZXZlbnQsIG51bWJlck9mRGF5cyk7Ci0gICAgfQotCi0gICAgX2VkaXRvclZh
bHVlTWF5SGF2ZUNoYW5nZWQoZXZlbnQpCi0gICAgewotICAgICAgICB2YXIgcmF3TnVtYmVyID0g
TWF0aC5yb3VuZChwYXJzZUZsb2F0KHRoaXMuX2VkaXRvci52YWx1ZSkpOwotICAgICAgICB2YXIg
bnVtYmVyT2ZEYXlzID0gTWF0aC5tYXgodGhpcy5fbWluRGF5Q291bnQsIE1hdGgubWluKHRoaXMu
X21heERheUNvdW50LCByYXdOdW1iZXIpKTsKLSAgICAgICAgaWYgKHRoaXMuX2VkaXRvci52YWx1
ZSAhPSBudW1iZXJPZkRheXMpCi0gICAgICAgICAgICB0aGlzLl9lZGl0b3IudmFsdWUgPSBudW1i
ZXJPZkRheXM7Ci0gICAgICAgIHRoaXMuX2NhbGxOdW1iZXJPZkRheXNDYWxsYmFjayhldmVudCwg
bnVtYmVyT2ZEYXlzKTsKLSAgICB9Ci0KLSAgICBfY2FsbE51bWJlck9mRGF5c0NhbGxiYWNrKGV2
ZW50LCBudW1iZXJPZkRheXMpCi0gICAgewotICAgICAgICB2YXIgc2hvdWxkVXBkYXRlU3RhdGUg
PSBldmVudC50eXBlID09ICdjaGFuZ2UnOwotICAgICAgICBpZiAoKHRoaXMubnVtYmVyT2ZEYXlz
KCkgIT0gbnVtYmVyT2ZEYXlzIHx8IHNob3VsZFVwZGF0ZVN0YXRlKSAmJiB0aGlzLl9udW1iZXJP
ZkRheXNDYWxsYmFjaykKLSAgICAgICAgICAgIHRoaXMuX251bWJlck9mRGF5c0NhbGxiYWNrKG51
bWJlck9mRGF5cywgc2hvdWxkVXBkYXRlU3RhdGUpOwotICAgIH0KLQogICAgIF90b2dnbGVQYW5l
U2VsZWN0b3IoZXZlbnQpCiAgICAgewogICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwpA
QCAtMTQ1LDM0ICs2MiwyNSBAQCBjbGFzcyBDaGFydHNUb29sYmFyIGV4dGVuZHMgRG9tYWluQ29u
dHJvbFRvb2xiYXIgewogICAgICAgICAgICAgdGhpcy5fYWRkUGFuZUNhbGxiYWNrKHBsYXRmb3Jt
LCBtZXRyaWMpOwogICAgIH0KIAotCiAgICAgc3RhdGljIGh0bWxUZW1wbGF0ZSgpCiAgICAgewog
ICAgICAgICByZXR1cm4gYAotICAgICAgICAgICAgPG5hdiBjbGFzcz0iY2hhcnRzLXRvb2xiYXIi
PgorICAgICAgICAgICAgPG5hdj4KICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImJ1dHRvbmVk
LXRvb2xiYXIiPgogICAgICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj0iIyIgY2xhc3M9InBh
bmUtc2VsZWN0b3Itb3BlbmVyIj5BZGQgcGFuZTwvYT48L2xpPgogICAgICAgICAgICAgICAgIDwv
dWw+Ci0gICAgICAgICAgICAgICAgPHVsIGNsYXNzPSJidXR0b25lZC10b29sYmFyIj4KLSAgICAg
ICAgICAgICAgICAgICAgPGxpIGNsYXNzPSJzdGFydC10aW1lLXNsaWRlciI+Ci0gICAgICAgICAg
ICAgICAgICAgICAgICA8bGFiZWw+Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGlucHV0
IGNsYXNzPSJzbGlkZXIiIHR5cGU9InJhbmdlIj4KLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICA8aW5wdXQgY2xhc3M9ImVkaXRvciIgdHlwZT0ibnVtYmVyIj4KLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8c3BhbiBjbGFzcz0ibGFiZWwiPjxzcGFuIGNsYXNzPSJkYXktY291bnQiIHRh
YmluZGV4PSIwIj4/PC9zcGFuPiBkYXlzPC9zcGFuPgotICAgICAgICAgICAgICAgICAgICAgICAg
PC9sYWJlbD4KLSAgICAgICAgICAgICAgICAgICAgPC9saT4KLSAgICAgICAgICAgICAgICA8L3Vs
PgogICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9InBhbmUtc2VsZWN0b3ItY29udGFpbmVyIj4K
ICAgICAgICAgICAgICAgICAgICAgPHBhbmUtc2VsZWN0b3I+PC9wYW5lLXNlbGVjdG9yPgogICAg
ICAgICAgICAgICAgIDwvZGl2PgotICAgICAgICAgICAgPC9uYXY+YDsKKyAgICAgICAgICAgICAg
ICAkeyBzdXBlci5odG1sVGVtcGxhdGUoKSB9CisgICAgICAgICAgICA8L25hdj4KKyAgICAgICAg
YDsKICAgICB9CiAKICAgICBzdGF0aWMgY3NzVGVtcGxhdGUoKQogICAgIHsKLSAgICAgICAgcmV0
dXJuIFRvb2xiYXIuY3NzVGVtcGxhdGUoKSArIGAKLQotICAgICAgICAgICAgLmNoYXJ0cy10b29s
YmFyID4gLmJ1dHRvbmVkLXRvb2xiYXI6Zmlyc3QtY2hpbGQgeworICAgICAgICByZXR1cm4gc3Vw
ZXIuY3NzVGVtcGxhdGUoKSArIGAKKyAgICAgICAgICAgIG5hdiA+IC5idXR0b25lZC10b29sYmFy
OmZpcnN0LWNoaWxkIHsKICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsKICAg
ICAgICAgICAgIH0KIApAQCAtMTgwLDcgKzg4LDcgQEAgY2xhc3MgQ2hhcnRzVG9vbGJhciBleHRl
bmRzIERvbWFpbkNvbnRyb2xUb29sYmFyIHsKICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBy
Z2JhKDIwNCwgMTUzLCA1MSwgMC4xKTsKICAgICAgICAgICAgIH0KIAotICAgICAgICAgICAgLmNo
YXJ0cy10b29sYmFyID4gLnBhbmUtc2VsZWN0b3ItY29udGFpbmVyIHsKKyAgICAgICAgICAgIG5h
diA+IC5wYW5lLXNlbGVjdG9yLWNvbnRhaW5lciB7CiAgICAgICAgICAgICAgICAgcG9zaXRpb246
IGFic29sdXRlOwogICAgICAgICAgICAgICAgIHJpZ2h0OiAxcmVtOwogICAgICAgICAgICAgICAg
IG1hcmdpbjogMDsKQEAgLTE5MiwzOSArMTAwLDggQEAgY2xhc3MgQ2hhcnRzVG9vbGJhciBleHRl
bmRzIERvbWFpbkNvbnRyb2xUb29sYmFyIHsKICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBy
Z2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7CiAgICAgICAgICAgICAgICAgLXdlYmtpdC1iYWNrZHJv
cC1maWx0ZXI6IGJsdXIoMC41cmVtKTsKICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLmJ1
dHRvbmVkLXRvb2xiYXIgLnN0YXJ0LXRpbWUtc2xpZGVyIHsKLSAgICAgICAgICAgICAgICBtYXJn
aW4tbGVmdDogMnJlbTsKLSAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtOwotICAgICAg
ICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOwotICAgICAgICAgICAgfQotCi0gICAgICAgICAg
ICAuc3RhcnQtdGltZS1zbGlkZXIgbGFiZWwgewotICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlu
bGluZS1ibG9jazsKLSAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgLnN0YXJ0LXRpbWUtc2xp
ZGVyIC5zbGlkZXIgewotICAgICAgICAgICAgICAgIGhlaWdodDogMC44cmVtOwotICAgICAgICAg
ICAgfQotCi0gICAgICAgICAgICAuc3RhcnQtdGltZS1zbGlkZXIgLmVkaXRvciB7Ci0gICAgICAg
ICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOwotICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7
Ci0gICAgICAgICAgICAgICAgd2lkdGg6IDRyZW07Ci0gICAgICAgICAgICAgICAgZm9udC13ZWln
aHQ6IGluaGVyaXQ7Ci0gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW07Ci0gICAgICAg
ICAgICAgICAgaGVpZ2h0OiAwLjlyZW07Ci0gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTsK
LSAgICAgICAgICAgICAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjOwotICAgICAgICAgICAgICAg
IHotaW5kZXg6IDU7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIC5zdGFydC10aW1lLXNs
aWRlciAuZGF5LWNvdW50IHsKLSAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7
Ci0gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7Ci0gICAgICAgICAgICAgICAgd2lk
dGg6IDJyZW07Ci0gICAgICAgICAgICB9CiAgICAgICAgIGA7CiAgICAgfQotCiB9CisKK0NvbXBv
bmVudEJhc2UuZGVmaW5lRWxlbWVudCgnY2hhcnRzLXRvb2xiYXInLCBDaGFydHNUb29sYmFyKTsK
ZGlmZiAtLWdpdCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvZG9t
YWluLWNvbnRyb2wtdG9vbGJhci5qcyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMv
djMvcGFnZXMvZG9tYWluLWNvbnRyb2wtdG9vbGJhci5qcwppbmRleCBjNmJmNjE0ZTM2MDgyYzk4
OTRkNGFiM2I5MzlkM2Y2MDc5NzU1ZGUyLi43MGViNzcwNDA1ZWRhMmUyYTU5ZjZhYWM5MDViNTAw
M2U2MzE2ZjIzIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3Yz
L3BhZ2VzL2RvbWFpbi1jb250cm9sLXRvb2xiYXIuanMKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJr
aXQub3JnL3B1YmxpYy92My9wYWdlcy9kb21haW4tY29udHJvbC10b29sYmFyLmpzCkBAIC0xNyw3
ICsxNyw3IEBAIGNsYXNzIERvbWFpbkNvbnRyb2xUb29sYmFyIGV4dGVuZHMgVG9vbGJhciB7CiAK
ICAgICBzZXRTdGFydFRpbWUoc3RhcnRUaW1lKQogICAgIHsKLSAgICAgICAgdGhpcy5zZXROdW1i
ZXJPZkRheXMoTWF0aC5tYXgoMSwgTWF0aC5yb3VuZCgodGhpcy5fcHJlc2VudCAtIHN0YXJ0VGlt
ZSkgLyB0aGlzLl9taWxsaXNlY29uZHNQZXJEYXkpKSk7CisgICAgICAgIHRoaXMuc2V0TnVtYmVy
T2ZEYXlzKE1hdGgubWF4KDAsIE1hdGgucm91bmQoKHRoaXMuX3ByZXNlbnQgLSBzdGFydFRpbWUp
IC8gdGhpcy5fbWlsbGlzZWNvbmRzUGVyRGF5KSkpOwogICAgICAgICB0aGlzLl9zdGFydFRpbWUg
PSBzdGFydFRpbWU7CiAgICAgfQogCkBAIC0yOCw3ICsyOCw3IEBAIGNsYXNzIERvbWFpbkNvbnRy
b2xUb29sYmFyIGV4dGVuZHMgVG9vbGJhciB7CiAKICAgICBzZXROdW1iZXJPZkRheXMobnVtYmVy
T2ZEYXlzLCBzZXRCeVVzZXIpCiAgICAgewotICAgICAgICBpZiAoIW51bWJlck9mRGF5cykKKyAg
ICAgICAgaWYgKCFudW1iZXJPZkRheXMgJiYgbnVtYmVyT2ZEYXlzICE9PSAwKQogICAgICAgICAg
ICAgcmV0dXJuOwogCiAgICAgICAgIHRoaXMuX3N0YXJ0VGltZSA9IG51bGw7CmRpZmYgLS1naXQg
YS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL3NsaWRlci10b29sYmFy
LmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9zbGlkZXItdG9v
bGJhci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5kNGNiOGQwYzczMTdlZjU1NjkzNjU3MDllZmQ4YzhmNDZhMjI2
NjYzCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92
My9wYWdlcy9zbGlkZXItdG9vbGJhci5qcwpAQCAtMCwwICsxLDE1NCBAQAorCitjbGFzcyBTbGlk
ZXJUb29sYmFyIGV4dGVuZHMgRG9tYWluQ29udHJvbFRvb2xiYXIgeworICAgIGNvbnN0cnVjdG9y
KG5hbWUsIGRlZmF1bHROdW1iZXJPZkRheXMpCisgICAgeworICAgICAgICBzdXBlcihuYW1lLCBk
ZWZhdWx0TnVtYmVyT2ZEYXlzKTsKKworICAgICAgICB0aGlzLl9taW5EYXlDb3VudCA9IDE7Cisg
ICAgICAgIHRoaXMuX21heERheUNvdW50ID0gMzY2OworICAgICAgICB0aGlzLl9kZWZhdWx0TnVt
YmVyT2ZEYXlzID0gZGVmYXVsdE51bWJlck9mRGF5czsKKworICAgICAgICB0aGlzLl9udW1iZXJP
ZkRheXNDYWxsYmFjayA9IG51bGw7CisgICAgICAgIHRoaXMuX3NsaWRlciA9IHRoaXMuY29udGVu
dCgpLnF1ZXJ5U2VsZWN0b3IoJy5zbGlkZXInKTsKKyAgICAgICAgdGhpcy5fc2xpZGVyLmFkZEV2
ZW50TGlzdGVuZXIoJ2NoYW5nZScsIHRoaXMuX3NsaWRlclZhbHVlTWF5SGF2ZUNoYW5nZWQuYmlu
ZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX3NsaWRlci5hZGRFdmVudExpc3RlbmVyKCdtb3VzZW1v
dmUnLCB0aGlzLl9zbGlkZXJWYWx1ZU1heUhhdmVDaGFuZ2VkLmJpbmQodGhpcykpOworCisgICAg
ICAgIHRoaXMuX2VkaXRvciA9IHRoaXMuY29udGVudCgpLnF1ZXJ5U2VsZWN0b3IoJy5lZGl0b3In
KTsKKyAgICAgICAgdGhpcy5fZWRpdG9yLmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgdGhpcy5f
ZW50ZXJUZXh0TW9kZS5iaW5kKHRoaXMpKTsKKyAgICAgICAgdGhpcy5fZWRpdG9yLmFkZEV2ZW50
TGlzdGVuZXIoJ2JsdXInLCB0aGlzLl9leGl0VGV4dE1vZGUuYmluZCh0aGlzKSk7CisgICAgICAg
IHRoaXMuX2VkaXRvci5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIHRoaXMuX2VkaXRvclZhbHVl
TWF5SGF2ZUNoYW5nZWQuYmluZCh0aGlzKSk7CisgICAgICAgIHRoaXMuX2VkaXRvci5hZGRFdmVu
dExpc3RlbmVyKCdjaGFuZ2UnLCB0aGlzLl9lZGl0b3JWYWx1ZU1heUhhdmVDaGFuZ2VkLmJpbmQo
dGhpcykpOworCisgICAgICAgIHRoaXMuX2xhYmVsU3BhbiA9IHRoaXMuY29udGVudCgpLnF1ZXJ5
U2VsZWN0b3IoJy5kYXktY291bnQnKTsKKyAgICB9CisKKyAgICByZW5kZXIoKQorICAgIHsKKyAg
ICAgICAgc3VwZXIucmVuZGVyKCk7CisgICAgICAgIHRoaXMuX2xhYmVsU3Bhbi50ZXh0Q29udGVu
dCA9IHRoaXMuX251bWJlck9mRGF5czsKKyAgICAgICAgdGhpcy5fc2V0SW5wdXRFbGVtZW50VmFs
dWUodGhpcy5fbnVtYmVyT2ZEYXlzKTsKKyAgICB9CisKKyAgICBzZXROdW1iZXJPZkRheXNDYWxs
YmFjayhjYWxsYmFjaykKKyAgICB7CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KCFjYWxsYmFjayB8
fCBjYWxsYmFjayBpbnN0YW5jZW9mIEZ1bmN0aW9uKTsKKyAgICAgICAgdGhpcy5fbnVtYmVyT2ZE
YXlzQ2FsbGJhY2sgPSBjYWxsYmFjazsKKyAgICB9CisKKyAgICBzZXRTdGFydFRpbWUoc3RhcnRU
aW1lKQorICAgIHsKKyAgICAgICAgdGhpcy5fZXhpdFRleHRNb2RlKCk7CisgICAgICAgIGlmIChz
dGFydFRpbWUpCisgICAgICAgICAgICBzdXBlci5zZXRTdGFydFRpbWUoc3RhcnRUaW1lKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgc3VwZXIuc2V0TnVtYmVyT2ZEYXlzKHRoaXMuX2RlZmF1
bHROdW1iZXJPZkRheXMpOworICAgIH0KKworICAgIF9zZXRJbnB1dEVsZW1lbnRWYWx1ZSh2YWx1
ZSkKKyAgICB7CisgICAgICAgIHRoaXMuX3NsaWRlci52YWx1ZSA9IE1hdGgucG93KHZhbHVlLCAx
LzMpOworICAgICAgICB0aGlzLl9zbGlkZXIubWluID0gTWF0aC5wb3codGhpcy5fbWluRGF5Q291
bnQsIDEvMyk7CisgICAgICAgIHRoaXMuX3NsaWRlci5tYXggPSBNYXRoLnBvdyh0aGlzLl9tYXhE
YXlDb3VudCwgMS8zKTsKKyAgICAgICAgdGhpcy5fc2xpZGVyLnN0ZXAgPSAnYW55JzsKKyAgICAg
ICAgdGhpcy5fZWRpdG9yLnZhbHVlID0gdmFsdWU7CisgICAgfQorCisgICAgX2VudGVyVGV4dE1v
ZGUoZXZlbnQpCisgICAgeworICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOworICAgICAg
ICB0aGlzLl9lZGl0b3Iuc3R5bGUub3BhY2l0eSA9IDE7CisgICAgICAgIHRoaXMuX2VkaXRvci5z
dHlsZS5tYXJnaW5MZWZ0ID0gJy0yLjVyZW0nOworICAgICAgICB0aGlzLl9sYWJlbFNwYW4uc3R5
bGUub3BhY2l0eSA9IDA7CisgICAgICAgIHRoaXMuX3NsaWRlci5zdHlsZS5vcGFjaXR5ID0gMDsK
KyAgICB9CisKKyAgICBfZXhpdFRleHRNb2RlKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKGV2
ZW50KQorICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKKyAgICAgICAgdGhpcy5f
ZWRpdG9yLnN0eWxlLm9wYWNpdHkgPSAwOworICAgICAgICB0aGlzLl9lZGl0b3Iuc3R5bGUubWFy
Z2luTGVmdCA9IG51bGw7CisgICAgICAgIHRoaXMuX2xhYmVsU3Bhbi5zdHlsZS5vcGFjaXR5ID0g
MTsKKyAgICAgICAgdGhpcy5fc2xpZGVyLnN0eWxlLm9wYWNpdHkgPSAxOworICAgIH0KKworICAg
IF9zbGlkZXJWYWx1ZU1heUhhdmVDaGFuZ2VkKGV2ZW50KQorICAgIHsKKyAgICAgICAgdmFyIG51
bWJlck9mRGF5cyA9IE1hdGgucm91bmQoTWF0aC5wb3cocGFyc2VGbG9hdCh0aGlzLl9zbGlkZXIu
dmFsdWUpLCAzKSk7CisgICAgICAgIHRoaXMuX2NhbGxOdW1iZXJPZkRheXNDYWxsYmFjayhldmVu
dCwgbnVtYmVyT2ZEYXlzKTsKKyAgICB9CisKKyAgICBfZWRpdG9yVmFsdWVNYXlIYXZlQ2hhbmdl
ZChldmVudCkKKyAgICB7CisgICAgICAgIHZhciByYXdOdW1iZXIgPSBNYXRoLnJvdW5kKHBhcnNl
RmxvYXQodGhpcy5fZWRpdG9yLnZhbHVlKSk7CisgICAgICAgIHZhciBudW1iZXJPZkRheXMgPSBN
YXRoLm1heCh0aGlzLl9taW5EYXlDb3VudCwgTWF0aC5taW4odGhpcy5fbWF4RGF5Q291bnQsIHJh
d051bWJlcikpOworICAgICAgICBpZiAodGhpcy5fZWRpdG9yLnZhbHVlICE9IG51bWJlck9mRGF5
cykKKyAgICAgICAgICAgIHRoaXMuX2VkaXRvci52YWx1ZSA9IG51bWJlck9mRGF5czsKKyAgICAg
ICAgdGhpcy5fY2FsbE51bWJlck9mRGF5c0NhbGxiYWNrKGV2ZW50LCBudW1iZXJPZkRheXMpOwor
ICAgIH0KKworICAgIF9jYWxsTnVtYmVyT2ZEYXlzQ2FsbGJhY2soZXZlbnQsIG51bWJlck9mRGF5
cykKKyAgICB7CisgICAgICAgIHZhciBzaG91bGRVcGRhdGVTdGF0ZSA9IGV2ZW50LnR5cGUgPT0g
J2NoYW5nZSc7CisgICAgICAgIGlmICgodGhpcy5udW1iZXJPZkRheXMoKSAhPSBudW1iZXJPZkRh
eXMgfHwgc2hvdWxkVXBkYXRlU3RhdGUpICYmIHRoaXMuX251bWJlck9mRGF5c0NhbGxiYWNrKQor
ICAgICAgICAgICAgdGhpcy5fbnVtYmVyT2ZEYXlzQ2FsbGJhY2sobnVtYmVyT2ZEYXlzLCBzaG91
bGRVcGRhdGVTdGF0ZSk7CisgICAgfQorCisgICAgc3RhdGljIGRheXNDb3VudExhYmVsVGV4dCgp
IHsgcmV0dXJuIGAgZGF5c2A7IH0KKworICAgIHN0YXRpYyBodG1sVGVtcGxhdGUoKQorICAgIHsK
KyAgICAgICAgcmV0dXJuIGAKKyAgICAgICAgICAgICAgICA8dWwgY2xhc3M9ImJ1dHRvbmVkLXRv
b2xiYXIiPgorICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9InN0YXJ0LXRpbWUtc2xpZGVy
Ij4KKyAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbD4KKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICA8aW5wdXQgY2xhc3M9InNsaWRlciIgdHlwZT0icmFuZ2UiPgorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz0iZWRpdG9yIiB0eXBlPSJudW1iZXIiPgorICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJsYWJlbCI+CisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJkYXktY291bnQiIHRhYmluZGV4PSIw
Ij48L3NwYW4+CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR7IHRoaXMuZGF5c0Nv
dW50TGFiZWxUZXh0KCkgfQorICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj4KKyAg
ICAgICAgICAgICAgICAgICAgICAgIDwvbGFiZWw+CisgICAgICAgICAgICAgICAgICAgIDwvbGk+
CisgICAgICAgICAgICAgICAgPC91bD5gOworICAgIH0KKworICAgIHN0YXRpYyBjc3NUZW1wbGF0
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gVG9vbGJhci5jc3NUZW1wbGF0ZSgpICsgYAorICAg
ICAgICAgICAgLmJ1dHRvbmVkLXRvb2xiYXIgLnN0YXJ0LXRpbWUtc2xpZGVyIHsKKyAgICAgICAg
ICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTsKKyAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDog
MWVtOworICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45cmVtOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICAuc3RhcnQtdGltZS1zbGlkZXIgLmxhYmVsIHsKKyAgICAgICAgICAgICAg
ICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIC5z
dGFydC10aW1lLXNsaWRlciAuc2xpZGVyIHsKKyAgICAgICAgICAgICAgICBoZWlnaHQ6IDAuOHJl
bTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgLnN0YXJ0LXRpbWUtc2xpZGVyIC5lZGl0
b3IgeworICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsKKyAgICAgICAgICAgICAg
ICBvcGFjaXR5OiAwOworICAgICAgICAgICAgICAgIHdpZHRoOiA0cmVtOworICAgICAgICAgICAg
ICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0OworICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44
cmVtOworICAgICAgICAgICAgICAgIGhlaWdodDogMC45cmVtOworICAgICAgICAgICAgICAgIG91
dGxpbmU6IG5vbmU7CisgICAgICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCAxcHggI2NjYzsKKyAg
ICAgICAgICAgICAgICB6LWluZGV4OiA1OworICAgICAgICAgICAgfQorCisgICAgICAgICAgICAu
c3RhcnQtdGltZS1zbGlkZXIgLmRheS1jb3VudCB7CisgICAgICAgICAgICAgICAgZGlzcGxheTog
aW5saW5lLWJsb2NrOworICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OworICAgICAg
ICAgICAgICAgIHdpZHRoOiAycmVtOworICAgICAgICAgICAgfQorICAgICAgICBgOworICAgIH0K
K30KKworQ29tcG9uZW50QmFzZS5kZWZpbmVFbGVtZW50KCdzbGlkZXItdG9vbGJhcicsIFNsaWRl
clRvb2xiYXIpOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92
My9wYWdlcy9zdW1tYXJ5LXBhZ2UuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGlj
L3YzL3BhZ2VzL3N1bW1hcnktcGFnZS5qcwppbmRleCAwODllZDk4MmQ3YjA3NGU0NWZlMWI2MGMy
ZWI1YzE1NDY5YzM3YjMxLi45ODNlMjk3NDRhMzc5NTU1YTRlNGMxOGMxNjhmYWU2ODIwZWNkZGFi
IDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3BhZ2VzL3N1
bW1hcnktcGFnZS5qcworKysgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVibGljL3YzL3Bh
Z2VzL3N1bW1hcnktcGFnZS5qcwpAQCAtMSw5ICsxLDkgQEAKIAogY2xhc3MgU3VtbWFyeVBhZ2Ug
ZXh0ZW5kcyBQYWdlV2l0aEhlYWRpbmcgewogCi0gICAgY29uc3RydWN0b3Ioc3VtbWFyeVNldHRp
bmdzKQorICAgIGNvbnN0cnVjdG9yKHN1bW1hcnlTZXR0aW5ncywgdG9vbGJhcikKICAgICB7Ci0g
ICAgICAgIHN1cGVyKHN1bW1hcnlTZXR0aW5ncy5uYW1lLCBudWxsKTsKKyAgICAgICAgc3VwZXIo
c3VtbWFyeVNldHRpbmdzLm5hbWUsIHRvb2xiYXIpOwogCiAgICAgICAgIHRoaXMuX3JvdXRlID0g
c3VtbWFyeVNldHRpbmdzLnJvdXRlOwogICAgICAgICB0aGlzLl90YWJsZSA9IHsKQEAgLTMxLDE0
ICszMSwyOSBAQCBjbGFzcyBTdW1tYXJ5UGFnZSBleHRlbmRzIFBhZ2VXaXRoSGVhZGluZyB7CiAK
ICAgICBvcGVuKHN0YXRlKQogICAgIHsKKyAgICAgICAgdGhpcy50b29sYmFyKCkuc2V0TnVtYmVy
T2ZEYXlzKDAsIHRydWUpOworICAgICAgICB0aGlzLnRvb2xiYXIoKS5lbnF1ZXVlVG9SZW5kZXIo
KTsKKyAgICAgICAgdGhpcy50b29sYmFyKCkuc2V0TnVtYmVyT2ZEYXlzQ2FsbGJhY2sodGhpcy5z
ZXROdW1iZXJPZkRheXNGcm9tVG9vbGJhci5iaW5kKHRoaXMpKQogICAgICAgICBzdXBlci5vcGVu
KHN0YXRlKTsKKyAgICAgICAgdGhpcy51cGRhdGVBbmRSZW5kZXJGb3JSYW5nZSgwKQorICAgIH0K
IAorICAgIHVwZGF0ZUFuZFJlbmRlckZvclJhbmdlKGRheXMpCisgICAgewogICAgICAgICB2YXIg
Y3VycmVudCA9IERhdGUubm93KCk7Ci0gICAgICAgIHZhciB0aW1lUmFuZ2UgPSBbY3VycmVudCAt
IDI0ICogMzYwMCAqIDEwMDAsIGN1cnJlbnRdOworICAgICAgICB2YXIgb25lRGF5ID0gMjQgKiAz
NjAwICogMTAwMDsKKyAgICAgICAgdmFyIHRpbWVSYW5nZSA9IFtjdXJyZW50IC0gb25lRGF5IC0g
KGRheXMgKiBvbmVEYXkpLCBjdXJyZW50IC0gKGRheXMgKiBvbmVEYXkpXTsKICAgICAgICAgZm9y
ICh2YXIgZ3JvdXAgb2YgdGhpcy5fY29uZmlnR3JvdXBzKQogICAgICAgICAgICAgZ3JvdXAuZmV0
Y2hBbmRDb21wdXRlU3VtbWFyeSh0aW1lUmFuZ2UpLnRoZW4oKCkgPT4geyB0aGlzLmVucXVldWVU
b1JlbmRlcigpOyB9KTsKICAgICB9CiAKKyAgICBzZXROdW1iZXJPZkRheXNGcm9tVG9vbGJhcihu
dW1iZXJPZkRheXMsIHNob3VsZFVwZGF0ZVN0YXRlKQorICAgIHsKKyAgICAgICAgdGhpcy50b29s
YmFyKCkuc2V0TnVtYmVyT2ZEYXlzKG51bWJlck9mRGF5cywgdHJ1ZSk7CisgICAgICAgIHRoaXMu
dG9vbGJhcigpLmVucXVldWVUb1JlbmRlcigpOworICAgICAgICB0aGlzLnVwZGF0ZUFuZFJlbmRl
ckZvclJhbmdlKG51bWJlck9mRGF5cyk7CisgICAgfQorCiAgICAgcmVuZGVyKCkKICAgICB7CiAg
ICAgICAgIEluc3RydW1lbnRhdGlvbi5zdGFydE1lYXN1cmluZ1RpbWUoJ1N1bW1hcnlQYWdlJywg
J3JlbmRlcicpOwpkaWZmIC0tZ2l0IGEvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92
My9wYWdlcy9zdW1tYXJ5LXRvb2xiYXIuanMgYi9XZWJzaXRlcy9wZXJmLndlYmtpdC5vcmcvcHVi
bGljL3YzL3BhZ2VzL3N1bW1hcnktdG9vbGJhci5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MGIyYmQ5YTMzYzY3
ODFiN2M2ZGEzZGU1MWVkNDk4MGQyYmI1NjdlCi0tLSAvZGV2L251bGwKKysrIGIvV2Vic2l0ZXMv
cGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9zdW1tYXJ5LXRvb2xiYXIuanMKQEAgLTAs
MCArMSw1OCBAQAorY2xhc3MgU3VtbWFyeVRvb2xiYXIgZXh0ZW5kcyBTbGlkZXJUb29sYmFyIHsK
KyAgICBjb25zdHJ1Y3RvcigpCisgICAgeworICAgICAgICBzdXBlcignc3VtbWFyeS10b29sYmFy
JywgMCk7CisKKyAgICAgICAgdGhpcy5fbWluRGF5Q291bnQgPSAwOworICAgICAgICB0aGlzLl9t
YXhEYXlDb3VudCA9IDM2NjsKKyAgICAgICAgdGhpcy5faW5UZXh0TW9kZSA9IGZhbHNlOworCisg
ICAgICAgIHRoaXMuX2RheUNvdW50RGVzY3JpcHRpb24gPSB0aGlzLmNvbnRlbnQoJ2RheS1jb3Vu
dC1kZXNjcmlwdGlvbicpOworICAgIH0KKworICAgIF9hZGRTbGlkZXJUZXh0Rm9ybWF0dGluZ0Zv
clplcm9EYXlzKCkgeworICAgICAgICB0aGlzLl9sYWJlbFNwYW4udGV4dENvbnRlbnQgPSAnJzsK
KyAgICAgICAgdGhpcy5fbGFiZWxTcGFuLnN0eWxlLndpZHRoID0gJzEuMjVyZW0nOworICAgICAg
ICB0aGlzLl9kYXlDb3VudERlc2NyaXB0aW9uLnN0eWxlLndpZHRoID0gJzQuNXJlbSc7CisgICAg
ICAgIHRoaXMuX2RheUNvdW50RGVzY3JpcHRpb24udGV4dENvbnRlbnQgPSAnIEN1cnJlbnQnOwor
ICAgIH0KKworICAgIF9yZW1vdmVTbGlkZXJUZXh0Rm9ybWF0dGluZ0Zvclplcm9EYXlzKCkgewor
ICAgICAgICB0aGlzLl9sYWJlbFNwYW4uc3R5bGUud2lkdGggPSAnMnJlbSc7CisgICAgICAgIHRo
aXMuX2RheUNvdW50RGVzY3JpcHRpb24uc3R5bGUud2lkdGggPSAnMy43NXJlbSc7CisgICAgICAg
IHRoaXMuX2RheUNvdW50RGVzY3JpcHRpb24udGV4dENvbnRlbnQgPSAnIGRheXMgYWdvJzsKKyAg
ICB9CisKKyAgICByZW5kZXIoKQorICAgIHsKKyAgICAgICAgc3VwZXIucmVuZGVyKCk7CisgICAg
ICAgIGlmICh0aGlzLl9udW1iZXJPZkRheXMgPT09IDAgJiYgIXRoaXMuX2luVGV4dE1vZGUpIHsK
KyAgICAgICAgICAgIHRoaXMuX2FkZFNsaWRlclRleHRGb3JtYXR0aW5nRm9yWmVyb0RheXMoKTsK
KyAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMuX3JlbW92ZVNsaWRlclRleHRGb3Jt
YXR0aW5nRm9yWmVyb0RheXMoKTsKKyAgICAgICAgfQorICAgIH0KKworICAgIF9lbnRlclRleHRN
b2RlKGV2ZW50KQorICAgIHsKKyAgICAgICAgc3VwZXIuX2VudGVyVGV4dE1vZGUoZXZlbnQpOwor
ICAgICAgICB0aGlzLl9pblRleHRNb2RlID0gdHJ1ZTsKKyAgICAgICAgdGhpcy5fcmVtb3ZlU2xp
ZGVyVGV4dEZvcm1hdHRpbmdGb3JaZXJvRGF5cygpOworICAgIH0KKworICAgIF9leGl0VGV4dE1v
ZGUoZXZlbnQpCisgICAgeworICAgICAgICBzdXBlci5fZXhpdFRleHRNb2RlKGV2ZW50KTsKKyAg
ICAgICAgdGhpcy5faW5UZXh0TW9kZSA9IGZhbHNlOworICAgICAgICBpZiAodGhpcy5fbnVtYmVy
T2ZEYXlzID09PSAwKSB7CisgICAgICAgICAgICB0aGlzLl9hZGRTbGlkZXJUZXh0Rm9ybWF0dGlu
Z0Zvclplcm9EYXlzKCk7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBzdGF0aWMgZGF5c0NvdW50
TGFiZWxUZXh0KCkKKyAgICB7CisgICAgICAgIHJldHVybiBgPGxhYmVsIGlkPSJkYXktY291bnQt
ZGVzY3JpcHRpb24iIGNsYXNzPSJsYWJlbCI+PC9sYWJlbD5gOworICAgIH0KK30KKworQ29tcG9u
ZW50QmFzZS5kZWZpbmVFbGVtZW50KCdzdW1tYXJ5LXRvb2xiYXInLCBTdW1tYXJ5VG9vbGJhcik7
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>372541</attachid>
            <date>2019-06-19 23:11:32 -0700</date>
            <delta_ts>2019-06-19 23:17:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-199054-20190619231132.patch</filename>
            <type>text/plain</type>
            <size>2783</size>
            <attacher name="Dean Johnson">dean_johnson</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjQ2NjEyCmRpZmYgLS1naXQgYS9XZWJzaXRlcy9wZXJmLndl
YmtpdC5vcmcvQ2hhbmdlTG9nIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL0NoYW5nZUxvZwpp
bmRleCAxYTQyYWIxOTlhMGNmNGRkMzM5ZjlkMmZhZjUwMTNjYzJjYzM1MWY0Li4wYTM3OTFjOTM4
NzAyMjNkNTRjNzdmMDVlNTRjZWZjODEwZDk5OGRlIDEwMDY0NAotLS0gYS9XZWJzaXRlcy9wZXJm
LndlYmtpdC5vcmcvQ2hhbmdlTG9nCisrKyBiL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxOS0wNi0xOSAgRGVhbiBKb2huc29uICA8ZGVhbl9q
b2huc29uQGFwcGxlLmNvbT4KKworICAgICAgICBbcGVyZi53ZWJraXQub3JnXSBXaGVuIGNhbGN1
bGF0aW5nIGEgcmF0aW8gZm9yIHRoZSBzdW1tYXJ5IHBhZ2UsIHVzZSBhIHJvbGxpbmcgd2luZG93
IGZvciBsYXN0IGF2YWlsYWJsZSBkYXRhIGluc3RlYWQgb2Ygb25seSB0aGUgbGFzdCBhdmFpbGFi
bGUgZGF0YSBwb2ludAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTk5MDU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgU2luY2Ugd2Ugc2V0IHRoZSAibGFzdCAyNCBob3VycyIgd2luZG93IHRvIHRoZSBjdXJy
ZW50IHRpbWUsIGFuZCBpdCBjYW4gdGFrZSBob3VycyBiZXR3ZWVuIGEgY29tbWl0IGxhbmRpbmcs
CisgICAgICAgIGJ1aWxkIHByb2R1Y3RzIGJlY29taW5nIGF2YWlsYWJsZSwgYW5kIHRlc3Rpbmcg
dG8gb2NjdXIsIHRoaXMgMjQgaG91ciB3aW5kb3cgd2lsbCBhbHdheXMgaGF2ZSBhIG1hcmdpbiB0
aGF0CisgICAgICAgIGNvbnRhaW5zIG5vIGRhdGEgdG8gZXZhbHVhdGUuIEFkZGl0aW9uYWxseSwg
dXNpbmcgb25seSBhIHNpbmdsZSBkYXRhIHBvaW50IHdoZW4gbm8gZGF0YSBpcyBhdmFpbGFibGUg
aW4gdGhlCisgICAgICAgIHBhc3QgMjQgaG91cnMgY2FuIGxlYWQgdG8gbWlzcmVwcmVzZW50ZWQg
cmVzdWx0cyBkdWUgdG8gYSBzaW5nbGUgb3V0bGllciBydW4gYmVmb3JlIGEgY29uZmlndXJhdGlv
biBzdG9wcGVkCisgICAgICAgIHByb2R1Y2luZyByZXN1bHRzLgorCisgICAgICAgICogcHVibGlj
L3YzL3BhZ2VzL3N1bW1hcnktcGFnZS5qczoKKyAgICAgICAgKFN1bW1hcnlQYWdlQ29uZmlndXJh
dGlvbkdyb3VwLnNldCBfc3RhcnRBbmRFbmRQb2ludEZvclRpbWVSYW5nZSk6IFVzZSBhIHJvbGxp
bmcgd2luZG93IGJhc2VkIG9uIHRoZSBmaXJzdCBhdmFpbGFibGUKKyAgICAgICAgZGF0YSBwb2lu
dCBiZWZvcmUgdGhlIGVuZCBvZiBhIHRpbWUgcmFuZ2UuCisKIDIwMTktMDYtMTkgIERlYW4gSm9o
bnNvbiAgPGRlYW5fam9obnNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW3BlcmYud2Via2l0Lm9y
Z10gQWRkICdiYWNrIGluIHRpbWUnIGZlYXR1cmUgZm9yIFN1bW1hcnkgcGFnZXMKZGlmZiAtLWdp
dCBhL1dlYnNpdGVzL3BlcmYud2Via2l0Lm9yZy9wdWJsaWMvdjMvcGFnZXMvc3VtbWFyeS1wYWdl
LmpzIGIvV2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9zdW1tYXJ5LXBh
Z2UuanMKaW5kZXggOTgzZTI5NzQ0YTM3OTU1NWE0ZTRjMThjMTY4ZmFlNjgyMGVjZGRhYi4uM2Ex
ZDlhZGFlNGExMWIwNDNhYjJiMzllMGQzYTU1Y2NjNDUwNzk0MyAxMDA2NDQKLS0tIGEvV2Vic2l0
ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9zdW1tYXJ5LXBhZ2UuanMKKysrIGIv
V2Vic2l0ZXMvcGVyZi53ZWJraXQub3JnL3B1YmxpYy92My9wYWdlcy9zdW1tYXJ5LXBhZ2UuanMK
QEAgLTM4MCw4ICszODAsMTIgQEAgY2xhc3MgU3VtbWFyeVBhZ2VDb25maWd1cmF0aW9uR3JvdXAg
ewogICAgICAgICBpZiAoIXRpbWVTZXJpZXMuZmlyc3RQb2ludCgpKQogICAgICAgICAgICAgcmV0
dXJuIE5hTjsKIAotICAgICAgICBjb25zdCBzdGFydFBvaW50ID0gdGltZVNlcmllcy5maW5kUG9p
bnRBZnRlclRpbWUodGltZVJhbmdlWzBdKSB8fCB0aW1lU2VyaWVzLmxhc3RQb2ludCgpOwotICAg
ICAgICBjb25zdCBhZnRlckVuZFBvaW50ID0gdGltZVNlcmllcy5maW5kUG9pbnRBZnRlclRpbWUo
dGltZVJhbmdlWzFdKSB8fCB0aW1lU2VyaWVzLmxhc3RQb2ludCgpOworICAgICAgICAvLyBJZiBu
byBkYXRhIGlzIGF2YWlsYWJsZSBpbiB0aGUgcHJvdmlkZWQgdGltZVJhbmdlLCBvZmZzZXQgdGhl
IHNlYXJjaCB3aW5kb3cgdG8KKyAgICAgICAgLy8gdGhlIGxhc3QgYXZhaWxhYmxlIGRhdGEgcG9p
bnQuCisgICAgICAgIGNvbnN0IG9mZnNldCA9ICF0aW1lU2VyaWVzLmZpbmRQb2ludEFmdGVyVGlt
ZSh0aW1lUmFuZ2VbMF0pID8gdGltZVJhbmdlWzBdIC0gdGltZVNlcmllcy5sYXN0UG9pbnQoKS50
aW1lIDogMDsKKyAgICAgICAgY29uc3Qgc3RhcnRQb2ludCA9IHRpbWVTZXJpZXMuZmluZFBvaW50
QWZ0ZXJUaW1lKHRpbWVSYW5nZVswXSAtIG9mZnNldCkgfHwgdGltZVNlcmllcy5sYXN0UG9pbnQo
KTsKKyAgICAgICAgY29uc3QgYWZ0ZXJFbmRQb2ludCA9IHRpbWVTZXJpZXMuZmluZFBvaW50QWZ0
ZXJUaW1lKHRpbWVSYW5nZVsxXSAtIG9mZnNldCkgfHwgdGltZVNlcmllcy5sYXN0UG9pbnQoKTsK
KwogICAgICAgICBsZXQgZW5kUG9pbnQgPSB0aW1lU2VyaWVzLnByZXZpb3VzUG9pbnQoYWZ0ZXJF
bmRQb2ludCk7CiAgICAgICAgIGlmICghZW5kUG9pbnQgfHwgc3RhcnRQb2ludCA9PSBhZnRlckVu
ZFBvaW50KQogICAgICAgICAgICAgZW5kUG9pbnQgPSBhZnRlckVuZFBvaW50Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>