<?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>148412</bug_id>
          
          <creation_ts>2015-08-24 19:07:46 -0700</creation_ts>
          <short_desc>Web Inspector: Rendering Frames pie chart should use the needsLayout/updateLayout idiom</short_desc>
          <delta_ts>2015-08-25 10:55:26 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Baker">mattbaker</reporter>
          <assigned_to name="Matt Baker">mattbaker</assigned_to>
          <cc>bburg</cc>
    
    <cc>commit-queue</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>mattbaker</cc>
    
    <cc>nvasilyev</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1120499</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-08-24 19:07:46 -0700</bug_when>
    <thetext>* SUMMARY
Rendering Frames pie chart should use the needsLayout/updateLayout idiom. The chart should also allow existing values to be updated, so we don&apos;t have to rebuild the legend every time a frame is added to the timeline.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120500</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2015-08-24 19:08:20 -0700</bug_when>
    <thetext>&lt;rdar://problem/22413304&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120503</commentid>
    <comment_count>2</comment_count>
      <attachid>259807</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-08-24 19:24:05 -0700</bug_when>
    <thetext>Created attachment 259807
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120618</commentid>
    <comment_count>3</comment_count>
      <attachid>259807</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2015-08-25 10:06:34 -0700</bug_when>
    <thetext>Comment on attachment 259807
[Patch] Proposed Fix

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

&gt; Source/WebInspectorUI/UserInterface/Views/ChartDetailsSectionRow.js:205
&gt; +            else
&gt; +                return item.value;

No else.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120626</commentid>
    <comment_count>4</comment_count>
      <attachid>259856</attachid>
    <who name="Matt Baker">mattbaker</who>
    <bug_when>2015-08-25 10:24:12 -0700</bug_when>
    <thetext>Created attachment 259856
[Patch] Proposed Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120635</commentid>
    <comment_count>5</comment_count>
      <attachid>259856</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-25 10:55:22 -0700</bug_when>
    <thetext>Comment on attachment 259856
[Patch] Proposed Fix

Clearing flags on attachment: 259856

Committed r188916: &lt;http://trac.webkit.org/changeset/188916&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1120636</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-08-25 10:55:26 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259807</attachid>
            <date>2015-08-24 19:24:05 -0700</date>
            <delta_ts>2015-08-25 10:24:07 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-148412-20150824192358.patch</filename>
            <type>text/plain</type>
            <size>12844</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4ODk5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
