<?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>43551</bug_id>
          
          <creation_ts>2010-08-05 04:45:29 -0700</creation_ts>
          <short_desc>Resource cache is validated for the second load, while not for the third and later</short_desc>
          <delta_ts>2011-01-06 18:36:02 -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>Page Loading</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</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="Yuzo Fujishima">yuzo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>beidson</cc>
    
    <cc>dglazkov</cc>
    
    <cc>hamaji</cc>
    
    <cc>hayato</cc>
    
    <cc>marcoos+bwo</cc>
    
    <cc>mitz</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>260522</commentid>
    <comment_count>0</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-05 04:45:29 -0700</bug_when>
    <thetext>When web font downloading is not fast enough,
the part of the page to be rendered in the font
can be printed as blank.

For example, the following page is printed as blank if
downloading cgi-bin/getfont.py takes, say, seconds,
to complete: 

&lt;style&gt; 
span { 
    font-size: 64px; 
} 
@font-face { 
    font-family:myfont; 
    src: url(cgi-bin/getfont.py); 
} 
&lt;/style&gt; 
&lt;span style=&quot;font-size:64px; font-family:myfont&quot;&gt; 
This will not be printed on paper in the first try to print. 
&lt;/span&gt;

This happens because web font is reloaded when the page is printed.
I think the reloading is unnecessary because the font is refreshed
when the page is rendered on screen.
(Except when different web fonts are used for print and screen using @media)

Note:
This is the main cause of http://code.google.com/p/chromium/issues/detail?id=42499</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>260530</commentid>
    <comment_count>1</comment_count>
      <attachid>63577</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-05 05:00:35 -0700</bug_when>
    <thetext>Created attachment 63577
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261035</commentid>
    <comment_count>2</comment_count>
      <attachid>63680</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-05 19:14:35 -0700</bug_when>
    <thetext>Created attachment 63680
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261104</commentid>
    <comment_count>3</comment_count>
      <attachid>63695</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-05 22:59:57 -0700</bug_when>
    <thetext>Created attachment 63695
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261105</commentid>
    <comment_count>4</comment_count>
      <attachid>63695</attachid>
    <who name="">mitz</who>
    <bug_when>2010-08-05 23:04:29 -0700</bug_when>
    <thetext>Comment on attachment 63695
Patch

The change log should explain what’s going on here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261120</commentid>
    <comment_count>5</comment_count>
      <attachid>63699</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-05 23:33:40 -0700</bug_when>
    <thetext>Created attachment 63699
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261121</commentid>
    <comment_count>6</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-05 23:34:51 -0700</bug_when>
    <thetext>Hi, mitz,

Thank you for the review. I&apos;ve added comment to WebCore/ChangeLog.
Can you take another look?

