<?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>145408</bug_id>
          
          <creation_ts>2015-05-27 08:18:07 -0700</creation_ts>
          <short_desc>[CMake][GTK] Improve detection and usage of GL/GLES/EGL libraries.</short_desc>
          <delta_ts>2017-08-06 14:51:21 -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>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=175125</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Alberto Lopez Perez">clopez</reporter>
          <assigned_to name="Carlos Alberto Lopez Perez">clopez</assigned_to>
          <cc>cgarcia</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>jdapena</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>ossy</cc>
    
    <cc>sam</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1097632</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 08:18:07 -0700</bug_when>
    <thetext>I have observed some problems when building WebKitGTK+ on some embedded devices:

1) When building WebKitGTK+ on a freescale board, the build fails because the EGL headers of Vivante expect some variables to be defined.

$ pkg-config --cflags  egl
-DLINUX -I/usr/include/libdrm 

Our current CMake logic don&apos;t passes &quot;-DLINUX&quot; to the build, so when we include the Vivante headers it aborts because that headers need -DLINUX to be defined.

2) When building WebKitGTK+ on any board with any GLESv2 library that don&apos;t defines an include path (because it uses the standard system one), we fail to detect the GLES libraries because the way we handle the logic in findgles.cmake (we expect pkg-config to define an include path (-I/somepath) to set gles_found to true instead of using find_path() to find the path for the include headers. pkg-config will not define an include path when the headers are on the default system include path)

$ pkg-config --cflags --libs glesv2
-lGLESv2 


3) Not a problem but an improvement: we should be able to automatically switch to building with GLES when we don&apos;t detect OpenGL, but we detect OpenGLESv2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097633</commentid>
    <comment_count>1</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-05-27 08:29:39 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; 3) Not a problem but an improvement: we should be able to automatically
&gt; switch to building with GLES when we don&apos;t detect OpenGL, but we detect
&gt; OpenGLESv2.

We have decided to make everything require explicit configuration arguments to prevent getting builds that silently lack features. Perhaps Michael can comment about whether or not he believes this is the same situation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097634</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 08:45:21 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; (In reply to comment #0)
&gt; &gt; 3) Not a problem but an improvement: we should be able to automatically
&gt; &gt; switch to building with GLES when we don&apos;t detect OpenGL, but we detect
&gt; &gt; OpenGLESv2.
&gt; 
&gt; We have decided to make everything require explicit configuration arguments
&gt; to prevent getting builds that silently lack features. Perhaps Michael can
&gt; comment about whether or not he believes this is the same situation.

We are already conditional enabling ACCELERATED_2D_CANVAS depending on finding cairo-gl or not.

Also the feature here will be: &quot;Use accelerated compositing&quot;. This can be done either via OpenGL or via OpenGLES. But the feature is the same. Is not like we will be switching off the feature when we find OpenGLES but not OpenGL, we will simply using the another library we support for the feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097657</commentid>
    <comment_count>3</comment_count>
      <attachid>253792</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 10:34:01 -0700</bug_when>
    <thetext>Created attachment 253792
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097658</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-27 10:35:37 -0700</bug_when>
    <thetext>Attachment 253792 did not pass style-queue:


ERROR: Source/WebCore/PlatformEfl.cmake:396:  Alphabetical sorting problem. &quot;crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp&quot; should be before &quot;crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp&quot;.  [list/order] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097667</commentid>
    <comment_count>5</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-05-27 11:00:15 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; We are already conditional enabling ACCELERATED_2D_CANVAS depending on
&gt; finding cairo-gl or not.

I think this is not a very good example though. This one is detected automatically mostly as a stopgap, since Debian and Ubuntu do not have CarioGL and it&apos;s impossible to enable ACCELERATED_2D_CANVAS there even if we want to, but all other major distros have been using ACCELERATED_2D_CANVAS for a while and I&apos;m not aware of any reason to turn that off for them.

&gt; Also the feature here will be: &quot;Use accelerated compositing&quot;. This can be
&gt; done either via OpenGL or via OpenGLES. But the feature is the same. Is not
&gt; like we will be switching off the feature when we find OpenGLES but not
&gt; OpenGL, we will simply using the another library we support for the feature.

This seems like a good argument to me. It should be fine to automatically fall back to OpenGLES if OpenGL is not available, so long as there&apos;s no significant functionality regression when built with OpenGLES instead of OpenGL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097669</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-05-27 11:11:35 -0700</bug_when>
    <thetext>Regarding your patch: it passes my sanity-check, except CMakePushCheckState should be included from FindOpenGL.cmake, not OptionsGTK.cmake and OptionsEFL.cmake.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097737</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 15:24:58 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; Regarding your patch: it passes my sanity-check, except CMakePushCheckState
&gt; should be included from FindOpenGL.cmake, not OptionsGTK.cmake and
&gt; OptionsEFL.cmake.

Good point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097738</commentid>
    <comment_count>8</comment_count>
      <attachid>253804</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 15:30:50 -0700</bug_when>
    <thetext>Created attachment 253804
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097741</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-05-27 15:33:39 -0700</bug_when>
    <thetext>Attachment 253804 did not pass style-queue:


ERROR: Source/WebCore/PlatformEfl.cmake:396:  Alphabetical sorting problem. &quot;crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp&quot; should be before &quot;crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp&quot;.  [list/order] [5]
Total errors found: 1 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097796</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 18:15:05 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; Attachment 253804 [details] did not pass style-queue:
&gt; 
&gt; 
&gt; ERROR: Source/WebCore/PlatformEfl.cmake:396:  Alphabetical sorting problem.
&gt; &quot;crypto/gnutls/CryptoAlgorithmRSASSA_PKCS1_v1_5GnuTLS.cpp&quot; should be before
&gt; &quot;crypto/gnutls/CryptoAlgorithmRSA_OAEPGnuTLS.cpp&quot;.  [list/order] [5]
&gt; Total errors found: 1 in 9 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against
&gt; check-webkit-style.

It was already reported: https://bugs.webkit.org/show_bug.cgi?id=144959</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097813</commentid>
    <comment_count>11</comment_count>
      <attachid>253827</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-27 19:38:03 -0700</bug_when>
    <thetext>Created attachment 253827
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097871</commentid>
    <comment_count>12</comment_count>
      <attachid>253827</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-05-28 02:12:02 -0700</bug_when>
    <thetext>Comment on attachment 253827
Patch

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

This looks great to me, I only have the doubts in FindFoo whether we realy need to still use find_path and find_library even when pkg-config file was found

&gt; Source/cmake/FindEGL.cmake:43
&gt; +endif ()
&gt; +
&gt; +find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
&gt; +    HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
&gt; +)

Do we still need to do this even if the pkg-config file was found?

&gt; Source/cmake/FindEGL.cmake:48
&gt; +find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
&gt; +    HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
&gt; +)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097878</commentid>
    <comment_count>13</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-28 03:45:20 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Comment on attachment 253827 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=253827&amp;action=review
&gt; 
&gt; This looks great to me, I only have the doubts in FindFoo whether we realy
&gt; need to still use find_path and find_library even when pkg-config file was
&gt; found
&gt; 
&gt; &gt; Source/cmake/FindEGL.cmake:43
&gt; &gt; +endif ()
&gt; &gt; +
&gt; &gt; +find_path(EGL_INCLUDE_DIRS NAMES EGL/egl.h
&gt; &gt; +    HINTS ${PC_EGL_INCLUDEDIR} ${PC_EGL_INCLUDE_DIRS}
&gt; &gt; +)
&gt; 
&gt; Do we still need to do this even if the pkg-config file was found?
&gt; 
&gt; &gt; Source/cmake/FindEGL.cmake:48
&gt; &gt; +find_library(EGL_LIBRARIES NAMES ${EGL_NAMES}
&gt; &gt; +    HINTS ${PC_EGL_LIBDIR} ${PC_EGL_LIBRARY_DIRS}
&gt; &gt; +)
&gt; 
&gt; Ditto.

Yes. The reason is that when you below on that files you define:

FIND_PACKAGE_HANDLE_STANDARD_ARGS(EGL DEFAULT_MSG EGL_INCLUDE_DIRS EGL_LIBRARIES)

You are saying that you only want to define the library as found (EGL_FOUND=TRUE) if both variables are valid/defined (EGL_INCLUDE_DIRS and EGL_LIBRARIES).

But pkg-config will not define a &lt;LIBRARY&gt;_INCLUDE_DIRS when the headers are on the default system path (typically /usr/include) because is redundant.

But, find_path will do in any case. It finds the path where the headers are (even if they are on the default system path).

The same applies to find_library. If pkg-config don&apos;t defines a &apos;-lfoobar&apos;, at least find_library will find all the .so files and add them with &apos;-L/path/to/foobar.so&apos;

So to my knowledge so far, the best way to find a library in a reliably way is to not directly use the values from pkg-config even when they are available, but use this values instead as hints to find_path() and find_library()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097879</commentid>
    <comment_count>14</comment_count>
      <attachid>253827</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-28 04:31:14 -0700</bug_when>
    <thetext>Comment on attachment 253827
Patch

Clearing flags on attachment: 253827

Committed r184954: &lt;http://trac.webkit.org/changeset/184954&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1097880</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2015-05-28 04:31:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253792</attachid>
            <date>2015-05-27 10:34:01 -0700</date>
            <delta_ts>2015-05-27 15:30:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145408-20150527193348.patch</filename>
            <type>text/plain</type>
            <size>16669</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTAyNjU2NWMyNDZkYmNl
