<?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>23866</bug_id>
          
          <creation_ts>2009-02-10 07:01:15 -0800</creation_ts>
          <short_desc>Storage panel should be editable</short_desc>
          <delta_ts>2009-02-27 10:29:27 -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="Anthony Ricaud">rik</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aroben</cc>
    
    <cc>kmccullough</cc>
    
    <cc>mike</cc>
    
    <cc>timothy</cc>
    
    <cc>yael</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>109111</commentid>
    <comment_count>0</comment_count>
    <who name="Anthony Ricaud">rik</who>
    <bug_when>2009-02-10 07:01:15 -0800</bug_when>
    <thetext>The new listing is not editable. It would be a nice feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>110478</commentid>
    <comment_count>1</comment_count>
      <attachid>27855</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-02-21 10:28:46 -0800</bug_when>
    <thetext>Created attachment 27855
Make DOMStorage view editable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111090</commentid>
    <comment_count>2</comment_count>
      <attachid>27855</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-02-25 17:57:32 -0800</bug_when>
    <thetext>Comment on attachment 27855
Make DOMStorage view editable.


&gt; +    get statusBarItems()
&gt; +    {
&gt; +        return [this.deleteButton];
&gt; +    },

The delete button should be on the view side of the status bar, like we do in the ProfilesPanel/ProfilesView. A delete button here would imply deleting a local/session storage object not a row. r- for this

&gt; +            this.visibleView._dataGrid._deleteRow();

Functions that are &quot;public&quot; like _deleteRow() should not have an underscore. Also deleteSelectedRow() would be best, since the row index isn&apos;t passed.

&gt; +        var element = event.target.enclosingNodeOrSelfWithNodeName(&quot;td&quot;);

Why do you need to look for a element? Can&apos;t you get everything from dataGridNodeFromEvent?

&gt; +            }
&gt; +            else {

This should be: } else { on the same line.


&gt; +        if (node &amp;&amp; domStorage) {
&gt; +            domStorage.removeItem(node.data[0]);
&gt; +        }

No need for braces here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111098</commentid>
    <comment_count>3</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-02-25 19:25:04 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 27855 [review])
&gt; 
&gt; &gt; +    get statusBarItems()
&gt; &gt; +    {
&gt; &gt; +        return [this.deleteButton];
&gt; &gt; +    },
&gt; 
&gt; The delete button should be on the view side of the status bar, like we do in
&gt; the ProfilesPanel/ProfilesView. A delete button here would imply deleting a
&gt; local/session storage object not a row. r- for this
&gt; 
&gt; &gt; +            this.visibleView._dataGrid._deleteRow();
&gt; 
&gt; Functions that are &quot;public&quot; like _deleteRow() should not have an underscore.
&gt; Also deleteSelectedRow() would be best, since the row index isn&apos;t passed.
&gt; 
&gt; &gt; +        var element = event.target.enclosingNodeOrSelfWithNodeName(&quot;td&quot;);
&gt; 
&gt; Why do you need to look for a element? Can&apos;t you get everything from
&gt; dataGridNodeFromEvent?
&gt; 
&gt; &gt; +            }
&gt; &gt; +            else {
&gt; 
&gt; This should be: } else { on the same line.
&gt; 
&gt; 
&gt; &gt; +        if (node &amp;&amp; domStorage) {
&gt; &gt; +            domStorage.removeItem(node.data[0]);
&gt; &gt; +        }
&gt; 
&gt; No need for braces here.
&gt; 

Thank you for the review. I will address your comments in my next patch. Regarding
&gt; +        var element = event.target.enclosingNodeOrSelfWithNodeName(&quot;td&quot;);
I did that because I need to know not only the node, but also which of the columns was double clicked (is it key or is it value).
Could you suggest a better way to find which column was clicked? thanks!

</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111199</commentid>
    <comment_count>4</comment_count>
      <attachid>28017</attachid>
    <who name="Yael">yael</who>
    <bug_when>2009-02-26 08:48:42 -0800</bug_when>
    <thetext>Created attachment 28017
Addressing comment #2.

This patch is addressing comment #2, with the exception that I am still using
 var element = event.target.enclosingNodeOrSelfWithNodeName(&quot;td&quot;);
I am not sure how else to find out if a key was edited or a value was edited.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111223</commentid>
    <comment_count>5</comment_count>
      <attachid>28017</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-02-26 10:44:20 -0800</bug_when>
    <thetext>Comment on attachment 28017
Addressing comment #2.

Using enclosingNodeOrSelfWithNodeName(&quot;td&quot;) is fine, now that I understand it.

Nice work!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111365</commentid>
    <comment_count>6</comment_count>
    <who name="Yael">yael</who>
    <bug_when>2009-02-26 17:17:51 -0800</bug_when>
    <thetext>Thank you for the review. Now I need help committing this patch :-)
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>111468</commentid>
    <comment_count>7</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2009-02-27 10:29:27 -0800</bug_when>
    <thetext>Landed in r41288.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>27855</attachid>
            <date>2009-02-21 10:28:46 -0800</date>
            <delta_ts>2009-02-26 08:48:42 -0800</delta_ts>
            <desc>Make DOMStorage view editable.</desc>
            <filename>editinspector.patch</filename>
            <type>text/plain</type>
            <size>12517</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTEyMikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzQgQEAKKzIwMDktMDItMjEgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2NgorICAgICAgICBB
