<?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>3510</bug_id>
          
          <creation_ts>2005-06-13 13:05:20 -0700</creation_ts>
          <short_desc>Multiple issues with Accept-Language</short_desc>
          <delta_ts>2011-08-23 16:33:49 -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>New Bugs</component>
          <version>312.x</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.3</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WONTFIX</resolution>
          
          
          <bug_file_loc>http://astro.nickshanks.com/library/extrasolar</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>dwood</cc>
    
    <cc>grahamperrin</cc>
    
    <cc>ian</cc>
    
    <cc>nickshanks</cc>
    
    <cc>xn--mlform-iua</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11750</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-06-13 13:05:21 -0700</bug_when>
    <thetext>If the system primary language (as set in International control panel) is Russian, then only &quot;ru-ru&quot; is 
sent in Accept-Language.

Steps to reproduce:
1. Set the system primary language to Russian (on my machine, the exact order is Russian, English, 
Japanese, Chinese Traditional, Chinese Simplified).
2. In Safari, go to http://astro.nickshanks.com/library/extrasolar.en

Results:
----------------------------
Not Acceptable

An appropriate representation of the requested resource /library/extrasolar.en could not be found on 
this server.
Available variants:

extrasolar.en.iso8859-1.html , type text/html, language en, charset iso-8859-1
----------------------------

Expected results: an English version should be presented.

Regression: worked OK in Safari 1.2 (I don&apos;t say the Accept-Language header was 100% OK, but it has 
at least allowed English).

Discussion: I think that all system languages should be sent in Accept-Language header.

See also: rdar://4076004 - &quot;ru&quot; should be sent instead of &quot;ru-ru&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12239</commentid>
    <comment_count>1</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-06-16 08:19:34 -0700</bug_when>
    <thetext>The cited example is actually a different bug, that no Accept-Content header gets sent, it&apos;s not to do 
with the Accept-Languages header.

For a better description, go to http://web.nickshanks.com/safari/accept-language/

That page tests what Safari sends for both the Accept-Language and Accept-Charset headers, and 
reports what is wrong. Play around with your system languages and different browsers and experiment 
to see what you get. Safari 2.0 (412) for me always now sends en-us despite not having American 
English in my language preferences (defaults read NSGlobalDomain AppleLanguages = &quot;en-GB&quot;, fr, de, 
ru, hu, cy, gd, kw)

Regarding rdar://4076004 - &quot;ru&quot; should be sent instead of &quot;ru-ru&quot;, i don&apos;t see why this should be so. A 
HTTP server should respond to a request header of &quot;Accept-Language: ru-RU&quot; with a .ru document if 
there&apos;s no .ru-RU one available, specifying &quot;Accept-Language: ru-RU, ru;q=0.8&quot; for example would be 
redundant, however specifying &quot;Accept-Language: ru-UK, ru-RU;q=0.9, uk;q=0.8, ru;q=0.7&quot; for 
example would be a valid and useful example of specifying &apos;ru&apos; on it&apos;s own, although there&apos;s no harm at 
all in doing so anyway.

I hope this helps :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12259</commentid>
    <comment_count>2</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-06-16 12:15:09 -0700</bug_when>
    <thetext>(In reply to comment #1)

  Nick, I presume that you are talking about Accept-Charset, not Accept-Content (which I haven&apos;t heard 
of before)? From your page, it appears that you have been tracking this issue for a long time, just like 
myself :). At least, I used to also see the behavior with unconditionally appended Japanese, but no 
longer see it under 1.3 or 2.0.

  However, I still think that my original interpretation is correct. Hopefully, here is a proof:
1) In Firefox, modify the languages list to &quot;ru&quot; alone (removing &quot;en&quot; and &quot;en-us&quot;)
2) The same error as for Safari is displayed when accessing the page.
3) The Accept-Charset sent is &quot;windows-1251,utf-8;q=0.7,*;q=0.7&quot;; Accept-Language sent is &quot;ru&quot;.
4) So, Accept-Charset doesn&apos;t help if &quot;en&quot; is not sent in  Accept-Language

  To double-check, I have sent a manually crafted HTTP request:
GET /library/extrasolar.en HTTP/1.0
Host: astro.nickshanks.com
Accept-Language: ru,en

  I got the correct document (Content-Location: extrasolar.en.iso8859-1.html), even though I didn&apos;t 
send any Accept-Charset header.

  As for rdar://4076004 (&quot;ru-ru&quot; vs &quot;ru&quot;), I have two reasons to ask for this. First, all other browsers I 
have tested with (MSIE, Mozilla, Firefox) send &quot;ru&quot;, so even though your description is of course correct, 
real life testing of the fallback usually isn&apos;t performed. Second, Outlook Web Access (completely 
incorrectly) reencodes content based on Accept-Language, and only allows Cyrillic if the first language 
is &quot;ru&quot;, not &quot;ru-ru&quot; (I do not have complete information about versions, maybe that&apos;s already fixed, but 
my company&apos;s server still has this problem). I do not know if this Radar issue has been already 
discussed within Apple, so I am not sure if we need to move the discussion here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>13442</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-06-28 12:07:23 -0700</bug_when>
    <thetext>This turned out to be an issue in NSURLConnection (WebKit doesn&apos;t set an Accept-Language haeder, so a 
default is used).

I have started working on a fix for this (also rdar://4076004). Once a fix is available, it will be decided if it 
needs to go to WebKit, or only NSURLConnection should be fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>14565</commentid>
    <comment_count>4</comment_count>
      <attachid>2944</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-07-13 10:27:31 -0700</bug_when>
    <thetext>Created attachment 2944
Proposed patch

With this patch, WebKit will specify an Accept-Language header, instead of
relying on NSURLConnection&apos;s default one. The goals were to send a complete
list of user&apos;s preferred languages and to send correct language codes (the same
that other browsers do, e.g. &quot;ru&quot;, not &quot;ru-ru&quot;).

Some compatibility notes:

1. The maximum Accept-Language length is limited
(&lt;http://www.ireland.travel.ie&gt; didn&apos;t work if this header was longer than 255)

2. No weights are assigned to languages (Netscape Directory Gateway breaks on
these; notably, it breaks with Mozilla&apos;s default &quot;en-us,en;q=0.50&quot;). Verified
at &lt;http://gun.teipir.gr/ds/csearch&gt;. Looks like a correct order is enough to
prioritize the languages.
3. eBay does not allow access to certain items if German, Italian, French or
Austrian is present in the Accept-Language header (I couldn&apos;t verify this
myself, but got a confirmation from eBay support). The only solution I found
was to special-case eBay - only the first language is sent to them.
4. To maximize compatibility, together with correct language codes, legacy ones
are sent for some languages (e.g., zh-Hans is always accompanied by zh-cn).
5. As a side effect of this patch, the DOM 0 navigator.language property will
return a different code for some languages than it did in previous versions of
Safari; and user-agent will also be different for such languages (again, ru
instead of ru-ru). I think it&apos;s good for consistency. Also, this seems to have
minimal impact: navigator.language is currently broken in Firefox, and noone
seems to care enough to fix it
(https://bugzilla.mozilla.org/show_bug.cgi?id=285267).
6. With this patch, WebNSUserDefaultsExtras.m processes AppleLanguages list
according to &quot;best practices&quot; described by Apple (see the source for a
reference), which should fix a few minor issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>15151</commentid>
    <comment_count>5</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-07-24 17:17:32 -0700</bug_when>
    <thetext>Someone should look at this. If we changed this we&apos;d probably want to do it at the Foundation level, not 
just for WebKit.
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16178</commentid>
    <comment_count>6</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-08-08 07:11:18 -0700</bug_when>
    <thetext>There are several things I don&apos;t like about the proposed patch:

1) Not appending quality values because of a bug in Netscape Directory Server is wrong. It&apos;s their bug, 
it&apos;s their problem, we should follow the rules. Since all prior versions of Safari, Firefox (and probably IE 
from 7.0 onwards) send q-values, this bug is highly likely to be fixed in short time.
When specifying all languages with the same q-value (1.0 in this case), Apache falls back to the server&apos;s 
preferred language order, which may be completely different from the user&apos;s preferred order (e.g. if the 
user has &quot;AppleLanguages = {ru, de, en, fr}&quot; and the server has the Apache default &quot;LanguagePriority en 
da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw&quot; set, then english will get served if available, 
followed by french, german and russian last of all, not what the user wanted! Furthermore, appending 
an asterisk to the end of the list (with a q-value of 1.0) is the same as supplying an Accept-Language 
header just consisting of the asterisk alone. The order of languages in the list is irrelevant: 
&quot;en;q=0.2,fr;q=0.1,de;q=0.5,ru&quot; is the same as &quot;ru;q=1.0,de;q=0.9,en;q=0.5,fr;q=0.1&quot;.
I recommend retaining use of q-values, which will also avoid potential regressions with some sites, and 
appending an asterisk at the end with a q-value of 0.01, allowing any language to match and be 
returned (and thus avoiding ever getting a 406 &quot;Not Acceptable&quot; error).

2) If AppleLanguages has a length of zero, this patch sets the default to @&quot;en&quot; - I suggest making this 
an asterisk instead (i.e. just @&quot;*&quot;), avoiding 406 errors.

3) Your eBay matching fails for URLs such as http://ebay.de/ and http://ebay.fr/ due to the leading full 
stop in the match string. I suggest first quickly checking for the string &quot;ebay&quot; in the host, and if 
present, evaluate against the regex &quot;^(.*\.)?ebay\.[a-z]{2,3}(\.[a-z]{2})?$&quot;. Checking for &quot;ebay&quot; first will 
avoid a performance hit for all other sites. You should probably specify in the comment too that the 
reason they do this is because France, Germany and Austria have laws against the sale of Nazi 
memorabilia, so that future readers will know why the code is there

And in direct response to comment #2, if Outlook Web Access can&apos;t display Cyrillic, without having to 
jump through hoops, then don&apos;t use it! In fact, I would recommend avoiding Microsoft and AOL 
products altogether, and you wouldn&apos;t have any of these problems.

Thinking about the &quot;ru&quot; versus &quot;ru-RU&quot; problem though, the International pref pane does not specify a 
locale for &quot;Ð ÑƒÑ?Ñ?ÐºÐ¸Ð¹&quot;, so perhaps sending &quot;ru&quot; is more correct after all.

And yes, I meant Accept-Charset in comment #1, &quot;Accept-Content&quot; was just the result of my brain 
melting :-)

