<?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>110141</bug_id>
          
          <creation_ts>2013-02-18 10:23:06 -0800</creation_ts>
          <short_desc>[WK2] Make Efl build and run with ENABLE_NETWORK_PROCESS</short_desc>
          <delta_ts>2015-06-29 02:34:43 -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>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>118520</dependson>
    
    <dependson>121417</dependson>
    
    <dependson>121423</dependson>
    
    <dependson>121424</dependson>
    
    <dependson>121430</dependson>
    
    <dependson>121431</dependson>
    
    <dependson>121433</dependson>
    
    <dependson>121434</dependson>
    
    <dependson>121436</dependson>
    
    <dependson>121491</dependson>
    
    <dependson>121793</dependson>
    
    <dependson>122110</dependson>
    
    <dependson>130131</dependson>
    
    <dependson>130133</dependson>
          <blocked>108832</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Balazs Kelemen">kbalazs</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>brian.holt</cc>
    
    <cc>cdumez</cc>
    
    <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kenneth</cc>
    
    <cc>laszlo.gombos</cc>
    
    <cc>ossy</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>skyul</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>835601</commentid>
    <comment_count>0</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-02-18 10:23:06 -0800</bug_when>
    <thetext>Just need some ifdefs to fix the build (and the other patches blocking bug 108832).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>836270</commentid>
    <comment_count>1</comment_count>
      <attachid>189065</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-02-19 05:18:52 -0800</bug_when>
    <thetext>Created attachment 189065
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904933</commentid>
    <comment_count>2</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-06-30 23:50:06 -0700</bug_when>
    <thetext>Changed the subject to &quot;[WK2] Make Gtk and Efl build and run with ENABLE_NETWORK_PROCESS&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904936</commentid>
    <comment_count>3</comment_count>
      <attachid>205787</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 00:16:54 -0700</bug_when>
    <thetext>Created attachment 205787
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904937</commentid>
    <comment_count>4</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 00:22:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
I made four changes to the original patch:
1. Add PLATFORM(MAC) guard around CookieStorageShim in WebProcess.cpp

2. Make Gtk build and run with ENABLE_NETWORK_PROCESS
- Implement executablePathOfNetworkProcess() in ProcessExecutablePathGtk.cpp
- Handle NetworkProcess type in ProcessLauncher::launchProcess().
- Implement internalError(const WebCore::KURL&amp;) in WebErrorsGtk.cpp.

3. Don&apos;t use ResourceRequest::nsURLRequest in NetworkResourceLoader.cpp.

4. Add USE(PROTECTION_SPACE_AUTH_CALLBACK) guard in NetworkResourceLoader.messages.in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904939</commentid>
    <comment_count>5</comment_count>
      <attachid>205788</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 00:56:27 -0700</bug_when>
    <thetext>Created attachment 205788
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904940</commentid>
    <comment_count>6</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 00:59:24 -0700</bug_when>
    <thetext>(In reply to comment #5)
Build fix for ENABLE(NETWORK_PROCESS)=0. 

Also changed m_launchOptions.processType check in ProcessLauncher::launchProcess to use switch for code readability.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904943</commentid>
    <comment_count>7</comment_count>
      <attachid>205788</attachid>
    <who name="Sergio Villar Senin">svillar</who>
    <bug_when>2013-07-01 01:15:35 -0700</bug_when>
    <thetext>Comment on attachment 205788
Patch

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

Overall looks good except the changes in mac code

&gt; Source/WebKit2/ChangeLog:12
&gt; +        Add guard agains ENABLE(CUSTOM_PROTOCOLS).

typo &quot;agains&quot;

&gt; Source/WebKit2/ChangeLog:15
&gt; +        Don&apos;t use newRequest.nsURLRequesta as it is Mac port specific.

nsURLRequest

&gt; Source/WebKit2/ChangeLog:20
&gt; +        * Shared/WebResourceBuffer.h: Changed forward declaration of ShareableResource to actual

actually

&gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:217
&gt; +    m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest);

This does not seem correct for the Mac port.

&gt; Source/WebKit2/Shared/WebResourceBuffer.h:-34
&gt; -

Why?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904944</commentid>
    <comment_count>8</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 01:41:25 -0700</bug_when>
    <thetext>(In reply to comment #7)
Thanks for the review. I will fix typos and check how nsURLRequest(DoNotUpdateHTTPBody) works.

&gt; This does not seem correct for the Mac port.
&gt; 
&gt; &gt; Source/WebKit2/Shared/WebResourceBuffer.h:-34
&gt; &gt; -
&gt; 
&gt; Why?

There is an explanation in the ChangeLog. 

Changed forward declaration of ShareableResource to actual include because GCC requires a definition of the type for passing it in a PassOwnPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904950</commentid>
    <comment_count>9</comment_count>
      <attachid>205789</attachid>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 02:10:41 -0700</bug_when>
    <thetext>Created attachment 205789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>904952</commentid>
    <comment_count>10</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-01 02:14:47 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Created an attachment (id=205789) [details]
&gt; Patch

I made a few changes to the previous patch:
1. Fix typos in the ChangeLog.
2. Add ENABLE(NETWORK_PROCESS) guard to NetworkResourceLoader.messages.in.
3. Add PLATFORM(MAC) guard in NetworkResourceLoader::continueWillSendRequest()

+#if PLATFORM(MAC)
m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest.nsURLRequest(DoNotUpdateHTTPBody));
+#else
+    m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest);
+#endif

I don&apos;t fully understand what nsURLRequest does here. Tell me if this is wrong. I will investigate it more in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906274</commentid>
    <comment_count>11</comment_count>
      <attachid>205789</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2013-07-04 17:37:26 -0700</bug_when>
    <thetext>Comment on attachment 205789
Patch

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

Not quite ready.  Enough questions.

&gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:221
&gt; +#if PLATFORM(MAC)
&gt;      m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest.nsURLRequest(DoNotUpdateHTTPBody));
&gt; +#else
&gt; +    m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest);
&gt; +#endif

I wish we could find a sensible way to avoid this.

&gt; Source/WebKit2/Shared/WebResourceBuffer.h:-34
&gt; +#include &quot;ShareableResource.h&quot;
&gt;  #include &lt;WebCore/ResourceBuffer.h&gt;
&gt;  
&gt;  namespace WebKit {
&gt;  
&gt; -class ShareableResource;
&gt; -

The ChangeLog indicates this undesirable change is because of GCC requirements.

Why does GCC have this deficiency?

Was the deficiency in GCC fixed in a later version?

There&apos;s been a vocal and public push to move the compiler dependencies in the project forward, and WebKit2 has traditionally been the flagship of this effort.  Is it truly unavoidable to have to make this type of change?

&gt; Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp:32
&gt;  #include &quot;AuthenticationChallengeProxy.h&quot;
&gt; -#include &quot;CustomProtocolManagerProxyMessages.h&quot;
&gt;  #include &quot;DownloadProxyMessages.h&quot;

I think the fact that CustomProtocolManagerProxyMessages.h is in the ENABLE(NETWORK_PROCESS) block means that...

&gt; Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp:45
&gt; +#if ENABLE(CUSTOM_PROTOCOLS)
&gt; +#include &quot;CustomProtocolManagerProxyMessages.h&quot;
&gt; +#endif

...this block should also be in the ENABLE(NETWORK_PROCESS) block.

In other words, there&apos;s no such thing as enabling custom protocol support without enabling network process support, and the code should reflect this.

&gt; Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:111
&gt; +#if USE(CFNETWORK)
&gt;      responseCopy.setCertificateChain(certificateInfo.certificateChain());
&gt; +#endif

I understand this is (currently) necessary because of code in WebCore, which is too bad.

We should push &quot;PlatformCertificateInfo&quot; to WebCore and make the ResourceRequest/Response primitives work in terms of that platform agnostic object instead of CF-specific types.

&gt; Source/WebKit2/WebProcess/WebCoreSupport/efl/WebErrorsEfl.cpp:78
&gt; +WebCore::ResourceError internalError(const WebCore::KURL&amp; url)
&gt; +{
&gt; +    return ResourceError(WebError::webKitErrorDomain(), kWKErrorInternal, url.string(), ASCIILiteral(&quot;Internal error&quot;));
&gt; +}

It&apos;s too bad that this code...

&gt; Source/WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:80
&gt; +WebCore::ResourceError internalError(const WebCore::KURL&amp; url)
&gt; +{
&gt; +    return ResourceError(WebError::webKitErrorDomain(), kWKErrorInternal, url.string(), ASCIILiteral(&quot;Internal error&quot;));
&gt; +}

...and this code are direct copies of each other.

But I suppose EFL and GTK could theoretically diverge here, as they are already divergent from Mac...

which leads me to this question - Is there any reason why these are divergent from Mac?  Seems like the section of errors in WebErrorsMac.mm labelled &quot;// Otherwise, fallback to our own errors.&quot;  *could* be 100% cross platform.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906551</commentid>
    <comment_count>12</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-05 21:56:22 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; The ChangeLog indicates this undesirable change is because of GCC requirements.
&gt; 
&gt; Why does GCC have this deficiency?
&gt; 
&gt; Was the deficiency in GCC fixed in a later version?
&gt; 
&gt; There&apos;s been a vocal and public push to move the compiler dependencies in the project forward, and WebKit2 has traditionally been the flagship of this effort.  Is it truly unavoidable to have to make this type of change?

This change was in the original patch written by Balazs Kelemen. I double-checked and found that this is not needed at least in GCC 4.7. I will revert the change because we already limit the supported compilers to GCC &gt;= 4.7 and Clang &gt;= 3.0 (Bug 109932).

Balazs, do you remember the version of GCC you had this problem?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906553</commentid>
    <comment_count>13</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-05 22:15:29 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; But I suppose EFL and GTK could theoretically diverge here, as they are already divergent from Mac...
&gt; 
&gt; which leads me to this question - Is there any reason why these are divergent from Mac?  Seems like the section of errors in WebErrorsMac.mm labelled &quot;// Otherwise, fallback to our own errors.&quot;  *could* be 100% cross platform.

The implementation of all errors functions in WebErrorsGtk.cpp and WebErrorsEfl.cpp is identical. Each function delegates to the corresponding function in WebCore.

In WebCore (ErrorsEfl.h/cpp, ErrorsGtk.h/cpp), two ports differ in how they create an error message. Gtk port localizes the error message with _ macro while Efl port uses the error message (in English) as is without localization.

So I should have localized the &quot;Internal error&quot; message in Gtk port. I will fix it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906554</commentid>
    <comment_count>14</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-05 22:17:14 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; We should push &quot;PlatformCertificateInfo&quot; to WebCore and make the ResourceRequest/Response primitives work in terms of that platform agnostic object instead of CF-specific types.

Okay. I will file a separate bug to refactor this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906630</commentid>
    <comment_count>15</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-07-07 10:31:50 -0700</bug_when>
    <thetext>&gt; This change was in the original patch written by Balazs Kelemen. I double-checked and found that this is not needed at least in GCC 4.7. I will revert the change because we already limit the supported compilers to GCC &gt;= 4.7 and Clang &gt;= 3.0 (Bug 109932).
&gt; 
&gt; Balazs, do you remember the version of GCC you had this problem?

No :) Anyway it is good if we can avoid my workaround.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906654</commentid>
    <comment_count>16</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-07 20:10:31 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp:32
&gt; &gt;  #include &quot;AuthenticationChallengeProxy.h&quot;
&gt; &gt; -#include &quot;CustomProtocolManagerProxyMessages.h&quot;
&gt; &gt;  #include &quot;DownloadProxyMessages.h&quot;
&gt; 
&gt; I think the fact that CustomProtocolManagerProxyMessages.h is in the ENABLE(NETWORK_PROCESS) block means that...
&gt; &gt; Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp:45
&gt; &gt; +#if ENABLE(CUSTOM_PROTOCOLS)
&gt; &gt; +#include &quot;CustomProtocolManagerProxyMessages.h&quot;
&gt; &gt; +#endif
&gt; 
&gt; ...this block should also be in the ENABLE(NETWORK_PROCESS) block.

This block is in the ENABLE(NETWORK_PROCESS) block because the entire file is in the ENABLE(NETWORK_PROCESS) block.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>906690</commentid>
    <comment_count>17</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-08 01:25:44 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Source/WebKit2/NetworkProcess/NetworkResourceLoader.cpp:221
&gt; &gt; +#if PLATFORM(MAC)
&gt; &gt;      m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest.nsURLRequest(DoNotUpdateHTTPBody));
&gt; &gt; +#else
&gt; &gt; +    m_suggestedRequestForWillSendRequest.updateFromDelegatePreservingOldHTTPBody(newRequest);
&gt; &gt; +#endif
&gt; 
&gt; I wish we could find a sensible way to avoid this.

I am not sure how to avoid this as only the Mac port has a platform specific URL request object (m_nsRequest) and doUpdatePlatformRequest, doUpdateResourceRequest, doUpdatePlatformHTTPBody and doUpdateResourceHTTPBody do nothing in soup. 

Any suggestion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907023</commentid>
    <comment_count>18</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-09 00:46:14 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; &gt; Source/WebKit2/WebProcess/Network/WebResourceLoader.cpp:111
&gt; &gt; +#if USE(CFNETWORK)
&gt; &gt;      responseCopy.setCertificateChain(certificateInfo.certificateChain());
&gt; &gt; +#endif
&gt; 
&gt; I understand this is (currently) necessary because of code in WebCore, which is too bad.
&gt; 
&gt; We should push &quot;PlatformCertificateInfo&quot; to WebCore and make the ResourceRequest/Response primitives work in terms of that platform agnostic object instead of CF-specific types.

BTW, why do we pass PlatformCertificateInfo as a separate argument in WebResourceLoader::DidReceiveResponseWithCertificateInfo message? Can we simply change the argument coders of ResourceResponse to include certificate chain instead of manually setting it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907125</commentid>
    <comment_count>19</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2013-07-09 09:00:34 -0700</bug_when>
    <thetext>PlatformCertificateInfo objects are large, so we don&apos;t send them automatically with every ResourceResponse serialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>907249</commentid>
    <comment_count>20</comment_count>
    <who name="Kwang Yul Seo">skyul</who>
    <bug_when>2013-07-09 17:39:12 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; PlatformCertificateInfo objects are large, so we don&apos;t send them automatically with every ResourceResponse serialization.

Okay. I filed a bug to push PlatformCertificateInfo to WebCore. See Bug 118520.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>920946</commentid>
    <comment_count>21</comment_count>
      <attachid>205789</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-08-26 03:24:04 -0700</bug_when>
    <thetext>Comment on attachment 205789
Patch

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

&gt;&gt; Source/WebKit2/Shared/WebResourceBuffer.h:-34
&gt;&gt; -
&gt; 
&gt; The ChangeLog indicates this undesirable change is because of GCC requirements.
&gt; 
&gt; Why does GCC have this deficiency?
&gt; 
&gt; Was the deficiency in GCC fixed in a later version?
&gt; 
&gt; There&apos;s been a vocal and public push to move the compiler dependencies in the project forward, and WebKit2 has traditionally been the flagship of this effort.  Is it truly unavoidable to have to make this type of change?

I don&apos;t know why does GCC have this problem, I&apos;m not a GCC developer. :)
But I can confirm that GCC 4.6.3 needs this change. It is the default
compiler on the latest Ubuntu LTS (12.04) And I don&apos;t think if we should
expect all user install custom GCC because of only this simple problem.

Here is the build log without this change:
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp:34:1: error: prototype for ‘WebKit::WebResourceBuffer::WebResourceBuffer(WTF::PassRefPtr&lt;WebKit::ShareableResource&gt;)’ does not match any in class ‘WebKit::WebResourceBuffer’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:36:7: error: candidates are: WebKit::WebResourceBuffer::WebResourceBuffer(const WebKit::WebResourceBuffer&amp;)
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:47:5: error:                 WebKit::WebResourceBuffer::WebResourceBuffer(WTF::PassRefPtr&lt;ShareableResource&gt;)
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp: In member function ‘virtual const char* WebKit::WebResourceBuffer::data() const’:
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp:46:52: error: invalid use of incomplete type ‘struct ShareableResource’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:32:7: error: forward declaration of ‘struct ShareableResource’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp: In member function ‘virtual unsigned int WebKit::WebResourceBuffer::size() const’:
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp:51:22: error: invalid use of incomplete type ‘struct ShareableResource’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:32:7: error: forward declaration of ‘struct ShareableResource’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp: In member function ‘virtual bool WebKit::WebResourceBuffer::isEmpty() const’:
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp:56:38: error: invalid use of incomplete type ‘struct ShareableResource’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:32:7: error: forward declaration of ‘struct ShareableResource’
In file included from /home/ossy/WebKitNix/Source/WTF/wtf/RefPtr.h:29:0,
                 from /home/ossy/WebKitNix/Source/WTF/wtf/VectorTraits.h:26,
                 from /home/ossy/WebKitNix/Source/WTF/wtf/Vector.h:31,
                 from /home/ossy/WebKitNix/Source/WebCore/platform/SharedBuffer.h:33,
                 from /home/ossy/WebKitNix/Source/WebCore/loader/ResourceBuffer.h:29,
                 from /home/ossy/WebKitNix/WebKitBuild/Release/DerivedSources/WebKit2/include/WebCore/ResourceBuffer.h:1,
                 from /home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:30,
                 from /home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.cpp:27:
