<?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>69545</bug_id>
          
          <creation_ts>2011-10-06 11:34:53 -0700</creation_ts>
          <short_desc>Implement testRunner.dumpSelectionRect() in WebKitTestRunner</short_desc>
          <delta_ts>2012-10-16 11:04:38 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Raphael Kubo da Costa (:rakuco)">rakuco</assigned_to>
          <cc>andersca</cc>
    
    <cc>kenneth</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>479326</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-10-06 11:34:53 -0700</bug_when>
    <thetext>layoutTestController.dumpSelectionRect() paints a red rectangle in the pixel result. This is not supported in WTR.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741984</commentid>
    <comment_count>1</comment_count>
      <attachid>168695</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-15 06:00:25 -0700</bug_when>
    <thetext>Created attachment 168695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>741990</commentid>
    <comment_count>2</comment_count>
      <attachid>168695</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-15 06:09:17 -0700</bug_when>
    <thetext>Comment on attachment 168695
Patch

Attachment 168695 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14289635</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742003</commentid>
    <comment_count>3</comment_count>
      <attachid>168700</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-15 06:31:41 -0700</bug_when>
    <thetext>Created attachment 168700
Hopefully fix the mac build</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742007</commentid>
    <comment_count>4</comment_count>
      <attachid>168700</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-10-15 06:40:58 -0700</bug_when>
    <thetext>Comment on attachment 168700
Hopefully fix the mac build

Attachment 168700 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/14291675</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742021</commentid>
    <comment_count>5</comment_count>
      <attachid>168706</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-15 07:00:02 -0700</bug_when>
    <thetext>Created attachment 168706
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742090</commentid>
    <comment_count>6</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-15 08:54:41 -0700</bug_when>
    <thetext>I think it would be better to do something more similar to what I did for repaint rects. You could add a method on Internals:

ClientRect internals.clientSelectionRect()

so that non-pixel tests can test the selection rect. Then you can fix WTR/DRT to paint this as an overlay, like repaints rects, if the testRunner flag is set.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>742458</commentid>
    <comment_count>7</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-15 14:29:58 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I think it would be better to do something more similar to what I did for repaint rects. You could add a method on Internals:
&gt;
&gt; ClientRect internals.clientSelectionRect()
&gt;
&gt; so that non-pixel tests can test the selection rect. Then you can fix WTR/DRT to paint this as an overlay, like repaints rects, if the testRunner flag is set.

We talked a bit on IRC and I am still unsure this is the best approach. For one, we have agreed that getting rid of dumpSelectionRect() in its current form so that non-pixel tests can use it is a reasonable goal for the longer term.

As for the current patch, there are a few possibilities, but all of them involve either writing more code or writing code that is port-specific:

 o Painting the overlay in the way the repaint rects overlay is painted. This means not using WebPageOverlay, but instead just writing port-specific code to do the painting in WTR.

 o Making paintRepaintRectOverlay more generic and manipulating the GraphicsContext from WTR. This would at least require exposing more API in WKGraphicsContext.

 o Use actual WebPageOverlays. If done from WTR, it would require exposing more overlay API so that we turn off fading animations and set things such as border color and thickness. If done from WebProcess, it would involve passing the selection and repaint rectangles and making the code differentiate between one and the other so that they are painted in different ways.

Is there a preference for one of these methods, or a better idea that wouldn&apos;t require a lot more code to achieve the same results?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743279</commentid>
    <comment_count>8</comment_count>
      <attachid>168706</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-10-16 10:42:00 -0700</bug_when>
    <thetext>Comment on attachment 168706
Patch

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

&gt; Source/WebCore/WebCore.exp.in:853
&gt; +__ZN7WebCore7makeRGBEiii

I don&apos;t see this being used; do you need it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743287</commentid>
    <comment_count>9</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-16 10:46:51 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 168706 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=168706&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.exp.in:853
&gt; &gt; +__ZN7WebCore7makeRGBEiii
&gt; 
&gt; I don&apos;t see this being used; do you need it?

According to the logs in comment 2 and comment 4, yes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743298</commentid>
    <comment_count>10</comment_count>
      <attachid>168706</attachid>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-16 10:51:49 -0700</bug_when>
    <thetext>Comment on attachment 168706
Patch

Clearing flags on attachment: 168706

Committed r131476: &lt;http://trac.webkit.org/changeset/131476&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743299</commentid>
    <comment_count>11</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-16 10:51:58 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>743317</commentid>
    <comment_count>12</comment_count>
    <who name="Raphael Kubo da Costa (:rakuco)">rakuco</who>
    <bug_when>2012-10-16 11:04:38 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; We talked a bit on IRC and I am still unsure this is the best approach. For one, we have agreed that getting rid of dumpSelectionRect() in its current form so that non-pixel tests can use it is a reasonable goal for the longer term.

File &lt;https://bugs.webkit.org/show_bug.cgi?id=99480&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168695</attachid>
            <date>2012-10-15 06:00:25 -0700</date>
            <delta_ts>2012-10-15 06:31:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69545-20121015155745.patch</filename>
            <type>text/plain</type>
            <size>7836</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTI5NykKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE1ICBSYXBoYWVs
IEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCB0ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCkgaW4gV2ViS2l0VGVz
dFJ1bm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njk1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFNoYXJlZC9BUEkvYy9XS0ltYWdlLmg6IEFkZCBhbm90aGVyIG9wdGlvbiB0aGF0IGNvbnRyb2xz
IHdoZXRoZXIKKyAgICAgICAgdGhlIHNlbGVjdGlvbiByZWN0YW5nbGUgc2hvdWxkIGJlIHBhaW50
ZWQgb250byB0aGUgc25hcHNob3QuCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJ
Q2FzdC5oOgorICAgICAgICAoV2ViS2l0Ojp0b1NuYXBzaG90T3B0aW9ucyk6IEFkZCBhIGNhc2Ug
Zm9yIHRoZSBuZXcgb3B0aW9uCisgICAgICAgIG1lbnRpb25lZCBhYm92ZS4KKyAgICAgICAgKiBT
aGFyZWQvSW1hZ2VPcHRpb25zLmg6IE1vcmUgcGx1bWJpbmcgZm9yIHRoZSBvcHRpb24gYWJvdmUu
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzY2FsZWRTbmFwc2hvdFdpdGhPcHRpb25zKTogRHJhdyBhIHJlZCByZWN0
YW5nbGUKKyAgICAgICAgYXJvdW5kIHRoZSBzZWxlY3Rpb24gYXJlYSB3aGVuCisgICAgICAgIFNu
YXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlIGlzIHNldC4KKwogMjAxMi0xMC0x
NSAgQWxsYW4gU2FuZGZlbGQgSmVuc2VuICA8YWxsYW4uamVuc2VuQGRpZ2lhLmNvbT4KIAogICAg
ICAgICBbUXRdIFJlZ3Jlc3Npb24ocjEzMDAzMSkgY292ZXJSZWN0IGlzIHVzZWQgaW4gd3Jvbmcg
Y29vcmRpbmF0ZXMuCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VPcHRpb25zLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0ltYWdlT3B0aW9ucy5oCShyZXZp
c2lvbiAxMzEyOTEpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VPcHRpb25zLmgJKHdv
cmtpbmcgY29weSkKQEAgLTM1LDcgKzM1LDggQEAgZW51bSBJbWFnZU9wdGlvbnMgewogZW51bSB7
CiAgICAgU25hcHNob3RPcHRpb25zU2hhcmVhYmxlID0gMSA8PCAwLAogICAgIFNuYXBzaG90T3B0
aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmcgPSAxIDw8IDEsCi0gICAgU25hcHNob3RP
cHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgPSAxIDw8IDIKKyAgICBTbmFwc2hvdE9wdGlvbnNJblZp
ZXdDb29yZGluYXRlcyA9IDEgPDwgMiwKKyAgICBTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlv
blJlY3RhbmdsZSA9IDEgPDwgMwogfTsKIHR5cGVkZWYgdWludDMyX3QgU25hcHNob3RPcHRpb25z
OwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tJbWFnZS5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ltYWdlLmgJKHJldmlzaW9uIDEz
MTI5MSkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ltYWdlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTQxLDcgKzQxLDggQEAgdHlwZWRlZiB1aW50MzJfdCBXS0ltYWdlT3B0aW9uczsK
IGVudW0gewogICAgIGtXS1NuYXBzaG90T3B0aW9uc1NoYXJlYWJsZSA9IDEgPDwgMCwKICAgICBr
V0tTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0aW5nID0gMSA8PCAxLAot
ICAgIGtXS1NuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzID0gMSA8PCAyCisgICAga1dL
U25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgPSAxIDw8IDIsCisgICAga1dLU25hcHNo
b3RPcHRpb25zUGFpbnRTZWxlY3Rpb25SZWN0YW5nbGUgPSAxIDw8IDMKIH07CiB0eXBlZGVmIHVp
bnQzMl90IFdLU25hcHNob3RPcHRpb25zOwogCkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tTaGFyZWRBUElDYXN0LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdDIvU2hh
cmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCShyZXZpc2lvbiAxMzEyOTEpCisrKyBTb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTgwOSw2ICs4MDksOCBAQCBpbmxpbmUgU25hcHNob3RPcHRpb25zIHRvU25hcHNob3RPcHRpb25z
CiAgICAgICAgIHNuYXBzaG90T3B0aW9ucyB8PSBTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0
aW9uSGlnaGxpZ2h0aW5nOwogICAgIGlmICh3a1NuYXBzaG90T3B0aW9ucyAmIGtXS1NuYXBzaG90
T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzKQogICAgICAgICBzbmFwc2hvdE9wdGlvbnMgfD0gU25h
cHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXM7CisgICAgaWYgKHdrU25hcHNob3RPcHRpb25z
ICYga1dLU25hcHNob3RPcHRpb25zUGFpbnRTZWxlY3Rpb25SZWN0YW5nbGUpCisgICAgICAgIHNu
YXBzaG90T3B0aW9ucyB8PSBTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlvblJlY3RhbmdsZTsK
IAogICAgIHJldHVybiBzbmFwc2hvdE9wdGlvbnM7CiB9CkluZGV4OiBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCShyZXZpc2lvbiAxMzEyOTEpCisrKyBT
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEzMTMsNiArMTMxMywxMiBAQCBQYXNzUmVmUHRyPFdlYkltYWdlPiBXZWJQYWdlOjpz
Y2FsZWRTbmFwCiAKICAgICBmcmFtZVZpZXctPnBhaW50Q29udGVudHNGb3JTbmFwc2hvdChncmFw
aGljc0NvbnRleHQuZ2V0KCksIHJlY3QsIHNob3VsZFBhaW50U2VsZWN0aW9uLCBjb29yZGluYXRl
U3BhY2UpOwogCisgICAgaWYgKG9wdGlvbnMgJiBTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlv
blJlY3RhbmdsZSkgeworICAgICAgICBGbG9hdFJlY3Qgc2VsZWN0aW9uUmVjdGFuZ2xlID0gbV9t
YWluRnJhbWUtPmNvcmVGcmFtZSgpLT5zZWxlY3Rpb24oKS0+Ym91bmRzKCk7CisgICAgICAgIGdy
YXBoaWNzQ29udGV4dC0+c2V0U3Ryb2tlQ29sb3IoQ29sb3IoMHhGRiwgMCwgMCksIENvbG9yU3Bh
Y2VEZXZpY2VSR0IpOworICAgICAgICBncmFwaGljc0NvbnRleHQtPnN0cm9rZVJlY3Qoc2VsZWN0
aW9uUmVjdGFuZ2xlLCAxKTsKKyAgICB9CisKICAgICByZXR1cm4gc25hcHNob3QucmVsZWFzZSgp
OwogfQogCkluZGV4OiBUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMzEyOTcpCisrKyBUb29scy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxOSBAQAorMjAxMi0xMC0xNSAgUmFwaGFlbCBLdWJvIGRhIENvc3RhICA8cmFw
aGFlbC5rdWJvLmRhLmNvc3RhQGludGVsLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgdGVzdFJ1
bm5lci5kdW1wU2VsZWN0aW9uUmVjdCgpIGluIFdlYktpdFRlc3RSdW5uZXIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQ1CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHA6CisgICAgICAgIChXVFI6OkluamVj
dGVkQnVuZGxlUGFnZTo6ZHVtcCk6IFNldCB0aGUKKyAgICAgICAga1dLU25hcHNob3RPcHRpb25z
UGFpbnRTZWxlY3Rpb25SZWN0YW5nbGUgb3B0aW9uIGlmCisgICAgICAgIHRlc3RSdW5uZXIuZHVt
cFNlbGVjdGlvblJlY3QoKSBpcyBjYWxsZWQuCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmg6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmR1
bXBTZWxlY3Rpb25SZWN0KToKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6c2hvdWxkRHVtcFNl
bGVjdGlvblJlY3QpOgorICAgICAgICAoVGVzdFJ1bm5lcik6CisKIDIwMTItMTAtMTEgIEtpbnVr
byBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJvbWl1bV0gUmVt
b3ZlcyB1bm5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMgaW4gRHVtcFJlbmRlclRyZWUuZ3lwCkluZGV4
OiBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCShyZXZpc2lvbiAxMzEyOTEpCisrKyBUb29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZS5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTk1MSw3ICs5NTEsMTEgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZVBhZ2U6OmR1
bXAoKQogICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuZHVtcEJhY2tGb3J3YXJkTGlz
dHNGb3JBbGxQYWdlcygpOwogCiAgICAgaWYgKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5zaG91
bGREdW1wUGl4ZWxzKCkgJiYgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnRlc3RSdW5uZXIoKS0+
c2hvdWxkRHVtcFBpeGVscygpKSB7Ci0gICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5z
ZXRQaXhlbFJlc3VsdChhZG9wdFdLKFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBzaG90V2l0aE9wdGlv
bnMobV9wYWdlLCBXS0J1bmRsZUZyYW1lR2V0VmlzaWJsZUNvbnRlbnRCb3VuZHMoV0tCdW5kbGVQ
YWdlR2V0TWFpbkZyYW1lKG1fcGFnZSkpLCBrV0tTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGUgfCBr
V0tTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlcykpLmdldCgpKTsKKyAgICAgICAgV0tT
bmFwc2hvdE9wdGlvbnMgb3B0aW9ucyA9IGtXS1NuYXBzaG90T3B0aW9uc1NoYXJlYWJsZSB8IGtX
S1NuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzOworICAgICAgICBpZiAoSW5qZWN0ZWRC
dW5kbGU6OnNoYXJlZCgpLnRlc3RSdW5uZXIoKS0+c2hvdWxkRHVtcFNlbGVjdGlvblJlY3QoKSkK
KyAgICAgICAgICAgIG9wdGlvbnMgfD0ga1dLU25hcHNob3RPcHRpb25zUGFpbnRTZWxlY3Rpb25S
ZWN0YW5nbGU7CisKKyAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNldFBpeGVsUmVz
dWx0KGFkb3B0V0soV0tCdW5kbGVQYWdlQ3JlYXRlU25hcHNob3RXaXRoT3B0aW9ucyhtX3BhZ2Us
IFdLQnVuZGxlRnJhbWVHZXRWaXNpYmxlQ29udGVudEJvdW5kcyhXS0J1bmRsZVBhZ2VHZXRNYWlu
RnJhbWUobV9wYWdlKSksIG9wdGlvbnMpKS5nZXQoKSk7CiAgICAgICAgIGlmIChXS0J1bmRsZVBh
Z2VJc1RyYWNraW5nUmVwYWludHMobV9wYWdlKSkKICAgICAgICAgICAgIEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5zZXRSZXBhaW50UmVjdHMoYWRvcHRXSyhXS0J1bmRsZVBhZ2VDb3B5VHJhY2tl
ZFJlcGFpbnRSZWN0cyhtX3BhZ2UpKS5nZXQoKSk7CiAgICAgfQpJbmRleDogVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgJKHJldmlzaW9u
IDEzMTI5MSkKKysrIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1
bm5lci5oCSh3b3JraW5nIGNvcHkpCkBAIC03Myw3ICs3Myw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IGR1bXBCYWNrRm9yd2FyZExpc3QoKSB7IG1fc2hvdWxkRHVtcEJhY2tGb3J3YXJkTGlzdHNGb3JB
bGxXaW5kb3dzID0gdHJ1ZTsgfQogICAgIHZvaWQgZHVtcENoaWxkRnJhbWVTY3JvbGxQb3NpdGlv
bnMoKSB7IG1fc2hvdWxkRHVtcEFsbEZyYW1lU2Nyb2xsUG9zaXRpb25zID0gdHJ1ZTsgfQogICAg
IHZvaWQgZHVtcEVkaXRpbmdDYWxsYmFja3MoKSB7IG1fZHVtcEVkaXRpbmdDYWxsYmFja3MgPSB0
cnVlOyB9Ci0gICAgdm9pZCBkdW1wU2VsZWN0aW9uUmVjdCgpIHsgfSAvLyBXaWxsIG5lZWQgdG8g
ZG8gc29tZXRoaW5nIHdoZW4gd2Ugc3VwcG9ydCBwaXhlbCB0ZXN0cy4KKyAgICB2b2lkIGR1bXBT
ZWxlY3Rpb25SZWN0KCkgeyBtX2R1bXBTZWxlY3Rpb25SZWN0ID0gdHJ1ZTsgfQogICAgIHZvaWQg
ZHVtcFN0YXR1c0NhbGxiYWNrcygpIHsgbV9kdW1wU3RhdHVzQ2FsbGJhY2tzID0gdHJ1ZTsgfQog
ICAgIHZvaWQgZHVtcFRpdGxlQ2hhbmdlcygpIHsgbV9kdW1wVGl0bGVDaGFuZ2VzID0gdHJ1ZTsg
fQogICAgIHZvaWQgZHVtcEZ1bGxTY3JlZW5DYWxsYmFja3MoKSB7IG1fZHVtcEZ1bGxTY3JlZW5D
YWxsYmFja3MgPSB0cnVlOyB9CkBAIC0xNzcsNiArMTc3LDcgQEAgcHVibGljOgogICAgIGJvb2wg
c2hvdWxkRHVtcFdpbGxDYWNoZVJlc3BvbnNlKCkgY29uc3QgeyByZXR1cm4gbV9kdW1wV2lsbENh
Y2hlUmVzcG9uc2U7IH0KICAgICBib29sIHNob3VsZER1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdh
dGVDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX2R1bXBBcHBsaWNhdGlvbkNhY2hlRGVsZWdh
dGVDYWxsYmFja3M7IH0KICAgICBib29sIHNob3VsZER1bXBEYXRhYmFzZUNhbGxiYWNrcygpIGNv
bnN0IHsgcmV0dXJuIG1fZHVtcERhdGFiYXNlQ2FsbGJhY2tzOyB9CisgICAgYm9vbCBzaG91bGRE
dW1wU2VsZWN0aW9uUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcFNlbGVjdGlvblJlY3Q7IH0K
IAogICAgIGJvb2wgaXNQb2xpY3lEZWxlZ2F0ZUVuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3Bv
bGljeURlbGVnYXRlRW5hYmxlZDsgfQogICAgIGJvb2wgaXNQb2xpY3lEZWxlZ2F0ZVBlcm1pc3Np
dmUoKSBjb25zdCB7IHJldHVybiBtX3BvbGljeURlbGVnYXRlUGVybWlzc2l2ZTsgfQpAQCAtMjc5
LDYgKzI4MCw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCBtX2R1bXBTdGF0dXNDYWxsYmFja3M7CiAg
ICAgYm9vbCBtX2R1bXBUaXRsZUNoYW5nZXM7CiAgICAgYm9vbCBtX2R1bXBQaXhlbHM7CisgICAg
Ym9vbCBtX2R1bXBTZWxlY3Rpb25SZWN0OwogICAgIGJvb2wgbV9kdW1wRnVsbFNjcmVlbkNhbGxi
YWNrczsKICAgICBib29sIG1fZHVtcEZyYW1lTG9hZENhbGxiYWNrczsKICAgICBib29sIG1fZHVt
cFByb2dyZXNzRmluaXNoZWRDYWxsYmFjazsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168700</attachid>
            <date>2012-10-15 06:31:41 -0700</date>
            <delta_ts>2012-10-15 06:59:54 -0700</delta_ts>
            <desc>Hopefully fix the mac build</desc>
            <filename>bug-69545-20121015162901.patch</filename>
            <type>text/plain</type>
            <size>9143</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEyLTEwLTE1ICBSYXBoYWVs
IEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCB0ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCkgaW4gV2ViS2l0VGVz
dFJ1bm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njk1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOiBFeHBvcnQgR3JhcGhpY3NDb250ZXh0OjpzZXRTdHJva2VDb2xvcigp
LgorCiAyMDEyLTEwLTE1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBJbXByb3ZlIGNvZGUgb2YgTG9jYWxlTWFjLm1tCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5p
bgkocmV2aXNpb24gMTMxMjk4KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4JKHdv
cmtpbmcgY29weSkKQEAgLTM1NCw2ICszNTQsNyBAQCBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJv
bGxlcjI4c2V0Q29udGFpCiBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjlzZXRBY3RpdmVF
YgogX19aTjdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxMWNsZWFyU2hhZG93RXYKIF9fWk43V2Vi
Q29yZTE1R3JhcGhpY3NDb250ZXh0MTJzZXRGaWxsQ29sb3JFUktOU181Q29sb3JFTlNfMTBDb2xv
clNwYWNlRQorX19aTjdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxNHNldFN0cm9rZUNvbG9yRVJL
TlNfNUNvbG9yRU5TXzEwQ29sb3JTcGFjZUUKIF9fWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0
MTVzZXRGaWxsR3JhZGllbnRFTjNXVEYxMFBhc3NSZWZQdHJJTlNfOEdyYWRpZW50RUVFCiBfX1pO
N1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4dDE4c2V0U2hvdWxkQW50aWFsaWFzRWIKIF9fWk43V2Vi
Q29yZTE1R3JhcGhpY3NDb250ZXh0MTlzZXRJc0NBTGF5ZXJDb250ZXh0RWIKSW5kZXg6IFNvdXJj
ZS9XZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9DaGFuZ2VM
b2cJKHJldmlzaW9uIDEzMTI5OCkKKysrIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTEwLTE1ICBSYXBoYWVsIEt1Ym8gZGEgQ29z
dGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAgICAgIEltcGxlbWVu
dCB0ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCkgaW4gV2ViS2l0VGVzdFJ1bm5lcgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDUKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNoYXJlZC9BUEkv
Yy9XS0ltYWdlLmg6IEFkZCBhbm90aGVyIG9wdGlvbiB0aGF0IGNvbnRyb2xzIHdoZXRoZXIKKyAg
ICAgICAgdGhlIHNlbGVjdGlvbiByZWN0YW5nbGUgc2hvdWxkIGJlIHBhaW50ZWQgb250byB0aGUg
c25hcHNob3QuCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oOgorICAg
ICAgICAoV2ViS2l0Ojp0b1NuYXBzaG90T3B0aW9ucyk6IEFkZCBhIGNhc2UgZm9yIHRoZSBuZXcg
b3B0aW9uCisgICAgICAgIG1lbnRpb25lZCBhYm92ZS4KKyAgICAgICAgKiBTaGFyZWQvSW1hZ2VP
cHRpb25zLmg6IE1vcmUgcGx1bWJpbmcgZm9yIHRoZSBvcHRpb24gYWJvdmUuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpzY2FsZWRTbmFwc2hvdFdpdGhPcHRpb25zKTogRHJhdyBhIHJlZCByZWN0YW5nbGUKKyAgICAg
ICAgYXJvdW5kIHRoZSBzZWxlY3Rpb24gYXJlYSB3aGVuCisgICAgICAgIFNuYXBzaG90T3B0aW9u
c1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlIGlzIHNldC4KKwogMjAxMi0xMC0xNSAgTWlraGFpbCBQ
b3pkbnlha292ICA8bWlraGFpbC5wb3pkbnlha292QGludGVsLmNvbT4KIAogICAgICAgICBbRUZM
XVtXSzJdIEVuY2Fwc3VsYXRlIHJlZiBjb3VudGluZyBmb3IgRXdrIG9iamVjdHMgaW4gYSBwYXJl
bnQgY2xhc3MKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9JbWFnZU9wdGlvbnMuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VPcHRpb25zLmgJKHJldmlzaW9u
IDEzMTI5OCkKKysrIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9JbWFnZU9wdGlvbnMuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMzUsNyArMzUsOCBAQCBlbnVtIEltYWdlT3B0aW9ucyB7CiBlbnVtIHsKICAg
ICBTbmFwc2hvdE9wdGlvbnNTaGFyZWFibGUgPSAxIDw8IDAsCiAgICAgU25hcHNob3RPcHRpb25z
RXhjbHVkZVNlbGVjdGlvbkhpZ2hsaWdodGluZyA9IDEgPDwgMSwKLSAgICBTbmFwc2hvdE9wdGlv
bnNJblZpZXdDb29yZGluYXRlcyA9IDEgPDwgMgorICAgIFNuYXBzaG90T3B0aW9uc0luVmlld0Nv
b3JkaW5hdGVzID0gMSA8PCAyLAorICAgIFNuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVj
dGFuZ2xlID0gMSA8PCAzCiB9OwogdHlwZWRlZiB1aW50MzJfdCBTbmFwc2hvdE9wdGlvbnM7CiAK
SW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0ltYWdlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLSW1hZ2UuaAkocmV2aXNpb24gMTMxMjk4
KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLSW1hZ2UuaAkod29ya2luZyBjb3B5
KQpAQCAtNDEsNyArNDEsOCBAQCB0eXBlZGVmIHVpbnQzMl90IFdLSW1hZ2VPcHRpb25zOwogZW51
bSB7CiAgICAga1dLU25hcHNob3RPcHRpb25zU2hhcmVhYmxlID0gMSA8PCAwLAogICAgIGtXS1Nu
YXBzaG90T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rpb25IaWdobGlnaHRpbmcgPSAxIDw8IDEsCi0gICAg
a1dLU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgPSAxIDw8IDIKKyAgICBrV0tTbmFw
c2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlcyA9IDEgPDwgMiwKKyAgICBrV0tTbmFwc2hvdE9w
dGlvbnNQYWludFNlbGVjdGlvblJlY3RhbmdsZSA9IDEgPDwgMwogfTsKIHR5cGVkZWYgdWludDMy
X3QgV0tTbmFwc2hvdE9wdGlvbnM7CiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1NoYXJlZEFQSUNhc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tTaGFyZWRBUElDYXN0LmgJKHJldmlzaW9uIDEzMTI5OCkKKysrIFNvdXJjZS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtODA5
LDYgKzgwOSw4IEBAIGlubGluZSBTbmFwc2hvdE9wdGlvbnMgdG9TbmFwc2hvdE9wdGlvbnMKICAg
ICAgICAgc25hcHNob3RPcHRpb25zIHw9IFNuYXBzaG90T3B0aW9uc0V4Y2x1ZGVTZWxlY3Rpb25I
aWdobGlnaHRpbmc7CiAgICAgaWYgKHdrU25hcHNob3RPcHRpb25zICYga1dLU25hcHNob3RPcHRp
b25zSW5WaWV3Q29vcmRpbmF0ZXMpCiAgICAgICAgIHNuYXBzaG90T3B0aW9ucyB8PSBTbmFwc2hv
dE9wdGlvbnNJblZpZXdDb29yZGluYXRlczsKKyAgICBpZiAod2tTbmFwc2hvdE9wdGlvbnMgJiBr
V0tTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlvblJlY3RhbmdsZSkKKyAgICAgICAgc25hcHNo
b3RPcHRpb25zIHw9IFNuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlOwogCiAg
ICAgcmV0dXJuIHNuYXBzaG90T3B0aW9uczsKIH0KSW5kZXg6IFNvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAJKHJldmlzaW9uIDEzMTI5OCkKKysrIFNvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTMxMyw2ICsxMzEzLDEyIEBAIFBhc3NSZWZQdHI8V2ViSW1hZ2U+IFdlYlBhZ2U6OnNjYWxl
ZFNuYXAKIAogICAgIGZyYW1lVmlldy0+cGFpbnRDb250ZW50c0ZvclNuYXBzaG90KGdyYXBoaWNz
Q29udGV4dC5nZXQoKSwgcmVjdCwgc2hvdWxkUGFpbnRTZWxlY3Rpb24sIGNvb3JkaW5hdGVTcGFj
ZSk7CiAKKyAgICBpZiAob3B0aW9ucyAmIFNuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVj
dGFuZ2xlKSB7CisgICAgICAgIEZsb2F0UmVjdCBzZWxlY3Rpb25SZWN0YW5nbGUgPSBtX21haW5G
cmFtZS0+Y29yZUZyYW1lKCktPnNlbGVjdGlvbigpLT5ib3VuZHMoKTsKKyAgICAgICAgZ3JhcGhp
Y3NDb250ZXh0LT5zZXRTdHJva2VDb2xvcihDb2xvcigweEZGLCAwLCAwKSwgQ29sb3JTcGFjZURl
dmljZVJHQik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+c3Ryb2tlUmVjdChzZWxlY3Rpb25S
ZWN0YW5nbGUsIDEpOworICAgIH0KKwogICAgIHJldHVybiBzbmFwc2hvdC5yZWxlYXNlKCk7CiB9
CiAKSW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDEzMTI5OCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDE5IEBACisyMDEyLTEwLTE1ICBSYXBoYWVsIEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVs
Lmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAgICAgIEltcGxlbWVudCB0ZXN0UnVubmVy
LmR1bXBTZWxlY3Rpb25SZWN0KCkgaW4gV2ViS2l0VGVzdFJ1bm5lcgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1NDUKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRC
dW5kbGVQYWdlOjpkdW1wKTogU2V0IHRoZQorICAgICAgICBrV0tTbmFwc2hvdE9wdGlvbnNQYWlu
dFNlbGVjdGlvblJlY3RhbmdsZSBvcHRpb24gaWYKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wU2Vs
ZWN0aW9uUmVjdCgpIGlzIGNhbGxlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoKKyAgICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6ZHVtcFNl
bGVjdGlvblJlY3QpOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpzaG91bGREdW1wU2VsZWN0
aW9uUmVjdCk6CisgICAgICAgIChUZXN0UnVubmVyKToKKwogMjAxMi0xMC0xMSAgS2ludWtvIFlh
c3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBSZW1vdmVz
IHVubmVjZXNzYXJ5IGRlcGVuZGVuY2llcyBpbiBEdW1wUmVuZGVyVHJlZS5neXAKSW5kZXg6IFRv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBUb29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZS5jcHAJKHJldmlzaW9uIDEzMTI5OCkKKysrIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAkod29ya2luZyBj
b3B5KQpAQCAtOTUxLDcgKzk1MSwxMSBAQCB2b2lkIEluamVjdGVkQnVuZGxlUGFnZTo6ZHVtcCgp
CiAgICAgICAgIEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS5kdW1wQmFja0ZvcndhcmRMaXN0c0Zv
ckFsbFBhZ2VzKCk7CiAKICAgICBpZiAoSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNob3VsZER1
bXBQaXhlbHMoKSAmJiBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkudGVzdFJ1bm5lcigpLT5zaG91
bGREdW1wUGl4ZWxzKCkpIHsKLSAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJlZCgpLnNldFBp
eGVsUmVzdWx0KGFkb3B0V0soV0tCdW5kbGVQYWdlQ3JlYXRlU25hcHNob3RXaXRoT3B0aW9ucyht
X3BhZ2UsIFdLQnVuZGxlRnJhbWVHZXRWaXNpYmxlQ29udGVudEJvdW5kcyhXS0J1bmRsZVBhZ2VH
ZXRNYWluRnJhbWUobV9wYWdlKSksIGtXS1NuYXBzaG90T3B0aW9uc1NoYXJlYWJsZSB8IGtXS1Nu
YXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzKSkuZ2V0KCkpOworICAgICAgICBXS1NuYXBz
aG90T3B0aW9ucyBvcHRpb25zID0ga1dLU25hcHNob3RPcHRpb25zU2hhcmVhYmxlIHwga1dLU25h
cHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXM7CisgICAgICAgIGlmIChJbmplY3RlZEJ1bmRs
ZTo6c2hhcmVkKCkudGVzdFJ1bm5lcigpLT5zaG91bGREdW1wU2VsZWN0aW9uUmVjdCgpKQorICAg
ICAgICAgICAgb3B0aW9ucyB8PSBrV0tTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlvblJlY3Rh
bmdsZTsKKworICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc2V0UGl4ZWxSZXN1bHQo
YWRvcHRXSyhXS0J1bmRsZVBhZ2VDcmVhdGVTbmFwc2hvdFdpdGhPcHRpb25zKG1fcGFnZSwgV0tC
dW5kbGVGcmFtZUdldFZpc2libGVDb250ZW50Qm91bmRzKFdLQnVuZGxlUGFnZUdldE1haW5GcmFt
ZShtX3BhZ2UpKSwgb3B0aW9ucykpLmdldCgpKTsKICAgICAgICAgaWYgKFdLQnVuZGxlUGFnZUlz
VHJhY2tpbmdSZXBhaW50cyhtX3BhZ2UpKQogICAgICAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNo
YXJlZCgpLnNldFJlcGFpbnRSZWN0cyhhZG9wdFdLKFdLQnVuZGxlUGFnZUNvcHlUcmFja2VkUmVw
YWludFJlY3RzKG1fcGFnZSkpLmdldCgpKTsKICAgICB9CkluZGV4OiBUb29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkocmV2aXNpb24gMTMx
Mjk4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmgJKHdvcmtpbmcgY29weSkKQEAgLTczLDcgKzczLDcgQEAgcHVibGljOgogICAgIHZvaWQgZHVt
cEJhY2tGb3J3YXJkTGlzdCgpIHsgbV9zaG91bGREdW1wQmFja0ZvcndhcmRMaXN0c0ZvckFsbFdp
bmRvd3MgPSB0cnVlOyB9CiAgICAgdm9pZCBkdW1wQ2hpbGRGcmFtZVNjcm9sbFBvc2l0aW9ucygp
IHsgbV9zaG91bGREdW1wQWxsRnJhbWVTY3JvbGxQb3NpdGlvbnMgPSB0cnVlOyB9CiAgICAgdm9p
ZCBkdW1wRWRpdGluZ0NhbGxiYWNrcygpIHsgbV9kdW1wRWRpdGluZ0NhbGxiYWNrcyA9IHRydWU7
IH0KLSAgICB2b2lkIGR1bXBTZWxlY3Rpb25SZWN0KCkgeyB9IC8vIFdpbGwgbmVlZCB0byBkbyBz
b21ldGhpbmcgd2hlbiB3ZSBzdXBwb3J0IHBpeGVsIHRlc3RzLgorICAgIHZvaWQgZHVtcFNlbGVj
dGlvblJlY3QoKSB7IG1fZHVtcFNlbGVjdGlvblJlY3QgPSB0cnVlOyB9CiAgICAgdm9pZCBkdW1w
U3RhdHVzQ2FsbGJhY2tzKCkgeyBtX2R1bXBTdGF0dXNDYWxsYmFja3MgPSB0cnVlOyB9CiAgICAg
dm9pZCBkdW1wVGl0bGVDaGFuZ2VzKCkgeyBtX2R1bXBUaXRsZUNoYW5nZXMgPSB0cnVlOyB9CiAg
ICAgdm9pZCBkdW1wRnVsbFNjcmVlbkNhbGxiYWNrcygpIHsgbV9kdW1wRnVsbFNjcmVlbkNhbGxi
YWNrcyA9IHRydWU7IH0KQEAgLTE3Nyw2ICsxNzcsNyBAQCBwdWJsaWM6CiAgICAgYm9vbCBzaG91
bGREdW1wV2lsbENhY2hlUmVzcG9uc2UoKSBjb25zdCB7IHJldHVybiBtX2R1bXBXaWxsQ2FjaGVS
ZXNwb25zZTsgfQogICAgIGJvb2wgc2hvdWxkRHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNh
bGxiYWNrcygpIGNvbnN0IHsgcmV0dXJuIG1fZHVtcEFwcGxpY2F0aW9uQ2FjaGVEZWxlZ2F0ZUNh
bGxiYWNrczsgfQogICAgIGJvb2wgc2hvdWxkRHVtcERhdGFiYXNlQ2FsbGJhY2tzKCkgY29uc3Qg
eyByZXR1cm4gbV9kdW1wRGF0YWJhc2VDYWxsYmFja3M7IH0KKyAgICBib29sIHNob3VsZER1bXBT
ZWxlY3Rpb25SZWN0KCkgY29uc3QgeyByZXR1cm4gbV9kdW1wU2VsZWN0aW9uUmVjdDsgfQogCiAg
ICAgYm9vbCBpc1BvbGljeURlbGVnYXRlRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fcG9saWN5
RGVsZWdhdGVFbmFibGVkOyB9CiAgICAgYm9vbCBpc1BvbGljeURlbGVnYXRlUGVybWlzc2l2ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcG9saWN5RGVsZWdhdGVQZXJtaXNzaXZlOyB9CkBAIC0yNzksNiAr
MjgwLDcgQEAgcHJpdmF0ZToKICAgICBib29sIG1fZHVtcFN0YXR1c0NhbGxiYWNrczsKICAgICBi
b29sIG1fZHVtcFRpdGxlQ2hhbmdlczsKICAgICBib29sIG1fZHVtcFBpeGVsczsKKyAgICBib29s
IG1fZHVtcFNlbGVjdGlvblJlY3Q7CiAgICAgYm9vbCBtX2R1bXBGdWxsU2NyZWVuQ2FsbGJhY2tz
OwogICAgIGJvb2wgbV9kdW1wRnJhbWVMb2FkQ2FsbGJhY2tzOwogICAgIGJvb2wgbV9kdW1wUHJv
Z3Jlc3NGaW5pc2hlZENhbGxiYWNrOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>168706</attachid>
            <date>2012-10-15 07:00:02 -0700</date>
            <delta_ts>2012-10-16 10:51:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-69545-20121015165722.patch</filename>
            <type>text/plain</type>
            <size>9739</size>
            <attacher name="Raphael Kubo da Costa (:rakuco)">rakuco</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEzMTI5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEyLTEwLTE1ICBSYXBoYWVs