*ponders an &quot;Accept-Content: No&quot; header*</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16205</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-08-08 11:14:51 -0700</bug_when>
    <thetext>Nicholas, thank you for you insightful reply.

1) Are you sure about the default LanguagePriority? I couldn&apos;t find it documented anywhere. Also, 
Apache as shipped with OS X Tiger doesn&apos;t have the behavior you describe: a request to http://
127.0.0.1 gives me a Russian page:

GET / HTTP/1.0
Accept-Language: ru,en,fr

HTTP/1.1 200 OK
Date: Mon, 08 Aug 2005 17:52:39 GMT
Server: Apache/1.3.33 (Darwin)
Content-Location: index.html.ru.cp866
&lt;...&gt;

  Without an explicit LanguagePriority, Apache is documented to honor the order of the languages in 
Accept-Language, and this is the behavior that I observe in reality. So far, I haven&apos;t seen any problems 
occurring because of missing weights.

  As for appending an asterisk - I have nothing against it; I just felt reluctant to make ad hoc changes, 
not supported by real life problems (especially because Firefox doesn&apos;t append that asterisk).

2) Here, I have just preserved the existing behavior (since I haven&apos;t heard of any problems with it).

3) Doesn&apos;t &lt;http://ebay.de/&gt; just redirect to &lt;http://www.ebay.de/&gt;? Improving the comment in 
acceptLanguageForURL is good idea, thank you.

  As for Outlook Web Access - from my point of view, this one is the most substantial problem with 
Safari&apos;s Accept-Language (perhaps with Safari in general), worth being fixed ASAP in a software update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16227</commentid>
    <comment_count>8</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-08-08 16:57:20 -0700</bug_when>
    <thetext>Replying to comment #7:
&gt; Apache as shipped with OS X Tiger doesn&apos;t have the behavior you describe

Hmm, well my /etc/httpd/httpd.conf file has been dragged along with me since DP4 days and modified 
quite a bit, though I believe the one I have now I re-modified after a clean Jaguar install, but 
nonetheless I am pretty sure these lines have remained untouched from what was installed:

 &lt;IfModule mod_mime.c&gt;
     
     ...
     
     # in case of a tie during content negotiation.
     #
     # Just list the languages in decreasing order of preference. We have
     # more or less alphabetized them here. You probably want to change this.
     #
     &lt;IfModule mod_negotiation.c&gt;
           LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw
     &lt;/IfModule&gt; 
 &lt;/IfModule&gt;

This is where I copied the above from. It may have changed in more recent versions of the OS. But 
whatever the default actually is, or whatever it&apos;s been changed to, it doesn&apos;t really matter because 99.9% 
of the time it will differ from the user&apos;s language preference order. If Apache receives &quot;Accept-
Languages: ru, en&quot; and has &quot;LanguagePriority en ru&quot; set, then, following the rules, it should serve the 
english page. If you&apos;re seeing differently then this is a bug in Apache (I presume you are using 1.3.x as 
ships with OS X, and not Apache 2.x ?). I could apply your patch, change my languages, set up another 
virtual host on my machine and test all this, but not tonight as I&apos;m too tired :-)

Regarding point 2, isn&apos;t this whole bug about you receiving a 406 error from a page on my website 
because en didn&apos;t get sent? Sending an asterisk would solve that (as would removing the &quot;.en&quot; from the 
filename of the file you mention, but that only masks the bug in Safari).

And on point 3: Yes, ebay.de does currently redirect, but I can&apos;t guarantee that&apos;s going to be the case 
for every eBay-owned domain now and in the future, I was just using de and fr as simple examples. The 
regex method is a bit more complicated but a bit more robust. I would like to hear what opinions 
others have on this simple vs. comprehensive view. Also, although the regex would still catch false 
positives like &quot;ebay.sux.fr&quot; and &quot;i.watch.ebay.on.tv&quot;, I don&apos;t think sending just the first language to 
these few sites would matter all that much :-)

A question for you Alexey: How likely is it that Outlook Web Access and Netscape Directory Gateway will 
have their bugs fixed, and you or whomever controls them on your behalf will get around to installing 
the updates? It seems to me that basically you&apos;re requesting and implementing a &apos;degraded&apos; behaviour 
in order to work around bugs in these two pieces of software. Is this a fair summary?
I tend to be of the opinion that we should do what&apos;s right, and let other people worry about fixing their 
own bugs. The more people complain to THEM that their software is broken, the higher priority they&apos;ll 
give to fixing it, and I look forward to WinIE7&apos;s release later this summer as a much larger catalyst for 
this than Firefox and Safari have been so far. Of course, with your own patched version of Safari, you 
don&apos;t encounter these bugs anymore anyway :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16241</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-08-08 21:49:10 -0700</bug_when>
    <thetext>&gt; LanguagePriority en da nl et fr de el it ja kr no pl pt pt-br ru ltz ca es sv tw

Interesting - In Tiger, it&apos;s the same, but the experiment I quoted above shows that Apache (1.3) still 
respects the order of languages in Accept-Langauage. Does yours do respect it (you can just use telnet 
instead of appying my patch to test this)?

Regarding point 2, empty AppleLanguages is a very rare case (and a sign of a horribly broken 
installation). Since this patch is unlikely to be landed as is, I&apos;d leave to the person modifying it to decide 
on this - both options look fine.

As for fixing bugs in OWA and NDS - please note that for OWA, I&apos;m not proposing degraded 
performance at all (sending &apos;ru&apos; is logically more correct than sending &apos;ru-ru&apos;). As for NDS, that was an 
example given by Darin Adler, and I tried to come out with the most compatible format. So far, the lack 
of weights hasn&apos;t resulted in any problems (and it shouldn&apos;t, because other clients are also known to 
send languages without weights).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>16247</commentid>
    <comment_count>10</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-08-08 23:57:04 -0700</bug_when>
    <thetext>Perhaps there is a directive I&apos;ve not seen, or consensus among http server implementors, that to support 
legacy behaviour where no quality values are given at all, then the list is to be treated as a descending 
priority list. Thus behaviour such as &quot;en-gb, en-ca, en-au, en;q=0.5&quot; would work (i.e. the first three would 
all be equal weight, and en-za, en-in or en-us would only be selected rarely) whereas &quot;en, de, fr, ru, *&quot;, 
which is passed with no values at all, would be treated as if it were &quot;en;q=1.0, de;q=0.8, fr;q=0.6, 
ru;q=0.4, *;q=0.2&quot;. If this latter case is indeed what seems to be happening, then I would certainly 
recommend adding the asterisk to all submissions.

I believe this should be fixed upstream from WebKit, in the CF APIs. Whoever is to implement that should 
also add an &quot;Accept-Charset: *&quot; header too, since MacOS X can handle every charset.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19800</commentid>
    <comment_count>11</comment_count>
      <attachid>2944</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-09-17 14:12:34 -0700</bug_when>
    <thetext>Comment on attachment 2944
Proposed patch