/home/ossy/WebKitNix/Source/WTF/wtf/PassRefPtr.h: In function ‘void WTF::derefIfNotNull(T*) [with T = ShareableResource]’:
/home/ossy/WebKitNix/Source/WTF/wtf/PassRefPtr.h:67:39:   instantiated from ‘WTF::PassRefPtr&lt;T&gt;::~PassRefPtr() [with T = ShareableResource]’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:38:137:   instantiated from here
/home/ossy/WebKitNix/Source/WTF/wtf/PassRefPtr.h:52:13: error: invalid use of incomplete type ‘struct ShareableResource’
/home/ossy/WebKitNix/Source/WebKit2/Shared/WebResourceBuffer.h:32:7: error: forward declaration of ‘struct ShareableResource’</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>922279</commentid>
    <comment_count>22</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2013-08-28 17:52:50 -0700</bug_when>
    <thetext>&gt; I don&apos;t know why does GCC have this problem, I&apos;m not a GCC developer. :)
&gt; But I can confirm that GCC 4.6.3 needs this change. It is the default
&gt; compiler on the latest Ubuntu LTS (12.04) And I don&apos;t think if we should
&gt; expect all user install custom GCC because of only this simple problem.
&gt; 

Users? People how want to touch WebKit are developers :) It&apos;s not a big deal updating gcc if the default on your distribution is old.

On the other hand it is not a big deal to add an extra include. Actually relying on where and how the compiler will instantiate template code is very error prone.

I wonder why don&apos;t we have a section in Platform.h or somewhere that intentionally fails with an #error if the compiler is too old. This way we could avoid having these debates :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>923648</commentid>
    <comment_count>23</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-02 03:30:25 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; &gt; I don&apos;t know why does GCC have this problem, I&apos;m not a GCC developer. :)
&gt; &gt; But I can confirm that GCC 4.6.3 needs this change. It is the default
&gt; &gt; compiler on the latest Ubuntu LTS (12.04) And I don&apos;t think if we should
&gt; &gt; expect all user install custom GCC because of only this simple problem.
&gt; &gt; 
&gt; 
&gt; Users? People how want to touch WebKit are developers :) It&apos;s not a big deal updating gcc if the default on your distribution is old.

:) Of course, it&apos;s not a big deal for me or for an other developer. But it
can be problem if each developer run into this cryptic error message again
and again. It&apos;s not trivial to determine if you need newer GCC if you see
this error.

Otherwise In my opinion developing WebKit should be as smooth as possible,
so we shouldn&apos;t expect more and more dependencies day by day from all
developers. In this point I agree with Apple&apos;s philosophy that WebKit
build should work out-of-the box on the latest OSX relase. It should
be true on the most popular Linux distributions&apos; latest LTS releases.
 
&gt; On the other hand it is not a big deal to add an extra include. Actually relying on where and how the compiler will instantiate template code is very error prone.

Agree. That&apos;s why I can&apos;t understand why should we drop GCC 4.6 
support, if we can fix it easily with s/class Foo;/#include &lt;Foo.h&gt;/ .
I think, it&apos;s not so serious situation where we should force everyone
to update his/her compiler to GCC 4.7 or 4.8.

&gt; I wonder why don&apos;t we have a section in Platform.h or somewhere that intentionally fails with an #error if the compiler is too old. This way we could avoid having these debates :)

I think because there isn&apos;t any consensus about which compiler is too old
or not. There are developers who want to use always the newest compilers
and force others to use it too, and there are developers who support older
platforms and they have to use what they have on these platforms. For example
there is still needs for GCC 4.4 support. Not 4.6, but 4.4, because &quot;The
latest Red Hat Enterprise Linux ships with GCC 4.4.&quot;:
https://bugs.webkit.org/show_bug.cgi?id=119266#c13

On the other hand, it isn&apos;t the best place for this discussion, but
webkit-dev mailing list. The port maintainers should determine which
is the oldest compiler they want to support, not you and not me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929585</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-16 02:37:25 -0700</bug_when>
    <thetext>I think this bug tries to solve many different issues. In my 
opinion it would be better if we&apos;d fix this bug step by step.

I&apos;m going to split the latest patch and upload them soon
to bugs added to the depends on list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929601</commentid>
    <comment_count>25</comment_count>
      <attachid>205789</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-16 03:25:45 -0700</bug_when>
    <thetext>Comment on attachment 205789
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp:32
&gt;&gt;  #include &quot;DownloadProxyMessages.h&quot;
&gt; 
&gt; I think the fact that CustomProtocolManagerProxyMessages.h is in the ENABLE(NETWORK_PROCESS) block means that...

.

&gt;&gt; Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp:45
&gt;&gt; +#endif
&gt; 
&gt; ...this block should also be in the ENABLE(NETWORK_PROCESS) block.
&gt; 
&gt; In other words, there&apos;s no such thing as enabling custom protocol support without enabling network process support, and the code should reflect this.

The problem is here that cmake ports don&apos;t generate CustomProtocolManagerProxyMessages.h at all, because they don&apos;t need it. 
Originally r141174 added this include into the following file:
- http://trac.webkit.org/changeset/141174/trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp
- http://trac.webkit.org/changeset/141174/trunk/Source/WebKit2/UIProcess/Network/NetworkProcessProxy.cpp

and then cmake http://trac.webkit.org/changeset/141203/trunk/Source/WebKit2/UIProcess/WebProcessProxy.cpp fixed
it partially, because nobody tried to do ENABLE_NETWORK_PROCESS=1 build that time.

There are 2 possible fix for it:
- including CustomProtocolManagerProxyMessages.h conditionally
- adding CustomProtocolManagerProxy.messages.in to the cmake build system to generate the useless CustomProtocolManagerProxyMessages.h

Let&apos;s continue the discussion about it in the new bug: https://bugs.webkit.org/show_bug.cgi?id=121417</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>929743</commentid>
    <comment_count>26</comment_count>
      <attachid>205789</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-09-16 09:03:32 -0700</bug_when>
    <thetext>Comment on attachment 205789
Patch

I finished splitting it to smaller patches and added 
new bug reports with patches to the depends on list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957811</commentid>
    <comment_count>27</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-12-09 02:14:42 -0800</bug_when>
    <thetext>(In reply to comment #23)
&gt; (In reply to comment #22)
&gt; &gt; &gt; I don&apos;t know why does GCC have this problem, I&apos;m not a GCC developer. :)
&gt; &gt; &gt; But I can confirm that GCC 4.6.3 needs this change. It is the default
&gt; &gt; &gt; compiler on the latest Ubuntu LTS (12.04) And I don&apos;t think if we should
&gt; &gt; &gt; expect all user install custom GCC because of only this simple problem.
&gt; &gt; &gt; 
&gt; &gt; 
&gt; &gt; Users? People how want to touch WebKit are developers :) It&apos;s not a big deal updating gcc if the default on your distribution is old.

&gt; Otherwise In my opinion developing WebKit should be as smooth as possible,
&gt; so we shouldn&apos;t expect more and more dependencies day by day from all
&gt; developers. In this point I agree with Apple&apos;s philosophy that WebKit
&gt; build should work out-of-the box on the latest OSX relase. It should
&gt; be true on the most popular Linux distributions&apos; latest LTS releases.
...
&gt; Agree. That&apos;s why I can&apos;t understand why should we drop GCC 4.6 
&gt; support, if we can fix it easily with s/class Foo;/#include &lt;Foo.h&gt;/ .
&gt; I think, it&apos;s not so serious situation where we should force everyone
&gt; to update his/her compiler to GCC 4.7 or 4.8.