YTA1NjZkOWRmYjBjMGZjODQ2MmM3NWMyYy4uZDBjMDMxM2IzY2M5YTU2YzdmYzQ3NWJmNTkyODBi
MTMyM2I4NTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA1LTE5ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtD
TWFrZV0gSW1wcm92ZSBkZXRlY3Rpb24gYW5kIHVzYWdlIG9mIEdML0dMRVMvRUdMIGxpYnJhcmll
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTQw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBFbnN1cmUgdGhhdCB3ZSBpbmNsdWRlIHRoZSBsaWJyYXJpZXMgYW5kIGluY2x1ZGVzCisgICAg
ICAgIGZvciB0aGUgR0wvR0xFU3YyL0VHTCBsaWJyYXJpZXMgYmVmb3JlIGluY2x1ZGluZyB0aGUg
QU5HTEUgZGlyZWN0b3JpZXMuCisgICAgICAgIERlZmluZSBhbHNvIGFueSBDRkxBRyB0aGF0IHRo
ZSBzeXN0ZW0gR0wvR0xFU3YyL0VHTCBsaWJyYXJpZXMgbWF5IG5lZWQuCisgICAgICAgICogUGxh
dGZvcm1FZmwuY21ha2U6IFVwZGF0ZSB0aGUgdmFyaWFibGUgbmFtZXMsIGFuZCByZW1vdmUgc29t
ZSBpbmNsdWRlcworICAgICAgICB0aGF0IGFyZSBub3cgdW5uZWVkZWQsIGJlY2F1c2Ugd2UgYXJl
IGluY2x1ZGluZyBub3cgdGhlIEVHTCBsaWJyYXJpZXMgb24KKyAgICAgICAgQ01ha2VMaXN0cy50
eHQKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZTogUmVtb3ZlIHVubmVlZGVkIGluY2x1ZGUg
KFdlIGFyZSBpbmNsdWRpbmcgdGhlIEVHTAorICAgICAgICBsaWJyYXJpZXMgbm93IG9uIENNYWtl
TGlzdHMudHh0KQorCiAyMDE1LTA1LTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQXJhYmljIGxpZ2F0dXJlcyBhcmUgYnJva2VuIGlu
IEdvb2dsZSBNYXBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGE1OTAzMzg4ZmFhNmZhZjgwNDYx
ZDUwZTM5OTZhMWQ2YjE4ZmI3NjIuLmFhYmZjYzhhZTk1MTVjNmY3NDY2MGE3MjIyNjkwZmFjM2Q0
NDdkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMDAwLDIyICszMDAwLDM1IEBAIGlmIChF
TkFCTEVfUVVPVEEpCiBlbmRpZiAoKQogCiBpZiAoRU5BQkxFX0dSQVBISUNTX0NPTlRFWFRfM0Qp
Ci0gICAgIyBGb3IgcGxhdGZvcm1zIHRoYXQgd2FudCB0byB1c2Ugc3lzdGVtLXByb3ZpZGVkIE9w
ZW5HTCAoRVMpIGhlYWRlcnMsCi0gICAgIyB0aGVzZSBpbmNsdWRlIGRpcmVjdG9yaWVzIG5lZWQg
dG8gYmUgYWRkZWQgYmVmb3JlIHRoZSBBTkdMRSBkaXJlY3Rvcmllcy4KLSAgICBpZiAoT1BFTkdM
X0ZPVU5EKQorICAgICMgRm9yIHBsYXRmb3JtcyB0aGF0IHdhbnQgdG8gdXNlIHN5c3RlbS1wcm92
aWRlZCBPcGVuR0wgKEVTKSAvIEVHTCBoZWFkZXJzLAorICAgICMgdGhlc2UgaW5jbHVkZSBkaXJl
Y3RvcmllcywgbGlicmFyaWVzIG9yIGRlZmluaXRpb25zIG5lZWQgdG8gYmUKKyAgICAjIGFkZGVk
IGJlZm9yZSB0aGUgQU5HTEUgZGlyZWN0b3JpZXMuCisgICAgaWYgKFVTRV9PUEVOR0wpCiAgICAg
ICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAg
ICAgICAgICR7T1BFTkdMX0lOQ0xVREVfRElSfQorICAgICAgICAgICAgJHtPUEVOR0xfSU5DTFVE
RV9ESVJTfQogICAgICAgICApCiAgICAgICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVT
Ci0gICAgICAgICAgICAke09QRU5HTF9nbF9MSUJSQVJZfQorICAgICAgICAgICAgJHtPUEVOR0xf
TElCUkFSSUVTfQogICAgICAgICApCi0gICAgZWxzZWlmIChPUEVOR0xFUzJfRk9VTkQpCisgICAg
ICAgIGFkZF9kZWZpbml0aW9ucygke09QRU5HTF9ERUZJTklUSU9OU30pCisgICAgZWxzZWlmIChV
U0VfT1BFTkdMX0VTXzIpCiAgICAgICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xV
REVfRElSRUNUT1JJRVMKLSAgICAgICAgICAgICR7T1BFTkdMRVMyX0lOQ0xVREVfRElSfQorICAg
ICAgICAgICAgJHtPUEVOR0xFUzJfSU5DTFVERV9ESVJTfQogICAgICAgICApCiAgICAgICAgIGxp
c3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCiAgICAgICAgICAgICAke09QRU5HTEVTMl9MSUJS
QVJJRVN9CiAgICAgICAgICkKKyAgICAgICAgYWRkX2RlZmluaXRpb25zKCR7T1BFTkdMRVMyX0RF
RklOSVRJT05TfSkKKyAgICBlbmRpZiAoKQorCisgICAgaWYgKFVTRV9FR0wpCisgICAgICAgIGxp
c3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgICAg
ICR7RUdMX0lOQ0xVREVfRElSU30KKyAgICAgICAgKQorICAgICAgICBsaXN0KEFQUEVORCBXZWJD
b3JlX0xJQlJBUklFUworICAgICAgICAgICAgJHtFR0xfTElCUkFSSUVTfQorICAgICAgICApCisg
ICAgICAgIGFkZF9kZWZpbml0aW9ucygke0VHTF9ERUZJTklUSU9OU30pCiAgICAgZW5kaWYgKCkK
IAogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUVmbC5jbWFrZQppbmRleCBkOGI5Mjk1MTY3ZTYyZmRiOGNkMjcwNzRhOWM1ODA3ZmU2MjA2
ZjA4Li42MzM3MDM4ZGIxNDJhMjRkODVkNjEzYjEwYjk4Y2JkMmZhZjJmOWVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybUVmbC5jbWFrZQpAQCAtMzkzLDcgKzM5Myw3IEBAIGVuZGlmICgpCiAKIGlmIChVU0Vf
RUdMKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMK
LSAgICAgICAgJHtFR0xfSU5DTFVERV9ESVJ9CisgICAgICAgICR7RUdMX0lOQ0xVREVfRElSU30K
ICAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL2VnbCIK
ICAgICApCiBlbmRpZiAoKQpAQCAtNDI3LDExICs0MjcsNyBAQCBlbHNlICgpCiAgICAgKQogZW5k
aWYgKCkKIAotaWYgKFVTRV9FR0wpCi0gICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMK
LSAgICAgICAgJHtFR0xfTElCUkFSWX0KLSAgICApCi1lbHNlaWYgKFgxMV9YY29tcG9zaXRlX0ZP
VU5EIEFORCBYMTFfWHJlbmRlcl9GT1VORCkKK2lmIChOT1QgVVNFX0VHTCBBTkQgWDExX1hjb21w
b3NpdGVfRk9VTkQgQU5EIFgxMV9YcmVuZGVyX0ZPVU5EKQogICAgIGxpc3QoQVBQRU5EIFdlYkNv
cmVfTElCUkFSSUVTCiAgICAgICAgICR7WDExX1hjb21wb3NpdGVfTElCfQogICAgICAgICAke1gx
MV9YcmVuZGVyX0xJQn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMDliNWE2OGRkYzdm
ZGE4NTEwYzMyM2JlMWM3M2UwMWFlZWM5MWY4MC4uYjI2MDkyZDYzYjA1OGQxODI5NzZhZDExMThl
MDE5YzFiNjFjY2NjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQxOSwxMSArNDE5
LDYgQEAgaWYgKEVOQUJMRV9USFJFQURFRF9DT01QT1NJVE9SKQogICAgICkKIGVuZGlmICgpCiAK
LWlmIChVU0VfRUdMKQotICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCi0gICAgICAg
ICR7RUdMX0xJQlJBUll9Ci0gICAgKQotZW5kaWYgKCkKIAogaWYgKFVTRV9PUEVOR0xfRVNfMikK
ICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFr
ZS9GaW5kRUdMLmNtYWtlIGIvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKaW5kZXggYzIzYjNm
ZTUwZjg4NDZiOTk1YjZmMWE1YjFmNDEyNDcwMGI2OGVjYS4uNjQwNmQ5YjFhODkyNTE3ODY1MjIx
YmM5NTljYmQ2NzMwMGRhZTllMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKQEAgLTIsOCArMiw5IEBACiAjIE9u
Y2UgZG9uZSwgdGhpcyB3aWxsIGRlZmluZQogIwogIyAgRUdMX0ZPVU5EIC0gc3lzdGVtIGhhcyBF
R0wgaW5zdGFsbGVkLgotIyAgRUdMX0lOQ0xVREVfRElSIC0gZGlyZWN0b3JpZXMgd2hpY2ggY29u
dGFpbiB0aGUgRUdMIGhlYWRlcnMuCi0jICBFR0xfTElCUkFSWSAtIGxpYnJhcmllcyByZXF1aXJl
ZCB0byBsaW5rIGFnYWluc3QgRUdMLgorIyAgRUdMX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVz
IHdoaWNoIGNvbnRhaW4gdGhlIEVHTCBoZWFkZXJzLgorIyAgRUdMX0xJQlJBUklFUyAtIGxpYnJh
cmllcyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QgRUdMLgorIyAgRUdMX0RFRklOSVRJT05TIC0g
Q29tcGlsZXIgc3dpdGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIEVHTC4KICMKICMgQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwpAQCAt
MjgsMTIgKzI5LDI1IEBACiAjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKICMgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZpbmRfcGF0aChFR0xfSU5DTFVERV9ESVIgTkFNRVMg
RUdML2VnbC5oKQorCitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorCitwa2dfY2hlY2tfbW9kdWxl
cyhQQ19FR0wgZWdsKQorCitpZiAoUENfRUdMX0ZPVU5EKQorICAgIHNldChFR0xfREVGSU5JVElP
TlMgJHtQQ19FR0xfQ0ZMQUdTX09USEVSfSkKK2VuZGlmICgpCisKK2ZpbmRfcGF0aChFR0xfSU5D
TFVERV9ESVJTIE5BTUVTIEVHTC9lZ2wuaAorICAgIEhJTlRTICR7UENfRUdMX0lOQ0xVREVESVJ9
ICR7UENfRUdMX0lOQ0xVREVfRElSU30KKykKIAogc2V0KEVHTF9OQU1FUyAke0VHTF9OQU1FU30g
ZWdsIEVHTCkKLWZpbmRfbGlicmFyeShFR0xfTElCUkFSWSBOQU1FUyAke0VHTF9OQU1FU30pCitm
aW5kX2xpYnJhcnkoRUdMX0xJQlJBUklFUyBOQU1FUyAke0VHTF9OQU1FU30KKyAgICBISU5UUyAk
e1BDX0VHTF9MSUJESVJ9ICR7UENfRUdMX0xJQlJBUllfRElSU30KKykKIAogaW5jbHVkZShGaW5k
UGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKLUZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRf
QVJHUyhFR0wgREVGQVVMVF9NU0cgRUdMX0lOQ0xVREVfRElSIEVHTF9MSUJSQVJZKQorRklORF9Q
QUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEVHTCBERUZBVUxUX01TRyBFR0xfSU5DTFVERV9E
SVJTIEVHTF9MSUJSQVJJRVMpCiAKLW1hcmtfYXNfYWR2YW5jZWQoRUdMX0lOQ0xVREVfRElSIEVH
TF9MSUJSQVJZKQorbWFya19hc19hZHZhbmNlZChFR0xfSU5DTFVERV9ESVJTIEVHTF9MSUJSQVJJ
RVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdMRVMuY21ha2UgYi9Tb3VyY2UvY21h
a2UvRmluZEdMRVMuY21ha2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmOGRhZWJl
NmM2ZTRmOTk3Njg2YzU2NzUxYTQ5MjFlYThkNGIzMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL2NtYWtlL0ZpbmRHTEVTLmNtYWtlCisrKyAv
ZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyAtIFRyeSB0byBmaW5kIE9wZW5HTEVTCi0jIE9u
Y2UgZG9uZSB0aGlzIHdpbGwgZGVmaW5lCi0jICAKLSMgIE9QRU5HTEVTMl9GT1VORCAgICAgICAg
LSBzeXN0ZW0gaGFzIE9wZW5HTEVTdjIgaW5zdGFsbGVkLgotIyAgT1BFTkdMRVMyX0lOQ0xVREVf
RElSICAtIGRpcmVjdG9yaWVzIHdoaWNoIGNvbnRhaW4gdGhlIE9wZW5HbEVzdjIgaGVhZGVycy4K
LSMgIE9QRU5HTEVTMl9MSUJSQVJJRVMgICAgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBh
Z2FpbnN0IE9wZW5HTEVTdjIKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0j
IGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUwot
IyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0jIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUwotIyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKLSMgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksCi0jIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SCi0jIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKLSMgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLWZpbmRfcGF0aChPUEVOR0xFUzJf
SU5DTFVERV9ESVIgTkFNRVMgR0xFUzIvZ2wyLmgpCi0KLWZpbmRfbGlicmFyeShPUEVOR0xFUzJf
TElCUkFSWSBOQU1FUyBHTEVTdjIpCi0KLWluY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFy
ZEFyZ3MpCi1GSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoT1BFTkdMRVMyIERFRkFV
TFRfTVNHIE9QRU5HTEVTMl9JTkNMVURFX0RJUiBPUEVOR0xFUzJfTElCUkFSWSkKLQotbWFya19h
c19hZHZhbmNlZChPUEVOR0xFUzJfSU5DTFVERV9ESVIgT1BFTkdMRVMyX0xJQlJBUlkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5k
T3BlbkdMLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNkYzQ1ZjZiODExNDc1MTgyZWEzMDMzZmZmNWRmMjNl
OTQ3ZDcxMTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTC5jbWFr
ZQpAQCAtMCwwICsxLDYzIEBACisjIC0gVHJ5IHRvIEZpbmQgT3BlbkdMCisjIE9uY2UgZG9uZSwg
dGhpcyB3aWxsIGRlZmluZQorIworIyAgT1BFTkdMX0ZPVU5EIC0gc3lzdGVtIGhhcyBPcGVuR0wg
aW5zdGFsbGVkLgorIyAgT1BFTkdMX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVzIHdoaWNoIGNv
bnRhaW4gdGhlIE9wZW5HTCBoZWFkZXJzLgorIyAgT1BFTkdMX0xJQlJBUklFUyAtIGxpYnJhcmll
cyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QgT3BlbkdMLgorIyAgT1BFTkdMX0RFRklOSVRJT05T
IC0gQ29tcGlsZXIgc3dpdGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIE9wZW5HTC4KKyMKKyMgQ29w
eXJpZ2h0IChDKSAyMDE1IElnYWxpYSBTLkwuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
CisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgSVRTCisj
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOworIyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorIyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmaW5kX3BhY2thZ2UoUGtn
Q29uZmlnKQorCitwa2dfY2hlY2tfbW9kdWxlcyhQQ19PUEVOR0wgZ2wpCisKK2lmIChQQ19PUEVO
R0xfRk9VTkQpCisgICAgc2V0KE9QRU5HTF9ERUZJTklUSU9OUyAke1BDX09QRU5HTF9DRkxBR1Nf
T1RIRVJ9KQorZW5kaWYgKCkKKworZmluZF9wYXRoKE9QRU5HTF9JTkNMVURFX0RJUlMgTkFNRVMg
R0wvZ2wuaAorICAgIEhJTlRTICR7UENfT1BFTkdMX0lOQ0xVREVESVJ9ICR7UENfT1BFTkdMX0lO
Q0xVREVfRElSU30KKykKKworc2V0KE9QRU5HTF9OQU1FUyAke09QRU5HTF9OQU1FU30gZ2wgR0wp
CitmaW5kX2xpYnJhcnkoT1BFTkdMX0xJQlJBUklFUyBOQU1FUyAke09QRU5HTF9OQU1FU30KKyAg
ICBISU5UUyAke1BDX09QRU5HTF9MSUJESVJ9ICR7UENfT1BFTkdMX0xJQlJBUllfRElSU30KKykK
KworaW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9I
QU5ETEVfU1RBTkRBUkRfQVJHUyhPUEVOR0wgREVGQVVMVF9NU0cgT1BFTkdMX0lOQ0xVREVfRElS
UyBPUEVOR0xfTElCUkFSSUVTKQorCittYXJrX2FzX2FkdmFuY2VkKE9QRU5HTF9JTkNMVURFX0RJ
UlMgT1BFTkdMX0xJQlJBUklFUykKKworaWYgKE9QRU5HTF9GT1VORCkKKyAgICAjIFdlIGRvbid0
IHVzZSBmaW5kX3BhY2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5s
aWtlIEVHTC4gV2UgbmVlZCB0bworICAgICMgaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVJTIGFzIHBh
cnQgb2YgdGhlIGRpcmVjdG9yaWVzIGNoZWNrX2luY2x1ZGVfZmlsZXMoKSBsb29rcyBmb3IgaW4K
KyAgICAjIGNhc2UgT3BlbkdMIGlzIGluc3RhbGxlZCBpbnRvIGEgbm9uLXN0YW5kYXJkIGxvY2F0
aW9uLgorICAgIENNQUtFX1BVU0hfQ0hFQ0tfU1RBVEUoKQorICAgIHNldChDTUFLRV9SRVFVSVJF
RF9JTkNMVURFUyAke0NNQUtFX1JFUVVJUkVEX0lOQ0xVREVTfSAke09QRU5HTF9JTkNMVURFX0RJ
UlN9KQorICAgIGNoZWNrX2luY2x1ZGVfZmlsZXMoIkdML2dseC5oIiBHTFhfRk9VTkQpCisgICAg
Q01BS0VfUE9QX0NIRUNLX1NUQVRFKCkKK2VuZGlmICgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvRmluZE9wZW5HTEVTMi5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kT3BlbkdMRVMyLmNtYWtl
CmluZGV4IGRiNjliOGQyZDExNGI1YjcxM2I3NjRjZTA4NjVhM2Q3NTBkNzcyZWQuLjUxMTY2MzBi
ZGQ1Yjk4MzRhYjBkNTM0Y2ZkZTZkZDQyOWFkOWViYWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFr
ZS9GaW5kT3BlbkdMRVMyLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9GaW5kT3BlbkdMRVMyLmNt
YWtlCkBAIC05LDE3ICs5LDE5IEBAIGZpbmRfcGFja2FnZShQa2dDb25maWcpCiBwa2dfY2hlY2tf
bW9kdWxlcyhQQ19PUEVOR0xFUzIgZ2xlc3YyKQogCiBpZiAoUENfT1BFTkdMRVMyX0ZPVU5EKQot
ICAgIHNldChPUEVOR0xFUzJfSU5DTFVERV9ESVJTICR7UENfT1BFTkdMRVMyX0lOQ0xVREVfRElS
U30pCiAgICAgc2V0KE9QRU5HTEVTMl9ERUZJTklUSU9OUyAke1BDX09QRU5HTEVTMl9DRkxBR1Nf
T1RIRVJ9KQotZWxzZSAoKQotICAgIGZpbmRfcGF0aChPUEVOR0xFUzJfSU5DTFVERV9ESVJTIE5B
TUVTIEdMRVMyL2dsMi5oKQogZW5kaWYgKCkKIAotZmluZF9saWJyYXJ5KE9QRU5HTEVTMl9MSUJS
QVJJRVMgR0xFU3YyCi0gICAgSElOVFMgJHtQQ19PUEVOR0xFUzJfTElCUkFSWV9ESVJTfSAke1BD
X09QRU5HTEVTMl9MSUJESVJ9CitmaW5kX3BhdGgoT1BFTkdMRVMyX0lOQ0xVREVfRElSUyBOQU1F
UyBHTEVTMi9nbDIuaAorICAgIEhJTlRTICR7UENfT1BFTkdMRVMyX0lOQ0xVREVESVJ9ICR7UENf
T1BFTkdMRVMyX0lOQ0xVREVfRElSU30KKykKKworc2V0KE9QRU5HTEVTMl9OQU1FUyAke09QRU5H
TEVTMl9OQU1FU30gZ2xlc3YyIEdMRVN2MikKK2ZpbmRfbGlicmFyeShPUEVOR0xFUzJfTElCUkFS
SUVTIE5BTUVTICR7T1BFTkdMRVMyX05BTUVTfQorICAgIEhJTlRTICR7UENfT1BFTkdMRVMyX0xJ
QkRJUn0gJHtQQ19PUEVOR0xFUzJfTElCUkFSWV9ESVJTfQogKQogCiBpbmNsdWRlKEZpbmRQYWNr
YWdlSGFuZGxlU3RhbmRhcmRBcmdzKQotZmluZF9wYWNrYWdlX2hhbmRsZV9zdGFuZGFyZF9hcmdz
KE9wZW5HTEVTMiBERUZBVUxUX01TRyBPUEVOR0xFUzJfTElCUkFSSUVTIE9QRU5HTEVTMl9JTkNM
VURFX0RJUlMpCitGSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoT1BFTkdMRVMyIERF
RkFVTFRfTVNHIE9QRU5HTEVTMl9JTkNMVURFX0RJUlMgT1BFTkdMRVMyX0xJQlJBUklFUykKIAot
bWFya19hc19hZHZhbmNlZChPUEVOR0xFUzJfSU5DTFVERV9ESVJTIE9QRU5HTEVTMl9MSUJSQVJZ
KQorbWFya19hc19hZHZhbmNlZChPUEVOR0xFUzJfSU5DTFVERV9ESVJTIE9QRU5HTEVTMl9MSUJS
QVJJRVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZSBiL1NvdXJj
ZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCmluZGV4IDZmNGJjYWY1ZTU4NTM5YmNiYTY3MGZjNGU0
OTI4OTJkMjBiMGMxOTguLjVhNTdlODFiODE1N2E3N2ZhNzAxZTQ1OTE4N2E1MWY1MmQyMDFmMWMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zRWZsLmNtYWtlCisrKyBiL1NvdXJjZS9j
bWFrZS9PcHRpb25zRWZsLmNtYWtlCkBAIC0xLDMgKzEsNCBAQAoraW5jbHVkZShDTWFrZVB1c2hD
aGVja1N0YXRlKQogc2V0KFBST0pFQ1RfVkVSU0lPTl9NQUpPUiAxKQogc2V0KFBST0pFQ1RfVkVS
U0lPTl9NSU5PUiAxMSkKIHNldChQUk9KRUNUX1ZFUlNJT05fTUlDUk8gMCkKQEAgLTIyOSw3ICsy
MzAsNyBAQCBhZGRfZGVmaW5pdGlvbnMoLURVU0VfR1JBUEhJQ1NfU1VSRkFDRT0xKQogCiBvcHRp
b24oRU5BQkxFX0dMRVMyICJFbmFibGUgR0xFUyBTdXBwb3J0IikKIGlmIChFTkFCTEVfR0xFUzIp
Ci0gICAgZmluZF9wYWNrYWdlKEdMRVMgUkVRVUlSRUQpCisgICAgZmluZF9wYWNrYWdlKE9wZW5H
TEVTMiBSRVFVSVJFRCkKICAgICBzZXQoVVNFX09QRU5HTF9FU18yIDEpCiAgICAgYWRkX2RlZmlu
aXRpb25zKC1EVVNFX09QRU5HTF9FU18yPTEpCiBlbHNlICgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
Y21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmlu
ZGV4IDEzYzY1Y2JmNmE5YmJkNDcwNzYzNWQ4NDY5YmIzOWQ2YTNjMjkyYjguLjQxODY4Njk3Zjg0
OWY2OTI4NDVkNzVjMjQ5OWE0ZDVjN2VmY2E2OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9P
cHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC00
OSwxMCArNDksMjIgQEAgZmluZF9wYWNrYWdlKFdlYlAgUkVRVUlSRUQpCiBmaW5kX3BhY2thZ2Uo
QVRTUEkgMi41LjMpCiBmaW5kX3BhY2thZ2UoRUdMKQogZmluZF9wYWNrYWdlKE9wZW5HTCkKK2Zp
bmRfcGFja2FnZShPcGVuR0xFUzIpCiAKIFdFQktJVF9PUFRJT05fQkVHSU4oKQogCi1XRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfR0xFUzIgIldoZXRoZXIgdG8gZW5hYmxlIE9wZW5HTCBFUyAy
LjAuIiBQVUJMSUMgT0ZGKQorIyBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIEVOQUJMRV9HTEVT
MiBhdXRvbWF0aWNhbGx5LgorIyBXZSBhcmUgbm90IGVuYWJsaW5nIG9yIGRpc2FibGluZyBhdXRv
bWF0aWNhbGx5IGEgZmVhdHVyZSBoZXJlLCBiZWNhdXNlCisjIHRoZSBmZWF0dXJlIGlzIGJ5IGRl
ZmF1bHQgYWx3YXlzIG9uIChFTkFCTEVfT1BFTkdMPU9OKS4KKyMgV2hhdCB3ZSBzZWxlY3QgaGVy
ZSBhdXRvbWF0aWNhbGx5IGlzIGlmIHdlIHVzZSBPUEVOR0wgKEVOQUJMRV9HTEVTMj1PRkYpCisj
IG9yIE9QRU5HTEVTMiAoRU5BQkxFX0dMRVMyPU9OKSBmb3IgYnVpbGRpbmcgdGhlIGZlYXR1cmUu
CitzZXQoRU5BQkxFX0dMRVMyX0RFRkFVTFQgT0ZGKQorCitpZiAoTk9UIE9QRU5HTF9GT1VORCBB
TkQgT1BFTkdMRVMyX0ZPVU5EKQorICAgIHNldChFTkFCTEVfR0xFUzJfREVGQVVMVCBPTikKK2Vu
ZGlmICgpCisKK1dFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HTEVTMiAiV2hldGhlciB0byBl
bmFibGUgT3BlbkdMIEVTIDIuMC4iIFBVQkxJQyAke0VOQUJMRV9HTEVTMl9ERUZBVUxUfSkKIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HVEtET0MgIldoZXRoZXIgb3Igbm90IHRvIHVzZSBn
ZW5lcmF0ZSBndGtkb2MuIiBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0lOVFJPU1BFQ1RJT04gIldoZXRoZXIgdG8gZW5hYmxlIEdPYmplY3QgaW50cm9zcGVjdGlvbi4i
IFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PUEVOR0wgIldoZXRoZXIg
dG8gdXNlIE9wZW5HTC4iIFBVQkxJQyBPTikKQEAgLTEwMiwxNCArMTE0LDYgQEAgZWxzZSAoKQog
ZW5kaWYgKCkKIAogaWYgKE9QRU5HTF9GT1VORCkKLSAgICAjIFdlIGRvbid0IHVzZSBmaW5kX3Bh
Y2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5saWtlIEVHTC4gV2Ug
bmVlZCB0bwotICAgICMgaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVIgYXMgcGFydCBvZiB0aGUgZGly
ZWN0b3JpZXMgY2hlY2tfaW5jbHVkZV9maWxlcygpIGxvb2tzIGZvciBpbgotICAgICMgY2FzZSBP
cGVuR0wgaXMgaW5zdGFsbGVkIGludG8gYSBub24tc3RhbmRhcmQgbG9jYXRpb24uCi0gICAgQ01B
S0VfUFVTSF9DSEVDS19TVEFURSgpCi0gICAgc2V0KENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTICR7
Q01BS0VfUkVRVUlSRURfSU5DTFVERVN9ICR7T1BFTkdMX0lOQ0xVREVfRElSfSkKLSAgICBjaGVj
a19pbmNsdWRlX2ZpbGVzKCJHTC9nbHguaCIgR0xYX0ZPVU5EKQotICAgIENNQUtFX1BPUF9DSEVD
S19TVEFURSgpCi0KICAgICBpZiAoR0xYX0ZPVU5EKQogICAgICAgICBsaXN0KEFQUEVORCBDQUlS
T0dMX0NPTVBPTkVOVFMgY2Fpcm8tZ2x4KQogICAgIGVuZGlmICgpCkBAIC0zMjIsNyArMzI2LDcg
QEAgaWYgKEVOQUJMRV9PUEVOR0wpCiAKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0Vf
RUdMICR7RUdMX0ZPVU5EfSkKIAotICAgIGlmIChFTkFCTEVfWDExX1RBUkdFVCBBTkQgR0xYX0ZP
VU5EKQorICAgIGlmIChFTkFCTEVfWDExX1RBUkdFVCBBTkQgR0xYX0ZPVU5EIEFORCBVU0VfT1BF
TkdMKQogICAgICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfR0xYIFRSVUUpCiAgICAg
ZW5kaWYgKCkKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg3ODRk
OTY5OTI1YWVlMmZhMjNkY2FjZDg4YzRmNjFjNDQ0YTdkYmQuLjE4ZTQ1NzI1Y2I1NWE3YjQ3MzVk
Y2QyYWU4YTcxNWQ2MzUzMzM0YjEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNiBAQAorMjAxNS0wNS0xOSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVy
ZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ01ha2VdIEltcHJvdmUgZGV0ZWN0
aW9uIGFuZCB1c2FnZSBvZiBHTC9HTEVTL0VHTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0MDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5kRUdMLmNt
YWtlOiBJbXByb3ZlIGRldGVjdGlvbiBvZiBFR0wgbGlicmFyaWVzLgorICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9GaW5kR0xFUy5jbWFrZTogUmVtb3ZlZC4gSXQgd2FzIHVzZWQgYnkgdGhlIEVHTCBw
b3J0LgorICAgICAgICBSZW1vdmUgaXQgYW5kIG1ha2UgdGhlIEVHTCBwb3J0IHVzZSB0aGUgaW1w
cm92ZWQgRmluZE9wZW5HTEVTMi5jbWFrZQorICAgICAgICBpbnN0ZWFkLgorICAgICAgICAqIFNv
dXJjZS9jbWFrZS9GaW5kT3BlbkdMLmNtYWtlOiBBZGRlZC4gQWRkIG1vZHVsZSB0byBkZXRlY3Qg
T3BlbkdMCisgICAgICAgIGxpYnJhcmllcy4gRGV0ZWN0IGFsc28gR0xYIGxpYnJhcmllcy4KKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZTogSW1wcm92ZSBkZXRlY3Rp
b24gb2YgT3BlbkdMRVMtdjIKKyAgICAgICAgbGlicmFyaWVzLiBVc2UgZmluZF9wYXRoKCkgdG8g
Z2V0IHRoZSBpbmNsdWRlIHBhdGguCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2U6IFVzZSB0aGUgaW1wcm92ZWQgbW9kdWxlIGFuZCByZXF1aXJlCisgICAgICAgIENNYWtl
UHVzaENoZWNrU3RhdGUgdGhhdCBpcyBuZWVkZWQgZm9yIGZpbmRfcGFja2FnZShPcGVuR0wpIG5v
dy4KKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZTogU2V0IGRlZmF1bHQg
dmFsdWUgZm9yIEVOQUJMRV9HTEVTMgorICAgICAgICBkZXBlbmRpbmcgb24gdGhlIGxpYnJhcmll
cyBmb3VuZCBvbiB0aGUgc3lzdGVtLgorICAgICAgICBNb3ZlIGRldGVjdGlvbiBvZiBHTFggdG8g
RmluZE9wZW5HTC5jbWFrZS4KKyAgICAgICAgRW5zdXJlIHRoYXQgd2Ugb25seSBkZWZpbmUgVVNF
X0dMWCB3aGVuIHdlIGJ1aWxkIHdpdGggT3BlbkdMCisgICAgICAgIChidXQgbm90IHdpdGggR0xF
U3YyKS4KKwogMjAxNS0wNS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBkYXRlIE9wdGlvbnNHVEsuY21ha2UgYW5k
IE5FV1MgZm9yIDIuOS4yIHJlbGVhc2UuCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253804</attachid>
            <date>2015-05-27 15:30:50 -0700</date>
            <delta_ts>2015-05-27 19:37:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145408-20150528003037.patch</filename>
            <type>text/plain</type>
            <size>16665</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTAyNjU2NWMyNDZkYmNl