IEt1Ym8gZGEgQ29zdGEgIDxyYXBoYWVsLmt1Ym8uZGEuY29zdGFAaW50ZWwuY29tPgorCisgICAg
ICAgIEltcGxlbWVudCB0ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCkgaW4gV2ViS2l0VGVz
dFJ1bm5lcgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
Njk1NDUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IFdlYkNvcmUuZXhwLmluOgorCiAyMDEyLTEwLTE1ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9t
aXVtLm9yZz4KIAogICAgICAgICBJbXByb3ZlIGNvZGUgb2YgTG9jYWxlTWFjLm1tCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmV4cC5pbgkocmV2aXNpb24gMTMxMjk4KQorKysgU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5leHAuaW4JKHdvcmtpbmcgY29weSkKQEAgLTM1Miw4ICszNTIsMTAgQEAgX19aTjdXZWJD
b3JlMTVGb2N1c0NvbnRyb2xsZXIxNXNldEZvY3VzZQogX19aTjdXZWJDb3JlMTVGb2N1c0NvbnRy
b2xsZXIxNXNldEluaXRpYWxGb2N1c0VOU18xNEZvY3VzRGlyZWN0aW9uRVBOU18xM0tleWJvYXJk
RXZlbnRFCiBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjI4c2V0Q29udGFpbmluZ1dpbmRv
d0lzVmlzaWJsZUViCiBfX1pON1dlYkNvcmUxNUZvY3VzQ29udHJvbGxlcjlzZXRBY3RpdmVFYgor
X19aTjdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxMHN0cm9rZVJlY3RFUktOU185RmxvYXRSZWN0
RWYKIF9fWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0MTFjbGVhclNoYWRvd0V2CiBfX1pON1dl
YkNvcmUxNUdyYXBoaWNzQ29udGV4dDEyc2V0RmlsbENvbG9yRVJLTlNfNUNvbG9yRU5TXzEwQ29s
b3JTcGFjZUUKK19fWk43V2ViQ29yZTE1R3JhcGhpY3NDb250ZXh0MTRzZXRTdHJva2VDb2xvckVS
S05TXzVDb2xvckVOU18xMENvbG9yU3BhY2VFCiBfX1pON1dlYkNvcmUxNUdyYXBoaWNzQ29udGV4
dDE1c2V0RmlsbEdyYWRpZW50RU4zV1RGMTBQYXNzUmVmUHRySU5TXzhHcmFkaWVudEVFRQogX19a
TjdXZWJDb3JlMTVHcmFwaGljc0NvbnRleHQxOHNldFNob3VsZEFudGlhbGlhc0ViCiBfX1pON1dl
YkNvcmUxNUdyYXBoaWNzQ29udGV4dDE5c2V0SXNDQUxheWVyQ29udGV4dEViCkBAIC04NDgsNiAr
ODUwLDcgQEAgX19aTjdXZWJDb3JlN1RleHRSdW4yMXNfYWxsb3dzUm91bmRpbmdIYQogX19aTjdX
ZWJDb3JlN1RleHRSdW4yMnNldEFsbG93c1JvdW5kaW5nSGFja3NFYgogX19aTjdXZWJDb3JlN2Nv
b2tpZXNFUEtOU184RG9jdW1lbnRFUktOU180S1VSTEUKIF9fWk43V2ViQ29yZTdqc0FycmF5RVBO
M0pTQzlFeGVjU3RhdGVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFTjNXVEYxMFBhc3NSZWZQdHJJ
TlNfMTNET01TdHJpbmdMaXN0RUVFCitfX1pON1dlYkNvcmU3bWFrZVJHQkVpaWkKIF9fWk43V2Vi
Q29yZTdyZXBsYWNlRVJOM1dURjZTdHJpbmdFUktOU18xN1JlZ3VsYXJFeHByZXNzaW9uRVJLUzFf
CiBfX1pON1dlYkNvcmU3dG9SYW5nZUVOM0pTQzdKU1ZhbHVlRQogX19aTjdXZWJDb3JlOENTU1Zh
bHVlN2Rlc3Ryb3lFdgpJbmRleDogU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gMTMxMjk4KQorKysgU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMTIt
MTAtMTUgIFJhcGhhZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRl
bC5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IHRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3Qo
KSBpbiBXZWJLaXRUZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD02OTU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLSW1hZ2UuaDogQWRkIGFub3RoZXIgb3B0aW9u
IHRoYXQgY29udHJvbHMgd2hldGhlcgorICAgICAgICB0aGUgc2VsZWN0aW9uIHJlY3RhbmdsZSBz
aG91bGQgYmUgcGFpbnRlZCBvbnRvIHRoZSBzbmFwc2hvdC4KKyAgICAgICAgKiBTaGFyZWQvQVBJ
L2MvV0tTaGFyZWRBUElDYXN0Lmg6CisgICAgICAgIChXZWJLaXQ6OnRvU25hcHNob3RPcHRpb25z
KTogQWRkIGEgY2FzZSBmb3IgdGhlIG5ldyBvcHRpb24KKyAgICAgICAgbWVudGlvbmVkIGFib3Zl
LgorICAgICAgICAqIFNoYXJlZC9JbWFnZU9wdGlvbnMuaDogTW9yZSBwbHVtYmluZyBmb3IgdGhl
IG9wdGlvbiBhYm92ZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNjYWxlZFNuYXBzaG90V2l0aE9wdGlvbnMpOiBE
cmF3IGEgcmVkIHJlY3RhbmdsZQorICAgICAgICBhcm91bmQgdGhlIHNlbGVjdGlvbiBhcmVhIHdo
ZW4KKyAgICAgICAgU25hcHNob3RPcHRpb25zUGFpbnRTZWxlY3Rpb25SZWN0YW5nbGUgaXMgc2V0
LgorCiAyMDEyLTEwLTE1ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgogCiAgICAgICAgIFtFRkxdW1dLMl0gRW5jYXBzdWxhdGUgcmVmIGNvdW50aW5n
IGZvciBFd2sgb2JqZWN0cyBpbiBhIHBhcmVudCBjbGFzcwpJbmRleDogU291cmNlL1dlYktpdDIv
U2hhcmVkL0ltYWdlT3B0aW9ucy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9JbWFnZU9wdGlvbnMuaAkocmV2aXNpb24gMTMxMjk4KQorKysgU291cmNlL1dlYktpdDIvU2hh
cmVkL0ltYWdlT3B0aW9ucy5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNSw3ICszNSw4IEBAIGVudW0g
SW1hZ2VPcHRpb25zIHsKIGVudW0gewogICAgIFNuYXBzaG90T3B0aW9uc1NoYXJlYWJsZSA9IDEg
PDwgMCwKICAgICBTbmFwc2hvdE9wdGlvbnNFeGNsdWRlU2VsZWN0aW9uSGlnaGxpZ2h0aW5nID0g
MSA8PCAxLAotICAgIFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzID0gMSA8PCAyCisg
ICAgU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMgPSAxIDw8IDIsCisgICAgU25hcHNo
b3RPcHRpb25zUGFpbnRTZWxlY3Rpb25SZWN0YW5nbGUgPSAxIDw8IDMKIH07CiB0eXBlZGVmIHVp
bnQzMl90IFNuYXBzaG90T3B0aW9uczsKIApJbmRleDogU291cmNlL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tJbWFnZS5oCShyZXZpc2lvbiAxMzEyOTgpCisrKyBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00MSw3ICs0MSw4IEBAIHR5cGVkZWYgdWlu
dDMyX3QgV0tJbWFnZU9wdGlvbnM7CiBlbnVtIHsKICAgICBrV0tTbmFwc2hvdE9wdGlvbnNTaGFy
ZWFibGUgPSAxIDw8IDAsCiAgICAga1dLU25hcHNob3RPcHRpb25zRXhjbHVkZVNlbGVjdGlvbkhp
Z2hsaWdodGluZyA9IDEgPDwgMSwKLSAgICBrV0tTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGlu
YXRlcyA9IDEgPDwgMgorICAgIGtXS1NuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzID0g
MSA8PCAyLAorICAgIGtXS1NuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlID0g
MSA8PCAzCiB9OwogdHlwZWRlZiB1aW50MzJfdCBXS1NuYXBzaG90T3B0aW9uczsKIApJbmRleDog
U291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaAkocmV2aXNp
b24gMTMxMjk4KQorKysgU291cmNlL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2Fz
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC04MDksNiArODA5LDggQEAgaW5saW5lIFNuYXBzaG90T3B0
aW9ucyB0b1NuYXBzaG90T3B0aW9ucwogICAgICAgICBzbmFwc2hvdE9wdGlvbnMgfD0gU25hcHNo
b3RPcHRpb25zRXhjbHVkZVNlbGVjdGlvbkhpZ2hsaWdodGluZzsKICAgICBpZiAod2tTbmFwc2hv
dE9wdGlvbnMgJiBrV0tTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlcykKICAgICAgICAg
c25hcHNob3RPcHRpb25zIHw9IFNuYXBzaG90T3B0aW9uc0luVmlld0Nvb3JkaW5hdGVzOworICAg
IGlmICh3a1NuYXBzaG90T3B0aW9ucyAmIGtXS1NuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9u
UmVjdGFuZ2xlKQorICAgICAgICBzbmFwc2hvdE9wdGlvbnMgfD0gU25hcHNob3RPcHRpb25zUGFp
bnRTZWxlY3Rpb25SZWN0YW5nbGU7CiAKICAgICByZXR1cm4gc25hcHNob3RPcHRpb25zOwogfQpJ
bmRleDogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAko
cmV2aXNpb24gMTMxMjk4KQorKysgU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzEzLDYgKzEzMTMsMTIgQEAgUGFzc1JlZlB0
cjxXZWJJbWFnZT4gV2ViUGFnZTo6c2NhbGVkU25hcAogCiAgICAgZnJhbWVWaWV3LT5wYWludENv
bnRlbnRzRm9yU25hcHNob3QoZ3JhcGhpY3NDb250ZXh0LmdldCgpLCByZWN0LCBzaG91bGRQYWlu
dFNlbGVjdGlvbiwgY29vcmRpbmF0ZVNwYWNlKTsKIAorICAgIGlmIChvcHRpb25zICYgU25hcHNo
b3RPcHRpb25zUGFpbnRTZWxlY3Rpb25SZWN0YW5nbGUpIHsKKyAgICAgICAgRmxvYXRSZWN0IHNl
bGVjdGlvblJlY3RhbmdsZSA9IG1fbWFpbkZyYW1lLT5jb3JlRnJhbWUoKS0+c2VsZWN0aW9uKCkt
PmJvdW5kcygpOworICAgICAgICBncmFwaGljc0NvbnRleHQtPnNldFN0cm9rZUNvbG9yKENvbG9y
KDB4RkYsIDAsIDApLCBDb2xvclNwYWNlRGV2aWNlUkdCKTsKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LT5zdHJva2VSZWN0KHNlbGVjdGlvblJlY3RhbmdsZSwgMSk7CisgICAgfQorCiAgICAgcmV0
dXJuIHNuYXBzaG90LnJlbGVhc2UoKTsKIH0KIApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxvZwkocmV2aXNpb24gMTMxMjk4KQorKysgVG9vbHMvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMTAtMTUgIFJhcGhh
ZWwgS3VibyBkYSBDb3N0YSAgPHJhcGhhZWwua3Viby5kYS5jb3N0YUBpbnRlbC5jb20+CisKKyAg
ICAgICAgSW1wbGVtZW50IHRlc3RSdW5uZXIuZHVtcFNlbGVjdGlvblJlY3QoKSBpbiBXZWJLaXRU
ZXN0UnVubmVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD02OTU0NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3Bw
OgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZVBhZ2U6OmR1bXApOiBTZXQgdGhlCisgICAg
ICAgIGtXS1NuYXBzaG90T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlIG9wdGlvbiBpZgor
ICAgICAgICB0ZXN0UnVubmVyLmR1bXBTZWxlY3Rpb25SZWN0KCkgaXMgY2FsbGVkLgorICAgICAg
ICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oOgorICAgICAg
ICAoV1RSOjpUZXN0UnVubmVyOjpkdW1wU2VsZWN0aW9uUmVjdCk6CisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OnNob3VsZER1bXBTZWxlY3Rpb25SZWN0KToKKyAgICAgICAgKFRlc3RSdW5uZXIp
OgorCiAyMDEyLTEwLTExICBLaW51a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbY2hyb21pdW1dIFJlbW92ZXMgdW5uZWNlc3NhcnkgZGVwZW5kZW5jaWVzIGluIER1
bXBSZW5kZXJUcmVlLmd5cApJbmRleDogVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlLmNwcAkocmV2aXNpb24g
MTMxMjk4KQorKysgVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NTEsNyArOTUxLDExIEBAIHZvaWQg
SW5qZWN0ZWRCdW5kbGVQYWdlOjpkdW1wKCkKICAgICAgICAgSW5qZWN0ZWRCdW5kbGU6OnNoYXJl
ZCgpLmR1bXBCYWNrRm9yd2FyZExpc3RzRm9yQWxsUGFnZXMoKTsKIAogICAgIGlmIChJbmplY3Rl
ZEJ1bmRsZTo6c2hhcmVkKCkuc2hvdWxkRHVtcFBpeGVscygpICYmIEluamVjdGVkQnVuZGxlOjpz
aGFyZWQoKS50ZXN0UnVubmVyKCktPnNob3VsZER1bXBQaXhlbHMoKSkgewotICAgICAgICBJbmpl
Y3RlZEJ1bmRsZTo6c2hhcmVkKCkuc2V0UGl4ZWxSZXN1bHQoYWRvcHRXSyhXS0J1bmRsZVBhZ2VD
cmVhdGVTbmFwc2hvdFdpdGhPcHRpb25zKG1fcGFnZSwgV0tCdW5kbGVGcmFtZUdldFZpc2libGVD
b250ZW50Qm91bmRzKFdLQnVuZGxlUGFnZUdldE1haW5GcmFtZShtX3BhZ2UpKSwga1dLU25hcHNo
b3RPcHRpb25zU2hhcmVhYmxlIHwga1dLU25hcHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXMp
KS5nZXQoKSk7CisgICAgICAgIFdLU25hcHNob3RPcHRpb25zIG9wdGlvbnMgPSBrV0tTbmFwc2hv
dE9wdGlvbnNTaGFyZWFibGUgfCBrV0tTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlczsK
KyAgICAgICAgaWYgKEluamVjdGVkQnVuZGxlOjpzaGFyZWQoKS50ZXN0UnVubmVyKCktPnNob3Vs
ZER1bXBTZWxlY3Rpb25SZWN0KCkpCisgICAgICAgICAgICBvcHRpb25zIHw9IGtXS1NuYXBzaG90
T3B0aW9uc1BhaW50U2VsZWN0aW9uUmVjdGFuZ2xlOworCisgICAgICAgIEluamVjdGVkQnVuZGxl
OjpzaGFyZWQoKS5zZXRQaXhlbFJlc3VsdChhZG9wdFdLKFdLQnVuZGxlUGFnZUNyZWF0ZVNuYXBz
aG90V2l0aE9wdGlvbnMobV9wYWdlLCBXS0J1bmRsZUZyYW1lR2V0VmlzaWJsZUNvbnRlbnRCb3Vu
ZHMoV0tCdW5kbGVQYWdlR2V0TWFpbkZyYW1lKG1fcGFnZSkpLCBvcHRpb25zKSkuZ2V0KCkpOwog
ICAgICAgICBpZiAoV0tCdW5kbGVQYWdlSXNUcmFja2luZ1JlcGFpbnRzKG1fcGFnZSkpCiAgICAg
ICAgICAgICBJbmplY3RlZEJ1bmRsZTo6c2hhcmVkKCkuc2V0UmVwYWludFJlY3RzKGFkb3B0V0so
V0tCdW5kbGVQYWdlQ29weVRyYWNrZWRSZXBhaW50UmVjdHMobV9wYWdlKSkuZ2V0KCkpOwogICAg
IH0KSW5kZXg6IFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5l
ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFRvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oCShyZXZpc2lvbiAxMzEyOTgpCisrKyBUb29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNzMsNyArNzMs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBkdW1wQmFja0ZvcndhcmRMaXN0KCkgeyBtX3Nob3VsZER1
bXBCYWNrRm9yd2FyZExpc3RzRm9yQWxsV2luZG93cyA9IHRydWU7IH0KICAgICB2b2lkIGR1bXBD
aGlsZEZyYW1lU2Nyb2xsUG9zaXRpb25zKCkgeyBtX3Nob3VsZER1bXBBbGxGcmFtZVNjcm9sbFBv
c2l0aW9ucyA9IHRydWU7IH0KICAgICB2b2lkIGR1bXBFZGl0aW5nQ2FsbGJhY2tzKCkgeyBtX2R1
bXBFZGl0aW5nQ2FsbGJhY2tzID0gdHJ1ZTsgfQotICAgIHZvaWQgZHVtcFNlbGVjdGlvblJlY3Qo
KSB7IH0gLy8gV2lsbCBuZWVkIHRvIGRvIHNvbWV0aGluZyB3aGVuIHdlIHN1cHBvcnQgcGl4ZWwg
dGVzdHMuCisgICAgdm9pZCBkdW1wU2VsZWN0aW9uUmVjdCgpIHsgbV9kdW1wU2VsZWN0aW9uUmVj
dCA9IHRydWU7IH0KICAgICB2b2lkIGR1bXBTdGF0dXNDYWxsYmFja3MoKSB7IG1fZHVtcFN0YXR1
c0NhbGxiYWNrcyA9IHRydWU7IH0KICAgICB2b2lkIGR1bXBUaXRsZUNoYW5nZXMoKSB7IG1fZHVt
cFRpdGxlQ2hhbmdlcyA9IHRydWU7IH0KICAgICB2b2lkIGR1bXBGdWxsU2NyZWVuQ2FsbGJhY2tz
KCkgeyBtX2R1bXBGdWxsU2NyZWVuQ2FsbGJhY2tzID0gdHJ1ZTsgfQpAQCAtMTc3LDYgKzE3Nyw3
IEBAIHB1YmxpYzoKICAgICBib29sIHNob3VsZER1bXBXaWxsQ2FjaGVSZXNwb25zZSgpIGNvbnN0
IHsgcmV0dXJuIG1fZHVtcFdpbGxDYWNoZVJlc3BvbnNlOyB9CiAgICAgYm9vbCBzaG91bGREdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzKCkgY29uc3QgeyByZXR1cm4gbV9kdW1w
QXBwbGljYXRpb25DYWNoZURlbGVnYXRlQ2FsbGJhY2tzOyB9CiAgICAgYm9vbCBzaG91bGREdW1w
RGF0YWJhc2VDYWxsYmFja3MoKSBjb25zdCB7IHJldHVybiBtX2R1bXBEYXRhYmFzZUNhbGxiYWNr
czsgfQorICAgIGJvb2wgc2hvdWxkRHVtcFNlbGVjdGlvblJlY3QoKSBjb25zdCB7IHJldHVybiBt
X2R1bXBTZWxlY3Rpb25SZWN0OyB9CiAKICAgICBib29sIGlzUG9saWN5RGVsZWdhdGVFbmFibGVk
KCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lEZWxlZ2F0ZUVuYWJsZWQ7IH0KICAgICBib29sIGlz
UG9saWN5RGVsZWdhdGVQZXJtaXNzaXZlKCkgY29uc3QgeyByZXR1cm4gbV9wb2xpY3lEZWxlZ2F0
ZVBlcm1pc3NpdmU7IH0KQEAgLTI3OSw2ICsyODAsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9k
dW1wU3RhdHVzQ2FsbGJhY2tzOwogICAgIGJvb2wgbV9kdW1wVGl0bGVDaGFuZ2VzOwogICAgIGJv
b2wgbV9kdW1wUGl4ZWxzOworICAgIGJvb2wgbV9kdW1wU2VsZWN0aW9uUmVjdDsKICAgICBib29s
IG1fZHVtcEZ1bGxTY3JlZW5DYWxsYmFja3M7CiAgICAgYm9vbCBtX2R1bXBGcmFtZUxvYWRDYWxs
YmFja3M7CiAgICAgYm9vbCBtX2R1bXBQcm9ncmVzc0ZpbmlzaGVkQ2FsbGJhY2s7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>