MWQ0NmExOTc1ZmFkN2NlNjhiNGI3ZTc5YTBmM2NhYmU0Njk3M2QxLi44NmE1NWM2YjA1NTM5YTAx
YmIwNmFiMjNhMjEwZTNlMTE3NDMzYTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxNS0wOC0yNCAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVuZGVyaW5nIEZyYW1lcyBwaWUgY2hhcnQgc2hv
dWxkIHVzZSB0aGUgbmVlZHNMYXlvdXQvdXBkYXRlTGF5b3V0IGlkaW9tCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0MTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvVmlld3Mv
Q2hhcnREZXRhaWxzU2VjdGlvblJvdy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DaGFydERl
dGFpbHNTZWN0aW9uUm93KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0
aW9uUm93LnByb3RvdHlwZS5zZXQgaW5uZXJMYWJlbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q2hhcnREZXRhaWxzU2VjdGlvblJvdy5wcm90b3R5cGUuc2V0IGlubmVyUmFkaXVzKToKKyAgICAg
ICAgU2NoZWR1bGUgYSBsYXlvdXQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxz
U2VjdGlvblJvdy5wcm90b3R5cGUuc2V0IGRhdGEpOiBEZWxldGVkLgorICAgICAgICBSZXBsYWNl
ZCBieSBhZGRJdGVtLCBzZXRJdGVtVmFsdWUsIGFuZCBjbGVhckl0ZW1zLgorICAgICAgICAoV2Vi
SW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLmFkZEl0ZW0pOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLnNldEl0
ZW1WYWx1ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5w
cm90b3R5cGUuY2xlYXJJdGVtcyk6CisgICAgICAgIEFkZC91cGRhdGUgZGF0YSBwb2ludHMgYW5k
IHNjaGVkdWxlIGEgbGF5b3V0LgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1Nl
Y3Rpb25Sb3cucHJvdG90eXBlLl9uZWVkc0xheW91dCk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q2hhcnREZXRhaWxzU2VjdGlvblJvdy5wcm90b3R5cGUudXBkYXRlTGF5b3V0KToKKyAgICAgICAg
VXBkYXRlIGxlZ2VuZCBhbmQgZHJhdyBwaWUgY2hhcnQuCisgICAgICAgIChXZWJJbnNwZWN0b3Iu
Q2hhcnREZXRhaWxzU2VjdGlvblJvdy5wcm90b3R5cGUuX2NyZWF0ZUxlZ2VuZCk6IERlbGV0ZWQu
CisgICAgICAgIFJlZmFjdG9yZWQgYXMgX3VwZGF0ZUxlZ2VuZC4KKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5fcmVmcmVzaCk6IERlbGV0ZWQu
CisgICAgICAgIFJlZmFjdG9yZWQgYXMgdXBkYXRlTGF5b3V0LgorCisgICAgICAgICogVXNlcklu
dGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCk6CisgICAgICAgIEFkZCBjaGFydCBkYXRhIHBvaW50
cyBvbmNlLgorICAgICAgICAoV2ViSW5zcGVjdG9yLlRpbWVsaW5lU2lkZWJhclBhbmVsLl9yZWZy
ZXNoRnJhbWVTZWxlY3Rpb25DaGFydCk6CisgICAgICAgIFVwZGF0ZSBjaGFydCB2YWx1ZXMuCisK
IDIwMTUtMDgtMjQgIEJyaWFuIEJ1cmcgIDxiYnVyZ0BhcHBsZS5jb20+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogYWRkIHByb3RvY29sIHRlc3QgZm9yIGV4aXN0aW5nIGVycm9yIGhhbmRsaW5n
IHBlcmZvcm1lZCBieSB0aGUgYmFja2VuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3Rv
clVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5qcyBiL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYXJ0RGV0YWlsc1NlY3Rpb25S
b3cuanMKaW5kZXggMWM1MDU1NGFlNjgwODg0NTU0MjllZjg3NTllZjI1MWRiZTUxMzhiOS4uMTg4
Nzc5MzIzNTc1YzU0ZTJjZjRmODIzYjU4MDQ1ZmZlZjFjMWVkZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2hhcnREZXRhaWxzU2VjdGlvblJv
dy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFy
dERldGFpbHNTZWN0aW9uUm93LmpzCkBAIC00OCw3ICs0OCw3IEBAIFdlYkluc3BlY3Rvci5DaGFy
dERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQ2hhcnREZXRhaWxzU2VjdGlvblJvdyBleHRlbmRz
IFdlYkluCiAgICAgICAgIGNoYXJ0Q29udGVudEVsZW1lbnQuYXBwZW5kQ2hpbGQodGhpcy5fbGVn
ZW5kRWxlbWVudCk7CiAKICAgICAgICAgdGhpcy5fZGVsZWdhdGUgPSBkZWxlZ2F0ZTsKLSAgICAg
ICAgdGhpcy5faXRlbXMgPSBbXTsKKyAgICAgICAgdGhpcy5faXRlbXMgPSBuZXcgTWFwOwogICAg
ICAgICB0aGlzLl90aXRsZSA9ICIiOwogICAgICAgICB0aGlzLl9pbm5lckxhYmVsID0gIiI7CiAg
ICAgICAgIHRoaXMuX2lubmVyUmFkaXVzID0gMDsKQEAgLTgzLDcgKzgzLDcgQEAgV2ViSW5zcGVj
dG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBDaGFydERldGFpbHNTZWN0aW9uUm93
IGV4dGVuZHMgV2ViSW4KIAogICAgICAgICB0aGlzLl9pbm5lckxhYmVsID0gbGFiZWw7CiAKLSAg
ICAgICAgdGhpcy5fcmVmcmVzaCgpOworICAgICAgICB0aGlzLl9uZWVkc0xheW91dCgpOwogICAg
IH0KIAogICAgIHNldCBpbm5lclJhZGl1cyhyYWRpdXMpCkBAIC05Myw3ICs5Myw3IEBAIFdlYklu
c3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQ2hhcnREZXRhaWxzU2VjdGlv
blJvdyBleHRlbmRzIFdlYkluCiAKICAgICAgICAgdGhpcy5faW5uZXJSYWRpdXMgPSByYWRpdXM7
CiAKLSAgICAgICAgdGhpcy5fcmVmcmVzaCgpOworICAgICAgICB0aGlzLl9uZWVkc0xheW91dCgp
OwogICAgIH0KIAogICAgIGdldCB0b3RhbCgpCkBAIC0xMDEsMjMgKzEwMSw0OCBAQCBXZWJJbnNw
ZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rpb25S
b3cgZXh0ZW5kcyBXZWJJbgogICAgICAgICByZXR1cm4gdGhpcy5fdG90YWw7CiAgICAgfQogCi0g
ICAgc2V0IGRhdGEoaXRlbXMpCisgICAgYWRkSXRlbShpZCwgbGFiZWwsIHZhbHVlLCBjb2xvciwg
Y2hlY2tib3gsIGNoZWNrZWQpCiAgICAgewotICAgICAgICBpZiAoIShpdGVtcyBpbnN0YW5jZW9m
IEFycmF5KSkKLSAgICAgICAgICAgIGl0ZW1zID0gW2l0ZW1zXTsKKyAgICAgICAgY29uc29sZS5h
c3NlcnQoIXRoaXMuX2l0ZW1zLmhhcyhpZCksICJBbHJlYWR5IGFkZGVkIGl0ZW0gd2l0aCBpZDog
IiArIGlkKTsKKyAgICAgICAgaWYgKHRoaXMuX2l0ZW1zLmhhcyhpZCkpCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgY29uc29sZS5hc3NlcnQodmFsdWUgPj0gMCwgIlZhbHVlIGNhbm5v
dCBiZSBuZWdhdGl2ZS4iKTsKKyAgICAgICAgaWYgKHZhbHVlIDwgMCkKKyAgICAgICAgICAgIHJl
dHVybjsKKworICAgICAgICB0aGlzLl9pdGVtcy5zZXQoaWQsIHtsYWJlbCwgdmFsdWUsIGNvbG9y
LCBjaGVja2JveCwgY2hlY2tlZH0pOworICAgICAgICB0aGlzLl90b3RhbCArPSB2YWx1ZTsKKwor
ICAgICAgICB0aGlzLl9uZWVkc0xheW91dCgpOworICAgIH0KKworICAgIHNldEl0ZW1WYWx1ZShp
ZCwgdmFsdWUpCisgICAgeworICAgICAgICBsZXQgaXRlbSA9IHRoaXMuX2l0ZW1zLmdldChpZCk7
CisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KGl0ZW0sICJDYW5ub3Qgc2V0IHZhbHVlIGZvciBpbnZh
bGlkIGl0ZW0gaWQ6ICIgKyBpZCk7CisgICAgICAgIGlmICghaXRlbSkKKyAgICAgICAgICAgIHJl
dHVybjsKIAotICAgICAgICBpdGVtcyA9IGl0ZW1zLmZpbHRlcihmdW5jdGlvbihpdGVtKSB7IHJl
dHVybiBpdGVtLnZhbHVlID49IDA7IH0pOwotICAgICAgICBpZiAoIXRoaXMuX2l0ZW1zLmxlbmd0
aCAmJiAhaXRlbXMubGVuZ3RoKQorICAgICAgICBjb25zb2xlLmFzc2VydCh2YWx1ZSA+PSAwLCAi
VmFsdWUgY2Fubm90IGJlIG5lZ2F0aXZlLiIpOworICAgICAgICBpZiAodmFsdWUgPCAwKQogICAg
ICAgICAgICAgcmV0dXJuOwogCi0gICAgICAgIGlmICh0aGlzLl9pdGVtcy5sZW5ndGggPT09IGl0
ZW1zLmxlbmd0aCAmJiB0aGlzLl9pdGVtcy5ldmVyeShmdW5jdGlvbihpdGVtLCBpbmRleCkgeyBy
ZXR1cm4gSlNPTi5zdHJpbmdpZnkoaXRlbSkgPT09IEpTT04uc3RyaW5naWZ5KGl0ZW1zW2luZGV4
XSk7IH0pKQorICAgICAgICBpZiAoaXRlbS52YWx1ZSA9PT0gdmFsdWUpCiAgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgdGhpcy5faXRlbXMgPSBpdGVtczsKLSAgICAgICAgdGhpcy5fdG90
YWwgPSB0aGlzLl9pdGVtcy5yZWR1Y2UoZnVuY3Rpb24ocHJldmlvdXNWYWx1ZSwgY3VycmVudFZh
bHVlKSB7IHJldHVybiBwcmV2aW91c1ZhbHVlICsgY3VycmVudFZhbHVlLnZhbHVlOyB9LCAwKTs7
CisgICAgICAgIHRoaXMuX3RvdGFsICs9IHZhbHVlIC0gaXRlbS52YWx1ZTsKKyAgICAgICAgaXRl
bS52YWx1ZSA9IHZhbHVlOwogCi0gICAgICAgIHRoaXMuX2NyZWF0ZUxlZ2VuZCgpOwotICAgICAg
ICB0aGlzLl9yZWZyZXNoKCk7CisgICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7CisgICAgfQor
CisgICAgY2xlYXJJdGVtcygpCisgICAgeworICAgICAgICB0aGlzLl90b3RhbCA9IDA7CisgICAg
ICAgIHRoaXMuX2l0ZW1zLmNsZWFyKCk7CisKKyAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsK
ICAgICB9CiAKICAgICAvLyBQcml2YXRlCkBAIC0xNjUsMTUgKzE5MCwzMiBAQCBXZWJJbnNwZWN0
b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cg
ZXh0ZW5kcyBXZWJJbgogICAgICAgICBzdHlsZVNoZWV0Lmluc2VydFJ1bGUoIi5kZXRhaWxzLXNl
Y3Rpb24gPiAuY29udGVudCA+IC5ncm91cCA+IC5yb3cuY2hhcnQgPiAuY2hhcnQtY29udGVudCA+
IC5sZWdlbmQgPiAubGVnZW5kLWl0ZW0gPiBsYWJlbCA+IGlucHV0W3R5cGU9Y2hlY2tib3hdLiIg
KyBpZCArICIgeyBmaWx0ZXI6IGdyYXlzY2FsZSgxKSB1cmwoIyIgKyBpZCArICIpIH0iLCAwKTsK
ICAgICB9CiAKLSAgICBfY3JlYXRlTGVnZW5kKCkKKyAgICBfdXBkYXRlTGVnZW5kKCkKICAgICB7
Ci0gICAgICAgIHRoaXMuX2xlZ2VuZEVsZW1lbnQucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAgICAg
aWYgKCF0aGlzLl9pdGVtcy5zaXplKSB7CisgICAgICAgICAgICB0aGlzLl9sZWdlbmRFbGVtZW50
LnJlbW92ZUNoaWxkcmVuKCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBmdW5jdGlvbiBmb3JtYXRJdGVtVmFsdWUoaXRlbSkKKyAgICAgICAgeworICAgICAgICAg
ICAgaWYgKHRoaXMuX2RlbGVnYXRlICYmIHR5cGVvZiB0aGlzLl9kZWxlZ2F0ZS5mb3JtYXRDaGFy
dFZhbHVlID09PSAiZnVuY3Rpb24iKQorICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLl9kZWxl
Z2F0ZS5mb3JtYXRDaGFydFZhbHVlKGl0ZW0udmFsdWUpOworICAgICAgICAgICAgZWxzZQorICAg
ICAgICAgICAgICAgIHJldHVybiBpdGVtLnZhbHVlOworICAgICAgICB9CisKKyAgICAgICAgZm9y
IChsZXQgW2lkLCBpdGVtXSBvZiB0aGlzLl9pdGVtcykgeworICAgICAgICAgICAgaWYgKGl0ZW1b
V2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cuTGVnZW5kSXRlbVZhbHVlRWxlbWVu
dFN5bWJvbF0pIHsKKyAgICAgICAgICAgICAgICBsZXQgdmFsdWVFbGVtZW50ID0gaXRlbVtXZWJJ
bnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5MZWdlbmRJdGVtVmFsdWVFbGVtZW50U3lt
Ym9sXTsKKyAgICAgICAgICAgICAgICB2YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBmb3JtYXRJ
dGVtVmFsdWUuY2FsbCh0aGlzLCBpdGVtKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAg
ICAgICAgICAgIH0KIAotICAgICAgICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuX2l0ZW1zKSB7CiAg
ICAgICAgICAgICBsZXQgbGFiZWxFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFi
ZWwiKTsKICAgICAgICAgICAgIGxldCBrZXlFbGVtZW50OwogICAgICAgICAgICAgaWYgKGl0ZW0u
Y2hlY2tib3gpIHsKLSAgICAgICAgICAgICAgICBsZXQgY2xhc3NOYW1lID0gaXRlbS5pZC50b0xv
d2VyQ2FzZSgpOworICAgICAgICAgICAgICAgIGxldCBjbGFzc05hbWUgPSBpZC50b0xvd2VyQ2Fz
ZSgpOwogICAgICAgICAgICAgICAgIGxldCByZ2IgPSBpdGVtLmNvbG9yLnN1YnN0cmluZyg0LCBp
dGVtLmNvbG9yLmxlbmd0aCAtIDEpLnJlcGxhY2UoLyAvZywgIiIpLnNwbGl0KCIsIik7CiAgICAg
ICAgICAgICAgICAgaWYgKHJnYlswXSA9PT0gcmdiWzFdICYmIHJnYlsxXSA9PT0gcmdiWzJdKQog
ICAgICAgICAgICAgICAgICAgICByZ2JbMF0gPSByZ2JbMV0gPSByZ2JbMl0gPSBNYXRoLm1pbigx
NjAsIHJnYlswXSk7CkBAIC0xODIsNyArMjI0LDcgQEAgV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWls
c1NlY3Rpb25Sb3cgPSBjbGFzcyBDaGFydERldGFpbHNTZWN0aW9uUm93IGV4dGVuZHMgV2ViSW4K
ICAgICAgICAgICAgICAgICBrZXlFbGVtZW50LnR5cGUgPSAiY2hlY2tib3giOwogICAgICAgICAg
ICAgICAgIGtleUVsZW1lbnQuY2xhc3NMaXN0LmFkZChjbGFzc05hbWUpOwogICAgICAgICAgICAg
ICAgIGtleUVsZW1lbnQuY2hlY2tlZCA9IGl0ZW0uY2hlY2tlZDsKLSAgICAgICAgICAgICAgICBr
ZXlFbGVtZW50W1dlYkluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93LkRhdGFJdGVtSWRT
eW1ib2xdID0gaXRlbS5pZDsKKyAgICAgICAgICAgICAgICBrZXlFbGVtZW50W1dlYkluc3BlY3Rv
ci5DaGFydERldGFpbHNTZWN0aW9uUm93LkRhdGFJdGVtSWRTeW1ib2xdID0gaWQ7CiAKICAgICAg
ICAgICAgICAgICBrZXlFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIHRoaXMuX2xl
Z2VuZEl0ZW1DaGVja2JveFZhbHVlQ2hhbmdlZC5iaW5kKHRoaXMpKTsKIApAQCAtMTk3LDExICsy
MzksOSBAQCBXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0
RGV0YWlsc1NlY3Rpb25Sb3cgZXh0ZW5kcyBXZWJJbgogCiAgICAgICAgICAgICBsZXQgdmFsdWVF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICB2YWx1
ZUVsZW1lbnQuY2xhc3NMaXN0LmFkZCgidmFsdWUiKTsKKyAgICAgICAgICAgIHZhbHVlRWxlbWVu
dC50ZXh0Q29udGVudCA9IGZvcm1hdEl0ZW1WYWx1ZS5jYWxsKHRoaXMsIGl0ZW0pOwogCi0gICAg
ICAgICAgICBpZiAodGhpcy5fZGVsZWdhdGUgJiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLmZvcm1h
dENoYXJ0VmFsdWUgPT09ICJmdW5jdGlvbiIpCi0gICAgICAgICAgICAgICAgdmFsdWVFbGVtZW50
LnRleHRDb250ZW50ID0gdGhpcy5fZGVsZWdhdGUuZm9ybWF0Q2hhcnRWYWx1ZShpdGVtLnZhbHVl
KTsKLSAgICAgICAgICAgIGVsc2UKLSAgICAgICAgICAgICAgICB2YWx1ZUVsZW1lbnQudGV4dENv
bnRlbnQgPSBpdGVtLnZhbHVlOworICAgICAgICAgICAgaXRlbVtXZWJJbnNwZWN0b3IuQ2hhcnRE
ZXRhaWxzU2VjdGlvblJvdy5MZWdlbmRJdGVtVmFsdWVFbGVtZW50U3ltYm9sXSA9IHZhbHVlRWxl
bWVudDsKIAogICAgICAgICAgICAgbGV0IGxlZ2VuZEl0ZW1FbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICBsZWdlbmRJdGVtRWxlbWVudC5jbGFzc0xp
c3QuYWRkKCJsZWdlbmQtaXRlbSIpOwpAQCAtMjE4LDggKzI1OCwyMyBAQCBXZWJJbnNwZWN0b3Iu
Q2hhcnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgZXh0
ZW5kcyBXZWJJbgogICAgICAgICB0aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNw
ZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5FdmVudC5MZWdlbmRJdGVtQ2hlY2tlZCwge2lk
LCBjaGVja2VkOiBjaGVja2JveC5jaGVja2VkfSk7CiAgICAgfQogCi0gICAgX3JlZnJlc2goKQor
ICAgIF9uZWVkc0xheW91dCgpCiAgICAgeworICAgICAgICBpZiAodGhpcy5fc2NoZWR1bGVkTGF5
b3V0VXBkYXRlSWRlbnRpZmllcikKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlz
Ll9zY2hlZHVsZWRMYXlvdXRVcGRhdGVJZGVudGlmaWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1l
KHRoaXMudXBkYXRlTGF5b3V0LmJpbmQodGhpcykpOworICAgIH0KKworICAgIHVwZGF0ZUxheW91
dCgpCisgICAgeworICAgICAgICBpZiAodGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRp
ZmllcikgeworICAgICAgICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fc2NoZWR1bGVk
TGF5b3V0VXBkYXRlSWRlbnRpZmllcik7CisgICAgICAgICAgICB0aGlzLl9zY2hlZHVsZWRMYXlv
dXRVcGRhdGVJZGVudGlmaWVyID0gdW5kZWZpbmVkOworICAgICAgICB9CisKKyAgICAgICAgdGhp
cy5fdXBkYXRlTGVnZW5kKCk7CisKICAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5fY2FudmFzLmNs
aWVudFdpZHRoICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CiAgICAgICAgIHZhciBoZWlnaHQg
PSB0aGlzLl9jYW52YXMuY2xpZW50SGVpZ2h0ICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CiAg
ICAgICAgIHRoaXMuX2NhbnZhcy53aWR0aCA9IHdpZHRoOwpAQCAtMjUzLDcgKzMwOCw3IEBAIFdl
Ykluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQ2hhcnREZXRhaWxzU2Vj
dGlvblJvdyBleHRlbmRzIFdlYkluCiAgICAgICAgIGRyYXdTbGljZSh4LCB5LCAwLCAyLjAgKiBN
YXRoLlBJLCAicmdiKDI0MiwgMjQyLCAyNDIpIik7CiAgICAgICAgIGNvbnRleHQucmVzdG9yZSgp
OwogCi0gICAgICAgIGZvciAodmFyIGl0ZW0gb2YgdGhpcy5faXRlbXMpIHsKKyAgICAgICAgZm9y
IChsZXQgW2lkLCBpdGVtXSBvZiB0aGlzLl9pdGVtcykgewogICAgICAgICAgICAgaWYgKGl0ZW0u
dmFsdWUgPT09IDApCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBlbmRB
bmdsZSArPSAoaXRlbS52YWx1ZSAvIHRoaXMuX3RvdGFsKSAqIDIuMCAqIE1hdGguUEk7CkBAIC0y
NzIsNiArMzI3LDcgQEAgV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFz
cyBDaGFydERldGFpbHNTZWN0aW9uUm93IGV4dGVuZHMgV2ViSW4KIH07CiAKIFdlYkluc3BlY3Rv
ci5DaGFydERldGFpbHNTZWN0aW9uUm93LkRhdGFJdGVtSWRTeW1ib2wgPSBTeW1ib2woImNoYXJ0
LWRldGFpbHMtc2VjdGlvbi1yb3ctZGF0YS1pdGVtLWlkIik7CitXZWJJbnNwZWN0b3IuQ2hhcnRE
ZXRhaWxzU2VjdGlvblJvdy5MZWdlbmRJdGVtVmFsdWVFbGVtZW50U3ltYm9sID0gU3ltYm9sKCJj
aGFydC1kZXRhaWxzLXNlY3Rpb24tcm93LWxlZ2VuZC1pdGVtLXZhbHVlLWVsZW1lbnQiKTsKIAog
V2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cuRXZlbnQgPSB7CiAgICAgTGVnZW5k
SXRlbUNoZWNrZWQ6ICJjaGFydC1kZXRhaWxzLXNlY3Rpb24tcm93LWxlZ2VuZC1pdGVtLWNoZWNr
ZWQiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3
cy9UaW1lbGluZVNpZGViYXJQYW5lbC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50
ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCmluZGV4IDI5ZjQ5N2Y4NTUyZTg2
OTg0NjAyYTk1NTIwZGMzZGUyMTY1ZDA2NmIuLjZmZTE0NjdiZGQzNzM1YzZhMzQ3MjM0NmFhMzFh
NmIyMjk5NWQ1NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJm
YWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCkBAIC05Nyw2
ICs5NywxNCBAQCBXZWJJbnNwZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1l
bGluZVNpZGViYXJQYW5lbCBleHRlbmRzIFdlYkluc3BlYwogICAgICAgICAgICAgdGhpcy5fZnJh
bWVTZWxlY3Rpb25DaGFydFJvdy5pbm5lclJhZGl1cyA9IDAuNTsKICAgICAgICAgICAgIHRoaXMu
X2ZyYW1lU2VsZWN0aW9uQ2hhcnRSb3cuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ2hh
cnREZXRhaWxzU2VjdGlvblJvdy5FdmVudC5MZWdlbmRJdGVtQ2hlY2tlZCwgdGhpcy5fZnJhbWVT
ZWxlY3Rpb25MZWdlbmRJdGVtQ2hlY2tlZCwgdGhpcyk7CiAKKyAgICAgICAgICAgIGZvciAobGV0
IGtleSBpbiBXZWJJbnNwZWN0b3IuUmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5UYXNrVHlw
ZSkgeworICAgICAgICAgICAgICAgIGxldCB0YXNrVHlwZSA9IFdlYkluc3BlY3Rvci5SZW5kZXJp
bmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlW2tleV07CisgICAgICAgICAgICAgICAgbGV0
IGxhYmVsID0gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuZGlzcGxh
eU5hbWVGb3JUYXNrVHlwZSh0YXNrVHlwZSk7CisgICAgICAgICAgICAgICAgbGV0IGNvbG9yID0g
dGhpcy5fY2hhcnRDb2xvcnMuZ2V0KHRhc2tUeXBlKTsKKyAgICAgICAgICAgICAgICBsZXQgY2hl
Y2tib3ggPSB0YXNrVHlwZSAhPT0gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVS
ZWNvcmQuVGFza1R5cGUuT3RoZXI7CisgICAgICAgICAgICAgICAgdGhpcy5fZnJhbWVTZWxlY3Rp
b25DaGFydFJvdy5hZGRJdGVtKHRhc2tUeXBlLCBsYWJlbCwgMCwgY29sb3IsIGNoZWNrYm94LCB0
cnVlKTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVU
YXNrRmlsdGVyID0gbmV3IFNldDsKIAogICAgICAgICAgICAgdmFyIGNoYXJ0R3JvdXAgPSBuZXcg
V2ViSW5zcGVjdG9yLkRldGFpbHNTZWN0aW9uR3JvdXAoW3RoaXMuX2ZyYW1lU2VsZWN0aW9uQ2hh
cnRSb3ddKTsKQEAgLTg5MywxOSArOTAxLDEyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGVi
YXJQYW5lbCA9IGNsYXNzIFRpbWVsaW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAg
ICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWRSZWNvcmRzOwogICAgICAgICB9CiAKLSAgICAgICAg
dmFyIGNoYXJ0ID0gdGhpcy5fZnJhbWVTZWxlY3Rpb25DaGFydFJvdzsKLSAgICAgICAgdmFyIHJl
Y29yZHMgPSBnZXRTZWxlY3RlZFJlY29yZHMuY2FsbCh0aGlzKTsKLSAgICAgICAgdmFyIGNoYXJ0
RGF0YSA9IE9iamVjdC5rZXlzKFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVj
b3JkLlRhc2tUeXBlKS5tYXAoZnVuY3Rpb24odGFza1R5cGVLZXkpIHsKLSAgICAgICAgICAgIGxl
dCB0YXNrVHlwZSA9IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRh
c2tUeXBlW3Rhc2tUeXBlS2V5XTsKLSAgICAgICAgICAgIGxldCBsYWJlbCA9IFdlYkluc3BlY3Rv
ci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLmRpc3BsYXlOYW1lRm9yVGFza1R5cGUodGFz
a1R5cGUpOworICAgICAgICBsZXQgcmVjb3JkcyA9IGdldFNlbGVjdGVkUmVjb3Jkcy5jYWxsKHRo
aXMpOworICAgICAgICBmb3IgKGxldCBrZXkgaW4gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1l
VGltZWxpbmVSZWNvcmQuVGFza1R5cGUpIHsKKyAgICAgICAgICAgIGxldCB0YXNrVHlwZSA9IFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlW2tleV07CiAg
ICAgICAgICAgICBsZXQgdmFsdWUgPSByZWNvcmRzLnJlZHVjZShmdW5jdGlvbihwcmV2aW91c1Zh
bHVlLCBjdXJyZW50VmFsdWUpIHsgcmV0dXJuIHByZXZpb3VzVmFsdWUgKyBjdXJyZW50VmFsdWUu
ZHVyYXRpb25Gb3JUYXNrKHRhc2tUeXBlKTsgfSwgMCk7Ci0gICAgICAgICAgICBsZXQgY29sb3Ig
PSB0aGlzLl9jaGFydENvbG9ycy5nZXQodGFza1R5cGUpOwotICAgICAgICAgICAgbGV0IGNoZWNr
Ym94ID0gdGFza1R5cGUgIT09IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVj
b3JkLlRhc2tUeXBlLk90aGVyOwotICAgICAgICAgICAgbGV0IGNoZWNrZWQgPSBjaGVja2JveCAm
JiAhdGhpcy5fcmVuZGVyaW5nRnJhbWVUYXNrRmlsdGVyLmhhcyh0YXNrVHlwZSk7Ci0gICAgICAg
ICAgICByZXR1cm4ge2lkOiB0YXNrVHlwZSwgbGFiZWwsIHZhbHVlLCBjb2xvciwgY2hlY2tib3gs
IGNoZWNrZWR9OwotICAgICAgICB9LCB0aGlzKTsKLQotICAgICAgICB0aGlzLl9mcmFtZVNlbGVj
dGlvbkNoYXJ0Um93LmRhdGEgPSBjaGFydERhdGE7CisgICAgICAgICAgICB0aGlzLl9mcmFtZVNl
bGVjdGlvbkNoYXJ0Um93LnNldEl0ZW1WYWx1ZSh0YXNrVHlwZSwgdmFsdWUpOworICAgICAgICB9
CiAKICAgICAgICAgaWYgKCFyZWNvcmRzLmxlbmd0aCkgewogICAgICAgICAgICAgdGhpcy5fZnJh
bWVTZWxlY3Rpb25DaGFydFJvdy50aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRnJhbWVz
OiBOb25lIFNlbGVjdGVkIik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>259856</attachid>
            <date>2015-08-25 10:24:12 -0700</date>
            <delta_ts>2015-08-25 10:55:22 -0700</delta_ts>
            <desc>[Patch] Proposed Fix</desc>
            <filename>bug-148412-20150825102402.patch</filename>
            <type>text/plain</type>
            <size>12823</size>
            <attacher name="Matt Baker">mattbaker</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg4OTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwppbmRleCBm
