<?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>39822</bug_id>
          
          <creation_ts>2010-05-27 02:27:05 -0700</creation_ts>
          <short_desc>Web Inspector: Implement additional tabs support in ResourceView</short_desc>
          <delta_ts>2010-06-12 20:47:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Web Inspector (Deprecated)</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>38578</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexander Pavlov (apavlov)">apavlov</reporter>
          <assigned_to name="Alexander Pavlov (apavlov)">apavlov</assigned_to>
          <cc>abarth</cc>
    
    <cc>bweinstein</cc>
    
    <cc>eric</cc>
    
    <cc>joepeck</cc>
    
    <cc>keishi</cc>
    
    <cc>pfeldman</cc>
    
    <cc>pmuellr</cc>
    
    <cc>rik</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yurys</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>231193</commentid>
    <comment_count>0</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-05-27 02:27:05 -0700</bug_when>
    <thetext>Since classes extending ResourceView may need to show additional tabs, besides &quot;Headers&quot; and &quot;Content&quot;, a generified approach should be used, to be able to add and hide tabs using a tab ID (name).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231215</commentid>
    <comment_count>1</comment_count>
      <attachid>57218</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-05-27 04:00:44 -0700</bug_when>
    <thetext>Created attachment 57218
[PATCH] Suggested solution</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231283</commentid>
    <comment_count>2</comment_count>
      <attachid>57218</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-27 07:10:46 -0700</bug_when>
    <thetext>Comment on attachment 57218
[PATCH] Suggested solution

WebCore/inspector/front-end/ResourceView.js: 
 +   *     notice, this list of conditions and the following disclaimer. 
Please do not mix formatting changes with actual refactorings.


WebCore/inspector/front-end/ResourceView.js:125
 +          this._tabObjects[id] = {tab: tabElement, content: contentElement};
I think you should extract this functionality into a separate tabbed pane class that is capable of showing views (or dom elements) in it. It then would be reusable in other places of the ui such as styles sidebar.

WebCore/inspector/front-end/SourceView.js:208
 +              this._appendTab(&quot;local&quot;, WebInspector.UIString(&quot;Local&quot;), this.localContentElement, this.selectLocalContentTab.bind(this));
You should not call private methods - make this one public!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232375</commentid>
    <comment_count>3</comment_count>
      <attachid>57467</attachid>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-05-31 08:12:08 -0700</bug_when>
    <thetext>Created attachment 57467
[PATCH] Comments addressed</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232420</commentid>
    <comment_count>4</comment_count>
      <attachid>57467</attachid>
    <who name="Pavel Feldman">pfeldman</who>
    <bug_when>2010-05-31 09:34:14 -0700</bug_when>
    <thetext>Comment on attachment 57467
[PATCH] Comments addressed

WebCore/inspector/front-end/ResourceView.js:111
 +          this.tabbedPane.hideTab(&quot;content&quot;);
Now that the tabbed pane is a component, you should simply not add content tab in this case instead of adding and hiding it.

WebCore/inspector/front-end/SourceView.js:54
 +          if (this.localSourceFrame)
I think what we should do is to come up with the tab factory for resources. So that the factory was creating tabs of applicable types for each resource. As a result, you would break SourceView -&gt; ResourceView inheritance, will prevent SourceView from being localSourceFrame-aware, will make local changes tab absolutely separate extension, get rid of nasty show / hide headers when SourceView is re-used in Scripts tab. Lots of goodness!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232442</commentid>
    <comment_count>5</comment_count>
    <who name="Alexander Pavlov (apavlov)">apavlov</who>
    <bug_when>2010-05-31 10:20:56 -0700</bug_when>
    <thetext>Landed with the contentElement creation/hiding avoided

Committing to http://svn.webkit.org/repository/webkit/trunk ...
        M       WebCore/ChangeLog
        M       WebCore/inspector/front-end/ResourceView.js
        M       WebCore/inspector/front-end/SourceView.js
        M       WebCore/inspector/front-end/TextViewer.js
        M       WebCore/inspector/front-end/inspector.html
Committed r60445</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>232454</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-31 10:42:42 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/60445 might have broken GTK Linux 32-bit Release</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57218</attachid>
            <date>2010-05-27 04:00:44 -0700</date>
            <delta_ts>2010-05-31 08:12:08 -0700</delta_ts>
            <desc>[PATCH] Suggested solution</desc>
            <filename>namedtabs.patch</filename>
            <type>text/plain</type>
            <size>12086</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MjlkODcxYS4uNjEwY2Q3NCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMiBAQAorMjAxMC0wNS0yNyAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBhZGRpdGlvbmFs
IHRhYnMgc3VwcG9ydCBpbiBSZXNvdXJjZVZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM5ODIyCisKKyAgICAgICAgUmVzb3VyY2VWaWV3cyBjYW4g
YWRkIGFuZCBoaWRlIHRhYnMgb3RoZXIgdGhhbiAiSGVhZGVycyIgYW5kICJDb250ZW50Ii4KKyAg
ICAgICAgQWRkaXRpb25hbGx5LCB0aGlzIGhhcyBiZWVuIHVzZWQgdG8gYWRkIGEgIkxvY2FsIiB0
YWIgdG8gU291cmNlVmlldywgd2hpY2ggaXMgYWRkZWQgb24KKyAgICAgICAgdGhlIGFzc29jaWF0
ZWQgcmVzb3VyY2UgbW9kaWZpY2F0aW9uIGFuZCBkaXNwbGF5cyB0aGUgbW9kaWZpZWQgY29udGVu
dC4KKworICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3LmpzOgorICAg
ICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldyk6CisgICAgICAgIChXZWJJbnNwZWN0b3Iu
UmVzb3VyY2VWaWV3LnByb3RvdHlwZS5fYXBwZW5kVGFiKToKKyAgICAgICAgKFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVZpZXcucHJvdG90eXBlLnNldCBoZWFkZXJzVmlzaWJsZSk6CisgICAgICAgIChX
ZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZS5fc2VsZWN0SGVhZGVyc1RhYik6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZS5fc2VsZWN0VGFiQnlO
YW1lKToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcucHJvdG90eXBlLl9pbm5l
clNlbGVjdENvbnRlbnRUYWIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5w
cm90b3R5cGUuX3JlZnJlc2hQYXJtcyk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuUmVzb3VyY2VW
aWV3LnByb3RvdHlwZS5fcmVmcmVzaEhUVFBJbmZvcm1hdGlvbik6CisgICAgICAgICogaW5zcGVj
dG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJj
ZVZpZXcucHJvdG90eXBlLnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcu
cHJvdG90eXBlLmhpZGUpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcucHJvdG90
eXBlLnJlc2l6ZSk6CisgICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlVmlldy5wcm90b3R5cGUu
dXBkYXRlTG9jYWxDb250ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VWaWV3LnBy
b3RvdHlwZS5zZWxlY3RMb2NhbENvbnRlbnRUYWIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9u
dC1lbmQvVGV4dFZpZXdlci5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5UZXh0Vmlld2VyLnBy
b3RvdHlwZS5fZ2V0U2VsZWN0aW9uKToKKwogMjAxMC0wNS0yNiAgRGF2aWQgSHlhdHQgIDxoeWF0
dEBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdp
dCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcuanMgYi9XZWJDb3Jl
L2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3LmpzCmluZGV4IDE5ZjgxOWQuLjdmZmJj
MWUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcu
anMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNlVmlldy5qcwpAQCAt
NywxMyArNywxMyBAQAogICogYXJlIG1ldDoKICAqCiAgKiAxLiAgUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
IAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KICAqIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAogICogICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLiAKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgogICogMy4gIE5laXRoZXIgdGhlIG5h
bWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YKICAq
ICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkCi0gKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLiAKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUg
d2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCiAgKgogICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMi
IEFORCBBTlkKICAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKQEAgLTM0LDI5ICszNCwxOSBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VWaWV3ID0gZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgdGhpcy5lbGVtZW50
LmFkZFN0eWxlQ2xhc3MoInJlc291cmNlLXZpZXciKTsKIAogICAgIHRoaXMucmVzb3VyY2UgPSBy
ZXNvdXJjZTsKKyAgICB0aGlzLl90YWJPYmplY3RzID0ge307CiAKICAgICB0aGlzLnRhYnNFbGVt
ZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CiAgICAgdGhpcy50YWJzRWxlbWVu
dC5jbGFzc05hbWUgPSAic2NvcGUtYmFyIjsKICAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQo
dGhpcy50YWJzRWxlbWVudCk7CiAKLSAgICB0aGlzLmhlYWRlcnNUYWJFbGVtZW50ID0gZG9jdW1l
bnQuY3JlYXRlRWxlbWVudCgibGkiKTsKLSAgICB0aGlzLmhlYWRlcnNUYWJFbGVtZW50LnRleHRD
b250ZW50ID0gV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJIZWFkZXJzIik7Ci0gICAgdGhpcy5jb250
ZW50VGFiRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImxpIik7Ci0gICAgdGhpcy5j
b250ZW50VGFiRWxlbWVudC50ZXh0Q29udGVudCA9IFdlYkluc3BlY3Rvci5VSVN0cmluZygiQ29u
dGVudCIpOwotCi0gICAgdGhpcy50YWJzRWxlbWVudC5hcHBlbmRDaGlsZCh0aGlzLmhlYWRlcnNU
YWJFbGVtZW50KTsKLSAgICB0aGlzLnRhYnNFbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29udGVu
dFRhYkVsZW1lbnQpOwotCi0gICAgdGhpcy5oZWFkZXJzVGFiRWxlbWVudC5hZGRFdmVudExpc3Rl
bmVyKCJjbGljayIsIHRoaXMuX3NlbGVjdEhlYWRlcnNUYWIuYmluZCh0aGlzLCB0cnVlKSwgZmFs
c2UpOwotICAgIHRoaXMuY29udGVudFRhYkVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2si
LCB0aGlzLnNlbGVjdENvbnRlbnRUYWIuYmluZCh0aGlzLCB0cnVlKSwgZmFsc2UpOwotCiAgICAg
dGhpcy5oZWFkZXJzRWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAg
IHRoaXMuaGVhZGVyc0VsZW1lbnQuY2xhc3NOYW1lID0gInJlc291cmNlLXZpZXctaGVhZGVycyI7
Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuaGVhZGVyc0VsZW1lbnQpOworICAg
IHRoaXMuX2FwcGVuZFRhYigiaGVhZGVycyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGVhZGVy
cyIpLCB0aGlzLmhlYWRlcnNFbGVtZW50LCB0aGlzLl9zZWxlY3RIZWFkZXJzVGFiLmJpbmQodGhp
cywgdHJ1ZSkpOwogCiAgICAgdGhpcy5jb250ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOwogICAgIHRoaXMuY29udGVudEVsZW1lbnQuY2xhc3NOYW1lID0gInJlc291
cmNlLXZpZXctY29udGVudCI7Ci0gICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29u
dGVudEVsZW1lbnQpOworICAgIHRoaXMuX2FwcGVuZFRhYigiY29udGVudCIsIFdlYkluc3BlY3Rv
ci5VSVN0cmluZygiQ29udGVudCIpLCB0aGlzLmNvbnRlbnRFbGVtZW50LCB0aGlzLnNlbGVjdENv
bnRlbnRUYWIuYmluZCh0aGlzLCB0cnVlKSk7CiAKICAgICB0aGlzLmhlYWRlcnNMaXN0RWxlbWVu
dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoIm9sIik7CiAgICAgdGhpcy5oZWFkZXJzTGlzdEVs
ZW1lbnQuY2xhc3NOYW1lID0gIm91dGxpbmUtZGlzY2xvc3VyZSI7CkBAIC03Niw3ICs2Niw3IEBA
IFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcgPSBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB0aGlz
LnN0YXR1c0NvZGVUcmVlRWxlbWVudCA9IG5ldyBUcmVlRWxlbWVudCgiIiwgbnVsbCwgZmFsc2Up
OwogICAgIHRoaXMuc3RhdHVzQ29kZVRyZWVFbGVtZW50LnNlbGVjdGFibGUgPSBmYWxzZTsKICAg
ICB0aGlzLmhlYWRlcnNUcmVlT3V0bGluZS5hcHBlbmRDaGlsZCh0aGlzLnN0YXR1c0NvZGVUcmVl
RWxlbWVudCk7Ci0gICAgIAorCiAgICAgdGhpcy5yZXF1ZXN0SGVhZGVyc1RyZWVFbGVtZW50ID0g
bmV3IFRyZWVFbGVtZW50KCIiLCBudWxsLCB0cnVlKTsKICAgICB0aGlzLnJlcXVlc3RIZWFkZXJz
VHJlZUVsZW1lbnQuZXhwYW5kZWQgPSB0cnVlOwogICAgIHRoaXMucmVxdWVzdEhlYWRlcnNUcmVl
RWxlbWVudC5zZWxlY3RhYmxlID0gZmFsc2U7CkBAIC0xMjAsMTEgKzExMCwyMSBAQCBXZWJJbnNw
ZWN0b3IuUmVzb3VyY2VWaWV3ID0gZnVuY3Rpb24ocmVzb3VyY2UpCiAgICAgdGhpcy5fcmVmcmVz
aFJlc3BvbnNlSGVhZGVycygpOwogICAgIHRoaXMuX3JlZnJlc2hIVFRQSW5mb3JtYXRpb24oKTsK
ICAgICBpZiAoIXRoaXMuaGFzQ29udGVudFRhYigpKQotICAgICAgICB0aGlzLmNvbnRlbnRUYWJF
bGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOworICAgICAgICB0aGlzLl90YWJPYmplY3Rz
WyJjb250ZW50Il0udGFiLmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwogICAgIHRoaXMuX3NlbGVj
dFRhYigpOwogfQogCiBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZSA9IHsKKyAg
ICBfYXBwZW5kVGFiOiBmdW5jdGlvbihpZCwgdGFiVGl0bGUsIGNvbnRlbnRFbGVtZW50LCB0YWJD
bGlja0xpc3RlbmVyKQorICAgIHsKKyAgICAgICAgdmFyIHRhYkVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJsaSIpOworICAgICAgICB0YWJFbGVtZW50LnRleHRDb250ZW50ID0gdGFi
VGl0bGU7CisgICAgICAgIHRhYkVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigiY2xpY2siLCB0YWJD
bGlja0xpc3RlbmVyLCBmYWxzZSk7CisgICAgICAgIHRoaXMudGFic0VsZW1lbnQuYXBwZW5kQ2hp
bGQodGFiRWxlbWVudCk7CisgICAgICAgIHRoaXMuZWxlbWVudC5hcHBlbmRDaGlsZChjb250ZW50
RWxlbWVudCk7CisgICAgICAgIHRoaXMuX3RhYk9iamVjdHNbaWRdID0ge3RhYjogdGFiRWxlbWVu
dCwgY29udGVudDogY29udGVudEVsZW1lbnR9OworICAgIH0sCisKICAgICBhdHRhY2g6IGZ1bmN0
aW9uKCkKICAgICB7CiAgICAgICAgIGlmICghdGhpcy5lbGVtZW50LnBhcmVudE5vZGUpIHsKQEAg
LTE0Niw5ICsxNDYsOSBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZSA9IHsK
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgdGhpcy5faGVhZGVyc1Zpc2libGUgPSB4Owog
ICAgICAgICBpZiAoeCkKLSAgICAgICAgICAgIHRoaXMuZWxlbWVudC5hZGRTdHlsZUNsYXNzKCJo
ZWFkZXJzLXZpc2libGUiKTsgCisgICAgICAgICAgICB0aGlzLmVsZW1lbnQuYWRkU3R5bGVDbGFz
cygiaGVhZGVycy12aXNpYmxlIik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHRoaXMuZWxl
bWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoZWFkZXJzLXZpc2libGUiKTsgCisgICAgICAgICAgICB0
aGlzLmVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygiaGVhZGVycy12aXNpYmxlIik7CiAgICAgICAg
IHRoaXMuX3NlbGVjdFRhYigpOwogICAgIH0sCiAKQEAgLTE2NywxMCArMTY3LDI0IEBAIFdlYklu
c3BlY3Rvci5SZXNvdXJjZVZpZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgaWYgKHVw
ZGF0ZVByZWZzKQogICAgICAgICAgICAgV2ViSW5zcGVjdG9yLnNldHRpbmdzLnJlc291cmNlVmll
d1RhYiA9ICJoZWFkZXJzIjsKLSAgICAgICAgdGhpcy5oZWFkZXJzVGFiRWxlbWVudC5hZGRTdHls
ZUNsYXNzKCJzZWxlY3RlZCIpOwotICAgICAgICB0aGlzLmNvbnRlbnRUYWJFbGVtZW50LnJlbW92
ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgIHRoaXMuaGVhZGVyc0VsZW1lbnQucmVt
b3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Ci0gICAgICAgIHRoaXMuY29udGVudEVsZW1lbnQuYWRk
U3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMuX3NlbGVjdFRhYkJ5TmFtZSgiaGVh
ZGVycyIpOworICAgIH0sCisKKyAgICBfc2VsZWN0VGFiQnlOYW1lOiBmdW5jdGlvbihuYW1lKQor
ICAgIHsKKyAgICAgICAgdmFyIHNlbGVjdGVkID0gZmFsc2U7CisgICAgICAgIGZvciAodmFyIGlk
IGluIHRoaXMuX3RhYk9iamVjdHMpIHsKKyAgICAgICAgICAgIHZhciB0YWJPYmplY3QgPSB0aGlz
Ll90YWJPYmplY3RzW2lkXTsKKyAgICAgICAgICAgIGlmIChpZCA9PT0gbmFtZSkgeworICAgICAg
ICAgICAgICAgIHNlbGVjdGVkID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB0YWJPYmplY3QudGFi
LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisgICAgICAgICAgICAgICAgdGFiT2JqZWN0LmNv
bnRlbnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgICAgICB9IGVsc2Ugewor
ICAgICAgICAgICAgICAgIHRhYk9iamVjdC50YWIucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQi
KTsKKyAgICAgICAgICAgICAgICB0YWJPYmplY3QuY29udGVudC5hZGRTdHlsZUNsYXNzKCJoaWRk
ZW4iKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7
CiAgICAgfSwKIAogICAgIHNlbGVjdENvbnRlbnRUYWI6IGZ1bmN0aW9uKHVwZGF0ZVByZWZzKQpA
QCAtMTg4LDEwICsyMDIsNyBAQCBXZWJJbnNwZWN0b3IuUmVzb3VyY2VWaWV3LnByb3RvdHlwZSA9
IHsKIAogICAgIF9pbm5lclNlbGVjdENvbnRlbnRUYWI6IGZ1bmN0aW9uKCkKICAgICB7Ci0gICAg
ICAgIHRoaXMuY29udGVudFRhYkVsZW1lbnQuYWRkU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAg
ICAgICAgdGhpcy5oZWFkZXJzVGFiRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJzZWxlY3RlZCIp
OwotICAgICAgICB0aGlzLmNvbnRlbnRFbGVtZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIp
OwotICAgICAgICB0aGlzLmhlYWRlcnNFbGVtZW50LmFkZFN0eWxlQ2xhc3MoImhpZGRlbiIpOwor
ICAgICAgICB0aGlzLl9zZWxlY3RUYWJCeU5hbWUoImNvbnRlbnQiKTsKICAgICAgICAgaWYgKCJy
ZXNpemUiIGluIHRoaXMpCiAgICAgICAgICAgICB0aGlzLnJlc2l6ZSgpOwogICAgICAgICB0aGlz
LmNvbnRlbnRUYWJTZWxlY3RlZCgpOwpAQCAtMjgwLDcgKzI5MSw3IEBAIFdlYkluc3BlY3Rvci5S
ZXNvdXJjZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgICAgICAgICAgZXJyb3JE
ZWNvZGluZyA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9
Ci0gICAgICAgICAgICAgICAgICAgIAorCiAgICAgICAgICAgICAgICAgdmFsdWUgPSB2YWx1ZS5y
ZXBsYWNlKC9cKy9nLCAiICIpOwogICAgICAgICAgICAgfQogCkBAIC0zNDUsNyArMzU2LDcgQEAg
V2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGUgPSB7CiAKICAgICAgICAgICAgIHZh
ciBzdGF0dXNUZXh0RXNjYXBlZCA9IHRoaXMucmVzb3VyY2Uuc3RhdHVzQ29kZSArICIgIiArIHRo
aXMucmVzb3VyY2Uuc3RhdHVzVGV4dC5lc2NhcGVIVE1MKCk7CiAgICAgICAgICAgICBzdGF0dXND
b2RlSW1hZ2UgPSAiPGltZyBjbGFzcz1cInJlc291cmNlLXN0YXR1cy1pbWFnZVwiIHNyYz1cIiIg
KyBzdGF0dXNJbWFnZVNvdXJjZSArICJcIiB0aXRsZT1cIiIgKyBzdGF0dXNUZXh0RXNjYXBlZCAr
ICJcIj4iOwotICAgIAorCiAgICAgICAgICAgICByZXF1ZXN0TWV0aG9kRWxlbWVudC50aXRsZSA9
ICI8ZGl2IGNsYXNzPVwiaGVhZGVyLW5hbWVcIj4iICsgV2ViSW5zcGVjdG9yLlVJU3RyaW5nKCJS
ZXF1ZXN0IE1ldGhvZCIpICsgIjo8L2Rpdj4iICsKICAgICAgICAgICAgICAgICAiPGRpdiBjbGFz
cz1cImhlYWRlci12YWx1ZSBzb3VyY2UtY29kZVwiPiIgKyB0aGlzLnJlc291cmNlLnJlcXVlc3RN
ZXRob2QgKyAiPC9kaXY+IjsKIApAQCAtMzUzLDcgKzM2NCw3IEBAIFdlYkluc3BlY3Rvci5SZXNv
dXJjZVZpZXcucHJvdG90eXBlID0gewogICAgICAgICAgICAgICAgIHN0YXR1c0NvZGVJbWFnZSAr
ICI8ZGl2IGNsYXNzPVwiaGVhZGVyLXZhbHVlIHNvdXJjZS1jb2RlXCI+IiArIHN0YXR1c1RleHRF
c2NhcGVkICsgIjwvZGl2PiI7CiAgICAgICAgIH0KICAgICB9LAotICAgIAorCiAgICAgX3JlZnJl
c2hIZWFkZXJzOiBmdW5jdGlvbih0aXRsZSwgaGVhZGVycywgaGVhZGVyc1RyZWVFbGVtZW50KQog
ICAgIHsKICAgICAgICAgaGVhZGVyc1RyZWVFbGVtZW50LnJlbW92ZUNoaWxkcmVuKCk7CmRpZmYg
LS1naXQgYS9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvU291cmNlVmlldy5qcyBiL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzCmluZGV4IDM2MjExODcuLjkwZWQy
MzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3Lmpz
CisrKyBiL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3LmpzCkBAIC01MSw2
ICs1MSw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAg
ICAgICAgIFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcucHJvdG90eXBlLnNob3cuY2FsbCh0aGlz
LCBwYXJlbnRFbGVtZW50KTsKICAgICAgICAgdGhpcy5zb3VyY2VGcmFtZS52aXNpYmxlID0gdHJ1
ZTsKKyAgICAgICAgaWYgKHRoaXMubG9jYWxTb3VyY2VGcmFtZSkKKyAgICAgICAgICAgIHRoaXMu
bG9jYWxTb3VyY2VGcmFtZS52aXNpYmxlID0gdHJ1ZTsKICAgICAgICAgdGhpcy5yZXNpemUoKTsK
ICAgICB9LAogCkBAIC01OCw2ICs2MCw4IEBAIFdlYkluc3BlY3Rvci5Tb3VyY2VWaWV3LnByb3Rv
dHlwZSA9IHsKICAgICB7CiAgICAgICAgIFdlYkluc3BlY3Rvci5WaWV3LnByb3RvdHlwZS5oaWRl
LmNhbGwodGhpcyk7CiAgICAgICAgIHRoaXMuc291cmNlRnJhbWUudmlzaWJsZSA9IGZhbHNlOwor
ICAgICAgICBpZiAodGhpcy5sb2NhbFNvdXJjZUZyYW1lKQorICAgICAgICAgICAgdGhpcy5sb2Nh
bFNvdXJjZUZyYW1lLnZpc2libGUgPSBmYWxzZTsKICAgICAgICAgdGhpcy5fY3VycmVudFNlYXJj
aFJlc3VsdEluZGV4ID0gLTE7CiAgICAgfSwKIApAQCAtNjUsNiArNjksOCBAQCBXZWJJbnNwZWN0
b3IuU291cmNlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgewogICAgICAgICBpZiAodGhpcy5zb3Vy
Y2VGcmFtZSkKICAgICAgICAgICAgIHRoaXMuc291cmNlRnJhbWUucmVzaXplKCk7CisgICAgICAg
IGlmICh0aGlzLmxvY2FsU291cmNlRnJhbWUpCisgICAgICAgICAgICB0aGlzLmxvY2FsU291cmNl
RnJhbWUucmVzaXplKCk7CiAgICAgfSwKIAogICAgIHNldHVwU291cmNlRnJhbWVJZk5lZWRlZDog
ZnVuY3Rpb24oKQpAQCAtMTk0LDYgKzIwMCwyNSBAQCBXZWJJbnNwZWN0b3IuU291cmNlVmlldy5w
cm90b3R5cGUgPSB7CiAgICAgICAgIGZpbmRTZWFyY2hNYXRjaGVzLmNhbGwodGhpcywgcXVlcnks
IGZpbmlzaGVkQ2FsbGJhY2spOwogICAgIH0sCiAKKyAgICB1cGRhdGVMb2NhbENvbnRlbnQ6IGZ1
bmN0aW9uKGNvbnRlbnQsIG1pbWVUeXBlKQorICAgIHsKKyAgICAgICAgaWYgKCF0aGlzLmxvY2Fs
Q29udGVudEVsZW1lbnQpIHsKKyAgICAgICAgICAgIHRoaXMubG9jYWxDb250ZW50RWxlbWVudCA9
IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgICAgICAgICAgdGhpcy5sb2NhbENv
bnRlbnRFbGVtZW50LmNsYXNzTmFtZSA9ICJyZXNvdXJjZS12aWV3LWNvbnRlbnQiOworICAgICAg
ICAgICAgdGhpcy5fYXBwZW5kVGFiKCJsb2NhbCIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiTG9j
YWwiKSwgdGhpcy5sb2NhbENvbnRlbnRFbGVtZW50LCB0aGlzLnNlbGVjdExvY2FsQ29udGVudFRh
Yi5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIHRoaXMubG9jYWxTb3VyY2VGcmFtZSA9IG5ldyBX
ZWJJbnNwZWN0b3IuU291cmNlRnJhbWUodGhpcy5sb2NhbENvbnRlbnRFbGVtZW50LCB0aGlzLl9h
ZGRCcmVha3BvaW50LmJpbmQodGhpcyksIHRoaXMuX3JlbW92ZUJyZWFrcG9pbnQuYmluZCh0aGlz
KSk7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5sb2NhbFNvdXJjZUZyYW1lLnNldENvbnRlbnQo
bWltZVR5cGUsIGNvbnRlbnQsICIiKTsKKyAgICB9LAorCisgICAgc2VsZWN0TG9jYWxDb250ZW50
VGFiOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLl9zZWxlY3RUYWJCeU5hbWUoImxv
Y2FsIik7CisgICAgICAgIHRoaXMubG9jYWxTb3VyY2VGcmFtZS52aXNpYmxlID0gdHJ1ZTsKKyAg
ICAgICAgaWYgKCJyZXNpemUiIGluIHRoaXMpCisgICAgICAgICAgICB0aGlzLnJlc2l6ZSgpOwor
ICAgIH0sCisKICAgICBqdW1wVG9GaXJzdFNlYXJjaFJlc3VsdDogZnVuY3Rpb24oKQogICAgIHsK
ICAgICAgICAgaWYgKCF0aGlzLl9zZWFyY2hSZXN1bHRzIHx8ICF0aGlzLl9zZWFyY2hSZXN1bHRz
Lmxlbmd0aCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmll
d2VyLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKaW5kZXgg
MWRlMWMxMi4uY2QwNjA3MiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L1RleHRWaWV3ZXIuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3
ZXIuanMKQEAgLTQ4Myw2ICs0ODMsOSBAQCBXZWJJbnNwZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5
cGUgPSB7CiAgICAgICAgIGlmIChzZWxlY3Rpb24uaXNDb2xsYXBzZWQpCiAgICAgICAgICAgICBy
ZXR1cm4gbnVsbDsKICAgICAgICAgdmFyIHNlbGVjdGlvblJhbmdlID0gc2VsZWN0aW9uLmdldFJh
bmdlQXQoMCk7CisgICAgICAgIC8vIFNlbGVjdGlvbiBtYXkgYmUgb3V0c2lkZSBvZiB0aGUgdmll
d2VyLgorICAgICAgICBpZiAoIXRoaXMuZWxlbWVudC5pc0FuY2VzdG9yKHNlbGVjdGlvblJhbmdl
LnN0YXJ0Q29udGFpbmVyKSB8fCAhdGhpcy5lbGVtZW50LmlzQW5jZXN0b3Ioc2VsZWN0aW9uUmFu
Z2UuZW5kQ29udGFpbmVyKSkKKyAgICAgICAgICAgIHJldHVybiBudWxsOwogICAgICAgICB2YXIg
c3RhcnQgPSB0aGlzLl9zZWxlY3Rpb25Ub1Bvc2l0aW9uKHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29u
dGFpbmVyLCBzZWxlY3Rpb25SYW5nZS5zdGFydE9mZnNldCk7CiAgICAgICAgIHZhciBlbmQgPSB0
aGlzLl9zZWxlY3Rpb25Ub1Bvc2l0aW9uKHNlbGVjdGlvblJhbmdlLmVuZENvbnRhaW5lciwgc2Vs
ZWN0aW9uUmFuZ2UuZW5kT2Zmc2V0KTsKICAgICAgICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3Iu
VGV4dFJhbmdlKHN0YXJ0LmxpbmUsIHN0YXJ0LmNvbHVtbiwgZW5kLmxpbmUsIGVuZC5jb2x1bW4p
Owo=
</data>
<flag name="review"
          id="41769"
          type_id="1"
          status="-"
          setter="pfeldman"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>57467</attachid>
            <date>2010-05-31 08:12:08 -0700</date>
            <delta_ts>2010-06-12 20:47:27 -0700</delta_ts>
            <desc>[PATCH] Comments addressed</desc>
            <filename>namedtabs.patch</filename>
            <type>text/plain</type>
            <size>11968</size>
            <attacher name="Alexander Pavlov (apavlov)">apavlov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