I have assigned this to adele, as according to the radar assignment guidelines
she is the closest to dealing with &quot;loading&quot;.  I&apos;ve looked over the patch and
given my comments to Alexey (via IRC).	Even if this should go into NSURL long
term, I don&apos;t think landing it in WebKit for now is a bad thing.  The fact that
this has been sitting in review for  OVER 2 MONTHS is unexceptable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20084</commentid>
    <comment_count>12</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-09-20 02:52:36 -0700</bug_when>
    <thetext>However, given Nicholas&apos;s comments below I this patch may be just plain wrong. This patch needs testing, 
review, and probably revision, not just immediate landing. And even then I am not sure we should do this 
just in WebKit instead of submitting a bug report and fix to Foundation. It is not usually our policy to work 
around NSURLConnection bugs in WebKit, and the NSURLConnection developers are pretty responsive.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20085</commentid>
    <comment_count>13</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2005-09-20 04:54:23 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; The fact that this has been sitting in review for  OVER 2 MONTHS is unexceptable.

Ahh, that&apos;s nothing :) I have CSS patches on here awaiting review since mid-June.
I have open bugs in radar logged against Mac OS 8.1 (and still present in Carbon).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20086</commentid>
    <comment_count>14</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-20 07:18:15 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; However, given Nicholas&apos;s comments below I this patch may be just plain wrong. 

  What particular comment are you referring to? I think I have answered them all, and there are only a 
few stylistic comments, and a question of whether an asterisk should be added (other browsers do not 
do that, so I do not see why WebKit should).

&gt; And even then I am not sure we should do this just in WebKit instead of submitting a bug report and 
fix to Foundation. 

No problem with that - rdar://4076004 talks about the one problem that causes most damage. For 
obvious reasons, I couldn&apos;t submit a fix there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20096</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-20 13:15:02 -0700</bug_when>
    <thetext>BTW, some of this code is only needed on 10.3 and can be replaced with a single call to 
CFLocaleCreateCanonicalLanguageIdentifierFromString() now (see &lt;http://developer.apple.com/
documentation/MacOSX/Conceptual/BPInternational/Articles/ChoosingLocalizations.html&gt;). When I was 
making this patch, I still had hope that at least parts of it may go in a Safari 1.3 update...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20677</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-27 13:40:00 -0700</bug_when>
    <thetext>*** Bug 5152 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>20874</commentid>
    <comment_count>17</comment_count>
      <attachid>2944</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2005-09-28 16:28:43 -0700</bug_when>
    <thetext>Comment on attachment 2944
Proposed patch

We decided this is better w/ Darin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>23645</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-11-03 13:52:19 -0800</bug_when>
    <thetext>A &quot;real life&quot; site that is affected by Safari only sending the first preferred language: &lt;http://www.w3.org/
TR/xhtml-media-types/&gt; (one needs to prefer something else than English to be affected :) ).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25449</commentid>
    <comment_count>19</comment_count>
      <attachid>2944</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-03 11:23:58 -0800</bug_when>
    <thetext>Comment on attachment 2944
Proposed patch

I&apos;m conflicted about this patch. I&apos;d really like to put changes like this into
NSURL, rather than into WebKit. But some of these fixes are needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25484</commentid>
    <comment_count>20</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-12-04 03:07:30 -0800</bug_when>
    <thetext>Just for future reference: a rather detailed discussion of real-life language negotiation is available here: 
&lt;http://ppewww.ph.gla.ac.uk/~flavell/www/lang-neg.html&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>26263</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-12-20 05:54:56 -0800</bug_when>
    <thetext>Another &quot;real life&quot; server that suffers from this issue: http://fluxiom.com/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28517</commentid>
    <comment_count>22</comment_count>
      <attachid>2944</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-01-15 07:57:52 -0800</bug_when>
    <thetext>Comment on attachment 2944
Proposed patch

Here&apos;s my opinion at this point: We should get these fixes done in
NSURLConnection first -- please file a bug in http://bugreport.apple.com about
it.

Once we get a response and find out what&apos;s going to happen at the lower level,
we could consider working around this in WebKit by adding code like this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>28604</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-01-16 12:07:08 -0800</bug_when>
    <thetext>rdar://problem/4076004
rdar://problem/4410031</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>42992</commentid>
    <comment_count>24</comment_count>
    <who name="Nicholas Shanks">nickshanks</who>
    <bug_when>2006-05-20 05:33:25 -0700</bug_when>
    <thetext>Whomever is to fix this should read bug #5152 as that concerns a related but slightly different issue (I don&apos;t understand why it is marked as a duplicate of this one, it&apos;s not the same problem).

I created rdar://4556363 too, since this hasn&apos;t improved as of 10.4.6 and someone in the Foundation team needs goading with a hot poker. :-D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>47412</commentid>
    <comment_count>25</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-06-27 21:57:57 -0700</bug_when>
    <thetext>*** Bug 9626 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454409</commentid>
    <comment_count>26</comment_count>
    <who name="Leif Halvard Silli">xn--mlform-iua</who>
    <bug_when>2011-08-21 09:50:16 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (From update of attachment 2944 [details])
&gt; Here&apos;s my opinion at this point: We should get these fixes done in
&gt; NSURLConnection first -- please file a bug in http://bugreport.apple.com about
&gt; it.
&gt; 
&gt; Once we get a response and find out what&apos;s going to happen at the lower level,
&gt; we could consider working around this in WebKit by adding code like this.
&gt; 

6 years on, and the bug has still not been fixed! Has a NSURLConnection bug been filed?

I stumbled on real life effects of this bug when clicking on the link &quot;Tools&quot; on this page: http://www.w3.org/standards/webdesign/i18n

I see this bug in Safari for Windows and Safari for Mac. However, the bug is not available in Chrome - may be they fixed it &quot;for their own money&quot; ..</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454740</commentid>
    <comment_count>27</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2011-08-22 11:33:03 -0700</bug_when>
    <thetext>I no longer think that we should send an Accept-Language string with all the languages configured in Mac OS X preferences. The privacy implications (fingerprinting) and the generally failed state of HTTP based content negotiation make it not worth changing.

Please file separate bugs for specific issues via &lt;http://bugreport.apple.com&gt;, as Accept-Language is sent by lower level network library, not by WebKit, and there is no pressing reason to add workarounds in WebKit.