(In reply to comment #4)
&gt; (From update of attachment 63695 [details])
&gt; The change log should explain what’s going on here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261123</commentid>
    <comment_count>7</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-08-05 23:38:17 -0700</bug_when>
    <thetext>Such a global change to WebKit’s resource loading behavior doesn’t seem like a reasonable approach to fixing this issue. I also don’t immediately see what makes 2 the magic number here. Is it not possible that the page would be printed after some resources have already been loaded a second time?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261130</commentid>
    <comment_count>8</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-06 00:08:37 -0700</bug_when>
    <thetext>Hi, thanks again for the review.

(In reply to comment #7)
&gt; Such a global change to WebKit’s resource loading behavior doesn’t seem like a reasonable approach to fixing this issue.

Perhaps I should propose this patch under a different bug, something like:
&quot;Cache validation should be skipped for a resource when it is loaded for the
second time (or later) for a same document. Currently, validation is skipped for
the third load and later.&quot;

&gt; I also don’t immediately see what makes 2 the magic number here.

The current behavior, i.e., no cache validation for the third time and later, is as questionable
as my proposal.

With a page similar to below, you should be able to see that WebKit doesn&apos;t request the
image for the third time and later you click the button. (Please use a fresh instance of
Safari to make sure nothing is cached at the beginning):

&lt;script&gt;
function addImage() {
  var newImage = document.createElement(&quot;img&quot;);
  newImage.setAttribute(&quot;src&quot;, &quot;cgi-bin/getlogo.py&quot;);
  document.body.appendChild(newImage);
}
&lt;/script&gt;
&lt;input type=button value=Change onclick=&quot;addImage()&quot;/&gt;

Please see the server log (or make getlogo.py return different image every time).

&gt; Is it not possible that the page would be printed after some resources have already been loaded a second time?

I&apos;m not sure if I understand your question correctly.

Do you mean we should repeat loading resources before the user requests printing a page
(that way, reloading done for print would be the third one and skip the cache validation)?
I&apos;m afraid that would be inefficient. 

Or are you asking if my patch will break if the resource has been loaded two times before printing?
It won&apos;t.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261136</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2010-08-06 00:16:16 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Hi, thanks again for the review.
&gt; 
&gt; (In reply to comment #7)
&gt; &gt; Such a global change to WebKit’s resource loading behavior doesn’t seem like a reasonable approach to fixing this issue.
&gt; 
&gt; Perhaps I should propose this patch under a different bug, something like:
&gt; &quot;Cache validation should be skipped for a resource when it is loaded for the
&gt; second time (or later) for a same document. Currently, validation is skipped for
&gt; the third load and later.&quot;

I think that would be a better, yes. I suggest that you re-title the bug. I’ve moved it to the Page Loading component where it belongs.

You may also want to have a separate bug about the specific symptom you’re seeing when printing. The fact that preparing the page for printing sometimes causes resources to load is not limited to this case of reloading a font resource. A printing style sheet might specify fonts, images and other stylesheets that are not referenced by the screen style sheet, presumably leading to incomplete output if printing is synchronous and does not block on loading those resources.

&gt; &gt; Is it not possible that the page would be printed after some resources have already been loaded a second time?
&gt; 
&gt; I&apos;m not sure if I understand your question correctly.
&gt; 
&gt; Do you mean we should repeat loading resources before the user requests printing a page
&gt; (that way, reloading done for print would be the third one and skip the cache validation)?
&gt; I&apos;m afraid that would be inefficient. 
&gt; 
&gt; Or are you asking if my patch will break if the resource has been loaded two times before printing?

That was my question.

&gt; It won&apos;t.

How come?

I am not an expert on loading behavior, other than to know that there are intricate performance, correctness and compatibility considerations involved in this area, so I’ve CC:ed Brady Eidson on the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261137</commentid>
    <comment_count>10</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-06 00:26:20 -0700</bug_when>
    <thetext>Changed the summary line from:
  web font is reloaded in printing page and the relevant part can become blank</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261141</commentid>
    <comment_count>11</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-06 00:36:08 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Hi, thanks again for the review.
&gt; &gt; 
&gt; &gt; (In reply to comment #7)
&gt; &gt; &gt; Such a global change to WebKit’s resource loading behavior doesn’t seem like a reasonable approach to fixing this issue.
&gt; &gt; 
&gt; &gt; Perhaps I should propose this patch under a different bug, something like:
&gt; &gt; &quot;Cache validation should be skipped for a resource when it is loaded for the
&gt; &gt; second time (or later) for a same document. Currently, validation is skipped for
&gt; &gt; the third load and later.&quot;
&gt; 
&gt; I think that would be a better, yes. I suggest that you re-title the bug. I’ve moved it to the Page Loading component where it belongs.

Thank you. Changed the title.

&gt; 
&gt; You may also want to have a separate bug about the specific symptom you’re seeing when printing. The fact that preparing the page for printing sometimes causes resources to load is not limited to this case of reloading a font resource. A printing style sheet might specify fonts, images and other stylesheets that are not referenced by the screen style sheet, presumably leading to incomplete output if printing is synchronous and does not block on loading those resources.

Yes, I&apos;ve been aware of it.

The case I&apos;m trying to save now with the patch is that the same web font is used both for screen and print.

It won&apos;t save the case where different web fonts are used, for example, via @media print { @font-face ... }.

I agree that if there is a way to either (1) print asynchronously or (2) block until all necessary resources
are downloaded, we can solve the web font printing issue.
Actually I tried to find such a way before I work on this patch. But I couldn&apos;t find a reasonable way.

&gt; 
&gt; &gt; &gt; Is it not possible that the page would be printed after some resources have already been loaded a second time?
&gt; &gt; 
&gt; &gt; I&apos;m not sure if I understand your question correctly.
&gt; &gt; 
&gt; &gt; Do you mean we should repeat loading resources before the user requests printing a page
&gt; &gt; (that way, reloading done for print would be the third one and skip the cache validation)?
&gt; &gt; I&apos;m afraid that would be inefficient. 
&gt; &gt; 
&gt; &gt; Or are you asking if my patch will break if the resource has been loaded two times before printing?
&gt; 
&gt; That was my question.
&gt; 
&gt; &gt; It won&apos;t.
&gt; 
&gt; How come?
&gt; 
&gt; I am not an expert on loading behavior, other than to know that there are intricate performance, correctness and compatibility considerations involved in this area, so I’ve CC:ed Brady Eidson on the bug.

I admit that I don&apos;t understand why the current code skip cache validation for the third load and later.
I&apos;d love to hear from Brady.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261195</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2010-08-06 04:40:11 -0700</bug_when>
    <thetext>This sounds almost exactly the same as bug 27971.

When looking at that bug, I had a feeling that it was CSS machinery fault that a font was reloaded in the first place. I don&apos;t understand what page loading does wrong here.

It seems wrong to skip revalidation. E.g. if we&apos;re dealing with a webcam that provides an image that&apos;s constantly updated, and the web page reloads it all the time, it should be requested from server.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261947</commentid>
    <comment_count>13</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-08 17:58:39 -0700</bug_when>
    <thetext>Hi, Alexey,

Thank you for the comments.

(In reply to comment #12)
&gt; This sounds almost exactly the same as bug 27971.
&gt; 
&gt; When looking at that bug, I had a feeling that it was CSS machinery fault that a font was reloaded in the first place. I don&apos;t understand what page loading does wrong here.
&gt; 
&gt; It seems wrong to skip revalidation. E.g. if we&apos;re dealing with a webcam that provides an image that&apos;s constantly updated, and the web page reloads it all the time, it should be requested from server.

Neither the current behavior (no validation at the third and later) or the
proposed behavior (no validation at the second and later) are good in that sense.

My proposal has an advantage: it fixes a subset of web font printing issue.

I do agree that the proposal is a quick fix that is not very reliable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261991</commentid>
    <comment_count>14</comment_count>
      <attachid>63862</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-08 23:49:25 -0700</bug_when>
    <thetext>Created attachment 63862
Sorry, wrong patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261993</commentid>
    <comment_count>15</comment_count>
      <attachid>63862</attachid>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-08 23:52:15 -0700</bug_when>
    <thetext>Comment on attachment 63862
Sorry, wrong patch.

Uploaded to this bug by a mistake</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>261996</commentid>
    <comment_count>16</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-08-08 23:53:27 -0700</bug_when>
    <thetext>Filed a bug for web font printing issue related to caching:
https://bugs.webkit.org/show_bug.cgi?id=43704</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275602</commentid>
    <comment_count>17</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-09-07 21:50:45 -0700</bug_when>
    <thetext>Hi, Brady,

Any comments on this?

I think cache validation should happen every time, as Alexey pointed out.
(I&apos;d exclude the validations at screen/print switching time, though.
But this is a different story.)

I could understand limiting validation to only the first load for a page,
trading correctness for the performance gain, I guess.

I don&apos;t understand the current behavior, though: validation for the first
and the second load, no validation there after. What is the rationale
behind the current behavior?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292362</commentid>
    <comment_count>18</comment_count>
      <attachid>63699</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-10-10 12:47:03 -0700</bug_when>
    <thetext>Comment on attachment 63699
Patch

We need a test.  Also DocLoader.cpp =&gt; CachedResourceLoader.cpp.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>312224</commentid>
    <comment_count>19</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2010-11-21 22:29:37 -0800</bug_when>
    <thetext>I&apos;d like to release the ownership of this bug because I failed to get enough attention to my patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330602</commentid>
    <comment_count>20</comment_count>
    <who name="Yuzo Fujishima">yuzo</who>
    <bug_when>2011-01-06 18:36:02 -0800</bug_when>
    <thetext>r74807 seems to have fixed the loading behavior.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63577</attachid>
            <date>2010-08-05 05:00:35 -0700</date>
            <delta_ts>2010-08-05 19:14:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43551-20100805050033.patch</filename>
            <type>text/plain</type>
            <size>11502</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWViMzczOGNjYmZmZWI0MGZjMzg4OTVmMTQ5MjY0MzhmZjIyYjMwYi4uM2JlYmQ2YTQxM2E2YTll
NmM1MGY2ZGE4YTcyNzM5MTcwMDA0MGJjYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMC0wOC0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM1NTEgLSB3ZWIgZm9udCBpcyBy
ZWxvYWRlZCBpbiBwcmludGluZyBwYWdlIGFuZCB0aGUKKyAgICAgICAgcmVsZXZhbnQgcGFydCBj
YW4gYmVjb21lIGJsYW5rCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MzU1MQorCisgICAgICAgIFNraXAgcmV2YWxpZGF0aW5nIGNhY2hlZCBmb250cyB3
aGVuIHRoZSBmcmFtZSBpcyBqdXN0IGNoYW5naW5nIG1lZGlhIHR5cGUgYmV0d2VlbiBzY3JlZW4g
YW5kIHByaW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIHNlZW1zIHRv
IGJlIG5vIGdvb2Qgd2F5IHRvIHRlc3QgcHJpbnQgaW1hZ2VzLgorCisgICAgICAgICogbG9hZGVy
L0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGU6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL0NhY2hlZEZvbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6Q2FjaGVkRm9udCk6CisgICAgICAgICog
bG9hZGVyL0NhY2hlZEZvbnQuaDoKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNlKToKKyAg
ICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjppc0NhY2hlZEluUHJpbnRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2U6OnNldENhY2hlZEluUHJpbnRpbmcpOgorICAgICAgICAqIGxvYWRlci9Eb2NMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jTG9hZGVyOjpjaGVja0ZvclJlbG9hZCk6Cisg
ICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6RnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnNldFByaW50aW5nKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6aXNDaGFuZ2luZ01lZGlhVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c3RhcnRDaGFuZ2luZ01lZGlhVHlwZSk6CisgICAg
ICAgIChXZWJDb3JlOjpGcmFtZTo6ZW5kQ2hhbmdpbmdNZWRpYVR5cGUpOgorCiAyMDEwLTA4LTA0
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkg
RXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAgYi9XZWJD
b3JlL2xvYWRlci9DYWNoZS5jcHAKaW5kZXggNTIxZDA3NTBjYTMyYjM4YjM4NzQ5NzZhZTQ3MjVl
MGMzMmM4ZmJkOS4uMmQ4ODIyMWQwYjRhMzU2ODBiNDJmNmNmZTdmMzlkMjNlNTBmMjU5NSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0Nh
Y2hlLmNwcApAQCAtNjcsNyArNjcsNyBAQCBDYWNoZTo6Q2FjaGUoKQogewogfQogCi1zdGF0aWMg
Q2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUs
IGNvbnN0IEtVUkwmIHVybCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KQorc3RhdGljIENhY2hlZFJl
c291cmNlKiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBL
VVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCwgYm9vbCBpblByaW50aW5nKQogewogICAg
IHN3aXRjaCAodHlwZSkgewogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkltYWdlUmVzb3VyY2U6
CkBAIC03Nyw3ICs3Nyw3IEBAIHN0YXRpYyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsCiAgICAgY2FzZSBDYWNo
ZWRSZXNvdXJjZTo6U2NyaXB0OgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFNjcmlwdCh1cmwu
c3RyaW5nKCksIGNoYXJzZXQpOwogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OkZvbnRSZXNvdXJj
ZToKLSAgICAgICAgcmV0dXJuIG5ldyBDYWNoZWRGb250KHVybC5zdHJpbmcoKSk7CisgICAgICAg
IHJldHVybiBuZXcgQ2FjaGVkRm9udCh1cmwuc3RyaW5nKCksIGluUHJpbnRpbmcpOwogI2lmIEVO
QUJMRShYU0xUKQogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlhTTFN0eWxlU2hlZXQ6CiAgICAg
ICAgIHJldHVybiBuZXcgQ2FjaGVkWFNMU3R5bGVTaGVldCh1cmwuc3RyaW5nKCkpOwpAQCAtMTE5
LDcgKzExOSw3IEBAIENhY2hlZFJlc291cmNlKiBDYWNoZTo6cmVxdWVzdFJlc291cmNlKERvY0xv
YWRlciogZG9jTG9hZGVyLCBDYWNoZWRSZXNvdXJjZTo6VHlwCiAgICAgCiAgICAgaWYgKCFyZXNv
dXJjZSkgewogICAgICAgICAvLyBUaGUgcmVzb3VyY2UgZG9lcyBub3QgZXhpc3QuIENyZWF0ZSBp
dC4KLSAgICAgICAgcmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZSh0eXBlLCB1cmwsIGNoYXJzZXQp
OworICAgICAgICByZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHR5cGUsIHVybCwgY2hhcnNldCwg
ZG9jTG9hZGVyLT5kb2MoKS0+cHJpbnRpbmcoKSk7CiAgICAgICAgIEFTU0VSVChyZXNvdXJjZSk7
CiAKICAgICAgICAgLy8gUHJldGVuZCB0aGUgcmVzb3VyY2UgaXMgaW4gdGhlIGNhY2hlLCB0byBw
cmV2ZW50IGl0IGZyb20gYmVpbmcgZGVsZXRlZCBkdXJpbmcgdGhlIGxvYWQoKSBjYWxsLgpAQCAt
MTk5LDcgKzE5OSw3IEBAIHZvaWQgQ2FjaGU6OnJldmFsaWRhdGVSZXNvdXJjZShDYWNoZWRSZXNv
dXJjZSogcmVzb3VyY2UsIERvY0xvYWRlciogZG9jTG9hZGVyKQogICAgICAgICByZXR1cm47CiAg
ICAgfQogICAgIGNvbnN0IFN0cmluZyYgdXJsID0gcmVzb3VyY2UtPnVybCgpOwotICAgIENhY2hl
ZFJlc291cmNlKiBuZXdSZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHJlc291cmNlLT50eXBlKCks
IEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwpLCByZXNvdXJjZS0+ZW5jb2RpbmcoKSk7CisgICAg
Q2FjaGVkUmVzb3VyY2UqIG5ld1Jlc291cmNlID0gY3JlYXRlUmVzb3VyY2UocmVzb3VyY2UtPnR5
cGUoKSwgS1VSTChQYXJzZWRVUkxTdHJpbmcsIHVybCksIHJlc291cmNlLT5lbmNvZGluZygpLCBk
b2NMb2FkZXItPmRvYygpLT5wcmludGluZygpKTsKICAgICBuZXdSZXNvdXJjZS0+c2V0UmVzb3Vy
Y2VUb1JldmFsaWRhdGUocmVzb3VyY2UpOwogICAgIGV2aWN0KHJlc291cmNlKTsKICAgICBtX3Jl
c291cmNlcy5zZXQodXJsLCBuZXdSZXNvdXJjZSk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9DYWNoZWRGb250LmNwcCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZEZvbnQuY3BwCmluZGV4IDI3
MjE2NmU2ZDE1ZDJhZWViZGE5ODYyNmVlNmNiYjFlOWE0OTI5YWMuLjA3ZjVlZTgzZmRmMzA4NjNm
NzQwN2E0NGZiOGE1ZTQ3NjNjOTVjMTcgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hl
ZEZvbnQuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZEZvbnQuY3BwCkBAIC01NCw3ICs1
NCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotQ2FjaGVkRm9udDo6Q2FjaGVkRm9udChj
b25zdCBTdHJpbmcgJnVybCkKK0NhY2hlZEZvbnQ6OkNhY2hlZEZvbnQoY29uc3QgU3RyaW5nICZ1
cmwsIGJvb2wgaW5QcmludGluZykKICAgICA6IENhY2hlZFJlc291cmNlKHVybCwgRm9udFJlc291
cmNlKQogICAgICwgbV9mb250RGF0YSgwKQogICAgICwgbV9sb2FkSW5pdGlhdGVkKGZhbHNlKQpA
QCAtNjIsNiArNjIsOCBAQCBDYWNoZWRGb250OjpDYWNoZWRGb250KGNvbnN0IFN0cmluZyAmdXJs
KQogICAgICwgbV9pc1NWR0ZvbnQoZmFsc2UpCiAjZW5kaWYKIHsKKyAgICBpZiAoaW5QcmludGlu
ZykKKyAgICAgICAgc2V0Q2FjaGVkSW5QcmludGluZygpOwogfQogCiBDYWNoZWRGb250Ojp+Q2Fj
aGVkRm9udCgpCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmggYi9XZWJD
b3JlL2xvYWRlci9DYWNoZWRGb250LmgKaW5kZXggMDFjOGM5YzViNzNiNTUxYzhjODA1NzE0Yjgx
MjhkOGM4MzRlOTMzMy4uOWU0NWZkZjNiMzI2ODc4YmFiNDE0YjY0MTJmNTdiOTg3NTY0NDk0MSAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5oCisrKyBiL1dlYkNvcmUvbG9h
ZGVyL0NhY2hlZEZvbnQuaApAQCAtNDYsNyArNDYsNyBAQCBzdHJ1Y3QgRm9udEN1c3RvbVBsYXRm
b3JtRGF0YTsKIAogY2xhc3MgQ2FjaGVkRm9udCA6IHB1YmxpYyBDYWNoZWRSZXNvdXJjZSB7CiBw
dWJsaWM6Ci0gICAgQ2FjaGVkRm9udChjb25zdCBTdHJpbmcmIHVybCk7CisgICAgQ2FjaGVkRm9u
dChjb25zdCBTdHJpbmcmIHVybCwgYm9vbCBpblByaW50aW5nKTsKICAgICB2aXJ0dWFsIH5DYWNo
ZWRGb250KCk7CiAgICAgCiAgICAgdmlydHVhbCB2b2lkIGxvYWQoRG9jTG9hZGVyKiBkb2NMb2Fk
ZXIpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwIGIvV2Vi
Q29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCmluZGV4IDg4N2IwYjVmZGRiNTljZmM1YzZl
YmY0Yjc3ZTE2NWFmZDc3Zjg5Y2QuLmFhYjE0NTQyMjE2ZmE1Y2M0ZmVjMjg4MWU5YzZmOTkxYTgy
N2Y5ZTkgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAorKysg
Yi9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAKQEAgLTgxLDYgKzgxLDcgQEAgQ2Fj
aGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNlKGNvbnN0IFN0cmluZyYgdXJsLCBUeXBlIHR5cGUp
CiAgICAgLCBtX2RvY0xvYWRlcigwKQogICAgICwgbV9yZXNvdXJjZVRvUmV2YWxpZGF0ZSgwKQog
ICAgICwgbV9wcm94eVJlc291cmNlKDApCisgICAgLCBtX2lzQ2FjaGVkSW5QcmludGluZyhmYWxz
ZSkKIHsKICNpZm5kZWYgTkRFQlVHCiAgICAgY2FjaGVkUmVzb3VyY2VMZWFrQ291bnRlci5pbmNy
ZW1lbnQoKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmggYi9X
ZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oCmluZGV4IDRiODNhOGVmNGUzMzVmMWNkM2Zl
OGU1N2VjZGNkNDZmMzVkZTY0ZDQuLmUzMDFkZTlmNjliMTQyMWVlYzg4OGQ0NzgzOGZmOWMyZWMz
ZDU1ZjAgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmgKKysrIGIv
V2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaApAQCAtMjA3LDYgKzIwNyw4IEBAIHB1Ymxp
YzoKICAgICAvLyBiZXR0ZXIgd2F5IHRvIGhhbmRsZSB0aGUgYXJjaGl2ZSBjYXNlLgogICAgIGJv
b2wgbWFrZVB1cmdlYWJsZShib29sIHB1cmdlYWJsZSk7CiAKKyAgICBib29sIGlzQ2FjaGVkSW5Q
cmludGluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNDYWNoZWRJblByaW50aW5nOyB9CisKIHByb3Rl
Y3RlZDoKICAgICB2b2lkIHNldEVuY29kZWRTaXplKHVuc2lnbmVkKTsKICAgICB2b2lkIHNldERl
Y29kZWRTaXplKHVuc2lnbmVkKTsKQEAgLTIxNCw2ICsyMTYsOCBAQCBwcm90ZWN0ZWQ6CiAKICAg
ICBib29sIGlzU2FmZVRvTWFrZVB1cmdlYWJsZSgpIGNvbnN0OwogICAgIAorICAgIHZvaWQgc2V0
Q2FjaGVkSW5QcmludGluZygpIHsgbV9pc0NhY2hlZEluUHJpbnRpbmcgPSB0cnVlOyB9CisKICAg
ICBIYXNoQ291bnRlZFNldDxDYWNoZWRSZXNvdXJjZUNsaWVudCo+IG1fY2xpZW50czsKIAogICAg
IFN0cmluZyBtX3VybDsKQEAgLTI4NSw2ICsyODksOSBAQCBwcml2YXRlOgogCiAgICAgLy8gVGhl
c2UgaGFuZGxlcyB3aWxsIG5lZWQgdG8gYmUgdXBkYXRlZCB0byBwb2ludCB0byB0aGUgbV9yZXNv
dXJjZVRvUmV2YWxpZGF0ZSBpbiBjYXNlIHdlIGdldCAzMDQgcmVzcG9uc2UuCiAgICAgSGFzaFNl
dDxDYWNoZWRSZXNvdXJjZUhhbmRsZUJhc2UqPiBtX2hhbmRsZXNUb1JldmFsaWRhdGU7CisKKyAg
ICBib29sIG1faXNDYWNoZWRJblByaW50aW5nOworCiB9OwogCiB9CmRpZmYgLS1naXQgYS9XZWJD
b3JlL2xvYWRlci9Eb2NMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcApp
bmRleCAyZjc1ZmY5MDdlZWEwNTVlNWI5YmU0YWNkMTlmMjUxZGYxMTA2ODdhLi40ZjJhM2E2NDJh
YmIxMmFjZjA5OGFlYjk4MTdhNmU4YjM2NzcyZDNmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRl
ci9Eb2NMb2FkZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAKQEAgLTk3
LDYgKzk3LDEyIEBAIHZvaWQgRG9jTG9hZGVyOjpjaGVja0ZvclJlbG9hZChjb25zdCBLVVJMJiBm
dWxsVVJMKQogCiAgICAgc3dpdGNoIChjYWNoZVBvbGljeSgpKSB7CiAgICAgY2FzZSBDYWNoZVBv
bGljeVZlcmlmeToKKyAgICAgICAgLy8gSWYgdGhlIGZyYW1lIGlzIGp1c3QgY2hhbmdpbmcgbWVk
aWEgdHlwZSAoaW4gcHJpbnRpbmcgdGhlIHBhZ2UpLAorICAgICAgICAvLyBhbmQgdGhlIGV4aXN0
aW5nIHJlc291cmNlIGlzIGZvciBzY3JlZW4gKGkuZS4sIG5vbi1wcmludCkgbWVkaWEsCisgICAg
ICAgIC8vIHdlIHNob3VsZCBub3QgcmVsb2FkIHRoZSByZXNvdXJjZSBiZWNhdXNlIGl0IHdhcyBy
ZWZyZXNoZWQgd2hlbgorICAgICAgICAvLyB0aGUgcGFnZSB3YXMgcmVuZGVyZWQgb24gc2NyZWVu
LgorICAgICAgICBpZiAoZnJhbWUoKS0+aXNDaGFuZ2luZ01lZGlhVHlwZSgpICYmICFleGlzdGlu
Zy0+aXNDYWNoZWRJblByaW50aW5nKCkpCisgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGlm
ICghZXhpc3RpbmctPm11c3RSZXZhbGlkYXRlKENhY2hlUG9saWN5VmVyaWZ5KSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgY2FjaGUoKS0+cmV2YWxpZGF0ZVJlc291cmNlKGV4aXN0aW5n
LCB0aGlzKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9XZWJDb3JlL3Bh
Z2UvRnJhbWUuY3BwCmluZGV4IDA2Y2RkYjFmMDAzMzNjMDJiZWJhMTlmNTdiZjE1MDRiNmRmZmFi
YTcuLjUzMjMxOGE3YTFhZTU0NzkxYTU5NTJjYmFkYWFjYzliYTY5NzE3OWIgMTAwNjQ0Ci0tLSBh
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKKysrIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcApAQCAt
MTUwLDYgKzE1MCw3IEBAIGlubGluZSBGcmFtZTo6RnJhbWUoUGFnZSogcGFnZSwgSFRNTEZyYW1l
T3duZXJFbGVtZW50KiBvd25lckVsZW1lbnQsIEZyYW1lTG9hZGVyCiAgICAgLCBtX25lZWRzUmVh
cHBseVN0eWxlcyhmYWxzZSkKICAgICAsIG1faXNEaXNjb25uZWN0ZWQoZmFsc2UpCiAgICAgLCBt
X2V4Y2x1ZGVGcm9tVGV4dFNlYXJjaChmYWxzZSkKKyAgICAsIG1fY2hhbmdpbmdNZWRpYVR5cGUo
ZmFsc2UpCiB7CiAgICAgQVNTRVJUKHBhZ2UpOwogICAgIEF0b21pY1N0cmluZzo6aW5pdCgpOwpA
QCAtNjE5LDYgKzYyMCw4IEBAIHZvaWQgRnJhbWU6OnBhaW50RHJhZ0NhcmV0KEdyYXBoaWNzQ29u
dGV4dCogcCwgaW50IHR4LCBpbnQgdHksIGNvbnN0IEludFJlY3QmIGNsCiAKIHZvaWQgRnJhbWU6
OnNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZs
b2F0IG1heGltdW1TaHJpbmtSYXRpbywgQWRqdXN0Vmlld1NpemVPck5vdCBzaG91bGRBZGp1c3RW
aWV3U2l6ZSkKIHsKKyAgICBzdGFydENoYW5naW5nTWVkaWFUeXBlKCk7CisKICAgICBtX2RvYy0+
c2V0UHJpbnRpbmcocHJpbnRpbmcpOwogICAgIHZpZXcoKS0+YWRqdXN0TWVkaWFUeXBlRm9yUHJp
bnRpbmcocHJpbnRpbmcpOwogCkBAIC02MjcsNiArNjMwLDggQEAgdm9pZCBGcmFtZTo6c2V0UHJp
bnRpbmcoYm9vbCBwcmludGluZywgY29uc3QgRmxvYXRTaXplJiBwYWdlU2l6ZSwgZmxvYXQgbWF4
aW11bVMKIAogICAgIGZvciAoRnJhbWUqIGNoaWxkID0gdHJlZSgpLT5maXJzdENoaWxkKCk7IGNo
aWxkOyBjaGlsZCA9IGNoaWxkLT50cmVlKCktPm5leHRTaWJsaW5nKCkpCiAgICAgICAgIGNoaWxk
LT5zZXRQcmludGluZyhwcmludGluZywgcGFnZVNpemUsIG1heGltdW1TaHJpbmtSYXRpbywgc2hv
dWxkQWRqdXN0Vmlld1NpemUpOworCisgICAgZW5kQ2hhbmdpbmdNZWRpYVR5cGUoKTsKIH0KIAog
dm9pZCBGcmFtZTo6c2V0TmVlZHNSZWFwcGx5U3R5bGVzKCkKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGFnZS9GcmFtZS5oIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKaW5kZXggNGU1MjJjNGMyZGVkZTAx
MzFhNDEzNmM1NWFkMDUwMTQ2YTQ4ZDI5Zi4uMTNkNzY4YzRjZDNkYjRkMjczMTgzYjMxMTVlMjg1
ZWJmNDIxYTRmZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wYWdlL0ZyYW1lLmgKKysrIGIvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmgKQEAgLTEyOSw3ICsxMjksNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
ICAgICBwcml2YXRlOgogICAgICAgICB2b2lkIGluamVjdFVzZXJTY3JpcHRzRm9yV29ybGQoRE9N
V3JhcHBlcldvcmxkKiwgY29uc3QgVXNlclNjcmlwdFZlY3RvciYsIFVzZXJTY3JpcHRJbmplY3Rp
b25UaW1lKTsKLQogICAgIHByaXZhdGU6CiAgICAgICAgIEZyYW1lKFBhZ2UqLCBIVE1MRnJhbWVP
d25lckVsZW1lbnQqLCBGcmFtZUxvYWRlckNsaWVudCopOwogCkBAIC0xNDIsNiArMTQxLDkgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgICAgIGVudW0gQWRqdXN0Vmlld1NpemVPck5vdCB7
IERvTm90QWRqdXN0Vmlld1NpemUsIEFkanVzdFZpZXdTaXplIH07CiAgICAgICAgIHZvaWQgc2V0
UHJpbnRpbmcoYm9vbCBwcmludGluZywgY29uc3QgRmxvYXRTaXplJiBwYWdlU2l6ZSwgZmxvYXQg
bWF4aW11bVNocmlua1JhdGlvLCBBZGp1c3RWaWV3U2l6ZU9yTm90KTsKKyAgICAgICAgYm9vbCBp
c0NoYW5naW5nTWVkaWFUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9jaGFuZ2luZ01lZGlhVHlwZTsg
fQorICAgICAgICB2b2lkIHN0YXJ0Q2hhbmdpbmdNZWRpYVR5cGUoKSB7IG1fY2hhbmdpbmdNZWRp
YVR5cGUgPSB0cnVlOyB9CisgICAgICAgIHZvaWQgZW5kQ2hhbmdpbmdNZWRpYVR5cGUoKSB7IG1f
Y2hhbmdpbmdNZWRpYVR5cGUgPSBmYWxzZTsgfQogCiAgICAgICAgIGJvb2wgaW5WaWV3U291cmNl
TW9kZSgpIGNvbnN0OwogICAgICAgICB2b2lkIHNldEluVmlld1NvdXJjZU1vZGUoYm9vbCA9IHRy
dWUpOwpAQCAtMzQwLDYgKzM0Miw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9v
bCBtX25lZWRzUmVhcHBseVN0eWxlczsKICAgICAgICAgYm9vbCBtX2lzRGlzY29ubmVjdGVkOwog
ICAgICAgICBib29sIG1fZXhjbHVkZUZyb21UZXh0U2VhcmNoOworICAgICAgICBib29sIG1fY2hh
bmdpbmdNZWRpYVR5cGU7CiAKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgICAgICAg
IAogICAgICAgICBPd25QdHI8VGlsZWRCYWNraW5nU3RvcmU+IG1fdGlsZWRCYWNraW5nU3RvcmU7
CmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9n
CmluZGV4IDMxYjhhMGFlNDNiZjRjYTRhMTgyMDBlNmYwOWFlMzEwYjU3MTNiYzguLmQ4MTIzNTM4
MWZiOTZlODFmNmE3NzhkYmQ2MGY3ODdkNjJmMGViZjMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMv
Q2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIw
MTAtMDgtMDUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDQzNTUxIC0g
d2ViIGZvbnQgaXMgcmVsb2FkZWQgaW4gcHJpbnRpbmcgcGFnZSBhbmQgdGhlCisgICAgICAgIHJl
bGV2YW50IHBhcnQgY2FuIGJlY29tZSBibGFuaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1NTEKKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZp
ZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3CisgICAgICAgIF9zZXRQcmludGluZzptaW5p
bXVtUGFnZVdpZHRoOmhlaWdodDptYXhpbXVtUGFnZVdpZHRoOmFkanVzdFZpZXdTaXplOl0pOgor
ICAgICAgICBtYXJrIHRoZSBzdGFydCBhbmQgdGhlIGVuZCBvZiBtZWRpYSB0eXBlIGNoYW5naW5n
LgorCiAyMDEwLTA4LTAzICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgRGF2aWQgS2lsemVyLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L21h
Yy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3
Lm1tCmluZGV4IDU4Y2UxMjQ0MjFjNjM2OGY1MjUwYjAyMDIwNzgyOGQ5NzM4OWVhYzUuLjRmMDNj
OTI1NTk0NzlkN2Q1NDU2ZmY2NmJkYzAxNDg3OTExNTJiZWUgMTAwNjQ0Ci0tLSBhL1dlYktpdC9t
YWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KQEAgLTM4MjQsNiArMzgyNCwxMCBAQCBzdGF0aWMgQk9PTCBpc0luUGFzc3dvcmRG
aWVsZChGcmFtZSogY29yZUZyYW1lKQogLy8gcGFnZVdpZHRoICE9IDAgaW1wbGllcyB3ZSB3aWxs
IHJlbGF5b3V0IHRvIGEgbmV3IHdpZHRoCiAtICh2b2lkKV9zZXRQcmludGluZzooQk9PTClwcmlu
dGluZyBtaW5pbXVtUGFnZVdpZHRoOihmbG9hdCltaW5QYWdlV2lkdGggaGVpZ2h0OihmbG9hdClt
aW5QYWdlSGVpZ2h0IG1heGltdW1QYWdlV2lkdGg6KGZsb2F0KW1heFBhZ2VXaWR0aCBhZGp1c3RW
aWV3U2l6ZTooQk9PTClhZGp1c3RWaWV3U2l6ZQogeworICAgIEZyYW1lKiBjb3JlRnJhbWUgPSBj
b3JlKFtzZWxmIF9mcmFtZV0pOworICAgIGlmIChjb3JlRnJhbWUpCisgICAgICAgIGNvcmVGcmFt
ZS0+c3RhcnRDaGFuZ2luZ01lZGlhVHlwZSgpOworCiAgICAgV2ViRnJhbWUgKmZyYW1lID0gW3Nl
bGYgX2ZyYW1lXTsKICAgICBOU0FycmF5ICpzdWJmcmFtZXMgPSBbZnJhbWUgY2hpbGRGcmFtZXNd
OwogICAgIHVuc2lnbmVkIG4gPSBbc3ViZnJhbWVzIGNvdW50XTsKQEAgLTM4NTAsNiArMzg1NCw5
IEBAIHN0YXRpYyBCT09MIGlzSW5QYXNzd29yZEZpZWxkKEZyYW1lKiBjb3JlRnJhbWUpCiAgICAg
ICAgICAgICBbc2VsZiBzZXROZWVkc0Rpc3BsYXk6Tk9dOwogICAgICAgICB9CiAgICAgfQorCisg
ICAgaWYgKGNvcmVGcmFtZSkKKyAgICAgICAgY29yZUZyYW1lLT5lbmRDaGFuZ2luZ01lZGlhVHlw
ZSgpOwogfQogCiAtIChCT09MKWNhblByaW50SGVhZGVyc0FuZEZvb3RlcnMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63680</attachid>
            <date>2010-08-05 19:14:35 -0700</date>
            <delta_ts>2010-08-05 22:59:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43551-20100805191433.patch</filename>
            <type>text/plain</type>
            <size>11430</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWViMzczOGNjYmZmZWI0MGZjMzg4OTVmMTQ5MjY0MzhmZjIyYjMwYi4uMGZhYTE2NjhjNWEzYzMx
NjllMWVhNTJlNzlmNzkyZGViMmJkNzIwYyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNyBAQAorMjAxMC0wOC0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM1NTEgLSB3ZWIgZm9udCBpcyBy
ZWxvYWRlZCBpbiBwcmludGluZyBwYWdlIGFuZCB0aGUKKyAgICAgICAgcmVsZXZhbnQgcGFydCBj
YW4gYmVjb21lIGJsYW5rCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MzU1MQorCisgICAgICAgIFNraXAgcmV2YWxpZGF0aW5nIGNhY2hlZCBmb250cyB3
aGVuIHRoZSBmcmFtZSBpcyBqdXN0IGNoYW5naW5nIG1lZGlhIHR5cGUgYmV0d2VlbiBzY3JlZW4g
YW5kIHByaW50LgorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIHNlZW1zIHRv
IGJlIG5vIGdvb2Qgd2F5IHRvIHRlc3QgcHJpbnQgaW1hZ2VzLgorCisgICAgICAgICogbG9hZGVy
L0NhY2hlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNyZWF0ZVJlc291cmNlKToKKyAgICAgICAg
KFdlYkNvcmU6OkNhY2hlOjpyZXF1ZXN0UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2Fj
aGU6OnJldmFsaWRhdGVSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL0NhY2hlZEZvbnQuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkRm9udDo6Q2FjaGVkRm9udCk6CisgICAgICAgICog
bG9hZGVyL0NhY2hlZEZvbnQuaDoKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OkNhY2hlZFJlc291cmNlKToKKyAg
ICAgICAgKiBsb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNhY2hl
ZFJlc291cmNlOjppc0NhY2hlZEluUHJpbnRpbmcpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGVk
UmVzb3VyY2U6OnNldENhY2hlZEluUHJpbnRpbmcpOgorICAgICAgICAqIGxvYWRlci9Eb2NMb2Fk
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RG9jTG9hZGVyOjpjaGVja0ZvclJlbG9hZCk6Cisg
ICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6RnJhbWUp
OgorICAgICAgICAoV2ViQ29yZTo6RnJhbWU6OnNldFByaW50aW5nKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6aXNDaGFuZ2luZ01lZGlhVHlwZSk6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFya2VyOjpGcmFtZU1l
ZGlhVHlwZUNoYW5naW5nTWFya2VyKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTWVkaWFUeXBl
Q2hhbmdpbmdNYXJrZXI6On5GcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFya2VyKToKKwogMjAxMC0w
OC0wNCAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwIGIv
V2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCmluZGV4IDUyMWQwNzUwY2EzMmIzOGIzODc0OTc2YWU0
NzI1ZTBjMzJjOGZiZDkuLjJkODgyMjFkMGI0YTM1NjgwYjQyZjZjZmU3ZjM5ZDIzZTUwZjI1OTUg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlLmNwcAorKysgYi9XZWJDb3JlL2xvYWRl
ci9DYWNoZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgQ2FjaGU6OkNhY2hlKCkKIHsKIH0KIAotc3Rh
dGljIENhY2hlZFJlc291cmNlKiBjcmVhdGVSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0
eXBlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmluZyYgY2hhcnNldCkKK3N0YXRpYyBDYWNo
ZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2U6OlR5cGUgdHlwZSwgY29u
c3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNoYXJzZXQsIGJvb2wgaW5QcmludGluZykKIHsK
ICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpJbWFnZVJlc291
cmNlOgpAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgQ2FjaGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291
cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNvbnN0IEtVUkwmIHVybAogICAgIGNhc2Ug
Q2FjaGVkUmVzb3VyY2U6OlNjcmlwdDoKICAgICAgICAgcmV0dXJuIG5ldyBDYWNoZWRTY3JpcHQo
dXJsLnN0cmluZygpLCBjaGFyc2V0KTsKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpGb250UmVz
b3VyY2U6Ci0gICAgICAgIHJldHVybiBuZXcgQ2FjaGVkRm9udCh1cmwuc3RyaW5nKCkpOworICAg
ICAgICByZXR1cm4gbmV3IENhY2hlZEZvbnQodXJsLnN0cmluZygpLCBpblByaW50aW5nKTsKICNp
ZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJlc291cmNlOjpYU0xTdHlsZVNoZWV0Ogog
ICAgICAgICByZXR1cm4gbmV3IENhY2hlZFhTTFN0eWxlU2hlZXQodXJsLnN0cmluZygpKTsKQEAg
LTExOSw3ICsxMTksNyBAQCBDYWNoZWRSZXNvdXJjZSogQ2FjaGU6OnJlcXVlc3RSZXNvdXJjZShE
b2NMb2FkZXIqIGRvY0xvYWRlciwgQ2FjaGVkUmVzb3VyY2U6OlR5cAogICAgIAogICAgIGlmICgh
cmVzb3VyY2UpIHsKICAgICAgICAgLy8gVGhlIHJlc291cmNlIGRvZXMgbm90IGV4aXN0LiBDcmVh
dGUgaXQuCi0gICAgICAgIHJlc291cmNlID0gY3JlYXRlUmVzb3VyY2UodHlwZSwgdXJsLCBjaGFy
c2V0KTsKKyAgICAgICAgcmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZSh0eXBlLCB1cmwsIGNoYXJz
ZXQsIGRvY0xvYWRlci0+ZG9jKCktPnByaW50aW5nKCkpOwogICAgICAgICBBU1NFUlQocmVzb3Vy
Y2UpOwogCiAgICAgICAgIC8vIFByZXRlbmQgdGhlIHJlc291cmNlIGlzIGluIHRoZSBjYWNoZSwg
dG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGRlbGV0ZWQgZHVyaW5nIHRoZSBsb2FkKCkgY2FsbC4K
QEAgLTE5OSw3ICsxOTksNyBAQCB2b2lkIENhY2hlOjpyZXZhbGlkYXRlUmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2UqIHJlc291cmNlLCBEb2NMb2FkZXIqIGRvY0xvYWRlcikKICAgICAgICAgcmV0dXJu
OwogICAgIH0KICAgICBjb25zdCBTdHJpbmcmIHVybCA9IHJlc291cmNlLT51cmwoKTsKLSAgICBD
YWNoZWRSZXNvdXJjZSogbmV3UmVzb3VyY2UgPSBjcmVhdGVSZXNvdXJjZShyZXNvdXJjZS0+dHlw
ZSgpLCBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKSwgcmVzb3VyY2UtPmVuY29kaW5nKCkpOwor
ICAgIENhY2hlZFJlc291cmNlKiBuZXdSZXNvdXJjZSA9IGNyZWF0ZVJlc291cmNlKHJlc291cmNl
LT50eXBlKCksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1cmwpLCByZXNvdXJjZS0+ZW5jb2Rpbmco
KSwgZG9jTG9hZGVyLT5kb2MoKS0+cHJpbnRpbmcoKSk7CiAgICAgbmV3UmVzb3VyY2UtPnNldFJl
c291cmNlVG9SZXZhbGlkYXRlKHJlc291cmNlKTsKICAgICBldmljdChyZXNvdXJjZSk7CiAgICAg
bV9yZXNvdXJjZXMuc2V0KHVybCwgbmV3UmVzb3VyY2UpOwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9s
b2FkZXIvQ2FjaGVkRm9udC5jcHAgYi9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmNwcAppbmRl
eCAyNzIxNjZlNmQxNWQyYWVlYmRhOTg2MjZlZTZjYmIxZTlhNDkyOWFjLi4wN2Y1ZWU4M2ZkZjMw
ODYzZjc0MDdhNDRmYjhhNWU0NzYzYzk1YzE3IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9D
YWNoZWRGb250LmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmNwcApAQCAtNTQs
NyArNTQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNhY2hlZEZvbnQ6OkNhY2hlZEZv
bnQoY29uc3QgU3RyaW5nICZ1cmwpCitDYWNoZWRGb250OjpDYWNoZWRGb250KGNvbnN0IFN0cmlu
ZyAmdXJsLCBib29sIGluUHJpbnRpbmcpCiAgICAgOiBDYWNoZWRSZXNvdXJjZSh1cmwsIEZvbnRS
ZXNvdXJjZSkKICAgICAsIG1fZm9udERhdGEoMCkKICAgICAsIG1fbG9hZEluaXRpYXRlZChmYWxz
ZSkKQEAgLTYyLDYgKzYyLDggQEAgQ2FjaGVkRm9udDo6Q2FjaGVkRm9udChjb25zdCBTdHJpbmcg
JnVybCkKICAgICAsIG1faXNTVkdGb250KGZhbHNlKQogI2VuZGlmCiB7CisgICAgaWYgKGluUHJp
bnRpbmcpCisgICAgICAgIHNldENhY2hlZEluUHJpbnRpbmcoKTsKIH0KIAogQ2FjaGVkRm9udDo6
fkNhY2hlZEZvbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5oIGIv
V2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5oCmluZGV4IDAxYzhjOWM1YjczYjU1MWM4YzgwNTcx
NGI4MTI4ZDhjODM0ZTkzMzMuLjllNDVmZGYzYjMyNjg3OGJhYjQxNGI2NDEyZjU3Yjk4NzU2NDQ5
NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZEZvbnQuaAorKysgYi9XZWJDb3Jl
L2xvYWRlci9DYWNoZWRGb250LmgKQEAgLTQ2LDcgKzQ2LDcgQEAgc3RydWN0IEZvbnRDdXN0b21Q
bGF0Zm9ybURhdGE7CiAKIGNsYXNzIENhY2hlZEZvbnQgOiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2Ug
ewogcHVibGljOgotICAgIENhY2hlZEZvbnQoY29uc3QgU3RyaW5nJiB1cmwpOworICAgIENhY2hl
ZEZvbnQoY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaW5QcmludGluZyk7CiAgICAgdmlydHVhbCB+
Q2FjaGVkRm9udCgpOwogICAgIAogICAgIHZpcnR1YWwgdm9pZCBsb2FkKERvY0xvYWRlciogZG9j
TG9hZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcCBi
L1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNwcAppbmRleCA4ODdiMGI1ZmRkYjU5Y2Zj
NWM2ZWJmNGI3N2UxNjVhZmQ3N2Y4OWNkLi5hYWIxNDU0MjIxNmZhNWNjNGZlYzI4ODFlOWM2Zjk5
MWE4MjdmOWU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5jcHAK
KysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuY3BwCkBAIC04MSw2ICs4MSw3IEBA
IENhY2hlZFJlc291cmNlOjpDYWNoZWRSZXNvdXJjZShjb25zdCBTdHJpbmcmIHVybCwgVHlwZSB0
eXBlKQogICAgICwgbV9kb2NMb2FkZXIoMCkKICAgICAsIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUo
MCkKICAgICAsIG1fcHJveHlSZXNvdXJjZSgwKQorICAgICwgbV9pc0NhY2hlZEluUHJpbnRpbmco
ZmFsc2UpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIGNhY2hlZFJlc291cmNlTGVha0NvdW50ZXIu
aW5jcmVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5o
IGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2UuaAppbmRleCA0YjgzYThlZjRlMzM1ZjFj
ZDNmZThlNTdlY2RjZDQ2ZjM1ZGU2NGQ0Li5lMzAxZGU5ZjY5YjE0MjFlZWM4ODhkNDc4MzhmZjlj
MmVjM2Q1NWYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oCisr
KyBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmgKQEAgLTIwNyw2ICsyMDcsOCBAQCBw
dWJsaWM6CiAgICAgLy8gYmV0dGVyIHdheSB0byBoYW5kbGUgdGhlIGFyY2hpdmUgY2FzZS4KICAg
ICBib29sIG1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFibGUpOwogCisgICAgYm9vbCBpc0NhY2hl
ZEluUHJpbnRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzQ2FjaGVkSW5QcmludGluZzsgfQorCiBw
cm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRFbmNvZGVkU2l6ZSh1bnNpZ25lZCk7CiAgICAgdm9pZCBz
ZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCk7CkBAIC0yMTQsNiArMjE2LDggQEAgcHJvdGVjdGVkOgog
CiAgICAgYm9vbCBpc1NhZmVUb01ha2VQdXJnZWFibGUoKSBjb25zdDsKICAgICAKKyAgICB2b2lk
IHNldENhY2hlZEluUHJpbnRpbmcoKSB7IG1faXNDYWNoZWRJblByaW50aW5nID0gdHJ1ZTsgfQor
CiAgICAgSGFzaENvdW50ZWRTZXQ8Q2FjaGVkUmVzb3VyY2VDbGllbnQqPiBtX2NsaWVudHM7CiAK
ICAgICBTdHJpbmcgbV91cmw7CkBAIC0yODUsNiArMjg5LDkgQEAgcHJpdmF0ZToKIAogICAgIC8v
IFRoZXNlIGhhbmRsZXMgd2lsbCBuZWVkIHRvIGJlIHVwZGF0ZWQgdG8gcG9pbnQgdG8gdGhlIG1f
cmVzb3VyY2VUb1JldmFsaWRhdGUgaW4gY2FzZSB3ZSBnZXQgMzA0IHJlc3BvbnNlLgogICAgIEhh
c2hTZXQ8Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKj4gbV9oYW5kbGVzVG9SZXZhbGlkYXRlOwor
CisgICAgYm9vbCBtX2lzQ2FjaGVkSW5QcmludGluZzsKKwogfTsKIAogfQpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5j
cHAKaW5kZXggMmY3NWZmOTA3ZWVhMDU1ZTViOWJlNGFjZDE5ZjI1MWRmMTEwNjg3YS4uNGYyYTNh
NjQyYWJiMTJhY2YwOThhZWI5ODE3YTZlOGIzNjc3MmQzZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9s
b2FkZXIvRG9jTG9hZGVyLmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9Eb2NMb2FkZXIuY3BwCkBA
IC05Nyw2ICs5NywxMiBAQCB2b2lkIERvY0xvYWRlcjo6Y2hlY2tGb3JSZWxvYWQoY29uc3QgS1VS
TCYgZnVsbFVSTCkKIAogICAgIHN3aXRjaCAoY2FjaGVQb2xpY3koKSkgewogICAgIGNhc2UgQ2Fj
aGVQb2xpY3lWZXJpZnk6CisgICAgICAgIC8vIElmIHRoZSBmcmFtZSBpcyBqdXN0IGNoYW5naW5n
IG1lZGlhIHR5cGUgKGluIHByaW50aW5nIHRoZSBwYWdlKSwKKyAgICAgICAgLy8gYW5kIHRoZSBl
eGlzdGluZyByZXNvdXJjZSBpcyBmb3Igc2NyZWVuIChpLmUuLCBub24tcHJpbnQpIG1lZGlhLAor
ICAgICAgICAvLyB3ZSBzaG91bGQgbm90IHJlbG9hZCB0aGUgcmVzb3VyY2UgYmVjYXVzZSBpdCB3
YXMgcmVmcmVzaGVkIHdoZW4KKyAgICAgICAgLy8gdGhlIHBhZ2Ugd2FzIHJlbmRlcmVkIG9uIHNj
cmVlbi4KKyAgICAgICAgaWYgKGZyYW1lKCktPmlzQ2hhbmdpbmdNZWRpYVR5cGUoKSAmJiAhZXhp
c3RpbmctPmlzQ2FjaGVkSW5QcmludGluZygpKQorICAgICAgICAgICAgcmV0dXJuOwogICAgICAg
ICBpZiAoIWV4aXN0aW5nLT5tdXN0UmV2YWxpZGF0ZShDYWNoZVBvbGljeVZlcmlmeSkpCiAgICAg
ICAgICAgICByZXR1cm47CiAgICAgICAgIGNhY2hlKCktPnJldmFsaWRhdGVSZXNvdXJjZShleGlz
dGluZywgdGhpcyk7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwIGIvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAwNmNkZGIxZjAwMzMzYzAyYmViYTE5ZjU3YmYxNTA0YjZk
ZmZhYmE3Li40YzJkMzZmZjFmMGM5NDVmZGI2OTM5YWUxMTU3YTViMWM4MjdiM2EwIDEwMDY0NAot
LS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAK
QEAgLTE1MCw2ICsxNTAsNyBAQCBpbmxpbmUgRnJhbWU6OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxG
cmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LCBGcmFtZUxvYWRlcgogICAgICwgbV9uZWVk
c1JlYXBwbHlTdHlsZXMoZmFsc2UpCiAgICAgLCBtX2lzRGlzY29ubmVjdGVkKGZhbHNlKQogICAg
ICwgbV9leGNsdWRlRnJvbVRleHRTZWFyY2goZmFsc2UpCisgICAgLCBtX2NoYW5naW5nTWVkaWFU
eXBlKGZhbHNlKQogewogICAgIEFTU0VSVChwYWdlKTsKICAgICBBdG9taWNTdHJpbmc6OmluaXQo
KTsKQEAgLTYxOSw2ICs2MjAsOCBAQCB2b2lkIEZyYW1lOjpwYWludERyYWdDYXJldChHcmFwaGlj
c0NvbnRleHQqIHAsIGludCB0eCwgaW50IHR5LCBjb25zdCBJbnRSZWN0JiBjbAogCiB2b2lkIEZy
YW1lOjpzZXRQcmludGluZyhib29sIHByaW50aW5nLCBjb25zdCBGbG9hdFNpemUmIHBhZ2VTaXpl
LCBmbG9hdCBtYXhpbXVtU2hyaW5rUmF0aW8sIEFkanVzdFZpZXdTaXplT3JOb3Qgc2hvdWxkQWRq
dXN0Vmlld1NpemUpCiB7CisgICAgRnJhbWVNZWRpYVR5cGVDaGFuZ2luZ01hcmtlciBtYXJrZXIo
dGhpcyk7CisKICAgICBtX2RvYy0+c2V0UHJpbnRpbmcocHJpbnRpbmcpOwogICAgIHZpZXcoKS0+
YWRqdXN0TWVkaWFUeXBlRm9yUHJpbnRpbmcocHJpbnRpbmcpOwogCmRpZmYgLS1naXQgYS9XZWJD
b3JlL3BhZ2UvRnJhbWUuaCBiL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDRlNTIyYzRjMmRl
ZGUwMTMxYTQxMzZjNTVhZDA1MDE0NmE0OGQyOWYuLjRjNGIyZTE1YWQ4MzM1ZmUxNGJhZmQxMTQ2
ZTA4NjZiZGU5OGYzZDYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1dl
YkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xMjksNyArMTI5LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBpbmplY3RVc2VyU2NyaXB0c0Zvcldvcmxk
KERPTVdyYXBwZXJXb3JsZCosIGNvbnN0IFVzZXJTY3JpcHRWZWN0b3ImLCBVc2VyU2NyaXB0SW5q
ZWN0aW9uVGltZSk7Ci0KICAgICBwcml2YXRlOgogICAgICAgICBGcmFtZShQYWdlKiwgSFRNTEZy
YW1lT3duZXJFbGVtZW50KiwgRnJhbWVMb2FkZXJDbGllbnQqKTsKIApAQCAtMTQyLDYgKzE0MSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAgICBlbnVtIEFkanVzdFZpZXdTaXplT3JO
b3QgeyBEb05vdEFkanVzdFZpZXdTaXplLCBBZGp1c3RWaWV3U2l6ZSB9OwogICAgICAgICB2b2lk
IHNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZs
b2F0IG1heGltdW1TaHJpbmtSYXRpbywgQWRqdXN0Vmlld1NpemVPck5vdCk7CisgICAgICAgIGJv
b2wgaXNDaGFuZ2luZ01lZGlhVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fY2hhbmdpbmdNZWRpYVR5
cGU7IH0KIAogICAgICAgICBib29sIGluVmlld1NvdXJjZU1vZGUoKSBjb25zdDsKICAgICAgICAg
dm9pZCBzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgPSB0cnVlKTsKQEAgLTM0MCwxMCArMzQwLDMy
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgYm9vbCBtX25lZWRzUmVhcHBseVN0eWxl
czsKICAgICAgICAgYm9vbCBtX2lzRGlzY29ubmVjdGVkOwogICAgICAgICBib29sIG1fZXhjbHVk
ZUZyb21UZXh0U2VhcmNoOworICAgICAgICBib29sIG1fY2hhbmdpbmdNZWRpYVR5cGU7CiAKICNp
ZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgICAgICAgIAogICAgICAgICBPd25QdHI8VGls
ZWRCYWNraW5nU3RvcmU+IG1fdGlsZWRCYWNraW5nU3RvcmU7CiAjZW5kaWYKKworICAgICAgICBm
cmllbmQgY2xhc3MgRnJhbWVNZWRpYVR5cGVDaGFuZ2luZ01hcmtlcjsKKyAgICB9OworCisgICAg
Ly8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoaXMgY2xhc3MgYW5kIGtlZXAgaXQgYWxpdmUgd2hp
bGUgeW91IGFyZQorICAgIC8vIGNoYW5naW5nIG1lZGlhIHR5cGUgZm9yIHRoZSBmcmFtZS4KKyAg
ICBjbGFzcyBGcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFya2VyIHsKKyAgICBwdWJsaWM6CisgICAg
ICAgIEZyYW1lTWVkaWFUeXBlQ2hhbmdpbmdNYXJrZXIoRnJhbWUqIGZyYW1lKSA6IG1fZnJhbWUo
ZnJhbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmIChtX2ZyYW1lKQorICAgICAgICAgICAg
ICAgIG1fZnJhbWUtPiBtX2NoYW5naW5nTWVkaWFUeXBlID0gdHJ1ZTsKKyAgICAgICAgfQorCisg
ICAgICAgIH5GcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFya2VyKCkKKyAgICAgICAgeworICAgICAg
ICAgICAgaWYgKG1fZnJhbWUpCisgICAgICAgICAgICAgICAgbV9mcmFtZS0+IG1fY2hhbmdpbmdN
ZWRpYVR5cGUgPSBmYWxzZTsKKyAgICAgICAgfQorICAgIHByaXZhdGU6CisgICAgICAgIEZyYW1l
KiBtX2ZyYW1lOwogICAgIH07CiAKICAgICBpbmxpbmUgdm9pZCBGcmFtZTo6aW5pdCgpCmRpZmYg
LS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4
IDMxYjhhMGFlNDNiZjRjYTRhMTgyMDBlNmYwOWFlMzEwYjU3MTNiYzguLjc4NzM2MGU0NzQzZDk2
NjY4N2I1MjFlNjUwZDliYjgzYjViMjgzN2UgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdl
TG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMDgt
MDUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZpeCBmb3IgQnVnIDQzNTUxIC0gd2ViIGZv
bnQgaXMgcmVsb2FkZWQgaW4gcHJpbnRpbmcgcGFnZSBhbmQgdGhlCisgICAgICAgIHJlbGV2YW50
IHBhcnQgY2FuIGJlY29tZSBibGFuaworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NDM1NTEKKworICAgICAgICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06
CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9zZXRQcmludGluZzptaW5pbXVtUGFnZVdpZHRoOmhl
aWdodDptYXhpbXVtUGFnZVdpZHRoOmFkanVzdFZpZXdTaXplOl0pOgorICAgICAgICBtYXJrIHRo
ZSBzdGFydCBhbmQgdGhlIGVuZCBvZiBtZWRpYSB0eXBlIGNoYW5nZS4KKwogMjAxMC0wOC0wMyAg
Sm9zZXBoIFBlY29yYXJvICA8am9lcGVja0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhdmlkIEtpbHplci4KZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1M
Vmlldy5tbSBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQppbmRleCA1OGNlMTI0
NDIxYzYzNjhmNTI1MGIwMjAyMDc4MjhkOTczODllYWM1Li4xNmE3YTkxMTJiN2E3MjhlNGY3OTdk
NTVhODk1ZTY1OTIyNzEzYTFmIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2ViSFRN
TFZpZXcubW0KKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tCkBAIC0zODI0
LDYgKzM4MjQsOCBAQCBzdGF0aWMgQk9PTCBpc0luUGFzc3dvcmRGaWVsZChGcmFtZSogY29yZUZy
YW1lKQogLy8gcGFnZVdpZHRoICE9IDAgaW1wbGllcyB3ZSB3aWxsIHJlbGF5b3V0IHRvIGEgbmV3
IHdpZHRoCiAtICh2b2lkKV9zZXRQcmludGluZzooQk9PTClwcmludGluZyBtaW5pbXVtUGFnZVdp
ZHRoOihmbG9hdCltaW5QYWdlV2lkdGggaGVpZ2h0OihmbG9hdCltaW5QYWdlSGVpZ2h0IG1heGlt
dW1QYWdlV2lkdGg6KGZsb2F0KW1heFBhZ2VXaWR0aCBhZGp1c3RWaWV3U2l6ZTooQk9PTClhZGp1
c3RWaWV3U2l6ZQogeworICAgIEZyYW1lTWVkaWFUeXBlQ2hhbmdpbmdNYXJrZXIgbWFya2VyKGNv
cmUoW3NlbGYgX2ZyYW1lXSkpOworCiAgICAgV2ViRnJhbWUgKmZyYW1lID0gW3NlbGYgX2ZyYW1l
XTsKICAgICBOU0FycmF5ICpzdWJmcmFtZXMgPSBbZnJhbWUgY2hpbGRGcmFtZXNdOwogICAgIHVu
c2lnbmVkIG4gPSBbc3ViZnJhbWVzIGNvdW50XTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63695</attachid>
            <date>2010-08-05 22:59:57 -0700</date>
            <delta_ts>2010-08-05 23:33:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43551-20100805225955.patch</filename>
            <type>text/plain</type>
            <size>3850</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWViMzczOGNjYmZmZWI0MGZjMzg4OTVmMTQ5MjY0MzhmZjIyYjMwYi4uOWViZTZkNjQ5NWMwYTE5
YzEyZTBmOTEyYzQyM2ViZWQxMTA2NDI2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAorMjAxMC0wOC0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM1NTEgLSB3ZWIgZm9udCBpcyBy
ZWxvYWRlZCBpbiBwcmludGluZyBwYWdlIGFuZCB0aGUKKyAgICAgICAgcmVsZXZhbnQgcGFydCBj
YW4gYmVjb21lIGJsYW5rCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD00MzU1MQorCisgICAgICAgIE5vIG5ldyB0ZXN0cyBiZWNhdXNlIHRoZXJlIHNlZW1z
IHRvIGJlIG5vIGVhc3kgd2F5IHRvIHRlc3QgcHJpbnQgaW1hZ2VzLgorCisgICAgICAgICogbG9h
ZGVyL0RvY0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2NMb2FkZXI6OmNoZWNrRm9y
UmVsb2FkKToKKyAgICAgICAgKFdlYkNvcmU6OkRvY0xvYWRlcjo6cmVxdWVzdFJlc291cmNlKToK
KyAgICAgICAgKiBsb2FkZXIvRG9jTG9hZGVyLmg6CisKIDIwMTAtMDgtMDQgIEFkYW0gQmFydGgg
IDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4K
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAgYi9XZWJDb3JlL2xvYWRl
ci9Eb2NMb2FkZXIuY3BwCmluZGV4IDJmNzVmZjkwN2VlYTA1NWU1YjliZTRhY2QxOWYyNTFkZjEx
MDY4N2EuLjVlM2ZjMDcxNDA0NzczM2I3ZWU4NWI2ODdkZjUwNTYzYTg2Njg2MDMgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvRG9j
TG9hZGVyLmNwcApAQCAtODAsMzAgKzgwLDMwIEBAIEZyYW1lKiBEb2NMb2FkZXI6OmZyYW1lKCkg
Y29uc3QKICAgICByZXR1cm4gbV9kb2MtPmZyYW1lKCk7CiB9CiAKLXZvaWQgRG9jTG9hZGVyOjpj
aGVja0ZvclJlbG9hZChjb25zdCBLVVJMJiBmdWxsVVJMKQorYm9vbCBEb2NMb2FkZXI6OmNoZWNr
Rm9yUmVsb2FkKGNvbnN0IEtVUkwmIGZ1bGxVUkwpCiB7CiAgICAgaWYgKG1fYWxsb3dTdGFsZVJl
c291cmNlcykKLSAgICAgICAgcmV0dXJuOyAvLyBEb24ndCByZWxvYWQgcmVzb3VyY2VzIHdoaWxl
IHBhc3RpbmcKKyAgICAgICAgcmV0dXJuIGZhbHNlOyAvLyBEb24ndCByZWxvYWQgcmVzb3VyY2Vz
IHdoaWxlIHBhc3RpbmcKIAogICAgIGlmIChmdWxsVVJMLmlzRW1wdHkoKSkKLSAgICAgICAgcmV0
dXJuOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgaWYgKG1fcmVsb2FkZWRVUkxz
LmNvbnRhaW5zKGZ1bGxVUkwuc3RyaW5nKCkpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAKICAgICBDYWNoZWRSZXNvdXJjZSogZXhpc3RpbmcgPSBjYWNoZSgp
LT5yZXNvdXJjZUZvclVSTChmdWxsVVJMLnN0cmluZygpKTsKICAgICBpZiAoIWV4aXN0aW5nIHx8
IGV4aXN0aW5nLT5pc1ByZWxvYWRlZCgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biB0cnVlOwogCiAgICAgc3dpdGNoIChjYWNoZVBvbGljeSgpKSB7CiAgICAgY2FzZSBDYWNoZVBv
bGljeVZlcmlmeToKICAgICAgICAgaWYgKCFleGlzdGluZy0+bXVzdFJldmFsaWRhdGUoQ2FjaGVQ
b2xpY3lWZXJpZnkpKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0dXJuIHRy
dWU7CiAgICAgICAgIGNhY2hlKCktPnJldmFsaWRhdGVSZXNvdXJjZShleGlzdGluZywgdGhpcyk7
CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVQb2xpY3lDYWNoZToKICAgICAgICAgaWYg
KCFleGlzdGluZy0+bXVzdFJldmFsaWRhdGUoQ2FjaGVQb2xpY3lDYWNoZSkpCi0gICAgICAgICAg
ICByZXR1cm47CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgY2FjaGUoKS0+cmV2
YWxpZGF0ZVJlc291cmNlKGV4aXN0aW5nLCB0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2Fz
ZSBDYWNoZVBvbGljeVJlbG9hZDoKQEAgLTExMywxMCArMTEzLDEwIEBAIHZvaWQgRG9jTG9hZGVy
OjpjaGVja0ZvclJlbG9hZChjb25zdCBLVVJMJiBmdWxsVVJMKQogICAgICAgICBjYWNoZSgpLT5y
ZXZhbGlkYXRlUmVzb3VyY2UoZXhpc3RpbmcsIHRoaXMpOwogICAgICAgICBicmVhazsKICAgICBj
YXNlIENhY2hlUG9saWN5QWxsb3dTdGFsZToKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1
cm4gZmFsc2U7CiAgICAgfQogCi0gICAgbV9yZWxvYWRlZFVSTHMuYWRkKGZ1bGxVUkwuc3RyaW5n
KCkpOworICAgIHJldHVybiB0cnVlOwogfQogCiBDYWNoZWRJbWFnZSogRG9jTG9hZGVyOjpyZXF1
ZXN0SW1hZ2UoY29uc3QgU3RyaW5nJiB1cmwpCkBAIC0yNjcsNyArMjY3LDcgQEAgQ2FjaGVkUmVz
b3VyY2UqIERvY0xvYWRlcjo6cmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5
cGUsIGNvbnN0IFN0cmkKICAgICAgICAgfQogICAgIH0KIAotICAgIGNoZWNrRm9yUmVsb2FkKGZ1
bGxVUkwpOworICAgIGJvb2wgbWFya0FzUmVsb2FkZWQgPSBjaGVja0ZvclJlbG9hZChmdWxsVVJM
KTsKIAogICAgIENhY2hlZFJlc291cmNlKiByZXNvdXJjZSA9IGNhY2hlKCktPnJlcXVlc3RSZXNv
dXJjZSh0aGlzLCB0eXBlLCBmdWxsVVJMLCBjaGFyc2V0LCBpc1ByZWxvYWQpOwogICAgIGlmIChy
ZXNvdXJjZSkgewpAQCAtMjc4LDYgKzI3OCw4IEBAIENhY2hlZFJlc291cmNlKiBEb2NMb2FkZXI6
OnJlcXVlc3RSZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBTdHJpCiAK
ICAgICAgICAgbV9kb2N1bWVudFJlc291cmNlcy5zZXQocmVzb3VyY2UtPnVybCgpLCByZXNvdXJj
ZSk7CiAgICAgICAgIGNoZWNrQ2FjaGVPYmplY3RTdGF0dXMocmVzb3VyY2UpOworICAgICAgICBp
ZiAobWFya0FzUmVsb2FkZWQpCisgICAgICAgICAgICBtX3JlbG9hZGVkVVJMcy5hZGQoZnVsbFVS
TC5zdHJpbmcoKSk7CiAgICAgfQogICAgIHJldHVybiByZXNvdXJjZTsKIH0KZGlmZiAtLWdpdCBh
L1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5oIGIvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmgK
aW5kZXggMmU4ODc5N2Q3ZmZhYTE4N2QwZGVmNDUzZjMwYzBhYTQ4OTIzNzM4Zi4uMTE1NDFmZWEx
M2MzZGE4YjQ4Njc4ZmYzMDhjODkyMzRkMDJkNDQxYiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2Fk
ZXIvRG9jTG9hZGVyLmgKKysrIGIvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmgKQEAgLTEwOCw3
ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIENhY2hlZFJlc291cmNlKiByZXF1ZXN0UmVzb3VyY2Uo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNo
YXJzZXQsIGJvb2wgaXNQcmVsb2FkID0gZmFsc2UpOwogICAgIHZvaWQgcmVxdWVzdFByZWxvYWQo
Q2FjaGVkUmVzb3VyY2U6OlR5cGUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBTdHJpbmcmIGNo
YXJzZXQpOwogCi0gICAgdm9pZCBjaGVja0ZvclJlbG9hZChjb25zdCBLVVJMJik7CisgICAgYm9v
bCBjaGVja0ZvclJlbG9hZChjb25zdCBLVVJMJik7CiAgICAgdm9pZCBjaGVja0NhY2hlT2JqZWN0
U3RhdHVzKENhY2hlZFJlc291cmNlKik7CiAgICAgYm9vbCBjYW5SZXF1ZXN0KENhY2hlZFJlc291
cmNlOjpUeXBlLCBjb25zdCBLVVJMJik7CiAgICAgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63699</attachid>
            <date>2010-08-05 23:33:40 -0700</date>
            <delta_ts>2010-10-10 12:47:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-43551-20100805233338.patch</filename>
            <type>text/plain</type>
            <size>4736</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
MWViMzczOGNjYmZmZWI0MGZjMzg4OTVmMTQ5MjY0MzhmZjIyYjMwYi4uYWEwZjU3NTU1YWEzZTJh
YWIwNjlhZjM1ZDQ4MTBmOTliNzk3YzlkMiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMC0wOC0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM1NTEgLSB3ZWIgZm9udCBpcyBy
ZWxvYWRlZCBpbiBwcmludGluZyBwYWdlIGFuZCB0aGUKKyAgICAgICAgcmVsZXZhbnQgcGFydCBj
YW4gYmVjb21lIGJsYW5rCisKKyAgICAgICAgQ3VycmVudGx5LCByZXNvdXJjZSBjYWNoZSB2YWxp
ZGF0aW9uIGlzIGRvbmUgZm9yIHRoZSBmaXJzdCBhbmQgdGhlCisgICAgICAgIHNlY29uZCB0aW1l
IGEgcmVzb3VyY2UgaXMgdG8gYmUgbG9hZGVkLiAoTm8gdmFsaWRhdGlvbiBpcyBkb25lIGZvciB0
aGUKKyAgICAgICAgdGhpcmQgdGltZSBhbmQgbGF0ZXIuKQorCisgICAgICAgIEluIHByaW50aW5n
IGEgcGFnZSwgYSB3ZWIgZm9udCBpcyB0byBiZSBsb2FkZWQgZm9yIHRoZSBzZWNvbmQgdGltZS4g
SWYKKyAgICAgICAgdGhlIGNhY2hlIHBvbGljeSBkaXNhbGxvd3MgcmV1c2luZyB0aGUgY2FjaGVk
IG9uZSwgdGhlIHdlYiBmb250IGlzCisgICAgICAgIGxvYWRlZCBhZ2Fpbi4gSWYgdGhlIGxvYWRp
bmcgdGFrZXMgdGltZSwgc2F5LCBzZWNvbmRzLCB0aGUgd2ViIGZvbnQgaXMKKyAgICAgICAgbm90
IGF2YWlsYWJsZSBmb3IgcHJpbnRpbmcgYW5kIGJsYW5rIHRleHQgaXMgcHJpbnRlZC4KKworICAg
ICAgICBUaGlzIHBhdGNoIHdpbGwgc2tpcCB0aGUgY2FjaGUgdmFsaWRhdGlvbiBhbHNvIGZvciB0
aGUgc2Vjb25kIGxvYWRpbmcuCisgICAgICAgIEFzIGEgcmVzdWx0LCBpZiB0aGUgd2ViIGZvbnQg
Zm9yIHByaW50IGhhcyBhbHJlYWR5IGJlZW4gbG9hZGVkIGZvcgorICAgICAgICBzY3JlZW4sIGl0
IGlzIHVzZWQgd2l0aG91dCByZWxvYWRpbmcuCisKKyAgICAgICAgSSBiZWxpZXZlIHNraXBwaW5n
IHRoZSByZXNvdXJjZSBjYWNoZSB2YWxpZGF0aW9uIGZvciB0aGUgc2Vjb25kCisgICAgICAgIHJl
c291cmNlIGxvYWQgc2hvdWxkIGJlIGFjY2VwdGFibGUsIHNlZWluZyB0aGF0IHNraXBwaW5nIGlz
IGRvbmUgZm9yCisgICAgICAgIHRoZSB0aGlyZCBsb2FkIGFuZCBsYXRlci4KKworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1NTEKKworICAgICAgICBO
byBuZXcgdGVzdHMgYmVjYXVzZSB0aGVyZSBzZWVtcyB0byBiZSBubyBlYXN5IHdheSB0byB0ZXN0
IHByaW50IGltYWdlcy4KKworICAgICAgICAqIGxvYWRlci9Eb2NMb2FkZXIuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RG9jTG9hZGVyOjpjaGVja0ZvclJlbG9hZCk6CisgICAgICAgIChXZWJDb3Jl
OjpEb2NMb2FkZXI6OnJlcXVlc3RSZXNvdXJjZSk6CisgICAgICAgICogbG9hZGVyL0RvY0xvYWRl
ci5oOgorCiAyMDEwLTA4LTA0ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRl
ci9Eb2NMb2FkZXIuY3BwIGIvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcAppbmRleCAyZjc1
ZmY5MDdlZWEwNTVlNWI5YmU0YWNkMTlmMjUxZGYxMTA2ODdhLi41ZTNmYzA3MTQwNDc3MzNiN2Vl
ODViNjg3ZGY1MDU2M2E4NjY4NjAzIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xvYWRlci9Eb2NMb2Fk
ZXIuY3BwCisrKyBiL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAKQEAgLTgwLDMwICs4MCwz
MCBAQCBGcmFtZSogRG9jTG9hZGVyOjpmcmFtZSgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZG9jLT5m
cmFtZSgpOwogfQogCi12b2lkIERvY0xvYWRlcjo6Y2hlY2tGb3JSZWxvYWQoY29uc3QgS1VSTCYg
ZnVsbFVSTCkKK2Jvb2wgRG9jTG9hZGVyOjpjaGVja0ZvclJlbG9hZChjb25zdCBLVVJMJiBmdWxs
VVJMKQogewogICAgIGlmIChtX2FsbG93U3RhbGVSZXNvdXJjZXMpCi0gICAgICAgIHJldHVybjsg
Ly8gRG9uJ3QgcmVsb2FkIHJlc291cmNlcyB3aGlsZSBwYXN0aW5nCisgICAgICAgIHJldHVybiBm
YWxzZTsgLy8gRG9uJ3QgcmVsb2FkIHJlc291cmNlcyB3aGlsZSBwYXN0aW5nCiAKICAgICBpZiAo
ZnVsbFVSTC5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNl
OwogICAgIAogICAgIGlmIChtX3JlbG9hZGVkVVJMcy5jb250YWlucyhmdWxsVVJMLnN0cmluZygp
KSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgCiAgICAgQ2Fj
aGVkUmVzb3VyY2UqIGV4aXN0aW5nID0gY2FjaGUoKS0+cmVzb3VyY2VGb3JVUkwoZnVsbFVSTC5z
dHJpbmcoKSk7CiAgICAgaWYgKCFleGlzdGluZyB8fCBleGlzdGluZy0+aXNQcmVsb2FkZWQoKSkK
LSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHN3aXRjaCAoY2Fj
aGVQb2xpY3koKSkgewogICAgIGNhc2UgQ2FjaGVQb2xpY3lWZXJpZnk6CiAgICAgICAgIGlmICgh
ZXhpc3RpbmctPm11c3RSZXZhbGlkYXRlKENhY2hlUG9saWN5VmVyaWZ5KSkKLSAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICBjYWNoZSgpLT5yZXZh
bGlkYXRlUmVzb3VyY2UoZXhpc3RpbmcsIHRoaXMpOwogICAgICAgICBicmVhazsKICAgICBjYXNl
IENhY2hlUG9saWN5Q2FjaGU6CiAgICAgICAgIGlmICghZXhpc3RpbmctPm11c3RSZXZhbGlkYXRl
KENhY2hlUG9saWN5Q2FjaGUpKQotICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgcmV0
dXJuIHRydWU7CiAgICAgICAgIGNhY2hlKCktPnJldmFsaWRhdGVSZXNvdXJjZShleGlzdGluZywg
dGhpcyk7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgQ2FjaGVQb2xpY3lSZWxvYWQ6CkBAIC0x
MTMsMTAgKzExMywxMCBAQCB2b2lkIERvY0xvYWRlcjo6Y2hlY2tGb3JSZWxvYWQoY29uc3QgS1VS
TCYgZnVsbFVSTCkKICAgICAgICAgY2FjaGUoKS0+cmV2YWxpZGF0ZVJlc291cmNlKGV4aXN0aW5n
LCB0aGlzKTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBDYWNoZVBvbGljeUFsbG93U3RhbGU6
Ci0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIH0KIAotICAgIG1f
cmVsb2FkZWRVUkxzLmFkZChmdWxsVVJMLnN0cmluZygpKTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0K
IAogQ2FjaGVkSW1hZ2UqIERvY0xvYWRlcjo6cmVxdWVzdEltYWdlKGNvbnN0IFN0cmluZyYgdXJs
KQpAQCAtMjY3LDcgKzI2Nyw3IEBAIENhY2hlZFJlc291cmNlKiBEb2NMb2FkZXI6OnJlcXVlc3RS
ZXNvdXJjZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBTdHJpCiAgICAgICAgIH0K
ICAgICB9CiAKLSAgICBjaGVja0ZvclJlbG9hZChmdWxsVVJMKTsKKyAgICBib29sIG1hcmtBc1Jl
bG9hZGVkID0gY2hlY2tGb3JSZWxvYWQoZnVsbFVSTCk7CiAKICAgICBDYWNoZWRSZXNvdXJjZSog
cmVzb3VyY2UgPSBjYWNoZSgpLT5yZXF1ZXN0UmVzb3VyY2UodGhpcywgdHlwZSwgZnVsbFVSTCwg
Y2hhcnNldCwgaXNQcmVsb2FkKTsKICAgICBpZiAocmVzb3VyY2UpIHsKQEAgLTI3OCw2ICsyNzgs
OCBAQCBDYWNoZWRSZXNvdXJjZSogRG9jTG9hZGVyOjpyZXF1ZXN0UmVzb3VyY2UoQ2FjaGVkUmVz
b3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgU3RyaQogCiAgICAgICAgIG1fZG9jdW1lbnRSZXNvdXJj
ZXMuc2V0KHJlc291cmNlLT51cmwoKSwgcmVzb3VyY2UpOwogICAgICAgICBjaGVja0NhY2hlT2Jq
ZWN0U3RhdHVzKHJlc291cmNlKTsKKyAgICAgICAgaWYgKG1hcmtBc1JlbG9hZGVkKQorICAgICAg
ICAgICAgbV9yZWxvYWRlZFVSTHMuYWRkKGZ1bGxVUkwuc3RyaW5nKCkpOwogICAgIH0KICAgICBy
ZXR1cm4gcmVzb3VyY2U7CiB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9Eb2NMb2FkZXIu
aCBiL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5oCmluZGV4IDJlODg3OTdkN2ZmYWExODdkMGRl
ZjQ1M2YzMGMwYWE0ODkyMzczOGYuLjExNTQxZmVhMTNjM2RhOGI0ODY3OGZmMzA4Yzg5MjM0ZDAy
ZDQ0MWIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0RvY0xvYWRlci5oCisrKyBiL1dlYkNv
cmUvbG9hZGVyL0RvY0xvYWRlci5oCkBAIC0xMDgsNyArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBD
YWNoZWRSZXNvdXJjZSogcmVxdWVzdFJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0LCBib29sIGlzUHJlbG9hZCA9IGZh
bHNlKTsKICAgICB2b2lkIHJlcXVlc3RQcmVsb2FkKENhY2hlZFJlc291cmNlOjpUeXBlLCBjb25z
dCBTdHJpbmcmIHVybCwgY29uc3QgU3RyaW5nJiBjaGFyc2V0KTsKIAotICAgIHZvaWQgY2hlY2tG
b3JSZWxvYWQoY29uc3QgS1VSTCYpOworICAgIGJvb2wgY2hlY2tGb3JSZWxvYWQoY29uc3QgS1VS
TCYpOwogICAgIHZvaWQgY2hlY2tDYWNoZU9iamVjdFN0YXR1cyhDYWNoZWRSZXNvdXJjZSopOwog
ICAgIGJvb2wgY2FuUmVxdWVzdChDYWNoZWRSZXNvdXJjZTo6VHlwZSwgY29uc3QgS1VSTCYpOwog
ICAgIAo=
</data>
<flag name="review"
          id="52290"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63862</attachid>
            <date>2010-08-08 23:49:25 -0700</date>
            <delta_ts>2010-08-08 23:52:15 -0700</delta_ts>
            <desc>Sorry, wrong patch.</desc>
            <filename>bug-43551-20100808234923.patch</filename>
            <type>text/plain</type>
            <size>11396</size>
            <attacher name="Yuzo Fujishima">yuzo</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
NDgwM2EzNWU4YjE4NWNkYjY5MzEyY2M2MWI4NTM2MjgyOTY5YmQ5Ny4uZjcwNDg4Mzk2NGMwOGZk
YWZjMzBhNTZmYjk0YWMzMGZmNzZhMDA3MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzNiBAQAorMjAxMC0wOC0wNSAgWXV6
byBGdWppc2hpbWEgIDx5dXpvQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGZvciBCdWcgNDM3MDQgLSBXZWIgZm9udCBpcyBw
cmludGVkIGFzIGJsYW5rIGlmIGl0IGlzIG5vdCBjYWNoZWQKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQzNTUxCisKKyAgICAgICAgU2tpcCByZXZhbGlk
YXRpbmcgY2FjaGVkIGZvbnRzIHdoZW4gdGhlIGZyYW1lIGlzIGp1c3QgY2hhbmdpbmcgbWVkaWEg
dHlwZSBiZXR3ZWVuIHNjcmVlbiBhbmQgcHJpbnQuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIGJl
Y2F1c2UgdGhlcmUgc2VlbXMgdG8gYmUgbm8gZ29vZCB3YXkgdG8gdGVzdCBwcmludCBpbWFnZXMu
CisKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y3JlYXRl
UmVzb3VyY2UpOgorICAgICAgICAoV2ViQ29yZTo6Q2FjaGU6OnJlcXVlc3RSZXNvdXJjZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDYWNoZTo6cmV2YWxpZGF0ZVJlc291cmNlKToKKyAgICAgICAgKiBs
b2FkZXIvQ2FjaGVkRm9udC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRGb250OjpDYWNo
ZWRGb250KToKKyAgICAgICAgKiBsb2FkZXIvQ2FjaGVkRm9udC5oOgorICAgICAgICAqIGxvYWRl
ci9DYWNoZWRSZXNvdXJjZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6
Q2FjaGVkUmVzb3VyY2UpOgorICAgICAgICAqIGxvYWRlci9DYWNoZWRSZXNvdXJjZS5oOgorICAg
ICAgICAoV2ViQ29yZTo6Q2FjaGVkUmVzb3VyY2U6OmlzQ2FjaGVkSW5QcmludGluZyk6CisgICAg
ICAgIChXZWJDb3JlOjpDYWNoZWRSZXNvdXJjZTo6c2V0Q2FjaGVkSW5QcmludGluZyk6CisgICAg
ICAgICogbG9hZGVyL0RvY0xvYWRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEb2NMb2FkZXI6
OmNoZWNrRm9yUmVsb2FkKToKKyAgICAgICAgKiBwYWdlL0ZyYW1lLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lOjpGcmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6c2V0UHJpbnRp
bmcpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpp
c0NoYW5naW5nTWVkaWFUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lTWVkaWFUeXBlQ2hh
bmdpbmdNYXJrZXI6OkZyYW1lTWVkaWFUeXBlQ2hhbmdpbmdNYXJrZXIpOgorICAgICAgICAoV2Vi
Q29yZTo6RnJhbWVNZWRpYVR5cGVDaGFuZ2luZ01hcmtlcjo6fkZyYW1lTWVkaWFUeXBlQ2hhbmdp
bmdNYXJrZXIpOgorCiAyMDEwLTA4LTA4ICBBcml5YSBIaWRheWF0ICA8YXJpeWFAc2VuY2hhLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbnRvbmlvIEdvbWVzLgpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9sb2FkZXIvQ2FjaGUuY3BwIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGUuY3BwCmluZGV4IDUy
MWQwNzUwY2EzMmIzOGIzODc0OTc2YWU0NzI1ZTBjMzJjOGZiZDkuLjJkODgyMjFkMGI0YTM1Njgw
YjQyZjZjZmU3ZjM5ZDIzZTUwZjI1OTUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0NhY2hl
LmNwcAorKysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZS5jcHAKQEAgLTY3LDcgKzY3LDcgQEAgQ2Fj
aGU6OkNhY2hlKCkKIHsKIH0KIAotc3RhdGljIENhY2hlZFJlc291cmNlKiBjcmVhdGVSZXNvdXJj
ZShDYWNoZWRSZXNvdXJjZTo6VHlwZSB0eXBlLCBjb25zdCBLVVJMJiB1cmwsIGNvbnN0IFN0cmlu
ZyYgY2hhcnNldCkKK3N0YXRpYyBDYWNoZWRSZXNvdXJjZSogY3JlYXRlUmVzb3VyY2UoQ2FjaGVk
UmVzb3VyY2U6OlR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsLCBjb25zdCBTdHJpbmcmIGNoYXJz
ZXQsIGJvb2wgaW5QcmludGluZykKIHsKICAgICBzd2l0Y2ggKHR5cGUpIHsKICAgICBjYXNlIENh
Y2hlZFJlc291cmNlOjpJbWFnZVJlc291cmNlOgpAQCAtNzcsNyArNzcsNyBAQCBzdGF0aWMgQ2Fj
aGVkUmVzb3VyY2UqIGNyZWF0ZVJlc291cmNlKENhY2hlZFJlc291cmNlOjpUeXBlIHR5cGUsIGNv
bnN0IEtVUkwmIHVybAogICAgIGNhc2UgQ2FjaGVkUmVzb3VyY2U6OlNjcmlwdDoKICAgICAgICAg
cmV0dXJuIG5ldyBDYWNoZWRTY3JpcHQodXJsLnN0cmluZygpLCBjaGFyc2V0KTsKICAgICBjYXNl
IENhY2hlZFJlc291cmNlOjpGb250UmVzb3VyY2U6Ci0gICAgICAgIHJldHVybiBuZXcgQ2FjaGVk
Rm9udCh1cmwuc3RyaW5nKCkpOworICAgICAgICByZXR1cm4gbmV3IENhY2hlZEZvbnQodXJsLnN0
cmluZygpLCBpblByaW50aW5nKTsKICNpZiBFTkFCTEUoWFNMVCkKICAgICBjYXNlIENhY2hlZFJl
c291cmNlOjpYU0xTdHlsZVNoZWV0OgogICAgICAgICByZXR1cm4gbmV3IENhY2hlZFhTTFN0eWxl
U2hlZXQodXJsLnN0cmluZygpKTsKQEAgLTExOSw3ICsxMTksNyBAQCBDYWNoZWRSZXNvdXJjZSog
Q2FjaGU6OnJlcXVlc3RSZXNvdXJjZShEb2NMb2FkZXIqIGRvY0xvYWRlciwgQ2FjaGVkUmVzb3Vy
Y2U6OlR5cAogICAgIAogICAgIGlmICghcmVzb3VyY2UpIHsKICAgICAgICAgLy8gVGhlIHJlc291
cmNlIGRvZXMgbm90IGV4aXN0LiBDcmVhdGUgaXQuCi0gICAgICAgIHJlc291cmNlID0gY3JlYXRl
UmVzb3VyY2UodHlwZSwgdXJsLCBjaGFyc2V0KTsKKyAgICAgICAgcmVzb3VyY2UgPSBjcmVhdGVS
ZXNvdXJjZSh0eXBlLCB1cmwsIGNoYXJzZXQsIGRvY0xvYWRlci0+ZG9jKCktPnByaW50aW5nKCkp
OwogICAgICAgICBBU1NFUlQocmVzb3VyY2UpOwogCiAgICAgICAgIC8vIFByZXRlbmQgdGhlIHJl
c291cmNlIGlzIGluIHRoZSBjYWNoZSwgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGRlbGV0ZWQg
ZHVyaW5nIHRoZSBsb2FkKCkgY2FsbC4KQEAgLTE5OSw3ICsxOTksNyBAQCB2b2lkIENhY2hlOjpy
ZXZhbGlkYXRlUmVzb3VyY2UoQ2FjaGVkUmVzb3VyY2UqIHJlc291cmNlLCBEb2NMb2FkZXIqIGRv
Y0xvYWRlcikKICAgICAgICAgcmV0dXJuOwogICAgIH0KICAgICBjb25zdCBTdHJpbmcmIHVybCA9
IHJlc291cmNlLT51cmwoKTsKLSAgICBDYWNoZWRSZXNvdXJjZSogbmV3UmVzb3VyY2UgPSBjcmVh
dGVSZXNvdXJjZShyZXNvdXJjZS0+dHlwZSgpLCBLVVJMKFBhcnNlZFVSTFN0cmluZywgdXJsKSwg
cmVzb3VyY2UtPmVuY29kaW5nKCkpOworICAgIENhY2hlZFJlc291cmNlKiBuZXdSZXNvdXJjZSA9
IGNyZWF0ZVJlc291cmNlKHJlc291cmNlLT50eXBlKCksIEtVUkwoUGFyc2VkVVJMU3RyaW5nLCB1
cmwpLCByZXNvdXJjZS0+ZW5jb2RpbmcoKSwgZG9jTG9hZGVyLT5kb2MoKS0+cHJpbnRpbmcoKSk7
CiAgICAgbmV3UmVzb3VyY2UtPnNldFJlc291cmNlVG9SZXZhbGlkYXRlKHJlc291cmNlKTsKICAg
ICBldmljdChyZXNvdXJjZSk7CiAgICAgbV9yZXNvdXJjZXMuc2V0KHVybCwgbmV3UmVzb3VyY2Up
OwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5jcHAgYi9XZWJDb3JlL2xv
YWRlci9DYWNoZWRGb250LmNwcAppbmRleCAyNzIxNjZlNmQxNWQyYWVlYmRhOTg2MjZlZTZjYmIx
ZTlhNDkyOWFjLi4wN2Y1ZWU4M2ZkZjMwODYzZjc0MDdhNDRmYjhhNWU0NzYzYzk1YzE3IDEwMDY0
NAotLS0gYS9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmNwcAorKysgYi9XZWJDb3JlL2xvYWRl
ci9DYWNoZWRGb250LmNwcApAQCAtNTQsNyArNTQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLUNhY2hlZEZvbnQ6OkNhY2hlZEZvbnQoY29uc3QgU3RyaW5nICZ1cmwpCitDYWNoZWRGb250
OjpDYWNoZWRGb250KGNvbnN0IFN0cmluZyAmdXJsLCBib29sIGluUHJpbnRpbmcpCiAgICAgOiBD
YWNoZWRSZXNvdXJjZSh1cmwsIEZvbnRSZXNvdXJjZSkKICAgICAsIG1fZm9udERhdGEoMCkKICAg
ICAsIG1fbG9hZEluaXRpYXRlZChmYWxzZSkKQEAgLTYyLDYgKzYyLDggQEAgQ2FjaGVkRm9udDo6
Q2FjaGVkRm9udChjb25zdCBTdHJpbmcgJnVybCkKICAgICAsIG1faXNTVkdGb250KGZhbHNlKQog
I2VuZGlmCiB7CisgICAgaWYgKGluUHJpbnRpbmcpCisgICAgICAgIHNldENhY2hlZEluUHJpbnRp
bmcoKTsKIH0KIAogQ2FjaGVkRm9udDo6fkNhY2hlZEZvbnQoKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9sb2FkZXIvQ2FjaGVkRm9udC5oIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkRm9udC5oCmluZGV4
IDAxYzhjOWM1YjczYjU1MWM4YzgwNTcxNGI4MTI4ZDhjODM0ZTkzMzMuLjllNDVmZGYzYjMyNjg3
OGJhYjQxNGI2NDEyZjU3Yjk4NzU2NDQ5NDEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvbG9hZGVyL0Nh
Y2hlZEZvbnQuaAorKysgYi9XZWJDb3JlL2xvYWRlci9DYWNoZWRGb250LmgKQEAgLTQ2LDcgKzQ2
LDcgQEAgc3RydWN0IEZvbnRDdXN0b21QbGF0Zm9ybURhdGE7CiAKIGNsYXNzIENhY2hlZEZvbnQg
OiBwdWJsaWMgQ2FjaGVkUmVzb3VyY2UgewogcHVibGljOgotICAgIENhY2hlZEZvbnQoY29uc3Qg
U3RyaW5nJiB1cmwpOworICAgIENhY2hlZEZvbnQoY29uc3QgU3RyaW5nJiB1cmwsIGJvb2wgaW5Q
cmludGluZyk7CiAgICAgdmlydHVhbCB+Q2FjaGVkRm9udCgpOwogICAgIAogICAgIHZpcnR1YWwg
dm9pZCBsb2FkKERvY0xvYWRlciogZG9jTG9hZGVyKTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvbG9h
ZGVyL0NhY2hlZFJlc291cmNlLmNwcCBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNlLmNw
cAppbmRleCA4ODdiMGI1ZmRkYjU5Y2ZjNWM2ZWJmNGI3N2UxNjVhZmQ3N2Y4OWNkLi5hYWIxNDU0
MjIxNmZhNWNjNGZlYzI4ODFlOWM2Zjk5MWE4MjdmOWU5IDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9DYWNoZWRSZXNvdXJjZS5jcHAKKysrIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3Vy
Y2UuY3BwCkBAIC04MSw2ICs4MSw3IEBAIENhY2hlZFJlc291cmNlOjpDYWNoZWRSZXNvdXJjZShj
b25zdCBTdHJpbmcmIHVybCwgVHlwZSB0eXBlKQogICAgICwgbV9kb2NMb2FkZXIoMCkKICAgICAs
IG1fcmVzb3VyY2VUb1JldmFsaWRhdGUoMCkKICAgICAsIG1fcHJveHlSZXNvdXJjZSgwKQorICAg
ICwgbV9pc0NhY2hlZEluUHJpbnRpbmcoZmFsc2UpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIGNh
Y2hlZFJlc291cmNlTGVha0NvdW50ZXIuaW5jcmVtZW50KCk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L2xvYWRlci9DYWNoZWRSZXNvdXJjZS5oIGIvV2ViQ29yZS9sb2FkZXIvQ2FjaGVkUmVzb3VyY2Uu
aAppbmRleCA0YjgzYThlZjRlMzM1ZjFjZDNmZThlNTdlY2RjZDQ2ZjM1ZGU2NGQ0Li5lMzAxZGU5
ZjY5YjE0MjFlZWM4ODhkNDc4MzhmZjljMmVjM2Q1NWYwIDEwMDY0NAotLS0gYS9XZWJDb3JlL2xv
YWRlci9DYWNoZWRSZXNvdXJjZS5oCisrKyBiL1dlYkNvcmUvbG9hZGVyL0NhY2hlZFJlc291cmNl
LmgKQEAgLTIwNyw2ICsyMDcsOCBAQCBwdWJsaWM6CiAgICAgLy8gYmV0dGVyIHdheSB0byBoYW5k
bGUgdGhlIGFyY2hpdmUgY2FzZS4KICAgICBib29sIG1ha2VQdXJnZWFibGUoYm9vbCBwdXJnZWFi
bGUpOwogCisgICAgYm9vbCBpc0NhY2hlZEluUHJpbnRpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
Q2FjaGVkSW5QcmludGluZzsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRFbmNvZGVkU2l6
ZSh1bnNpZ25lZCk7CiAgICAgdm9pZCBzZXREZWNvZGVkU2l6ZSh1bnNpZ25lZCk7CkBAIC0yMTQs
NiArMjE2LDggQEAgcHJvdGVjdGVkOgogCiAgICAgYm9vbCBpc1NhZmVUb01ha2VQdXJnZWFibGUo
KSBjb25zdDsKICAgICAKKyAgICB2b2lkIHNldENhY2hlZEluUHJpbnRpbmcoKSB7IG1faXNDYWNo
ZWRJblByaW50aW5nID0gdHJ1ZTsgfQorCiAgICAgSGFzaENvdW50ZWRTZXQ8Q2FjaGVkUmVzb3Vy
Y2VDbGllbnQqPiBtX2NsaWVudHM7CiAKICAgICBTdHJpbmcgbV91cmw7CkBAIC0yODUsNiArMjg5
LDkgQEAgcHJpdmF0ZToKIAogICAgIC8vIFRoZXNlIGhhbmRsZXMgd2lsbCBuZWVkIHRvIGJlIHVw
ZGF0ZWQgdG8gcG9pbnQgdG8gdGhlIG1fcmVzb3VyY2VUb1JldmFsaWRhdGUgaW4gY2FzZSB3ZSBn
ZXQgMzA0IHJlc3BvbnNlLgogICAgIEhhc2hTZXQ8Q2FjaGVkUmVzb3VyY2VIYW5kbGVCYXNlKj4g
bV9oYW5kbGVzVG9SZXZhbGlkYXRlOworCisgICAgYm9vbCBtX2lzQ2FjaGVkSW5QcmludGluZzsK
KwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcCBiL1dl
YkNvcmUvbG9hZGVyL0RvY0xvYWRlci5jcHAKaW5kZXggMmY3NWZmOTA3ZWVhMDU1ZTViOWJlNGFj
ZDE5ZjI1MWRmMTEwNjg3YS4uNGYyYTNhNjQyYWJiMTJhY2YwOThhZWI5ODE3YTZlOGIzNjc3MmQz
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9sb2FkZXIvRG9jTG9hZGVyLmNwcAorKysgYi9XZWJDb3Jl
L2xvYWRlci9Eb2NMb2FkZXIuY3BwCkBAIC05Nyw2ICs5NywxMiBAQCB2b2lkIERvY0xvYWRlcjo6
Y2hlY2tGb3JSZWxvYWQoY29uc3QgS1VSTCYgZnVsbFVSTCkKIAogICAgIHN3aXRjaCAoY2FjaGVQ
b2xpY3koKSkgewogICAgIGNhc2UgQ2FjaGVQb2xpY3lWZXJpZnk6CisgICAgICAgIC8vIElmIHRo
ZSBmcmFtZSBpcyBqdXN0IGNoYW5naW5nIG1lZGlhIHR5cGUgKGluIHByaW50aW5nIHRoZSBwYWdl
KSwKKyAgICAgICAgLy8gYW5kIHRoZSBleGlzdGluZyByZXNvdXJjZSBpcyBmb3Igc2NyZWVuIChp
LmUuLCBub24tcHJpbnQpIG1lZGlhLAorICAgICAgICAvLyB3ZSBzaG91bGQgbm90IHJlbG9hZCB0
aGUgcmVzb3VyY2UgYmVjYXVzZSBpdCB3YXMgcmVmcmVzaGVkIHdoZW4KKyAgICAgICAgLy8gdGhl
IHBhZ2Ugd2FzIHJlbmRlcmVkIG9uIHNjcmVlbi4KKyAgICAgICAgaWYgKGZyYW1lKCktPmlzQ2hh
bmdpbmdNZWRpYVR5cGUoKSAmJiAhZXhpc3RpbmctPmlzQ2FjaGVkSW5QcmludGluZygpKQorICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICBpZiAoIWV4aXN0aW5nLT5tdXN0UmV2YWxpZGF0ZShD
YWNoZVBvbGljeVZlcmlmeSkpCiAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgIGNhY2hlKCkt
PnJldmFsaWRhdGVSZXNvdXJjZShleGlzdGluZywgdGhpcyk7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L3BhZ2UvRnJhbWUuY3BwIGIvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAppbmRleCAxNjVhYTMyN2Zk
ZDQzYjg5MTBlZjgwODkxOWU4ODg2OTVlOWFjNWFkLi4zMjk0ZTgxZjQ3NjBhMDM0ZDIwMWI3Njlm
ZmUzMTFiODE0OGU5MGUxIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBi
L1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAKQEAgLTE0OSw2ICsxNDksNyBAQCBpbmxpbmUgRnJhbWU6
OkZyYW1lKFBhZ2UqIHBhZ2UsIEhUTUxGcmFtZU93bmVyRWxlbWVudCogb3duZXJFbGVtZW50LCBG
cmFtZUxvYWRlcgogICAgICwgbV9uZWVkc1JlYXBwbHlTdHlsZXMoZmFsc2UpCiAgICAgLCBtX2lz
RGlzY29ubmVjdGVkKGZhbHNlKQogICAgICwgbV9leGNsdWRlRnJvbVRleHRTZWFyY2goZmFsc2Up
CisgICAgLCBtX2NoYW5naW5nTWVkaWFUeXBlKGZhbHNlKQogewogICAgIEFTU0VSVChwYWdlKTsK
ICAgICBBdG9taWNTdHJpbmc6OmluaXQoKTsKQEAgLTYxOCw2ICs2MTksOCBAQCB2b2lkIEZyYW1l
OjpwYWludERyYWdDYXJldChHcmFwaGljc0NvbnRleHQqIHAsIGludCB0eCwgaW50IHR5LCBjb25z
dCBJbnRSZWN0JiBjbAogCiB2b2lkIEZyYW1lOjpzZXRQcmludGluZyhib29sIHByaW50aW5nLCBj
b25zdCBGbG9hdFNpemUmIHBhZ2VTaXplLCBmbG9hdCBtYXhpbXVtU2hyaW5rUmF0aW8sIEFkanVz
dFZpZXdTaXplT3JOb3Qgc2hvdWxkQWRqdXN0Vmlld1NpemUpCiB7CisgICAgRnJhbWVNZWRpYVR5
cGVDaGFuZ2luZ01hcmtlciBtYXJrZXIodGhpcyk7CisKICAgICBtX2RvYy0+c2V0UHJpbnRpbmco
cHJpbnRpbmcpOwogICAgIHZpZXcoKS0+YWRqdXN0TWVkaWFUeXBlRm9yUHJpbnRpbmcocHJpbnRp
bmcpOwogCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BhZ2UvRnJhbWUuaCBiL1dlYkNvcmUvcGFnZS9G
cmFtZS5oCmluZGV4IDRlNTIyYzRjMmRlZGUwMTMxYTQxMzZjNTVhZDA1MDE0NmE0OGQyOWYuLjRj
NGIyZTE1YWQ4MzM1ZmUxNGJhZmQxMTQ2ZTA4NjZiZGU5OGYzZDYgMTAwNjQ0Ci0tLSBhL1dlYkNv
cmUvcGFnZS9GcmFtZS5oCisrKyBiL1dlYkNvcmUvcGFnZS9GcmFtZS5oCkBAIC0xMjksNyArMTI5
LDYgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgcHJpdmF0ZToKICAgICAgICAgdm9pZCBp
bmplY3RVc2VyU2NyaXB0c0ZvcldvcmxkKERPTVdyYXBwZXJXb3JsZCosIGNvbnN0IFVzZXJTY3Jp
cHRWZWN0b3ImLCBVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSk7Ci0KICAgICBwcml2YXRlOgogICAg
ICAgICBGcmFtZShQYWdlKiwgSFRNTEZyYW1lT3duZXJFbGVtZW50KiwgRnJhbWVMb2FkZXJDbGll
bnQqKTsKIApAQCAtMTQyLDYgKzE0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICBlbnVtIEFkanVzdFZpZXdTaXplT3JOb3QgeyBEb05vdEFkanVzdFZpZXdTaXplLCBBZGp1c3RW
aWV3U2l6ZSB9OwogICAgICAgICB2b2lkIHNldFByaW50aW5nKGJvb2wgcHJpbnRpbmcsIGNvbnN0
IEZsb2F0U2l6ZSYgcGFnZVNpemUsIGZsb2F0IG1heGltdW1TaHJpbmtSYXRpbywgQWRqdXN0Vmll
d1NpemVPck5vdCk7CisgICAgICAgIGJvb2wgaXNDaGFuZ2luZ01lZGlhVHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fY2hhbmdpbmdNZWRpYVR5cGU7IH0KIAogICAgICAgICBib29sIGluVmlld1NvdXJj
ZU1vZGUoKSBjb25zdDsKICAgICAgICAgdm9pZCBzZXRJblZpZXdTb3VyY2VNb2RlKGJvb2wgPSB0
cnVlKTsKQEAgLTM0MCwxMCArMzQwLDMyIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAg
Ym9vbCBtX25lZWRzUmVhcHBseVN0eWxlczsKICAgICAgICAgYm9vbCBtX2lzRGlzY29ubmVjdGVk
OwogICAgICAgICBib29sIG1fZXhjbHVkZUZyb21UZXh0U2VhcmNoOworICAgICAgICBib29sIG1f
Y2hhbmdpbmdNZWRpYVR5cGU7CiAKICNpZiBFTkFCTEUoVElMRURfQkFDS0lOR19TVE9SRSkgICAg
ICAgIAogICAgICAgICBPd25QdHI8VGlsZWRCYWNraW5nU3RvcmU+IG1fdGlsZWRCYWNraW5nU3Rv
cmU7CiAjZW5kaWYKKworICAgICAgICBmcmllbmQgY2xhc3MgRnJhbWVNZWRpYVR5cGVDaGFuZ2lu
Z01hcmtlcjsKKyAgICB9OworCisgICAgLy8gQ3JlYXRlIGFuIGluc3RhbmNlIG9mIHRoaXMgY2xh
c3MgYW5kIGtlZXAgaXQgYWxpdmUgd2hpbGUgeW91IGFyZQorICAgIC8vIGNoYW5naW5nIG1lZGlh
IHR5cGUgZm9yIHRoZSBmcmFtZS4KKyAgICBjbGFzcyBGcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFy
a2VyIHsKKyAgICBwdWJsaWM6CisgICAgICAgIEZyYW1lTWVkaWFUeXBlQ2hhbmdpbmdNYXJrZXIo
RnJhbWUqIGZyYW1lKSA6IG1fZnJhbWUoZnJhbWUpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlm
IChtX2ZyYW1lKQorICAgICAgICAgICAgICAgIG1fZnJhbWUtPiBtX2NoYW5naW5nTWVkaWFUeXBl
ID0gdHJ1ZTsKKyAgICAgICAgfQorCisgICAgICAgIH5GcmFtZU1lZGlhVHlwZUNoYW5naW5nTWFy
a2VyKCkKKyAgICAgICAgeworICAgICAgICAgICAgaWYgKG1fZnJhbWUpCisgICAgICAgICAgICAg
ICAgbV9mcmFtZS0+IG1fY2hhbmdpbmdNZWRpYVR5cGUgPSBmYWxzZTsKKyAgICAgICAgfQorICAg
IHByaXZhdGU6CisgICAgICAgIEZyYW1lKiBtX2ZyYW1lOwogICAgIH07CiAKICAgICBpbmxpbmUg
dm9pZCBGcmFtZTo6aW5pdCgpCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dl
YktpdC9tYWMvQ2hhbmdlTG9nCmluZGV4IGQ5YzcyMWVmZTMwYjg2ZTljN2RhMDNhMzRiMjU0YmQ0
NTBiYzlmODQuLjVkNjdiNmM4OGRjOGYyMzEzZmYzMzcyNTBjMjFhMmEwM2EwYmI4YmYgMTAwNjQ0
Ci0tLSBhL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTAtMDgtMDUgIFl1em8gRnVqaXNoaW1hICA8eXV6b0Bnb29nbGUu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEZp
eCBmb3IgQnVnIDQzNzA0IC0gV2ViIGZvbnQgaXMgcHJpbnRlZCBhcyBibGFuayBpZiBpdCBpcyBu
b3QgY2FjaGVkCisgICAgICAgIHJlbGV2YW50IHBhcnQgY2FuIGJlY29tZSBibGFuaworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDM1NTEKKworICAgICAg
ICAqIFdlYlZpZXcvV2ViSFRNTFZpZXcubW06CisgICAgICAgICgtW1dlYkhUTUxWaWV3IF9zZXRQ
cmludGluZzptaW5pbXVtUGFnZVdpZHRoOmhlaWdodDptYXhpbXVtUGFnZVdpZHRoOmFkanVzdFZp
ZXdTaXplOl0pOgorICAgICAgICBtYXJrIHRoZSBzdGFydCBhbmQgdGhlIGVuZCBvZiBtZWRpYSB0
eXBlIGNoYW5nZS4KKwogMjAxMC0wOC0wNCAgTU9SSVRBIEhhamltZSAgPG1vcnJpdGFAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkhUTUxWaWV3Lm1tIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkhU
TUxWaWV3Lm1tCmluZGV4IDBlNTU5YjQ0ZjQyNzYzZDBiZDUzM2I5ODgzY2MzZmQ0ZmJjN2I2NjUu
LjU4NmJmNzg2ZmI0YmQ1NTg2NjViMDdhYjk3ODcxYWM2YjcyZDA2NTAgMTAwNjQ0Ci0tLSBhL1dl
YktpdC9tYWMvV2ViVmlldy9XZWJIVE1MVmlldy5tbQorKysgYi9XZWJLaXQvbWFjL1dlYlZpZXcv
V2ViSFRNTFZpZXcubW0KQEAgLTM4MjUsNiArMzgyNSw4IEBAIHN0YXRpYyBCT09MIGlzSW5QYXNz
d29yZEZpZWxkKEZyYW1lKiBjb3JlRnJhbWUpCiAvLyBwYWdlV2lkdGggIT0gMCBpbXBsaWVzIHdl
IHdpbGwgcmVsYXlvdXQgdG8gYSBuZXcgd2lkdGgKIC0gKHZvaWQpX3NldFByaW50aW5nOihCT09M
KXByaW50aW5nIG1pbmltdW1QYWdlV2lkdGg6KGZsb2F0KW1pblBhZ2VXaWR0aCBoZWlnaHQ6KGZs
b2F0KW1pblBhZ2VIZWlnaHQgbWF4aW11bVBhZ2VXaWR0aDooZmxvYXQpbWF4UGFnZVdpZHRoIGFk
anVzdFZpZXdTaXplOihCT09MKWFkanVzdFZpZXdTaXplCiB7CisgICAgRnJhbWVNZWRpYVR5cGVD
aGFuZ2luZ01hcmtlciBtYXJrZXIoY29yZShbc2VsZiBfZnJhbWVdKSk7CisKICAgICBXZWJGcmFt
ZSAqZnJhbWUgPSBbc2VsZiBfZnJhbWVdOwogICAgIE5TQXJyYXkgKnN1YmZyYW1lcyA9IFtmcmFt
ZSBjaGlsZEZyYW1lc107CiAgICAgdW5zaWduZWQgbiA9IFtzdWJmcmFtZXMgY291bnRdOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>