YTA1NjZkOWRmYjBjMGZjODQ2MmM3NWMyYy4uZDBjMDMxM2IzY2M5YTU2YzdmYzQ3NWJmNTkyODBi
MTMyM2I4NTMzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDE1LTA1LTE5ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtD
TWFrZV0gSW1wcm92ZSBkZXRlY3Rpb24gYW5kIHVzYWdlIG9mIEdML0dMRVMvRUdMIGxpYnJhcmll
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTQw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBFbnN1cmUgdGhhdCB3ZSBpbmNsdWRlIHRoZSBsaWJyYXJpZXMgYW5kIGluY2x1ZGVzCisgICAg
ICAgIGZvciB0aGUgR0wvR0xFU3YyL0VHTCBsaWJyYXJpZXMgYmVmb3JlIGluY2x1ZGluZyB0aGUg
QU5HTEUgZGlyZWN0b3JpZXMuCisgICAgICAgIERlZmluZSBhbHNvIGFueSBDRkxBRyB0aGF0IHRo
ZSBzeXN0ZW0gR0wvR0xFU3YyL0VHTCBsaWJyYXJpZXMgbWF5IG5lZWQuCisgICAgICAgICogUGxh
dGZvcm1FZmwuY21ha2U6IFVwZGF0ZSB0aGUgdmFyaWFibGUgbmFtZXMsIGFuZCByZW1vdmUgc29t
ZSBpbmNsdWRlcworICAgICAgICB0aGF0IGFyZSBub3cgdW5uZWVkZWQsIGJlY2F1c2Ugd2UgYXJl
IGluY2x1ZGluZyBub3cgdGhlIEVHTCBsaWJyYXJpZXMgb24KKyAgICAgICAgQ01ha2VMaXN0cy50
eHQKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZTogUmVtb3ZlIHVubmVlZGVkIGluY2x1ZGUg
KFdlIGFyZSBpbmNsdWRpbmcgdGhlIEVHTAorICAgICAgICBsaWJyYXJpZXMgbm93IG9uIENNYWtl
TGlzdHMudHh0KQorCiAyMDE1LTA1LTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gQXJhYmljIGxpZ2F0dXJlcyBhcmUgYnJva2VuIGlu
IEdvb2dsZSBNYXBzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IGE1OTAzMzg4ZmFhNmZhZjgwNDYx
ZDUwZTM5OTZhMWQ2YjE4ZmI3NjIuLmFhYmZjYzhhZTk1MTVjNmY3NDY2MGE3MjIyNjkwZmFjM2Q0
NDdkY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMDAwLDIyICszMDAwLDM1IEBAIGlmIChF
TkFCTEVfUVVPVEEpCiBlbmRpZiAoKQogCiBpZiAoRU5BQkxFX0dSQVBISUNTX0NPTlRFWFRfM0Qp
Ci0gICAgIyBGb3IgcGxhdGZvcm1zIHRoYXQgd2FudCB0byB1c2Ugc3lzdGVtLXByb3ZpZGVkIE9w
ZW5HTCAoRVMpIGhlYWRlcnMsCi0gICAgIyB0aGVzZSBpbmNsdWRlIGRpcmVjdG9yaWVzIG5lZWQg
dG8gYmUgYWRkZWQgYmVmb3JlIHRoZSBBTkdMRSBkaXJlY3Rvcmllcy4KLSAgICBpZiAoT1BFTkdM
X0ZPVU5EKQorICAgICMgRm9yIHBsYXRmb3JtcyB0aGF0IHdhbnQgdG8gdXNlIHN5c3RlbS1wcm92
aWRlZCBPcGVuR0wgKEVTKSAvIEVHTCBoZWFkZXJzLAorICAgICMgdGhlc2UgaW5jbHVkZSBkaXJl
Y3RvcmllcywgbGlicmFyaWVzIG9yIGRlZmluaXRpb25zIG5lZWQgdG8gYmUKKyAgICAjIGFkZGVk
IGJlZm9yZSB0aGUgQU5HTEUgZGlyZWN0b3JpZXMuCisgICAgaWYgKFVTRV9PUEVOR0wpCiAgICAg
ICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKLSAgICAg
ICAgICAgICR7T1BFTkdMX0lOQ0xVREVfRElSfQorICAgICAgICAgICAgJHtPUEVOR0xfSU5DTFVE
RV9ESVJTfQogICAgICAgICApCiAgICAgICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVT
Ci0gICAgICAgICAgICAke09QRU5HTF9nbF9MSUJSQVJZfQorICAgICAgICAgICAgJHtPUEVOR0xf
TElCUkFSSUVTfQogICAgICAgICApCi0gICAgZWxzZWlmIChPUEVOR0xFUzJfRk9VTkQpCisgICAg
ICAgIGFkZF9kZWZpbml0aW9ucygke09QRU5HTF9ERUZJTklUSU9OU30pCisgICAgZWxzZWlmIChV
U0VfT1BFTkdMX0VTXzIpCiAgICAgICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xV
REVfRElSRUNUT1JJRVMKLSAgICAgICAgICAgICR7T1BFTkdMRVMyX0lOQ0xVREVfRElSfQorICAg
ICAgICAgICAgJHtPUEVOR0xFUzJfSU5DTFVERV9ESVJTfQogICAgICAgICApCiAgICAgICAgIGxp
c3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCiAgICAgICAgICAgICAke09QRU5HTEVTMl9MSUJS
QVJJRVN9CiAgICAgICAgICkKKyAgICAgICAgYWRkX2RlZmluaXRpb25zKCR7T1BFTkdMRVMyX0RF
RklOSVRJT05TfSkKKyAgICBlbmRpZiAoKQorCisgICAgaWYgKFVTRV9FR0wpCisgICAgICAgIGxp
c3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMKKyAgICAgICAgICAg
ICR7RUdMX0lOQ0xVREVfRElSU30KKyAgICAgICAgKQorICAgICAgICBsaXN0KEFQUEVORCBXZWJD
b3JlX0xJQlJBUklFUworICAgICAgICAgICAgJHtFR0xfTElCUkFSSUVTfQorICAgICAgICApCisg
ICAgICAgIGFkZF9kZWZpbml0aW9ucygke0VHTF9ERUZJTklUSU9OU30pCiAgICAgZW5kaWYgKCkK
IAogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSU5DTFVERV9ESVJFQ1RPUklFUwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1FZmwuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9QbGF0
Zm9ybUVmbC5jbWFrZQppbmRleCBkOGI5Mjk1MTY3ZTYyZmRiOGNkMjcwNzRhOWM1ODA3ZmU2MjA2
ZjA4Li42MzM3MDM4ZGIxNDJhMjRkODVkNjEzYjEwYjk4Y2JkMmZhZjJmOWVhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Q
bGF0Zm9ybUVmbC5jbWFrZQpAQCAtMzkzLDcgKzM5Myw3IEBAIGVuZGlmICgpCiAKIGlmIChVU0Vf
RUdMKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfU1lTVEVNX0lOQ0xVREVfRElSRUNUT1JJRVMK
LSAgICAgICAgJHtFR0xfSU5DTFVERV9ESVJ9CisgICAgICAgICR7RUdMX0lOQ0xVREVfRElSU30K
ICAgICAgICAgIiR7V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL2VnbCIK
ICAgICApCiBlbmRpZiAoKQpAQCAtNDI3LDExICs0MjcsNyBAQCBlbHNlICgpCiAgICAgKQogZW5k
aWYgKCkKIAotaWYgKFVTRV9FR0wpCi0gICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMK
LSAgICAgICAgJHtFR0xfTElCUkFSWX0KLSAgICApCi1lbHNlaWYgKFgxMV9YY29tcG9zaXRlX0ZP
VU5EIEFORCBYMTFfWHJlbmRlcl9GT1VORCkKK2lmIChOT1QgVVNFX0VHTCBBTkQgWDExX1hjb21w
b3NpdGVfRk9VTkQgQU5EIFgxMV9YcmVuZGVyX0ZPVU5EKQogICAgIGxpc3QoQVBQRU5EIFdlYkNv
cmVfTElCUkFSSUVTCiAgICAgICAgICR7WDExX1hjb21wb3NpdGVfTElCfQogICAgICAgICAke1gx
MV9YcmVuZGVyX0xJQn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMDliNWE2OGRkYzdm
ZGE4NTEwYzMyM2JlMWM3M2UwMWFlZWM5MWY4MC4uYjI2MDkyZDYzYjA1OGQxODI5NzZhZDExMThl
MDE5YzFiNjFjY2NjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQxOSwxMSArNDE5
LDYgQEAgaWYgKEVOQUJMRV9USFJFQURFRF9DT01QT1NJVE9SKQogICAgICkKIGVuZGlmICgpCiAK
LWlmIChVU0VfRUdMKQotICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCi0gICAgICAg
ICR7RUdMX0xJQlJBUll9Ci0gICAgKQotZW5kaWYgKCkKIAogaWYgKFVTRV9PUEVOR0xfRVNfMikK
ICAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFr
ZS9GaW5kRUdMLmNtYWtlIGIvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKaW5kZXggYzIzYjNm
ZTUwZjg4NDZiOTk1YjZmMWE1YjFmNDEyNDcwMGI2OGVjYS4uNjQwNmQ5YjFhODkyNTE3ODY1MjIx
YmM5NTljYmQ2NzMwMGRhZTllMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21h
a2UKKysrIGIvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKQEAgLTIsOCArMiw5IEBACiAjIE9u
Y2UgZG9uZSwgdGhpcyB3aWxsIGRlZmluZQogIwogIyAgRUdMX0ZPVU5EIC0gc3lzdGVtIGhhcyBF
R0wgaW5zdGFsbGVkLgotIyAgRUdMX0lOQ0xVREVfRElSIC0gZGlyZWN0b3JpZXMgd2hpY2ggY29u
dGFpbiB0aGUgRUdMIGhlYWRlcnMuCi0jICBFR0xfTElCUkFSWSAtIGxpYnJhcmllcyByZXF1aXJl
ZCB0byBsaW5rIGFnYWluc3QgRUdMLgorIyAgRUdMX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVz
IHdoaWNoIGNvbnRhaW4gdGhlIEVHTCBoZWFkZXJzLgorIyAgRUdMX0xJQlJBUklFUyAtIGxpYnJh
cmllcyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QgRUdMLgorIyAgRUdMX0RFRklOSVRJT05TIC0g
Q29tcGlsZXIgc3dpdGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIEVHTC4KICMKICMgQ29weXJpZ2h0
IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwpAQCAt
MjgsMTIgKzI5LDI1IEBACiAjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKICMgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAKLWZpbmRfcGF0aChFR0xfSU5DTFVERV9ESVIgTkFNRVMg
RUdML2VnbC5oKQorCitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorCitwa2dfY2hlY2tfbW9kdWxl
cyhQQ19FR0wgZWdsKQorCitpZiAoUENfRUdMX0ZPVU5EKQorICAgIHNldChFR0xfREVGSU5JVElP
TlMgJHtQQ19FR0xfQ0ZMQUdTX09USEVSfSkKK2VuZGlmICgpCisKK2ZpbmRfcGF0aChFR0xfSU5D
TFVERV9ESVJTIE5BTUVTIEVHTC9lZ2wuaAorICAgIEhJTlRTICR7UENfRUdMX0lOQ0xVREVESVJ9
ICR7UENfRUdMX0lOQ0xVREVfRElSU30KKykKIAogc2V0KEVHTF9OQU1FUyAke0VHTF9OQU1FU30g
ZWdsIEVHTCkKLWZpbmRfbGlicmFyeShFR0xfTElCUkFSWSBOQU1FUyAke0VHTF9OQU1FU30pCitm
aW5kX2xpYnJhcnkoRUdMX0xJQlJBUklFUyBOQU1FUyAke0VHTF9OQU1FU30KKyAgICBISU5UUyAk
e1BDX0VHTF9MSUJESVJ9ICR7UENfRUdMX0xJQlJBUllfRElSU30KKykKIAogaW5jbHVkZShGaW5k
UGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKLUZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRf
QVJHUyhFR0wgREVGQVVMVF9NU0cgRUdMX0lOQ0xVREVfRElSIEVHTF9MSUJSQVJZKQorRklORF9Q
QUNLQUdFX0hBTkRMRV9TVEFOREFSRF9BUkdTKEVHTCBERUZBVUxUX01TRyBFR0xfSU5DTFVERV9E
SVJTIEVHTF9MSUJSQVJJRVMpCiAKLW1hcmtfYXNfYWR2YW5jZWQoRUdMX0lOQ0xVREVfRElSIEVH
TF9MSUJSQVJZKQorbWFya19hc19hZHZhbmNlZChFR0xfSU5DTFVERV9ESVJTIEVHTF9MSUJSQVJJ
RVMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZEdMRVMuY21ha2UgYi9Tb3VyY2UvY21h
a2UvRmluZEdMRVMuY21ha2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmOGRhZWJl
NmM2ZTRmOTk3Njg2YzU2NzUxYTQ5MjFlYThkNGIzMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL2NtYWtlL0ZpbmRHTEVTLmNtYWtlCisrKyAv
ZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotIyAtIFRyeSB0byBmaW5kIE9wZW5HTEVTCi0jIE9u
Y2UgZG9uZSB0aGlzIHdpbGwgZGVmaW5lCi0jICAKLSMgIE9QRU5HTEVTMl9GT1VORCAgICAgICAg
LSBzeXN0ZW0gaGFzIE9wZW5HTEVTdjIgaW5zdGFsbGVkLgotIyAgT1BFTkdMRVMyX0lOQ0xVREVf
RElSICAtIGRpcmVjdG9yaWVzIHdoaWNoIGNvbnRhaW4gdGhlIE9wZW5HbEVzdjIgaGVhZGVycy4K
LSMgIE9QRU5HTEVTMl9MSUJSQVJJRVMgICAgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBh
Z2FpbnN0IE9wZW5HTEVTdjIKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0
aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0j
IGFyZSBtZXQ6Ci0jIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUwot
IyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAotIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0jIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUwotIyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKLSMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKLSMgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksCi0jIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SCi0jIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKLSMgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLWZpbmRfcGF0aChPUEVOR0xFUzJf
SU5DTFVERV9ESVIgTkFNRVMgR0xFUzIvZ2wyLmgpCi0KLWZpbmRfbGlicmFyeShPUEVOR0xFUzJf
TElCUkFSWSBOQU1FUyBHTEVTdjIpCi0KLWluY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFy
ZEFyZ3MpCi1GSU5EX1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoT1BFTkdMRVMyIERFRkFV
TFRfTVNHIE9QRU5HTEVTMl9JTkNMVURFX0RJUiBPUEVOR0xFUzJfTElCUkFSWSkKLQotbWFya19h
c19hZHZhbmNlZChPUEVOR0xFUzJfSU5DTFVERV9ESVIgT1BFTkdMRVMyX0xJQlJBUlkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5k
T3BlbkdMLmNtYWtlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjZWI2N2ZhNjNhMjU3OGI0ZjdlYzhmNDE4NjAxM2Yx
MDQzYmI1M2MKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTC5jbWFr
ZQpAQCAtMCwwICsxLDY0IEBACisjIC0gVHJ5IHRvIEZpbmQgT3BlbkdMCisjIE9uY2UgZG9uZSwg
dGhpcyB3aWxsIGRlZmluZQorIworIyAgT1BFTkdMX0ZPVU5EIC0gc3lzdGVtIGhhcyBPcGVuR0wg
aW5zdGFsbGVkLgorIyAgT1BFTkdMX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVzIHdoaWNoIGNv
bnRhaW4gdGhlIE9wZW5HTCBoZWFkZXJzLgorIyAgT1BFTkdMX0xJQlJBUklFUyAtIGxpYnJhcmll
cyByZXF1aXJlZCB0byBsaW5rIGFnYWluc3QgT3BlbkdMLgorIyAgT1BFTkdMX0RFRklOSVRJT05T
IC0gQ29tcGlsZXIgc3dpdGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIE9wZW5HTC4KKyMKKyMgQ29w
eXJpZ2h0IChDKSAyMDE1IElnYWxpYSBTLkwuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAg
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
CisjIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgSVRTCisj
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOworIyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwKKyMgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IKKyMgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorIyBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmaW5kX3BhY2thZ2UoUGtn
Q29uZmlnKQorCitwa2dfY2hlY2tfbW9kdWxlcyhQQ19PUEVOR0wgZ2wpCisKK2lmIChQQ19PUEVO
R0xfRk9VTkQpCisgICAgc2V0KE9QRU5HTF9ERUZJTklUSU9OUyAke1BDX09QRU5HTF9DRkxBR1Nf
T1RIRVJ9KQorZW5kaWYgKCkKKworZmluZF9wYXRoKE9QRU5HTF9JTkNMVURFX0RJUlMgTkFNRVMg
R0wvZ2wuaAorICAgIEhJTlRTICR7UENfT1BFTkdMX0lOQ0xVREVESVJ9ICR7UENfT1BFTkdMX0lO
Q0xVREVfRElSU30KKykKKworc2V0KE9QRU5HTF9OQU1FUyAke09QRU5HTF9OQU1FU30gZ2wgR0wp
CitmaW5kX2xpYnJhcnkoT1BFTkdMX0xJQlJBUklFUyBOQU1FUyAke09QRU5HTF9OQU1FU30KKyAg
ICBISU5UUyAke1BDX09QRU5HTF9MSUJESVJ9ICR7UENfT1BFTkdMX0xJQlJBUllfRElSU30KKykK
KworaW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9I
QU5ETEVfU1RBTkRBUkRfQVJHUyhPUEVOR0wgREVGQVVMVF9NU0cgT1BFTkdMX0lOQ0xVREVfRElS
UyBPUEVOR0xfTElCUkFSSUVTKQorCittYXJrX2FzX2FkdmFuY2VkKE9QRU5HTF9JTkNMVURFX0RJ
UlMgT1BFTkdMX0xJQlJBUklFUykKKworaWYgKE9QRU5HTF9GT1VORCkKKyAgICAjIFdlIGRvbid0
IHVzZSBmaW5kX3BhY2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5s
aWtlIEVHTC4gV2UgbmVlZCB0bworICAgICMgaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVJTIGFzIHBh
cnQgb2YgdGhlIGRpcmVjdG9yaWVzIGNoZWNrX2luY2x1ZGVfZmlsZXMoKSBsb29rcyBmb3IgaW4K
KyAgICAjIGNhc2UgT3BlbkdMIGlzIGluc3RhbGxlZCBpbnRvIGEgbm9uLXN0YW5kYXJkIGxvY2F0
aW9uLgorICAgIGluY2x1ZGUoQ01ha2VQdXNoQ2hlY2tTdGF0ZSkKKyAgICBDTUFLRV9QVVNIX0NI
RUNLX1NUQVRFKCkKKyAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtDTUFLRV9SRVFV
SVJFRF9JTkNMVURFU30gJHtPUEVOR0xfSU5DTFVERV9ESVJTfSkKKyAgICBjaGVja19pbmNsdWRl
X2ZpbGVzKCJHTC9nbHguaCIgR0xYX0ZPVU5EKQorICAgIENNQUtFX1BPUF9DSEVDS19TVEFURSgp
CitlbmRpZiAoKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0ZpbmRPcGVuR0xFUzIuY21ha2Ug
Yi9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZQppbmRleCBkYjY5YjhkMmQxMTRiNWI3
MTNiNzY0Y2UwODY1YTNkNzUwZDc3MmVkLi41MTE2NjMwYmRkNWI5ODM0YWIwZDUzNGNmZGU2ZGQ0
MjlhZDllYmFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZQor
KysgYi9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZQpAQCAtOSwxNyArOSwxOSBAQCBm
aW5kX3BhY2thZ2UoUGtnQ29uZmlnKQogcGtnX2NoZWNrX21vZHVsZXMoUENfT1BFTkdMRVMyIGds
ZXN2MikKIAogaWYgKFBDX09QRU5HTEVTMl9GT1VORCkKLSAgICBzZXQoT1BFTkdMRVMyX0lOQ0xV
REVfRElSUyAke1BDX09QRU5HTEVTMl9JTkNMVURFX0RJUlN9KQogICAgIHNldChPUEVOR0xFUzJf
REVGSU5JVElPTlMgJHtQQ19PUEVOR0xFUzJfQ0ZMQUdTX09USEVSfSkKLWVsc2UgKCkKLSAgICBm
aW5kX3BhdGgoT1BFTkdMRVMyX0lOQ0xVREVfRElSUyBOQU1FUyBHTEVTMi9nbDIuaCkKIGVuZGlm
ICgpCiAKLWZpbmRfbGlicmFyeShPUEVOR0xFUzJfTElCUkFSSUVTIEdMRVN2MgotICAgIEhJTlRT
ICR7UENfT1BFTkdMRVMyX0xJQlJBUllfRElSU30gJHtQQ19PUEVOR0xFUzJfTElCRElSfQorZmlu
ZF9wYXRoKE9QRU5HTEVTMl9JTkNMVURFX0RJUlMgTkFNRVMgR0xFUzIvZ2wyLmgKKyAgICBISU5U
UyAke1BDX09QRU5HTEVTMl9JTkNMVURFRElSfSAke1BDX09QRU5HTEVTMl9JTkNMVURFX0RJUlN9
CispCisKK3NldChPUEVOR0xFUzJfTkFNRVMgJHtPUEVOR0xFUzJfTkFNRVN9IGdsZXN2MiBHTEVT
djIpCitmaW5kX2xpYnJhcnkoT1BFTkdMRVMyX0xJQlJBUklFUyBOQU1FUyAke09QRU5HTEVTMl9O
QU1FU30KKyAgICBISU5UUyAke1BDX09QRU5HTEVTMl9MSUJESVJ9ICR7UENfT1BFTkdMRVMyX0xJ
QlJBUllfRElSU30KICkKIAogaW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykK
LWZpbmRfcGFja2FnZV9oYW5kbGVfc3RhbmRhcmRfYXJncyhPcGVuR0xFUzIgREVGQVVMVF9NU0cg
T1BFTkdMRVMyX0xJQlJBUklFUyBPUEVOR0xFUzJfSU5DTFVERV9ESVJTKQorRklORF9QQUNLQUdF
X0hBTkRMRV9TVEFOREFSRF9BUkdTKE9QRU5HTEVTMiBERUZBVUxUX01TRyBPUEVOR0xFUzJfSU5D
TFVERV9ESVJTIE9QRU5HTEVTMl9MSUJSQVJJRVMpCiAKLW1hcmtfYXNfYWR2YW5jZWQoT1BFTkdM
RVMyX0lOQ0xVREVfRElSUyBPUEVOR0xFUzJfTElCUkFSWSkKK21hcmtfYXNfYWR2YW5jZWQoT1BF
TkdMRVMyX0lOQ0xVREVfRElSUyBPUEVOR0xFUzJfTElCUkFSSUVTKQpkaWZmIC0tZ2l0IGEvU291
cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFr
ZQppbmRleCA2ZjRiY2FmNWU1ODUzOWJjYmE2NzBmYzRlNDkyODkyZDIwYjBjMTk4Li40YWU3MzFi
Yjk0MjQxZWMxZWIxYjljYTZiNmUxNjFiMjQ0MTk4ODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc0VmbC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpA
QCAtMjI5LDcgKzIyOSw3IEBAIGFkZF9kZWZpbml0aW9ucygtRFVTRV9HUkFQSElDU19TVVJGQUNF
PTEpCiAKIG9wdGlvbihFTkFCTEVfR0xFUzIgIkVuYWJsZSBHTEVTIFN1cHBvcnQiKQogaWYgKEVO
QUJMRV9HTEVTMikKLSAgICBmaW5kX3BhY2thZ2UoR0xFUyBSRVFVSVJFRCkKKyAgICBmaW5kX3Bh
Y2thZ2UoT3BlbkdMRVMyIFJFUVVJUkVEKQogICAgIHNldChVU0VfT1BFTkdMX0VTXzIgMSkKICAg
ICBhZGRfZGVmaW5pdGlvbnMoLURVU0VfT1BFTkdMX0VTXzI9MSkKIGVsc2UgKCkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2UKaW5kZXggMTNjNjVjYmY2YTliYmQ0NzA3NjM1ZDg0NjliYjM5ZDZhM2MyOTJiOC4u
MDZlNDMzMTNkODRmZjYyZjBjNDRmNTU0ODY5MGVmNTgzNjZmNDdmZSAxMDA2NDQKLS0tIGEvU291
cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsu
Y21ha2UKQEAgLTEsNCArMSwzIEBACi1pbmNsdWRlKENNYWtlUHVzaENoZWNrU3RhdGUpCiBpbmNs
dWRlKEdOVUluc3RhbGxEaXJzKQogCiBzZXQoUFJPSkVDVF9WRVJTSU9OX01BSk9SIDIpCkBAIC00
OSwxMCArNDgsMjIgQEAgZmluZF9wYWNrYWdlKFdlYlAgUkVRVUlSRUQpCiBmaW5kX3BhY2thZ2Uo
QVRTUEkgMi41LjMpCiBmaW5kX3BhY2thZ2UoRUdMKQogZmluZF9wYWNrYWdlKE9wZW5HTCkKK2Zp
bmRfcGFja2FnZShPcGVuR0xFUzIpCiAKIFdFQktJVF9PUFRJT05fQkVHSU4oKQogCi1XRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfR0xFUzIgIldoZXRoZXIgdG8gZW5hYmxlIE9wZW5HTCBFUyAy
LjAuIiBQVUJMSUMgT0ZGKQorIyBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIEVOQUJMRV9HTEVT
MiBhdXRvbWF0aWNhbGx5LgorIyBXZSBhcmUgbm90IGVuYWJsaW5nIG9yIGRpc2FibGluZyBhdXRv
bWF0aWNhbGx5IGEgZmVhdHVyZSBoZXJlLCBiZWNhdXNlCisjIHRoZSBmZWF0dXJlIGlzIGJ5IGRl
ZmF1bHQgYWx3YXlzIG9uIChFTkFCTEVfT1BFTkdMPU9OKS4KKyMgV2hhdCB3ZSBzZWxlY3QgaGVy
ZSBhdXRvbWF0aWNhbGx5IGlzIGlmIHdlIHVzZSBPUEVOR0wgKEVOQUJMRV9HTEVTMj1PRkYpCisj
IG9yIE9QRU5HTEVTMiAoRU5BQkxFX0dMRVMyPU9OKSBmb3IgYnVpbGRpbmcgdGhlIGZlYXR1cmUu
CitzZXQoRU5BQkxFX0dMRVMyX0RFRkFVTFQgT0ZGKQorCitpZiAoTk9UIE9QRU5HTF9GT1VORCBB
TkQgT1BFTkdMRVMyX0ZPVU5EKQorICAgIHNldChFTkFCTEVfR0xFUzJfREVGQVVMVCBPTikKK2Vu
ZGlmICgpCisKK1dFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HTEVTMiAiV2hldGhlciB0byBl
bmFibGUgT3BlbkdMIEVTIDIuMC4iIFBVQkxJQyAke0VOQUJMRV9HTEVTMl9ERUZBVUxUfSkKIFdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HVEtET0MgIldoZXRoZXIgb3Igbm90IHRvIHVzZSBn
ZW5lcmF0ZSBndGtkb2MuIiBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxF
X0lOVFJPU1BFQ1RJT04gIldoZXRoZXIgdG8gZW5hYmxlIEdPYmplY3QgaW50cm9zcGVjdGlvbi4i
IFBVQkxJQyBPTikKIFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PUEVOR0wgIldoZXRoZXIg
dG8gdXNlIE9wZW5HTC4iIFBVQkxJQyBPTikKQEAgLTEwMiwxNCArMTEzLDYgQEAgZWxzZSAoKQog
ZW5kaWYgKCkKIAogaWYgKE9QRU5HTF9GT1VORCkKLSAgICAjIFdlIGRvbid0IHVzZSBmaW5kX3Bh
Y2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5saWtlIEVHTC4gV2Ug
bmVlZCB0bwotICAgICMgaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVIgYXMgcGFydCBvZiB0aGUgZGly
ZWN0b3JpZXMgY2hlY2tfaW5jbHVkZV9maWxlcygpIGxvb2tzIGZvciBpbgotICAgICMgY2FzZSBP
cGVuR0wgaXMgaW5zdGFsbGVkIGludG8gYSBub24tc3RhbmRhcmQgbG9jYXRpb24uCi0gICAgQ01B
S0VfUFVTSF9DSEVDS19TVEFURSgpCi0gICAgc2V0KENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTICR7
Q01BS0VfUkVRVUlSRURfSU5DTFVERVN9ICR7T1BFTkdMX0lOQ0xVREVfRElSfSkKLSAgICBjaGVj
a19pbmNsdWRlX2ZpbGVzKCJHTC9nbHguaCIgR0xYX0ZPVU5EKQotICAgIENNQUtFX1BPUF9DSEVD
S19TVEFURSgpCi0KICAgICBpZiAoR0xYX0ZPVU5EKQogICAgICAgICBsaXN0KEFQUEVORCBDQUlS
T0dMX0NPTVBPTkVOVFMgY2Fpcm8tZ2x4KQogICAgIGVuZGlmICgpCkBAIC0zMjIsNyArMzI1LDcg
QEAgaWYgKEVOQUJMRV9PUEVOR0wpCiAKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0Vf
RUdMICR7RUdMX0ZPVU5EfSkKIAotICAgIGlmIChFTkFCTEVfWDExX1RBUkdFVCBBTkQgR0xYX0ZP
VU5EKQorICAgIGlmIChFTkFCTEVfWDExX1RBUkdFVCBBTkQgR0xYX0ZPVU5EIEFORCBVU0VfT1BF
TkdMKQogICAgICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfR0xYIFRSVUUpCiAgICAg
ZW5kaWYgKCkKIApkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg3ODRk
OTY5OTI1YWVlMmZhMjNkY2FjZDg4YzRmNjFjNDQ0YTdkYmQuLjQxZWM4ZTRkMTY2ZjRmMzc5MTNi
YzkzYzVhMGFiYzBkMjAzNWJmMmEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNS0wNS0xOSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVy
ZXogIDxjbG9wZXpAaWdhbGlhLmNvbT4KKworICAgICAgICBbQ01ha2VdIEltcHJvdmUgZGV0ZWN0
aW9uIGFuZCB1c2FnZSBvZiBHTC9HTEVTL0VHTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0MDgKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5kRUdMLmNt
YWtlOiBJbXByb3ZlIGRldGVjdGlvbiBvZiBFR0wgbGlicmFyaWVzLgorICAgICAgICAqIFNvdXJj
ZS9jbWFrZS9GaW5kR0xFUy5jbWFrZTogUmVtb3ZlZC4gSXQgd2FzIHVzZWQgYnkgdGhlIEVHTCBw
b3J0LgorICAgICAgICBSZW1vdmUgaXQgYW5kIG1ha2UgdGhlIEVHTCBwb3J0IHVzZSB0aGUgaW1w
cm92ZWQgRmluZE9wZW5HTEVTMi5jbWFrZQorICAgICAgICBpbnN0ZWFkLgorICAgICAgICAqIFNv
dXJjZS9jbWFrZS9GaW5kT3BlbkdMLmNtYWtlOiBBZGRlZC4gQWRkIG1vZHVsZSB0byBkZXRlY3Qg
T3BlbkdMCisgICAgICAgIGxpYnJhcmllcy4gRGV0ZWN0IGFsc28gR0xYIGxpYnJhcmllcy4KKyAg
ICAgICAgKiBTb3VyY2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZTogSW1wcm92ZSBkZXRlY3Rp
b24gb2YgT3BlbkdMRVMtdjIKKyAgICAgICAgbGlicmFyaWVzLiBVc2UgZmluZF9wYXRoKCkgdG8g
Z2V0IHRoZSBpbmNsdWRlIHBhdGguCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwu
Y21ha2U6IFVzZSBub3cgdGhlIGltcHJvdmVkIEZpbmRPcGVuR0xFUzIKKyAgICAgICAgbW9kdWxl
LgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBTZXQgZGVmYXVsdCB2
YWx1ZSBmb3IgRU5BQkxFX0dMRVMyCisgICAgICAgIGRlcGVuZGluZyBvbiB0aGUgbGlicmFyaWVz
IGZvdW5kIG9uIHRoZSBzeXN0ZW0uCisgICAgICAgIE1vdmUgdGhlIGRldGVjdGlvbiBvZiBHTFgg
KGFuZCB0aGUgaW5jbHVkZSBvZiBDTWFrZVB1c2hDaGVja1N0YXRlKQorICAgICAgICB0byBGaW5k
T3BlbkdMLmNtYWtlLgorICAgICAgICBFbnN1cmUgdGhhdCB3ZSBvbmx5IGRlZmluZSBVU0VfR0xY
IHdoZW4gd2UgYnVpbGQgd2l0aCBPcGVuR0wKKyAgICAgICAgKGJ1dCBub3Qgd2l0aCBHTEVTdjIp
LgorCiAyMDE1LTA1LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNv
bT4KIAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVX
UyBmb3IgMi45LjIgcmVsZWFzZS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>253827</attachid>
            <date>2015-05-27 19:38:03 -0700</date>
            <delta_ts>2015-05-28 04:31:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-145408-20150528043750.patch</filename>
            <type>text/plain</type>
            <size>16596</size>
            <attacher name="Carlos Alberto Lopez Perez">clopez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTg0OTAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTAyNjU2NWMyNDZkYmNl