In particular, &lt;http://www.w3.org/standards/webdesign/i18n&gt; is certainly an evangelism issue - the page shouldn&apos;t be preventing access for people who didn&apos;t send &quot;en&quot; in Accept-Language.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>455809</commentid>
    <comment_count>28</comment_count>
    <who name="Leif Halvard Silli">xn--mlform-iua</who>
    <bug_when>2011-08-23 16:33:49 -0700</bug_when>
    <thetext>(In reply to comment #27)

FIRSTLY - the Surfin&apos; Safari blog seems to assume that Webkit implement Accept-Language 100% percent:

]] The locale has been removed. Web authors who want to know what languages a browser supports should use the HTTP Accept-Language header instead, which can supply multiple locales. [[

&lt;http://www.webkit.org/blog/1580/user-agent-string-changes-on-webkit-trunk/&gt;

SECONDLY: I read the gist of your decision to be that this subject is for Apple to decide - as it is they who must take responsibility for the potential for fingerprinting as it is their OS which eventually is responsible or those Accept-Header:s. Additionally, since content-negotiation is in a kind of failed state, as you see it, it is also not possible to justify a rushed fix that circumvents Apple.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2944</attachid>
            <date>2005-07-13 10:27:31 -0700</date>
            <delta_ts>2010-06-10 16:17:03 -0700</delta_ts>
            <desc>Proposed patch</desc>
            <filename>AcceptLanguage.diff</filename>
            <type>text/plain</type>
            <size>15432</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IC4vTWlzYy5zdWJwcm9qL1dlYk5TVVJMUmVxdWVzdEV4dHJhcy5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
UkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJLaXQvTWlzYy5zdWJwcm9qL1dlYk5TVVJMUmVxdWVzdEV4
dHJhcy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjIKZGlmZiAtcCAtdSAtcjEuMiAuL01pc2Mu
c3VicHJvai9XZWJOU1VSTFJlcXVlc3RFeHRyYXMuaAotLS0gLi9NaXNjLnN1YnByb2ovV2ViTlNV
UkxSZXF1ZXN0RXh0cmFzLmggICAgICAyMDA1LzA2LzA1IDE3OjU0OjI2ICAgICAxLjIKKysrIC4v
TWlzYy5zdWJwcm9qL1dlYk5TVVJMUmVxdWVzdEV4dHJhcy5oICAgICAgMjAwNS8wNy8xMyAxNjo0
NDoxMApAQCAtNDAsNSArNDAsNiBAQAogLSAodm9pZClfd2ViX3NldEhUVFBDb250ZW50VHlwZToo
TlNTdHJpbmcgKiljb250ZW50VHlwZTsKIC0gKHZvaWQpX3dlYl9zZXRIVFRQUmVmZXJyZXI6KE5T
U3RyaW5nICopdGhlUmVmZXJyZXI7CiAtICh2b2lkKV93ZWJfc2V0SFRUUFVzZXJBZ2VudDooTlNT
dHJpbmcgKil0aGVVc2VyQWdlbnQ7CistICh2b2lkKV93ZWJfc2V0SFRUUEFjY2VwdExhbmd1YWdl
OihOU1N0cmluZyAqKXRoZUxhbmd1YWdlczsKIAogQGVuZApJbmRleDogLi9NaXNjLnN1YnByb2ov
V2ViTlNVUkxSZXF1ZXN0RXh0cmFzLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dl
YktpdC9NaXNjLnN1YnByb2ovV2ViTlNVUkxSZXF1ZXN0RXh0cmFzLm0sdgpyZXRyaWV2aW5nIHJl
dmlzaW9uIDEuMgpkaWZmIC1wIC11IC1yMS4yIC4vTWlzYy5zdWJwcm9qL1dlYk5TVVJMUmVxdWVz
dEV4dHJhcy5tCi0tLSAuL01pc2Muc3VicHJvai9XZWJOU1VSTFJlcXVlc3RFeHRyYXMubSAgICAg
IDIwMDUvMDYvMDUgMTc6NTQ6MjYgICAgIDEuMgorKysgLi9NaXNjLnN1YnByb2ovV2ViTlNVUkxS
ZXF1ZXN0RXh0cmFzLm0gICAgICAyMDA1LzA3LzEzIDE2OjQ0OjExCkBAIC0zMSw5ICszMSwxMCBA
QAogI2ltcG9ydCA8V2ViS2l0L1dlYkFzc2VydGlvbnMuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJO
U1VSTEV4dHJhcy5oPgogCi0jZGVmaW5lIFdlYkNvbnRlbnRUeXBlIChAIkNvbnRlbnQtVHlwZSIp
Ci0jZGVmaW5lIFdlYlVzZXJBZ2VudCAgIChAIlVzZXItQWdlbnQiKQotI2RlZmluZSBXZWJSZWZl
cnJlciAgICAoQCJSZWZlcmVyIikKKyNkZWZpbmUgV2ViQ29udGVudFR5cGUgICAgIChAIkNvbnRl
bnQtVHlwZSIpCisjZGVmaW5lIFdlYlVzZXJBZ2VudCAgICAgICAoQCJVc2VyLUFnZW50IikKKyNk
ZWZpbmUgV2ViUmVmZXJyZXIgICAgICAgIChAIlJlZmVyZXIiKQorI2RlZmluZSBXZWJBY2NlcHRM
YW5ndWFnZSAgKEAiQWNjZXB0LUxhbmd1YWdlIikKIAogQGltcGxlbWVudGF0aW9uIE5TVVJMUmVx
dWVzdCAoV2ViTlNVUkxSZXF1ZXN0RXh0cmFzKQogCkBAIC03NSw2ICs3NiwxMSBAQAogLSAodm9p
ZClfd2ViX3NldEhUVFBVc2VyQWdlbnQ6KE5TU3RyaW5nICopdGhlVXNlckFnZW50CiB7CiAgICAg
W3NlbGYgc2V0VmFsdWU6dGhlVXNlckFnZW50IGZvckhUVFBIZWFkZXJGaWVsZDpXZWJVc2VyQWdl
bnRdOworfQorCistICh2b2lkKV93ZWJfc2V0SFRUUEFjY2VwdExhbmd1YWdlOihOU1N0cmluZyAq
KXRoZUxhbmd1YWdlcworeworICAgIFtzZWxmIHNldFZhbHVlOnRoZUxhbmd1YWdlcyBmb3JIVFRQ
SGVhZGVyRmllbGQ6V2ViQWNjZXB0TGFuZ3VhZ2VdOwogfQogCiBAZW5kCkluZGV4OiAuL01pc2Mu
c3VicHJvai9XZWJOU1VzZXJEZWZhdWx0c0V4dHJhcy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9j
dnMvcm9vdC9XZWJLaXQvTWlzYy5zdWJwcm9qL1dlYk5TVXNlckRlZmF1bHRzRXh0cmFzLmgsdgpy
ZXRyaWV2aW5nIHJldmlzaW9uIDEuMgpkaWZmIC1wIC11IC1yMS4yIC4vTWlzYy5zdWJwcm9qL1dl
Yk5TVXNlckRlZmF1bHRzRXh0cmFzLmgKLS0tIC4vTWlzYy5zdWJwcm9qL1dlYk5TVXNlckRlZmF1
bHRzRXh0cmFzLmggICAgMjAwNS8wNi8wNSAxNzo1NDoyNiAgICAgMS4yCisrKyAuL01pc2Muc3Vi
cHJvai9XZWJOU1VzZXJEZWZhdWx0c0V4dHJhcy5oICAgIDIwMDUvMDcvMTMgMTY6NDQ6MTEKQEAg
LTMwLDQgKzMwLDUgQEAKIAogQGludGVyZmFjZSBOU1VzZXJEZWZhdWx0cyAoV2ViTlNVc2VyRGVm
YXVsdHNFeHRyYXMpCiArIChOU1N0cmluZyAqKV93ZWJraXRfcHJlZmVycmVkTGFuZ3VhZ2VDb2Rl
OworKyAoTlNTdHJpbmcgKilfd2Via2l0X3ByZWZlcnJlZExhbmd1YWdlQ29kZXM7IC8vIGluIEFj
Y2VwdC1MYW5ndWFnZSBmb3JtYXQKIEBlbmQKSW5kZXg6IC4vTWlzYy5zdWJwcm9qL1dlYk5TVXNl
ckRlZmF1bHRzRXh0cmFzLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9N
aXNjLnN1YnByb2ovV2ViTlNVc2VyRGVmYXVsdHNFeHRyYXMubSx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS40CmRpZmYgLXAgLXUgLXIxLjQgLi9NaXNjLnN1YnByb2ovV2ViTlNVc2VyRGVmYXVsdHNF
eHRyYXMubQotLS0gLi9NaXNjLnN1YnByb2ovV2ViTlNVc2VyRGVmYXVsdHNFeHRyYXMubSAgICAy
MDA1LzA2LzA2IDA1OjE1OjIxICAgICAxLjQKKysrIC4vTWlzYy5zdWJwcm9qL1dlYk5TVXNlckRl
ZmF1bHRzRXh0cmFzLm0gICAgMjAwNS8wNy8xMyAxNjo0NDoxMQpAQCAtMzEsMzQgKzMxLDEwIEBA
CiAjaW1wb3J0IDxXZWJLaXQvV2ViQXNzZXJ0aW9ucy5oPgogI2ltcG9ydCA8V2ViS2l0U3lzdGVt
SW50ZXJmYWNlLmg+CiAKLUBpbXBsZW1lbnRhdGlvbiBOU1N0cmluZyAoV2ViTlNVc2VyRGVmYXVs
dHNQcml2YXRlKQotCi0tIChOU1N0cmluZyAqKV93ZWJraXRfSFRUUFN0eWxlTGFuZ3VhZ2VDb2Rl
Ci17Ci0gICAgLy8gTG9vayB1cCB0aGUgbGFuZ3VhZ2UgY29kZSB1c2luZyBDRkJ1bmRsZS4KLSAg
ICBOU1N0cmluZyAqbGFuZ3VhZ2VDb2RlID0gc2VsZjsKLSAgICBOU1N0cmluZyAqcHJlZmVycmVk
TGFuZ3VhZ2VDb2RlID0gWyhpZClXS0NvcHlDRkxvY2FsaXphdGlvblByZWZlcnJlZE5hbWUoKENG
U3RyaW5nUmVmKXNlbGYpIGF1dG9yZWxlYXNlXTsKLQotICAgIGlmIChwcmVmZXJyZWRMYW5ndWFn
ZUNvZGUpCi0gICAgICAgIGxhbmd1YWdlQ29kZSA9IHByZWZlcnJlZExhbmd1YWdlQ29kZTsKLSAg
ICAKLSAgICAvLyBNYWtlIHRoZSBzdHJpbmcgbG93ZXJjYXNlLgotICAgIE5TU3RyaW5nICpsb3dl
cmNhc2VMYW5ndWFnZUNvZGUgPSBbbGFuZ3VhZ2VDb2RlIGxvd2VyY2FzZVN0cmluZ107Ci0gICAg
Ci0gICAgLy8gVHVybiBhICdfJyBpbnRvIGEgJy0nIGlmIGl0IGFwcGVhcnMgYWZ0ZXIgYSAyLWxl
dHRlciBsYW5ndWFnZSBjb2RlLgotICAgIGlmIChbbG93ZXJjYXNlTGFuZ3VhZ2VDb2RlIGxlbmd0
aF0gPCAzIHx8IFtsb3dlcmNhc2VMYW5ndWFnZUNvZGUgY2hhcmFjdGVyQXRJbmRleDoyXSAhPSAn
XycpIHsKLSAgICAgICAgcmV0dXJuIGxvd2VyY2FzZUxhbmd1YWdlQ29kZTsKLSAgICB9Ci0gICAg
TlNNdXRhYmxlU3RyaW5nICpyZXN1bHQgPSBbbG93ZXJjYXNlTGFuZ3VhZ2VDb2RlIG11dGFibGVD
b3B5XTsKLSAgICBbcmVzdWx0IHJlcGxhY2VDaGFyYWN0ZXJzSW5SYW5nZTpOU01ha2VSYW5nZSgy
LCAxKSB3aXRoU3RyaW5nOkAiLSJdOwotICAgIHJldHVybiBbcmVzdWx0IGF1dG9yZWxlYXNlXTsK
LX0KLQotQGVuZAotCiBAaW1wbGVtZW50YXRpb24gTlNVc2VyRGVmYXVsdHMgKFdlYk5TVXNlckRl
ZmF1bHRzRXh0cmFzKQogCiBzdGF0aWMgTlNTdHJpbmcgKnByZWZlcnJlZExhbmd1YWdlQ29kZSA9
IG5pbDsKK3N0YXRpYyBOU1N0cmluZyAqcHJlZmVycmVkTGFuZ3VhZ2VDb2RlcyA9IG5pbDsKIHN0
YXRpYyBOU0xvY2sgKnByZWZlcnJlZExhbmd1YWdlTG9jayA9IG5pbDsKIHN0YXRpYyBwdGhyZWFk
X29uY2VfdCBwcmVmZXJyZWRMYW5ndWFnZUxvY2tPbmNlID0gUFRIUkVBRF9PTkNFX0lOSVQ7CiBz
dGF0aWMgcHRocmVhZF9vbmNlX3QgYWRkRGVmYXVsdHNDaGFuZ2VPYnNlcnZlck9uY2UgPSBQVEhS
RUFEX09OQ0VfSU5JVDsKQEAgLTgxLDYgKzU3LDkgQEAgc3RhdGljIHZvaWQgbWFrZUxvY2sodm9p
ZCkKICAgICBbcHJlZmVycmVkTGFuZ3VhZ2VDb2RlIHJlbGVhc2VdOwogICAgIHByZWZlcnJlZExh
bmd1YWdlQ29kZSA9IG5pbDsKIAorICAgIFtwcmVmZXJyZWRMYW5ndWFnZUNvZGVzIHJlbGVhc2Vd
OworICAgIHByZWZlcnJlZExhbmd1YWdlQ29kZXMgPSBuaWw7CisKICAgICBbcHJlZmVycmVkTGFu
Z3VhZ2VMb2NrIHVubG9ja107CiB9CiAKQEAgLTk3LDYgKzc2LDgxIEBAIHN0YXRpYyB2b2lkIGFk
ZERlZmF1bHRzQ2hhbmdlT2JzZXJ2ZXIodm8KICAgICBwdGhyZWFkX29uY2UoJmFkZERlZmF1bHRz
Q2hhbmdlT2JzZXJ2ZXJPbmNlLCBhZGREZWZhdWx0c0NoYW5nZU9ic2VydmVyKTsKIH0KIAorKyAo
dm9pZClidWlsZExhbmd1YWdlU3RyaW5nc0ZvckRlZmF1bHRzOihOU1VzZXJEZWZhdWx0cyAqKXN0
YW5kYXJkRGVmYXVsdHMKK3sKKyAgICBOU0FycmF5ICpsYW5ndWFnZXMgPSBbc3RhbmRhcmREZWZh
dWx0cyBzdHJpbmdBcnJheUZvcktleTpAIkFwcGxlTGFuZ3VhZ2VzIl07CisgICAgaWYgKFtsYW5n
dWFnZXMgY291bnRdID09IDApIHsKKyAgICAgICAgcHJlZmVycmVkTGFuZ3VhZ2VDb2RlID0gW0Ai
ZW4iIHJldGFpbl07CisgICAgICAgIHByZWZlcnJlZExhbmd1YWdlQ29kZXMgPSBbQCJlbiIgcmV0
YWluXTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIC8vIE9uIHRvIGJ1aWxkaW5nIHBy
ZWZlcnJlZExhbmd1YWdlQ29kZXMuIFNvbWUgc2VjcmV0IHBpdGZhbGxzIGFyZSBhdm9pZGVkIGhl
cmUsCisgICAgLy8gc2VlIDxodHRwOi8vbGlzdHMuYXBwbGUuY29tL2FyY2hpdmVzL2NhcmJvbi1k
ZXYvMjAwNS9NYXIvbXNnMDAyOTMuaHRtbD4gZm9yIGRldGFpbHMuCisgICAgdW5zaWduZWQgbGFu
Z3VhZ2VDb3VudCA9IFtsYW5ndWFnZXMgY291bnRdOworICAgIE5TTXV0YWJsZUFycmF5KiBjYW5v
bmljYWxpemVkTGFuZ3VhZ2VzID0gW05TTXV0YWJsZUFycmF5IGFycmF5V2l0aENhcGFjaXR5Omxh
bmd1YWdlQ291bnRdOworICAgIHVuc2lnbmVkIGk7CisgICAgZm9yIChpID0gMDsgaSAhPSBsYW5n
dWFnZUNvdW50OyArK2kpIHsKKworICAgICAgICAvLyBGaXggbmFtZXMgbGlrZSAiRW5nbGlzaCIg
YW5kICJGcmVuY2giLCB3aGljaCBtYXkgYXBwZWFyIGluIEFwcGxlTGFuZ3VhZ2VzIGtleSBmb3Ig
c29tZSB1c2Vycy4KKyAgICAgICAgTlNTdHJpbmcgKmNhbm9uaWNhbGl6ZWROYW1lID0gKE5TU3Ry
aW5nICopQ0ZMb2NhbGVDcmVhdGVDYW5vbmljYWxMb2NhbGVJZGVudGlmaWVyRnJvbVN0cmluZygw
LCAoQ0ZTdHJpbmdSZWYpW2xhbmd1YWdlcyBvYmplY3RBdEluZGV4OmldKTsKKyAgICAgICAgW2Nh
bm9uaWNhbGl6ZWROYW1lIGF1dG9yZWxlYXNlXTsKKyAgICAgICAgCisgICAgICAgIC8vIE1ha2Ug
dGhlIHN0cmluZyBsb3dlcmNhc2UuCisgICAgICAgIE5TTXV0YWJsZVN0cmluZyAqcmVzdWx0ID0g
W1tbY2Fub25pY2FsaXplZE5hbWUgbG93ZXJjYXNlU3RyaW5nXSBtdXRhYmxlQ29weV0gYXV0b3Jl
bGVhc2VdOworICAgICAgICAKKyAgICAgICAgLy8gVHVybiBhICdfJyBpbnRvIGEgJy0nIGlmIGl0
IGFwcGVhcnMgYWZ0ZXIgYSAyLWxldHRlciBsYW5ndWFnZSBjb2RlLgorICAgICAgICBpZiAoW3Jl
c3VsdCBsZW5ndGhdID4gMiAmJiBbcmVzdWx0IGNoYXJhY3RlckF0SW5kZXg6Ml0gPT0gJ18nKQor
ICAgICAgICAgICAgW3Jlc3VsdCByZXBsYWNlQ2hhcmFjdGVyc0luUmFuZ2U6TlNNYWtlUmFuZ2Uo
MiwgMSkgd2l0aFN0cmluZzpAIi0iXTsKKworICAgICAgICAvLyBIYW5kbGUgZGlmZmVyZW5jZXMg
YmV0d2VlbiBsYW5ndWFnZSBhbmQgbG9jYWxlIG5hbWVzCisgICAgICAgIGlmIChbcmVzdWx0IGlz
RXF1YWxUb1N0cmluZzpAInpoLWNuIl0pCisgICAgICAgICAgIFtjYW5vbmljYWxpemVkTGFuZ3Vh
Z2VzIGFkZE9iamVjdDpAInpoLWhhbnMiXTsKKyAgICAgICAgZWxzZSBpZiAoW3Jlc3VsdCBpc0Vx
dWFsVG9TdHJpbmc6QCJ6aC10dyJdKQorICAgICAgICAgICAgW2Nhbm9uaWNhbGl6ZWRMYW5ndWFn
ZXMgYWRkT2JqZWN0OkAiemgtaGFudCJdOworICAgICAgICBlbHNlIGlmIChbcmVzdWx0IGlzRXF1
YWxUb1N0cmluZzpAIm5vIl0pCisgICAgICAgICAgICBbY2Fub25pY2FsaXplZExhbmd1YWdlcyBh
ZGRPYmplY3Q6QCJuYiJdOworICAgICAgICBlbHNlCisgICAgICAgICAgICBbY2Fub25pY2FsaXpl
ZExhbmd1YWdlcyBhZGRPYmplY3Q6cmVzdWx0XTsKKyAgICB9CisKKyAgICAgICAvLyBDYW5ub3Qg
YXNzaWduIHdlaWdodHMgdG8gdGhlIGxhbmd1YWdlcywgYmVjYXVzZSAiTmV0c2NhcGUgRGlyZWN0
b3J5IFNlcnZlciIKKyAgICAgICAvLyBmYWlscyBldmVuIGZvciAiZW4tdXMsZW49MC41Iiwgc2Vu
dCBieSBNb3ppbGxhLiBTaG91bGRuJ3QgYmUgdG9vIG11Y2ggCisgICAgICAgLy8gb2YgYSBwcm9i
bGVtLCBzaW5jZSBjb3JyZWN0IG9yZGVyIHNlZW1zIHRvIGJlIGVub3VnaC4KKyAgICBpID0gMDsK
KyAgICBOU011dGFibGVTdHJpbmcqIHRoZUxhbmd1YWdlc1N0cmluZyA9IFtbTlNNdXRhYmxlU3Ry
aW5nIGFsbG9jXSBpbml0V2l0aENhcGFjaXR5OjI1Nl07CisgICAgZG8geworICAgIAorICAgICAg
ICBOU1N0cmluZyAqYUxhbmd1YWdlID0gW2Nhbm9uaWNhbGl6ZWRMYW5ndWFnZXMgb2JqZWN0QXRJ
bmRleDppXTsKKyAgICAgICAgCisgICAgICAgIGlmIChpID09IDApCisgICAgICAgICAgICBbdGhl
TGFuZ3VhZ2VzU3RyaW5nIHNldFN0cmluZzphTGFuZ3VhZ2VdOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBbdGhlTGFuZ3VhZ2VzU3RyaW5nIGFwcGVuZEZvcm1hdDpAIiwlQCIsIGFMYW5ndWFn
ZV07CisgICAgICAgIAorICAgICAgICAvLyBhcHBlbmQgb2xkLXN0eWxlIGxhbmd1YWdlIGNvZGVz
IChmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkpCisgICAgICAgIGlmIChbdGhlTGFuZ3VhZ2Vz
U3RyaW5nIGlzRXF1YWxUb1N0cmluZzpAInpoLWhhbnMiXSkKKyAgICAgICAgICAgIFt0aGVMYW5n
dWFnZXNTdHJpbmcgYXBwZW5kRm9ybWF0OkAiLHpoLWNuIl07CisgICAgICAgIGVsc2UgaWYgKFt0
aGVMYW5ndWFnZXNTdHJpbmcgaXNFcXVhbFRvU3RyaW5nOkAiemgtaGFudCJdKQorICAgICAgICAg
ICAgW3RoZUxhbmd1YWdlc1N0cmluZyBhcHBlbmRGb3JtYXQ6QCIsemgtdHciXTsKKyAgICAgICAg
ZWxzZSBpZiAoW3RoZUxhbmd1YWdlc1N0cmluZyBpc0VxdWFsVG9TdHJpbmc6QCJuYiJdKQorICAg
ICAgICAgICAgW3RoZUxhbmd1YWdlc1N0cmluZyBhcHBlbmRGb3JtYXQ6QCIsbm8iXTsKKyAgICAg
ICAgCisgICAgICAgICsraTsKKworICAgIC8vIE1ha2Ugc3VyZSB0aGUgSFRUUCBoZWFkZXIgc3Ry
aW5nIGlzIG5vIGxvbmdlciB0aGFuIDI1NiBjaGFyYWN0ZXJzCisgICAgLy8gKGl0J3MgYSBuYXR1
cmFsIGJvcmRlciBmb3IgcG9vciBpbXBsZW1lbnRhdGlvbnMgdG8gZmFpbCkuCisgICAgfSB3aGls
ZSAoaSA8IFtjYW5vbmljYWxpemVkTGFuZ3VhZ2VzIGNvdW50XSAmJiBbdGhlTGFuZ3VhZ2VzU3Ry
aW5nIGxlbmd0aF0gPCAyMDApOworICAgIAorICAgIC8vIFNob3VsZCB3ZSBhZGQgYSAiKiIgdG8g
aW5kaWNhdGUgdGhhdCB3ZSBhY2NlcHQgYW55IG90aGVyIGxhbmd1YWdlLCB0b28/CisgICAgLy8g
T3RoZXIgYnJvd3NlcnMgYW5kIHByZXZpb3VzIHZlcnNpb25zIG9mIFNhZmFyaSBkb24ndCBkbyB0
aGF0LCBhbHRob3VnaCAKKyAgICAvLyBpdCBsb29rcyBsaWtlIGEgc2FuZSB0aGluZyB0byBkby4K
Ky8vICBbdGhlTGFuZ3VhZ2VzU3RyaW5nIGFwcGVuZEZvcm1hdDpAIiwqIiwgYUxhbmd1YWdlXTsK
KworICAgIHByZWZlcnJlZExhbmd1YWdlQ29kZSA9IFtbY2Fub25pY2FsaXplZExhbmd1YWdlcyBv
YmplY3RBdEluZGV4OjBdIHJldGFpbl07CisgICAgcHJlZmVycmVkTGFuZ3VhZ2VDb2RlcyA9IHRo
ZUxhbmd1YWdlc1N0cmluZzsKK30KKwogKyAoTlNTdHJpbmcgKilfd2Via2l0X3ByZWZlcnJlZExh
bmd1YWdlQ29kZQogewogICAgIC8vIEdldCB0aGlzIG91dHNpZGUgdGhlIGxvY2sgc2luY2UgaXQg
bWlnaHQgYmxvY2sgb24gdGhlIGRlZmF1bHRzIGxvY2ssIHdoaWxlIHdlIGFyZSBpbnNpZGUgcmVn
aXN0ZXJEZWZhdWx0czouCkBAIC0xMDcsMTYgKzE2MSwzNiBAQCBzdGF0aWMgdm9pZCBhZGREZWZh
dWx0c0NoYW5nZU9ic2VydmVyKHZvCiAgICAgW3NlbGYgX3dlYmtpdF9lbnN1cmVBbmRMb2NrUHJl
ZmVycmVkTGFuZ3VhZ2VMb2NrXTsKIAogICAgIGlmICghcHJlZmVycmVkTGFuZ3VhZ2VDb2RlKSB7
Ci0gICAgICAgIE5TQXJyYXkgKmxhbmd1YWdlcyA9IFtzdGFuZGFyZERlZmF1bHRzIHN0cmluZ0Fy
cmF5Rm9yS2V5OkAiQXBwbGVMYW5ndWFnZXMiXTsKLSAgICAgICAgaWYgKFtsYW5ndWFnZXMgY291
bnRdID09IDApIHsKLSAgICAgICAgICAgIHByZWZlcnJlZExhbmd1YWdlQ29kZSA9IFtAImVuIiBy
ZXRhaW5dOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgcHJlZmVycmVkTGFuZ3VhZ2VD
b2RlID0gW1tbbGFuZ3VhZ2VzIG9iamVjdEF0SW5kZXg6MF0gX3dlYmtpdF9IVFRQU3R5bGVMYW5n
dWFnZUNvZGVdIGNvcHldOwotICAgICAgICB9CisgICAgICAgIFtzZWxmIGJ1aWxkTGFuZ3VhZ2VT
dHJpbmdzRm9yRGVmYXVsdHM6c3RhbmRhcmREZWZhdWx0c107CiAgICAgICAgIGFkZE9ic2VydmVy
ID0gWUVTOwogICAgIH0KIAogICAgIE5TU3RyaW5nICpjb2RlID0gW1twcmVmZXJyZWRMYW5ndWFn
ZUNvZGUgcmV0YWluXSBhdXRvcmVsZWFzZV07CisgICAgCisgICAgW3ByZWZlcnJlZExhbmd1YWdl
TG9jayB1bmxvY2tdOworCisgICAgaWYgKGFkZE9ic2VydmVyKSB7CisgICAgICAgIFtzZWxmIF93
ZWJraXRfYWRkRGVmYXVsdHNDaGFuZ2VPYnNlcnZlcl07CisgICAgfQorCisgICAgcmV0dXJuIGNv
ZGU7Cit9CisKKysgKE5TU3RyaW5nICopX3dlYmtpdF9wcmVmZXJyZWRMYW5ndWFnZUNvZGVzCit7
CisgICAgLy8gR2V0IHRoaXMgb3V0c2lkZSB0aGUgbG9jayBzaW5jZSBpdCBtaWdodCBibG9jayBv
biB0aGUgZGVmYXVsdHMgbG9jaywgd2hpbGUgd2UgYXJlIGluc2lkZSByZWdpc3RlckRlZmF1bHRz
Oi4KKyAgICBOU1VzZXJEZWZhdWx0cyAqc3RhbmRhcmREZWZhdWx0cyA9IFtzZWxmIHN0YW5kYXJk
VXNlckRlZmF1bHRzXTsKKworICAgIEJPT0wgYWRkT2JzZXJ2ZXIgPSBOTzsKKworICAgIFtzZWxm
IF93ZWJraXRfZW5zdXJlQW5kTG9ja1ByZWZlcnJlZExhbmd1YWdlTG9ja107CisKKyAgICBpZiAo
IXByZWZlcnJlZExhbmd1YWdlQ29kZXMpIHsKKyAgICAgICAgW3NlbGYgYnVpbGRMYW5ndWFnZVN0
cmluZ3NGb3JEZWZhdWx0czpzdGFuZGFyZERlZmF1bHRzXTsKKyAgICAgICAgYWRkT2JzZXJ2ZXIg
PSBZRVM7CisgICAgfQorCisgICAgTlNTdHJpbmcgKmNvZGUgPSBbW3ByZWZlcnJlZExhbmd1YWdl
Q29kZXMgcmV0YWluXSBhdXRvcmVsZWFzZV07CiAgICAgCiAgICAgW3ByZWZlcnJlZExhbmd1YWdl
TG9jayB1bmxvY2tdOwogCkluZGV4OiAuL1dlYkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdl
Lm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJDb3JlU3VwcG9ydC5z
dWJwcm9qL1dlYkJyaWRnZS5tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjM1NgpkaWZmIC1wIC11
IC1yMS4zNTYgLi9XZWJDb3JlU3VwcG9ydC5zdWJwcm9qL1dlYkJyaWRnZS5tCi0tLSAuL1dlYkNv
cmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdlLm0gICAgICAgIDIwMDUvMDcvMDEgMDU6MjA6NDYg
ICAgIDEuMzU2CisrKyAuL1dlYkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViQnJpZGdlLm0gICAgICAg
IDIwMDUvMDcvMTMgMTY6NDQ6MjIKQEAgLTUxNyw2ICs1MTcsNyBAQCBOU1N0cmluZyAqV2ViUGx1
Z2luQ29udGFpbmVyS2V5ID0gICBAIldlCiAgICAgV2ViVmlldyAqd2ViVmlldyA9IFtfZnJhbWUg
d2ViVmlld107CiAgICAgW3JlcXVlc3Qgc2V0TWFpbkRvY3VtZW50VVJMOltbW1t3ZWJWaWV3IG1h
aW5GcmFtZV0gZGF0YVNvdXJjZV0gcmVxdWVzdF0gVVJMXV07CiAgICAgW3JlcXVlc3QgX3dlYl9z
ZXRIVFRQVXNlckFnZW50Olt3ZWJWaWV3IHVzZXJBZ2VudEZvclVSTDpbcmVxdWVzdCBVUkxdXV07
CisgICAgW3JlcXVlc3QgX3dlYl9zZXRIVFRQQWNjZXB0TGFuZ3VhZ2U6W3dlYlZpZXcgYWNjZXB0
TGFuZ3VhZ2VGb3JVUkw6W3JlcXVlc3QgVVJMXV1dOwogICAgIAogICAgIE5TRXJyb3IgKmVycm9y
ID0gbmlsOwogICAgIGlkIGlkZW50aWZpZXIgPSBuaWw7ICAgIApJbmRleDogLi9XZWJDb3JlU3Vw
cG9ydC5zdWJwcm9qL1dlYlN1YnJlc291cmNlTG9hZGVyLm0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L1dlYktpdC9XZWJDb3JlU3VwcG9ydC5zdWJwcm9qL1dlYlN1YnJlc291cmNlTG9h
ZGVyLm0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTEyCmRpZmYgLXAgLXUgLXIxLjExMiAuL1dl
YkNvcmVTdXBwb3J0LnN1YnByb2ovV2ViU3VicmVzb3VyY2VMb2FkZXIubQotLS0gLi9XZWJDb3Jl
U3VwcG9ydC5zdWJwcm9qL1dlYlN1YnJlc291cmNlTG9hZGVyLm0gICAgIDIwMDUvMDcvMDEgMDU6
MjA6NDcgICAgMS4xMTIKKysrIC4vV2ViQ29yZVN1cHBvcnQuc3VicHJvai9XZWJTdWJyZXNvdXJj
ZUxvYWRlci5tICAgICAyMDA1LzA3LzEzIDE2OjQ0OjIyCkBAIC04OCw2ICs4OCw3IEBACiAgICAg
V2ViVmlldyAqX3dlYlZpZXcgPSBbc291cmNlIF93ZWJWaWV3XTsKICAgICBbbmV3UmVxdWVzdCBz
ZXRNYWluRG9jdW1lbnRVUkw6W1tbW193ZWJWaWV3IG1haW5GcmFtZV0gZGF0YVNvdXJjZV0gcmVx
dWVzdF0gVVJMXV07CiAgICAgW25ld1JlcXVlc3QgX3dlYl9zZXRIVFRQVXNlckFnZW50Oltfd2Vi
VmlldyB1c2VyQWdlbnRGb3JVUkw6W25ld1JlcXVlc3QgVVJMXV1dOworICAgIFtuZXdSZXF1ZXN0
IF93ZWJfc2V0SFRUUEFjY2VwdExhbmd1YWdlOltfd2ViVmlldyBhY2NlcHRMYW5ndWFnZUZvclVS
TDpbbmV3UmVxdWVzdCBVUkxdXV07CiAgICAgICAgICAgICAKICAgICBpZiAoIVtsb2FkZXIgbG9h
ZFdpdGhSZXF1ZXN0Om5ld1JlcXVlc3RdKSB7CiAgICAgICAgIGxvYWRlciA9IG5pbDsKSW5kZXg6
IC4vV2ViVmlldy5zdWJwcm9qL1dlYkZyYW1lLm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9y
b290L1dlYktpdC9XZWJWaWV3LnN1YnByb2ovV2ViRnJhbWUubSx2CnJldHJpZXZpbmcgcmV2aXNp
b24gMS4yMzQKZGlmZiAtcCAtdSAtcjEuMjM0IC4vV2ViVmlldy5zdWJwcm9qL1dlYkZyYW1lLm0K
LS0tIC4vV2ViVmlldy5zdWJwcm9qL1dlYkZyYW1lLm0gICAgICAgIDIwMDUvMDYvMTcgMTU6MDY6
NTggICAgIDEuMjM0CisrKyAuL1dlYlZpZXcuc3VicHJvai9XZWJGcmFtZS5tICAgICAgICAyMDA1
LzA3LzEzIDE2OjQ0OjI2CkBAIC0xODMzLDYgKzE4MzMsNyBAQCBzdGF0aWMgQ0ZBYnNvbHV0ZVRp
bWUgX3RpbWVPZkxhc3RDb21wbGV0CiAtICh2b2lkKV9hZGRFeHRyYUZpZWxkc1RvUmVxdWVzdDoo
TlNNdXRhYmxlVVJMUmVxdWVzdCAqKXJlcXVlc3QgYWx3YXlzRnJvbVJlcXVlc3Q6IChCT09MKWYK
IHsKICAgICBbcmVxdWVzdCBfd2ViX3NldEhUVFBVc2VyQWdlbnQ6W1tzZWxmIHdlYlZpZXddIHVz
ZXJBZ2VudEZvclVSTDpbcmVxdWVzdCBVUkxdXV07CisgICAgW3JlcXVlc3QgX3dlYl9zZXRIVFRQ
QWNjZXB0TGFuZ3VhZ2U6W1tzZWxmIHdlYlZpZXddIGFjY2VwdExhbmd1YWdlRm9yVVJMOltyZXF1
ZXN0IFVSTF1dXTsKICAgICAKICAgICAvLyBEb24ndCBzZXQgdGhlIGNvb2tpZSBwb2xpY3kgVVJM
IGlmIGl0J3MgYWxyZWFkeSBiZWVuIHNldC4KICAgICBpZiAoW3JlcXVlc3QgbWFpbkRvY3VtZW50
VVJMXSA9PSBuaWwpewpJbmRleDogLi9XZWJWaWV3LnN1YnByb2ovV2ViTG9hZGVyLm0KPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJWaWV3LnN1YnByb2ovV2ViTG9hZGVy
Lm0sdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuOTUKZGlmZiAtcCAtdSAtcjEuOTUgLi9XZWJWaWV3
LnN1YnByb2ovV2ViTG9hZGVyLm0KLS0tIC4vV2ViVmlldy5zdWJwcm9qL1dlYkxvYWRlci5tICAg
ICAgIDIwMDUvMDcvMDEgMDU6MjA6NDggICAgIDEuOTUKKysrIC4vV2ViVmlldy5zdWJwcm9qL1dl
YkxvYWRlci5tICAgICAgIDIwMDUvMDcvMTMgMTY6NDQ6MjYKQEAgLTM4OSw2ICszODksNyBAQCBz
dGF0aWMgQk9PTCBOU1VSTENvbm5lY3Rpb25TdXBwb3J0c0J1ZmZlCiAgICAgW3NlbGYgcmV0YWlu
XTsKIAogICAgIFttdXRhYmxlUmVxdWVzdCBfd2ViX3NldEhUVFBVc2VyQWdlbnQ6W3dlYlZpZXcg
dXNlckFnZW50Rm9yVVJMOltuZXdSZXF1ZXN0IFVSTF1dXTsKKyAgICBbbXV0YWJsZVJlcXVlc3Qg
X3dlYl9zZXRIVFRQQWNjZXB0TGFuZ3VhZ2U6W3dlYlZpZXcgYWNjZXB0TGFuZ3VhZ2VGb3JVUkw6
W25ld1JlcXVlc3QgVVJMXV1dOwogICAgIG5ld1JlcXVlc3QgPSBbbXV0YWJsZVJlcXVlc3QgYXV0
b3JlbGVhc2VdOwogCiAgICAgY2xpZW50UmVxdWVzdCA9IFtuZXdSZXF1ZXN0IF93ZWJEYXRhUmVx
dWVzdEV4dGVybmFsUmVxdWVzdF07CkluZGV4OiAuL1dlYlZpZXcuc3VicHJvai9XZWJWaWV3LmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYktpdC9XZWJWaWV3LnN1YnByb2ovV2Vi
Vmlldy5oLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE1OQpkaWZmIC1wIC11IC1yMS4xNTkgLi9X
ZWJWaWV3LnN1YnByb2ovV2ViVmlldy5oCi0tLSAuL1dlYlZpZXcuc3VicHJvai9XZWJWaWV3Lmgg
MjAwNS8wNi8wNSAxNzo1NDo0OCAgICAgMS4xNTkKKysrIC4vV2ViVmlldy5zdWJwcm9qL1dlYlZp
ZXcuaCAyMDA1LzA3LzEzIDE2OjQ0OjI2CkBAIC0zNDQsNiArMzQ0LDEzIEBAIGV4dGVybiBOU1N0
cmluZyAqV2ViVmlld1Byb2dyZXNzRmluaXNoZWQKICovCiAtIChOU1N0cmluZyAqKXVzZXJBZ2Vu
dEZvclVSTDooTlNVUkwgKilVUkw7CiAKKy8qIQorICAgIEBtZXRob2QgYWNjZXB0TGFuZ3VhZ2VG
b3JVUkw6CisgICAgQGFic3RyYWN0IEdldCB0aGUgYXBwcm9wcmlhdGUgQWNjZXB0LUxhbmd1YWdl
IEhUVFAgaGVhZGVyIGZvciBhIHBhcnRpY3VsYXIgVVJMLgorICAgIEBwYXJhbSBVUkwgVGhlIFVS
TC4KKyAgICBAcmVzdWx0IFRoZSBBY2NlcHQtTGFuZ3VhZ2Ugc3RyaW5nIGZvciB0aGUgc3VwcGxp
ZWQgVVJMLgorKi8KKy0gKE5TU3RyaW5nICopYWNjZXB0TGFuZ3VhZ2VGb3JVUkw6KE5TVVJMICop
VVJMOwogCiAvKiEKICAgICBAbWV0aG9kIHN1cHBvcnRzVGV4dEVuY29kaW5nCkluZGV4OiAuL1dl
YlZpZXcuc3VicHJvai9XZWJWaWV3Lm0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dl
YktpdC9XZWJWaWV3LnN1YnByb2ovV2ViVmlldy5tLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjI5
MApkaWZmIC1wIC11IC1yMS4yOTAgLi9XZWJWaWV3LnN1YnByb2ovV2ViVmlldy5tCi0tLSAuL1dl
YlZpZXcuc3VicHJvai9XZWJWaWV3Lm0gMjAwNS8wNi8yOSAyMjo1Mzo1MSAgICAgMS4yOTAKKysr
IC4vV2ViVmlldy5zdWJwcm9qL1dlYlZpZXcubSAyMDA1LzA3LzEzIDE2OjQ0OjI3CkBAIC0xMjQ1
LDYgKzEyNDUsNyBAQCBzdGF0aWMgYm9vbCBkZWJ1Z1dpZGdldCA9IHRydWU7CiB7CiAgICAgTlNN
dXRhYmxlVVJMUmVxdWVzdCAqcmVxdWVzdCA9IFtbTlNNdXRhYmxlVVJMUmVxdWVzdCBhbGxvY10g
aW5pdFdpdGhVUkw6VVJMXTsKICAgICBbcmVxdWVzdCBfd2ViX3NldEhUVFBVc2VyQWdlbnQ6W3Nl
bGYgdXNlckFnZW50Rm9yVVJMOlVSTF1dOworICAgIFtyZXF1ZXN0IF93ZWJfc2V0SFRUUEFjY2Vw
dExhbmd1YWdlOltzZWxmIGFjY2VwdExhbmd1YWdlRm9yVVJMOlVSTF1dOwogICAgIE5TQ2FjaGVk
VVJMUmVzcG9uc2UgKmNhY2hlZFJlc3BvbnNlID0gW1tOU1VSTENhY2hlIHNoYXJlZFVSTENhY2hl
XSBjYWNoZWRSZXNwb25zZUZvclJlcXVlc3Q6cmVxdWVzdF07CiAgICAgW3JlcXVlc3QgcmVsZWFz
ZV07CiAgICAgcmV0dXJuIGNhY2hlZFJlc3BvbnNlOwpAQCAtMTk0Niw2ICsxOTQ3LDI0IEBAIE5T
X0VOREhBTkRMRVIKIAogICAgIF9wcml2YXRlLT51c2VyQWdlbnQgPSBbdXNlckFnZW50IHJldGFp
bl07CiAgICAgcmV0dXJuIHVzZXJBZ2VudDsKK30KKworLy8gR2V0IHRoZSBhcHByb3ByaWF0ZSBB
Y2NlcHQtTGFuZ3VhZ2UgSFRUUCBoZWFkZXIgZm9yIGEgcGFydGljdWxhciBVUkwuCistIChOU1N0
cmluZyAqKWFjY2VwdExhbmd1YWdlRm9yVVJMOihOU1VSTCAqKVVSTAoreworICAgIE5TU3RyaW5n
ICpob3N0TmFtZSA9IFtVUkwgaG9zdF07CisgICAgaWYgKGhvc3ROYW1lKSB7CisKKyAgICAgICAg
Ly8gZUJheSB0cmVhdHMgcGVvcGxlIGNvbWluZyBmcm9tIHNvbWUgY291bnRyaWVzIChyZXBvcnRl
ZGx5LCBHZXJtYW55LCBJdGFseSwgRnJhbmNlIGFuZAorICAgICAgICAvLyBBdXN0cmlhKSBkaWZm
ZXJlbnRseSwgZGlzYWxsb3dpbmcgYWNjZXNzIHRvIHNvbWUgaXRlbXMuCisgICAgICAgIC8vIEZv
ciB3aGF0ZXZlciByZWFzb24sIGl0J3MgZW5vdWdoIHRvIGhhdmUgYW55IG9mIHRoZXNlIGxhbmd1
YWdlcyBpbiBvbmUncyAKKyAgICAgICAgLy8gQWNjZXB0LUxhbmd1YWdlIGhlYWRlciAobm90IG5l
Y2Vzc2FyaWx5IGFzIHRoZSBmaXJzdCBsYW5hZ3VnZSkgdG8gYmVjb21lIGEgdmljdGltLgorICAg
ICAgICBOU1JhbmdlIHRoZVJhbmdlID0gW2hvc3ROYW1lIHJhbmdlT2ZTdHJpbmc6QCIuZWJheS4i
IG9wdGlvbnM6TlNDYXNlSW5zZW5zaXRpdmVTZWFyY2hdOworICAgICAgICBpZiAodGhlUmFuZ2Uu
bG9jYXRpb24gIT0gTlNOb3RGb3VuZCkKKyAgICAgICAgICAgIHJldHVybiBbTlNVc2VyRGVmYXVs
dHMgX3dlYmtpdF9wcmVmZXJyZWRMYW5ndWFnZUNvZGVdOworICAgIH0KKworICAgIHJldHVybiBb
TlNVc2VyRGVmYXVsdHMgX3dlYmtpdF9wcmVmZXJyZWRMYW5ndWFnZUNvZGVzXTsKIH0KIAogLSAo
dm9pZClzZXRIb3N0V2luZG93OihOU1dpbmRvdyAqKWhvc3RXaW5kb3cK
</data>
<flag name="review"
          id="230"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>