<?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>189987</bug_id>
          
          <creation_ts>2018-09-25 21:48:34 -0700</creation_ts>
          <short_desc>[Win] error C2139: &apos;WebKit::UpdateInfo&apos;: an undefined class is not allowed as an argument to compiler intrinsic type trait &apos;__is_assignable&apos;</short_desc>
          <delta_ts>2019-06-26 11:06:15 -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>WebKit2</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>WORKSFORME</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>192295</blocked>
    
    <blocked>189467</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Fujii Hironori">fujii</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>andersca</cc>
    
    <cc>annulen</cc>
    
    <cc>bfulgham</cc>
    
    <cc>chris.reid</cc>
    
    <cc>don.olmstead</cc>
    
    <cc>mark.salisbury</cc>
    
    <cc>todd</cc>
    
    <cc>vonreth</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1463511</commentid>
    <comment_count>0</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 21:48:34 -0700</bug_when>
    <thetext>[Win] error C2139: &apos;WebKit::UpdateInfo&apos;: an undefined class is not allowed as an argument to compiler intrinsic type trait &apos;__is_assignable&apos;

Visual Studio 2017 version 15.8.5 can&apos;t compile WebKit.

&gt; 37&gt;c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\type_traits(912): error C2139: &apos;WebKit::UpdateInfo&apos;: an undefined class is not allowed as an argument to compiler intrinsic type trait &apos;__is_assignable&apos; (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\webkit\ga\webkitbuild\debug\derivedsources\webkit\drawingareaproxymessages.h(37): note: see declaration of &apos;WebKit::UpdateInfo&apos; (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\webkit\ga\webkitbuild\debug\derivedsources\webkit\drawingareaproxymessages.h(69): note: see reference to class template instantiation &apos;std::is_move_assignable&lt;const WebKit::UpdateInfo &amp;&gt;&apos; being compiled (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\type_traits(912): note: see reference to variable template &apos;const bool conjunction_v&lt;std::is_move_assignable&lt;unsigned __int64&gt;,std::is_move_assignable&lt;WebKit::UpdateInfo const &amp;&gt; &gt;&apos; being compiled (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\type_traits(901): error C2139: &apos;WebKit::UpdateInfo&apos;: an undefined class is not allowed as an argument to compiler intrinsic type trait &apos;__is_assignable&apos; (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\webkit\ga\webkitbuild\debug\derivedsources\webkit\drawingareaproxymessages.h(37): note: see declaration of &apos;WebKit::UpdateInfo&apos; (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\webkit\ga\webkitbuild\debug\derivedsources\webkit\drawingareaproxymessages.h(69): note: see reference to class template instantiation &apos;std::is_copy_assignable&lt;const WebKit::UpdateInfo &amp;&gt;&apos; being compiled (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)
&gt; 37&gt;c:\program files (x86)\microsoft visual studio\2017\professional\vc\tools\msvc\14.15.26726\include\type_traits(901): note: see reference to variable template &apos;const bool conjunction_v&lt;std::is_copy_assignable&lt;unsigned __int64&gt;,std::is_copy_assignable&lt;WebKit::UpdateInfo const &amp;&gt; &gt;&apos; being compiled (compiling source file C:\webkit\ga\Source\WebKit\UIProcess\AcceleratedDrawingAreaProxy.cpp)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463523</commentid>
    <comment_count>1</comment_count>
      <attachid>350848</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 22:19:40 -0700</bug_when>
    <thetext>Created attachment 350848
repro

&gt; C:\home&gt;cl /c a.cpp
&gt; Microsoft (R) C/C++ Optimizing Compiler Version 19.15.26730 for x64
&gt; Copyright (C) Microsoft Corporation.  All rights reserved.
&gt; 
&gt; a.cpp
&gt; C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include\type_traits(912): error C2139: &apos;WebKit::UpdateInfo&apos;: an undefined class is not allowed as an argument to compiler intrinsic type trait &apos;__is_assignable&apos;
&gt; a.cpp(5): note: see declaration of &apos;WebKit::UpdateInfo&apos;
&gt; a.cpp(19): note: see reference to class template instantiation &apos;std::is_move_assignable&lt;_This&gt;&apos; being compiled
&gt;         with
&gt;         [
&gt;             _This=const WebKit::UpdateInfo &amp;
&gt;         ]
&gt; C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include\type_traits(912): note: see reference to variable template &apos;const bool conjunction_v&lt;std::is_move_assignable&lt;WebKit::UpdateInfo const &amp;&gt; &gt;&apos; being compiled
&gt; C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include\type_traits(901): error C2139: &apos;WebKit::UpdateInfo&apos;: an undefined class is not allowed as an argument to compiler intrinsic type trait &apos;__is_assignable&apos;
&gt; a.cpp(5): note: see declaration of &apos;WebKit::UpdateInfo&apos;
&gt; a.cpp(19): note: see reference to class template instantiation &apos;std::is_copy_assignable&lt;_This&gt;&apos; being compiled
&gt;         with
&gt;         [
&gt;             _This=const WebKit::UpdateInfo &amp;
&gt;         ]
&gt; C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.15.26726\include\type_traits(901): note: see reference to variable template &apos;const bool conjunction_v&lt;std::is_copy_assignable&lt;WebKit::UpdateInfo const &amp;&gt; &gt;&apos; being compiled
&gt; 
&gt; C:\home&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1463527</commentid>
    <comment_count>2</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-09-25 22:31:40 -0700</bug_when>
    <thetext>Reported:
https://developercommunity.visualstudio.com/content/problem/343550/webkit-an-undefined-class-is-not-allowed-as-an-arg.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464655</commentid>
    <comment_count>3</comment_count>
    <who name="Todd Morrison">todd</who>
    <bug_when>2018-09-28 18:01:24 -0700</bug_when>
    <thetext>Can confirm that the issue doesn&apos;t occur on 15.6-15.7 Build Tools.

Prior builds for reproduction can be found at https://docs.microsoft.com/en-us/visualstudio/productinfo/installing-an-earlier-release-of-vs2017

Also see prior tags (ex. Safari-607.1.8) failing with the same error on 15.7 Build Tools. 

This looks like a VS issue, not something in the kit sources.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1464657</commentid>
    <comment_count>4</comment_count>
    <who name="Todd Morrison">todd</who>
    <bug_when>2018-09-28 18:03:24 -0700</bug_when>
    <thetext>Correction: &quot;Also see prior tags (ex. Safari-607.1.8) failing with the same error on 15.8 Build Tools.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467324</commentid>
    <comment_count>5</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-08 20:39:18 -0700</bug_when>
    <thetext>This is a spec of MSVC.

https://developercommunity.visualstudio.com/content/problem/343550/webkit-an-undefined-class-is-not-allowed-as-an-arg.html?childToView=351971#comment-351971

&gt; Thank you for your feedback! We have determined that this issue
&gt; is not a bug, but is a consequence of our implementation of the
&gt; resolution for LWG defect 2729 and 2958 (
&gt; https://wg21.link/lwg2729 https://wg21.link/lwg2958 ). LWG 2729
&gt; specifies that tuple&apos;s copy assignment shall be defined as
&gt; deleted unless is_copy_assignable_v holds for all of the tuple&apos;s
&gt; element types.
&gt; 
&gt; The repro contains a class Update with a non-static data member
&gt; of type std::tuple&lt;const WebKit::UpdateInfo&amp;&gt; where
&gt; WebKit::UpdateInfo is an incomplete type. When the compiler
&gt; generates Update&apos;s copy assignment operator, it must determine if
&gt; overload resolution to determine the assignment operator used to
&gt; copy Update&apos;s member of type std::tuple&lt;const
&gt; WebKit::UpdateInfo&amp;&gt; &quot;results in an ambiguity or a function that
&gt; is deleted or inaccessible from the defaulted assignment
&gt; operator&quot; so as to determine if Update&apos;s implicitly-defaulted
&gt; copy assignment operator should be defined as deleted per C++17
&gt; [class.copy.assign]/7.4. Performing that overload resolution for
&gt; std::tuple&apos;s copy assignment then necessarily must check the
&gt; constraint added by LWG 2729 and determine if
&gt; is_copy_assignable_v&lt;const WebKit::UpdateInfo&amp;&gt; holds.
&gt; 
&gt; It&apos;s impossible to determine if a reference to an incomplete type
&gt; would be assignable if the referenced type were complete: the
&gt; fact that this isn&apos;t a precondition of the is_XXX_assignable
&gt; traits is a defect in the Standard and the subject of LWG 3099 (
&gt; https://wg21.link/lwg3099 ). MSVC chooses to diagnose this
&gt; particular precondition violation, some other compilers like to
&gt; choose an answer arbitrarily ( https://godbolt.org/z/ao-bUK ),
&gt; but in any case the program has undefined behavior.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1467367</commentid>
    <comment_count>6</comment_count>
      <attachid>351872</attachid>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-09 02:10:02 -0700</bug_when>
    <thetext>Created attachment 351872
WIP patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1470434</commentid>
    <comment_count>7</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-17 18:49:25 -0700</bug_when>
    <thetext>If I apply this WIP patch, other issue will rise, which is same with Bug 189467 and Bug 188589 Comment 8.
It will be fixed in the upcoming VS.
https://developercommunity.visualstudio.com/content/problem/315575/overload-resolution-for-built-in-operator-and-enum.html
I need to wait for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471310</commentid>
    <comment_count>8</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2018-10-22 13:08:33 -0700</bug_when>
    <thetext>This appears to have landed in 15.8.7 according to creid.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471453</commentid>
    <comment_count>9</comment_count>
    <who name="Christopher Reid">chris.reid</who>
    <bug_when>2018-10-22 18:35:55 -0700</bug_when>
    <thetext>(In reply to Don Olmstead from comment #8)
&gt; This appears to have landed in 15.8.7 according to creid.

This can be reopened. Somehow it was compiling on Friday with a Visual Studio Community install on a new machine. I now have this issue after installing Professional and making other environment changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1471461</commentid>
    <comment_count>10</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-10-22 18:54:08 -0700</bug_when>
    <thetext>I confirmed VS 2017 version 15.8.7 still has both issues. Reopened.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1479261</commentid>
    <comment_count>11</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2018-11-15 21:40:15 -0800</bug_when>
    <thetext>Good news! Microsoft finally admits this is a bug.

https://developercommunity.visualstudio.com/content/problem/343550/webkit-an-undefined-class-is-not-allowed-as-an-arg.html?childToView=384311#comment-384311

&gt; I&apos;ve reexamined this problem, and come to the conclusion that I
&gt; was wrong to claim this isn&apos;t a bug.
&gt; 
&gt; The repro here - and for
&gt; https://developercommunity.visualstudio.com/content/problem/383162/stdtuple-compiler-error-for-incomplete-type-refere.html
&gt; as well - never ODR-uses the assignment operator of the
&gt; tuple-of-reference-to-incomplete-type nor ODR-uses an
&gt; implicitly-declared assignment operator of a class with the
&gt; tuple-of-reference-to-incomplete-type as a subobject. In short,
&gt; the repro shouldn&apos;t cause the potentially-deleted assignment
&gt; operator to be generated yet the compiler does so anyway. That&apos;s
&gt; a bug.
&gt; 
&gt; My sincerest apologies for the mistake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1494241</commentid>
    <comment_count>12</comment_count>
      <attachid>359064</attachid>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2019-01-14 12:06:52 -0800</bug_when>
    <thetext>Created attachment 359064
Patch

Rebased the WIP patch to latest trunk to see if latest Visual Studio 2017, 15.9.5 toolset works with it, and it does!

This patch appears to duplicate a good amount of logic in generate_message_handler. This also means that there are a good amount of headers that are included in the .cpp and the .h. To be fair the original code didn&apos;t seem to be too smart about not including headers in the .cpp that are in the .h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1495034</commentid>
    <comment_count>13</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-01-16 01:00:43 -0800</bug_when>
    <thetext>Finally!

https://developercommunity.visualstudio.com/content/problem/343550/webkit-an-undefined-class-is-not-allowed-as-an-arg.html?childToView=428559#comment-428559

&gt; We have fixed the problem in an upcoming release. Thank you for your feedback!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1512230</commentid>
    <comment_count>14</comment_count>
    <who name="Don Olmstead">don.olmstead</who>
    <bug_when>2019-03-04 10:42:48 -0800</bug_when>
    <thetext>This is fixed since VS 2019 Update 3. I don&apos;t think it&apos;ll be back ported to 2017 so we&apos;re going to need to move to 2019 shortly after its release in April 2019. Currently its in RC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1523651</commentid>
    <comment_count>15</comment_count>
    <who name="Fujii Hironori">fujii</who>
    <bug_when>2019-04-03 01:57:44 -0700</bug_when>
    <thetext>I confirmed Visual Studio 2019 can compile. Closed this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1548066</commentid>
    <comment_count>16</comment_count>
    <who name="Konstantin Tokarev">annulen</who>
    <bug_when>2019-06-26 11:06:15 -0700</bug_when>
    <thetext>I&apos;ve found a bug in this patch, so if there is any interest in supporting MSVC2017 I can share my solution</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>350848</attachid>
            <date>2018-09-25 22:19:40 -0700</date>
            <delta_ts>2018-09-25 22:19:40 -0700</delta_ts>
            <desc>repro</desc>
            <filename>a.cpp</filename>
            <type>text/plain</type>
            <size>297</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">I2luY2x1ZGUgPHR1cGxlPgojaW5jbHVkZSA8Y3N0ZGludD4KCm5hbWVzcGFjZSBXZWJLaXQgewpj
bGFzcyBVcGRhdGVJbmZvOwp9CgpjbGFzcyBVcGRhdGUgewpwdWJsaWM6CiAgICB0eXBlZGVmIHN0
ZDo6dHVwbGU8Y29uc3QgV2ViS2l0OjpVcGRhdGVJbmZvJj4gQXJndW1lbnRzOwoKICAgIFVwZGF0
ZShjb25zdCBXZWJLaXQ6OlVwZGF0ZUluZm8mIHVwZGF0ZUluZm8pCiAgICAgICAgOiBtX2FyZ3Vt
ZW50cyh1cGRhdGVJbmZvKQogICAgewogICAgfQoKcHJpdmF0ZToKICAgIEFyZ3VtZW50cyBtX2Fy
Z3VtZW50czsKfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>351872</attachid>
            <date>2018-10-09 02:10:02 -0700</date>
            <delta_ts>2019-01-14 12:06:52 -0800</delta_ts>
            <desc>WIP patch</desc>
            <filename>a.diff</filename>
            <type>text/plain</type>
            <size>4880</size>
            <attacher name="Fujii Hironori">fujii</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvTWVzc2FnZXMtZXhwZWN0
ZWQuaCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvTWVzc2FnZXMtZXhwZWN0ZWQuaApp
bmRleCBkYjBiOWNjMDdhYS4uYTVkMWYyODhlNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
U2NyaXB0cy93ZWJraXQvTWVzc2FnZXMtZXhwZWN0ZWQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L01lc3NhZ2VzLWV4cGVjdGVkLmgKQEAgLTI4LDI2ICsyOCwzMCBAQAogCiAj
aW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaWYg
RU5BQkxFKERFUFJFQ0FURURfRkVBVFVSRSkgfHwgRU5BQkxFKEVYUEVSSU1FTlRBTF9GRUFUVVJF
KQorI2luY2x1ZGUgIkR1bW15VHlwZS5oIgorI2VuZGlmCisjaWYgUExBVEZPUk0oTUFDKQorI2lu
Y2x1ZGUgIk1hY2hQb3J0LmgiCisjZW5kaWYKICNpbmNsdWRlICJQbHVnaW4uaCIKKyNpbmNsdWRl
ICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNpZiAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYg
KE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiAmJiBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9O
KSkgfHwgKEVOQUJMRShUT1VDSF9FVkVOVFMpICYmIChORVNURURfTUVTU0FHRV9DT05ESVRJT04g
fHwgU09NRV9PVEhFUl9NRVNTQUdFX0NPTkRJVElPTikpCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIK
KyNlbmRpZgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzU3RvcmUuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzTGF5ZXIuaD4KKyNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8V2ViQ29y
ZS9LZXlib2FyZEV2ZW50Lmg+CisjZW5kaWYKICNpbmNsdWRlIDxXZWJDb3JlL1BsdWdpbkRhdGEu
aD4KICNpbmNsdWRlIDx1dGlsaXR5PgotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVk
ZSA8d3RmL0hhc2hNYXAuaD4KLSNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CiAKIG5hbWVzcGFjZSBJUEMgewotICAgIGNsYXNzIE1hY2hQb3J0OwogICAgIGNsYXNzIENvbm5l
Y3Rpb247Ci0gICAgY2xhc3MgRHVtbXlUeXBlOwotfQotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLSAg
ICBjbGFzcyBXZWJUb3VjaEV2ZW50OwotICAgIGNsYXNzIFdlYlByZWZlcmVuY2VzU3RvcmU7CiB9
CiAKIG5hbWVzcGFjZSBNZXNzYWdlcyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5IGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weQppbmRleCAyMjExM2JiZDJiNS4uOGJiYTUzZDNlZGEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKKysrIGIvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC9tZXNzYWdlcy5weQpAQCAtMjAwLDMyICsyMDAsNDEgQEAgZGVmIGZvcndh
cmRfZGVjbGFyYXRpb25zX2FuZF9oZWFkZXJzKHJlY2VpdmVyKToKICAgICAgICAgJ1dlYktpdDo6
VXNlckNvbnRlbnRDb250cm9sbGVySWRlbnRpZmllcicsCiAgICAgXSkKIAorICAgIHR5cGVfY29u
ZGl0aW9ucyA9IHt9CiAgICAgZm9yIHBhcmFtZXRlciBpbiByZWNlaXZlci5pdGVycGFyYW1ldGVy
cygpOgotICAgICAgICBraW5kID0gcGFyYW1ldGVyLmtpbmQKLSAgICAgICAgdHlwZSA9IHBhcmFt
ZXRlci50eXBlCisgICAgICAgIGlmIG5vdCBwYXJhbWV0ZXIudHlwZSBpbiB0eXBlX2NvbmRpdGlv
bnM6CisgICAgICAgICAgICB0eXBlX2NvbmRpdGlvbnNbcGFyYW1ldGVyLnR5cGVdID0gW10KIAot
ICAgICAgICBpZiB0eXBlLmZpbmQoJzwnKSAhPSAtMSBvciB0eXBlIGluIG5vX2ZvcndhcmRfZGVj
bGFyYXRpb25fdHlwZXM6Ci0gICAgICAgICAgICAjIERvbid0IGZvcndhcmQgZGVjbGFyZSBjbGFz
cyB0ZW1wbGF0ZXMuCi0gICAgICAgICAgICBoZWFkZXJzLnVwZGF0ZShoZWFkZXJzX2Zvcl90eXBl
KHR5cGUpKQotICAgICAgICAgICAgY29udGludWUKKyAgICAgICAgaWYgbm90IHBhcmFtZXRlci5j
b25kaXRpb24gaW4gdHlwZV9jb25kaXRpb25zW3BhcmFtZXRlci50eXBlXToKKyAgICAgICAgICAg
IHR5cGVfY29uZGl0aW9uc1twYXJhbWV0ZXIudHlwZV0uYXBwZW5kKHBhcmFtZXRlci5jb25kaXRp
b24pCiAKLSAgICAgICAgc3BsaXQgPSB0eXBlLnNwbGl0KCc6OicpCisgICAgaGVhZGVyX2NvbmRp
dGlvbnMgPSB7fQorICAgIGZvciBwYXJhbWV0ZXIgaW4gcmVjZWl2ZXIuaXRlcnBhcmFtZXRlcnMo
KToKKyAgICAgICAgdHlwZSA9IHBhcmFtZXRlci50eXBlCisgICAgICAgIGNvbmRpdGlvbnMgPSB0
eXBlX2NvbmRpdGlvbnNbdHlwZV0KIAotICAgICAgICAjIEhhbmRsZSBXVEYgdHlwZXMgZXZlbiBp
ZiB0aGUgV1RGOjogcHJlZml4IGlzIG5vdCBnaXZlbgotICAgICAgICBpZiBzcGxpdFswXSBpbiBu
b25fdGVtcGxhdGVfd3RmX3R5cGVzOgotICAgICAgICAgICAgc3BsaXQuaW5zZXJ0KDAsICdXVEYn
KQorICAgICAgICBhcmd1bWVudF9lbmNvZGVyX2hlYWRlcnMgPSBhcmd1bWVudF9jb2Rlcl9oZWFk
ZXJzX2Zvcl90eXBlKHR5cGUpCisgICAgICAgIGlmIGFyZ3VtZW50X2VuY29kZXJfaGVhZGVyczoK
KyAgICAgICAgICAgIGZvciBoZWFkZXIgaW4gYXJndW1lbnRfZW5jb2Rlcl9oZWFkZXJzOgorICAg
ICAgICAgICAgICAgIGlmIGhlYWRlciBub3QgaW4gaGVhZGVyX2NvbmRpdGlvbnM6CisgICAgICAg
ICAgICAgICAgICAgIGhlYWRlcl9jb25kaXRpb25zW2hlYWRlcl0gPSBbXQorICAgICAgICAgICAg
ICAgIGhlYWRlcl9jb25kaXRpb25zW2hlYWRlcl0uZXh0ZW5kKGNvbmRpdGlvbnMpCiAKLSAgICAg
ICAgaWYgbGVuKHNwbGl0KSA9PSAyOgotICAgICAgICAgICAgbmFtZXNwYWNlID0gc3BsaXRbMF0K
LSAgICAgICAgICAgIGlubmVyX3R5cGUgPSBzcGxpdFsxXQotICAgICAgICAgICAgdHlwZXNfYnlf
bmFtZXNwYWNlW25hbWVzcGFjZV0uYWRkKChraW5kLCBpbm5lcl90eXBlKSkKLSAgICAgICAgZWxp
ZiBsZW4oc3BsaXQpID4gMjoKLSAgICAgICAgICAgICMgV2UgcHJvYmFibHkgaGF2ZSBhIG5lc3Rl
ZCBzdHJ1Y3QsIHdoaWNoIG1lYW5zIHdlIGNhbid0IGZvcndhcmQgZGVjbGFyZSBpdC4KLSAgICAg
ICAgICAgICMgSW5jbHVkZSBpdHMgaGVhZGVyIGluc3RlYWQuCi0gICAgICAgICAgICBoZWFkZXJz
LnVwZGF0ZShoZWFkZXJzX2Zvcl90eXBlKHR5cGUpKQorICAgICAgICB0eXBlX2hlYWRlcnMgPSBo
ZWFkZXJzX2Zvcl90eXBlKHR5cGUpCisgICAgICAgIGZvciBoZWFkZXIgaW4gdHlwZV9oZWFkZXJz
OgorICAgICAgICAgICAgaWYgaGVhZGVyIG5vdCBpbiBoZWFkZXJfY29uZGl0aW9uczoKKyAgICAg
ICAgICAgICAgICBoZWFkZXJfY29uZGl0aW9uc1toZWFkZXJdID0gW10KKyAgICAgICAgICAgIGhl
YWRlcl9jb25kaXRpb25zW2hlYWRlcl0uZXh0ZW5kKGNvbmRpdGlvbnMpCiAKICAgICBmb3J3YXJk
X2RlY2xhcmF0aW9ucyA9ICdcbicuam9pbihbZm9yd2FyZF9kZWNsYXJhdGlvbnNfZm9yX25hbWVz
cGFjZShuYW1lc3BhY2UsIHR5cGVzKSBmb3IgKG5hbWVzcGFjZSwgdHlwZXMpIGluIHNvcnRlZCh0
eXBlc19ieV9uYW1lc3BhY2UuaXRlbXMoKSldKQotICAgIGhlYWRlcnMgPSBbJyNpbmNsdWRlICVz
XG4nICUgaGVhZGVyIGZvciBoZWFkZXIgaW4gc29ydGVkKGhlYWRlcnMpXQorICAgIGhlYWRlcnMg
PSBbXQorICAgIGZvciBoZWFkZXIgaW4gc29ydGVkKGhlYWRlcl9jb25kaXRpb25zKToKKyAgICAg
ICAgaWYgaGVhZGVyX2NvbmRpdGlvbnNbaGVhZGVyXSBhbmQgbm90IE5vbmUgaW4gaGVhZGVyX2Nv
bmRpdGlvbnNbaGVhZGVyXToKKyAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCcjaWYgJXNcbicg
JSAnIHx8ICcuam9pbihzZXQoaGVhZGVyX2NvbmRpdGlvbnNbaGVhZGVyXSkpKQorICAgICAgICAg
ICAgaGVhZGVycyArPSBbJyNpbmNsdWRlICVzXG4nICUgaGVhZGVyXQorICAgICAgICAgICAgaGVh
ZGVycy5hcHBlbmQoJyNlbmRpZlxuJykKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGhlYWRl
cnMgKz0gWycjaW5jbHVkZSAlc1xuJyAlIGhlYWRlcl0KIAogICAgIHJldHVybiAoZm9yd2FyZF9k
ZWNsYXJhdGlvbnMsIGhlYWRlcnMpCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmgKaW5kZXggZjQ5OTQ3MzhmNjkuLjZiNjRhMDYxMmEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkuaApAQCAtMTE3MCw4ICsxMTcwLDEwIEBAIHB1YmxpYzoKICAgICB2b2lk
IHJlY29yZEF1dG9tYXRpY05hdmlnYXRpb25TbmFwc2hvdCgpOwogICAgIHZvaWQgc3VwcHJlc3NO
ZXh0QXV0b21hdGljTmF2aWdhdGlvblNuYXBzaG90KCkgeyBtX3Nob3VsZFN1cHByZXNzTmV4dEF1
dG9tYXRpY05hdmlnYXRpb25TbmFwc2hvdCA9IHRydWU7IH0KICAgICB2b2lkIHJlY29yZE5hdmln
YXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7CisjaWYgUExBVEZPUk0oSU9T
KQogICAgIHZvaWQgcmVxdWVzdEFzc2lzdGVkTm9kZUluZm9ybWF0aW9uKEZ1bmN0aW9uPHZvaWQo
Y29uc3QgQXNzaXN0ZWROb2RlSW5mb3JtYXRpb24mLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4mJik7
Ci0KKyNlbmRpZgorICAgIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIFJlZlB0cjxWaWV3U25h
cHNob3Q+IHRha2VWaWV3U25hcHNob3QoKTsKICNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>359064</attachid>
            <date>2019-01-14 12:06:52 -0800</date>
            <delta_ts>2019-01-14 12:06:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-189987.diff</filename>
            <type>text/plain</type>
            <size>11382</size>
            <attacher name="Don Olmstead">don.olmstead</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNjE4Y2U5OTY2NmMuLjFmMDZiM2IxZTQ5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE5IEBACisyMDE5LTAxLTE0ICBGdWppaSBIaXJvbm9yaSAgPEhpcm9ub3JpLkZ1amlpQHNvbnku
Y29tPgorCisgICAgICAgIFtXaW5dIGVycm9yIEMyMTM5OiAnV2ViS2l0OjpVcGRhdGVJbmZvJzog
YW4gdW5kZWZpbmVkIGNsYXNzIGlzIG5vdCBhbGxvd2VkIGFzIGFuIGFyZ3VtZW50IHRvIGNvbXBp
bGVyIGludHJpbnNpYyB0eXBlIHRyYWl0ICdfX2lzX2Fzc2lnbmFibGUnCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODk5ODcKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNjcmlwdHMvd2Via2l0L0xlZ2Fj
eU1lc3NhZ2VSZWNlaXZlci1leHBlY3RlZC5jcHA6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQv
TGVnYWN5TWVzc2FnZXMtZXhwZWN0ZWQuaDoKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdC9NZXNz
YWdlUmVjZWl2ZXItZXhwZWN0ZWQuY3BwOgorICAgICAgICAqIFNjcmlwdHMvd2Via2l0L01lc3Nh
Z2VSZWNlaXZlclN1cGVyY2xhc3MtZXhwZWN0ZWQuY3BwOgorICAgICAgICAqIFNjcmlwdHMvd2Vi
a2l0L01lc3NhZ2VzLWV4cGVjdGVkLmg6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvTWVzc2Fn
ZXNTdXBlcmNsYXNzLWV4cGVjdGVkLmg6CisgICAgICAgICogU2NyaXB0cy93ZWJraXQvbWVzc2Fn
ZXMucHk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorCiAyMDE5LTAxLTE0
ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBV
bnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBmb3IgMi4yMy4zIHJl
bGVhc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvTGVnYWN5TWVz
c2FnZVJlY2VpdmVyLWV4cGVjdGVkLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
TGVnYWN5TWVzc2FnZVJlY2VpdmVyLWV4cGVjdGVkLmNwcAppbmRleCBlYWRjYjk2ZTJmYi4uYWIw
NWNhMzkwNGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvTGVnYWN5
TWVzc2FnZVJlY2VpdmVyLWV4cGVjdGVkLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMv
d2Via2l0L0xlZ2FjeU1lc3NhZ2VSZWNlaXZlci1leHBlY3RlZC5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L0xlZ2FjeU1lc3NhZ2VzLWV4cGVjdGVkLmggYi9T
b3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L0xlZ2FjeU1lc3NhZ2VzLWV4cGVjdGVkLmgKaW5k
ZXggNGY5NWExMzgwMjUuLjc0M2ZlNGZiNjU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Nj
cmlwdHMvd2Via2l0L0xlZ2FjeU1lc3NhZ2VzLWV4cGVjdGVkLmgKKysrIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9MZWdhY3lNZXNzYWdlcy1leHBlY3RlZC5oCkBAIC0xLDUgKzEsNSBA
QAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjgsMjYgKzI4
LDMwIEBACiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIkNvbm5lY3Rp
b24uaCIKKyNpZiBFTkFCTEUoREVQUkVDQVRFRF9GRUFUVVJFKSB8fCBFTkFCTEUoRVhQRVJJTUVO
VEFMX0ZFQVRVUkUpCisjaW5jbHVkZSAiRHVtbXlUeXBlLmgiCisjZW5kaWYKKyNpZiBQTEFURk9S
TShNQUMpCisjaW5jbHVkZSAiTWFjaFBvcnQuaCIKKyNlbmRpZgogI2luY2x1ZGUgIlBsdWdpbi5o
IgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2lmIChFTkFCTEUoVE9VQ0hf
RVZFTlRTKSAmJiAoTkVTVEVEX01FU1NBR0VfQ09ORElUSU9OICYmIFNPTUVfT1RIRVJfTUVTU0FH
RV9DT05ESVRJT04pKSB8fCAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYgKE5FU1RFRF9NRVNTQUdF
X0NPTkRJVElPTiB8fCBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9OKSkKKyNpbmNsdWRlICJX
ZWJFdmVudC5oIgorI2VuZGlmCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXNTdG9yZS5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgorI2lmIFBMQVRGT1JNKE1BQykKICNpbmNs
dWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNlbmRpZgogI2luY2x1ZGUgPFdlYkNvcmUv
UGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPHV0aWxpdHk+Ci0jaW5jbHVkZSA8d3RmL0ZvcndhcmQu
aD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVm
Q291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBNYWNoUG9ydDsKIGNsYXNzIENv
bm5lY3Rpb247Ci1jbGFzcyBEdW1teVR5cGU7Ci19Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotY2xh
c3MgV2ViVG91Y2hFdmVudDsKLWNsYXNzIFdlYlByZWZlcmVuY2VzU3RvcmU7CiB9CiAKIG5hbWVz
cGFjZSBNZXNzYWdlcyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0
L01lc3NhZ2VSZWNlaXZlci1leHBlY3RlZC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L01lc3NhZ2VSZWNlaXZlci1leHBlY3RlZC5jcHAKaW5kZXggZTI5NGFhYzlmZjYuLjVjYTVh
ZjZlYjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L01lc3NhZ2VS
ZWNlaXZlci1leHBlY3RlZC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9N
ZXNzYWdlUmVjZWl2ZXItZXhwZWN0ZWQuY3BwCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHly
aWdodCAoQykgMjAxMC0yMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAq
CiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
Y3JpcHRzL3dlYmtpdC9NZXNzYWdlUmVjZWl2ZXJTdXBlcmNsYXNzLWV4cGVjdGVkLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvTWVzc2FnZVJlY2VpdmVyU3VwZXJjbGFzcy1leHBl
Y3RlZC5jcHAKaW5kZXggMjA3NDhjOGMzYmYuLjlmYWZiZjQ2NjBmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L01lc3NhZ2VSZWNlaXZlclN1cGVyY2xhc3MtZXhwZWN0
ZWQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvTWVzc2FnZVJlY2VpdmVy
U3VwZXJjbGFzcy1leHBlY3RlZC5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0
IChDKSAyMDEwLTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJp
Z2h0IChDKSAyMDEwLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L01lc3NhZ2VzLWV4cGVjdGVkLmggYi9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Vi
a2l0L01lc3NhZ2VzLWV4cGVjdGVkLmgKaW5kZXggNGY5NWExMzgwMjUuLjc0M2ZlNGZiNjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NjcmlwdHMvd2Via2l0L01lc3NhZ2VzLWV4cGVjdGVk
LmgKKysrIGIvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9NZXNzYWdlcy1leHBlY3RlZC5o
CkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE4IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE5IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtMjgsMjYgKzI4LDMwIEBACiAKICNpbmNsdWRlICJBcmd1bWVudENvZGVycy5oIgogI2lu
Y2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpZiBFTkFCTEUoREVQUkVDQVRFRF9GRUFUVVJFKSB8fCBF
TkFCTEUoRVhQRVJJTUVOVEFMX0ZFQVRVUkUpCisjaW5jbHVkZSAiRHVtbXlUeXBlLmgiCisjZW5k
aWYKKyNpZiBQTEFURk9STShNQUMpCisjaW5jbHVkZSAiTWFjaFBvcnQuaCIKKyNlbmRpZgogI2lu
Y2x1ZGUgIlBsdWdpbi5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorI2lm
IChFTkFCTEUoVE9VQ0hfRVZFTlRTKSAmJiAoTkVTVEVEX01FU1NBR0VfQ09ORElUSU9OICYmIFNP
TUVfT1RIRVJfTUVTU0FHRV9DT05ESVRJT04pKSB8fCAoRU5BQkxFKFRPVUNIX0VWRU5UUykgJiYg
KE5FU1RFRF9NRVNTQUdFX0NPTkRJVElPTiB8fCBTT01FX09USEVSX01FU1NBR0VfQ09ORElUSU9O
KSkKKyNpbmNsdWRlICJXZWJFdmVudC5oIgorI2VuZGlmCisjaW5jbHVkZSAiV2ViUHJlZmVyZW5j
ZXNTdG9yZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgorI2lmIFBMQVRG
T1JNKE1BQykKICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNlbmRpZgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUGx1Z2luRGF0YS5oPgogI2luY2x1ZGUgPHV0aWxpdHk+Ci0jaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgotI2luY2x1ZGUgPHd0
Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KICNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIElQQyB7Ci1jbGFzcyBNYWNo
UG9ydDsKIGNsYXNzIENvbm5lY3Rpb247Ci1jbGFzcyBEdW1teVR5cGU7Ci19Ci0KLW5hbWVzcGFj
ZSBXZWJLaXQgewotY2xhc3MgV2ViVG91Y2hFdmVudDsKLWNsYXNzIFdlYlByZWZlcmVuY2VzU3Rv
cmU7CiB9CiAKIG5hbWVzcGFjZSBNZXNzYWdlcyB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1NjcmlwdHMvd2Via2l0L01lc3NhZ2VzU3VwZXJjbGFzcy1leHBlY3RlZC5oIGIvU291cmNlL1dl
YktpdC9TY3JpcHRzL3dlYmtpdC9NZXNzYWdlc1N1cGVyY2xhc3MtZXhwZWN0ZWQuaAppbmRleCBi
YzQxYTczZjQxMC4uNTE1MDE4ZGI4MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2NyaXB0
cy93ZWJraXQvTWVzc2FnZXNTdXBlcmNsYXNzLWV4cGVjdGVkLmgKKysrIGIvU291cmNlL1dlYktp
dC9TY3JpcHRzL3dlYmtpdC9NZXNzYWdlc1N1cGVyY2xhc3MtZXhwZWN0ZWQuaApAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI2LDE5
ICsyNiwxNiBAQAogCiAjaW5jbHVkZSAiQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJUZXN0
Q2xhc3NOYW1lLmgiCi0jaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKyNpZiBFTkFCTEUoVEVTVF9G
RUFUVVJFKQorI2luY2x1ZGUgIlRlc3RUd29TdGF0ZUVudW0uaCIKKyNlbmRpZgogI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgotI2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgog
I2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgSVBDIHsKIGNsYXNz
IENvbm5lY3Rpb247CiB9CiAKLW5hbWVzcGFjZSBXZWJLaXQgewotZW51bSBjbGFzcyBUZXN0VHdv
U3RhdGVFbnVtIDogYm9vbDsKLX0KLQogbmFtZXNwYWNlIE1lc3NhZ2VzIHsKIG5hbWVzcGFjZSBX
ZWJQYWdlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TY3JpcHRzL3dlYmtpdC9tZXNz
YWdlcy5weSBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQvbWVzc2FnZXMucHkKaW5kZXgg
YzQ4MWYzMzdmYmQuLjUyNTU1YzM3YTE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1Njcmlw
dHMvd2Via2l0L21lc3NhZ2VzLnB5CisrKyBiL1NvdXJjZS9XZWJLaXQvU2NyaXB0cy93ZWJraXQv
bWVzc2FnZXMucHkKQEAgLTMzLDcgKzMzLDcgQEAgQVNZTkNfQVRUUklCVVRFID0gJ0FzeW5jJwog
TEVHQUNZX1NZTkNfQVRUUklCVVRFID0gJ0xlZ2FjeVN5bmMnCiAKIF9saWNlbnNlX2hlYWRlciA9
ICIiIi8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxOSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIwOSwzMiAr
MjA5LDQxIEBAIGRlZiBmb3J3YXJkX2RlY2xhcmF0aW9uc19hbmRfaGVhZGVycyhyZWNlaXZlcik6
CiAgICAgICAgICdXZWJLaXQ6OlVzZXJDb250ZW50Q29udHJvbGxlcklkZW50aWZpZXInLAogICAg
IF0pCiAKKyAgICB0eXBlX2NvbmRpdGlvbnMgPSB7fQogICAgIGZvciBwYXJhbWV0ZXIgaW4gcmVj
ZWl2ZXIuaXRlcnBhcmFtZXRlcnMoKToKLSAgICAgICAga2luZCA9IHBhcmFtZXRlci5raW5kCi0g
ICAgICAgIHR5cGUgPSBwYXJhbWV0ZXIudHlwZQorICAgICAgICBpZiBub3QgcGFyYW1ldGVyLnR5
cGUgaW4gdHlwZV9jb25kaXRpb25zOgorICAgICAgICAgICAgdHlwZV9jb25kaXRpb25zW3BhcmFt
ZXRlci50eXBlXSA9IFtdCiAKLSAgICAgICAgaWYgdHlwZS5maW5kKCc8JykgIT0gLTEgb3IgdHlw
ZSBpbiBub19mb3J3YXJkX2RlY2xhcmF0aW9uX3R5cGVzOgotICAgICAgICAgICAgIyBEb24ndCBm
b3J3YXJkIGRlY2xhcmUgY2xhc3MgdGVtcGxhdGVzLgotICAgICAgICAgICAgaGVhZGVycy51cGRh
dGUoaGVhZGVyc19mb3JfdHlwZSh0eXBlKSkKLSAgICAgICAgICAgIGNvbnRpbnVlCisgICAgICAg
IGlmIG5vdCBwYXJhbWV0ZXIuY29uZGl0aW9uIGluIHR5cGVfY29uZGl0aW9uc1twYXJhbWV0ZXIu
dHlwZV06CisgICAgICAgICAgICB0eXBlX2NvbmRpdGlvbnNbcGFyYW1ldGVyLnR5cGVdLmFwcGVu
ZChwYXJhbWV0ZXIuY29uZGl0aW9uKQogCi0gICAgICAgIHNwbGl0ID0gdHlwZS5zcGxpdCgnOjon
KQorICAgIGhlYWRlcl9jb25kaXRpb25zID0ge30KKyAgICBmb3IgcGFyYW1ldGVyIGluIHJlY2Vp
dmVyLml0ZXJwYXJhbWV0ZXJzKCk6CisgICAgICAgIHR5cGUgPSBwYXJhbWV0ZXIudHlwZQorICAg
ICAgICBjb25kaXRpb25zID0gdHlwZV9jb25kaXRpb25zW3R5cGVdCiAKLSAgICAgICAgIyBIYW5k
bGUgV1RGIHR5cGVzIGV2ZW4gaWYgdGhlIFdURjo6IHByZWZpeCBpcyBub3QgZ2l2ZW4KLSAgICAg
ICAgaWYgc3BsaXRbMF0gaW4gbm9uX3RlbXBsYXRlX3d0Zl90eXBlczoKLSAgICAgICAgICAgIHNw
bGl0Lmluc2VydCgwLCAnV1RGJykKKyAgICAgICAgYXJndW1lbnRfZW5jb2Rlcl9oZWFkZXJzID0g
YXJndW1lbnRfY29kZXJfaGVhZGVyc19mb3JfdHlwZSh0eXBlKQorICAgICAgICBpZiBhcmd1bWVu
dF9lbmNvZGVyX2hlYWRlcnM6CisgICAgICAgICAgICBmb3IgaGVhZGVyIGluIGFyZ3VtZW50X2Vu
Y29kZXJfaGVhZGVyczoKKyAgICAgICAgICAgICAgICBpZiBoZWFkZXIgbm90IGluIGhlYWRlcl9j
b25kaXRpb25zOgorICAgICAgICAgICAgICAgICAgICBoZWFkZXJfY29uZGl0aW9uc1toZWFkZXJd
ID0gW10KKyAgICAgICAgICAgICAgICBoZWFkZXJfY29uZGl0aW9uc1toZWFkZXJdLmV4dGVuZChj
b25kaXRpb25zKQogCi0gICAgICAgIGlmIGxlbihzcGxpdCkgPT0gMjoKLSAgICAgICAgICAgIG5h
bWVzcGFjZSA9IHNwbGl0WzBdCi0gICAgICAgICAgICBpbm5lcl90eXBlID0gc3BsaXRbMV0KLSAg
ICAgICAgICAgIHR5cGVzX2J5X25hbWVzcGFjZVtuYW1lc3BhY2VdLmFkZCgoa2luZCwgaW5uZXJf
dHlwZSkpCi0gICAgICAgIGVsaWYgbGVuKHNwbGl0KSA+IDI6Ci0gICAgICAgICAgICAjIFdlIHBy
b2JhYmx5IGhhdmUgYSBuZXN0ZWQgc3RydWN0LCB3aGljaCBtZWFucyB3ZSBjYW4ndCBmb3J3YXJk
IGRlY2xhcmUgaXQuCi0gICAgICAgICAgICAjIEluY2x1ZGUgaXRzIGhlYWRlciBpbnN0ZWFkLgot
ICAgICAgICAgICAgaGVhZGVycy51cGRhdGUoaGVhZGVyc19mb3JfdHlwZSh0eXBlKSkKKyAgICAg
ICAgdHlwZV9oZWFkZXJzID0gaGVhZGVyc19mb3JfdHlwZSh0eXBlKQorICAgICAgICBmb3IgaGVh
ZGVyIGluIHR5cGVfaGVhZGVyczoKKyAgICAgICAgICAgIGlmIGhlYWRlciBub3QgaW4gaGVhZGVy
X2NvbmRpdGlvbnM6CisgICAgICAgICAgICAgICAgaGVhZGVyX2NvbmRpdGlvbnNbaGVhZGVyXSA9
IFtdCisgICAgICAgICAgICBoZWFkZXJfY29uZGl0aW9uc1toZWFkZXJdLmV4dGVuZChjb25kaXRp
b25zKQogCiAgICAgZm9yd2FyZF9kZWNsYXJhdGlvbnMgPSAnXG4nLmpvaW4oW2ZvcndhcmRfZGVj
bGFyYXRpb25zX2Zvcl9uYW1lc3BhY2UobmFtZXNwYWNlLCB0eXBlcykgZm9yIChuYW1lc3BhY2Us
IHR5cGVzKSBpbiBzb3J0ZWQodHlwZXNfYnlfbmFtZXNwYWNlLml0ZW1zKCkpXSkKLSAgICBoZWFk
ZXJzID0gWycjaW5jbHVkZSAlc1xuJyAlIGhlYWRlciBmb3IgaGVhZGVyIGluIHNvcnRlZChoZWFk
ZXJzKV0KKyAgICBoZWFkZXJzID0gW10KKyAgICBmb3IgaGVhZGVyIGluIHNvcnRlZChoZWFkZXJf
Y29uZGl0aW9ucyk6CisgICAgICAgIGlmIGhlYWRlcl9jb25kaXRpb25zW2hlYWRlcl0gYW5kIG5v
dCBOb25lIGluIGhlYWRlcl9jb25kaXRpb25zW2hlYWRlcl06CisgICAgICAgICAgICBoZWFkZXJz
LmFwcGVuZCgnI2lmICVzXG4nICUgJyB8fCAnLmpvaW4oc2V0KGhlYWRlcl9jb25kaXRpb25zW2hl
YWRlcl0pKSkKKyAgICAgICAgICAgIGhlYWRlcnMgKz0gWycjaW5jbHVkZSAlc1xuJyAlIGhlYWRl
cl0KKyAgICAgICAgICAgIGhlYWRlcnMuYXBwZW5kKCcjZW5kaWZcbicpCisgICAgICAgIGVsc2U6
CisgICAgICAgICAgICBoZWFkZXJzICs9IFsnI2luY2x1ZGUgJXNcbicgJSBoZWFkZXJdCiAKICAg
ICByZXR1cm4gKGZvcndhcmRfZGVjbGFyYXRpb25zLCBoZWFkZXJzKQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGRlOTg2OTRhYTM3Li4zY2ZjNGZmNGRmNCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEyMDksNyArMTIwOSw2IEBA
IHB1YmxpYzoKICAgICB2b2lkIHJlY29yZEF1dG9tYXRpY05hdmlnYXRpb25TbmFwc2hvdCgpOwog
ICAgIHZvaWQgc3VwcHJlc3NOZXh0QXV0b21hdGljTmF2aWdhdGlvblNuYXBzaG90KCkgeyBtX3No
b3VsZFN1cHByZXNzTmV4dEF1dG9tYXRpY05hdmlnYXRpb25TbmFwc2hvdCA9IHRydWU7IH0KICAg
ICB2b2lkIHJlY29yZE5hdmlnYXRpb25TbmFwc2hvdChXZWJCYWNrRm9yd2FyZExpc3RJdGVtJik7
Ci0gICAgdm9pZCByZXF1ZXN0Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbihGdW5jdGlvbjx2b2lk
KGNvbnN0IEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4m
Jik7CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBSZWZQdHI8Vmlld1NuYXBzaG90PiB0YWtl
Vmlld1NuYXBzaG90KCk7CkBAIC0xNzg2LDYgKzE3ODUsNyBAQCBwcml2YXRlOgogICAgIHZvaWQg
ZWxlbWVudERpZEZvY3VzKGNvbnN0IEZvY3VzZWRFbGVtZW50SW5mb3JtYXRpb24mLCBib29sIHVz
ZXJJc0ludGVyYWN0aW5nLCBib29sIGJsdXJQcmV2aW91c05vZGUsIGJvb2wgY2hhbmdpbmdBY3Rp
dml0eVN0YXRlLCBjb25zdCBVc2VyRGF0YSYpOwogICAgIHZvaWQgZWxlbWVudERpZEJsdXIoKTsK
ICAgICB2b2lkIGRpZFJlY2VpdmVFZGl0b3JTdGF0ZVVwZGF0ZUFmdGVyRm9jdXMoKTsKKyAgICB2
b2lkIHJlcXVlc3RGb2N1c2VkRWxlbWVudEluZm9ybWF0aW9uKEZ1bmN0aW9uPHZvaWQoY29uc3Qg
Rm9jdXNlZEVsZW1lbnRJbmZvcm1hdGlvbiYsIENhbGxiYWNrQmFzZTo6RXJyb3IpPiYmKTsKIAog
ICAgIHZvaWQgc2hvd0luc3BlY3RvckhpZ2hsaWdodChjb25zdCBXZWJDb3JlOjpIaWdobGlnaHQm
KTsKICAgICB2b2lkIGhpZGVJbnNwZWN0b3JIaWdobGlnaHQoKTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>