Actually, we have to move to 4.7.x anyway for C++11 support which means that 12.04 LTS is just not recent enough for WebKit developers if you want to use the out-of-the-bx GCC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957812</commentid>
    <comment_count>28</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2013-12-09 02:27:06 -0800</bug_when>
    <thetext>(In reply to comment #27)
...
&gt; &gt; Agree. That&apos;s why I can&apos;t understand why should we drop GCC 4.6 
&gt; &gt; support, if we can fix it easily with s/class Foo;/#include &lt;Foo.h&gt;/ .
&gt; &gt; I think, it&apos;s not so serious situation where we should force everyone
&gt; &gt; to update his/her compiler to GCC 4.7 or 4.8.

This bug isn&apos;t valid anymore, see https://bugs.webkit.org/show_bug.cgi?id=121436#c5 for details.
 
&gt; Actually, we have to move to 4.7.x anyway for C++11 support which means that 12.04 LTS is just not recent enough for WebKit developers if you want to use the out-of-the-bx GCC.

Which c++11 features do you mean? 

It would be great to have an announcment on webkit-dev about dropping 
GCC 4.6 support, because many of us still use 12.04 LTS with GCC 4.6.
Now the EFL and the Nix port build fine with GCC 4.6 for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>957842</commentid>
    <comment_count>29</comment_count>
    <who name="Brian Holt">brian.holt</who>
    <bug_when>2013-12-09 03:44:37 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; 
&gt; Which c++11 features do you mean? 
&gt; 
&gt; It would be great to have an announcment on webkit-dev about dropping 
&gt; GCC 4.6 support, because many of us still use 12.04 LTS with GCC 4.6.
&gt; Now the EFL and the Nix port build fine with GCC 4.6 for me.

Perhaps I spoke too soon, but I moved to 12.10 explicitly because of an C++11 failure I had building WebKit (approx 9 months ago) when the debate about moving to C++11 was happening.  Those issues with 4.6 must have been resolved in the mean time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>968291</commentid>
    <comment_count>30</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2014-01-15 05:42:58 -0800</bug_when>
    <thetext>GTK now builds with network process enabled by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069694</commentid>
    <comment_count>31</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-16 17:32:49 -0800</bug_when>
    <thetext>When I run EFL MiniBrowser, I failed to find NetworkProcess even though EFL port has built NetworkProcess files. I guess EFL port just build the files. Any info about it ?

CC&apos;ing Anderca.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069789</commentid>
    <comment_count>32</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-17 00:03:58 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; When I run EFL MiniBrowser, I failed to find NetworkProcess even though EFL
&gt; port has built NetworkProcess files. I guess EFL port just build the files.
&gt; Any info about it ?
&gt; 
&gt; CC&apos;ing Anderca.

NetworkProcess isn&apos;t used by default, it depends on the process model.
It is enabled if you use multiple secondary process model. (-S option 
of EFL MiniBrowser) If you are interested in it, there is a quite
simple bug related to enabled NetworkProces - bug137692.

GTK experimented to make using NetworkProcess by default, but as far
as I remember they had issues with tests, maybe they already solved them.
I&apos;ll check the git history to find these issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069792</commentid>
    <comment_count>33</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-17 00:08:38 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; &gt; When I run EFL MiniBrowser, I failed to find NetworkProcess even though EFL
&gt; &gt; port has built NetworkProcess files. I guess EFL port just build the files.
&gt; &gt; Any info about it ?
&gt; &gt; 
&gt; &gt; CC&apos;ing Anderca.
&gt; 
&gt; NetworkProcess isn&apos;t used by default, it depends on the process model.
&gt; It is enabled if you use multiple secondary process model. (-S option 
&gt; of EFL MiniBrowser) If you are interested in it, there is a quite
&gt; simple bug related to enabled NetworkProces - bug137692.

Thank you Ossy ! I have forgotten about it. If patch owner isn&apos;t interested in the issue, I would like to take over it. Let me check it as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069793</commentid>
    <comment_count>34</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-17 00:10:14 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; &gt; When I run EFL MiniBrowser, I failed to find NetworkProcess even though EFL
&gt; &gt; port has built NetworkProcess files. I guess EFL port just build the files.
&gt; &gt; Any info about it ?
&gt; &gt; 
&gt; &gt; CC&apos;ing Anderca.
&gt; 
&gt; NetworkProcess isn&apos;t used by default, it depends on the process model.
&gt; It is enabled if you use multiple secondary process model. (-S option 
&gt; of EFL MiniBrowser) If you are interested in it, there is a quite
&gt; simple bug related to enabled NetworkProces - bug137692.
&gt; 
&gt; GTK experimented to make using NetworkProcess by default, but as far
&gt; as I remember they had issues with tests, maybe they already solved them.
&gt; I&apos;ll check the git history to find these issues.

See bug138428 for details.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069794</commentid>
    <comment_count>35</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-02-17 00:10:40 -0800</bug_when>
    <thetext>(In reply to comment #32)
&gt; (In reply to comment #31)
&gt; &gt; When I run EFL MiniBrowser, I failed to find NetworkProcess even though EFL
&gt; &gt; port has built NetworkProcess files. I guess EFL port just build the files.
&gt; &gt; Any info about it ?
&gt; &gt; 
&gt; &gt; CC&apos;ing Anderca.
&gt; 
&gt; NetworkProcess isn&apos;t used by default, it depends on the process model.
&gt; It is enabled if you use multiple secondary process model. (-S option 
&gt; of EFL MiniBrowser) If you are interested in it, there is a quite
&gt; simple bug related to enabled NetworkProces - bug137692.
&gt; 
&gt; GTK experimented to make using NetworkProcess by default, but as far
&gt; as I remember they had issues with tests, maybe they already solved them.
&gt; I&apos;ll check the git history to find these issues.

Yes, we had some issues with some tests that revealed actual bugs :-) Some other cases were tests that simply don&apos;t work with the network process and we just skipped them. But since then we are running the layout tests using the network process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069795</commentid>
    <comment_count>36</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-02-17 00:13:42 -0800</bug_when>
    <thetext>(In reply to comment #33)
&gt; Thank you Ossy ! I have forgotten about it. If patch owner isn&apos;t interested
&gt; in the issue, I would like to take over it. Let me check it as well.

Balázs isn&apos;t working on it long long time ago, feel free to pick 
it up. But it is a meta bug, so I suggest doing it in a new bug report.
(Build already works fine, maybe MiniBrowser and tests work too, but
they should be checked.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069796</commentid>
    <comment_count>37</comment_count>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2015-02-17 00:15:13 -0800</bug_when>
    <thetext>(In reply to comment #36)
&gt; (In reply to comment #33)
&gt; &gt; Thank you Ossy ! I have forgotten about it. If patch owner isn&apos;t interested
&gt; &gt; in the issue, I would like to take over it. Let me check it as well.
&gt; 
&gt; Balázs isn&apos;t working on it long long time ago, feel free to pick 
&gt; it up. But it is a meta bug, so I suggest doing it in a new bug report.
&gt; (Build already works fine, maybe MiniBrowser and tests work too, but
&gt; they should be checked.)

Ok, let me check about it when I have spare time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1069872</commentid>
    <comment_count>38</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2015-02-17 10:04:34 -0800</bug_when>
    <thetext>&gt; 
&gt; Thank you Ossy ! I have forgotten about it. If patch owner isn&apos;t interested
&gt; in the issue, I would like to take over it. Let me check it as well.

Gyuyoung, you are more than welcome to take it over.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1105359</commentid>
    <comment_count>39</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-06-29 02:34:43 -0700</bug_when>
    <thetext>EFL builds with enabled network process long time ago.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>189065</attachid>
            <date>2013-02-19 05:18:52 -0800</date>
            <delta_ts>2013-07-01 00:16:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110141-20130219141507.patch</filename>
            <type>text/plain</type>
            <size>10636</size>
            <attacher name="Balazs Kelemen">kbalazs</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTQzMTczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMmYxZGJjZjUxYmU1MGZj
MGQwZDc3ZDllMGJhYTFmNWMzNjg1YThmOS4uNDNjZDNmOWZjMzIxYTE4M2M3YWRkMzYxMTU4ODkw
MGFhNDIyOTVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQwIEBACiAyMDEzLTAyLTE5ICBCYWxh
enMgS2VsZW1lbiAgPGtiYWxhenNAd2Via2l0Lm9yZz4KIAorICAgICAgICBbV0syXSBNYWtlIEVm
bCBidWlsZCBhbmQgcnVuIHdpdGggRU5BQkxFX05FVFdPUktfUFJPQ0VTUworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQxCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpOZXR3b3Jr
UHJvY2Vzcyk6CisgICAgICAgIEFkZCBndWFyZCBhZ2FpbnMgRU5BQkxFKENVU1RPTV9QUk9UT0NP
TFMpLgorICAgICAgICAqIFNoYXJlZC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGguaDoKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgIEFkZCBleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MgaGVs
cGVyIGZ1bmN0aW9uLgorICAgICAgICAqIFNoYXJlZC9XZWJSZXNvdXJjZUJ1ZmZlci5oOiBDaGFu
Z2VkIGZvcndhcmQgZGVjbGFyYXRpb24gb2YgU2hhcmVhYmxlUmVzb3VyY2UgdG8gYWN0dWFsCisg
ICAgICAgIGluY2x1ZGUgYmVjYXVzZSBHQ0MgcmVxdWlyZXMgYSBkZWZpbml0aW9uIG9mIHRoZSB0
eXBlIGZvciBwYXNzaW5nIGl0IGluIGEgUGFzc093blB0ci4KKyAgICAgICAgKiBTaGFyZWQvZWZs
L1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAg
ICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6UHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKToKKyAgICAgICAgSGFuZGxlIHRo
ZSBjYXNlIG9mIGxhdW5jaGluZyB0aGUgbmV0d29yayBwcm9jZXNzLgorICAgICAgICAqIFVJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwOiBBZGQgbWlzc2luZyBndWFyZHMu
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNwb25zZVdpdGhD
ZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgQWRkIGd1YXJkcyBh
Z2FpbnN0IFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spIGFuZCBVU0UoQ0ZORVRX
T1JLKS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoK
KyAgICAgICAgKFdlYlJlc291cmNlTG9hZGVyKToKKyAgICAgICAgQWRkIGd1YXJkIGFnYWluc3Qg
VVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykuCisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOiBBZGQgZ3VhcmQgYWdhaW5z
dAorICAgICAgICBFTkFCTEUoTkVUV09SS19QUk9DRVNTKSBub3QgdG8gYnJha2UgdGhlIGJ1aWxk
IHdpdGhvdXQgaXQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2Vi
RXJyb3JzRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aW50ZXJuYWxFcnJvcik6IEltcGxlbWVu
dGVkLgorICAgICAgICAoV2ViS2l0KToKKworMjAxMy0wMi0xOSAgQmFsYXpzIEtlbGVtZW4gIDxr
YmFsYXpzQHdlYmtpdC5vcmc+CisKICAgICAgICAgW1dLMl1bVW5peF1bUmVmYWN0b3JpbmddIEdl
dCByaWQgb2Ygc29ja2V0IGNyZWF0aW9uIGNvZGUgZHVwbGljYXRlcwogICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA5MDMyCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCAyYWIwMWFhMWMw
YmZhN2U4NjRmODhhM2U5NjU4ZjJiODM5NmM5MjE0Li41Y2RjOTE0ODYzOWM4YmQ0MzI4OTAxMTMz
NGJhMjA1MDQzNTg3ODY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCkBAIC02NSw3ICs2NSw5IEBAIE5ldHdvcmtQcm9jZXNzOjpOZXR3
b3JrUHJvY2VzcygpCiB7CiAgICAgYWRkU3VwcGxlbWVudDxBdXRoZW50aWNhdGlvbk1hbmFnZXI+
KCk7CiAgICAgYWRkU3VwcGxlbWVudDxXZWJDb29raWVNYW5hZ2VyPigpOworI2lmIEVOQUJMRShD
VVNUT01fUFJPVE9DT0xTKQogICAgIGFkZFN1cHBsZW1lbnQ8Q3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
PigpOworI2VuZGlmCiB9CiAKIE5ldHdvcmtQcm9jZXNzOjp+TmV0d29ya1Byb2Nlc3MoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oCmluZGV4IDVmYmYz
MjAxODExMDU1ZTM4NGFiZWRiNmQzZGQ1ZGFmMWM3Yjc0ZGQuLmQ3OGViY2RkZWJhOTZlNWE5YTMw
MWVjN2U4Y2Q1MjM3NDlkYmRlMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Q
cm9jZXNzRXhlY3V0YWJsZVBhdGguaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUHJvY2Vz
c0V4ZWN1dGFibGVQYXRoLmgKQEAgLTMyLDYgKzMyLDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAK
IFN0cmluZyBleGVjdXRhYmxlUGF0aE9mV2ViUHJvY2VzcygpOwogU3RyaW5nIGV4ZWN1dGFibGVQ
YXRoT2ZQbHVnaW5Qcm9jZXNzKCk7CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKK1N0cmlu
ZyBleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MoKTsKKyNlbmRpZgogCiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJSZXNvdXJjZUJ1ZmZlci5oIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVyLmgKaW5kZXggYjQ3ZjMxODE1ODMyOWE4
NTUwNGUyMjgxZGJiM2Y1NjY3YmYzNGY3YS4uZDYyNGMwOGRmYWU2ODE2YmUyMTcwMmZiZmNhZjA4
MmRkYWJlNWNiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNl
QnVmZmVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVyLmgK
QEAgLTI2LDEyICsyNiwxMSBAQAogI2lmbmRlZiBXZWJSZXNvdXJjZUJ1ZmZlcl9oCiAjZGVmaW5l
IFdlYlJlc291cmNlQnVmZmVyX2gKIAorI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsK
IAotY2xhc3MgU2hhcmVhYmxlUmVzb3VyY2U7Ci0KIGNsYXNzIFdlYlJlc291cmNlQnVmZmVyIDog
cHVibGljIFdlYkNvcmU6OlJlc291cmNlQnVmZmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFz
c1JlZlB0cjxXZWJSZXNvdXJjZUJ1ZmZlcj4gY3JlYXRlKFBhc3NSZWZQdHI8U2hhcmVhYmxlUmVz
b3VyY2U+IHJlc291cmNlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViUmVzb3VyY2VCdWZmZXIo
cmVzb3VyY2UpKTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9j
ZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9j
ZXNzRXhlY3V0YWJsZVBhdGhFZmwuY3BwCmluZGV4IDYxOGFiMmExNDNhZmVkYzU1ZTFhM2VlZTJj
YTQwNzY1ZGJjMWViZjcuLmM5ZTQ5MmViNDYxNjk3OGNmZDBlNTFhYWVjZTc1OWIxMDI4ZTYyMDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRh
YmxlUGF0aEVmbC5jcHAKQEAgLTc0LDQgKzc0LDEzIEBAIFN0cmluZyBleGVjdXRhYmxlUGF0aE9m
UGx1Z2luUHJvY2VzcygpCiAgICAgcmV0dXJuIHdlYktpdFBsdWdpblByb2Nlc3NOYW1lOwogfQog
CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mTmV0
d29ya1Byb2Nlc3MoKQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB3
ZWJLaXROZXR3b3JrUHJvY2Vzc05hbWUsIChmaW5kUHJvY2Vzc1BhdGgoTkVUV09SS1BST0NFU1NO
QU1FKSkpOworCisgICAgcmV0dXJuIHdlYktpdE5ldHdvcmtQcm9jZXNzTmFtZTsKK30KKyNlbmRp
ZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcAppbmRleCBm
OWIzYmFjZTZlYTE2YmU4M2I0OWU5NGVjZmViNzAxYmM4YWI0OWMwLi4zZGZmNWVkNDQwNTkyMTI5
MjRlZWQwYmFkNDI4NjcyNWQ4ZGZhMTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCkBAIC01
MSw2ICs1MSwxMSBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAg
ICAgIHBsdWdpblBhdGggPSBtX2xhdW5jaE9wdGlvbnMuZXh0cmFJbml0aWFsaXphdGlvbkRhdGEu
Z2V0KCJwbHVnaW4tcGF0aCIpLnV0ZjgoKTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBF
TkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgIGNhc2UgTmV0d29ya1Byb2Nlc3M6CisgICAgICAg
IGV4ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNzKCkudXRmOCgp
OworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IDNiNWYy
YWZlNmQ1M2QyMmEyYjUxMGVjMDVlMDZkYTgwNjFmMzU3YjcuLjFlMWU4MWJiOGJhM2ViZGQyMzg3
MTkxZGUxYmJkYmU2MTkzMmQ1NDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2IEBA
CiAjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9u
Q2hhbGxlbmdlUHJveHkuaCIKLSNpbmNsdWRlICJDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1l
c3NhZ2VzLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJv
Y2Vzc01lc3NhZ2VzLmgiCkBAIC00MSw2ICs0MCwxMCBAQAogI2luY2x1ZGUgIlNlY0l0ZW1TaGlt
UHJveHkuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCisjaW5jbHVk
ZSAiQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgorI2VuZGlmCisKICNkZWZp
bmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24s
IGNvbm5lY3Rpb24oKSkKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcApp
bmRleCBjOWM4YjMwZDk3NjI0NTc0NzM0YWJkYTY3NWNlYTM4NDE0NTg2NWNkLi5kNzI1YTllNTdl
MTk4ZTg5MmJhNzc3MzNiY2YyYmFkOWUxYWE2NzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTgzLDcg
KzgzLDkgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENl
cnRpZmljYXRlSW5mbyhjb25zdCBSZXNvdXJjZVJlc3AKIHsKICAgICBMT0coTmV0d29yaywgIihX
ZWJQcm9jZXNzKSBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRp
ZmljYXRlSW5mbyBmb3IgJyVzJy4gU3RhdHVzICVkLiIsIG1fY29yZUxvYWRlci0+dXJsKCkuc3Ry
aW5nKCkudXRmOCgpLmRhdGEoKSwgcmVzcG9uc2UuaHR0cFN0YXR1c0NvZGUoKSk7CiAgICAgUmVz
b3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOworI2lmIFVTRShDRk5FVFdPUksp
CiAgICAgcmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNl
cnRpZmljYXRlQ2hhaW4oKSk7CisjZW5kaWYKICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVS
ZXNwb25zZShyZXNwb25zZUNvcHkpOwogfQogCkBAIC0xMjMsMTAgKzEyNSwxMiBAQCB2b2lkIFdl
YlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzb3VyY2UoY29uc3QgU2hhcmVhYmxlUmVzb3Vy
Y2U6OkhhbmRsZSYgaGFuZAogICAgIG1fY29yZUxvYWRlci0+ZGlkRmluaXNoTG9hZGluZyhmaW5p
c2hUaW1lKTsKIH0KIAorI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiB2
b2lkIFdlYlJlc291cmNlTG9hZGVyOjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNw
YWNlKGNvbnN0IFByb3RlY3Rpb25TcGFjZSYgcHJvdGVjdGlvblNwYWNlLCBib29sJiByZXN1bHQp
CiB7CiAgICAgcmVzdWx0ID0gbV9jb3JlTG9hZGVyLT5jYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJv
dGVjdGlvblNwYWNlKHByb3RlY3Rpb25TcGFjZSk7CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggMDNlODI3MTYwZDRlNTAwMzE4ZGY1ZjIwYTdhNjdl
Zjg1ZGU2M2FjZS4uMDM5MDE3NjdlNGZiYWM0OWIxY2JjYzgxOGVlZTFkOTFmNjliODllMSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNl
TG9hZGVyLmgKQEAgLTgwLDcgKzgwLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEZhaWxSZXNv
dXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZvaWQgZGlkUmVj
ZWl2ZVJlc291cmNlKGNvbnN0IFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmLCBkb3VibGUgZmlu
aXNoVGltZSk7CiAKKyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAg
IHZvaWQgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShjb25zdCBXZWJDb3Jl
OjpQcm90ZWN0aW9uU3BhY2UmLCBib29sJiByZXN1bHQpOworI2VuZGlmCiAKICAgICBSZWZQdHI8
V2ViQ29yZTo6UmVzb3VyY2VMb2FkZXI+IG1fY29yZUxvYWRlcjsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2Fn
ZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIubWVzc2FnZXMuaW4KaW5kZXggZWFkNTdhODUxMmEyZjFjYTUxMzAwZTFiNzJkZGFjZGMyMjM0
YjNiMy4uYWVmNzNkNDBhNjA2YzNiMzA1Mzk2MThkODBjYTNlNGM4YjFiNjkxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjAsNiArMjAsOCBAQAogIyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQogIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgogCisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKwog
bWVzc2FnZXMgLT4gV2ViUmVzb3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogCiAgICAgQ2Fu
Y2VsUmVzb3VyY2VMb2FkZXIoKQpAQCAtMzAsOSArMzIsMTMgQEAgbWVzc2FnZXMgLT4gV2ViUmVz
b3VyY2VMb2FkZXIgTGVnYWN5UmVjZWl2ZXIgewogICAgIERpZFJlY2VpdmVEYXRhKENvcmVJUEM6
OkRhdGFSZWZlcmVuY2UgZGF0YSwgaW50NjRfdCBlbmNvZGVkRGF0YUxlbmd0aCwgYm9vbCBhbGxB
dE9uY2UpCiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAg
IERpZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKLSAgICAK
KworI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiAgICAgQ2FuQXV0aGVu
dGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UgcHJv
dGVjdGlvblNwYWNlKSAtPiAoYm9vbCByZXNwb25zZSkKKyNlbmRpZgogCiAgICAgLy8gRGlkUmVj
ZWl2ZVJlc291cmNlIGlzIGZvciB3aGVuIHdlIGhhdmUgdGhlIGVudGlyZSByZXNvdXJjZSBkYXRh
IGF2YWlsYWJsZSBhdCBvbmNlLCBzdWNoIGFzIHdoZW4gdGhlIHJlc291cmNlIGlzIGNhY2hlZCBp
biBtZW1vcnkKICAgICBEaWRSZWNlaXZlUmVzb3VyY2UoV2ViS2l0OjpTaGFyZWFibGVSZXNvdXJj
ZTo6SGFuZGxlIHJlc291cmNlLCBkb3VibGUgZmluaXNoVGltZSkKIH0KKworI2VuZGlmIC8vIEVO
QUJMRShORVRXT1JLX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJFcnJvcnNFZmwuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcAppbmRleCA5ZDhk
ZmRhMGRhYjc0OTIwNDM5MzUyZGFkOTU5NTUzYmRjZGFlYWU1Li4zNDVkOWMwNWRlM2ZjZDNjN2U3
YjAxYTkwNTI4NDk5NzRhYWJkYTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJFcnJvcnNFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5jcHAKQEAgLTI2
LDEwICsyNiwxMiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5o
IgogCisjaW5jbHVkZSAiV2ViRXJyb3IuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Vycm9yc0VmbC5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+
CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Vycm9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3Jl
OwogCkBAIC03MCw0ICs3Miw5IEBAIFJlc291cmNlRXJyb3IgcGx1Z2luV2lsbEhhbmRsZUxvYWRF
cnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICByZXR1cm4gV2ViQ29y
ZTo6cGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihyZXNwb25zZSk7CiB9CiAKK1dlYkNvcmU6OlJl
c291cmNlRXJyb3IgaW50ZXJuYWxFcnJvcihjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwpCit7Cisg
ICAgcmV0dXJuIFJlc291cmNlRXJyb3IoV2ViRXJyb3I6OndlYktpdEVycm9yRG9tYWluKCksIGtX
S0Vycm9ySW50ZXJuYWwsIHVybC5zdHJpbmcoKSwgQVNDSUlMaXRlcmFsKCJJbnRlcm5hbCBlcnJv
ciIpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205787</attachid>
            <date>2013-07-01 00:16:54 -0700</date>
            <delta_ts>2013-07-01 00:56:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110141-20130701161432.patch</filename>
            <type>text/plain</type>
            <size>17012</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI2ZGRjOGExYTQzMjUx
M2RiZGI5Njk1ZTY3MjBkNmE5M2NmM2M4OS4uZmJhZGNjMWVjOGJjMDYyOWM3MTEwNzFmNTU1MzA4
NzU4N2Q2MWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTA3LTAxICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl0gTWFrZSBH
dGsgYW5kIEVmbCBidWlsZCBhbmQgcnVuIHdpdGggRU5BQkxFX05FVFdPUktfUFJPQ0VTUworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0
Y2ggYnkgQmFsYXpzIEtlbGVtZW4gPGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIEFkZCBndWFyZCBhZ2FpbnMgRU5B
QkxFKENVU1RPTV9QUk9UT0NPTFMpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICBEb24ndCB1c2UgbmV3UmVxdWVz
dC5uc1VSTFJlcXVlc3RhIGFzIGl0IGlzIE1hYyBwb3J0IHNwZWNpZmljLgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAg
QWRkIGd1YXJkIGFnYWluc3QgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykuCisg
ICAgICAgICogU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oOgorICAgICAgICBBZGQgZXhl
Y3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNzIGhlbHBlciBmdW5jdGlvbi4KKyAgICAgICAgKiBT
aGFyZWQvV2ViUmVzb3VyY2VCdWZmZXIuaDogQ2hhbmdlZCBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m
IFNoYXJlYWJsZVJlc291cmNlIHRvIGFjdHVhbAorICAgICAgICBpbmNsdWRlIGJlY2F1c2UgR0ND
IHJlcXVpcmVzIGEgZGVmaW5pdGlvbiBvZiB0aGUgdHlwZSBmb3IgcGFzc2luZyBpdCBpbiBhIFBh
c3NPd25QdHIuCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MpOgor
ICAgICAgICAqIFNoYXJlZC9ndGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcyk6CisgICAgICAgIEhhbmRsZSB0
aGUgY2FzZSBvZiBsYXVuY2hpbmcgdGhlIG5ldHdvcmsgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcyk6CisgICAgICAgIEhhbmRsZSB0aGUg
Y2FzZSBvZiBsYXVuY2hpbmcgdGhlIG5ldHdvcmsgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgQWRkIG1pc3Npbmcg
Z3VhcmRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2VXaXRoQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgQWRkIGd1YXJkcyBhZ2FpbnN0IFVTRShQ
Uk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spIGFuZCBVU0UoQ0ZORVRXT1JLKS4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgQWRk
IGd1YXJkIGFnYWluc3QgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOiBB
ZGQgZ3VhcmQgYWdhaW5zdAorICAgICAgICBFTkFCTEUoTkVUV09SS19QUk9DRVNTKSBub3QgdG8g
YnJha2UgdGhlIGJ1aWxkIHdpdGhvdXQgaXQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aW50ZXJuYWxF
cnJvcik6IEltcGxlbWVudGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
Z3RrL1dlYkVycm9yc0d0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OmludGVybmFsRXJyb3IpOiBJ
bXBsZW1lbnRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIEFk
ZCBndWFyZCBhZ2FpbnN0IFBMQVRGT1JNKE1BQykuCisKIDIwMTMtMDYtMzAgIEt3YW5nIFl1bCBT
ZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbV0syXVtTb3VwXSBBZGQgZW50
cnkgcG9pbnQgZm9yIG5ldHdvcmsgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDNmNGUzNDdmNzE4ZTIyMTM0ZjkwNjgx
YTU5OTg5ZjgzM2VmMDRkMmUuLmE2YWE2MDI3NjExNTAwMmE2ZjFhNWEzZjNiZmIxZjMxY2NkMTg4
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAKQEAgLTkxLDcgKzkxLDkgQEAgTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKCkK
IAogICAgIGFkZFN1cHBsZW1lbnQ8QXV0aGVudGljYXRpb25NYW5hZ2VyPigpOwogICAgIGFkZFN1
cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlcj4oKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09M
UykKICAgICBhZGRTdXBwbGVtZW50PEN1c3RvbVByb3RvY29sTWFuYWdlcj4oKTsKKyNlbmRpZgog
fQogCiBOZXR3b3JrUHJvY2Vzczo6fk5ldHdvcmtQcm9jZXNzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGFjMzAwOGI2OTExZDY4NDAxMjJiMmM2NGI0ZDEyMmY2NzkxZDBhYTAuLjAwMjQzMGIxMDNjMWNl
NmJjMjE1MmY3NGIwOGQ5YTAyNTE5ZjgyODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjE0LDcgKzIx
NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RBc3luYyhS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSCiAKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1Jl
cXVlc3QpCiB7Ci0gICAgbV9zdWdnZXN0ZWRSZXF1ZXN0Rm9yV2lsbFNlbmRSZXF1ZXN0LnVwZGF0
ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShuZXdSZXF1ZXN0Lm5zVVJMUmVxdWVz
dChEb05vdFVwZGF0ZUhUVFBCb2R5KSk7CisgICAgbV9zdWdnZXN0ZWRSZXF1ZXN0Rm9yV2lsbFNl
bmRSZXF1ZXN0LnVwZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShuZXdSZXF1
ZXN0KTsKIAogICAgIFJ1bkxvb3A6Om1haW4oKS0+ZGlzcGF0Y2goYmluZCgmTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlcjo6cmVjZWl2ZWRSZWRpcmVjdCwgJk5ldHdvcmtQcm9jZXNzOjpzaGFy
ZWQoKS5uZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCksIHRoaXMsIG1fc3VnZ2VzdGVkUmVx
dWVzdEZvcldpbGxTZW5kUmVxdWVzdC51cmwoKSkpOwogICAgIG1faGFuZGxlLT5jb250aW51ZVdp
bGxTZW5kUmVxdWVzdChtX3N1Z2dlc3RlZFJlcXVlc3RGb3JXaWxsU2VuZFJlcXVlc3QpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDAwNzA2YWY0M2NkNGRkNmU4MThiMDI2ZDk1
NjI2MDFjNWY3ZmRhY2YuLmViYjhkN2NkMzE3ZTY3YWNmYzA4YzllYjNiOTQzMDY2OWNkNWE4ZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI0LDUgKzI0LDcgQEAgbWVzc2Fn
ZXMgLT4gTmV0d29ya1Jlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIENvbnRp
bnVlV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0KQogICAg
IENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCkKKyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9B
VVRIX0NBTExCQUNLKQogICAgIENvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZShib29sIGNhbkF1dGhlbnRpY2F0ZSkKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oCmluZGV4IDVmYmYzMjAxODExMDU1ZTM4
NGFiZWRiNmQzZGQ1ZGFmMWM3Yjc0ZGQuLmQ3OGViY2RkZWJhOTZlNWE5YTMwMWVjN2U4Y2Q1MjM3
NDlkYmRlMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGguaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoLmgKQEAgLTMyLDYgKzMyLDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFN0cmluZyBleGVj
dXRhYmxlUGF0aE9mV2ViUHJvY2VzcygpOwogU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Q
cm9jZXNzKCk7CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKK1N0cmluZyBleGVjdXRhYmxl
UGF0aE9mTmV0d29ya1Byb2Nlc3MoKTsKKyNlbmRpZgogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJSZXNvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlJlc291cmNlQnVmZmVyLmgKaW5kZXggYjQ3ZjMxODE1ODMyOWE4NTUwNGUyMjgxZGJi
M2Y1NjY3YmYzNGY3YS4uZDYyNGMwOGRmYWU2ODE2YmUyMTcwMmZiZmNhZjA4MmRkYWJlNWNiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVyLmgKQEAgLTI2LDEyICsy
NiwxMSBAQAogI2lmbmRlZiBXZWJSZXNvdXJjZUJ1ZmZlcl9oCiAjZGVmaW5lIFdlYlJlc291cmNl
QnVmZmVyX2gKIAorI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgU2hh
cmVhYmxlUmVzb3VyY2U7Ci0KIGNsYXNzIFdlYlJlc291cmNlQnVmZmVyIDogcHVibGljIFdlYkNv
cmU6OlJlc291cmNlQnVmZmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJS
ZXNvdXJjZUJ1ZmZlcj4gY3JlYXRlKFBhc3NSZWZQdHI8U2hhcmVhYmxlUmVzb3VyY2U+IHJlc291
cmNlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViUmVzb3VyY2VCdWZmZXIocmVzb3VyY2UpKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJs
ZVBhdGhFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJs
ZVBhdGhFZmwuY3BwCmluZGV4IDYxOGFiMmExNDNhZmVkYzU1ZTFhM2VlZTJjYTQwNzY1ZGJjMWVi
ZjcuLmM5ZTQ5MmViNDYxNjk3OGNmZDBlNTFhYWVjZTc1OWIxMDI4ZTYyMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5j
cHAKQEAgLTc0LDQgKzc0LDEzIEBAIFN0cmluZyBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vz
cygpCiAgICAgcmV0dXJuIHdlYktpdFBsdWdpblByb2Nlc3NOYW1lOwogfQogCisjaWYgRU5BQkxF
KE5FVFdPUktfUFJPQ0VTUykKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3Mo
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB3ZWJLaXROZXR3b3Jr
UHJvY2Vzc05hbWUsIChmaW5kUHJvY2Vzc1BhdGgoTkVUV09SS1BST0NFU1NOQU1FKSkpOworCisg
ICAgcmV0dXJuIHdlYktpdE5ldHdvcmtQcm9jZXNzTmFtZTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcAppbmRleCA1ZTE1MDI5YzM3MjBhM2EzMDU0NjA0MTQx
MmFlY2U2ODYwZWNhOWJhLi45ZjJlNjI5NWQ4YzFkNDBlMjYyZGVmMTQ1Mzk1ZTg4MDcwOTU0ZWRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxl
UGF0aEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhHdGsuY3BwCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
b25zdCBjaGFyKiBnV2ViS2l0V2ViUHJvY2Vzc05hbWUgPSAiV2ViS2l0V2ViUHJvY2VzcyI7CiBj
b25zdCBjaGFyKiBnV2ViS2l0UGx1Z2luUHJvY2Vzc05hbWUgPSAiV2ViS2l0UGx1Z2luUHJvY2Vz
cyI7Citjb25zdCBjaGFyKiBnV2ViS2l0TmV0d29ya1Byb2Nlc3NOYW1lID0gIldlYktpdE5ldHdv
cmtQcm9jZXNzIjsKIAogc3RhdGljIFN0cmluZyBmaW5kV2ViS2l0UHJvY2Vzcyhjb25zdCBjaGFy
KiBwcm9jZXNzTmFtZSkKIHsKQEAgLTc2LDQgKzc3LDExIEBAIFN0cmluZyBleGVjdXRhYmxlUGF0
aE9mUGx1Z2luUHJvY2VzcygpCiAgICAgcmV0dXJuIGZpbmRXZWJLaXRQcm9jZXNzKGdXZWJLaXRQ
bHVnaW5Qcm9jZXNzTmFtZSk7CiB9CiAKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorU3Ry
aW5nIGV4ZWN1dGFibGVQYXRoT2ZOZXR3b3JrUHJvY2VzcygpCit7CisgICAgcmV0dXJuIGZpbmRX
ZWJLaXRQcm9jZXNzKGdXZWJLaXROZXR3b3JrUHJvY2Vzc05hbWUpOworfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCmluZGV4IDliOTE4YWJi
ODc0ZDkwYzMwOWM4M2VkYWQ1YWNiZDNlYzM3MmE1NjYuLjk5NDExMTcxZTNhMTQwMTViYTA3ZTI2
Mjc5Y2UzYjNkNDBiZDNiNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9M
YXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAKQEAgLTgzLDYgKzgz
LDExIEBAIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICAgICAgcGx1
Z2luUGF0aCA9IG1fbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5nZXQoInBs
dWdpbi1wYXRoIik7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKE5FVFdPUktf
UFJPQ0VTUykKKyAgICBjYXNlIE5ldHdvcmtQcm9jZXNzOgorICAgICAgICBleGVjdXRhYmxlUGF0
aCA9IGV4ZWN1dGFibGVQYXRoT2ZOZXR3b3JrUHJvY2VzcygpLnV0ZjgoKTsKKyAgICAgICAgYnJl
YWs7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwCmluZGV4IDJhZTFmZGI1Yzky
OWFjMjQyZGFmNGZmZmQ0YTVjZGJmZGVmY2QwOWQuLjBjOTMzZGVhYzI5MGRhNzVjMWMzNTVjY2Rm
MzdiNjM1MDdlY2VjODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAKQEAgLTc4LDExICs3OCwx
MiBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAgICAgQ1N0cmluZyBy
ZWFsRXhlY3V0YWJsZVBhdGgsIHJlYWxQbHVnaW5QYXRoOwogICAgIGlmIChtX2xhdW5jaE9wdGlv
bnMucHJvY2Vzc1R5cGUgPT0gV2ViUHJvY2VzcykKICAgICAgICAgZXhlY3V0YWJsZVBhdGggPSBl
eGVjdXRhYmxlUGF0aE9mV2ViUHJvY2VzcygpOwotICAgIGVsc2UgeworICAgIGVsc2UgaWYgKG1f
bGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBQbHVnaW5Qcm9jZXNzKSB7CiAgICAgICAgIGV4
ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKICAgICAgICAg
cGx1Z2luUGF0aCA9IG1fbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5nZXQo
InBsdWdpbi1wYXRoIik7CiAgICAgICAgIHJlYWxQbHVnaW5QYXRoID0gZmlsZVN5c3RlbVJlcHJl
c2VudGF0aW9uKHBsdWdpblBhdGgpOwotICAgIH0KKyAgICB9IGVsc2UKKyAgICAgICAgZXhlY3V0
YWJsZVBhdGggPSBleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MoKTsKIAogICAgIHJlYWxF
eGVjdXRhYmxlUGF0aCA9IGZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbihleGVjdXRhYmxlUGF0aCk7
CiAgICAgR093blB0cjxnY2hhcj4gc29ja2V0KGdfc3RyZHVwX3ByaW50ZigiJWQiLCBzb2NrZXRz
WzBdKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05l
dHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVhZjI2ZTQ5YjQxODY0NDZjZjhlYmZiMjJhNzYx
MGUyZGYwYzAzOGQuLjEzYjY0NTRiNmNlN2M5NzU3NzdjMDk3NjNjMzhkOGE1MmVhYjAwZjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgRU5BQkxFKE5FVFdPUktfUFJP
Q0VTUykKIAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hhbGxlbmdlUHJveHkuaCIKLSNpbmNs
dWRlICJDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiRG93
bmxvYWRQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc01lc3NhZ2VzLmgiCkBAIC00MSw2
ICs0MCwxMCBAQAogI2luY2x1ZGUgIlNlY0l0ZW1TaGltUHJveHkuaCIKICNlbmRpZgogCisjaWYg
RU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCisjaW5jbHVkZSAiQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
UHJveHlNZXNzYWdlcy5oIgorI2VuZGlmCisKICNkZWZpbmUgTUVTU0FHRV9DSEVDSyhhc3NlcnRp
b24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIGNvbm5lY3Rpb24oKSkKIAogdXNpbmcg
bmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRleCA1MzU3YmJjZjQ0MDA0Y2QzYTUy
NDc3ZTU2MzZkNWFiNzJjZDI0Y2I2Li42MDM4OTU2NjBmNTk5ZjQ4NjUwMjAzOWI4NGY0ZTQwZmZl
Njg2ZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEwNiw3ICsxMDYsOSBAQCB2b2lkIFdlYlJlc291
cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKGNvbnN0IFJl
c291cmNlUmVzcAogICAgIFJlZlB0cjxXZWJSZXNvdXJjZUxvYWRlcj4gcHJvdGVjdG9yKHRoaXMp
OwogCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNvcHkocmVzcG9uc2UpOworI2lmIFVT
RShDRk5FVFdPUkspCiAgICAgcmVzcG9uc2VDb3B5LnNldENlcnRpZmljYXRlQ2hhaW4oY2VydGlm
aWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CisjZW5kaWYKICAgICBtX2NvcmVMb2FkZXIt
PmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwogCiAgICAgLy8gSWYgbV9jb3JlTG9h
ZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0aGUgZGlkUmVjZWl2ZVJlc3BvbnNlIGNh
bGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVuY3Rpb24oKS4gCkBAIC0xNTksNiArMTYx
LDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc291cmNlKGNvbnN0IFNo
YXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmQKICAgICBtX2NvcmVMb2FkZXItPmRpZEZpbmlz
aExvYWRpbmcoZmluaXNoVGltZSk7CiB9CiAKKyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRI
X0NBTExCQUNLKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6Y2FuQXV0aGVudGljYXRlQWdhaW5z
dFByb3RlY3Rpb25TcGFjZShjb25zdCBQcm90ZWN0aW9uU3BhY2UmIHByb3RlY3Rpb25TcGFjZSkK
IHsKICAgICBSZWZQdHI8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3Rvcih0aGlzKTsKQEAgLTE3
MCw2ICsxNzMsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpjYW5BdXRoZW50aWNhdGVBZ2Fp
bnN0UHJvdGVjdGlvblNwYWNlKGNvbnN0IFByb3RlY3Rpb25TcAogCiAgICAgc2VuZChNZXNzYWdl
czo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpDb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQ
cm90ZWN0aW9uU3BhY2UocmVzdWx0KSk7CiB9CisjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmgKaW5kZXggYjM3ZTliMGYwOTI4MDkxNWZhNWIyNGY1MDk2NmMwM2QwOWQ2
YjAyNC4uOWM5ODZmMmU0N2U1MjMxODhlYTQ1ZDBiMTM0OWM3ZjQ4MGRlZDU3MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
LmgKQEAgLTgyLDcgKzgyLDkgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpZEZhaWxSZXNvdXJjZUxv
YWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVJl
c291cmNlKGNvbnN0IFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmLCBkb3VibGUgZmluaXNoVGlt
ZSk7CiAKKyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAgIHZvaWQg
Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShjb25zdCBXZWJDb3JlOjpQcm90
ZWN0aW9uU3BhY2UmKTsKKyNlbmRpZgogCiAgICAgUmVmUHRyPFdlYkNvcmU6OlJlc291cmNlTG9h
ZGVyPiBtX2NvcmVMb2FkZXI7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4
IDJhYzI2NDkwOWYxNTYxZjhkZDdlNzRlYTMxNGYwZjYzNDcyZjhiMDcuLmNkNzgwMTIyZWI4OGE0
YTcyM2E4MjRmNDkxODgwYzk3YzQzZTYyZDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMu
aW4KQEAgLTIwLDYgKzIwLDggQEAKICMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KIAorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisKIG1lc3NhZ2VzIC0+IFdlYlJlc291
cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIENhbmNlbFJlc291cmNlTG9hZGVyKCkK
QEAgLTMyLDggKzM0LDEyIEBAIG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJl
Y2VpdmVyIHsKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQoZG91YmxlIGZpbmlzaFRpbWUpCiAg
ICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNvdXJjZUVycm9yIGVycm9yKQogICAg
IAorI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spCiAgICAgQ2FuQXV0aGVu
dGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UgcHJv
dGVjdGlvblNwYWNlKQorI2VuZGlmCiAKICAgICAvLyBEaWRSZWNlaXZlUmVzb3VyY2UgaXMgZm9y
IHdoZW4gd2UgaGF2ZSB0aGUgZW50aXJlIHJlc291cmNlIGRhdGEgYXZhaWxhYmxlIGF0IG9uY2Us
IHN1Y2ggYXMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY2FjaGVkIGluIG1lbW9yeQogICAgIERpZFJl
Y2VpdmVSZXNvdXJjZShXZWJLaXQ6OlNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUgcmVzb3VyY2Us
IGRvdWJsZSBmaW5pc2hUaW1lKQogfQorCisjZW5kaWYgLy8gRU5BQkxFKE5FVFdPUktfUFJPQ0VT
UykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
ZWZsL1dlYkVycm9yc0VmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L2VmbC9XZWJFcnJvcnNFZmwuY3BwCmluZGV4IDlkOGRmZGEwZGFiNzQ5MjA0MzkzNTJk
YWQ5NTk1NTNiZGNkYWVhZTUuLjM0NWQ5YzA1ZGUzZmNkM2M3ZTdiMDFhOTA1Mjg0OTk3NGFhYmRh
NTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
ZWZsL1dlYkVycm9yc0VmbC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcApAQCAtMjYsMTAgKzI2LDEyIEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAKKyNpbmNsdWRlICJXZWJF
cnJvci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRXJyb3JzRWZsLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQy
L1dLRXJyb3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTcwLDQgKzcyLDkg
QEAgUmVzb3VyY2VFcnJvciBwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKGNvbnN0IFJlc291cmNl
UmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIHJldHVybiBXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxl
TG9hZEVycm9yKHJlc3BvbnNlKTsKIH0KIAorV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBpbnRlcm5h
bEVycm9yKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VF
cnJvcihXZWJFcnJvcjo6d2ViS2l0RXJyb3JEb21haW4oKSwga1dLRXJyb3JJbnRlcm5hbCwgdXJs
LnN0cmluZygpLCBBU0NJSUxpdGVyYWwoIkludGVybmFsIGVycm9yIikpOworfQorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwCmluZGV4IDgzNzVkMDY3YWVi
MTJkODkyYWVmYTY4ZTY2ZWE2MzNjOTg4MjYzY2MuLmUyODRiMjgyNWQ2ZDdhNGMzY2E0ZDQ4ZmFi
Y2NlMWRmODA0MTM1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3JzR3RrLmNwcApAQCAtMjgsMTAgKzI4
LDEyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3JzLmgiCiAKKyNp
bmNsdWRlICJXZWJFcnJvci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRXJyb3JzR3RrLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKyNpbmNs
dWRlIDxXZWJLaXQyL1dLRXJyb3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKQEAg
LTcyLDQgKzc0LDkgQEAgUmVzb3VyY2VFcnJvciBwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKGNv
bnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIHJldHVybiBXZWJDb3JlOjpwbHVn
aW5XaWxsSGFuZGxlTG9hZEVycm9yKHJlc3BvbnNlKTsKIH0KIAorV2ViQ29yZTo6UmVzb3VyY2VF
cnJvciBpbnRlcm5hbEVycm9yKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKK3sKKyAgICByZXR1
cm4gUmVzb3VyY2VFcnJvcihXZWJFcnJvcjo6d2ViS2l0RXJyb3JEb21haW4oKSwga1dLRXJyb3JJ
bnRlcm5hbCwgdXJsLnN0cmluZygpLCBBU0NJSUxpdGVyYWwoIkludGVybmFsIGVycm9yIikpOwor
fQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCmluZGV4IGVmZTVhMDNhOWEzMGUwZTUxODdhMzBmYTAyYmNkMmM2OWZkM2QzYmYu
LmU5MDVhNzFiMTUzOWRkZmJlZTY1MTM1NTg0ZGE5ODBhYjUwMjY2YTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtOTAsNyArOTAsOSBAQAogI2VuZGlmCiAK
ICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorI2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRl
ICJDb29raWVTdG9yYWdlU2hpbS5oIgorI2VuZGlmCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLmgiCiAjZW5kaWYKIApAQCAtMzQ4LDkgKzM1MCwxMSBAQCB2b2lkIFdlYlByb2Nl
c3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMmIHBhcmFtZQogICAgIG1fdXNlc05ldHdvcmtQcm9jZXNzID0gcGFyYW1ldGVycy51c2VzTmV0
d29ya1Byb2Nlc3M7CiAgICAgZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCk7CiAKKyNp
ZiBQTEFURk9STShNQUMpCiAgICAgaWYgKHVzZXNOZXR3b3JrUHJvY2VzcygpKQogICAgICAgICBD
b29raWVTdG9yYWdlU2hpbTo6c2hhcmVkKCkuaW5pdGlhbGl6ZSgpOwogI2VuZGlmCisjZW5kaWYK
ICAgICBzZXRUZXJtaW5hdGlvblRpbWVvdXQocGFyYW1ldGVycy50ZXJtaW5hdGlvblRpbWVvdXQp
OwogCiAgICAgcmVzZXRQbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMocGFyYW1ldGVycy5wbHVn
SW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205788</attachid>
            <date>2013-07-01 00:56:27 -0700</date>
            <delta_ts>2013-07-01 02:10:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110141-20130701165405.patch</filename>
            <type>text/plain</type>
            <size>17181</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI2ZGRjOGExYTQzMjUx
M2RiZGI5Njk1ZTY3MjBkNmE5M2NmM2M4OS4uZmJhZGNjMWVjOGJjMDYyOWM3MTEwNzFmNTU1MzA4
NzU4N2Q2MWVlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUxIEBACisyMDEzLTA3LTAxICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl0gTWFrZSBH
dGsgYW5kIEVmbCBidWlsZCBhbmQgcnVuIHdpdGggRU5BQkxFX05FVFdPUktfUFJPQ0VTUworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0
Y2ggYnkgQmFsYXpzIEtlbGVtZW4gPGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIEFkZCBndWFyZCBhZ2FpbnMgRU5B
QkxFKENVU1RPTV9QUk9UT0NPTFMpLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtS
ZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSZXNvdXJjZUxvYWRl
cjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QpOgorICAgICAgICBEb24ndCB1c2UgbmV3UmVxdWVz
dC5uc1VSTFJlcXVlc3RhIGFzIGl0IGlzIE1hYyBwb3J0IHNwZWNpZmljLgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAg
QWRkIGd1YXJkIGFnYWluc3QgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykuCisg
ICAgICAgICogU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oOgorICAgICAgICBBZGQgZXhl
Y3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNzIGhlbHBlciBmdW5jdGlvbi4KKyAgICAgICAgKiBT
aGFyZWQvV2ViUmVzb3VyY2VCdWZmZXIuaDogQ2hhbmdlZCBmb3J3YXJkIGRlY2xhcmF0aW9uIG9m
IFNoYXJlYWJsZVJlc291cmNlIHRvIGFjdHVhbAorICAgICAgICBpbmNsdWRlIGJlY2F1c2UgR0ND
IHJlcXVpcmVzIGEgZGVmaW5pdGlvbiBvZiB0aGUgdHlwZSBmb3IgcGFzc2luZyBpdCBpbiBhIFBh
c3NPd25QdHIuCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhFZmwu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MpOgor
ICAgICAgICAqIFNoYXJlZC9ndGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNzKToKKyAgICAgICAgKiBV
SVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcyk6CisgICAgICAgIEhhbmRsZSB0
aGUgY2FzZSBvZiBsYXVuY2hpbmcgdGhlIG5ldHdvcmsgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHA6CisgICAgICAgIChXZWJL
aXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcyk6CisgICAgICAgIEhhbmRsZSB0aGUg
Y2FzZSBvZiBsYXVuY2hpbmcgdGhlIG5ldHdvcmsgcHJvY2Vzcy4KKyAgICAgICAgKiBVSVByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAgICAgICAgQWRkIG1pc3Npbmcg
Z3VhcmRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5j
cHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2VXaXRoQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgQWRkIGd1YXJkcyBhZ2FpbnN0IFVTRShQ
Uk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spIGFuZCBVU0UoQ0ZORVRXT1JLKS4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuaDoKKyAgICAgICAgQWRk
IGd1YXJkIGFnYWluc3QgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluOiBB
ZGQgZ3VhcmQgYWdhaW5zdAorICAgICAgICBFTkFCTEUoTkVUV09SS19QUk9DRVNTKSBub3QgdG8g
YnJha2UgdGhlIGJ1aWxkIHdpdGhvdXQgaXQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcDoKKyAgICAgICAgKFdlYktpdDo6aW50ZXJuYWxF
cnJvcik6IEltcGxlbWVudGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
Z3RrL1dlYkVycm9yc0d0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OmludGVybmFsRXJyb3IpOiBJ
bXBsZW1lbnRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJvY2Vzcyk6CisgICAgICAgIEFk
ZCBndWFyZCBhZ2FpbnN0IFBMQVRGT1JNKE1BQykuCisKIDIwMTMtMDYtMzAgIEt3YW5nIFl1bCBT
ZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBbV0syXVtTb3VwXSBBZGQgZW50
cnkgcG9pbnQgZm9yIG5ldHdvcmsgcHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDNmNGUzNDdmNzE4ZTIyMTM0ZjkwNjgx
YTU5OTg5ZjgzM2VmMDRkMmUuLmE2YWE2MDI3NjExNTAwMmE2ZjFhNWEzZjNiZmIxZjMxY2NkMTg4
MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vz
cy5jcHAKQEAgLTkxLDcgKzkxLDkgQEAgTmV0d29ya1Byb2Nlc3M6Ok5ldHdvcmtQcm9jZXNzKCkK
IAogICAgIGFkZFN1cHBsZW1lbnQ8QXV0aGVudGljYXRpb25NYW5hZ2VyPigpOwogICAgIGFkZFN1
cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlcj4oKTsKKyNpZiBFTkFCTEUoQ1VTVE9NX1BST1RPQ09M
UykKICAgICBhZGRTdXBwbGVtZW50PEN1c3RvbVByb3RvY29sTWFuYWdlcj4oKTsKKyNlbmRpZgog
fQogCiBOZXR3b3JrUHJvY2Vzczo6fk5ldHdvcmtQcm9jZXNzKCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIuY3BwCmluZGV4
IGFjMzAwOGI2OTExZDY4NDAxMjJiMmM2NGI0ZDEyMmY2NzkxZDBhYTAuLjAwMjQzMGIxMDNjMWNl
NmJjMjE1MmY3NGIwOGQ5YTAyNTE5ZjgyODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLmNwcApAQCAtMjE0LDcgKzIx
NCw3IEBAIHZvaWQgTmV0d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsU2VuZFJlcXVlc3RBc3luYyhS
ZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSCiAKIHZvaWQgTmV0d29ya1Jlc291cmNlTG9h
ZGVyOjpjb250aW51ZVdpbGxTZW5kUmVxdWVzdChjb25zdCBSZXNvdXJjZVJlcXVlc3QmIG5ld1Jl
cXVlc3QpCiB7Ci0gICAgbV9zdWdnZXN0ZWRSZXF1ZXN0Rm9yV2lsbFNlbmRSZXF1ZXN0LnVwZGF0
ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShuZXdSZXF1ZXN0Lm5zVVJMUmVxdWVz
dChEb05vdFVwZGF0ZUhUVFBCb2R5KSk7CisgICAgbV9zdWdnZXN0ZWRSZXF1ZXN0Rm9yV2lsbFNl
bmRSZXF1ZXN0LnVwZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShuZXdSZXF1
ZXN0KTsKIAogICAgIFJ1bkxvb3A6Om1haW4oKS0+ZGlzcGF0Y2goYmluZCgmTmV0d29ya1Jlc291
cmNlTG9hZFNjaGVkdWxlcjo6cmVjZWl2ZWRSZWRpcmVjdCwgJk5ldHdvcmtQcm9jZXNzOjpzaGFy
ZWQoKS5uZXR3b3JrUmVzb3VyY2VMb2FkU2NoZWR1bGVyKCksIHRoaXMsIG1fc3VnZ2VzdGVkUmVx
dWVzdEZvcldpbGxTZW5kUmVxdWVzdC51cmwoKSkpOwogICAgIG1faGFuZGxlLT5jb250aW51ZVdp
bGxTZW5kUmVxdWVzdChtX3N1Z2dlc3RlZFJlcXVlc3RGb3JXaWxsU2VuZFJlcXVlc3QpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jl
c291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCmluZGV4IDAwNzA2YWY0M2NkNGRkNmU4MThiMDI2ZDk1
NjI2MDFjNWY3ZmRhY2YuLmViYjhkN2NkMzE3ZTY3YWNmYzA4YzllYjNiOTQzMDY2OWNkNWE4ZWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTI0LDUgKzI0LDcgQEAgbWVzc2Fn
ZXMgLT4gTmV0d29ya1Jlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIENvbnRp
bnVlV2lsbFNlbmRSZXF1ZXN0KFdlYkNvcmU6OlJlc291cmNlUmVxdWVzdCByZXF1ZXN0KQogICAg
IENvbnRpbnVlRGlkUmVjZWl2ZVJlc3BvbnNlKCkKKyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9B
VVRIX0NBTExCQUNLKQogICAgIENvbnRpbnVlQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rp
b25TcGFjZShib29sIGNhbkF1dGhlbnRpY2F0ZSkKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oCmluZGV4IDVmYmYzMjAxODExMDU1ZTM4
NGFiZWRiNmQzZGQ1ZGFmMWM3Yjc0ZGQuLmQ3OGViY2RkZWJhOTZlNWE5YTMwMWVjN2U4Y2Q1MjM3
NDlkYmRlMjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGguaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoLmgKQEAgLTMyLDYgKzMyLDkgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKIFN0cmluZyBleGVj
dXRhYmxlUGF0aE9mV2ViUHJvY2VzcygpOwogU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Q
cm9jZXNzKCk7CisjaWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKK1N0cmluZyBleGVjdXRhYmxl
UGF0aE9mTmV0d29ya1Byb2Nlc3MoKTsKKyNlbmRpZgogCiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJSZXNvdXJjZUJ1ZmZlci5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYlJlc291cmNlQnVmZmVyLmgKaW5kZXggYjQ3ZjMxODE1ODMyOWE4NTUwNGUyMjgxZGJi
M2Y1NjY3YmYzNGY3YS4uZDYyNGMwOGRmYWU2ODE2YmUyMTcwMmZiZmNhZjA4MmRkYWJlNWNiYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVyLmgKKysr
IGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVyLmgKQEAgLTI2LDEyICsy
NiwxMSBAQAogI2lmbmRlZiBXZWJSZXNvdXJjZUJ1ZmZlcl9oCiAjZGVmaW5lIFdlYlJlc291cmNl
QnVmZmVyX2gKIAorI2luY2x1ZGUgIlNoYXJlYWJsZVJlc291cmNlLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUJ1ZmZlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgU2hh
cmVhYmxlUmVzb3VyY2U7Ci0KIGNsYXNzIFdlYlJlc291cmNlQnVmZmVyIDogcHVibGljIFdlYkNv
cmU6OlJlc291cmNlQnVmZmVyIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJS
ZXNvdXJjZUJ1ZmZlcj4gY3JlYXRlKFBhc3NSZWZQdHI8U2hhcmVhYmxlUmVzb3VyY2U+IHJlc291
cmNlKSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViUmVzb3VyY2VCdWZmZXIocmVzb3VyY2UpKTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJs
ZVBhdGhFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNzRXhlY3V0YWJs
ZVBhdGhFZmwuY3BwCmluZGV4IDYxOGFiMmExNDNhZmVkYzU1ZTFhM2VlZTJjYTQwNzY1ZGJjMWVi
ZjcuLmM5ZTQ5MmViNDYxNjk3OGNmZDBlNTFhYWVjZTc1OWIxMDI4ZTYyMDYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5j
cHAKQEAgLTc0LDQgKzc0LDEzIEBAIFN0cmluZyBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2Vz
cygpCiAgICAgcmV0dXJuIHdlYktpdFBsdWdpblByb2Nlc3NOYW1lOwogfQogCisjaWYgRU5BQkxF
KE5FVFdPUktfUFJPQ0VTUykKK1N0cmluZyBleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3Mo
KQoreworICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgU3RyaW5nLCB3ZWJLaXROZXR3b3Jr
UHJvY2Vzc05hbWUsIChmaW5kUHJvY2Vzc1BhdGgoTkVUV09SS1BST0NFU1NOQU1FKSkpOworCisg
ICAgcmV0dXJuIHdlYktpdE5ldHdvcmtQcm9jZXNzTmFtZTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9ndGsvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcAppbmRleCA1ZTE1MDI5YzM3MjBhM2EzMDU0NjA0MTQx
MmFlY2U2ODYwZWNhOWJhLi45ZjJlNjI5NWQ4YzFkNDBlMjYyZGVmMTQ1Mzk1ZTg4MDcwOTU0ZWRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxl
UGF0aEd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0
YWJsZVBhdGhHdGsuY3BwCkBAIC0zNyw2ICszNyw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBj
b25zdCBjaGFyKiBnV2ViS2l0V2ViUHJvY2Vzc05hbWUgPSAiV2ViS2l0V2ViUHJvY2VzcyI7CiBj
b25zdCBjaGFyKiBnV2ViS2l0UGx1Z2luUHJvY2Vzc05hbWUgPSAiV2ViS2l0UGx1Z2luUHJvY2Vz
cyI7Citjb25zdCBjaGFyKiBnV2ViS2l0TmV0d29ya1Byb2Nlc3NOYW1lID0gIldlYktpdE5ldHdv
cmtQcm9jZXNzIjsKIAogc3RhdGljIFN0cmluZyBmaW5kV2ViS2l0UHJvY2Vzcyhjb25zdCBjaGFy
KiBwcm9jZXNzTmFtZSkKIHsKQEAgLTc2LDQgKzc3LDExIEBAIFN0cmluZyBleGVjdXRhYmxlUGF0
aE9mUGx1Z2luUHJvY2VzcygpCiAgICAgcmV0dXJuIGZpbmRXZWJLaXRQcm9jZXNzKGdXZWJLaXRQ
bHVnaW5Qcm9jZXNzTmFtZSk7CiB9CiAKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorU3Ry
aW5nIGV4ZWN1dGFibGVQYXRoT2ZOZXR3b3JrUHJvY2VzcygpCit7CisgICAgcmV0dXJuIGZpbmRX
ZWJLaXRQcm9jZXNzKGdXZWJLaXROZXR3b3JrUHJvY2Vzc05hbWUpOworfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3BwCmluZGV4IDliOTE4YWJi
ODc0ZDkwYzMwOWM4M2VkYWQ1YWNiZDNlYzM3MmE1NjYuLjk5NDExMTcxZTNhMTQwMTViYTA3ZTI2
Mjc5Y2UzYjNkNDBiZDNiNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9M
YXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5jaGVyRWZsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5jcHAKQEAgLTgzLDYgKzgz
LDExIEBAIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQcm9jZXNzKCkKICAgICAgICAgcGx1
Z2luUGF0aCA9IG1fbGF1bmNoT3B0aW9ucy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5nZXQoInBs
dWdpbi1wYXRoIik7CiAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKE5FVFdPUktf
UFJPQ0VTUykKKyAgICBjYXNlIE5ldHdvcmtQcm9jZXNzOgorICAgICAgICBleGVjdXRhYmxlUGF0
aCA9IGV4ZWN1dGFibGVQYXRoT2ZOZXR3b3JrUHJvY2VzcygpLnV0ZjgoKTsKKyAgICAgICAgYnJl
YWs7CisjZW5kaWYKICAgICBkZWZhdWx0OgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
ICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwCmluZGV4IDJhZTFmZGI1Yzky
OWFjMjQyZGFmNGZmZmQ0YTVjZGJmZGVmY2QwOWQuLmRkODAwNTYxODBjMTBmNmY5YTFlOTk4NzJm
ZDFkOTQ1YzU1NzE5MWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAKQEAgLTc2LDEyICs3Niwy
MyBAQCB2b2lkIFByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2VzcygpCiAKICAgICBTdHJpbmcg
ZXhlY3V0YWJsZVBhdGgsIHBsdWdpblBhdGg7CiAgICAgQ1N0cmluZyByZWFsRXhlY3V0YWJsZVBh
dGgsIHJlYWxQbHVnaW5QYXRoOwotICAgIGlmIChtX2xhdW5jaE9wdGlvbnMucHJvY2Vzc1R5cGUg
PT0gV2ViUHJvY2VzcykKKyAgICBzd2l0Y2ggKG1fbGF1bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSkg
eworICAgIGNhc2UgV2ViUHJvY2VzczoKICAgICAgICAgZXhlY3V0YWJsZVBhdGggPSBleGVjdXRh
YmxlUGF0aE9mV2ViUHJvY2VzcygpOwotICAgIGVsc2UgeworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFBsdWdpblByb2Nlc3M6CiAgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBh
dGhPZlBsdWdpblByb2Nlc3MoKTsKICAgICAgICAgcGx1Z2luUGF0aCA9IG1fbGF1bmNoT3B0aW9u
cy5leHRyYUluaXRpYWxpemF0aW9uRGF0YS5nZXQoInBsdWdpbi1wYXRoIik7CiAgICAgICAgIHJl
YWxQbHVnaW5QYXRoID0gZmlsZVN5c3RlbVJlcHJlc2VudGF0aW9uKHBsdWdpblBhdGgpOworICAg
ICAgICBicmVhazsKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgIGNhc2UgTmV0d29y
a1Byb2Nlc3M6CisgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZk5ldHdv
cmtQcm9jZXNzKCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgZGVmYXVsdDoKKyAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgIHJldHVybjsKICAgICB9CiAKICAgICBy
ZWFsRXhlY3V0YWJsZVBhdGggPSBmaWxlU3lzdGVtUmVwcmVzZW50YXRpb24oZXhlY3V0YWJsZVBh
dGgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29y
a1Byb2Nlc3NQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc1Byb3h5LmNwcAppbmRleCBlYWYyNmU0OWI0MTg2NDQ2Y2Y4ZWJmYjIyYTc2MTBl
MmRmMGMwMzhkLi4xM2I2NDU0YjZjZTdjOTc1Nzc3YzA5NzYzYzM4ZDhhNTJlYWIwMGYxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1By
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc1Byb3h5LmNwcApAQCAtMjksNyArMjksNiBAQAogI2lmIEVOQUJMRShORVRXT1JLX1BST0NF
U1MpCiAKICNpbmNsdWRlICJBdXRoZW50aWNhdGlvbkNoYWxsZW5nZVByb3h5LmgiCi0jaW5jbHVk
ZSAiQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIkRvd25s
b2FkUHJveHlNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ3JlYXRpb25QYXJh
bWV0ZXJzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NNZXNzYWdlcy5oIgpAQCAtNDEsNiAr
NDAsMTAgQEAKICNpbmNsdWRlICJTZWNJdGVtU2hpbVByb3h5LmgiCiAjZW5kaWYKIAorI2lmIEVO
QUJMRShDVVNUT01fUFJPVE9DT0xTKQorI2luY2x1ZGUgIkN1c3RvbVByb3RvY29sTWFuYWdlclBy
b3h5TWVzc2FnZXMuaCIKKyNlbmRpZgorCiAjZGVmaW5lIE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9u
KSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCBjb25uZWN0aW9uKCkpCiAKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKaW5kZXggNTM1N2JiY2Y0NDAwNGNkM2E1MjQ3
N2U1NjM2ZDVhYjcyY2QyNGNiNi4uNjAzODk1NjYwZjU5OWY0ODY1MDIwMzliODRmNGU0MGZmZTY4
NmUwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJl
c291cmNlTG9hZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
V2ViUmVzb3VyY2VMb2FkZXIuY3BwCkBAIC0xMDYsNyArMTA2LDkgQEAgdm9pZCBXZWJSZXNvdXJj
ZUxvYWRlcjo6ZGlkUmVjZWl2ZVJlc3BvbnNlV2l0aENlcnRpZmljYXRlSW5mbyhjb25zdCBSZXNv
dXJjZVJlc3AKICAgICBSZWZQdHI8V2ViUmVzb3VyY2VMb2FkZXI+IHByb3RlY3Rvcih0aGlzKTsK
IAogICAgIFJlc291cmNlUmVzcG9uc2UgcmVzcG9uc2VDb3B5KHJlc3BvbnNlKTsKKyNpZiBVU0Uo
Q0ZORVRXT1JLKQogICAgIHJlc3BvbnNlQ29weS5zZXRDZXJ0aWZpY2F0ZUNoYWluKGNlcnRpZmlj
YXRlSW5mby5jZXJ0aWZpY2F0ZUNoYWluKCkpOworI2VuZGlmCiAgICAgbV9jb3JlTG9hZGVyLT5k
aWRSZWNlaXZlUmVzcG9uc2UocmVzcG9uc2VDb3B5KTsKIAogICAgIC8vIElmIG1fY29yZUxvYWRl
ciBiZWNvbWVzIG51bGwgYXMgYSByZXN1bHQgb2YgdGhlIGRpZFJlY2VpdmVSZXNwb25zZSBjYWxs
YmFjaywgd2UgY2FuJ3QgdXNlIHRoZSBzZW5kIGZ1bmN0aW9uKCkuIApAQCAtMTU5LDYgKzE2MSw3
IEBAIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmRpZFJlY2VpdmVSZXNvdXJjZShjb25zdCBTaGFy
ZWFibGVSZXNvdXJjZTo6SGFuZGxlJiBoYW5kCiAgICAgbV9jb3JlTG9hZGVyLT5kaWRGaW5pc2hM
b2FkaW5nKGZpbmlzaFRpbWUpOwogfQogCisjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9D
QUxMQkFDSykKIHZvaWQgV2ViUmVzb3VyY2VMb2FkZXI6OmNhbkF1dGhlbnRpY2F0ZUFnYWluc3RQ
cm90ZWN0aW9uU3BhY2UoY29uc3QgUHJvdGVjdGlvblNwYWNlJiBwcm90ZWN0aW9uU3BhY2UpCiB7
CiAgICAgUmVmUHRyPFdlYlJlc291cmNlTG9hZGVyPiBwcm90ZWN0b3IodGhpcyk7CkBAIC0xNzAs
NiArMTczLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6Y2FuQXV0aGVudGljYXRlQWdhaW5z
dFByb3RlY3Rpb25TcGFjZShjb25zdCBQcm90ZWN0aW9uU3AKIAogICAgIHNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Q29udGludWVDYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJv
dGVjdGlvblNwYWNlKHJlc3VsdCkpOwogfQorI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dAogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5oCmluZGV4IGIzN2U5YjBmMDkyODA5MTVmYTViMjRmNTA5NjZjMDNkMDlkNmIw
MjQuLjljOTg2ZjJlNDdlNTIzMTg4ZWE0NWQwYjEzNDljN2Y0ODBkZWQ1NzIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5o
CkBAIC04Miw3ICs4Miw5IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaWRGYWlsUmVzb3VyY2VMb2Fk
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVSZXNv
dXJjZShjb25zdCBTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlJiwgZG91YmxlIGZpbmlzaFRpbWUp
OwogCisjaWYgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKICAgICB2b2lkIGNh
bkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoY29uc3QgV2ViQ29yZTo6UHJvdGVj
dGlvblNwYWNlJik7CisjZW5kaWYKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpSZXNvdXJjZUxvYWRl
cj4gbV9jb3JlTG9hZGVyOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgppbmRleCAy
YWMyNjQ5MDlmMTU2MWY4ZGQ3ZTc0ZWEzMTRmMGY2MzQ3MmY4YjA3Li5jZDc4MDEyMmViODhhNGE3
MjNhODI0ZjQ5MTg4MGM5N2M0M2U2MmQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmlu
CkBAIC0yMCw2ICsyMCw4IEBACiAjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCiAjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorCiBtZXNzYWdlcyAtPiBXZWJSZXNvdXJj
ZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7CiAKICAgICBDYW5jZWxSZXNvdXJjZUxvYWRlcigpCkBA
IC0zMiw4ICszNCwxMiBAQCBtZXNzYWdlcyAtPiBXZWJSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNl
aXZlciB7CiAgICAgRGlkRmluaXNoUmVzb3VyY2VMb2FkKGRvdWJsZSBmaW5pc2hUaW1lKQogICAg
IERpZEZhaWxSZXNvdXJjZUxvYWQoV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBlcnJvcikKICAgICAK
KyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogICAgIENhbkF1dGhlbnRp
Y2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UoV2ViQ29yZTo6UHJvdGVjdGlvblNwYWNlIHByb3Rl
Y3Rpb25TcGFjZSkKKyNlbmRpZgogCiAgICAgLy8gRGlkUmVjZWl2ZVJlc291cmNlIGlzIGZvciB3
aGVuIHdlIGhhdmUgdGhlIGVudGlyZSByZXNvdXJjZSBkYXRhIGF2YWlsYWJsZSBhdCBvbmNlLCBz
dWNoIGFzIHdoZW4gdGhlIHJlc291cmNlIGlzIGNhY2hlZCBpbiBtZW1vcnkKICAgICBEaWRSZWNl
aXZlUmVzb3VyY2UoV2ViS2l0OjpTaGFyZWFibGVSZXNvdXJjZTo6SGFuZGxlIHJlc291cmNlLCBk
b3VibGUgZmluaXNoVGltZSkKIH0KKworI2VuZGlmIC8vIEVOQUJMRShORVRXT1JLX1BST0NFU1Mp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2Vm
bC9XZWJFcnJvcnNFZmwuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcAppbmRleCA5ZDhkZmRhMGRhYjc0OTIwNDM5MzUyZGFk
OTU5NTUzYmRjZGFlYWU1Li4zNDVkOWMwNWRlM2ZjZDNjN2U3YjAxYTkwNTI4NDk5NzRhYWJkYTU2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2Vm
bC9XZWJFcnJvcnNFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5jcHAKQEAgLTI2LDEwICsyNiwxMiBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgogCisjaW5jbHVkZSAiV2ViRXJy
b3IuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Vycm9yc0VmbC5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CisjaW5jbHVkZSA8V2ViS2l0Mi9X
S0Vycm9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC03MCw0ICs3Miw5IEBA
IFJlc291cmNlRXJyb3IgcGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihjb25zdCBSZXNvdXJjZVJl
c3BvbnNlJiByZXNwb25zZSkKICAgICByZXR1cm4gV2ViQ29yZTo6cGx1Z2luV2lsbEhhbmRsZUxv
YWRFcnJvcihyZXNwb25zZSk7CiB9CiAKK1dlYkNvcmU6OlJlc291cmNlRXJyb3IgaW50ZXJuYWxF
cnJvcihjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwpCit7CisgICAgcmV0dXJuIFJlc291cmNlRXJy
b3IoV2ViRXJyb3I6OndlYktpdEVycm9yRG9tYWluKCksIGtXS0Vycm9ySW50ZXJuYWwsIHVybC5z
dHJpbmcoKSwgQVNDSUlMaXRlcmFsKCJJbnRlcm5hbCBlcnJvciIpKTsKK30KKwogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3JzR3RrLmNwcAppbmRleCA4Mzc1ZDA2N2FlYjEy
ZDg5MmFlZmE2OGU2NmVhNjMzYzk4ODI2M2NjLi5lMjg0YjI4MjVkNmQ3YTRjM2NhNGQ0OGZhYmNj
ZTFkZjgwNDEzNWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAKQEAgLTI4LDEwICsyOCwx
MiBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgogCisjaW5j
bHVkZSAiV2ViRXJyb3IuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0Vycm9yc0d0ay5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CisjaW5jbHVk
ZSA8V2ViS2l0Mi9XS0Vycm9yLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCkBAIC03
Miw0ICs3NCw5IEBAIFJlc291cmNlRXJyb3IgcGx1Z2luV2lsbEhhbmRsZUxvYWRFcnJvcihjb25z
dCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKICAgICByZXR1cm4gV2ViQ29yZTo6cGx1Z2lu
V2lsbEhhbmRsZUxvYWRFcnJvcihyZXNwb25zZSk7CiB9CiAKK1dlYkNvcmU6OlJlc291cmNlRXJy
b3IgaW50ZXJuYWxFcnJvcihjb25zdCBXZWJDb3JlOjpLVVJMJiB1cmwpCit7CisgICAgcmV0dXJu
IFJlc291cmNlRXJyb3IoV2ViRXJyb3I6OndlYktpdEVycm9yRG9tYWluKCksIGtXS0Vycm9ySW50
ZXJuYWwsIHVybC5zdHJpbmcoKSwgQVNDSUlMaXRlcmFsKCJJbnRlcm5hbCBlcnJvciIpKTsKK30K
KwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAppbmRleCBlZmU1YTAzYTlhMzBlMGU1MTg3YTMwZmEwMmJjZDJjNjlmZDNkM2JmLi5l
OTA1YTcxYjE1MzlkZGZiZWU2NTEzNTU4NGRhOTgwYWI1MDI2NmE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTkwLDcgKzkwLDkgQEAKICNlbmRpZgogCiAj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKKyNpZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAi
Q29va2llU3RvcmFnZVNoaW0uaCIKKyNlbmRpZgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5oIgogI2VuZGlmCiAKQEAgLTM0OCw5ICszNTAsMTEgQEAgdm9pZCBXZWJQcm9jZXNz
Ojppbml0aWFsaXplV2ViUHJvY2Vzcyhjb25zdCBXZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJz
JiBwYXJhbWUKICAgICBtX3VzZXNOZXR3b3JrUHJvY2VzcyA9IHBhcmFtZXRlcnMudXNlc05ldHdv
cmtQcm9jZXNzOwogICAgIGVuc3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpOwogCisjaWYg
UExBVEZPUk0oTUFDKQogICAgIGlmICh1c2VzTmV0d29ya1Byb2Nlc3MoKSkKICAgICAgICAgQ29v
a2llU3RvcmFnZVNoaW06OnNoYXJlZCgpLmluaXRpYWxpemUoKTsKICNlbmRpZgorI2VuZGlmCiAg
ICAgc2V0VGVybWluYXRpb25UaW1lb3V0KHBhcmFtZXRlcnMudGVybWluYXRpb25UaW1lb3V0KTsK
IAogICAgIHJlc2V0UGx1Z0luQXV0b1N0YXJ0T3JpZ2luSGFzaGVzKHBhcmFtZXRlcnMucGx1Z0lu
QXV0b1N0YXJ0T3JpZ2luSGFzaGVzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>205789</attachid>
            <date>2013-07-01 02:10:41 -0700</date>
            <delta_ts>2013-09-16 09:03:32 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-110141-20130701180819.patch</filename>
            <type>text/plain</type>
            <size>17432</size>
            <attacher name="Kwang Yul Seo">skyul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTUyMTU1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZmI2ZGRjOGExYTQzMjUx
M2RiZGI5Njk1ZTY3MjBkNmE5M2NmM2M4OS4uZGNmMWVmMzI0ZmNlMjJlYjcxMzhkMzViMTNlMDAx
MDYxYTdjN2JiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDEzLTA3LTAxICBLd2Fu
ZyBZdWwgU2VvICA8c2t5dWxAY29tcGFueTEwMC5uZXQ+CisKKyAgICAgICAgW1dLMl0gTWFrZSBH
dGsgYW5kIEVmbCBidWlsZCBhbmQgcnVuIHdpdGggRU5BQkxFX05FVFdPUktfUFJPQ0VTUworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTEwMTQxCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT3JpZ2luYWwgcGF0
Y2ggYnkgQmFsYXpzIEtlbGVtZW4gPGtiYWxhenNAd2Via2l0Lm9yZz4uCisKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtQcm9jZXNzOjpOZXR3b3JrUHJvY2Vzcyk6CisgICAgICAgIEFkZCBndWFyZCBhZ2FpbnN0IEVO
QUJMRShDVVNUT01fUFJPVE9DT0xTKS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UmVzb3VyY2VMb2FkZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2Fk
ZXI6OmNvbnRpbnVlV2lsbFNlbmRSZXF1ZXN0KToKKyAgICAgICAgRG9uJ3QgdXNlIG5ld1JlcXVl
c3QubnNVUkxSZXF1ZXN0IGFzIGl0IGlzIE1hYyBwb3J0IHNwZWNpZmljLgorICAgICAgICAqIE5l
dHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbjoKKyAgICAgICAg
QWRkIGd1YXJkIGFnYWluc3QgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykuCisg
ICAgICAgICogU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oOgorICAgICAgICBBZGQgZXhl
Y3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNzIGhlbHBlciBmdW5jdGlvbi4KKyAgICAgICAgKiBT
aGFyZWQvV2ViUmVzb3VyY2VCdWZmZXIuaDoKKyAgICAgICAgQ2hhbmdlZCBmb3J3YXJkIGRlY2xh
cmF0aW9uIG9mIFNoYXJlYWJsZVJlc291cmNlIHRvIGFjdHVhbCBpbmNsdWRlCisgICAgICAgIGJl
Y2F1c2UgR0NDIHJlcXVpcmVzIGEgZGVmaW5pdGlvbiBvZiB0aGUgdHlwZSBmb3IgcGFzc2luZyBp
dCBpbiBhCisgICAgICAgIFBhc3NPd25QdHIuCisgICAgICAgICogU2hhcmVkL2VmbC9Qcm9jZXNz
RXhlY3V0YWJsZVBhdGhFZmwuY3BwOgorICAgICAgICAoV2ViS2l0OjpleGVjdXRhYmxlUGF0aE9m
TmV0d29ya1Byb2Nlc3MpOgorICAgICAgICAqIFNoYXJlZC9ndGsvUHJvY2Vzc0V4ZWN1dGFibGVQ
YXRoR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6ZXhlY3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9j
ZXNzKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVm
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcyk6
CisgICAgICAgIEhhbmRsZSB0aGUgY2FzZSBvZiBsYXVuY2hpbmcgdGhlIG5ldHdvcmsgcHJvY2Vz
cy4KKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5j
cHA6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6bGF1bmNoUHJvY2Vzcyk6Cisg
ICAgICAgIEhhbmRsZSB0aGUgY2FzZSBvZiBsYXVuY2hpbmcgdGhlIG5ldHdvcmsgcHJvY2Vzcy4K
KyAgICAgICAgKiBVSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcDoKKyAg
ICAgICAgQWRkIG1pc3NpbmcgZ3VhcmRzLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay9X
ZWJSZXNvdXJjZUxvYWRlci5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlJlc291cmNlTG9hZGVy
OjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgQWRkIGd1
YXJkcyBhZ2FpbnN0IFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FMTEJBQ0spIGFuZCBVU0Uo
Q0ZORVRXT1JLKS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2Fk
ZXIuaDoKKyAgICAgICAgQWRkIGd1YXJkIGFnYWluc3QgVVNFKFBST1RFQ1RJT05fU1BBQ0VfQVVU
SF9DQUxMQkFDSykuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLm1lc3NhZ2VzLmluOiBBZGQgZ3VhcmQgYWdhaW5zdAorICAgICAgICBFTkFCTEUoTkVUV09S
S19QUk9DRVNTKSBub3QgdG8gYnJha2UgdGhlIGJ1aWxkIHdpdGhvdXQgaXQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6aW50ZXJuYWxFcnJvcik6IEltcGxlbWVudGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6
OmludGVybmFsRXJyb3IpOiBJbXBsZW1lbnRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplV2ViUHJv
Y2Vzcyk6CisgICAgICAgIEFkZCBndWFyZCBhZ2FpbnN0IFBMQVRGT1JNKE1BQykuCisKIDIwMTMt
MDYtMzAgIEt3YW5nIFl1bCBTZW8gIDxza3l1bEBjb21wYW55MTAwLm5ldD4KIAogICAgICAgICBb
V0syXVtTb3VwXSBBZGQgZW50cnkgcG9pbnQgZm9yIG5ldHdvcmsgcHJvY2VzcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IDNmNGUz
NDdmNzE4ZTIyMTM0ZjkwNjgxYTU5OTg5ZjgzM2VmMDRkMmUuLmE2YWE2MDI3NjExNTAwMmE2ZjFh
NWEzZjNiZmIxZjMxY2NkMTg4MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTkxLDcgKzkxLDkgQEAgTmV0d29ya1Byb2Nlc3M6
Ok5ldHdvcmtQcm9jZXNzKCkKIAogICAgIGFkZFN1cHBsZW1lbnQ8QXV0aGVudGljYXRpb25NYW5h
Z2VyPigpOwogICAgIGFkZFN1cHBsZW1lbnQ8V2ViQ29va2llTWFuYWdlcj4oKTsKKyNpZiBFTkFC
TEUoQ1VTVE9NX1BST1RPQ09MUykKICAgICBhZGRTdXBwbGVtZW50PEN1c3RvbVByb3RvY29sTWFu
YWdlcj4oKTsKKyNlbmRpZgogfQogCiBOZXR3b3JrUHJvY2Vzczo6fk5ldHdvcmtQcm9jZXNzKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJj
ZUxvYWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIuY3BwCmluZGV4IGFjMzAwOGI2OTExZDY4NDAxMjJiMmM2NGI0ZDEyMmY2NzkxZDBh
YTAuLmRlMmZjODM5NTc3MTU2ZWIzMTJlMzM5YzUyOTQxNDRlMGUxMThiNzggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVy
LmNwcApAQCAtMjE0LDcgKzIxNCwxMSBAQCB2b2lkIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6d2ls
bFNlbmRSZXF1ZXN0QXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUgogCiB2b2lk
IE5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6Y29udGludWVXaWxsU2VuZFJlcXVlc3QoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiBuZXdSZXF1ZXN0KQogeworI2lmIFBMQVRGT1JNKE1BQykKICAgICBtX3N1
Z2dlc3RlZFJlcXVlc3RGb3JXaWxsU2VuZFJlcXVlc3QudXBkYXRlRnJvbURlbGVnYXRlUHJlc2Vy
dmluZ09sZEhUVFBCb2R5KG5ld1JlcXVlc3QubnNVUkxSZXF1ZXN0KERvTm90VXBkYXRlSFRUUEJv
ZHkpKTsKKyNlbHNlCisgICAgbV9zdWdnZXN0ZWRSZXF1ZXN0Rm9yV2lsbFNlbmRSZXF1ZXN0LnVw
ZGF0ZUZyb21EZWxlZ2F0ZVByZXNlcnZpbmdPbGRIVFRQQm9keShuZXdSZXF1ZXN0KTsKKyNlbmRp
ZgogCiAgICAgUnVuTG9vcDo6bWFpbigpLT5kaXNwYXRjaChiaW5kKCZOZXR3b3JrUmVzb3VyY2VM
b2FkU2NoZWR1bGVyOjpyZWNlaXZlZFJlZGlyZWN0LCAmTmV0d29ya1Byb2Nlc3M6OnNoYXJlZCgp
Lm5ldHdvcmtSZXNvdXJjZUxvYWRTY2hlZHVsZXIoKSwgdGhpcywgbV9zdWdnZXN0ZWRSZXF1ZXN0
Rm9yV2lsbFNlbmRSZXF1ZXN0LnVybCgpKSk7CiAgICAgbV9oYW5kbGUtPmNvbnRpbnVlV2lsbFNl
bmRSZXF1ZXN0KG1fc3VnZ2VzdGVkUmVxdWVzdEZvcldpbGxTZW5kUmVxdWVzdCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3Vy
Y2VMb2FkZXIubWVzc2FnZXMuaW4KaW5kZXggMDA3MDZhZjQzY2Q0ZGQ2ZTgxOGIwMjZkOTU2MjYw
MWM1ZjdmZGFjZi4uYjUzMTBjZGJkYjU3NWIxMWM0NjcyYWQwMWE5ZDdjYjhiNTkzNTA2OSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9h
ZGVyLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgpAQCAtMjAsOSArMjAsMTUgQEAKICMgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAorI2lmIEVOQUJMRShORVRXT1JLX1BST0NF
U1MpCisKIG1lc3NhZ2VzIC0+IE5ldHdvcmtSZXNvdXJjZUxvYWRlciBMZWdhY3lSZWNlaXZlciB7
CiAKICAgICBDb250aW51ZVdpbGxTZW5kUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdCkKICAgICBDb250aW51ZURpZFJlY2VpdmVSZXNwb25zZSgpCisjaWYgVVNFKFBST1RF
Q1RJT05fU1BBQ0VfQVVUSF9DQUxMQkFDSykKICAgICBDb250aW51ZUNhbkF1dGhlbnRpY2F0ZUFn
YWluc3RQcm90ZWN0aW9uU3BhY2UoYm9vbCBjYW5BdXRoZW50aWNhdGUpCisjZW5kaWYKIH0KKwor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUHJvY2Vzc0V4ZWN1dGFi
bGVQYXRoLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoLmgK
aW5kZXggNWZiZjMyMDE4MTEwNTVlMzg0YWJlZGI2ZDNkZDVkYWYxYzdiNzRkZC4uZDc4ZWJjZGRl
YmE5NmU1YTlhMzAxZWM3ZThjZDUyMzc0OWRiZGUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvU2hhcmVkL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Qcm9jZXNzRXhlY3V0YWJsZVBhdGguaApAQCAtMzIsNiArMzIsOSBAQCBuYW1lc3BhY2Ug
V2ViS2l0IHsKIAogU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZXZWJQcm9jZXNzKCk7CiBTdHJpbmcg
ZXhlY3V0YWJsZVBhdGhPZlBsdWdpblByb2Nlc3MoKTsKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9D
RVNTKQorU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZOZXR3b3JrUHJvY2VzcygpOworI2VuZGlmCiAK
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlJlc291cmNlQnVmZmVy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUmVzb3VyY2VCdWZmZXIuaAppbmRleCBiNDdm
MzE4MTU4MzI5YTg1NTA0ZTIyODFkYmIzZjU2NjdiZjM0ZjdhLi5kNjI0YzA4ZGZhZTY4MTZiZTIx
NzAyZmJmY2FmMDgyZGRhYmU1Y2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUmVzb3VyY2VCdWZmZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUmVzb3Vy
Y2VCdWZmZXIuaApAQCAtMjYsMTIgKzI2LDExIEBACiAjaWZuZGVmIFdlYlJlc291cmNlQnVmZmVy
X2gKICNkZWZpbmUgV2ViUmVzb3VyY2VCdWZmZXJfaAogCisjaW5jbHVkZSAiU2hhcmVhYmxlUmVz
b3VyY2UuaCIKICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlQnVmZmVyLmg+CiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCi1jbGFzcyBTaGFyZWFibGVSZXNvdXJjZTsKLQogY2xhc3MgV2ViUmVzb3Vy
Y2VCdWZmZXIgOiBwdWJsaWMgV2ViQ29yZTo6UmVzb3VyY2VCdWZmZXIgewogcHVibGljOgogICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYlJlc291cmNlQnVmZmVyPiBjcmVhdGUoUGFzc1JlZlB0cjxT
aGFyZWFibGVSZXNvdXJjZT4gcmVzb3VyY2UpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJSZXNv
dXJjZUJ1ZmZlcihyZXNvdXJjZSkpOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvZWZsL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEVmbC5jcHAKaW5kZXggNjE4YWIyYTE0M2FmZWRj
NTVlMWEzZWVlMmNhNDA3NjVkYmMxZWJmNy4uYzllNDkyZWI0NjE2OTc4Y2ZkMGU1MWFhZWNlNzU5
YjEwMjhlNjIwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2VmbC9Qcm9jZXNz
RXhlY3V0YWJsZVBhdGhFZmwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9lZmwvUHJv
Y2Vzc0V4ZWN1dGFibGVQYXRoRWZsLmNwcApAQCAtNzQsNCArNzQsMTMgQEAgU3RyaW5nIGV4ZWN1
dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzKCkKICAgICByZXR1cm4gd2ViS2l0UGx1Z2luUHJvY2Vz
c05hbWU7CiB9CiAKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorU3RyaW5nIGV4ZWN1dGFi
bGVQYXRoT2ZOZXR3b3JrUHJvY2VzcygpCit7CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChjb25z
dCBTdHJpbmcsIHdlYktpdE5ldHdvcmtQcm9jZXNzTmFtZSwgKGZpbmRQcm9jZXNzUGF0aChORVRX
T1JLUFJPQ0VTU05BTUUpKSk7CisKKyAgICByZXR1cm4gd2ViS2l0TmV0d29ya1Byb2Nlc3NOYW1l
OworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL2d0ay9Qcm9jZXNzRXhlY3V0YWJsZVBhdGhHdGsuY3BwCmluZGV4IDVl
MTUwMjljMzcyMGEzYTMwNTQ2MDQxNDEyYWVjZTY4NjBlY2E5YmEuLjlmMmU2Mjk1ZDhjMWQ0MGUy
NjJkZWYxNDUzOTVlODgwNzA5NTRlZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9ndGsvUHJvY2Vzc0V4ZWN1dGFibGVQYXRoR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvZ3RrL1Byb2Nlc3NFeGVjdXRhYmxlUGF0aEd0ay5jcHAKQEAgLTM3LDYgKzM3LDcgQEAg
bmFtZXNwYWNlIFdlYktpdCB7CiAKIGNvbnN0IGNoYXIqIGdXZWJLaXRXZWJQcm9jZXNzTmFtZSA9
ICJXZWJLaXRXZWJQcm9jZXNzIjsKIGNvbnN0IGNoYXIqIGdXZWJLaXRQbHVnaW5Qcm9jZXNzTmFt
ZSA9ICJXZWJLaXRQbHVnaW5Qcm9jZXNzIjsKK2NvbnN0IGNoYXIqIGdXZWJLaXROZXR3b3JrUHJv
Y2Vzc05hbWUgPSAiV2ViS2l0TmV0d29ya1Byb2Nlc3MiOwogCiBzdGF0aWMgU3RyaW5nIGZpbmRX
ZWJLaXRQcm9jZXNzKGNvbnN0IGNoYXIqIHByb2Nlc3NOYW1lKQogewpAQCAtNzYsNCArNzcsMTEg
QEAgU3RyaW5nIGV4ZWN1dGFibGVQYXRoT2ZQbHVnaW5Qcm9jZXNzKCkKICAgICByZXR1cm4gZmlu
ZFdlYktpdFByb2Nlc3MoZ1dlYktpdFBsdWdpblByb2Nlc3NOYW1lKTsKIH0KIAorI2lmIEVOQUJM
RShORVRXT1JLX1BST0NFU1MpCitTdHJpbmcgZXhlY3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNz
KCkKK3sKKyAgICByZXR1cm4gZmluZFdlYktpdFByb2Nlc3MoZ1dlYktpdE5ldHdvcmtQcm9jZXNz
TmFtZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hlckVmbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZWZsL1Byb2Nlc3NMYXVuY2hl
ckVmbC5jcHAKaW5kZXggOWI5MThhYmI4NzRkOTBjMzA5YzgzZWRhZDVhY2JkM2VjMzcyYTU2Ni4u
OTk0MTExNzFlM2ExNDAxNWJhMDdlMjYyNzljZTNiM2Q0MGJkM2I1MSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2VmbC9Qcm9jZXNzTGF1bmNoZXJFZmwuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9lZmwvUHJvY2Vzc0xhdW5j
aGVyRWZsLmNwcApAQCAtODMsNiArODMsMTEgQEAgdm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5j
aFByb2Nlc3MoKQogICAgICAgICBwbHVnaW5QYXRoID0gbV9sYXVuY2hPcHRpb25zLmV4dHJhSW5p
dGlhbGl6YXRpb25EYXRhLmdldCgicGx1Z2luLXBhdGgiKTsKICAgICAgICAgYnJlYWs7CiAjZW5k
aWYKKyNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorICAgIGNhc2UgTmV0d29ya1Byb2Nlc3M6
CisgICAgICAgIGV4ZWN1dGFibGVQYXRoID0gZXhlY3V0YWJsZVBhdGhPZk5ldHdvcmtQcm9jZXNz
KCkudXRmOCgpOworICAgICAgICBicmVhazsKKyNlbmRpZgogICAgIGRlZmF1bHQ6CiAgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0
ay5jcHAKaW5kZXggMmFlMWZkYjVjOTI5YWMyNDJkYWY0ZmZmZDRhNWNkYmZkZWZjZDA5ZC4uZGQ4
MDA1NjE4MGMxMGY2ZjlhMWU5OTg3MmZkMWQ5NDVjNTU3MTkxZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVy
R3RrLmNwcApAQCAtNzYsMTIgKzc2LDIzIEBAIHZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQ
cm9jZXNzKCkKIAogICAgIFN0cmluZyBleGVjdXRhYmxlUGF0aCwgcGx1Z2luUGF0aDsKICAgICBD
U3RyaW5nIHJlYWxFeGVjdXRhYmxlUGF0aCwgcmVhbFBsdWdpblBhdGg7Ci0gICAgaWYgKG1fbGF1
bmNoT3B0aW9ucy5wcm9jZXNzVHlwZSA9PSBXZWJQcm9jZXNzKQorICAgIHN3aXRjaCAobV9sYXVu
Y2hPcHRpb25zLnByb2Nlc3NUeXBlKSB7CisgICAgY2FzZSBXZWJQcm9jZXNzOgogICAgICAgICBl
eGVjdXRhYmxlUGF0aCA9IGV4ZWN1dGFibGVQYXRoT2ZXZWJQcm9jZXNzKCk7Ci0gICAgZWxzZSB7
CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgUGx1Z2luUHJvY2VzczoKICAgICAgICAgZXhlY3V0
YWJsZVBhdGggPSBleGVjdXRhYmxlUGF0aE9mUGx1Z2luUHJvY2VzcygpOwogICAgICAgICBwbHVn
aW5QYXRoID0gbV9sYXVuY2hPcHRpb25zLmV4dHJhSW5pdGlhbGl6YXRpb25EYXRhLmdldCgicGx1
Z2luLXBhdGgiKTsKICAgICAgICAgcmVhbFBsdWdpblBhdGggPSBmaWxlU3lzdGVtUmVwcmVzZW50
YXRpb24ocGx1Z2luUGF0aCk7CisgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShORVRXT1JLX1BS
T0NFU1MpCisgICAgY2FzZSBOZXR3b3JrUHJvY2VzczoKKyAgICAgICAgZXhlY3V0YWJsZVBhdGgg
PSBleGVjdXRhYmxlUGF0aE9mTmV0d29ya1Byb2Nlc3MoKTsKKyAgICAgICAgYnJlYWs7CisjZW5k
aWYKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAg
cmV0dXJuOwogICAgIH0KIAogICAgIHJlYWxFeGVjdXRhYmxlUGF0aCA9IGZpbGVTeXN0ZW1SZXBy
ZXNlbnRhdGlvbihleGVjdXRhYmxlUGF0aCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmluZGV4IGVhZjI2ZTQ5
YjQxODY0NDZjZjhlYmZiMjJhNzYxMGUyZGYwYzAzOGQuLjEzYjY0NTRiNmNlN2M5NzU3NzdjMDk3
NjNjMzhkOGE1MmVhYjAwZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCkBAIC0yOSw3ICsyOSw2IEBACiAj
aWYgRU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKIAogI2luY2x1ZGUgIkF1dGhlbnRpY2F0aW9uQ2hh
bGxlbmdlUHJveHkuaCIKLSNpbmNsdWRlICJDdXN0b21Qcm90b2NvbE1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c01lc3NhZ2VzLmgiCkBAIC00MSw2ICs0MCwxMCBAQAogI2luY2x1ZGUgIlNlY0l0ZW1TaGltUHJv
eHkuaCIKICNlbmRpZgogCisjaWYgRU5BQkxFKENVU1RPTV9QUk9UT0NPTFMpCisjaW5jbHVkZSAi
Q3VzdG9tUHJvdG9jb2xNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIgorI2VuZGlmCisKICNkZWZpbmUg
TUVTU0FHRV9DSEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIGNv
bm5lY3Rpb24oKSkKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmNwcAppbmRl
eCA1MzU3YmJjZjQ0MDA0Y2QzYTUyNDc3ZTU2MzZkNWFiNzJjZDI0Y2I2Li42MDM4OTU2NjBmNTk5
ZjQ4NjUwMjAzOWI4NGY0ZTQwZmZlNjg2ZTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVzb3VyY2VMb2FkZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5jcHAKQEAgLTEwNiw3ICsx
MDYsOSBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVyOjpkaWRSZWNlaXZlUmVzcG9uc2VXaXRoQ2Vy
dGlmaWNhdGVJbmZvKGNvbnN0IFJlc291cmNlUmVzcAogICAgIFJlZlB0cjxXZWJSZXNvdXJjZUxv
YWRlcj4gcHJvdGVjdG9yKHRoaXMpOwogCiAgICAgUmVzb3VyY2VSZXNwb25zZSByZXNwb25zZUNv
cHkocmVzcG9uc2UpOworI2lmIFVTRShDRk5FVFdPUkspCiAgICAgcmVzcG9uc2VDb3B5LnNldENl
cnRpZmljYXRlQ2hhaW4oY2VydGlmaWNhdGVJbmZvLmNlcnRpZmljYXRlQ2hhaW4oKSk7CisjZW5k
aWYKICAgICBtX2NvcmVMb2FkZXItPmRpZFJlY2VpdmVSZXNwb25zZShyZXNwb25zZUNvcHkpOwog
CiAgICAgLy8gSWYgbV9jb3JlTG9hZGVyIGJlY29tZXMgbnVsbCBhcyBhIHJlc3VsdCBvZiB0aGUg
ZGlkUmVjZWl2ZVJlc3BvbnNlIGNhbGxiYWNrLCB3ZSBjYW4ndCB1c2UgdGhlIHNlbmQgZnVuY3Rp
b24oKS4gCkBAIC0xNTksNiArMTYxLDcgQEAgdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6ZGlkUmVj
ZWl2ZVJlc291cmNlKGNvbnN0IFNoYXJlYWJsZVJlc291cmNlOjpIYW5kbGUmIGhhbmQKICAgICBt
X2NvcmVMb2FkZXItPmRpZEZpbmlzaExvYWRpbmcoZmluaXNoVGltZSk7CiB9CiAKKyNpZiBVU0Uo
UFJPVEVDVElPTl9TUEFDRV9BVVRIX0NBTExCQUNLKQogdm9pZCBXZWJSZXNvdXJjZUxvYWRlcjo6
Y2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShjb25zdCBQcm90ZWN0aW9uU3Bh
Y2UmIHByb3RlY3Rpb25TcGFjZSkKIHsKICAgICBSZWZQdHI8V2ViUmVzb3VyY2VMb2FkZXI+IHBy
b3RlY3Rvcih0aGlzKTsKQEAgLTE3MCw2ICsxNzMsNyBAQCB2b2lkIFdlYlJlc291cmNlTG9hZGVy
OjpjYW5BdXRoZW50aWNhdGVBZ2FpbnN0UHJvdGVjdGlvblNwYWNlKGNvbnN0IFByb3RlY3Rpb25T
cAogCiAgICAgc2VuZChNZXNzYWdlczo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjpDb250aW51ZUNh
bkF1dGhlbnRpY2F0ZUFnYWluc3RQcm90ZWN0aW9uU3BhY2UocmVzdWx0KSk7CiB9CisjZW5kaWYK
IAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKaW5kZXggYjM3ZTliMGYwOTI4MDkx
NWZhNWIyNGY1MDk2NmMwM2QwOWQ2YjAyNC4uOWM5ODZmMmU0N2U1MjMxODhlYTQ1ZDBiMTM0OWM3
ZjQ4MGRlZDU3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L1dlYlJlc291cmNlTG9hZGVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL1dlYlJlc291cmNlTG9hZGVyLmgKQEAgLTgyLDcgKzgyLDkgQEAgcHJpdmF0ZToKICAgICB2
b2lkIGRpZEZhaWxSZXNvdXJjZUxvYWQoY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VFcnJvciYpOwog
ICAgIHZvaWQgZGlkUmVjZWl2ZVJlc291cmNlKGNvbnN0IFNoYXJlYWJsZVJlc291cmNlOjpIYW5k
bGUmLCBkb3VibGUgZmluaXNoVGltZSk7CiAKKyNpZiBVU0UoUFJPVEVDVElPTl9TUEFDRV9BVVRI
X0NBTExCQUNLKQogICAgIHZvaWQgY2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFj
ZShjb25zdCBXZWJDb3JlOjpQcm90ZWN0aW9uU3BhY2UmKTsKKyNlbmRpZgogCiAgICAgUmVmUHRy
PFdlYkNvcmU6OlJlc291cmNlTG9hZGVyPiBtX2NvcmVMb2FkZXI7CiB9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9h
ZGVyLm1lc3NhZ2VzLmluCmluZGV4IDJhYzI2NDkwOWYxNTYxZjhkZDdlNzRlYTMxNGYwZjYzNDcy
ZjhiMDcuLmNkNzgwMTIyZWI4OGE0YTcyM2E4MjRmNDkxODgwYzk3YzQzZTYyZDEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5t
ZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvV2ViUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KQEAgLTIwLDYgKzIwLDggQEAKICMgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKICMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KIAorI2lmIEVOQUJMRShORVRXT1JLX1BST0NFU1MpCisK
IG1lc3NhZ2VzIC0+IFdlYlJlc291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKIAogICAgIENh
bmNlbFJlc291cmNlTG9hZGVyKCkKQEAgLTMyLDggKzM0LDEyIEBAIG1lc3NhZ2VzIC0+IFdlYlJl
c291cmNlTG9hZGVyIExlZ2FjeVJlY2VpdmVyIHsKICAgICBEaWRGaW5pc2hSZXNvdXJjZUxvYWQo
ZG91YmxlIGZpbmlzaFRpbWUpCiAgICAgRGlkRmFpbFJlc291cmNlTG9hZChXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIGVycm9yKQogICAgIAorI2lmIFVTRShQUk9URUNUSU9OX1NQQUNFX0FVVEhfQ0FM
TEJBQ0spCiAgICAgQ2FuQXV0aGVudGljYXRlQWdhaW5zdFByb3RlY3Rpb25TcGFjZShXZWJDb3Jl
OjpQcm90ZWN0aW9uU3BhY2UgcHJvdGVjdGlvblNwYWNlKQorI2VuZGlmCiAKICAgICAvLyBEaWRS
ZWNlaXZlUmVzb3VyY2UgaXMgZm9yIHdoZW4gd2UgaGF2ZSB0aGUgZW50aXJlIHJlc291cmNlIGRh
dGEgYXZhaWxhYmxlIGF0IG9uY2UsIHN1Y2ggYXMgd2hlbiB0aGUgcmVzb3VyY2UgaXMgY2FjaGVk
IGluIG1lbW9yeQogICAgIERpZFJlY2VpdmVSZXNvdXJjZShXZWJLaXQ6OlNoYXJlYWJsZVJlc291
cmNlOjpIYW5kbGUgcmVzb3VyY2UsIGRvdWJsZSBmaW5pc2hUaW1lKQogfQorCisjZW5kaWYgLy8g
RU5BQkxFKE5FVFdPUktfUFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2VmbC9XZWJFcnJvcnNFZmwuY3BwCmluZGV4IDlk
OGRmZGEwZGFiNzQ5MjA0MzkzNTJkYWQ5NTk1NTNiZGNkYWVhZTUuLjM0NWQ5YzA1ZGUzZmNkM2M3
ZTdiMDFhOTA1Mjg0OTk3NGFhYmRhNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZWZsL1dlYkVycm9yc0VmbC5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9lZmwvV2ViRXJyb3JzRWZsLmNwcApAQCAt
MjYsMTAgKzI2LDEyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViRXJyb3Jz
LmgiCiAKKyNpbmNsdWRlICJXZWJFcnJvci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRXJyb3JzRWZs
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2Uu
aD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLRXJyb3IuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKQEAgLTcwLDQgKzcyLDkgQEAgUmVzb3VyY2VFcnJvciBwbHVnaW5XaWxsSGFuZGxlTG9h
ZEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAgIHJldHVybiBXZWJD
b3JlOjpwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKHJlc3BvbnNlKTsKIH0KIAorV2ViQ29yZTo6
UmVzb3VyY2VFcnJvciBpbnRlcm5hbEVycm9yKGNvbnN0IFdlYkNvcmU6OktVUkwmIHVybCkKK3sK
KyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihXZWJFcnJvcjo6d2ViS2l0RXJyb3JEb21haW4oKSwg
a1dLRXJyb3JJbnRlcm5hbCwgdXJsLnN0cmluZygpLCBBU0NJSUxpdGVyYWwoIkludGVybmFsIGVy
cm9yIikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsu
Y3BwCmluZGV4IDgzNzVkMDY3YWViMTJkODkyYWVmYTY4ZTY2ZWE2MzNjOTg4MjYzY2MuLmUyODRi
MjgyNWQ2ZDdhNGMzY2E0ZDQ4ZmFiY2NlMWRmODA0MTM1ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3Jz
R3RrLmNwcApAQCAtMjgsMTAgKzI4LDEyIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVk
ZSAiV2ViRXJyb3JzLmgiCiAKKyNpbmNsdWRlICJXZWJFcnJvci5oIgogI2luY2x1ZGUgPFdlYkNv
cmUvRXJyb3JzR3RrLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlUmVzcG9uc2UuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1dLRXJyb3IuaD4KIAogdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKQEAgLTcyLDQgKzc0LDkgQEAgUmVzb3VyY2VFcnJvciBwbHVnaW5X
aWxsSGFuZGxlTG9hZEVycm9yKGNvbnN0IFJlc291cmNlUmVzcG9uc2UmIHJlc3BvbnNlKQogICAg
IHJldHVybiBXZWJDb3JlOjpwbHVnaW5XaWxsSGFuZGxlTG9hZEVycm9yKHJlc3BvbnNlKTsKIH0K
IAorV2ViQ29yZTo6UmVzb3VyY2VFcnJvciBpbnRlcm5hbEVycm9yKGNvbnN0IFdlYkNvcmU6OktV
UkwmIHVybCkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihXZWJFcnJvcjo6d2ViS2l0RXJy
b3JEb21haW4oKSwga1dLRXJyb3JJbnRlcm5hbCwgdXJsLnN0cmluZygpLCBBU0NJSUxpdGVyYWwo
IkludGVybmFsIGVycm9yIikpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGVmZTVhMDNhOWEzMGUwZTUxODdh
MzBmYTAyYmNkMmM2OWZkM2QzYmYuLmU5MDVhNzFiMTUzOWRkZmJlZTY1MTM1NTg0ZGE5ODBhYjUw
MjY2YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtOTAs
NyArOTAsOSBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoTkVUV09SS19QUk9DRVNTKQorI2lmIFBM
QVRGT1JNKE1BQykKICNpbmNsdWRlICJDb29raWVTdG9yYWdlU2hpbS5oIgorI2VuZGlmCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAjZW5kaWYKIApAQCAtMzQ4LDkgKzM1
MCwxMSBAQCB2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVXZWJQcm9jZXNzKGNvbnN0IFdlYlBy
b2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZQogICAgIG1fdXNlc05ldHdvcmtQcm9jZXNz
ID0gcGFyYW1ldGVycy51c2VzTmV0d29ya1Byb2Nlc3M7CiAgICAgZW5zdXJlTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uKCk7CiAKKyNpZiBQTEFURk9STShNQUMpCiAgICAgaWYgKHVzZXNOZXR3b3Jr
UHJvY2VzcygpKQogICAgICAgICBDb29raWVTdG9yYWdlU2hpbTo6c2hhcmVkKCkuaW5pdGlhbGl6
ZSgpOwogI2VuZGlmCisjZW5kaWYKICAgICBzZXRUZXJtaW5hdGlvblRpbWVvdXQocGFyYW1ldGVy
cy50ZXJtaW5hdGlvblRpbWVvdXQpOwogCiAgICAgcmVzZXRQbHVnSW5BdXRvU3RhcnRPcmlnaW5I
YXNoZXMocGFyYW1ldGVycy5wbHVnSW5BdXRvU3RhcnRPcmlnaW5IYXNoZXMpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>