ZGRlZCBzdXBwb3J0IGZvciBlZGl0aW5nL2RlbGV0aW5nIGxvY2FsU3RvcmFnZSBhbmQgc2Vzc2lv
blN0b3JhZ2UgaXRlbXMKKyAgICAgICAgZGlyZWN0bHkgZnJvbSBXZWIgSW5zcGVjdG9yCisKKyAg
ICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBpbnNwZWN0
b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VEYXRhR3JpZC5qczogQWRkZWQuCisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5ET01T
dG9yYWdlRGF0YUdyaWQucHJvdG90eXBlLl9vbmRibGNsaWNrKToKKyAgICAgICAgKFdlYkluc3Bl
Y3Rvci5ET01TdG9yYWdlRGF0YUdyaWQucHJvdG90eXBlLl9zdGFydEVkaXRpbmcpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUuX2VkaXRpbmdDb21t
aXR0ZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5
cGUuX2VkaXRpbmdDYW5jZWxsZWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3JhZ2VE
YXRhR3JpZC5wcm90b3R5cGUuX2RlbGV0ZVJvdyk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250
LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0
b3JhZ2VJdGVtc1ZpZXcucHJvdG90eXBlLnVwZGF0ZSk6CisgICAgICAgICogaW5zcGVjdG9yL2Zy
b250LWVuZC9EYXRhYmFzZXNQYW5lbC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFz
ZXNQYW5lbCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VzUGFuZWwucHJvdG90eXBl
LmdldCBzdGF0dXNCYXJJdGVtcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VzUGFu
ZWwucHJvdG90eXBlLnJlc2V0KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFzZXNQYW5l
bC5wcm90b3R5cGUuc2hvd0RhdGFiYXNlKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFz
ZXNQYW5lbC5wcm90b3R5cGUuc2hvd0RPTVN0b3JhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9y
LkRhdGFiYXNlc1BhbmVsLnByb3RvdHlwZS5kYXRhR3JpZEZvckRPTVN0b3JhZ2UpOgorICAgICAg
ICAoV2ViSW5zcGVjdG9yLkRhdGFiYXNlc1BhbmVsLnByb3RvdHlwZS5fdXBkYXRlU2lkZWJhcldp
ZHRoKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFzZXNQYW5lbC5wcm90b3R5cGUuX2Rl
bGV0ZUJ1dHRvbkNsaWNrZWQpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvV2ViS2l0
LnFyYzoKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3M6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbDoKKwogMjAwOS0wMi0yMSAg
SGlyb25vcmkgQm9ubyAgPGhib25vQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBBbGV4ZXkgUHJvc2t1cnlha292LgpJbmRleDogV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCShyZXZpc2lvbiA0MTA3NykKKysrIFdlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29y
ZS52Y3Byb2oJKHdvcmtpbmcgY29weSkKQEAgLTE2MjkzLDYgKzE2MjkzLDEwIEBACiAJCQkJCT4N
CiAJCQkJPC9GaWxlPg0KIAkJCQk8RmlsZQ0KKwkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0
b3JcZnJvbnQtZW5kXERPTVN0b3JhZ2VEYXRhR3JpZC5qcyINCisJCQkJCT4NCisJCQkJPC9GaWxl
Pg0KKwkJCQk8RmlsZQ0KIAkJCQkJUmVsYXRpdmVQYXRoPSIuLlxpbnNwZWN0b3JcZnJvbnQtZW5k
XERPTVN0b3JhZ2VJdGVtc1ZpZXcuanMiDQogCQkJCQk+DQogCQkJCTwvRmlsZT4NCkluZGV4OiBX
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRGF0YWJhc2VzUGFuZWwuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlc1BhbmVsLmpzCShyZXZpc2lv
biA0MTA3NykKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZXNQYW5lbC5q
cwkod29ya2luZyBjb3B5KQpAQCAtNjIsNiArNjIsMTEgQEAKICAgICB0aGlzLnN0b3JhZ2VWaWV3
cy5pZCA9ICJzdG9yYWdlLXZpZXdzIjsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5zdG9yYWdlVmlld3MpOwogCisgICAgdGhpcy5kZWxldGVCdXR0b24gPSBkb2N1bWVudC5jcmVh
dGVFbGVtZW50KCJidXR0b24iKTsKKyAgICB0aGlzLmRlbGV0ZUJ1dHRvbi50aXRsZSA9IFdlYklu
c3BlY3Rvci5VSVN0cmluZygiRGVsZXRlIik7CisgICAgdGhpcy5kZWxldGVCdXR0b24uY2xhc3NO
YW1lID0gImRlbGV0ZS1zdG9yYWdlLXN0YXR1cy1iYXItaXRlbSBzdGF0dXMtYmFyLWl0ZW0gaGlk
ZGVuIjsKKyAgICB0aGlzLmRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJjbGljayIsIHRo
aXMuX2RlbGV0ZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOworCiAgICAgdGhpcy5y
ZXNldCgpOwogfQogCkBAIC03Myw2ICs3OCwxMSBAQAogICAgICAgICByZXR1cm4gV2ViSW5zcGVj
dG9yLlVJU3RyaW5nKCJEYXRhYmFzZXMiKTsKICAgICB9LAogCisgICAgZ2V0IHN0YXR1c0Jhckl0
ZW1zKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5kZWxldGVCdXR0b25dOworICAgIH0s
CisKICAgICBzaG93OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBXZWJJbnNwZWN0b3IuUGFu
ZWwucHJvdG90eXBlLnNob3cuY2FsbCh0aGlzKTsKQEAgLTEwOCw2ICsxMTgsNyBAQAogICAgICAg
ICB0aGlzLmxvY2FsU3RvcmFnZUxpc3RUcmVlRWxlbWVudC5yZW1vdmVDaGlsZHJlbigpOwogICAg
ICAgICB0aGlzLnNlc3Npb25TdG9yYWdlTGlzdFRyZWVFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7
CiAgICAgICAgIHRoaXMuc3RvcmFnZVZpZXdzLnJlbW92ZUNoaWxkcmVuKCk7CisgICAgICAgIHRo
aXMuZGVsZXRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgIH0sCiAKICAgICBo
YW5kbGVLZXlFdmVudDogZnVuY3Rpb24oZXZlbnQpCkBAIC0xMzcsNiArMTQ4LDcgQEAKIAogICAg
IHNob3dEYXRhYmFzZTogZnVuY3Rpb24oZGF0YWJhc2UsIHRhYmxlTmFtZSkKICAgICB7CisgICAg
ICAgIHRoaXMuZGVsZXRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgICAgICBp
ZiAoIWRhdGFiYXNlKQogICAgICAgICAgICAgcmV0dXJuOwogCkBAIC0xNjksNiArMTgxLDEwIEBA
CiAgICAgewogICAgICAgICBpZiAoIWRvbVN0b3JhZ2UpCiAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIGlmIChkb21TdG9yYWdlLmRvbVN0b3JhZ2UubGVuZ3RoKQorICAgICAgICAgICAgdGhp
cy5kZWxldGVCdXR0b24ucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIGVsc2UK
KyAgICAgICAgICAgIHRoaXMuZGVsZXRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwog
CiAgICAgICAgIGlmICh0aGlzLnZpc2libGVWaWV3KQogICAgICAgICAgICAgdGhpcy52aXNpYmxl
Vmlldy5oaWRlKCk7CkBAIC0zMjUsNyArMzQxLDcgQEAKICAgICAgICAgICAgIGlmICh2YWx1ZS5s
ZW5ndGggPiBjb2x1bW5zWzFdLndpZHRoKQogICAgICAgICAgICAgICAgIGNvbHVtbnNbMV0ud2lk
dGggPSB2YWx1ZS5sZW5ndGg7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IG5ldyBXZWJJbnNwZWN0
b3IuRGF0YUdyaWROb2RlKGRhdGEsIGZhbHNlKTsKLSAgICAgICAgICAgIG5vZGUuc2VsZWN0YWJs
ZSA9IGZhbHNlOworICAgICAgICAgICAgbm9kZS5zZWxlY3RhYmxlID0gdHJ1ZTsKICAgICAgICAg
ICAgIG5vZGVzLnB1c2gobm9kZSk7CiAgICAgICAgIH0KIApAQCAtMzQxLDExICszNTcsMTIgQEAK
ICAgICAgICAgY29sdW1uc1swXS53aWR0aCArPSAiJSI7CiAgICAgICAgIGNvbHVtbnNbMV0ud2lk
dGggKz0gIiUiOwogCi0gICAgICAgIHZhciBkYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0
YUdyaWQoY29sdW1ucyk7CisgICAgICAgIHZhciBkYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3Iu
RE9NU3RvcmFnZURhdGFHcmlkKGNvbHVtbnMpOwogICAgICAgICB2YXIgbGVuZ3RoID0gbm9kZXMu
bGVuZ3RoOwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQogICAgICAg
ICAgICAgZGF0YUdyaWQuYXBwZW5kQ2hpbGQobm9kZXNbaV0pOwotCisgICAgICAgIGlmIChsZW5n
dGggPiAwKQorICAgICAgICAgICAgbm9kZXNbMF0uc2VsZWN0ZWQgPSB0cnVlOwogICAgICAgICBy
ZXR1cm4gZGF0YUdyaWQ7CiAgICAgfSwKIApAQCAtMzg3LDYgKzQwNCwxNyBAQAogICAgICAgICB0
aGlzLnNpZGViYXJFbGVtZW50LnN0eWxlLndpZHRoID0gd2lkdGggKyAicHgiOwogICAgICAgICB0
aGlzLnN0b3JhZ2VWaWV3cy5zdHlsZS5sZWZ0ID0gd2lkdGggKyAicHgiOwogICAgICAgICB0aGlz
LnNpZGViYXJSZXNpemVFbGVtZW50LnN0eWxlLmxlZnQgPSAod2lkdGggLSAzKSArICJweCI7Cisg
ICAgfSwKKyAgICAKKyAgICBfZGVsZXRlQnV0dG9uQ2xpY2tlZDogZnVuY3Rpb24oZXZlbnQpCisg
ICAgeworICAgICAgICBpZiAodGhpcy52aXNpYmxlVmlldyAmJiB0aGlzLnZpc2libGVWaWV3Ll9k
YXRhR3JpZCkgeworICAgICAgICAgICAgdGhpcy52aXNpYmxlVmlldy5fZGF0YUdyaWQuX2RlbGV0
ZVJvdygpOworICAgICAgICAgICAgCisgICAgICAgICAgICB0aGlzLnZpc2libGVWaWV3LnNob3co
KTsKKyAgICAgICAgICAgIGlmICghdGhpcy52aXNpYmxlVmlldy5fZGF0YUdyaWQpCisgICAgICAg
ICAgICAgICAgdGhpcy5kZWxldGVCdXR0b24uYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAg
ICAgIH0KICAgICB9CiB9CiAKSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9ET01T
dG9yYWdlRGF0YUdyaWQuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL0RPTVN0b3JhZ2VEYXRhR3JpZC5qcwkocmV2aXNpb24gMCkKKysrIFdlYkNvcmUvaW5zcGVj
dG9yL2Zyb250LWVuZC9ET01TdG9yYWdlRGF0YUdyaWQuanMJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IE5va2lhIEluYy4gQWxsIFJpZ2h0
cyBSZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICAgICAgICAgSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5ET01TdG9yYWdlRGF0YUdyaWQgPSBmdW5j
dGlvbihjb2x1bW5zKQoreworICAgIFdlYkluc3BlY3Rvci5EYXRhR3JpZC5jYWxsKHRoaXMsIGNv
bHVtbnMpOworICAgIHRoaXMuZGF0YVRhYmxlQm9keS5hZGRFdmVudExpc3RlbmVyKCJkYmxjbGlj
ayIsIHRoaXMuX29uZGJsY2xpY2suYmluZCh0aGlzKSwgZmFsc2UpOworfQorCitXZWJJbnNwZWN0
b3IuRE9NU3RvcmFnZURhdGFHcmlkLnByb3RvdHlwZSA9IHsKKyAgICBfb25kYmxjbGljazogZnVu
Y3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZWRpdGluZykKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgaWYgKHRoaXMuX2VkaXRpbmdOb2RlKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB0aGlzLl9zdGFydEVkaXRpbmcoZXZlbnQpOworICAgIH0sCisgICAg
CisgICAgX3N0YXJ0RWRpdGluZzogZnVuY3Rpb24oZXZlbnQpCisgICAgeworICAgICAgICB2YXIg
ZWxlbWVudCA9IGV2ZW50LnRhcmdldC5lbmNsb3NpbmdOb2RlT3JTZWxmV2l0aE5vZGVOYW1lKCJ0
ZCIpOworICAgICAgICBpZiAoIWVsZW1lbnQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IHRoaXMuX2VkaXRpbmdOb2RlID0gdGhpcy5kYXRhR3JpZE5vZGVGcm9tRXZlbnQoZXZlbnQpOwor
ICAgICAgICBpZiAoIXRoaXMuX2VkaXRpbmdOb2RlKQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB0aGlzLl9lZGl0aW5nID0gdHJ1ZTsKKyAgICAgICAgICAgIAorICAgICAgICBXZWJJbnNw
ZWN0b3Iuc3RhcnRFZGl0aW5nKGVsZW1lbnQsIHRoaXMuX2VkaXRpbmdDb21taXR0ZWQuYmluZCh0
aGlzKSwgdGhpcy5fZWRpdGluZ0NhbmNlbGxlZC5iaW5kKHRoaXMpLCBlbGVtZW50LnRleHRDb250
ZW50KTsKKyAgICAgICAgd2luZG93LmdldFNlbGVjdGlvbigpLnNldEJhc2VBbmRFeHRlbnQoZWxl
bWVudCwgMCwgZWxlbWVudCwgMSk7CisgICAgfSwKKyAgICAKKyAgICBfZWRpdGluZ0NvbW1pdHRl
ZDogZnVuY3Rpb24oZWxlbWVudCwgbmV3VGV4dCkKKyAgICB7CisgICAgICAgIGlmIChlbGVtZW50
Lmhhc1N0eWxlQ2xhc3MoIjAtY29sdW1uIikpCisgICAgICAgICAgICBjb2x1bW5JZGVudGlmaWVy
ID0gMDsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgY29sdW1uSWRlbnRpZmllciA9IDE7Cisg
ICAgICAgIHRleHRCZWZvcmVFZGl0aW5nID0gdGhpcy5fZWRpdGluZ05vZGUuZGF0YVtjb2x1bW5J
ZGVudGlmaWVyXTsKKyAgICAgICAgaWYgKHRleHRCZWZvcmVFZGl0aW5nID09IG5ld1RleHQpIHsK
KyAgICAgICAgICAgIHRoaXMuX2VkaXRpbmdDYW5jZWxsZWQoZWxlbWVudCk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgCisgICAgICAgIHZhciBkb21TdG9yYWdlID0g
V2ViSW5zcGVjdG9yLnBhbmVscy5kYXRhYmFzZXMudmlzaWJsZVZpZXcuZG9tU3RvcmFnZS5kb21T
dG9yYWdlOworICAgICAgICBpZiAoZG9tU3RvcmFnZSkgeworICAgICAgICAgICAgaWYgKGNvbHVt
bklkZW50aWZpZXIgPT0gMCkgeworICAgICAgICAgICAgICAgIGlmIChkb21TdG9yYWdlLmdldEl0
ZW0obmV3VGV4dCkgIT0gbnVsbCkgeworICAgICAgICAgICAgICAgICAgICBlbGVtZW50LnRleHRD
b250ZW50ID0gdGhpcy5fZWRpdGluZ05vZGUuZGF0YVswXTsKKyAgICAgICAgICAgICAgICAgICAg
dGhpcy5fZWRpdGluZ0NhbmNlbGxlZChlbGVtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICBkb21TdG9yYWdlLnJlbW92
ZUl0ZW0odGhpcy5fZWRpdGluZ05vZGUuZGF0YVswXSk7CisgICAgICAgICAgICAgICAgZG9tU3Rv
cmFnZS5zZXRJdGVtKG5ld1RleHQsIHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMV0pOworICAgICAg
ICAgICAgICAgIHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMF0gPSBuZXdUZXh0OyAgICAgICAgICAg
IAorICAgICAgICAgICAgfQorICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgZG9t
U3RvcmFnZS5zZXRJdGVtKHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMF0sIG5ld1RleHQpOworICAg
ICAgICAgICAgICAgIHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMV0gPSBuZXdUZXh0OworICAgICAg
ICAgICAgfQorICAgICAgICB9CisgICAgICAgIAorICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2Vs
bGVkKGVsZW1lbnQpOworICAgIH0sCisgICAgCisgICAgX2VkaXRpbmdDYW5jZWxsZWQ6IGZ1bmN0
aW9uKGVsZW1lbnQsIGNvbnRleHQpCisgICAgeworICAgICAgICBkZWxldGUgdGhpcy5fZWRpdGlu
ZzsKKyAgICAgICAgdGhpcy5fZWRpdGluZ05vZGUgPSBudWxsOworICAgIH0sCisgICAgCisgICAg
X2RlbGV0ZVJvdzogZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgdmFyIG5vZGUgPSB0aGlzLnNl
bGVjdGVkTm9kZTsKKyAgICAgICAgdmFyIGRvbVN0b3JhZ2UgPSBXZWJJbnNwZWN0b3IucGFuZWxz
LmRhdGFiYXNlcy52aXNpYmxlVmlldy5kb21TdG9yYWdlLmRvbVN0b3JhZ2U7CisgICAgICAgIGlm
IChub2RlICYmIGRvbVN0b3JhZ2UpIHsKKyAgICAgICAgICAgIGRvbVN0b3JhZ2UucmVtb3ZlSXRl
bShub2RlLmRhdGFbMF0pOworICAgICAgICB9CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuRE9N
U3RvcmFnZURhdGFHcmlkLnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdy
aWQucHJvdG90eXBlOwpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rv
ci5jc3MJKHJldmlzaW9uIDQxMDc3KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2lu
c3BlY3Rvci5jc3MJKHdvcmtpbmcgY29weSkKQEAgLTMwMDIsMyArMzAwMiwxMSBAQAogLnJlc2V0
LXByb2ZpbGUtc3RhdHVzLWJhci1pdGVtOmFjdGl2ZSB7CiAgICAgYmFja2dyb3VuZC1wb3NpdGlv
bjogMzJweCAwOwogfQorCisuZGVsZXRlLXN0b3JhZ2Utc3RhdHVzLWJhci1pdGVtIHsKKyAgICBi
YWNrZ3JvdW5kLWltYWdlOiB1cmwoSW1hZ2VzL2V4Y2x1ZGVCdXR0b25zLnBuZykgIWltcG9ydGFu
dDsKK30KKworLmRlbGV0ZS1zdG9yYWdlLXN0YXR1cy1iYXItaXRlbTphY3RpdmUgeworICAgIGJh
Y2tncm91bmQtcG9zaXRpb246IDMycHggMDsKK30KSW5kZXg6IFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250
LWVuZC9XZWJLaXQucXJjCShyZXZpc2lvbiA0MTA3NykKKysrIFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9XZWJLaXQucXJjCSh3b3JraW5nIGNvcHkpCkBAIC0xMSw2ICsxMSw3IEBACiAgICAg
PGZpbGU+RGF0YWJhc2VUYWJsZVZpZXcuanM8L2ZpbGU+CiAgICAgPGZpbGU+RGF0YUdyaWQuanM8
L2ZpbGU+CiAgICAgPGZpbGU+RE9NU3RvcmFnZS5qczwvZmlsZT4KKyAgICA8ZmlsZT5ET01TdG9y
YWdlRGF0YUdyaWQuanM8L2ZpbGU+CiAgICAgPGZpbGU+RE9NU3RvcmFnZUl0ZW1zVmlldy5qczwv
ZmlsZT4KICAgICA8ZmlsZT5FbGVtZW50c1BhbmVsLmpzPC9maWxlPgogICAgIDxmaWxlPkVsZW1l
bnRzVHJlZU91dGxpbmUuanM8L2ZpbGU+CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvaW5zcGVjdG9yLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQt
ZW5kL2luc3BlY3Rvci5odG1sCShyZXZpc2lvbiA0MTA3NykKKysrIFdlYkNvcmUvaW5zcGVjdG9y
L2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNDQsNiArNDQsNyBA
QAogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTVN0b3JhZ2UuanMi
Pjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTVN0
b3JhZ2VJdGVtc1ZpZXcuanMiPjwvc2NyaXB0PgogICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0IiBzcmM9IkRhdGFHcmlkLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRl
eHQvamF2YXNjcmlwdCIgc3JjPSJET01TdG9yYWdlRGF0YUdyaWQuanMiPjwvc2NyaXB0PgogICAg
IDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IlNjcmlwdC5qcyI+PC9zY3JpcHQ+
CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iQnJlYWtwb2ludC5qcyI+
PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iU2lkZWJh
clBhbmUuanMiPjwvc2NyaXB0PgpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RP
TVN0b3JhZ2VJdGVtc1ZpZXcuanMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMJKHJldmlzaW9uIDQxMDc3KQorKysgV2ViQ29y
ZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RPTVN0b3JhZ2VJdGVtc1ZpZXcuanMJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDggKzUxLDEwIEBACiAgICAgICAgICAgICB2YXIgZGF0YUdyaWQgPSBXZWJJbnNw
ZWN0b3IucGFuZWxzLmRhdGFiYXNlcy5kYXRhR3JpZEZvckRPTVN0b3JhZ2UodGhpcy5kb21TdG9y
YWdlLmRvbVN0b3JhZ2UpOwogICAgICAgICAgICAgaWYgKCFkYXRhR3JpZCkKICAgICAgICAgICAg
ICAgICBoYXNET01TdG9yYWdlID0gMDsKLSAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gZGF0YUdyaWQ7CiAgICAgICAg
ICAgICAgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKGRhdGFHcmlkLmVsZW1lbnQpOworICAg
ICAgICAgICAgfQogICAgICAgICB9CiAgICAgICAgIGlmICghaGFzRE9NU3RvcmFnZSkgewogICAg
ICAgICAgICAgdmFyIGVtcHR5TXNnRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRp
diIpOwpAQCAtNjAsNiArNjIsNyBAQAogICAgICAgICAgICAgaWYgKHRoaXMuZG9tU3RvcmFnZSkK
ICAgICAgICAgICAgIGVtcHR5TXNnRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5V
SVN0cmluZygiVGhpcyBzdG9yYWdlIGlzIGVtcHR5LiIpOwogICAgICAgICAgICAgdGhpcy5lbGVt
ZW50LmFwcGVuZENoaWxkKGVtcHR5TXNnRWxlbWVudCk7CisgICAgICAgICAgICB0aGlzLl9kYXRh
R3JpZCA9IG51bGw7CiAgICAgICAgIH0KICAgICB9CiB9Cg==
</data>
<flag name="review"
          id="13555"
          type_id="1"
          status="-"
          setter="timothy"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>28017</attachid>
            <date>2009-02-26 08:48:42 -0800</date>
            <delta_ts>2009-02-26 10:44:20 -0800</delta_ts>
            <desc>Addressing comment #2.</desc>
            <filename>editinspector2.patch</filename>
            <type>text/plain</type>
            <size>13606</size>
            <attacher name="Yael">yael</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0MTI0NykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzYgQEAKKzIwMDktMDItMjYgIFlhZWwgQWhhcm9uICA8eWFlbC5haGFyb25Abm9r
aWEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzg2Ni4KKyAgICAgICAg
QWRkZWQgc3VwcG9ydCBmb3IgZWRpdGluZy9kZWxldGluZyBsb2NhbFN0b3JhZ2UgYW5kIHNlc3Np
b25TdG9yYWdlIGl0ZW1zCisgICAgICAgIGRpcmVjdGx5IGZyb20gV2ViIEluc3BlY3Rvci4KKwor
ICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIGluc3Bl
Y3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZURhdGFHcmlkLmpzOiBBZGRlZC4KKyAgICAgICAgKFdl
Ykluc3BlY3Rvci5ET01TdG9yYWdlRGF0YUdyaWQpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRP
TVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUuX29uZGJsY2xpY2spOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUuX3N0YXJ0RWRpdGluZyk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkLnByb3RvdHlwZS5fZWRpdGluZ0Nv
bW1pdHRlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkLnByb3Rv
dHlwZS5fZWRpdGluZ0NhbmNlbGxlZCk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuRE9NU3RvcmFn
ZURhdGFHcmlkLnByb3RvdHlwZS5kZWxldGVTZWxlY3RlZFJvdyk6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9ET01TdG9yYWdlSXRlbXNWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVj
dG9yLkRPTVN0b3JhZ2VJdGVtc1ZpZXcpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRPTVN0b3Jh
Z2VJdGVtc1ZpZXcucHJvdG90eXBlLmdldCBzdGF0dXNCYXJJdGVtcyk6CisgICAgICAgIChXZWJJ
bnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUuaGlkZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUudXBkYXRlKToKKyAgICAg
ICAgKFdlYkluc3BlY3Rvci5ET01TdG9yYWdlSXRlbXNWaWV3LnByb3RvdHlwZS5fZGVsZXRlQnV0
dG9uQ2xpY2tlZCk6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFzZXNQYW5l
bC5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFzZXNQYW5lbCk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuRGF0YWJhc2VzUGFuZWwucHJvdG90eXBlLmdldCBzdGF0dXNCYXJJdGVtcyk6
CisgICAgICAgIChXZWJJbnNwZWN0b3IuRGF0YWJhc2VzUGFuZWwucHJvdG90eXBlLnJlc2V0KToK
KyAgICAgICAgKFdlYkluc3BlY3Rvci5EYXRhYmFzZXNQYW5lbC5wcm90b3R5cGUuc2hvd0RPTVN0
b3JhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFiYXNlc1BhbmVsLnByb3RvdHlwZS5k
YXRhR3JpZEZvckRPTVN0b3JhZ2UpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLkRhdGFiYXNlc1Bh
bmVsLnByb3RvdHlwZS5fdXBkYXRlU2lkZWJhcldpZHRoKToKKyAgICAgICAgKiBpbnNwZWN0b3Iv
ZnJvbnQtZW5kL1dlYktpdC5xcmM6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNw
ZWN0b3IuY3NzOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6
CisKIDIwMDktMDItMjYgIEpvbmF0aG9uIEpvbmdzbWEgIDxqb25hdGhvbkBxdW90aWRpYW4ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEhvbGdlciBGcmV5dGhlci4KSW5kZXg6IFdlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagkocmV2aXNpb24gNDEyNDApCisrKyBXZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0xNjMyOSw2ICsx
NjMyOSwxMCBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCisJCQkJCVJlbGF0
aXZlUGF0aD0iLi5caW5zcGVjdG9yXGZyb250LWVuZFxET01TdG9yYWdlRGF0YUdyaWQuanMiDQor
CQkJCQk+DQorCQkJCTwvRmlsZT4NCisJCQkJPEZpbGUNCiAJCQkJCVJlbGF0aXZlUGF0aD0iLi5c
aW5zcGVjdG9yXGZyb250LWVuZFxET01TdG9yYWdlSXRlbXNWaWV3LmpzIg0KIAkJCQkJPg0KIAkJ
CQk8L0ZpbGU+DQpJbmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL0RhdGFiYXNlc1Bh
bmVsLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9EYXRhYmFz
ZXNQYW5lbC5qcwkocmV2aXNpb24gNDEwNzcpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1l
bmQvRGF0YWJhc2VzUGFuZWwuanMJKHdvcmtpbmcgY29weSkKQEAgLTYyLDYgKzYyLDkgQEAKICAg
ICB0aGlzLnN0b3JhZ2VWaWV3cy5pZCA9ICJzdG9yYWdlLXZpZXdzIjsKICAgICB0aGlzLmVsZW1l
bnQuYXBwZW5kQ2hpbGQodGhpcy5zdG9yYWdlVmlld3MpOwogCisgICAgdGhpcy5zdG9yYWdlVmll
d1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7
CisgICAgdGhpcy5zdG9yYWdlVmlld1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyLmlkID0gInN0b3Jh
Z2Utdmlldy1zdGF0dXMtYmFyLWl0ZW1zIjsKKwogICAgIHRoaXMucmVzZXQoKTsKIH0KIApAQCAt
NzMsNiArNzYsMTEgQEAKICAgICAgICAgcmV0dXJuIFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGF0
YWJhc2VzIik7CiAgICAgfSwKIAorICAgIGdldCBzdGF0dXNCYXJJdGVtcygpCisgICAgeworICAg
ICAgICByZXR1cm4gW3RoaXMuc3RvcmFnZVZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5lcl07Cisg
ICAgfSwKKwogICAgIHNob3c6IGZ1bmN0aW9uKCkKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rv
ci5QYW5lbC5wcm90b3R5cGUuc2hvdy5jYWxsKHRoaXMpOwpAQCAtMTA4LDYgKzExNiw4IEBACiAg
ICAgICAgIHRoaXMubG9jYWxTdG9yYWdlTGlzdFRyZWVFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7
CiAgICAgICAgIHRoaXMuc2Vzc2lvblN0b3JhZ2VMaXN0VHJlZUVsZW1lbnQucmVtb3ZlQ2hpbGRy
ZW4oKTsKICAgICAgICAgdGhpcy5zdG9yYWdlVmlld3MucmVtb3ZlQ2hpbGRyZW4oKTsKKyAgICAg
ICAgCisgICAgICAgIHRoaXMuc3RvcmFnZVZpZXdTdGF0dXNCYXJJdGVtc0NvbnRhaW5lci5yZW1v
dmVDaGlsZHJlbigpOwogICAgIH0sCiAKICAgICBoYW5kbGVLZXlFdmVudDogZnVuY3Rpb24oZXZl
bnQpCkBAIC0xODMsNiArMTkzLDExIEBACiAgICAgICAgIHZpZXcuc2hvdyh0aGlzLnN0b3JhZ2VW
aWV3cyk7CiAKICAgICAgICAgdGhpcy52aXNpYmxlVmlldyA9IHZpZXc7CisKKyAgICAgICAgdGhp
cy5zdG9yYWdlVmlld1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyLnJlbW92ZUNoaWxkcmVuKCk7Cisg
ICAgICAgIHZhciBzdGF0dXNCYXJJdGVtcyA9IHZpZXcuc3RhdHVzQmFySXRlbXM7CisgICAgICAg
IGZvciAodmFyIGkgPSAwOyBpIDwgc3RhdHVzQmFySXRlbXMubGVuZ3RoOyArK2kpCisgICAgICAg
ICAgICB0aGlzLnN0b3JhZ2VWaWV3U3RhdHVzQmFySXRlbXNDb250YWluZXIuYXBwZW5kQ2hpbGQo
c3RhdHVzQmFySXRlbXNbaV0pOwogICAgIH0sCiAKICAgICBjbG9zZVZpc2libGVWaWV3OiBmdW5j
dGlvbigpCkBAIC0zMjUsNyArMzQwLDcgQEAKICAgICAgICAgICAgIGlmICh2YWx1ZS5sZW5ndGgg
PiBjb2x1bW5zWzFdLndpZHRoKQogICAgICAgICAgICAgICAgIGNvbHVtbnNbMV0ud2lkdGggPSB2
YWx1ZS5sZW5ndGg7CiAgICAgICAgICAgICB2YXIgbm9kZSA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0
YUdyaWROb2RlKGRhdGEsIGZhbHNlKTsKLSAgICAgICAgICAgIG5vZGUuc2VsZWN0YWJsZSA9IGZh
bHNlOworICAgICAgICAgICAgbm9kZS5zZWxlY3RhYmxlID0gdHJ1ZTsKICAgICAgICAgICAgIG5v
ZGVzLnB1c2gobm9kZSk7CiAgICAgICAgIH0KIApAQCAtMzQxLDExICszNTYsMTIgQEAKICAgICAg
ICAgY29sdW1uc1swXS53aWR0aCArPSAiJSI7CiAgICAgICAgIGNvbHVtbnNbMV0ud2lkdGggKz0g
IiUiOwogCi0gICAgICAgIHZhciBkYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRGF0YUdyaWQo
Y29sdW1ucyk7CisgICAgICAgIHZhciBkYXRhR3JpZCA9IG5ldyBXZWJJbnNwZWN0b3IuRE9NU3Rv
cmFnZURhdGFHcmlkKGNvbHVtbnMpOwogICAgICAgICB2YXIgbGVuZ3RoID0gbm9kZXMubGVuZ3Ro
OwogICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8IGxlbmd0aDsgKytpKQogICAgICAgICAgICAg
ZGF0YUdyaWQuYXBwZW5kQ2hpbGQobm9kZXNbaV0pOwotCisgICAgICAgIGlmIChsZW5ndGggPiAw
KQorICAgICAgICAgICAgbm9kZXNbMF0uc2VsZWN0ZWQgPSB0cnVlOwogICAgICAgICByZXR1cm4g
ZGF0YUdyaWQ7CiAgICAgfSwKIApAQCAtMzg2LDYgKzQwMiw3IEBACiAKICAgICAgICAgdGhpcy5z
aWRlYmFyRWxlbWVudC5zdHlsZS53aWR0aCA9IHdpZHRoICsgInB4IjsKICAgICAgICAgdGhpcy5z
dG9yYWdlVmlld3Muc3R5bGUubGVmdCA9IHdpZHRoICsgInB4IjsKKyAgICAgICAgdGhpcy5zdG9y
YWdlVmlld1N0YXR1c0Jhckl0ZW1zQ29udGFpbmVyLnN0eWxlLmxlZnQgPSB3aWR0aCArICJweCI7
CiAgICAgICAgIHRoaXMuc2lkZWJhclJlc2l6ZUVsZW1lbnQuc3R5bGUubGVmdCA9ICh3aWR0aCAt
IDMpICsgInB4IjsKICAgICB9CiB9CkluZGV4OiBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQv
RE9NU3RvcmFnZURhdGFHcmlkLmpzCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvaW5zcGVjdG9yL2Zy
b250LWVuZC9ET01TdG9yYWdlRGF0YUdyaWQuanMJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZURhdGFHcmlkLmpzCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDEwMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBOb2tpYSBJbmMuIEFsbCBS
aWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgICAgICAgIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlkID0g
ZnVuY3Rpb24oY29sdW1ucykKK3sKKyAgICBXZWJJbnNwZWN0b3IuRGF0YUdyaWQuY2FsbCh0aGlz
LCBjb2x1bW5zKTsKKyAgICB0aGlzLmRhdGFUYWJsZUJvZHkuYWRkRXZlbnRMaXN0ZW5lcigiZGJs
Y2xpY2siLCB0aGlzLl9vbmRibGNsaWNrLmJpbmQodGhpcyksIGZhbHNlKTsKK30KKworV2ViSW5z
cGVjdG9yLkRPTVN0b3JhZ2VEYXRhR3JpZC5wcm90b3R5cGUgPSB7CisgICAgX29uZGJsY2xpY2s6
IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAgaWYgKHRoaXMuX2VkaXRpbmcpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIGlmICh0aGlzLl9lZGl0aW5nTm9kZSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgdGhpcy5fc3RhcnRFZGl0aW5nKGV2ZW50KTsKKyAgICB9LAor
ICAgIAorICAgIF9zdGFydEVkaXRpbmc6IGZ1bmN0aW9uKGV2ZW50KQorICAgIHsKKyAgICAgICAg
dmFyIGVsZW1lbnQgPSBldmVudC50YXJnZXQuZW5jbG9zaW5nTm9kZU9yU2VsZldpdGhOb2RlTmFt
ZSgidGQiKTsKKyAgICAgICAgaWYgKCFlbGVtZW50KQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB0aGlzLl9lZGl0aW5nTm9kZSA9IHRoaXMuZGF0YUdyaWROb2RlRnJvbUV2ZW50KGV2ZW50
KTsKKyAgICAgICAgaWYgKCF0aGlzLl9lZGl0aW5nTm9kZSkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgdGhpcy5fZWRpdGluZyA9IHRydWU7CisgICAgICAgICAgICAKKyAgICAgICAgV2Vi
SW5zcGVjdG9yLnN0YXJ0RWRpdGluZyhlbGVtZW50LCB0aGlzLl9lZGl0aW5nQ29tbWl0dGVkLmJp
bmQodGhpcyksIHRoaXMuX2VkaXRpbmdDYW5jZWxsZWQuYmluZCh0aGlzKSwgZWxlbWVudC50ZXh0
Q29udGVudCk7CisgICAgICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZXRCYXNlQW5kRXh0ZW50
KGVsZW1lbnQsIDAsIGVsZW1lbnQsIDEpOworICAgIH0sCisgICAgCisgICAgX2VkaXRpbmdDb21t
aXR0ZWQ6IGZ1bmN0aW9uKGVsZW1lbnQsIG5ld1RleHQpCisgICAgeworICAgICAgICBpZiAoZWxl
bWVudC5oYXNTdHlsZUNsYXNzKCIwLWNvbHVtbiIpKQorICAgICAgICAgICAgY29sdW1uSWRlbnRp
ZmllciA9IDA7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNvbHVtbklkZW50aWZpZXIgPSAx
OworICAgICAgICB0ZXh0QmVmb3JlRWRpdGluZyA9IHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbY29s
dW1uSWRlbnRpZmllcl07CisgICAgICAgIGlmICh0ZXh0QmVmb3JlRWRpdGluZyA9PSBuZXdUZXh0
KSB7CisgICAgICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1lbnQpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAorICAgICAgICB2YXIgZG9tU3RvcmFn
ZSA9IFdlYkluc3BlY3Rvci5wYW5lbHMuZGF0YWJhc2VzLnZpc2libGVWaWV3LmRvbVN0b3JhZ2Uu
ZG9tU3RvcmFnZTsKKyAgICAgICAgaWYgKGRvbVN0b3JhZ2UpIHsKKyAgICAgICAgICAgIGlmIChj
b2x1bW5JZGVudGlmaWVyID09IDApIHsKKyAgICAgICAgICAgICAgICBpZiAoZG9tU3RvcmFnZS5n
ZXRJdGVtKG5ld1RleHQpICE9IG51bGwpIHsKKyAgICAgICAgICAgICAgICAgICAgZWxlbWVudC50
ZXh0Q29udGVudCA9IHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMF07CisgICAgICAgICAgICAgICAg
ICAgIHRoaXMuX2VkaXRpbmdDYW5jZWxsZWQoZWxlbWVudCk7CisgICAgICAgICAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZG9tU3RvcmFnZS5y
ZW1vdmVJdGVtKHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMF0pOworICAgICAgICAgICAgICAgIGRv
bVN0b3JhZ2Uuc2V0SXRlbShuZXdUZXh0LCB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhWzFdKTsKKyAg
ICAgICAgICAgICAgICB0aGlzLl9lZGl0aW5nTm9kZS5kYXRhWzBdID0gbmV3VGV4dDsgICAgICAg
ICAgICAKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgZG9tU3RvcmFnZS5z
ZXRJdGVtKHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMF0sIG5ld1RleHQpOworICAgICAgICAgICAg
ICAgIHRoaXMuX2VkaXRpbmdOb2RlLmRhdGFbMV0gPSBuZXdUZXh0OworICAgICAgICAgICAgfQor
ICAgICAgICB9CisgICAgICAgIAorICAgICAgICB0aGlzLl9lZGl0aW5nQ2FuY2VsbGVkKGVsZW1l
bnQpOworICAgIH0sCisgICAgCisgICAgX2VkaXRpbmdDYW5jZWxsZWQ6IGZ1bmN0aW9uKGVsZW1l
bnQsIGNvbnRleHQpCisgICAgeworICAgICAgICBkZWxldGUgdGhpcy5fZWRpdGluZzsKKyAgICAg
ICAgdGhpcy5fZWRpdGluZ05vZGUgPSBudWxsOworICAgIH0sCisgICAgCisgICAgZGVsZXRlU2Vs
ZWN0ZWRSb3c6IGZ1bmN0aW9uKCkKKyAgICB7CisgICAgICAgIHZhciBub2RlID0gdGhpcy5zZWxl
Y3RlZE5vZGU7CisgICAgICAgIHZhciBkb21TdG9yYWdlID0gV2ViSW5zcGVjdG9yLnBhbmVscy5k
YXRhYmFzZXMudmlzaWJsZVZpZXcuZG9tU3RvcmFnZS5kb21TdG9yYWdlOworICAgICAgICBpZiAo
bm9kZSAmJiBkb21TdG9yYWdlKQorICAgICAgICAgICAgZG9tU3RvcmFnZS5yZW1vdmVJdGVtKG5v
ZGUuZGF0YVswXSk7CisgICAgfQorfQorCitXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZURhdGFHcmlk
LnByb3RvdHlwZS5fX3Byb3RvX18gPSBXZWJJbnNwZWN0b3IuRGF0YUdyaWQucHJvdG90eXBlOwpJ
bmRleDogV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MJKHJldmlzaW9u
IDQxMDc3KQorKysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5jc3MJKHdv
cmtpbmcgY29weSkKQEAgLTMwMDIsMyArMzAwMiwyMSBAQAogLnJlc2V0LXByb2ZpbGUtc3RhdHVz
LWJhci1pdGVtOmFjdGl2ZSB7CiAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMzJweCAwOwogfQor
CisuZGVsZXRlLXN0b3JhZ2Utc3RhdHVzLWJhci1pdGVtIHsKKyAgICBiYWNrZ3JvdW5kLWltYWdl
OiB1cmwoSW1hZ2VzL2V4Y2x1ZGVCdXR0b25zLnBuZykgIWltcG9ydGFudDsKK30KKworLmRlbGV0
ZS1zdG9yYWdlLXN0YXR1cy1iYXItaXRlbTphY3RpdmUgeworICAgIGJhY2tncm91bmQtcG9zaXRp
b246IDMycHggMDsKK30KKworI3N0b3JhZ2Utdmlldy1zdGF0dXMtYmFyLWl0ZW1zIHsKKyAgICBw
b3NpdGlvbjogYWJzb2x1dGU7CisgICAgdG9wOiAwOworICAgIGJvdHRvbTogMDsKKyAgICBsZWZ0
OiAyMDBweDsKKyAgICBvdmVyZmxvdzogaGlkZGVuOworICAgIGJvcmRlci1sZWZ0OiAxcHggc29s
aWQgcmdiKDE4NCwgMTg0LCAxODQpOworICAgIG1hcmdpbi1sZWZ0OiAtMXB4OworfQpJbmRleDog
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
Q29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMJKHJldmlzaW9uIDQxMDc3KQorKysg
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1dlYktpdC5xcmMJKHdvcmtpbmcgY29weSkKQEAg
LTExLDYgKzExLDcgQEAKICAgICA8ZmlsZT5EYXRhYmFzZVRhYmxlVmlldy5qczwvZmlsZT4KICAg
ICA8ZmlsZT5EYXRhR3JpZC5qczwvZmlsZT4KICAgICA8ZmlsZT5ET01TdG9yYWdlLmpzPC9maWxl
PgorICAgIDxmaWxlPkRPTVN0b3JhZ2VEYXRhR3JpZC5qczwvZmlsZT4KICAgICA8ZmlsZT5ET01T
dG9yYWdlSXRlbXNWaWV3LmpzPC9maWxlPgogICAgIDxmaWxlPkVsZW1lbnRzUGFuZWwuanM8L2Zp
bGU+CiAgICAgPGZpbGU+RWxlbWVudHNUcmVlT3V0bGluZS5qczwvZmlsZT4KSW5kZXg6IFdlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2luc3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwJKHJldmlzaW9uIDQxMDc3KQor
KysgV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sCSh3b3JraW5nIGNv
cHkpCkBAIC00NCw2ICs0NCw3IEBACiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQi
IHNyYz0iRE9NU3RvcmFnZS5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2ph
dmFzY3JpcHQiIHNyYz0iRE9NU3RvcmFnZUl0ZW1zVmlldy5qcyI+PC9zY3JpcHQ+CiAgICAgPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0iRGF0YUdyaWQuanMiPjwvc2NyaXB0Pgor
ICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBzcmM9IkRPTVN0b3JhZ2VEYXRhR3Jp
ZC5qcyI+PC9zY3JpcHQ+CiAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIHNyYz0i
U2NyaXB0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIg
c3JjPSJCcmVha3BvaW50LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJTaWRlYmFyUGFuZS5qcyI+PC9zY3JpcHQ+CkluZGV4OiBXZWJDb3JlL2lu
c3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0ZW1zVmlldy5qcwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0ZW1zVmlldy5qcwkocmV2aXNp
b24gNDEwNzcpCisrKyBXZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvRE9NU3RvcmFnZUl0ZW1z
Vmlldy5qcwkod29ya2luZyBjb3B5KQpAQCAtMzEsMTUgKzMxLDMxIEBACiAKICAgICB0aGlzLmVs
ZW1lbnQuYWRkU3R5bGVDbGFzcygic3RvcmFnZS12aWV3Iik7CiAgICAgdGhpcy5lbGVtZW50LmFk
ZFN0eWxlQ2xhc3MoInRhYmxlIik7CisgICAgCisgICAgdGhpcy5kZWxldGVCdXR0b24gPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJidXR0b24iKTsKKyAgICB0aGlzLmRlbGV0ZUJ1dHRvbi50aXRs
ZSA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiRGVsZXRlIik7CisgICAgdGhpcy5kZWxldGVCdXR0
b24uY2xhc3NOYW1lID0gImRlbGV0ZS1zdG9yYWdlLXN0YXR1cy1iYXItaXRlbSBzdGF0dXMtYmFy
LWl0ZW0gaGlkZGVuIjsKKyAgICB0aGlzLmRlbGV0ZUJ1dHRvbi5hZGRFdmVudExpc3RlbmVyKCJj
bGljayIsIHRoaXMuX2RlbGV0ZUJ1dHRvbkNsaWNrZWQuYmluZCh0aGlzKSwgZmFsc2UpOwogfQog
CiBXZWJJbnNwZWN0b3IuRE9NU3RvcmFnZUl0ZW1zVmlldy5wcm90b3R5cGUgPSB7CisgICAgZ2V0
IHN0YXR1c0Jhckl0ZW1zKCkKKyAgICB7CisgICAgICAgIHJldHVybiBbdGhpcy5kZWxldGVCdXR0
b25dOworICAgIH0sCisKICAgICBzaG93OiBmdW5jdGlvbihwYXJlbnRFbGVtZW50KQogICAgIHsK
ICAgICAgICAgV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLnNob3cuY2FsbCh0aGlzLCBwYXJl
bnRFbGVtZW50KTsKICAgICAgICAgdGhpcy51cGRhdGUoKTsKICAgICB9LAogCisgICAgaGlkZTog
ZnVuY3Rpb24oKQorICAgIHsKKyAgICAgICAgV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90eXBlLmhp
ZGUuY2FsbCh0aGlzKTsKKyAgICAgICAgdGhpcy5kZWxldGVCdXR0b24uYWRkU3R5bGVDbGFzcygi
aGlkZGVuIik7CisgICAgfSwKKwogICAgIHVwZGF0ZTogZnVuY3Rpb24oKQogICAgIHsKICAgICAg
ICAgdGhpcy5lbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CkBAIC01MSw4ICs2NywxMSBAQAogICAg
ICAgICAgICAgdmFyIGRhdGFHcmlkID0gV2ViSW5zcGVjdG9yLnBhbmVscy5kYXRhYmFzZXMuZGF0
YUdyaWRGb3JET01TdG9yYWdlKHRoaXMuZG9tU3RvcmFnZS5kb21TdG9yYWdlKTsKICAgICAgICAg
ICAgIGlmICghZGF0YUdyaWQpCiAgICAgICAgICAgICAgICAgaGFzRE9NU3RvcmFnZSA9IDA7Ci0g
ICAgICAgICAgICBlbHNlCisgICAgICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICAgICB0aGlz
Ll9kYXRhR3JpZCA9IGRhdGFHcmlkOwogICAgICAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hcHBl
bmRDaGlsZChkYXRhR3JpZC5lbGVtZW50KTsKKyAgICAgICAgICAgICAgICB0aGlzLmRlbGV0ZUJ1
dHRvbi5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgICAgIH0KICAgICAgICAg
fQogICAgICAgICBpZiAoIWhhc0RPTVN0b3JhZ2UpIHsKICAgICAgICAgICAgIHZhciBlbXB0eU1z
Z0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKQEAgLTYwLDcgKzc5LDE4
IEBACiAgICAgICAgICAgICBpZiAodGhpcy5kb21TdG9yYWdlKQogICAgICAgICAgICAgZW1wdHlN
c2dFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJUaGlzIHN0b3Jh
Z2UgaXMgZW1wdHkuIik7CiAgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQoZW1w
dHlNc2dFbGVtZW50KTsKKyAgICAgICAgICAgIHRoaXMuX2RhdGFHcmlkID0gbnVsbDsKKyAgICAg
ICAgICAgIHRoaXMuZGVsZXRlQnV0dG9uLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgICAg
ICB9CisgICAgfSwKKyAgICAKKyAgICBfZGVsZXRlQnV0dG9uQ2xpY2tlZDogZnVuY3Rpb24oZXZl
bnQpCisgICAgeworICAgICAgICBpZiAodGhpcy5fZGF0YUdyaWQpIHsKKyAgICAgICAgICAgIHRo
aXMuX2RhdGFHcmlkLmRlbGV0ZVNlbGVjdGVkUm93KCk7CisgICAgICAgICAgICAKKyAgICAgICAg
ICAgIHRoaXMuc2hvdygpOworICAgICAgICB9CiAgICAgfQogfQogCg==
</data>
<flag name="review"
          id="13653"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>