YTA1NjZkOWRmYjBjMGZjODQ2MmM3NWMyYy4uYmE3YzhiNGVkYjk0N2RkZmEwMWE5NDY4N2EwM2Jj
YTM4NDJhMDM0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwIEBACisyMDE1LTA1LTE5ICBDYXJs
b3MgQWxiZXJ0byBMb3BleiBQZXJleiAgPGNsb3BlekBpZ2FsaWEuY29tPgorCisgICAgICAgIFtD
TWFrZV0gSW1wcm92ZSBkZXRlY3Rpb24gYW5kIHVzYWdlIG9mIEdML0dMRVMvRUdMIGxpYnJhcmll
cy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NTQw
OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5l
dyB0ZXN0cywgbm8gYmVoYXZpb3IgY2hhbmdlcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OiBFbnN1cmUgdGhhdCB3ZSBpbmNsdWRlIHRoZSBsaWJyYXJpZXMgYW5kIGluY2x1ZGVzCisgICAg
ICAgIGZvciB0aGUgR0wvR0xFU3YyL0VHTCBsaWJyYXJpZXMgYmVmb3JlIGluY2x1ZGluZyB0aGUg
QU5HTEUgZGlyZWN0b3JpZXMuCisgICAgICAgIERlZmluZSBhbHNvIGFueSBDRkxBRyB0aGF0IHRo
ZSBzeXN0ZW0gR0wvR0xFU3YyL0VHTCBsaWJyYXJpZXMgbWF5IG5lZWQuCisgICAgICAgICogUGxh
dGZvcm1FZmwuY21ha2U6IFJlbW92ZSBzb21lIGluY2x1ZGVzIHRoYXQgYXJlIG5vdyB1bm5lZWRl
ZCwKKyAgICAgICAgYmVjYXVzZSB3ZSBhcmUgaW5jbHVkaW5nIG5vdyB0aGUgRUdMIGxpYnJhcmll
cyBvbiBDTWFrZUxpc3RzLnR4dAorICAgICAgICAqIFBsYXRmb3JtR1RLLmNtYWtlOiBSZW1vdmUg
dW5uZWVkZWQgaW5jbHVkZSAoV2UgYXJlIGluY2x1ZGluZyB0aGUgRUdMCisgICAgICAgIGxpYnJh
cmllcyBub3cgb24gQ01ha2VMaXN0cy50eHQpCisKIDIwMTUtMDUtMjcgIE15bGVzIEMuIE1heGZp
ZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBBcmFiaWMgbGlnYXR1
cmVzIGFyZSBicm9rZW4gaW4gR29vZ2xlIE1hcHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggYTU5
MDMzODhmYWE2ZmFmODA0NjFkNTBlMzk5NmExZDZiMThmYjc2Mi4uYWFiZmNjOGFlOTUxNWM2Zjc0
NjYwYTcyMjI2OTBmYWMzZDQ0N2RjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMwMDAsMjIg
KzMwMDAsMzUgQEAgaWYgKEVOQUJMRV9RVU9UQSkKIGVuZGlmICgpCiAKIGlmIChFTkFCTEVfR1JB
UEhJQ1NfQ09OVEVYVF8zRCkKLSAgICAjIEZvciBwbGF0Zm9ybXMgdGhhdCB3YW50IHRvIHVzZSBz
eXN0ZW0tcHJvdmlkZWQgT3BlbkdMIChFUykgaGVhZGVycywKLSAgICAjIHRoZXNlIGluY2x1ZGUg
ZGlyZWN0b3JpZXMgbmVlZCB0byBiZSBhZGRlZCBiZWZvcmUgdGhlIEFOR0xFIGRpcmVjdG9yaWVz
LgotICAgIGlmIChPUEVOR0xfRk9VTkQpCisgICAgIyBGb3IgcGxhdGZvcm1zIHRoYXQgd2FudCB0
byB1c2Ugc3lzdGVtLXByb3ZpZGVkIE9wZW5HTCAoRVMpIC8gRUdMIGhlYWRlcnMsCisgICAgIyB0
aGVzZSBpbmNsdWRlIGRpcmVjdG9yaWVzLCBsaWJyYXJpZXMgb3IgZGVmaW5pdGlvbnMgbmVlZCB0
byBiZQorICAgICMgYWRkZWQgYmVmb3JlIHRoZSBBTkdMRSBkaXJlY3Rvcmllcy4KKyAgICBpZiAo
VVNFX09QRU5HTCkKICAgICAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5DTFVERV9E
SVJFQ1RPUklFUwotICAgICAgICAgICAgJHtPUEVOR0xfSU5DTFVERV9ESVJ9CisgICAgICAgICAg
ICAke09QRU5HTF9JTkNMVURFX0RJUlN9CiAgICAgICAgICkKICAgICAgICAgbGlzdChBUFBFTkQg
V2ViQ29yZV9MSUJSQVJJRVMKLSAgICAgICAgICAgICR7T1BFTkdMX2dsX0xJQlJBUll9CisgICAg
ICAgICAgICAke09QRU5HTF9MSUJSQVJJRVN9CiAgICAgICAgICkKLSAgICBlbHNlaWYgKE9QRU5H
TEVTMl9GT1VORCkKKyAgICAgICAgYWRkX2RlZmluaXRpb25zKCR7T1BFTkdMX0RFRklOSVRJT05T
fSkKKyAgICBlbHNlaWYgKFVTRV9PUEVOR0xfRVNfMikKICAgICAgICAgbGlzdChBUFBFTkQgV2Vi
Q29yZV9TWVNURU1fSU5DTFVERV9ESVJFQ1RPUklFUwotICAgICAgICAgICAgJHtPUEVOR0xFUzJf
SU5DTFVERV9ESVJ9CisgICAgICAgICAgICAke09QRU5HTEVTMl9JTkNMVURFX0RJUlN9CiAgICAg
ICAgICkKICAgICAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMKICAgICAgICAgICAg
ICR7T1BFTkdMRVMyX0xJQlJBUklFU30KICAgICAgICAgKQorICAgICAgICBhZGRfZGVmaW5pdGlv
bnMoJHtPUEVOR0xFUzJfREVGSU5JVElPTlN9KQorICAgIGVuZGlmICgpCisKKyAgICBpZiAoVVNF
X0VHTCkKKyAgICAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5DTFVERV9ESVJFQ1RP
UklFUworICAgICAgICAgICAgJHtFR0xfSU5DTFVERV9ESVJTfQorICAgICAgICApCisgICAgICAg
IGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCisgICAgICAgICAgICAke0VHTF9MSUJSQVJJ
RVN9CisgICAgICAgICkKKyAgICAgICAgYWRkX2RlZmluaXRpb25zKCR7RUdMX0RFRklOSVRJT05T
fSkKICAgICBlbmRpZiAoKQogCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9JTkNMVURFX0RJUkVD
VE9SSUVTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QbGF0Zm9ybUVmbC5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCmluZGV4IGQ4YjkyOTUxNjdlNjJmZGI4Y2Qy
NzA3NGE5YzU4MDdmZTYyMDZmMDguLmVkMDJmZTE1MTJmNjQ2YTY2MWFmY2Q5OWNmMTJhMzVmNjA0
ZWYxZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtRWZsLmNtYWtlCkBAIC0zOTMsNyArMzkzLDYgQEAgZW5k
aWYgKCkKIAogaWYgKFVTRV9FR0wpCiAgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TWVNURU1fSU5D
TFVERV9ESVJFQ1RPUklFUwotICAgICAgICAke0VHTF9JTkNMVURFX0RJUn0KICAgICAgICAgIiR7
V0VCQ09SRV9ESVJ9L3BsYXRmb3JtL2dyYXBoaWNzL3N1cmZhY2VzL2VnbCIKICAgICApCiBlbmRp
ZiAoKQpAQCAtNDI3LDExICs0MjYsNyBAQCBlbHNlICgpCiAgICAgKQogZW5kaWYgKCkKIAotaWYg
KFVTRV9FR0wpCi0gICAgbGlzdChBUFBFTkQgV2ViQ29yZV9MSUJSQVJJRVMKLSAgICAgICAgJHtF
R0xfTElCUkFSWX0KLSAgICApCi1lbHNlaWYgKFgxMV9YY29tcG9zaXRlX0ZPVU5EIEFORCBYMTFf
WHJlbmRlcl9GT1VORCkKK2lmIChOT1QgVVNFX0VHTCBBTkQgWDExX1hjb21wb3NpdGVfRk9VTkQg
QU5EIFgxMV9YcmVuZGVyX0ZPVU5EKQogICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVT
CiAgICAgICAgICR7WDExX1hjb21wb3NpdGVfTElCfQogICAgICAgICAke1gxMV9YcmVuZGVyX0xJ
Qn0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNl
L1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggMDliNWE2OGRkYzdmZGE4NTEwYzMyM2Jl
MWM3M2UwMWFlZWM5MWY4MC4uYjI2MDkyZDYzYjA1OGQxODI5NzZhZDExMThlMDE5YzFiNjFjY2Nj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQxOSwxMSArNDE5LDYgQEAgaWYgKEVO
QUJMRV9USFJFQURFRF9DT01QT1NJVE9SKQogICAgICkKIGVuZGlmICgpCiAKLWlmIChVU0VfRUdM
KQotICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfTElCUkFSSUVTCi0gICAgICAgICR7RUdMX0xJQlJB
Ull9Ci0gICAgKQotZW5kaWYgKCkKIAogaWYgKFVTRV9PUEVOR0xfRVNfMikKICAgICBsaXN0KEFQ
UEVORCBXZWJDb3JlX1NPVVJDRVMKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9GaW5kRUdMLmNt
YWtlIGIvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKaW5kZXggYzIzYjNmZTUwZjg4NDZiOTk1
YjZmMWE1YjFmNDEyNDcwMGI2OGVjYS4uNjQwNmQ5YjFhODkyNTE3ODY1MjIxYmM5NTljYmQ2NzMw
MGRhZTllMSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKKysrIGIvU291
cmNlL2NtYWtlL0ZpbmRFR0wuY21ha2UKQEAgLTIsOCArMiw5IEBACiAjIE9uY2UgZG9uZSwgdGhp
cyB3aWxsIGRlZmluZQogIwogIyAgRUdMX0ZPVU5EIC0gc3lzdGVtIGhhcyBFR0wgaW5zdGFsbGVk
LgotIyAgRUdMX0lOQ0xVREVfRElSIC0gZGlyZWN0b3JpZXMgd2hpY2ggY29udGFpbiB0aGUgRUdM
IGhlYWRlcnMuCi0jICBFR0xfTElCUkFSWSAtIGxpYnJhcmllcyByZXF1aXJlZCB0byBsaW5rIGFn
YWluc3QgRUdMLgorIyAgRUdMX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVzIHdoaWNoIGNvbnRh
aW4gdGhlIEVHTCBoZWFkZXJzLgorIyAgRUdMX0xJQlJBUklFUyAtIGxpYnJhcmllcyByZXF1aXJl
ZCB0byBsaW5rIGFnYWluc3QgRUdMLgorIyAgRUdMX0RFRklOSVRJT05TIC0gQ29tcGlsZXIgc3dp
dGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIEVHTC4KICMKICMgQ29weXJpZ2h0IChDKSAyMDEyIElu
dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogIwpAQCAtMjgsMTIgKzI5LDI1
IEBACiAjIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYKICMgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCiAKLWZpbmRfcGF0aChFR0xfSU5DTFVERV9ESVIgTkFNRVMgRUdML2VnbC5oKQor
CitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorCitwa2dfY2hlY2tfbW9kdWxlcyhQQ19FR0wgZWds
KQorCitpZiAoUENfRUdMX0ZPVU5EKQorICAgIHNldChFR0xfREVGSU5JVElPTlMgJHtQQ19FR0xf
Q0ZMQUdTX09USEVSfSkKK2VuZGlmICgpCisKK2ZpbmRfcGF0aChFR0xfSU5DTFVERV9ESVJTIE5B
TUVTIEVHTC9lZ2wuaAorICAgIEhJTlRTICR7UENfRUdMX0lOQ0xVREVESVJ9ICR7UENfRUdMX0lO
Q0xVREVfRElSU30KKykKIAogc2V0KEVHTF9OQU1FUyAke0VHTF9OQU1FU30gZWdsIEVHTCkKLWZp
bmRfbGlicmFyeShFR0xfTElCUkFSWSBOQU1FUyAke0VHTF9OQU1FU30pCitmaW5kX2xpYnJhcnko
RUdMX0xJQlJBUklFUyBOQU1FUyAke0VHTF9OQU1FU30KKyAgICBISU5UUyAke1BDX0VHTF9MSUJE
SVJ9ICR7UENfRUdMX0xJQlJBUllfRElSU30KKykKIAogaW5jbHVkZShGaW5kUGFja2FnZUhhbmRs
ZVN0YW5kYXJkQXJncykKLUZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRBUkRfQVJHUyhFR0wgREVG
QVVMVF9NU0cgRUdMX0lOQ0xVREVfRElSIEVHTF9MSUJSQVJZKQorRklORF9QQUNLQUdFX0hBTkRM
RV9TVEFOREFSRF9BUkdTKEVHTCBERUZBVUxUX01TRyBFR0xfSU5DTFVERV9ESVJTIEVHTF9MSUJS
QVJJRVMpCiAKLW1hcmtfYXNfYWR2YW5jZWQoRUdMX0lOQ0xVREVfRElSIEVHTF9MSUJSQVJZKQor
bWFya19hc19hZHZhbmNlZChFR0xfSU5DTFVERV9ESVJTIEVHTF9MSUJSQVJJRVMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvY21ha2UvRmluZEdMRVMuY21ha2UgYi9Tb3VyY2UvY21ha2UvRmluZEdMRVMu
Y21ha2UKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDFmOGRhZWJlNmM2ZTRmOTk3Njg2
YzU2NzUxYTQ5MjFlYThkNGIzMjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL2NtYWtlL0ZpbmRHTEVTLmNtYWtlCisrKyAvZGV2L251bGwKQEAg
LTEsMzggKzAsMCBAQAotIyAtIFRyeSB0byBmaW5kIE9wZW5HTEVTCi0jIE9uY2UgZG9uZSB0aGlz
IHdpbGwgZGVmaW5lCi0jICAKLSMgIE9QRU5HTEVTMl9GT1VORCAgICAgICAgLSBzeXN0ZW0gaGFz
IE9wZW5HTEVTdjIgaW5zdGFsbGVkLgotIyAgT1BFTkdMRVMyX0lOQ0xVREVfRElSICAtIGRpcmVj
dG9yaWVzIHdoaWNoIGNvbnRhaW4gdGhlIE9wZW5HbEVzdjIgaGVhZGVycy4KLSMgIE9QRU5HTEVT
Ml9MSUJSQVJJRVMgICAgLSBsaWJyYXJpZXMgcmVxdWlyZWQgdG8gbGluayBhZ2FpbnN0IE9wZW5H
TEVTdjIKLSMKLSMgQ29weXJpZ2h0IChDKSAyMDEyIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln
aHRzIHJlc2VydmVkLgotIwotIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0jIGFyZSBtZXQ6Ci0j
IDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAotIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
LSMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCi0jCi0jIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVIgQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUwotIyBJUycnIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotIyBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0jIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIElUUwotIyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
LSMgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotIyBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsKLSMgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksCi0j
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SCi0jIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYKLSMgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0KLWZpbmRfcGF0aChPUEVOR0xFUzJfSU5DTFVERV9ESVIg
TkFNRVMgR0xFUzIvZ2wyLmgpCi0KLWZpbmRfbGlicmFyeShPUEVOR0xFUzJfTElCUkFSWSBOQU1F
UyBHTEVTdjIpCi0KLWluY2x1ZGUoRmluZFBhY2thZ2VIYW5kbGVTdGFuZGFyZEFyZ3MpCi1GSU5E
X1BBQ0tBR0VfSEFORExFX1NUQU5EQVJEX0FSR1MoT1BFTkdMRVMyIERFRkFVTFRfTVNHIE9QRU5H
TEVTMl9JTkNMVURFX0RJUiBPUEVOR0xFUzJfTElCUkFSWSkKLQotbWFya19hc19hZHZhbmNlZChP
UEVOR0xFUzJfSU5DTFVERV9ESVIgT1BFTkdMRVMyX0xJQlJBUlkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvY21ha2UvRmluZE9wZW5HTC5jbWFrZSBiL1NvdXJjZS9jbWFrZS9GaW5kT3BlbkdMLmNtYWtl
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRjZWI2N2ZhNjNhMjU3OGI0ZjdlYzhmNDE4NjAxM2YxMDQzYmI1M2MKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTC5jbWFrZQpAQCAtMCwwICsx
LDY0IEBACisjIC0gVHJ5IHRvIEZpbmQgT3BlbkdMCisjIE9uY2UgZG9uZSwgdGhpcyB3aWxsIGRl
ZmluZQorIworIyAgT1BFTkdMX0ZPVU5EIC0gc3lzdGVtIGhhcyBPcGVuR0wgaW5zdGFsbGVkLgor
IyAgT1BFTkdMX0lOQ0xVREVfRElSUyAtIGRpcmVjdG9yaWVzIHdoaWNoIGNvbnRhaW4gdGhlIE9w
ZW5HTCBoZWFkZXJzLgorIyAgT1BFTkdMX0xJQlJBUklFUyAtIGxpYnJhcmllcyByZXF1aXJlZCB0
byBsaW5rIGFnYWluc3QgT3BlbkdMLgorIyAgT1BFTkdMX0RFRklOSVRJT05TIC0gQ29tcGlsZXIg
c3dpdGNoZXMgcmVxdWlyZWQgZm9yIHVzaW5nIE9wZW5HTC4KKyMKKyMgQ29weXJpZ2h0IChDKSAy
MDE1IElnYWxpYSBTLkwuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoK
KyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTCisjIElTJycgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisjIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyMgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgSVRTCisjIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LAorIyBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisjIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOworIyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwK
KyMgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IKKyMgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRgorIyBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworCitmaW5kX3BhY2thZ2UoUGtnQ29uZmlnKQorCitw
a2dfY2hlY2tfbW9kdWxlcyhQQ19PUEVOR0wgZ2wpCisKK2lmIChQQ19PUEVOR0xfRk9VTkQpCisg
ICAgc2V0KE9QRU5HTF9ERUZJTklUSU9OUyAke1BDX09QRU5HTF9DRkxBR1NfT1RIRVJ9KQorZW5k
aWYgKCkKKworZmluZF9wYXRoKE9QRU5HTF9JTkNMVURFX0RJUlMgTkFNRVMgR0wvZ2wuaAorICAg
IEhJTlRTICR7UENfT1BFTkdMX0lOQ0xVREVESVJ9ICR7UENfT1BFTkdMX0lOQ0xVREVfRElSU30K
KykKKworc2V0KE9QRU5HTF9OQU1FUyAke09QRU5HTF9OQU1FU30gZ2wgR0wpCitmaW5kX2xpYnJh
cnkoT1BFTkdMX0xJQlJBUklFUyBOQU1FUyAke09QRU5HTF9OQU1FU30KKyAgICBISU5UUyAke1BD
X09QRU5HTF9MSUJESVJ9ICR7UENfT1BFTkdMX0xJQlJBUllfRElSU30KKykKKworaW5jbHVkZShG
aW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKK0ZJTkRfUEFDS0FHRV9IQU5ETEVfU1RBTkRB
UkRfQVJHUyhPUEVOR0wgREVGQVVMVF9NU0cgT1BFTkdMX0lOQ0xVREVfRElSUyBPUEVOR0xfTElC
UkFSSUVTKQorCittYXJrX2FzX2FkdmFuY2VkKE9QRU5HTF9JTkNMVURFX0RJUlMgT1BFTkdMX0xJ
QlJBUklFUykKKworaWYgKE9QRU5HTF9GT1VORCkKKyAgICAjIFdlIGRvbid0IHVzZSBmaW5kX3Bh
Y2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5saWtlIEVHTC4gV2Ug
bmVlZCB0bworICAgICMgaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVJTIGFzIHBhcnQgb2YgdGhlIGRp
cmVjdG9yaWVzIGNoZWNrX2luY2x1ZGVfZmlsZXMoKSBsb29rcyBmb3IgaW4KKyAgICAjIGNhc2Ug
T3BlbkdMIGlzIGluc3RhbGxlZCBpbnRvIGEgbm9uLXN0YW5kYXJkIGxvY2F0aW9uLgorICAgIGlu
Y2x1ZGUoQ01ha2VQdXNoQ2hlY2tTdGF0ZSkKKyAgICBDTUFLRV9QVVNIX0NIRUNLX1NUQVRFKCkK
KyAgICBzZXQoQ01BS0VfUkVRVUlSRURfSU5DTFVERVMgJHtDTUFLRV9SRVFVSVJFRF9JTkNMVURF
U30gJHtPUEVOR0xfSU5DTFVERV9ESVJTfSkKKyAgICBjaGVja19pbmNsdWRlX2ZpbGVzKCJHTC9n
bHguaCIgR0xYX0ZPVU5EKQorICAgIENNQUtFX1BPUF9DSEVDS19TVEFURSgpCitlbmRpZiAoKQpk
aWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL0ZpbmRPcGVuR0xFUzIuY21ha2UgYi9Tb3VyY2UvY21h
a2UvRmluZE9wZW5HTEVTMi5jbWFrZQppbmRleCBkYjY5YjhkMmQxMTRiNWI3MTNiNzY0Y2UwODY1
YTNkNzUwZDc3MmVkLi41MTE2NjMwYmRkNWI5ODM0YWIwZDUzNGNmZGU2ZGQ0MjlhZDllYmFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZQorKysgYi9Tb3VyY2Uv
Y21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZQpAQCAtOSwxNyArOSwxOSBAQCBmaW5kX3BhY2thZ2Uo
UGtnQ29uZmlnKQogcGtnX2NoZWNrX21vZHVsZXMoUENfT1BFTkdMRVMyIGdsZXN2MikKIAogaWYg
KFBDX09QRU5HTEVTMl9GT1VORCkKLSAgICBzZXQoT1BFTkdMRVMyX0lOQ0xVREVfRElSUyAke1BD
X09QRU5HTEVTMl9JTkNMVURFX0RJUlN9KQogICAgIHNldChPUEVOR0xFUzJfREVGSU5JVElPTlMg
JHtQQ19PUEVOR0xFUzJfQ0ZMQUdTX09USEVSfSkKLWVsc2UgKCkKLSAgICBmaW5kX3BhdGgoT1BF
TkdMRVMyX0lOQ0xVREVfRElSUyBOQU1FUyBHTEVTMi9nbDIuaCkKIGVuZGlmICgpCiAKLWZpbmRf
bGlicmFyeShPUEVOR0xFUzJfTElCUkFSSUVTIEdMRVN2MgotICAgIEhJTlRTICR7UENfT1BFTkdM
RVMyX0xJQlJBUllfRElSU30gJHtQQ19PUEVOR0xFUzJfTElCRElSfQorZmluZF9wYXRoKE9QRU5H
TEVTMl9JTkNMVURFX0RJUlMgTkFNRVMgR0xFUzIvZ2wyLmgKKyAgICBISU5UUyAke1BDX09QRU5H
TEVTMl9JTkNMVURFRElSfSAke1BDX09QRU5HTEVTMl9JTkNMVURFX0RJUlN9CispCisKK3NldChP
UEVOR0xFUzJfTkFNRVMgJHtPUEVOR0xFUzJfTkFNRVN9IGdsZXN2MiBHTEVTdjIpCitmaW5kX2xp
YnJhcnkoT1BFTkdMRVMyX0xJQlJBUklFUyBOQU1FUyAke09QRU5HTEVTMl9OQU1FU30KKyAgICBI
SU5UUyAke1BDX09QRU5HTEVTMl9MSUJESVJ9ICR7UENfT1BFTkdMRVMyX0xJQlJBUllfRElSU30K
ICkKIAogaW5jbHVkZShGaW5kUGFja2FnZUhhbmRsZVN0YW5kYXJkQXJncykKLWZpbmRfcGFja2Fn
ZV9oYW5kbGVfc3RhbmRhcmRfYXJncyhPcGVuR0xFUzIgREVGQVVMVF9NU0cgT1BFTkdMRVMyX0xJ
QlJBUklFUyBPUEVOR0xFUzJfSU5DTFVERV9ESVJTKQorRklORF9QQUNLQUdFX0hBTkRMRV9TVEFO
REFSRF9BUkdTKE9QRU5HTEVTMiBERUZBVUxUX01TRyBPUEVOR0xFUzJfSU5DTFVERV9ESVJTIE9Q
RU5HTEVTMl9MSUJSQVJJRVMpCiAKLW1hcmtfYXNfYWR2YW5jZWQoT1BFTkdMRVMyX0lOQ0xVREVf
RElSUyBPUEVOR0xFUzJfTElCUkFSWSkKK21hcmtfYXNfYWR2YW5jZWQoT1BFTkdMRVMyX0lOQ0xV
REVfRElSUyBPUEVOR0xFUzJfTElCUkFSSUVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09w
dGlvbnNFZmwuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQppbmRleCA2ZjRi
Y2FmNWU1ODUzOWJjYmE2NzBmYzRlNDkyODkyZDIwYjBjMTk4Li40YWU3MzFiYjk0MjQxZWMxZWIx
YjljYTZiNmUxNjFiMjQ0MTk4ODdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0Vm
bC5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0VmbC5jbWFrZQpAQCAtMjI5LDcgKzIy
OSw3IEBAIGFkZF9kZWZpbml0aW9ucygtRFVTRV9HUkFQSElDU19TVVJGQUNFPTEpCiAKIG9wdGlv
bihFTkFCTEVfR0xFUzIgIkVuYWJsZSBHTEVTIFN1cHBvcnQiKQogaWYgKEVOQUJMRV9HTEVTMikK
LSAgICBmaW5kX3BhY2thZ2UoR0xFUyBSRVFVSVJFRCkKKyAgICBmaW5kX3BhY2thZ2UoT3BlbkdM
RVMyIFJFUVVJUkVEKQogICAgIHNldChVU0VfT1BFTkdMX0VTXzIgMSkKICAgICBhZGRfZGVmaW5p
dGlvbnMoLURVU0VfT1BFTkdMX0VTXzI9MSkKIGVsc2UgKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9j
bWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5k
ZXggMTNjNjVjYmY2YTliYmQ0NzA3NjM1ZDg0NjliYjM5ZDZhM2MyOTJiOC4uMDZlNDMzMTNkODRm
ZjYyZjBjNDRmNTU0ODY5MGVmNTgzNjZmNDdmZSAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09w
dGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTEs
NCArMSwzIEBACi1pbmNsdWRlKENNYWtlUHVzaENoZWNrU3RhdGUpCiBpbmNsdWRlKEdOVUluc3Rh
bGxEaXJzKQogCiBzZXQoUFJPSkVDVF9WRVJTSU9OX01BSk9SIDIpCkBAIC00OSwxMCArNDgsMjIg
QEAgZmluZF9wYWNrYWdlKFdlYlAgUkVRVUlSRUQpCiBmaW5kX3BhY2thZ2UoQVRTUEkgMi41LjMp
CiBmaW5kX3BhY2thZ2UoRUdMKQogZmluZF9wYWNrYWdlKE9wZW5HTCkKK2ZpbmRfcGFja2FnZShP
cGVuR0xFUzIpCiAKIFdFQktJVF9PUFRJT05fQkVHSU4oKQogCi1XRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfR0xFUzIgIldoZXRoZXIgdG8gZW5hYmxlIE9wZW5HTCBFUyAyLjAuIiBQVUJMSUMg
T0ZGKQorIyBTZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIEVOQUJMRV9HTEVTMiBhdXRvbWF0aWNh
bGx5LgorIyBXZSBhcmUgbm90IGVuYWJsaW5nIG9yIGRpc2FibGluZyBhdXRvbWF0aWNhbGx5IGEg
ZmVhdHVyZSBoZXJlLCBiZWNhdXNlCisjIHRoZSBmZWF0dXJlIGlzIGJ5IGRlZmF1bHQgYWx3YXlz
IG9uIChFTkFCTEVfT1BFTkdMPU9OKS4KKyMgV2hhdCB3ZSBzZWxlY3QgaGVyZSBhdXRvbWF0aWNh
bGx5IGlzIGlmIHdlIHVzZSBPUEVOR0wgKEVOQUJMRV9HTEVTMj1PRkYpCisjIG9yIE9QRU5HTEVT
MiAoRU5BQkxFX0dMRVMyPU9OKSBmb3IgYnVpbGRpbmcgdGhlIGZlYXR1cmUuCitzZXQoRU5BQkxF
X0dMRVMyX0RFRkFVTFQgT0ZGKQorCitpZiAoTk9UIE9QRU5HTF9GT1VORCBBTkQgT1BFTkdMRVMy
X0ZPVU5EKQorICAgIHNldChFTkFCTEVfR0xFUzJfREVGQVVMVCBPTikKK2VuZGlmICgpCisKK1dF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9HTEVTMiAiV2hldGhlciB0byBlbmFibGUgT3BlbkdM
IEVTIDIuMC4iIFBVQkxJQyAke0VOQUJMRV9HTEVTMl9ERUZBVUxUfSkKIFdFQktJVF9PUFRJT05f
REVGSU5FKEVOQUJMRV9HVEtET0MgIldoZXRoZXIgb3Igbm90IHRvIHVzZSBnZW5lcmF0ZSBndGtk
b2MuIiBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX0lOVFJPU1BFQ1RJ
T04gIldoZXRoZXIgdG8gZW5hYmxlIEdPYmplY3QgaW50cm9zcGVjdGlvbi4iIFBVQkxJQyBPTikK
IFdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9PUEVOR0wgIldoZXRoZXIgdG8gdXNlIE9wZW5H
TC4iIFBVQkxJQyBPTikKQEAgLTEwMiwxNCArMTEzLDYgQEAgZWxzZSAoKQogZW5kaWYgKCkKIAog
aWYgKE9QRU5HTF9GT1VORCkKLSAgICAjIFdlIGRvbid0IHVzZSBmaW5kX3BhY2thZ2UgZm9yIEdM
WCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5saWtlIEVHTC4gV2UgbmVlZCB0bwotICAg
ICMgaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVIgYXMgcGFydCBvZiB0aGUgZGlyZWN0b3JpZXMgY2hl
Y2tfaW5jbHVkZV9maWxlcygpIGxvb2tzIGZvciBpbgotICAgICMgY2FzZSBPcGVuR0wgaXMgaW5z
dGFsbGVkIGludG8gYSBub24tc3RhbmRhcmQgbG9jYXRpb24uCi0gICAgQ01BS0VfUFVTSF9DSEVD
S19TVEFURSgpCi0gICAgc2V0KENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTICR7Q01BS0VfUkVRVUlS
RURfSU5DTFVERVN9ICR7T1BFTkdMX0lOQ0xVREVfRElSfSkKLSAgICBjaGVja19pbmNsdWRlX2Zp
bGVzKCJHTC9nbHguaCIgR0xYX0ZPVU5EKQotICAgIENNQUtFX1BPUF9DSEVDS19TVEFURSgpCi0K
ICAgICBpZiAoR0xYX0ZPVU5EKQogICAgICAgICBsaXN0KEFQUEVORCBDQUlST0dMX0NPTVBPTkVO
VFMgY2Fpcm8tZ2x4KQogICAgIGVuZGlmICgpCkBAIC0zMjIsNyArMzI1LDcgQEAgaWYgKEVOQUJM
RV9PUEVOR0wpCiAKICAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfRUdMICR7RUdMX0ZP
VU5EfSkKIAotICAgIGlmIChFTkFCTEVfWDExX1RBUkdFVCBBTkQgR0xYX0ZPVU5EKQorICAgIGlm
IChFTkFCTEVfWDExX1RBUkdFVCBBTkQgR0xYX0ZPVU5EIEFORCBVU0VfT1BFTkdMKQogICAgICAg
ICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfR0xYIFRSVUUpCiAgICAgZW5kaWYgKCkKIApk
aWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg3ODRkOTY5OTI1YWVlMmZh
MjNkY2FjZDg4YzRmNjFjNDQ0YTdkYmQuLjQxZWM4ZTRkMTY2ZjRmMzc5MTNiYzkzYzVhMGFiYzBk
MjAzNWJmMmEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNyBAQAorMjAxNS0wNS0xOSAgQ2FybG9zIEFsYmVydG8gTG9wZXogUGVyZXogIDxjbG9wZXpA
aWdhbGlhLmNvbT4KKworICAgICAgICBbQ01ha2VdIEltcHJvdmUgZGV0ZWN0aW9uIGFuZCB1c2Fn
ZSBvZiBHTC9HTEVTL0VHTCBsaWJyYXJpZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDU0MDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5kRUdMLmNtYWtlOiBJbXByb3Zl
IGRldGVjdGlvbiBvZiBFR0wgbGlicmFyaWVzLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9GaW5k
R0xFUy5jbWFrZTogUmVtb3ZlZC4gSXQgd2FzIHVzZWQgYnkgdGhlIEVHTCBwb3J0LgorICAgICAg
ICBSZW1vdmUgaXQgYW5kIG1ha2UgdGhlIEVHTCBwb3J0IHVzZSB0aGUgaW1wcm92ZWQgRmluZE9w
ZW5HTEVTMi5jbWFrZQorICAgICAgICBpbnN0ZWFkLgorICAgICAgICAqIFNvdXJjZS9jbWFrZS9G
aW5kT3BlbkdMLmNtYWtlOiBBZGRlZC4gQWRkIG1vZHVsZSB0byBkZXRlY3QgT3BlbkdMCisgICAg
ICAgIGxpYnJhcmllcy4gRGV0ZWN0IGFsc28gR0xYIGxpYnJhcmllcy4KKyAgICAgICAgKiBTb3Vy
Y2UvY21ha2UvRmluZE9wZW5HTEVTMi5jbWFrZTogSW1wcm92ZSBkZXRlY3Rpb24gb2YgT3BlbkdM
RVMtdjIKKyAgICAgICAgbGlicmFyaWVzLiBVc2UgZmluZF9wYXRoKCkgdG8gZ2V0IHRoZSBpbmNs
dWRlIHBhdGguCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNFZmwuY21ha2U6IFVzZSBu
b3cgdGhlIGltcHJvdmVkIEZpbmRPcGVuR0xFUzIKKyAgICAgICAgbW9kdWxlLgorICAgICAgICAq
IFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBTZXQgZGVmYXVsdCB2YWx1ZSBmb3IgRU5B
QkxFX0dMRVMyCisgICAgICAgIGRlcGVuZGluZyBvbiB0aGUgbGlicmFyaWVzIGZvdW5kIG9uIHRo
ZSBzeXN0ZW0uCisgICAgICAgIE1vdmUgdGhlIGRldGVjdGlvbiBvZiBHTFggKGFuZCB0aGUgaW5j
bHVkZSBvZiBDTWFrZVB1c2hDaGVja1N0YXRlKQorICAgICAgICB0byBGaW5kT3BlbkdMLmNtYWtl
LgorICAgICAgICBFbnN1cmUgdGhhdCB3ZSBvbmx5IGRlZmluZSBVU0VfR0xYIHdoZW4gd2UgYnVp
bGQgd2l0aCBPcGVuR0wKKyAgICAgICAgKGJ1dCBub3Qgd2l0aCBHTEVTdjIpLgorCiAyMDE1LTA1
LTI3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBmb3IgMi45LjIg
cmVsZWFzZS4K
</data>

          </attachment>
      

    </bug>

</bugzilla>