YWNhODg2Yy4uNGJiODU0MSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMCBAQAorMjAxMC0wNS0zMSAgQWxleGFuZGVyIFBh
dmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFdlYiBJbnNwZWN0b3I6IEltcGxlbWVudCBhZGRpdGlvbmFs
IHRhYnMgc3VwcG9ydCBpbiBSZXNvdXJjZVZpZXcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM5ODIyCisKKyAgICAgICAgKiBpbnNwZWN0b3IvZnJvbnQt
ZW5kL1Jlc291cmNlVmlldy5qczoKKyAgICAgICAgKFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGUuX3NlbGVjdEhl
YWRlcnNUYWIpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGUu
X2lubmVyU2VsZWN0Q29udGVudFRhYik6CisgICAgICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9T
b3VyY2VWaWV3LmpzOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcucHJvdG90eXBl
LnNob3cpOgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcucHJvdG90eXBlLmhpZGUp
OgorICAgICAgICAoV2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcucHJvdG90eXBlLnJlc2l6ZSk6Cisg
ICAgICAgIChXZWJJbnNwZWN0b3IuU291cmNlVmlldy5wcm90b3R5cGUudXBkYXRlTG9jYWxDb250
ZW50KToKKyAgICAgICAgKFdlYkluc3BlY3Rvci5Tb3VyY2VWaWV3LnByb3RvdHlwZS5zZWxlY3RM
b2NhbENvbnRlbnRUYWIpOgorICAgICAgICAqIGluc3BlY3Rvci9mcm9udC1lbmQvVGFiYmVkUGFu
ZS5qczogQWRkZWQuCisgICAgICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZSk6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5cGUuYXBwZW5kVGFiKToKKyAgICAgICAg
KFdlYkluc3BlY3Rvci5UYWJiZWRQYW5lLnByb3RvdHlwZS50YWJPYmplY3RGb3JJZCk6CisgICAg
ICAgIChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5cGUuaGlkZVRhYik6CisgICAgICAg
IChXZWJJbnNwZWN0b3IuVGFiYmVkUGFuZS5wcm90b3R5cGUuc2VsZWN0VGFiQnlJZCk6CisgICAg
ICAgICogaW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzOgorICAgICAgICAoV2ViSW5z
cGVjdG9yLlRleHRWaWV3ZXIucHJvdG90eXBlLl9nZXRTZWxlY3Rpb24pOgorICAgICAgICAqIGlu
c3BlY3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWw6CisKIDIwMTAtMDUtMzAgIEFkYW0gQmFy
dGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9SZXNvdXJjZVZpZXcu
anMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9udC1lbmQvUmVzb3VyY2VWaWV3LmpzCmluZGV4IDFk
OGNlZmUuLjc2MzYyYzEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9S
ZXNvdXJjZVZpZXcuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Jlc291cmNl
Vmlldy5qcwpAQCAtMzUsMjggKzM1LDE1IEBAIFdlYkluc3BlY3Rvci5SZXNvdXJjZVZpZXcgPSBm
dW5jdGlvbihyZXNvdXJjZSkKIAogICAgIHRoaXMucmVzb3VyY2UgPSByZXNvdXJjZTsKIAotICAg
IHRoaXMudGFic0VsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKLSAgICB0
aGlzLnRhYnNFbGVtZW50LmNsYXNzTmFtZSA9ICJzY29wZS1iYXIiOwotICAgIHRoaXMuZWxlbWVu
dC5hcHBlbmRDaGlsZCh0aGlzLnRhYnNFbGVtZW50KTsKLQotICAgIHRoaXMuaGVhZGVyc1RhYkVs
ZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOwotICAgIHRoaXMuaGVhZGVyc1Rh
YkVsZW1lbnQudGV4dENvbnRlbnQgPSBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkhlYWRlcnMiKTsK
LSAgICB0aGlzLmNvbnRlbnRUYWJFbGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgibGki
KTsKLSAgICB0aGlzLmNvbnRlbnRUYWJFbGVtZW50LnRleHRDb250ZW50ID0gV2ViSW5zcGVjdG9y
LlVJU3RyaW5nKCJDb250ZW50Iik7Ci0KLSAgICB0aGlzLnRhYnNFbGVtZW50LmFwcGVuZENoaWxk
KHRoaXMuaGVhZGVyc1RhYkVsZW1lbnQpOwotICAgIHRoaXMudGFic0VsZW1lbnQuYXBwZW5kQ2hp
bGQodGhpcy5jb250ZW50VGFiRWxlbWVudCk7Ci0KLSAgICB0aGlzLmhlYWRlcnNUYWJFbGVtZW50
LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwgdGhpcy5fc2VsZWN0SGVhZGVyc1RhYi5iaW5kKHRo
aXMsIHRydWUpLCBmYWxzZSk7Ci0gICAgdGhpcy5jb250ZW50VGFiRWxlbWVudC5hZGRFdmVudExp
c3RlbmVyKCJjbGljayIsIHRoaXMuc2VsZWN0Q29udGVudFRhYi5iaW5kKHRoaXMsIHRydWUpLCBm
YWxzZSk7CisgICAgdGhpcy50YWJiZWRQYW5lID0gbmV3IFdlYkluc3BlY3Rvci5UYWJiZWRQYW5l
KHRoaXMuZWxlbWVudCk7CiAKICAgICB0aGlzLmhlYWRlcnNFbGVtZW50ID0gZG9jdW1lbnQuY3Jl
YXRlRWxlbWVudCgiZGl2Iik7CiAgICAgdGhpcy5oZWFkZXJzRWxlbWVudC5jbGFzc05hbWUgPSAi
cmVzb3VyY2Utdmlldy1oZWFkZXJzIjsKLSAgICB0aGlzLmVsZW1lbnQuYXBwZW5kQ2hpbGQodGhp
cy5oZWFkZXJzRWxlbWVudCk7CisgICAgdGhpcy50YWJiZWRQYW5lLmFwcGVuZFRhYigiaGVhZGVy
cyIsIFdlYkluc3BlY3Rvci5VSVN0cmluZygiSGVhZGVycyIpLCB0aGlzLmhlYWRlcnNFbGVtZW50
LCB0aGlzLl9zZWxlY3RIZWFkZXJzVGFiLmJpbmQodGhpcywgdHJ1ZSkpOwogCiAgICAgdGhpcy5j
b250ZW50RWxlbWVudCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImRpdiIpOwogICAgIHRoaXMu
Y29udGVudEVsZW1lbnQuY2xhc3NOYW1lID0gInJlc291cmNlLXZpZXctY29udGVudCI7Ci0gICAg
dGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMuY29udGVudEVsZW1lbnQpOworICAgIHRoaXMu
dGFiYmVkUGFuZS5hcHBlbmRUYWIoImNvbnRlbnQiLCBXZWJJbnNwZWN0b3IuVUlTdHJpbmcoIkNv
bnRlbnQiKSwgdGhpcy5jb250ZW50RWxlbWVudCwgdGhpcy5zZWxlY3RDb250ZW50VGFiLmJpbmQo
dGhpcywgdHJ1ZSkpOwogCiAgICAgdGhpcy5oZWFkZXJzTGlzdEVsZW1lbnQgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJvbCIpOwogICAgIHRoaXMuaGVhZGVyc0xpc3RFbGVtZW50LmNsYXNzTmFt
ZSA9ICJvdXRsaW5lLWRpc2Nsb3N1cmUiOwpAQCAtMTIxLDcgKzEwOCw3IEBAIFdlYkluc3BlY3Rv
ci5SZXNvdXJjZVZpZXcgPSBmdW5jdGlvbihyZXNvdXJjZSkKICAgICB0aGlzLl9yZWZyZXNoUmVz
cG9uc2VIZWFkZXJzKCk7CiAgICAgdGhpcy5fcmVmcmVzaEhUVFBJbmZvcm1hdGlvbigpOwogICAg
IGlmICghdGhpcy5oYXNDb250ZW50VGFiKCkpCi0gICAgICAgIHRoaXMuY29udGVudFRhYkVsZW1l
bnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMudGFiYmVkUGFuZS5oaWRl
VGFiKCJjb250ZW50Iik7CiAgICAgdGhpcy5fc2VsZWN0VGFiKCk7CiB9CiAKQEAgLTE2OCwxMCAr
MTU1LDcgQEAgV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGUgPSB7CiAgICAgewog
ICAgICAgICBpZiAodXBkYXRlUHJlZnMpCiAgICAgICAgICAgICBXZWJJbnNwZWN0b3Iuc2V0dGlu
Z3MucmVzb3VyY2VWaWV3VGFiID0gImhlYWRlcnMiOwotICAgICAgICB0aGlzLmhlYWRlcnNUYWJF
bGVtZW50LmFkZFN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgIHRoaXMuY29udGVudFRh
YkVsZW1lbnQucmVtb3ZlU3R5bGVDbGFzcygic2VsZWN0ZWQiKTsKLSAgICAgICAgdGhpcy5oZWFk
ZXJzRWxlbWVudC5yZW1vdmVTdHlsZUNsYXNzKCJoaWRkZW4iKTsKLSAgICAgICAgdGhpcy5jb250
ZW50RWxlbWVudC5hZGRTdHlsZUNsYXNzKCJoaWRkZW4iKTsKKyAgICAgICAgdGhpcy50YWJiZWRQ
YW5lLnNlbGVjdFRhYkJ5SWQoImhlYWRlcnMiKTsKICAgICB9LAogCiAgICAgc2VsZWN0Q29udGVu
dFRhYjogZnVuY3Rpb24odXBkYXRlUHJlZnMpCkBAIC0xODksMTAgKzE3Myw3IEBAIFdlYkluc3Bl
Y3Rvci5SZXNvdXJjZVZpZXcucHJvdG90eXBlID0gewogCiAgICAgX2lubmVyU2VsZWN0Q29udGVu
dFRhYjogZnVuY3Rpb24oKQogICAgIHsKLSAgICAgICAgdGhpcy5jb250ZW50VGFiRWxlbWVudC5h
ZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOwotICAgICAgICB0aGlzLmhlYWRlcnNUYWJFbGVtZW50
LnJlbW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7Ci0gICAgICAgIHRoaXMuY29udGVudEVsZW1l
bnQucmVtb3ZlU3R5bGVDbGFzcygiaGlkZGVuIik7Ci0gICAgICAgIHRoaXMuaGVhZGVyc0VsZW1l
bnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgIHRoaXMudGFiYmVkUGFuZS5zZWxl
Y3RUYWJCeUlkKCJjb250ZW50Iik7CiAgICAgICAgIGlmICgicmVzaXplIiBpbiB0aGlzKQogICAg
ICAgICAgICAgdGhpcy5yZXNpemUoKTsKICAgICAgICAgdGhpcy5jb250ZW50VGFiU2VsZWN0ZWQo
KTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvaW5zcGVjdG9yL2Zyb250LWVuZC9Tb3VyY2VWaWV3Lmpz
IGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVZpZXcuanMKaW5kZXggMzYyMTE4
Ny4uMDc4OGUwNyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJj
ZVZpZXcuanMKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1NvdXJjZVZpZXcuanMK
QEAgLTUxLDYgKzUxLDggQEAgV2ViSW5zcGVjdG9yLlNvdXJjZVZpZXcucHJvdG90eXBlID0gewog
ICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLlJlc291cmNlVmlldy5wcm90b3R5cGUuc2hvdy5j
YWxsKHRoaXMsIHBhcmVudEVsZW1lbnQpOwogICAgICAgICB0aGlzLnNvdXJjZUZyYW1lLnZpc2li
bGUgPSB0cnVlOworICAgICAgICBpZiAodGhpcy5sb2NhbFNvdXJjZUZyYW1lKQorICAgICAgICAg
ICAgdGhpcy5sb2NhbFNvdXJjZUZyYW1lLnZpc2libGUgPSB0cnVlOwogICAgICAgICB0aGlzLnJl
c2l6ZSgpOwogICAgIH0sCiAKQEAgLTU4LDYgKzYwLDggQEAgV2ViSW5zcGVjdG9yLlNvdXJjZVZp
ZXcucHJvdG90eXBlID0gewogICAgIHsKICAgICAgICAgV2ViSW5zcGVjdG9yLlZpZXcucHJvdG90
eXBlLmhpZGUuY2FsbCh0aGlzKTsKICAgICAgICAgdGhpcy5zb3VyY2VGcmFtZS52aXNpYmxlID0g
ZmFsc2U7CisgICAgICAgIGlmICh0aGlzLmxvY2FsU291cmNlRnJhbWUpCisgICAgICAgICAgICB0
aGlzLmxvY2FsU291cmNlRnJhbWUudmlzaWJsZSA9IGZhbHNlOwogICAgICAgICB0aGlzLl9jdXJy
ZW50U2VhcmNoUmVzdWx0SW5kZXggPSAtMTsKICAgICB9LAogCkBAIC02NSw2ICs2OSw4IEBAIFdl
Ykluc3BlY3Rvci5Tb3VyY2VWaWV3LnByb3RvdHlwZSA9IHsKICAgICB7CiAgICAgICAgIGlmICh0
aGlzLnNvdXJjZUZyYW1lKQogICAgICAgICAgICAgdGhpcy5zb3VyY2VGcmFtZS5yZXNpemUoKTsK
KyAgICAgICAgaWYgKHRoaXMubG9jYWxTb3VyY2VGcmFtZSkKKyAgICAgICAgICAgIHRoaXMubG9j
YWxTb3VyY2VGcmFtZS5yZXNpemUoKTsKICAgICB9LAogCiAgICAgc2V0dXBTb3VyY2VGcmFtZUlm
TmVlZGVkOiBmdW5jdGlvbigpCkBAIC0xOTQsNiArMjAwLDI1IEBAIFdlYkluc3BlY3Rvci5Tb3Vy
Y2VWaWV3LnByb3RvdHlwZSA9IHsKICAgICAgICAgZmluZFNlYXJjaE1hdGNoZXMuY2FsbCh0aGlz
LCBxdWVyeSwgZmluaXNoZWRDYWxsYmFjayk7CiAgICAgfSwKIAorICAgIHVwZGF0ZUxvY2FsQ29u
dGVudDogZnVuY3Rpb24oY29udGVudCwgbWltZVR5cGUpCisgICAgeworICAgICAgICBpZiAoIXRo
aXMubG9jYWxDb250ZW50RWxlbWVudCkgeworICAgICAgICAgICAgdGhpcy5sb2NhbENvbnRlbnRF
bGVtZW50ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7CisgICAgICAgICAgICB0aGlz
LmxvY2FsQ29udGVudEVsZW1lbnQuY2xhc3NOYW1lID0gInJlc291cmNlLXZpZXctY29udGVudCI7
CisgICAgICAgICAgICB0aGlzLnRhYmJlZFBhbmUuYXBwZW5kVGFiKCJsb2NhbCIsIFdlYkluc3Bl
Y3Rvci5VSVN0cmluZygiTG9jYWwiKSwgdGhpcy5sb2NhbENvbnRlbnRFbGVtZW50LCB0aGlzLnNl
bGVjdExvY2FsQ29udGVudFRhYi5iaW5kKHRoaXMpKTsKKyAgICAgICAgICAgIHRoaXMubG9jYWxT
b3VyY2VGcmFtZSA9IG5ldyBXZWJJbnNwZWN0b3IuU291cmNlRnJhbWUodGhpcy5sb2NhbENvbnRl
bnRFbGVtZW50LCB0aGlzLl9hZGRCcmVha3BvaW50LmJpbmQodGhpcyksIHRoaXMuX3JlbW92ZUJy
ZWFrcG9pbnQuYmluZCh0aGlzKSk7CisgICAgICAgIH0KKyAgICAgICAgdGhpcy5sb2NhbFNvdXJj
ZUZyYW1lLnNldENvbnRlbnQobWltZVR5cGUsIGNvbnRlbnQsICIiKTsKKyAgICB9LAorCisgICAg
c2VsZWN0TG9jYWxDb250ZW50VGFiOiBmdW5jdGlvbigpCisgICAgeworICAgICAgICB0aGlzLnRh
YmJlZFBhbmUuc2VsZWN0VGFiQnlJZCgibG9jYWwiKTsKKyAgICAgICAgdGhpcy5sb2NhbFNvdXJj
ZUZyYW1lLnZpc2libGUgPSB0cnVlOworICAgICAgICBpZiAoInJlc2l6ZSIgaW4gdGhpcykKKyAg
ICAgICAgICAgIHRoaXMucmVzaXplKCk7CisgICAgfSwKKwogICAgIGp1bXBUb0ZpcnN0U2VhcmNo
UmVzdWx0OiBmdW5jdGlvbigpCiAgICAgewogICAgICAgICBpZiAoIXRoaXMuX3NlYXJjaFJlc3Vs
dHMgfHwgIXRoaXMuX3NlYXJjaFJlc3VsdHMubGVuZ3RoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1RhYmJlZFBhbmUuanMgYi9XZWJDb3JlL2luc3BlY3Rvci9mcm9u
dC1lbmQvVGFiYmVkUGFuZS5qcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42
YWNkMTYzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1Rh
YmJlZFBhbmUuanMKQEAgLTAsMCArMSw4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0
ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1dlYkluc3BlY3Rvci5UYWJiZWRQYW5lID0gZnVu
Y3Rpb24oZWxlbWVudCkKK3sKKyAgICB0aGlzLmVsZW1lbnQgPSBlbGVtZW50IHx8IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworCisgICAgdGhpcy50YWJzRWxlbWVudCA9IGRvY3VtZW50
LmNyZWF0ZUVsZW1lbnQoImRpdiIpOworICAgIHRoaXMudGFic0VsZW1lbnQuY2xhc3NOYW1lID0g
InNjb3BlLWJhciI7CisgICAgdGhpcy5lbGVtZW50LmFwcGVuZENoaWxkKHRoaXMudGFic0VsZW1l
bnQpOworCisgICAgdGhpcy5fdGFiT2JqZWN0cyA9IHt9OworfQorCitXZWJJbnNwZWN0b3IuVGFi
YmVkUGFuZS5wcm90b3R5cGUgPSB7CisgICAgYXBwZW5kVGFiOiBmdW5jdGlvbihpZCwgdGFiVGl0
bGUsIGNvbnRlbnRFbGVtZW50LCB0YWJDbGlja0xpc3RlbmVyKQorICAgIHsKKyAgICAgICAgdmFy
IHRhYkVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJsaSIpOworICAgICAgICB0YWJF
bGVtZW50LnRleHRDb250ZW50ID0gdGFiVGl0bGU7CisgICAgICAgIHRhYkVsZW1lbnQuYWRkRXZl
bnRMaXN0ZW5lcigiY2xpY2siLCB0YWJDbGlja0xpc3RlbmVyLCBmYWxzZSk7CisgICAgICAgIHRo
aXMudGFic0VsZW1lbnQuYXBwZW5kQ2hpbGQodGFiRWxlbWVudCk7CisgICAgICAgIHRoaXMuZWxl
bWVudC5hcHBlbmRDaGlsZChjb250ZW50RWxlbWVudCk7CisgICAgICAgIHRoaXMuX3RhYk9iamVj
dHNbaWRdID0ge3RhYjogdGFiRWxlbWVudCwgY29udGVudDogY29udGVudEVsZW1lbnR9OworICAg
IH0sCisgICAgCisgICAgdGFiT2JqZWN0Rm9ySWQ6IGZ1bmN0aW9uKGlkKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIHRoaXMuX3RhYk9iamVjdHNbaWRdOworICAgIH0sCisKKyAgICBoaWRlVGFiOiBm
dW5jdGlvbihpZCkKKyAgICB7CisgICAgICAgIHZhciB0YWJPYmplY3QgPSB0aGlzLl90YWJPYmpl
Y3RzW2lkXTsKKyAgICAgICAgaWYgKHRhYk9iamVjdCkKKyAgICAgICAgICAgIHRhYk9iamVjdC50
YWIuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgfSwKKworICAgIHNlbGVjdFRhYkJ5SWQ6
IGZ1bmN0aW9uKHNlbGVjdElkKQorICAgIHsKKyAgICAgICAgdmFyIHNlbGVjdGVkID0gZmFsc2U7
CisgICAgICAgIGZvciAodmFyIGlkIGluIHRoaXMuX3RhYk9iamVjdHMpIHsKKyAgICAgICAgICAg
IHZhciB0YWJPYmplY3QgPSB0aGlzLl90YWJPYmplY3RzW2lkXTsKKyAgICAgICAgICAgIGlmIChp
ZCA9PT0gc2VsZWN0SWQpIHsKKyAgICAgICAgICAgICAgICBzZWxlY3RlZCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgdGFiT2JqZWN0LnRhYi5hZGRTdHlsZUNsYXNzKCJzZWxlY3RlZCIpOworICAg
ICAgICAgICAgICAgIHRhYk9iamVjdC5jb250ZW50LnJlbW92ZVN0eWxlQ2xhc3MoImhpZGRlbiIp
OworICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICB0YWJPYmplY3QudGFiLnJl
bW92ZVN0eWxlQ2xhc3MoInNlbGVjdGVkIik7CisgICAgICAgICAgICAgICAgdGFiT2JqZWN0LmNv
bnRlbnQuYWRkU3R5bGVDbGFzcygiaGlkZGVuIik7CisgICAgICAgICAgICB9CisgICAgICAgIH0K
KyAgICAgICAgcmV0dXJuIHNlbGVjdGVkOworICAgIH0KK30KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
aW5zcGVjdG9yL2Zyb250LWVuZC9UZXh0Vmlld2VyLmpzIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJv
bnQtZW5kL1RleHRWaWV3ZXIuanMKaW5kZXggMWRlMWMxMi4uY2QwNjA3MiAxMDA2NDQKLS0tIGEv
V2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKKysrIGIvV2ViQ29yZS9p
bnNwZWN0b3IvZnJvbnQtZW5kL1RleHRWaWV3ZXIuanMKQEAgLTQ4Myw2ICs0ODMsOSBAQCBXZWJJ
bnNwZWN0b3IuVGV4dFZpZXdlci5wcm90b3R5cGUgPSB7CiAgICAgICAgIGlmIChzZWxlY3Rpb24u
aXNDb2xsYXBzZWQpCiAgICAgICAgICAgICByZXR1cm4gbnVsbDsKICAgICAgICAgdmFyIHNlbGVj
dGlvblJhbmdlID0gc2VsZWN0aW9uLmdldFJhbmdlQXQoMCk7CisgICAgICAgIC8vIFNlbGVjdGlv
biBtYXkgYmUgb3V0c2lkZSBvZiB0aGUgdmlld2VyLgorICAgICAgICBpZiAoIXRoaXMuZWxlbWVu
dC5pc0FuY2VzdG9yKHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyKSB8fCAhdGhpcy5lbGVt
ZW50LmlzQW5jZXN0b3Ioc2VsZWN0aW9uUmFuZ2UuZW5kQ29udGFpbmVyKSkKKyAgICAgICAgICAg
IHJldHVybiBudWxsOwogICAgICAgICB2YXIgc3RhcnQgPSB0aGlzLl9zZWxlY3Rpb25Ub1Bvc2l0
aW9uKHNlbGVjdGlvblJhbmdlLnN0YXJ0Q29udGFpbmVyLCBzZWxlY3Rpb25SYW5nZS5zdGFydE9m
ZnNldCk7CiAgICAgICAgIHZhciBlbmQgPSB0aGlzLl9zZWxlY3Rpb25Ub1Bvc2l0aW9uKHNlbGVj
dGlvblJhbmdlLmVuZENvbnRhaW5lciwgc2VsZWN0aW9uUmFuZ2UuZW5kT2Zmc2V0KTsKICAgICAg
ICAgcmV0dXJuIG5ldyBXZWJJbnNwZWN0b3IuVGV4dFJhbmdlKHN0YXJ0LmxpbmUsIHN0YXJ0LmNv
bHVtbiwgZW5kLmxpbmUsIGVuZC5jb2x1bW4pOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9pbnNwZWN0
b3IvZnJvbnQtZW5kL2luc3BlY3Rvci5odG1sIGIvV2ViQ29yZS9pbnNwZWN0b3IvZnJvbnQtZW5k
L2luc3BlY3Rvci5odG1sCmluZGV4IDE0MDM2NjUuLjg2ZDNlMWUgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvaW5zcGVjdG9yL2Zyb250LWVuZC9pbnNwZWN0b3IuaHRtbAorKysgYi9XZWJDb3JlL2luc3Bl
Y3Rvci9mcm9udC1lbmQvaW5zcGVjdG9yLmh0bWwKQEAgLTQ2LDYgKzQ2LDcgQEAgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
ICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJLZXlib2FyZFNob3J0Y3V0
LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJU
ZXh0UHJvbXB0LmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgc3JjPSJQb3BvdmVyLmpzIj48L3NjcmlwdD4KKyAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2
YXNjcmlwdCIgc3JjPSJUYWJiZWRQYW5lLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgc3JjPSJQbGFjYXJkLmpzIj48L3NjcmlwdD4KICAgICA8c2NyaXB0
IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJWaWV3LmpzIj48L3NjcmlwdD4KICAgICA8c2Ny
aXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgc3JjPSJDYWxsYmFjay5qcyI+PC9zY3JpcHQ+Cg==
</data>
<flag name="review"
          id="42055"
          type_id="1"
          status="+"
          setter="pfeldman"
    />
          </attachment>
      

    </bug>

</bugzilla>