MWQ0NmExOTc1ZmFkN2NlNjhiNGI3ZTc5YTBmM2NhYmU0Njk3M2QxLi5mZmVlNGQ3Mjk2MDg4ODNj
Njc4Y2M1OTUyNTA4OGM5MDkyNjhmOTcyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwzNSBAQAorMjAxNS0wOC0yNSAgTWF0dCBCYWtlciAgPG1hdHRiYWtlckBhcHBsZS5jb20+
CisKKyAgICAgICAgV2ViIEluc3BlY3RvcjogUmVuZGVyaW5nIEZyYW1lcyBwaWUgY2hhcnQgc2hv
dWxkIHVzZSB0aGUgbmVlZHNMYXlvdXQvdXBkYXRlTGF5b3V0IGlkaW9tCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDg0MTIKKworICAgICAgICBSZXZp
ZXdlZCBieSBUaW1vdGh5IEhhdGNoZXIuCisKKyAgICAgICAgKiBVc2VySW50ZXJmYWNlL1ZpZXdz
L0NoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cuanM6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2hhcnRE
ZXRhaWxzU2VjdGlvblJvdyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2Vj
dGlvblJvdy5wcm90b3R5cGUuc2V0IGlubmVyTGFiZWwpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLnNldCBpbm5lclJhZGl1cyk6CisgICAg
ICAgIFNjaGVkdWxlIGEgbGF5b3V0LgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWls
c1NlY3Rpb25Sb3cucHJvdG90eXBlLnNldCBkYXRhKTogRGVsZXRlZC4KKyAgICAgICAgUmVwbGFj
ZWQgYnkgYWRkSXRlbSwgc2V0SXRlbVZhbHVlLCBhbmQgY2xlYXJJdGVtcy4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5hZGRJdGVtKToKKyAg
ICAgICAgKFdlYkluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93LnByb3RvdHlwZS5zZXRJ
dGVtVmFsdWUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cu
cHJvdG90eXBlLmNsZWFySXRlbXMpOgorICAgICAgICBBZGQvdXBkYXRlIGRhdGEgcG9pbnRzIGFu
ZCBzY2hlZHVsZSBhIGxheW91dC4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5DaGFydERldGFpbHNT
ZWN0aW9uUm93LnByb3RvdHlwZS5fbmVlZHNMYXlvdXQpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLnVwZGF0ZUxheW91dCk6CisgICAgICAg
IFVwZGF0ZSBsZWdlbmQgYW5kIGRyYXcgcGllIGNoYXJ0LgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cucHJvdG90eXBlLl9jcmVhdGVMZWdlbmQpOiBEZWxldGVk
LgorICAgICAgICBSZWZhY3RvcmVkIGFzIF91cGRhdGVMZWdlbmQuCisgICAgICAgIChXZWJJbnNw
ZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5wcm90b3R5cGUuX3JlZnJlc2gpOiBEZWxldGVk
LgorICAgICAgICBSZWZhY3RvcmVkIGFzIHVwZGF0ZUxheW91dC4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvVmlld3MvVGltZWxpbmVTaWRlYmFyUGFuZWwuanM6CisgICAgICAgIChXZWJJbnNw
ZWN0b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwpOgorICAgICAgICBBZGQgY2hhcnQgZGF0YSBwb2lu
dHMgb25jZS4KKyAgICAgICAgKFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbC5fcmVm
cmVzaEZyYW1lU2VsZWN0aW9uQ2hhcnQpOgorICAgICAgICBVcGRhdGUgY2hhcnQgdmFsdWVzLgor
CiAyMDE1LTA4LTI0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAgIFdl
YiBJbnNwZWN0b3I6IGFkZCBwcm90b2NvbCB0ZXN0IGZvciBleGlzdGluZyBlcnJvciBoYW5kbGlu
ZyBwZXJmb3JtZWQgYnkgdGhlIGJhY2tlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cuanMgYi9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9DaGFydERldGFpbHNTZWN0aW9u
Um93LmpzCmluZGV4IDFjNTA1NTRhZTY4MDg4NDU1NDI5ZWY4NzU5ZWYyNTFkYmU1MTM4YjkuLmEy
ODk2ZDhjZDQyNDllNzExMWEzOWVjZTc5NzliNDllNDhmNWJjZjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL0NoYXJ0RGV0YWlsc1NlY3Rpb25S
b3cuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvVmlld3MvQ2hh
cnREZXRhaWxzU2VjdGlvblJvdy5qcwpAQCAtNDgsNyArNDgsNyBAQCBXZWJJbnNwZWN0b3IuQ2hh
cnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgZXh0ZW5k
cyBXZWJJbgogICAgICAgICBjaGFydENvbnRlbnRFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuX2xl
Z2VuZEVsZW1lbnQpOwogCiAgICAgICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7Ci0gICAg
ICAgIHRoaXMuX2l0ZW1zID0gW107CisgICAgICAgIHRoaXMuX2l0ZW1zID0gbmV3IE1hcDsKICAg
ICAgICAgdGhpcy5fdGl0bGUgPSAiIjsKICAgICAgICAgdGhpcy5faW5uZXJMYWJlbCA9ICIiOwog
ICAgICAgICB0aGlzLl9pbm5lclJhZGl1cyA9IDA7CkBAIC04Myw3ICs4Myw3IEBAIFdlYkluc3Bl
Y3Rvci5DaGFydERldGFpbHNTZWN0aW9uUm93ID0gY2xhc3MgQ2hhcnREZXRhaWxzU2VjdGlvblJv
dyBleHRlbmRzIFdlYkluCiAKICAgICAgICAgdGhpcy5faW5uZXJMYWJlbCA9IGxhYmVsOwogCi0g
ICAgICAgIHRoaXMuX3JlZnJlc2goKTsKKyAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsKICAg
ICB9CiAKICAgICBzZXQgaW5uZXJSYWRpdXMocmFkaXVzKQpAQCAtOTMsNyArOTMsNyBAQCBXZWJJ
bnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rp
b25Sb3cgZXh0ZW5kcyBXZWJJbgogCiAgICAgICAgIHRoaXMuX2lubmVyUmFkaXVzID0gcmFkaXVz
OwogCi0gICAgICAgIHRoaXMuX3JlZnJlc2goKTsKKyAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQo
KTsKICAgICB9CiAKICAgICBnZXQgdG90YWwoKQpAQCAtMTAxLDIzICsxMDEsNDggQEAgV2ViSW5z
cGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBDaGFydERldGFpbHNTZWN0aW9u
Um93IGV4dGVuZHMgV2ViSW4KICAgICAgICAgcmV0dXJuIHRoaXMuX3RvdGFsOwogICAgIH0KIAot
ICAgIHNldCBkYXRhKGl0ZW1zKQorICAgIGFkZEl0ZW0oaWQsIGxhYmVsLCB2YWx1ZSwgY29sb3Is
IGNoZWNrYm94LCBjaGVja2VkKQogICAgIHsKLSAgICAgICAgaWYgKCEoaXRlbXMgaW5zdGFuY2Vv
ZiBBcnJheSkpCi0gICAgICAgICAgICBpdGVtcyA9IFtpdGVtc107CisgICAgICAgIGNvbnNvbGUu
YXNzZXJ0KCF0aGlzLl9pdGVtcy5oYXMoaWQpLCAiQWxyZWFkeSBhZGRlZCBpdGVtIHdpdGggaWQ6
ICIgKyBpZCk7CisgICAgICAgIGlmICh0aGlzLl9pdGVtcy5oYXMoaWQpKQorICAgICAgICAgICAg
cmV0dXJuOworCisgICAgICAgIGNvbnNvbGUuYXNzZXJ0KHZhbHVlID49IDAsICJWYWx1ZSBjYW5u
b3QgYmUgbmVnYXRpdmUuIik7CisgICAgICAgIGlmICh2YWx1ZSA8IDApCisgICAgICAgICAgICBy
ZXR1cm47CisKKyAgICAgICAgdGhpcy5faXRlbXMuc2V0KGlkLCB7bGFiZWwsIHZhbHVlLCBjb2xv
ciwgY2hlY2tib3gsIGNoZWNrZWR9KTsKKyAgICAgICAgdGhpcy5fdG90YWwgKz0gdmFsdWU7CisK
KyAgICAgICAgdGhpcy5fbmVlZHNMYXlvdXQoKTsKKyAgICB9CisKKyAgICBzZXRJdGVtVmFsdWUo
aWQsIHZhbHVlKQorICAgIHsKKyAgICAgICAgbGV0IGl0ZW0gPSB0aGlzLl9pdGVtcy5nZXQoaWQp
OworICAgICAgICBjb25zb2xlLmFzc2VydChpdGVtLCAiQ2Fubm90IHNldCB2YWx1ZSBmb3IgaW52
YWxpZCBpdGVtIGlkOiAiICsgaWQpOworICAgICAgICBpZiAoIWl0ZW0pCisgICAgICAgICAgICBy
ZXR1cm47CiAKLSAgICAgICAgaXRlbXMgPSBpdGVtcy5maWx0ZXIoZnVuY3Rpb24oaXRlbSkgeyBy
ZXR1cm4gaXRlbS52YWx1ZSA+PSAwOyB9KTsKLSAgICAgICAgaWYgKCF0aGlzLl9pdGVtcy5sZW5n
dGggJiYgIWl0ZW1zLmxlbmd0aCkKKyAgICAgICAgY29uc29sZS5hc3NlcnQodmFsdWUgPj0gMCwg
IlZhbHVlIGNhbm5vdCBiZSBuZWdhdGl2ZS4iKTsKKyAgICAgICAgaWYgKHZhbHVlIDwgMCkKICAg
ICAgICAgICAgIHJldHVybjsKIAotICAgICAgICBpZiAodGhpcy5faXRlbXMubGVuZ3RoID09PSBp
dGVtcy5sZW5ndGggJiYgdGhpcy5faXRlbXMuZXZlcnkoZnVuY3Rpb24oaXRlbSwgaW5kZXgpIHsg
cmV0dXJuIEpTT04uc3RyaW5naWZ5KGl0ZW0pID09PSBKU09OLnN0cmluZ2lmeShpdGVtc1tpbmRl
eF0pOyB9KSkKKyAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT09IHZhbHVlKQogICAgICAgICAgICAg
cmV0dXJuOwogCi0gICAgICAgIHRoaXMuX2l0ZW1zID0gaXRlbXM7Ci0gICAgICAgIHRoaXMuX3Rv
dGFsID0gdGhpcy5faXRlbXMucmVkdWNlKGZ1bmN0aW9uKHByZXZpb3VzVmFsdWUsIGN1cnJlbnRW
YWx1ZSkgeyByZXR1cm4gcHJldmlvdXNWYWx1ZSArIGN1cnJlbnRWYWx1ZS52YWx1ZTsgfSwgMCk7
OworICAgICAgICB0aGlzLl90b3RhbCArPSB2YWx1ZSAtIGl0ZW0udmFsdWU7CisgICAgICAgIGl0
ZW0udmFsdWUgPSB2YWx1ZTsKKworICAgICAgICB0aGlzLl9uZWVkc0xheW91dCgpOworICAgIH0K
KworICAgIGNsZWFySXRlbXMoKQorICAgIHsKKyAgICAgICAgdGhpcy5fdG90YWwgPSAwOworICAg
ICAgICB0aGlzLl9pdGVtcy5jbGVhcigpOwogCi0gICAgICAgIHRoaXMuX2NyZWF0ZUxlZ2VuZCgp
OwotICAgICAgICB0aGlzLl9yZWZyZXNoKCk7CisgICAgICAgIHRoaXMuX25lZWRzTGF5b3V0KCk7
CiAgICAgfQogCiAgICAgLy8gUHJpdmF0ZQpAQCAtMTY1LDE1ICsxOTAsMzEgQEAgV2ViSW5zcGVj
dG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBDaGFydERldGFpbHNTZWN0aW9uUm93
IGV4dGVuZHMgV2ViSW4KICAgICAgICAgc3R5bGVTaGVldC5pbnNlcnRSdWxlKCIuZGV0YWlscy1z
ZWN0aW9uID4gLmNvbnRlbnQgPiAuZ3JvdXAgPiAucm93LmNoYXJ0ID4gLmNoYXJ0LWNvbnRlbnQg
PiAubGVnZW5kID4gLmxlZ2VuZC1pdGVtID4gbGFiZWwgPiBpbnB1dFt0eXBlPWNoZWNrYm94XS4i
ICsgaWQgKyAiIHsgZmlsdGVyOiBncmF5c2NhbGUoMSkgdXJsKCMiICsgaWQgKyAiKSB9IiwgMCk7
CiAgICAgfQogCi0gICAgX2NyZWF0ZUxlZ2VuZCgpCisgICAgX3VwZGF0ZUxlZ2VuZCgpCiAgICAg
ewotICAgICAgICB0aGlzLl9sZWdlbmRFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CisgICAgICAg
IGlmICghdGhpcy5faXRlbXMuc2l6ZSkgeworICAgICAgICAgICAgdGhpcy5fbGVnZW5kRWxlbWVu
dC5yZW1vdmVDaGlsZHJlbigpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAg
ICAgICAgZnVuY3Rpb24gZm9ybWF0SXRlbVZhbHVlKGl0ZW0pCisgICAgICAgIHsKKyAgICAgICAg
ICAgIGlmICh0aGlzLl9kZWxlZ2F0ZSAmJiB0eXBlb2YgdGhpcy5fZGVsZWdhdGUuZm9ybWF0Q2hh
cnRWYWx1ZSA9PT0gImZ1bmN0aW9uIikKKyAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fZGVs
ZWdhdGUuZm9ybWF0Q2hhcnRWYWx1ZShpdGVtLnZhbHVlKTsKKyAgICAgICAgICAgIHJldHVybiBp
dGVtLnZhbHVlOworICAgICAgICB9CisKKyAgICAgICAgZm9yIChsZXQgW2lkLCBpdGVtXSBvZiB0
aGlzLl9pdGVtcykgeworICAgICAgICAgICAgaWYgKGl0ZW1bV2ViSW5zcGVjdG9yLkNoYXJ0RGV0
YWlsc1NlY3Rpb25Sb3cuTGVnZW5kSXRlbVZhbHVlRWxlbWVudFN5bWJvbF0pIHsKKyAgICAgICAg
ICAgICAgICBsZXQgdmFsdWVFbGVtZW50ID0gaXRlbVtXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxz
U2VjdGlvblJvdy5MZWdlbmRJdGVtVmFsdWVFbGVtZW50U3ltYm9sXTsKKyAgICAgICAgICAgICAg
ICB2YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBmb3JtYXRJdGVtVmFsdWUuY2FsbCh0aGlzLCBp
dGVtKTsKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KIAotICAgICAg
ICBmb3IgKGxldCBpdGVtIG9mIHRoaXMuX2l0ZW1zKSB7CiAgICAgICAgICAgICBsZXQgbGFiZWxF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGFiZWwiKTsKICAgICAgICAgICAgIGxl
dCBrZXlFbGVtZW50OwogICAgICAgICAgICAgaWYgKGl0ZW0uY2hlY2tib3gpIHsKLSAgICAgICAg
ICAgICAgICBsZXQgY2xhc3NOYW1lID0gaXRlbS5pZC50b0xvd2VyQ2FzZSgpOworICAgICAgICAg
ICAgICAgIGxldCBjbGFzc05hbWUgPSBpZC50b0xvd2VyQ2FzZSgpOwogICAgICAgICAgICAgICAg
IGxldCByZ2IgPSBpdGVtLmNvbG9yLnN1YnN0cmluZyg0LCBpdGVtLmNvbG9yLmxlbmd0aCAtIDEp
LnJlcGxhY2UoLyAvZywgIiIpLnNwbGl0KCIsIik7CiAgICAgICAgICAgICAgICAgaWYgKHJnYlsw
XSA9PT0gcmdiWzFdICYmIHJnYlsxXSA9PT0gcmdiWzJdKQogICAgICAgICAgICAgICAgICAgICBy
Z2JbMF0gPSByZ2JbMV0gPSByZ2JbMl0gPSBNYXRoLm1pbigxNjAsIHJnYlswXSk7CkBAIC0xODIs
NyArMjIzLDcgQEAgV2ViSW5zcGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBD
aGFydERldGFpbHNTZWN0aW9uUm93IGV4dGVuZHMgV2ViSW4KICAgICAgICAgICAgICAgICBrZXlF
bGVtZW50LnR5cGUgPSAiY2hlY2tib3giOwogICAgICAgICAgICAgICAgIGtleUVsZW1lbnQuY2xh
c3NMaXN0LmFkZChjbGFzc05hbWUpOwogICAgICAgICAgICAgICAgIGtleUVsZW1lbnQuY2hlY2tl
ZCA9IGl0ZW0uY2hlY2tlZDsKLSAgICAgICAgICAgICAgICBrZXlFbGVtZW50W1dlYkluc3BlY3Rv
ci5DaGFydERldGFpbHNTZWN0aW9uUm93LkRhdGFJdGVtSWRTeW1ib2xdID0gaXRlbS5pZDsKKyAg
ICAgICAgICAgICAgICBrZXlFbGVtZW50W1dlYkluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9u
Um93LkRhdGFJdGVtSWRTeW1ib2xdID0gaWQ7CiAKICAgICAgICAgICAgICAgICBrZXlFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIHRoaXMuX2xlZ2VuZEl0ZW1DaGVja2JveFZhbHVl
Q2hhbmdlZC5iaW5kKHRoaXMpKTsKIApAQCAtMTk3LDExICsyMzgsOSBAQCBXZWJJbnNwZWN0b3Iu
Q2hhcnREZXRhaWxzU2VjdGlvblJvdyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgZXh0
ZW5kcyBXZWJJbgogCiAgICAgICAgICAgICBsZXQgdmFsdWVFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CiAgICAgICAgICAgICB2YWx1ZUVsZW1lbnQuY2xhc3NMaXN0LmFk
ZCgidmFsdWUiKTsKKyAgICAgICAgICAgIHZhbHVlRWxlbWVudC50ZXh0Q29udGVudCA9IGZvcm1h
dEl0ZW1WYWx1ZS5jYWxsKHRoaXMsIGl0ZW0pOwogCi0gICAgICAgICAgICBpZiAodGhpcy5fZGVs
ZWdhdGUgJiYgdHlwZW9mIHRoaXMuX2RlbGVnYXRlLmZvcm1hdENoYXJ0VmFsdWUgPT09ICJmdW5j
dGlvbiIpCi0gICAgICAgICAgICAgICAgdmFsdWVFbGVtZW50LnRleHRDb250ZW50ID0gdGhpcy5f
ZGVsZWdhdGUuZm9ybWF0Q2hhcnRWYWx1ZShpdGVtLnZhbHVlKTsKLSAgICAgICAgICAgIGVsc2UK
LSAgICAgICAgICAgICAgICB2YWx1ZUVsZW1lbnQudGV4dENvbnRlbnQgPSBpdGVtLnZhbHVlOwor
ICAgICAgICAgICAgaXRlbVtXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5MZWdl
bmRJdGVtVmFsdWVFbGVtZW50U3ltYm9sXSA9IHZhbHVlRWxlbWVudDsKIAogICAgICAgICAgICAg
bGV0IGxlZ2VuZEl0ZW1FbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAg
ICAgICAgICAgICBsZWdlbmRJdGVtRWxlbWVudC5jbGFzc0xpc3QuYWRkKCJsZWdlbmQtaXRlbSIp
OwpAQCAtMjE4LDggKzI1NywyMyBAQCBXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJv
dyA9IGNsYXNzIENoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgZXh0ZW5kcyBXZWJJbgogICAgICAgICB0
aGlzLmRpc3BhdGNoRXZlbnRUb0xpc3RlbmVycyhXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2Vj
dGlvblJvdy5FdmVudC5MZWdlbmRJdGVtQ2hlY2tlZCwge2lkLCBjaGVja2VkOiBjaGVja2JveC5j
aGVja2VkfSk7CiAgICAgfQogCi0gICAgX3JlZnJlc2goKQorICAgIF9uZWVkc0xheW91dCgpCiAg
ICAgeworICAgICAgICBpZiAodGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmllcikK
KyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICB0aGlzLl9zY2hlZHVsZWRMYXlvdXRVcGRh
dGVJZGVudGlmaWVyID0gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKHRoaXMudXBkYXRlTGF5b3V0LmJp
bmQodGhpcykpOworICAgIH0KKworICAgIHVwZGF0ZUxheW91dCgpCisgICAgeworICAgICAgICBp
ZiAodGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmllcikgeworICAgICAgICAgICAg
Y2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5fc2NoZWR1bGVkTGF5b3V0VXBkYXRlSWRlbnRpZmll
cik7CisgICAgICAgICAgICB0aGlzLl9zY2hlZHVsZWRMYXlvdXRVcGRhdGVJZGVudGlmaWVyID0g
dW5kZWZpbmVkOworICAgICAgICB9CisKKyAgICAgICAgdGhpcy5fdXBkYXRlTGVnZW5kKCk7CisK
ICAgICAgICAgdmFyIHdpZHRoID0gdGhpcy5fY2FudmFzLmNsaWVudFdpZHRoICogd2luZG93LmRl
dmljZVBpeGVsUmF0aW87CiAgICAgICAgIHZhciBoZWlnaHQgPSB0aGlzLl9jYW52YXMuY2xpZW50
SGVpZ2h0ICogd2luZG93LmRldmljZVBpeGVsUmF0aW87CiAgICAgICAgIHRoaXMuX2NhbnZhcy53
aWR0aCA9IHdpZHRoOwpAQCAtMjUzLDcgKzMwNyw3IEBAIFdlYkluc3BlY3Rvci5DaGFydERldGFp
bHNTZWN0aW9uUm93ID0gY2xhc3MgQ2hhcnREZXRhaWxzU2VjdGlvblJvdyBleHRlbmRzIFdlYklu
CiAgICAgICAgIGRyYXdTbGljZSh4LCB5LCAwLCAyLjAgKiBNYXRoLlBJLCAicmdiKDI0MiwgMjQy
LCAyNDIpIik7CiAgICAgICAgIGNvbnRleHQucmVzdG9yZSgpOwogCi0gICAgICAgIGZvciAodmFy
IGl0ZW0gb2YgdGhpcy5faXRlbXMpIHsKKyAgICAgICAgZm9yIChsZXQgW2lkLCBpdGVtXSBvZiB0
aGlzLl9pdGVtcykgewogICAgICAgICAgICAgaWYgKGl0ZW0udmFsdWUgPT09IDApCiAgICAgICAg
ICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICBlbmRBbmdsZSArPSAoaXRlbS52YWx1ZSAv
IHRoaXMuX3RvdGFsKSAqIDIuMCAqIE1hdGguUEk7CkBAIC0yNzIsNiArMzI2LDcgQEAgV2ViSW5z
cGVjdG9yLkNoYXJ0RGV0YWlsc1NlY3Rpb25Sb3cgPSBjbGFzcyBDaGFydERldGFpbHNTZWN0aW9u
Um93IGV4dGVuZHMgV2ViSW4KIH07CiAKIFdlYkluc3BlY3Rvci5DaGFydERldGFpbHNTZWN0aW9u
Um93LkRhdGFJdGVtSWRTeW1ib2wgPSBTeW1ib2woImNoYXJ0LWRldGFpbHMtc2VjdGlvbi1yb3ct
ZGF0YS1pdGVtLWlkIik7CitXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5MZWdl
bmRJdGVtVmFsdWVFbGVtZW50U3ltYm9sID0gU3ltYm9sKCJjaGFydC1kZXRhaWxzLXNlY3Rpb24t
cm93LWxlZ2VuZC1pdGVtLXZhbHVlLWVsZW1lbnQiKTsKIAogV2ViSW5zcGVjdG9yLkNoYXJ0RGV0
YWlsc1NlY3Rpb25Sb3cuRXZlbnQgPSB7CiAgICAgTGVnZW5kSXRlbUNoZWNrZWQ6ICJjaGFydC1k
ZXRhaWxzLXNlY3Rpb24tcm93LWxlZ2VuZC1pdGVtLWNoZWNrZWQiCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9WaWV3cy9UaW1lbGluZVNpZGViYXJQYW5l
bC5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5l
U2lkZWJhclBhbmVsLmpzCmluZGV4IDI5ZjQ5N2Y4NTUyZTg2OTg0NjAyYTk1NTIwZGMzZGUyMTY1
ZDA2NmIuLjZmZTE0NjdiZGQzNzM1YzZhMzQ3MjM0NmFhMzFhNmIyMjk5NWQ1NDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1ZpZXdzL1RpbWVsaW5lU2lk
ZWJhclBhbmVsLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL1Zp
ZXdzL1RpbWVsaW5lU2lkZWJhclBhbmVsLmpzCkBAIC05Nyw2ICs5NywxNCBAQCBXZWJJbnNwZWN0
b3IuVGltZWxpbmVTaWRlYmFyUGFuZWwgPSBjbGFzcyBUaW1lbGluZVNpZGViYXJQYW5lbCBleHRl
bmRzIFdlYkluc3BlYwogICAgICAgICAgICAgdGhpcy5fZnJhbWVTZWxlY3Rpb25DaGFydFJvdy5p
bm5lclJhZGl1cyA9IDAuNTsKICAgICAgICAgICAgIHRoaXMuX2ZyYW1lU2VsZWN0aW9uQ2hhcnRS
b3cuYWRkRXZlbnRMaXN0ZW5lcihXZWJJbnNwZWN0b3IuQ2hhcnREZXRhaWxzU2VjdGlvblJvdy5F
dmVudC5MZWdlbmRJdGVtQ2hlY2tlZCwgdGhpcy5fZnJhbWVTZWxlY3Rpb25MZWdlbmRJdGVtQ2hl
Y2tlZCwgdGhpcyk7CiAKKyAgICAgICAgICAgIGZvciAobGV0IGtleSBpbiBXZWJJbnNwZWN0b3Iu
UmVuZGVyaW5nRnJhbWVUaW1lbGluZVJlY29yZC5UYXNrVHlwZSkgeworICAgICAgICAgICAgICAg
IGxldCB0YXNrVHlwZSA9IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3Jk
LlRhc2tUeXBlW2tleV07CisgICAgICAgICAgICAgICAgbGV0IGxhYmVsID0gV2ViSW5zcGVjdG9y
LlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuZGlzcGxheU5hbWVGb3JUYXNrVHlwZSh0YXNr
VHlwZSk7CisgICAgICAgICAgICAgICAgbGV0IGNvbG9yID0gdGhpcy5fY2hhcnRDb2xvcnMuZ2V0
KHRhc2tUeXBlKTsKKyAgICAgICAgICAgICAgICBsZXQgY2hlY2tib3ggPSB0YXNrVHlwZSAhPT0g
V2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFza1R5cGUuT3RoZXI7
CisgICAgICAgICAgICAgICAgdGhpcy5fZnJhbWVTZWxlY3Rpb25DaGFydFJvdy5hZGRJdGVtKHRh
c2tUeXBlLCBsYWJlbCwgMCwgY29sb3IsIGNoZWNrYm94LCB0cnVlKTsKKyAgICAgICAgICAgIH0K
KwogICAgICAgICAgICAgdGhpcy5fcmVuZGVyaW5nRnJhbWVUYXNrRmlsdGVyID0gbmV3IFNldDsK
IAogICAgICAgICAgICAgdmFyIGNoYXJ0R3JvdXAgPSBuZXcgV2ViSW5zcGVjdG9yLkRldGFpbHNT
ZWN0aW9uR3JvdXAoW3RoaXMuX2ZyYW1lU2VsZWN0aW9uQ2hhcnRSb3ddKTsKQEAgLTg5MywxOSAr
OTAxLDEyIEBAIFdlYkluc3BlY3Rvci5UaW1lbGluZVNpZGViYXJQYW5lbCA9IGNsYXNzIFRpbWVs
aW5lU2lkZWJhclBhbmVsIGV4dGVuZHMgV2ViSW5zcGVjCiAgICAgICAgICAgICByZXR1cm4gc2Vs
ZWN0ZWRSZWNvcmRzOwogICAgICAgICB9CiAKLSAgICAgICAgdmFyIGNoYXJ0ID0gdGhpcy5fZnJh
bWVTZWxlY3Rpb25DaGFydFJvdzsKLSAgICAgICAgdmFyIHJlY29yZHMgPSBnZXRTZWxlY3RlZFJl
Y29yZHMuY2FsbCh0aGlzKTsKLSAgICAgICAgdmFyIGNoYXJ0RGF0YSA9IE9iamVjdC5rZXlzKFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlKS5tYXAoZnVu
Y3Rpb24odGFza1R5cGVLZXkpIHsKLSAgICAgICAgICAgIGxldCB0YXNrVHlwZSA9IFdlYkluc3Bl
Y3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlW3Rhc2tUeXBlS2V5XTsK
LSAgICAgICAgICAgIGxldCBsYWJlbCA9IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVs
aW5lUmVjb3JkLmRpc3BsYXlOYW1lRm9yVGFza1R5cGUodGFza1R5cGUpOworICAgICAgICBsZXQg
cmVjb3JkcyA9IGdldFNlbGVjdGVkUmVjb3Jkcy5jYWxsKHRoaXMpOworICAgICAgICBmb3IgKGxl
dCBrZXkgaW4gV2ViSW5zcGVjdG9yLlJlbmRlcmluZ0ZyYW1lVGltZWxpbmVSZWNvcmQuVGFza1R5
cGUpIHsKKyAgICAgICAgICAgIGxldCB0YXNrVHlwZSA9IFdlYkluc3BlY3Rvci5SZW5kZXJpbmdG
cmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlW2tleV07CiAgICAgICAgICAgICBsZXQgdmFsdWUg
PSByZWNvcmRzLnJlZHVjZShmdW5jdGlvbihwcmV2aW91c1ZhbHVlLCBjdXJyZW50VmFsdWUpIHsg
cmV0dXJuIHByZXZpb3VzVmFsdWUgKyBjdXJyZW50VmFsdWUuZHVyYXRpb25Gb3JUYXNrKHRhc2tU
eXBlKTsgfSwgMCk7Ci0gICAgICAgICAgICBsZXQgY29sb3IgPSB0aGlzLl9jaGFydENvbG9ycy5n
ZXQodGFza1R5cGUpOwotICAgICAgICAgICAgbGV0IGNoZWNrYm94ID0gdGFza1R5cGUgIT09IFdl
Ykluc3BlY3Rvci5SZW5kZXJpbmdGcmFtZVRpbWVsaW5lUmVjb3JkLlRhc2tUeXBlLk90aGVyOwot
ICAgICAgICAgICAgbGV0IGNoZWNrZWQgPSBjaGVja2JveCAmJiAhdGhpcy5fcmVuZGVyaW5nRnJh
bWVUYXNrRmlsdGVyLmhhcyh0YXNrVHlwZSk7Ci0gICAgICAgICAgICByZXR1cm4ge2lkOiB0YXNr
VHlwZSwgbGFiZWwsIHZhbHVlLCBjb2xvciwgY2hlY2tib3gsIGNoZWNrZWR9OwotICAgICAgICB9
LCB0aGlzKTsKLQotICAgICAgICB0aGlzLl9mcmFtZVNlbGVjdGlvbkNoYXJ0Um93LmRhdGEgPSBj
aGFydERhdGE7CisgICAgICAgICAgICB0aGlzLl9mcmFtZVNlbGVjdGlvbkNoYXJ0Um93LnNldEl0
ZW1WYWx1ZSh0YXNrVHlwZSwgdmFsdWUpOworICAgICAgICB9CiAKICAgICAgICAgaWYgKCFyZWNv
cmRzLmxlbmd0aCkgewogICAgICAgICAgICAgdGhpcy5fZnJhbWVTZWxlY3Rpb25DaGFydFJvdy50
aXRsZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRnJhbWVzOiBOb25lIFNlbGVjdGVkIik7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>