<?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>163096</bug_id>
          
          <creation_ts>2016-10-06 17:37:08 -0700</creation_ts>
          <short_desc>window.navigator.language incorrectly returns all lowercase string</short_desc>
          <delta_ts>2021-05-06 13:48:13 -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>Bindings</component>
          <version>Safari Technology Preview</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.11</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=200043</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=225461</see_also>
          <bug_file_loc>https://html.spec.whatwg.org/#dom-navigator-language</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>163211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Matt Stow">matt</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>tomac</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1237413</commentid>
    <comment_count>0</comment_count>
    <who name="Matt Stow">matt</who>
    <bug_when>2016-10-06 17:37:08 -0700</bug_when>
    <thetext>When calling window.navigator.language, Safari will return something like &quot;en-us&quot;, whereas every other browser returns &quot;en-US&quot;.

As per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/language) and defined in [BCP47](http://www.ietf.org/rfc/bcp/bcp47.txt), valid Extended Language Subtags must be 2*3ALPHA (uppercase).

In the current web app I&apos;m building, this caused havoc with our localization, as the &quot;en-us&quot; didn&apos;t match any languages we had localized strings for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237681</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-07 10:58:20 -0700</bug_when>
    <thetext>Specification:
- https://html.spec.whatwg.org/#dom-navigator-language
- https://tools.ietf.org/html/bcp47

I confirmed that the part after the &apos;-&apos; is uppercase in Firefox and Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237694</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-07 11:35:59 -0700</bug_when>
    <thetext>in particular https://tools.ietf.org/html/bcp47#section-2.2.4 for Region subtag, which points to ISO3166-1 for country codes (that all appear to be uppercase).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237818</commentid>
    <comment_count>3</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-07 15:19:42 -0700</bug_when>
    <thetext>As per https://developer.apple.com/reference/corefoundation/1666963-cflocale?language=objc , CFLocale is using BCP-47 language tags. Our Mac implementation is relying on CFLocaleCopyPreferredLanguages() which does return BCP-47 language tags.

However, we then call httpStyleLanguageCode() on them which alters their format (and lower cases them).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237820</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-07 15:31:31 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; As per
&gt; https://developer.apple.com/reference/corefoundation/1666963-
&gt; cflocale?language=objc , CFLocale is using BCP-47 language tags. Our Mac
&gt; implementation is relying on CFLocaleCopyPreferredLanguages() which does
&gt; return BCP-47 language tags.
&gt; 
&gt; However, we then call httpStyleLanguageCode() on them which alters their
&gt; format (and lower cases them).

The name of this function seems to indicate this formatting is used for HTTP. However, RFC 2616 says:
&quot;&quot;&quot;
3.10 Language Tags

A language tag identifies a natural language spoken, written, or otherwise conveyed by human beings for communication of information to other human beings. Computer languages are explicitly excluded. HTTP uses language tags within the Accept-Language and Content- Language fields.

The syntax and registry of HTTP language tags is the same as that defined by RFC 1766 [1]. In summary, a language tag is composed of 1 or more parts: A primary language tag and a possibly empty series of subtags:

        language-tag  = primary-tag *( &quot;-&quot; subtag )
        primary-tag   = 1*8ALPHA
        subtag        = 1*8ALPHA
White space is not allowed within the tag and all tags are case- insensitive. The name space of language tags is administered by the IANA. Example tags include:

       en, en-US, en-cockney, i-cherokee, x-pig-latin
where any two-letter primary-tag is an ISO-639 language abbreviation and any two-letter initial subtag is an ISO-3166 country code. (The last three tags above are not registered tags; all but the last are examples of tags which could be registered in future.)
&quot;&quot;&quot;

https://www.ietf.org/rfc/rfc1766.txt says that language tags are case insensitive so the fact that we no longer return lowercase would not break HTTP use-cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237849</commentid>
    <comment_count>5</comment_count>
      <attachid>290982</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-07 16:13:19 -0700</bug_when>
    <thetext>Created attachment 290982
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237865</commentid>
    <comment_count>6</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2016-10-07 16:51:13 -0700</bug_when>
    <thetext>+CC ap, so he can tell us why we are wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237866</commentid>
    <comment_count>7</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2016-10-07 16:51:43 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; +CC ap, so he can tell us why we are wrong.

:D</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237925</commentid>
    <comment_count>8</comment_count>
      <attachid>290982</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 20:33:46 -0700</bug_when>
    <thetext>Comment on attachment 290982
Patch

Clearing flags on attachment: 290982

Committed r206949: &lt;http://trac.webkit.org/changeset/206949&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237926</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-10-07 20:33:52 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1237995</commentid>
    <comment_count>10</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2016-10-08 12:20:11 -0700</bug_when>
    <thetext>&gt; https://www.ietf.org/rfc/rfc1766.txt says that language tags are case insensitive so the fact that we no longer return lowercase would not break HTTP use-cases.

HTTP servers break for any attempted change to Accept-Language, so one needs to guess which behavior breaks the least amount of sites. Chrome and Firefox use upper case country codes in http too now, so please file a radar against CFNetwork to consider changing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757334</commentid>
    <comment_count>11</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-05-06 03:54:21 -0700</bug_when>
    <thetext>There seems to be a regression in iOS 14.6 Beta (Safari UA &quot;Mozilla/5.0 (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1&quot;). 

`navigator.language` 
// &quot;en-us&quot;

`navigator.languages` 
// [&quot;en-us&quot;]</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757396</commentid>
    <comment_count>12</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-06 07:44:58 -0700</bug_when>
    <thetext>(In reply to Thomas Steiner from comment #11)
&gt; There seems to be a regression in iOS 14.6 Beta (Safari UA &quot;Mozilla/5.0
&gt; (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like
&gt; Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1&quot;). 
&gt; 
&gt; `navigator.language` 
&gt; // &quot;en-us&quot;
&gt; 
&gt; `navigator.languages` 
&gt; // [&quot;en-us&quot;]

This looks like a regression from Bug 200043.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757446</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-06 09:31:43 -0700</bug_when>
    <thetext>We need a new bug report, then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757450</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-06 09:35:53 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #13)
&gt; We need a new bug report, then?

Yes, I have fixed Bug 225461.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757451</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-05-06 09:37:20 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #14)
&gt; Yes, I have fixed Bug 225461.

You meant filed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757452</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-06 09:38:40 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #15)
&gt; (In reply to Chris Dumez from comment #14)
&gt; &gt; Yes, I have fixed Bug 225461.
&gt; 
&gt; You meant filed.

Oops, Indeed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757489</commentid>
    <comment_count>17</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-06 10:27:16 -0700</bug_when>
    <thetext>(In reply to Thomas Steiner from comment #11)
&gt; There seems to be a regression in iOS 14.6 Beta (Safari UA &quot;Mozilla/5.0
&gt; (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like
&gt; Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1&quot;). 
&gt; 
&gt; `navigator.language` 
&gt; // &quot;en-us&quot;
&gt; 
&gt; `navigator.languages` 
&gt; // [&quot;en-us&quot;]

@Thomas: Are you sure this is a regression in iOS 14.6 Beta? Looking at the change that regressed it, it doesn&apos;t seem super recent.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757582</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-06 12:58:02 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #17)
&gt; (In reply to Thomas Steiner from comment #11)
&gt; &gt; There seems to be a regression in iOS 14.6 Beta (Safari UA &quot;Mozilla/5.0
&gt; &gt; (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like
&gt; &gt; Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1&quot;). 
&gt; &gt; 
&gt; &gt; `navigator.language` 
&gt; &gt; // &quot;en-us&quot;
&gt; &gt; 
&gt; &gt; `navigator.languages` 
&gt; &gt; // [&quot;en-us&quot;]
&gt; 
&gt; @Thomas: Are you sure this is a regression in iOS 14.6 Beta? Looking at the
&gt; change that regressed it, it doesn&apos;t seem super recent.

FYI, I have just confirmed that this was already broken in iOS 14.5. So not a super recent regression.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757592</commentid>
    <comment_count>19</comment_count>
    <who name="Thomas Steiner">tomac</who>
    <bug_when>2021-05-06 13:17:31 -0700</bug_when>
    <thetext>All my devices are always on the latest beta (#YOLO), and I first noticed it on 14.6. But, as was pointed out in the comment before, the bug may have been re-introduced before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1757620</commentid>
    <comment_count>20</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-05-06 13:48:13 -0700</bug_when>
    <thetext>(In reply to Chris Dumez from comment #18)
&gt; (In reply to Chris Dumez from comment #17)
&gt; &gt; (In reply to Thomas Steiner from comment #11)
&gt; &gt; &gt; There seems to be a regression in iOS 14.6 Beta (Safari UA &quot;Mozilla/5.0
&gt; &gt; &gt; (iPhone; CPU iPhone OS 14_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like
&gt; &gt; &gt; Gecko) Version/14.1.1 Mobile/15E148 Safari/604.1&quot;). 
&gt; &gt; &gt; 
&gt; &gt; &gt; `navigator.language` 
&gt; &gt; &gt; // &quot;en-us&quot;
&gt; &gt; &gt; 
&gt; &gt; &gt; `navigator.languages` 
&gt; &gt; &gt; // [&quot;en-us&quot;]
&gt; &gt; 
&gt; &gt; @Thomas: Are you sure this is a regression in iOS 14.6 Beta? Looking at the
&gt; &gt; change that regressed it, it doesn&apos;t seem super recent.
&gt; 
&gt; FYI, I have just confirmed that this was already broken in iOS 14.5. So not
&gt; a super recent regression.

Was already broken on 14.0 too. Anyway, I have am fixing this (again) via Bug 225461.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>290982</attachid>
            <date>2016-10-07 16:13:19 -0700</date>
            <delta_ts>2016-10-07 20:33:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-163096-20161007161003.patch</filename>
            <type>text/plain</type>
            <size>7901</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA2OTIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDNhMjJlNTQzODc5M2I4ZjY1OGYzYWVl
OWM1N2FhZjY4YWU3NmY0M2MuLjA1Y2Q3ZjFkNDY0NGQxMGEwMzQ3YTAzZTlmODI5Mzc5MzI5ZjNi
ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTYtMTAtMDcgIENocmlzIER1bWV6ICA8Y2R1bWV6
QGFwcGxlLmNvbT4KKworICAgICAgICB3aW5kb3cubmF2aWdhdG9yLmxhbmd1YWdlIGluY29ycmVj
dGx5IHJldHVybnMgYWxsIGxvd2VyY2FzZSBzdHJpbmcKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MzA5NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5n
dWFnZXMoKSBzbyB0aGF0IGl0IG5vIGxvbmdlciBsb3dlcmNhc2VzCisgICAgICAgIHRoZSBzdHJp
bmcgaXQgcmV0dXJucy4gT24gTWFjLCB3ZSByZWx5IG9uIENGTG9jYWxlIHdoaWNoIHJldHVybnMK
KyAgICAgICAgQkNQLTQ3IGxhbmd1YWdlIHRhZ3MgYXMgcGVyOgorICAgICAgICAtIGh0dHBzOi8v
ZGV2ZWxvcGVyLmFwcGxlLmNvbS9yZWZlcmVuY2UvY29yZWZvdW5kYXRpb24vMTY2Njk2My1jZmxv
Y2FsZT9sYW5ndWFnZT1vYmpjCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1Vc2VyUHJlZmVycmVk
TGFuZ3VhZ2VzTWFjLm1tOgorICAgICAgICAoV1RGOjpodHRwU3R5bGVMYW5ndWFnZUNvZGUpOgor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNVbml4LmNwcDoKKyAg
ICAgICAgKFdURjo6cGxhdGZvcm1MYW5ndWFnZSk6CisKIDIwMTYtMTAtMDYgIEJyZW50IEZ1bGdo
YW0gIDxiZnVsZ2hhbUBhcHBsZS5jb20+CiAKICAgICAgICAgW1dpbl1bRGlyZWN0MkRdIEFkZCBE
aXJlY3QyRCBDTWFrZSBydWxlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9n
IGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDQyYTE4Yjk0ZWQ3NDJhODg5ZDQ0YzA5
OTAxZDNmYzcwZGMxZDliYTIuLmYyYTk5NDBiNDUzOGRkNzQxZGUxNWI3ZmZkMDExZWY1NWFlYWFj
MTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxNi0xMC0wNyAgQ2hyaXMgRHVtZXog
IDxjZHVtZXpAYXBwbGUuY29tPgorCisgICAgICAgIHdpbmRvdy5uYXZpZ2F0b3IubGFuZ3VhZ2Ug
aW5jb3JyZWN0bHkgcmV0dXJucyBhbGwgbG93ZXJjYXNlIHN0cmluZworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYzMDk2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIG5hdmlnYXRvci5sYW5ndWFn
ZSBzbyB0aGF0IGl0IG5vIGxvbmdlciByZXR1cm5zIGFuIGFsbCBsb3dlcmNhc2UKKyAgICAgICAg
c3RyaW5nIChlLmcuICdlbi11cycgLT4gJ2VuLVVTJykuIFRoaXMgbWF0Y2hlcyB0aGUgYmVoYXZp
b3Igb2Ygb3RoZXIKKyAgICAgICAgYnJvd3NlcnMgYW5kIHRoZSBzcGVjaWZpY2F0aW9uIHdoaWNo
IGluZGljYXRlIHdlIHNob3VsZCByZXR1cm4gYQorICAgICAgICBCQ1AgNDcgbGFuZ3VhZ2UgdGFn
OgorICAgICAgICAtIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvI2RvbS1uYXZpZ2F0b3It
bGFuZ3VhZ2UKKyAgICAgICAgLSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvYmNwNDcKKwor
ICAgICAgICBUaGUgb3RoZXIgY2FsbCBzaXRlcyByZWx5aW5nIG9uIHVzZXJQcmVmZXJyZWRMYW5n
dWFnZXMoKSB1c2UgY2FzZQorICAgICAgICBpbnNlbnNpdGl2ZSBjb21wYXJpc29uIHNvIHRoZXkg
d2lsbCBub3QgYnJlYWsuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLCB1cGRhdGVkIGV4aXN0aW5n
IHRlc3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9MYW5ndWFnZS5oOgorCiAyMDE2LTEwLTA3ICBO
YW4gV2FuZyAgPG5fd2FuZ0BhcHBsZS5jb20+CiAKICAgICAgICAgQVg6IEFYUm9sZURlc2NyaXB0
aW9uIGZvciBkZXRhaWxzIGFuZCBzdW1tYXJ5IGVsZW1lbnRzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNNYWMubW0gYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNNYWMubW0KaW5kZXggZDkyMmViNmU1
MDI1OTI1ZGY0MzEwYmMzZTY2MmIxZTNhNDU5NjYzNy4uM2FlNzFhZWZjMzZhZTg5NWE4YWZiZTc2
YTY0YzUzYzYzMDk2ZTQ0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2Vy
UHJlZmVycmVkTGFuZ3VhZ2VzTWFjLm1tCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtVXNl
clByZWZlcnJlZExhbmd1YWdlc01hYy5tbQpAQCAtODAsMTAgKzgwLDEwIEBAIG5hbWVzcGFjZSBX
VEYgewogc3RhdGljIFN0cmluZyBodHRwU3R5bGVMYW5ndWFnZUNvZGUoTlNTdHJpbmcgKmxhbmd1
YWdlKQogewogICAgIFNJbnQzMiBsYW5ndWFnZUNvZGU7Ci0gICAgU0ludDMyIHJlZ2lvbkNvZGU7
IAotICAgIFNJbnQzMiBzY3JpcHRDb2RlOyAKKyAgICBTSW50MzIgcmVnaW9uQ29kZTsKKyAgICBT
SW50MzIgc2NyaXB0Q29kZTsKICAgICBDRlN0cmluZ0VuY29kaW5nIHN0cmluZ0VuY29kaW5nOwot
ICAgIAorCiAgICAgLy8gRklYTUU6IFRoaXMgdHJhbnNmb3JtYXRpb24gaXMgdmVyeSB3cm9uZzoK
ICAgICAvLyAxLiBUaGVyZSBpcyBubyByZWFzb24gd2h5IENGQnVuZGxlIGxvY2FsaXphdGlvbiBu
YW1lcyB3b3VsZCBiZSBhdCBhbGwgcmVsYXRlZCB0byBsYW5ndWFnZSBuYW1lcyBhcyB1c2VkIG9u
IHRoZSBXZWIuCiAgICAgLy8gMi4gU2NyaXB0IE1hbmFnZXIgY29kZXMgY2Fubm90IHJlcHJlc2Vu
dCBhbGwgbGFuZ3VhZ2VzIHRoYXQgYXJlIG5vdyBzdXBwb3J0ZWQgYnkgdGhlIHBsYXRmb3JtLCBz
byB0aGUgY29udmVyc2lvbiBpcyBsb3NzeS4KQEAgLTkzLDE3ICs5MywxNCBAQCBzdGF0aWMgU3Ry
aW5nIGh0dHBTdHlsZUxhbmd1YWdlQ29kZShOU1N0cmluZyAqbGFuZ3VhZ2UpCiAgICAgaWYgKHBy
ZWZlcnJlZExhbmd1YWdlQ29kZSkKICAgICAgICAgbGFuZ3VhZ2UgPSAoTlNTdHJpbmcgKilwcmVm
ZXJyZWRMYW5ndWFnZUNvZGUuZ2V0KCk7CiAKLSAgICAvLyBNYWtlIHRoZSBzdHJpbmcgbG93ZXJj
YXNlLgotICAgIE5TU3RyaW5nICpsb3dlcmNhc2VMYW5ndWFnZUNvZGUgPSBbbGFuZ3VhZ2UgbG93
ZXJjYXNlU3RyaW5nXTsKLSAgICAgICAgCiAgICAgLy8gVHVybiBhICdfJyBpbnRvIGEgJy0nIGlm
IGl0IGFwcGVhcnMgYWZ0ZXIgYSAyLWxldHRlciBsYW5ndWFnZSBjb2RlCi0gICAgaWYgKFtsb3dl
cmNhc2VMYW5ndWFnZUNvZGUgbGVuZ3RoXSA+PSAzICYmIFtsb3dlcmNhc2VMYW5ndWFnZUNvZGUg
Y2hhcmFjdGVyQXRJbmRleDoyXSA9PSAnXycpIHsKLSAgICAgICAgUmV0YWluUHRyPE5TTXV0YWJs
ZVN0cmluZz4gbXV0YWJsZUxhbmd1YWdlQ29kZSA9IGFkb3B0TlMoW2xvd2VyY2FzZUxhbmd1YWdl
Q29kZSBtdXRhYmxlQ29weV0pOworICAgIGlmIChbbGFuZ3VhZ2UgbGVuZ3RoXSA+PSAzICYmIFts
YW5ndWFnZSBjaGFyYWN0ZXJBdEluZGV4OjJdID09ICdfJykgeworICAgICAgICBSZXRhaW5QdHI8
TlNNdXRhYmxlU3RyaW5nPiBtdXRhYmxlTGFuZ3VhZ2VDb2RlID0gYWRvcHROUyhbbGFuZ3VhZ2Ug
bXV0YWJsZUNvcHldKTsKICAgICAgICAgW211dGFibGVMYW5ndWFnZUNvZGUuZ2V0KCkgcmVwbGFj
ZUNoYXJhY3RlcnNJblJhbmdlOk5TTWFrZVJhbmdlKDIsIDEpIHdpdGhTdHJpbmc6QCItIl07CiAg
ICAgICAgIHJldHVybiBtdXRhYmxlTGFuZ3VhZ2VDb2RlLmdldCgpOwogICAgIH0KIAotICAgIHJl
dHVybiBsb3dlcmNhc2VMYW5ndWFnZUNvZGU7CisgICAgcmV0dXJuIGxhbmd1YWdlOwogfQogCiBW
ZWN0b3I8U3RyaW5nPiBwbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXMoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1Vc2VyUHJlZmVycmVkTGFuZ3VhZ2VzVW5peC5jcHAg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNVbml4LmNwcApp
bmRleCBjYjBlYjlhYjg1MDA4NjFlZGU1NWZmMGU0NmY5Nzk1ODljMDI0OTEzLi5hMTg3MmQ4OWE1
MWIyYjZkNDg0Nzg4NmY3MDc3MWNlMzc2NjJmMzg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0
Zi9QbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNVbml4LmNwcAorKysgYi9Tb3VyY2UvV1RG
L3d0Zi9QbGF0Zm9ybVVzZXJQcmVmZXJyZWRMYW5ndWFnZXNVbml4LmNwcApAQCAtMzYsOSArMzYs
OSBAQCBzdGF0aWMgU3RyaW5nIHBsYXRmb3JtTGFuZ3VhZ2UoKQogewogICAgIFN0cmluZyBsb2Nh
bGVEZWZhdWx0KHNldGxvY2FsZShMQ19DVFlQRSwgbnVsbHB0cikpOwogICAgIGlmIChsb2NhbGVE
ZWZhdWx0LmlzRW1wdHkoKSB8fCBlcXVhbElnbm9yaW5nQVNDSUlDYXNlKGxvY2FsZURlZmF1bHQs
ICJDIikgfHwgZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShsb2NhbGVEZWZhdWx0LCAiUE9TSVgiKSkK
LSAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiZW4tdXMiKTsKKyAgICAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiZW4tVVMiKTsKIAotICAgIFN0cmluZyBub3JtYWxpemVkRGVmYXVsdCA9IGxv
Y2FsZURlZmF1bHQuY29udmVydFRvQVNDSUlMb3dlcmNhc2UoKTsKKyAgICBTdHJpbmcgbm9ybWFs
aXplZERlZmF1bHQgPSBsb2NhbGVEZWZhdWx0OwogICAgIG5vcm1hbGl6ZWREZWZhdWx0LnJlcGxh
Y2UoJ18nLCAnLScpOwogICAgIG5vcm1hbGl6ZWREZWZhdWx0LnRydW5jYXRlKG5vcm1hbGl6ZWRE
ZWZhdWx0LmZpbmQoJy4nKSk7CiAgICAgcmV0dXJuIG5vcm1hbGl6ZWREZWZhdWx0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuaCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL0xhbmd1YWdlLmgKaW5kZXggMTEyNjAzYTlmYzgwMGIxNTUwOWZhM2ZhYzk1ODI2
ODg4OWM3Mzk2Yi4uY2Q3ZTY2N2EyNzExMjQ5ODk1MTM2MjczYzllYWMzY2I0MDhmMTc2YyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vTGFuZ3VhZ2UuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9MYW5ndWFnZS5oCkBAIC0zMiw3ICszMiw3IEBACiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKIFdFQkNPUkVfRVhQT1JUIFN0cmluZyBkZWZhdWx0TGFuZ3VhZ2UoKTsgLy8g
VGhyZWFkLXNhZmUuCi1XRUJDT1JFX0VYUE9SVCBWZWN0b3I8U3RyaW5nPiB1c2VyUHJlZmVycmVk
TGFuZ3VhZ2VzKCk7IC8vIFRocmVhZC1zYWZlLgorV0VCQ09SRV9FWFBPUlQgVmVjdG9yPFN0cmlu
Zz4gdXNlclByZWZlcnJlZExhbmd1YWdlcygpOyAvLyBUaHJlYWQtc2FmZSwgcmV0dXJucyBCQ1Ag
NDcgbGFuZ3VhZ2UgdGFncy4KIFZlY3RvcjxTdHJpbmc+IHVzZXJQcmVmZXJyZWRMYW5ndWFnZXNP
dmVycmlkZSgpOwogV0VCQ09SRV9FWFBPUlQgdm9pZCBvdmVycmlkZVVzZXJQcmVmZXJyZWRMYW5n
dWFnZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mKTsKIHNpemVfdCBpbmRleE9mQmVzdE1hdGNoaW5n
TGFuZ3VhZ2VJbkxpc3QoY29uc3QgU3RyaW5nJiBsYW5ndWFnZSwgY29uc3QgVmVjdG9yPFN0cmlu
Zz4mIGxhbmd1YWdlTGlzdCwgYm9vbCYgZXhhY3RNYXRjaCk7CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjU5NTEzMzQ1NWY0
MzEyYjM5N2E0YzliNmM1ZDJmMzE1Yzg5ZjBkMS4uNjE2NDdhOGMxYmQ0NzYwODc0MzA2NzdkZjAx
YWMyY2FjNjI5NDVkOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDE2LTEwLTA3ICBDaHJpcyBE
dW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgd2luZG93Lm5hdmlnYXRvci5sYW5n
dWFnZSBpbmNvcnJlY3RseSByZXR1cm5zIGFsbCBsb3dlcmNhc2Ugc3RyaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjMwOTYKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgZXhpc3RpbmcgdGVz
dCBzbyB0aGF0IGl0IGRvZXMgbm90IGxvd2VyY2FzZSBuYXZpZ2F0b3IubGFuZ3VhZ2UKKyAgICAg
ICAgYmVmb3JlIGNoZWNraW5nIGl0LiBUaGlzIHdheSwgd2UgY2FuIG1ha2Ugc3VyZSBpdCByZXR1
cm5zIGVuLVVTIGFuZAorICAgICAgICBub3QgZW4tdXMuCisKKyAgICAgICAgKiBqcy9kb20vbmF2
aWdhdG9yLWxhbmd1YWdlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBqcy9kb20vbmF2aWdhdG9y
LWxhbmd1YWdlLmh0bWw6CisKIDIwMTYtMTAtMDcgIE5hbiBXYW5nICA8bl93YW5nQGFwcGxlLmNv
bT4KIAogICAgICAgICBBWDogQVhSb2xlRGVzY3JpcHRpb24gZm9yIGRldGFpbHMgYW5kIHN1bW1h
cnkgZWxlbWVudHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2pzL2RvbS9uYXZpZ2F0b3ItbGFu
Z3VhZ2UtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvanMvZG9tL25hdmlnYXRvci1sYW5ndWFn
ZS1leHBlY3RlZC50eHQKaW5kZXggMzU3OWQyMzM4ODEzNzAwOTc3NmM4YWJhMmI2ZTM5MTllNDZk
YTlhZC4uZDRlMTBkYzc0ODBlYzI0YjE4ZDZmMGI4NjhkNzRhNjMwZDliMjE0YSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvanMvZG9tL25hdmlnYXRvci1sYW5ndWFnZS1leHBlY3RlZC50eHQKKysr
IGIvTGF5b3V0VGVzdHMvanMvZG9tL25hdmlnYXRvci1sYW5ndWFnZS1leHBlY3RlZC50eHQKQEAg
LTIsNyArMiw3IEBAIENoZWNrIHJldHVybiB2YWx1ZSBvZiBuYXZpZ2F0b3IubGFuZ3VhZ2UuCiBP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIAotUEFTUyBsYW5ndWFnZSBpcyAnZW4tdXMnCitQ
QVNTIGxhbmd1YWdlIGlzICdlbi1VUycKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
IAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvanMvZG9tL25hdmlnYXRv
ci1sYW5ndWFnZS5odG1sIGIvTGF5b3V0VGVzdHMvanMvZG9tL25hdmlnYXRvci1sYW5ndWFnZS5o
dG1sCmluZGV4IDM3YzVhMjI0NmY4MDlkNTk5ODIwOTQyMWYwYzk4MTVkZDI1YTNmZmYuLmNhMzlj
YWY5ZjRkZjA3NDQzYzk5OTEwMzQwN2Q2YzY1YmU2ZWMwYTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2pzL2RvbS9uYXZpZ2F0b3ItbGFuZ3VhZ2UuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9qcy9k
b20vbmF2aWdhdG9yLWxhbmd1YWdlLmh0bWwKQEAgLTE0LDExICsxNCwxMSBAQCBpZiAod2luZG93
LnRlc3RSdW5uZXIpIHsKICAgICB0ZXN0UnVubmVyLnNldFBPU0lYTG9jYWxlKCJlbl9VUy5pc284
ODU5MSIpOwogfQogCi12YXIgbGFuZ3VhZ2UgPSBuYXZpZ2F0b3IubGFuZ3VhZ2UudG9Mb3dlckNh
c2UoKTsKK3ZhciBsYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZTsKIGlmIChsYW5ndWFnZS5s
ZW5ndGggPT0gMikKICAgICBzaG91bGRCZSgibGFuZ3VhZ2UiLCAiJ2VuJyIpOwogZWxzZQotICAg
IHNob3VsZEJlKCJsYW5ndWFnZSIsICInZW4tdXMnIik7CisgICAgc2hvdWxkQmUoImxhbmd1YWdl
IiwgIidlbi1VUyciKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9q
cy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5Pgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>