<?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>143558</bug_id>
          
          <creation_ts>2015-04-08 23:44:59 -0700</creation_ts>
          <short_desc>[GTK] Mark as advanced the build options we don&apos;t want to expose</short_desc>
          <delta_ts>2015-04-23 13:01:11 -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>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>143572</dependson>
          <blocked>143546</blocked>
    
    <blocked>143640</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Michael Catanzaro">mcatanzaro</assigned_to>
          <cc>achristensen</cc>
    
    <cc>elima</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>mcatanzaro</cc>
    
    <cc>mrobinson</cc>
    
    <cc>pnormand</cc>
    
    <cc>svillar</cc>
    
    <cc>vjaquez</cc>
    
    <cc>yin.liu</cc>
    
    <cc>yoon</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1083892</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-08 23:44:59 -0700</bug_when>
    <thetext>Some build options are unconditionally enabled/disabled for GTK+ and we don&apos;t want users to change that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084173</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-09 20:12:57 -0700</bug_when>
    <thetext>My current set of public options (with defaults)

--  ENABLE_3D_RENDERING ..................... ON
--  ENABLE_ACCELERATED_2D_CANVAS              ON
--  ENABLE_API_TESTS ........................ ON
--  ENABLE_GEOLOCATION                        ON
--  ENABLE_JIT                                ON
--  ENABLE_LLINT_C_LOOP ..................... OFF
--  ENABLE_MEMORY_SAMPLER ................... ON
--  ENABLE_MINIBROWSER                        ON
--  ENABLE_NETSCAPE_PLUGIN_API .............. ON
--  ENABLE_NETWORK_PROCESS                    ON
--  ENABLE_SPELLCHECK ....................... ON
--  ENABLE_SUBTLE_CRYPTO .................... ON
--  ENABLE_VIDEO ............................ ON
--  ENABLE_WEB_AUDIO                          ON
--  ENABLE_WEBGL                              ON
--  USE_SYSTEM_MALLOC                         OFF
--  ENABLE_CREDENTIAL_STORAGE                 ON
--  ENABLE_GLES2 ............................ OFF
--  ENABLE_GTKDOC                             ON
--  ENABLE_INTROSPECTION .................... ON
--  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON
--  ENABLE_PLUGIN_PROCESS_GTK2 .............. ON
--  ENABLE_X11_TARGET                         ON
--  ENABLE_WAYLAND_TARGET ................... OFF
--  USE_GSTREAMER_MPEGTS                      ON
--  USE_REDIRECTED_XCOMPOSITE_WINDOW ........ ON

Everything else I have private (advanced). This hides it from the user but does NOT prevent the user from setting it if he knows it exists.

* Did I miss any important options that should be public?
* Did I include anything that shouldn&apos;t really be public?

My guidelines:

* Anything we had a conditional statement for in OptionsGTK.cmake is a public option (except ENABLE_GAMEPAD_DEPRECATED; I figure that can be private since it&apos;s deprecated).
* A few new public options (USE_GSTREAMER_MPEGTS) added to make sure distros don&apos;t accidentally miss features. Distros have no chance of knowing that exists otherwise....
* A few things needed to build on non-x86 (JIT, LLINT_CLOOP, SYSTEM_MALLOC) also remain public.
* Otherwise, it becomes private.

I wonder if we can make even more private. E.g. can we make USE_REDIRECTED_XCOMPOSITE_WINDOW private and enable it only if both ENABLE_ACCELERATED_2D_CANVAS and ENABLE_X11_TARGET are set? Or does that need to be optional? What about ENABLE_3D_RENDERING?

I guess I should figure out why the dots aren&apos;t printed for the GTK-specific options.

Note: This patch also addresses bug #143546 because it was easiest to handle them both in the same patch, since this patch rejiggers so much of the file, but I can split those portions out if you want.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084178</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-09 20:19:23 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; --  ENABLE_NETSCAPE_PLUGIN_API .............. ON

I guess this should be private, because the plugin process is mandatory.

(In reply to comment #1)
&gt; --  ENABLE_GTKDOC                             ON

This actually defaults to OFF; I turn it on for myself. I&apos;m not sure OFF is a good default -- I guess that&apos;s because it&apos;s slow to generate the docs -- but I don&apos;t care to change it here. (Also, MINIBROWSER and API_TESTS also still default to OFF except in developer mode.)

(In reply to comment #1)
&gt; --  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON

Maybe this should be USE_LIBNOTIFY?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084179</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-09 20:23:44 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; I&apos;m not sure OFF is a good default

It&apos;s a good default because users have probably not built all the gtkdoc of our dependencies, for the links to work correctly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084182</commentid>
    <comment_count>4</comment_count>
      <attachid>250498</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-09 20:52:30 -0700</bug_when>
    <thetext>Created attachment 250498
[GTK] Mark as advanced the build options we don&apos;t want to expose</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084186</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-09 21:09:25 -0700</bug_when>
    <thetext>(In reply to comment #1)


This is a good start! Here&apos;s my rundown on the options. I&apos;m probably wrong on a few of these.

&gt; --  ENABLE_3D_RENDERING ..................... ON

3D rendering should always be enabled if we have OpenGL support and accelerated compositing, I think. This isn&apos;t something that&apos;s useful for the user to configure alone.

&gt; --  ENABLE_NETWORK_PROCESS                    ON

Perhaps it is time to make this mandatory.

&gt; --  ENABLE_SPELLCHECK ....................... ON

This was added to avoid an enchant dependency. It might be worth making this private as well.

&gt; --  ENABLE_SUBTLE_CRYPTO .................... ON

Is this feature complete? If not, perhaps it should default to off.

&gt; --  ENABLE_VIDEO ............................ ON

I&apos;m okay with making this mandatory.

&gt; --  ENABLE_WEB_AUDIO                          ON

This can probably be on by default unless it isn&apos;t ready. It&apos;s configurable at run time as well.

&gt; --  ENABLE_WEBGL                              ON

This should always be on if we have OpenGL. I&apos;m not sure it&apos;s worth making it configurable.

&gt; --  ENABLE_CREDENTIAL_STORAGE                 ON

Only an option because we added the dependency after the last major release, I think. I can&apos;t recall exactly though.

&gt; --  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON

Same here.

&gt; --  ENABLE_GTKDOC                             ON

I think this is an option because Gnomey packages and people who build them often turn it on and off.

&gt; --  ENABLE_INTROSPECTION .................... ON

Ditto.

&gt; --  ENABLE_X11_TARGET                         ON
&gt; --  ENABLE_WAYLAND_TARGET ................... OFF

I really don&apos;t know why we have this option. If X11 or Wayland are available we should probably support them. One thing I&apos;m not certain about is whether or not these can be enabled at the same time.

&gt; --  USE_REDIRECTED_XCOMPOSITE_WINDOW ........ ON

I&apos;m not sure this is worth showing. This is necessary for proper rendering in a GTK+ widget tree. This might be an issue on very poor hardware, but distributions shouldn&apos;t be touching it.


&gt; I wonder if we can make even more private. E.g. can we make
&gt; USE_REDIRECTED_XCOMPOSITE_WINDOW private and enable it only if both
&gt; ENABLE_ACCELERATED_2D_CANVAS and ENABLE_X11_TARGET are set? Or does that
&gt; need to be optional? What about ENABLE_3D_RENDERING?

The proper combination for redirected XComposite window is X11 and accelerated-compositing. Accelerated canvas shouldn&apos;t affect it one way or the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084205</commentid>
    <comment_count>6</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-04-09 22:42:25 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #1)
&gt; 
&gt; 
&gt; This is a good start! Here&apos;s my rundown on the options. I&apos;m probably wrong
&gt; on a few of these.
&gt; 
&gt; &gt; --  ENABLE_3D_RENDERING ..................... ON
&gt; 
&gt; 3D rendering should always be enabled if we have OpenGL support and
&gt; accelerated compositing, I think. This isn&apos;t something that&apos;s useful for the
&gt; user to configure alone.

I agree about it. We don&apos;t have to expose this at all.

&gt; &gt; --  ENABLE_WEBGL                              ON
&gt; 
&gt; This should always be on if we have OpenGL. I&apos;m not sure it&apos;s worth making
&gt; it configurable.
&gt;

I&apos;m also agree to enable this as a default. And we don&apos;t have to make it configurable.
 

&gt; &gt; --  ENABLE_X11_TARGET                         ON
&gt; &gt; --  ENABLE_WAYLAND_TARGET ................... OFF
&gt; 
&gt; I really don&apos;t know why we have this option. If X11 or Wayland are available
&gt; we should probably support them. One thing I&apos;m not certain about is whether
&gt; or not these can be enabled at the same time.
&gt; 

For now, we cannot support X11 and WAYLAND at sametime.
Until we can make it as a run-time option, I think we should expose them.

&gt; &gt; --  USE_REDIRECTED_XCOMPOSITE_WINDOW ........ ON
&gt; 
&gt; I&apos;m not sure this is worth showing. This is necessary for proper rendering
&gt; in a GTK+ widget tree. This might be an issue on very poor hardware, but
&gt; distributions shouldn&apos;t be touching it.
&gt; 

I agree to hide this option, because disabling REDIRECTED_XCOMPOSITE_WINDOW is a
some kind of hack to by-pass poor maintained devices.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084214</commentid>
    <comment_count>7</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-09 23:32:11 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (In reply to comment #1)
&gt; &gt; --  ENABLE_NETSCAPE_PLUGIN_API .............. ON
&gt; 
&gt; I guess this should be private, because the plugin process is mandatory.

Yes.

&gt; (In reply to comment #1)
&gt; &gt; --  ENABLE_GTKDOC                             ON
&gt; 
&gt; This actually defaults to OFF; I turn it on for myself. I&apos;m not sure OFF is
&gt; a good default -- I guess that&apos;s because it&apos;s slow to generate the docs --
&gt; but I don&apos;t care to change it here. (Also, MINIBROWSER and API_TESTS also
&gt; still default to OFF except in developer mode.)

I think GTKDOC is OFF by default on non developer builds, enabled on developer builds. I wouldn&apos;t change that. Note also that this bug is about hiding private options, not changing the defaults.

&gt; (In reply to comment #1)
&gt; &gt; --  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON
&gt; 
&gt; Maybe this should be USE_LIBNOTIFY?

Where is this ENABLE_LIBNOTIFY_NOTIFICATIONS come from? LIBNOTIFY is not a feature you can enable/disable, it&apos;s an optional dependency to provide a default implementation of a feature that is always enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084216</commentid>
    <comment_count>8</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-09 23:48:02 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #1)
&gt; 
&gt; 
&gt; This is a good start! Here&apos;s my rundown on the options. I&apos;m probably wrong
&gt; on a few of these.
&gt; 
&gt; &gt; --  ENABLE_3D_RENDERING ..................... ON
&gt; 
&gt; 3D rendering should always be enabled if we have OpenGL support and
&gt; accelerated compositing, I think. This isn&apos;t something that&apos;s useful for the
&gt; user to configure alone.

Agree. We could add an option to disable opengl in general, that would also disable this, but that would be a different option (some people using webkitgtk on headless envs asked for it, because having opengl with mesa makes everything unnecessarily slow for them).

&gt; &gt; --  ENABLE_NETWORK_PROCESS                    ON
&gt; 
&gt; Perhaps it is time to make this mandatory.

This is already mandatory, this should be just private.

&gt; &gt; --  ENABLE_SPELLCHECK ....................... ON
&gt; 
&gt; This was added to avoid an enchant dependency. It might be worth making this
&gt; private as well.

I disagree, this should be ON by default, but public so that people can disable it if spellchecking is not needed.

&gt; &gt; --  ENABLE_SUBTLE_CRYPTO .................... ON
&gt; 
&gt; Is this feature complete? If not, perhaps it should default to off.

Maybe this is ON only when using build-webkit. Note that build-webkit overrides some of the features.

&gt; &gt; --  ENABLE_VIDEO ............................ ON
&gt; 
&gt; I&apos;m okay with making this mandatory.

I disagree, video is still unneeded for some people, and gst dependency is not small. 

&gt; &gt; --  ENABLE_WEB_AUDIO                          ON
&gt; 
&gt; This can probably be on by default unless it isn&apos;t ready. It&apos;s configurable
&gt; at run time as well.

Yes, I would enable this depending on whether deps are available.

&gt; &gt; --  ENABLE_WEBGL                              ON
&gt; 
&gt; This should always be on if we have OpenGL. I&apos;m not sure it&apos;s worth making
&gt; it configurable.

Agree, this should be private.

&gt; &gt; --  ENABLE_CREDENTIAL_STORAGE                 ON
&gt; 
&gt; Only an option because we added the dependency after the last major release,
&gt; I think. I can&apos;t recall exactly though.

Same opinion than spellchecking. This is not needed in some cases like hybrid applications loading only local content. I agree with you from the linux distribution point of view, but in embedded it&apos;s quite common to build your own webkit optimized for your application, and having these options is important.

&gt; &gt; --  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON
&gt; 
&gt; Same here.

This doesn&apos;t even exist, and doesn&apos;t make sense IMO. Maybe USE_LIBNOTIFY could be exposed.

&gt; &gt; --  ENABLE_GTKDOC                             ON
&gt; 
&gt; I think this is an option because Gnomey packages and people who build them
&gt; often turn it on and off.

People building webkitgtk for a production image don&apos;t need this at all, and you save some build time and dont&apos; need to have gtk-doc installed to build.

&gt; &gt; --  ENABLE_INTROSPECTION .................... ON
&gt; 
&gt; Ditto.

Ditto.

&gt; &gt; --  ENABLE_X11_TARGET                         ON
&gt; &gt; --  ENABLE_WAYLAND_TARGET ................... OFF
&gt; 
&gt; I really don&apos;t know why we have this option. If X11 or Wayland are available
&gt; we should probably support them. One thing I&apos;m not certain about is whether
&gt; or not these can be enabled at the same time.

Again I think in embedded these options are useful, when building webkitgtk for a specific target system.

&gt; &gt; --  USE_REDIRECTED_XCOMPOSITE_WINDOW ........ ON
&gt; 
&gt; I&apos;m not sure this is worth showing. This is necessary for proper rendering
&gt; in a GTK+ widget tree. This might be an issue on very poor hardware, but
&gt; distributions shouldn&apos;t be touching it.

This is probably a perfect example of an option that could be hidden, but still useful to be used by users. The problems I&apos;m having with this in embedded are not poor performance, but a huge memory leak that killed the xserver after just a few minutes after running the MiniBrowser. In some other embedded systems, the problem was that xcomposite and/or xdamage extensions are not supported by the xserver. If you are not using GtkOverlay, bypassing the xcomposite window, makes everything more efficient.

&gt; 
&gt; &gt; I wonder if we can make even more private. E.g. can we make
&gt; &gt; USE_REDIRECTED_XCOMPOSITE_WINDOW private and enable it only if both
&gt; &gt; ENABLE_ACCELERATED_2D_CANVAS and ENABLE_X11_TARGET are set? Or does that
&gt; &gt; need to be optional? What about ENABLE_3D_RENDERING?
&gt; 
&gt; The proper combination for redirected XComposite window is X11 and
&gt; accelerated-compositing. Accelerated canvas shouldn&apos;t affect it one way or
&gt; the other.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084218</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-09 23:55:39 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; My current set of public options (with defaults)

In a developer build using build-webkit, right? Note that this is not what distros and users using the tarballs find.

&gt; --  ENABLE_API_TESTS ........................ ON

I don&apos;t think api tests work for non developer builds, because some private symbols used by the tests are not exported in production builds. So this option should be hidden and enabled unconditionally for developer builds.

&gt; --  USE_SYSTEM_MALLOC                         OFF

I think this should be hidden too, this is enabled by default in debug builds.

&gt; --  USE_GSTREAMER_MPEGTS                      ON

This should be hidden as well, and enabled when video is ON and the required deps are found.

I would also expose some other options that are useful when building webkitgtk for a specific target device and environment. Things like ENABLE_ICONDATABASE or ENABLE_DRAG_SUPPORT. But maybe those are also examples of things that could be hidden, but still available.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084301</commentid>
    <comment_count>10</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-10 07:31:01 -0700</bug_when>
    <thetext>Loooooong comment:

(In reply to comment #5)
&gt; &gt; --  ENABLE_SPELLCHECK ....................... ON
&gt; 
&gt; This was added to avoid an enchant dependency. It might be worth making this
&gt; private as well.

Then Enchant would be a required dependency. :) Currently it is optional.

&gt; &gt; --  ENABLE_SUBTLE_CRYPTO .................... ON
&gt; 
&gt; Is this feature complete? If not, perhaps it should default to off.

I don&apos;t know, but it is already enabled by default (if gnutls-devel is installed) so this isn&apos;t a change. But I checked Fedora and openSUSE and neither installs gnutls-devel before building, so this will force them to either do so or explicitly disable the option. (Regarding downstream: Red Hat legal has to approve this before I can turn it on, I think, since it&apos;s crypto.)

&gt; &gt; --  ENABLE_VIDEO ............................ ON
&gt; 
&gt; I&apos;m okay with making this mandatory.
&gt; 
&gt; &gt; --  ENABLE_WEB_AUDIO                          ON
&gt; 
&gt; This can probably be on by default unless it isn&apos;t ready. It&apos;s configurable
&gt; at run time as well.

These are optional to avoid making GStreamer a required dependency. (Which I am perfectly fine with adding, but you like to avoid that usually. :)

&gt; &gt; --  ENABLE_WEBGL                              ON
&gt; 
&gt; This should always be on if we have OpenGL. I&apos;m not sure it&apos;s worth making
&gt; it configurable.

Well half the point of this is to make clear what options are available, so that features are never disabled based on what is currently installed. If we don&apos;t want it to be configurable, then OpenGL should be mandatory; are we OK with doing that?

&gt; &gt; --  ENABLE_CREDENTIAL_STORAGE                 ON
&gt; 
&gt; Only an option because we added the dependency after the last major release,
&gt; I think. I can&apos;t recall exactly though.
&gt; 
&gt; &gt; --  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON
&gt; 
&gt; Same here.

Are we OK with making enchant, libsecret, and libnotify mandatory? Every Linux distro will be fine with this; it could only possibly be an issue for embedded.

&gt; &gt; --  ENABLE_X11_TARGET                         ON
&gt; &gt; --  ENABLE_WAYLAND_TARGET ................... OFF
&gt; 
&gt; I really don&apos;t know why we have this option. If X11 or Wayland are available
&gt; we should probably support them. One thing I&apos;m not certain about is whether
&gt; or not these can be enabled at the same time.

Again, I&apos;d prefer the option to be either (a) private and always enabled or disabled regardless of whether X11 or Wayland is available, or (b) public.

&gt; The proper combination for redirected XComposite window is X11 and
&gt; accelerated-compositing. Accelerated canvas shouldn&apos;t affect it one way or
&gt; the other.

TBH I thought accelerated canvas was the same as accelerated compositing. :p

(In reply to comment #6)
&gt; For now, we cannot support X11 and WAYLAND at sametime.
&gt; Until we can make it as a run-time option, I think we should expose them.

But note that with ENABLE_WAYLAND_TARGET turned OFF, the browser still works peachy fine in Wayland.

&gt; I think GTKDOC is OFF by default on non developer builds, enabled on
&gt; developer builds. I wouldn&apos;t change that. Note also that this bug is about
&gt; hiding private options, not changing the defaults.

It&apos;s OFF by default for everyone. I agree not to change that in this bug, since there is so much else to discuss here already.

&gt; Where is this ENABLE_LIBNOTIFY_NOTIFICATIONS come from? LIBNOTIFY is not a
&gt; feature you can enable/disable, it&apos;s an optional dependency to provide a
&gt; default implementation of a feature that is always enabled.

Yes, I understand. I think USE_LIBNOTIFY would be a bit less confusing; do you agree? libnotify should either be listed in the options or else made mandatory; otherwise, users won&apos;t get their notifications in Epiphany.

(In reply to comment #8)
&gt; Agree. We could add an option to disable opengl in general, that would also
&gt; disable this, but that would be a different option (some people using
&gt; webkitgtk on headless envs asked for it, because having opengl with mesa
&gt; makes everything unnecessarily slow for them).

OK, so let&apos;s replace all of the OpenGL-related options with simply ENABLE_OPENGL.
 
&gt; &gt; &gt; --  ENABLE_SUBTLE_CRYPTO .................... ON
&gt; &gt; 
&gt; &gt; Is this feature complete? If not, perhaps it should default to off.
&gt; 
&gt; Maybe this is ON only when using build-webkit. Note that build-webkit
&gt; overrides some of the features.

It&apos;s ON when gnutls-devel is installed. Indeed, build-webkit actually overrides most of the features. :) I do not consider what build-webkit does at all in this bug, only what happens when you run cmake directly! (Since build-webkit is for developers only.)

(In reply to comment #9)
&gt; (In reply to comment #1)
&gt; &gt; My current set of public options (with defaults)
&gt; 
&gt; In a developer build using build-webkit, right? Note that this is not what
&gt; distros and users using the tarballs find.

I had a script that manually passed -DDEVELOPER_MODE=ON -DENABLE_GTKDOC=ON, so yes. I should have been more clear about that; sorry.

&gt; &gt; --  ENABLE_API_TESTS ........................ ON
&gt; 
&gt; I don&apos;t think api tests work for non developer builds, because some private
&gt; symbols used by the tests are not exported in production builds. So this
&gt; option should be hidden and enabled unconditionally for developer builds.

OK, I agree. Let&apos;s expose DEVELOPER_MODE (default=OFF) instead.

&gt; &gt; --  USE_SYSTEM_MALLOC                         OFF
&gt; 
&gt; I think this should be hidden too, this is enabled by default in debug
&gt; builds.

In the Fedora spec I see this:

%ifarch s390 s390x %{arm} ppc %{power64}
# Turn off bmalloc on secondary arches (as it is not ready for them)
%global optflags %{optflags} -DUSE_BMALLOC=0
%endif

Hence I think we need this.

&gt; &gt; --  USE_GSTREAMER_MPEGTS                      ON
&gt; 
&gt; This should be hidden as well, and enabled when video is ON and the required
&gt; deps are found.

Eh, but again, I don&apos;t want to silently turn off support. E.g. in Fedora we have gstreamer1-plugins-base-devel in the buildroot, but that&apos;s not sufficient to get MPEG-TS, which needs gstreamer1-plugins-bad-free-devel. The presence of that weird devel package should not dictate whether users get the feature or not; there should be active choice required to turn it off.

&gt; I would also expose some other options that are useful when building
&gt; webkitgtk for a specific target device and environment. Things like
&gt; ENABLE_ICONDATABASE or ENABLE_DRAG_SUPPORT. But maybe those are also
&gt; examples of things that could be hidden, but still available.

OK, I&apos;m fine with exposing those. You&apos;re thinking that embedded users will know for sure they don&apos;t want those features, right?

Summary of proposed changes:

* Remove ENABLE_NETWORK_PROCESS
* Replace ENABLE_3D_RENDERING, ENABLE_ACCELERATED_2D_CANVAS, and ENABLE_WEBGL with ENABLE_OPENGL
* Replace ENABLE_API_TESTS with DEVELOPER_MODE
* Replace ENABLE_LIBNOTIFY_NOTIFICATIONS with USE_LIBNOTIFY
* Add ENABLE_ICONDATABASE, ENABLE_DRAG_SUPPORT
* Keep USE_REDIRECTED_XCOMPOSITE_WINDOW since it can cause problems?
* Keep the rest, pending further discussion :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084313</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-10 08:46:11 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Loooooong comment:
&gt; 
&gt; (In reply to comment #5)
&gt; &gt; &gt; --  ENABLE_SPELLCHECK ....................... ON
&gt; &gt; 
&gt; &gt; This was added to avoid an enchant dependency. It might be worth making this
&gt; &gt; private as well.
&gt; 
&gt; Then Enchant would be a required dependency. :) Currently it is optional.
&gt; 
&gt; &gt; &gt; --  ENABLE_SUBTLE_CRYPTO .................... ON
&gt; &gt; 
&gt; &gt; Is this feature complete? If not, perhaps it should default to off.
&gt; 
&gt; I don&apos;t know, but it is already enabled by default (if gnutls-devel is
&gt; installed) so this isn&apos;t a change. But I checked Fedora and openSUSE and
&gt; neither installs gnutls-devel before building, so this will force them to
&gt; either do so or explicitly disable the option. (Regarding downstream: Red
&gt; Hat legal has to approve this before I can turn it on, I think, since it&apos;s
&gt; crypto.)
&gt; 
&gt; &gt; &gt; --  ENABLE_VIDEO ............................ ON
&gt; &gt; 
&gt; &gt; I&apos;m okay with making this mandatory.
&gt; &gt; 
&gt; &gt; &gt; --  ENABLE_WEB_AUDIO                          ON
&gt; &gt; 
&gt; &gt; This can probably be on by default unless it isn&apos;t ready. It&apos;s configurable
&gt; &gt; at run time as well.
&gt; 
&gt; These are optional to avoid making GStreamer a required dependency. (Which I
&gt; am perfectly fine with adding, but you like to avoid that usually. :)
&gt; 
&gt; &gt; &gt; --  ENABLE_WEBGL                              ON
&gt; &gt; 
&gt; &gt; This should always be on if we have OpenGL. I&apos;m not sure it&apos;s worth making
&gt; &gt; it configurable.
&gt; 
&gt; Well half the point of this is to make clear what options are available, so
&gt; that features are never disabled based on what is currently installed. If we
&gt; don&apos;t want it to be configurable, then OpenGL should be mandatory; are we OK
&gt; with doing that?

No.

&gt; &gt; &gt; --  ENABLE_CREDENTIAL_STORAGE                 ON
&gt; &gt; 
&gt; &gt; Only an option because we added the dependency after the last major release,
&gt; &gt; I think. I can&apos;t recall exactly though.
&gt; &gt; 
&gt; &gt; &gt; --  ENABLE_LIBNOTIFY_NOTIFICATIONS            ON
&gt; &gt; 
&gt; &gt; Same here.
&gt; 
&gt; Are we OK with making enchant, libsecret, and libnotify mandatory?

No.

&gt; Every
&gt; Linux distro will be fine with this; it could only possibly be an issue for
&gt; embedded.

Embedded is enough reason to me.

&gt; &gt; &gt; --  ENABLE_X11_TARGET                         ON
&gt; &gt; &gt; --  ENABLE_WAYLAND_TARGET ................... OFF
&gt; &gt; 
&gt; &gt; I really don&apos;t know why we have this option. If X11 or Wayland are available
&gt; &gt; we should probably support them. One thing I&apos;m not certain about is whether
&gt; &gt; or not these can be enabled at the same time.
&gt; 
&gt; Again, I&apos;d prefer the option to be either (a) private and always enabled or
&gt; disabled regardless of whether X11 or Wayland is available, or (b) public.
&gt; 
&gt; &gt; The proper combination for redirected XComposite window is X11 and
&gt; &gt; accelerated-compositing. Accelerated canvas shouldn&apos;t affect it one way or
&gt; &gt; the other.
&gt; 
&gt; TBH I thought accelerated canvas was the same as accelerated compositing. :p

It&apos;s not.

&gt; (In reply to comment #6)
&gt; &gt; For now, we cannot support X11 and WAYLAND at sametime.
&gt; &gt; Until we can make it as a run-time option, I think we should expose them.
&gt; 
&gt; But note that with ENABLE_WAYLAND_TARGET turned OFF, the browser still works
&gt; peachy fine in Wayland.
&gt; 
&gt; &gt; I think GTKDOC is OFF by default on non developer builds, enabled on
&gt; &gt; developer builds. I wouldn&apos;t change that. Note also that this bug is about
&gt; &gt; hiding private options, not changing the defaults.
&gt; 
&gt; It&apos;s OFF by default for everyone. I agree not to change that in this bug,
&gt; since there is so much else to discuss here already.

GTKDOC is enabled by build-webkit, but the html generation is disabled because it&apos;s the slow part.

&gt; &gt; Where is this ENABLE_LIBNOTIFY_NOTIFICATIONS come from? LIBNOTIFY is not a
&gt; &gt; feature you can enable/disable, it&apos;s an optional dependency to provide a
&gt; &gt; default implementation of a feature that is always enabled.
&gt; 
&gt; Yes, I understand. I think USE_LIBNOTIFY would be a bit less confusing; do
&gt; you agree? libnotify should either be listed in the options or else made
&gt; mandatory; otherwise, users won&apos;t get their notifications in Epiphany.

Epiphany already depends on libnotify. Libnotify is not a feature, but an optional dependcy, the feature is NOTIFICATIONS and is always enabled (and should be hidden). Libnotify is always used when found in configure.

&gt; (In reply to comment #8)
&gt; &gt; Agree. We could add an option to disable opengl in general, that would also
&gt; &gt; disable this, but that would be a different option (some people using
&gt; &gt; webkitgtk on headless envs asked for it, because having opengl with mesa
&gt; &gt; makes everything unnecessarily slow for them).
&gt; 
&gt; OK, so let&apos;s replace all of the OpenGL-related options with simply
&gt; ENABLE_OPENGL.

That would work, yes. But still, this bug is about hidding existing options.
 
&gt; &gt; &gt; &gt; --  ENABLE_SUBTLE_CRYPTO .................... ON
&gt; &gt; &gt; 
&gt; &gt; &gt; Is this feature complete? If not, perhaps it should default to off.
&gt; &gt; 
&gt; &gt; Maybe this is ON only when using build-webkit. Note that build-webkit
&gt; &gt; overrides some of the features.
&gt; 
&gt; It&apos;s ON when gnutls-devel is installed. Indeed, build-webkit actually
&gt; overrides most of the features. :) I do not consider what build-webkit does
&gt; at all in this bug, only what happens when you run cmake directly! (Since
&gt; build-webkit is for developers only.)

Exactly, that was my point.

&gt; (In reply to comment #9)
&gt; &gt; (In reply to comment #1)
&gt; &gt; &gt; My current set of public options (with defaults)
&gt; &gt; 
&gt; &gt; In a developer build using build-webkit, right? Note that this is not what
&gt; &gt; distros and users using the tarballs find.
&gt; 
&gt; I had a script that manually passed -DDEVELOPER_MODE=ON -DENABLE_GTKDOC=ON,
&gt; so yes. I should have been more clear about that; sorry.

Ok.

&gt; &gt; &gt; --  ENABLE_API_TESTS ........................ ON
&gt; &gt; 
&gt; &gt; I don&apos;t think api tests work for non developer builds, because some private
&gt; &gt; symbols used by the tests are not exported in production builds. So this
&gt; &gt; option should be hidden and enabled unconditionally for developer builds.
&gt; 
&gt; OK, I agree. Let&apos;s expose DEVELOPER_MODE (default=OFF) instead.

Yes.

&gt; &gt; &gt; --  USE_SYSTEM_MALLOC                         OFF
&gt; &gt; 
&gt; &gt; I think this should be hidden too, this is enabled by default in debug
&gt; &gt; builds.
&gt; 
&gt; In the Fedora spec I see this:
&gt; 
&gt; %ifarch s390 s390x %{arm} ppc %{power64}
&gt; # Turn off bmalloc on secondary arches (as it is not ready for them)
&gt; %global optflags %{optflags} -DUSE_BMALLOC=0
&gt; %endif
&gt; 
&gt; Hence I think we need this.

Good point.

&gt; &gt; &gt; --  USE_GSTREAMER_MPEGTS                      ON
&gt; &gt; 
&gt; &gt; This should be hidden as well, and enabled when video is ON and the required
&gt; &gt; deps are found.
&gt; 
&gt; Eh, but again, I don&apos;t want to silently turn off support. E.g. in Fedora we
&gt; have gstreamer1-plugins-base-devel in the buildroot, but that&apos;s not
&gt; sufficient to get MPEG-TS, which needs gstreamer1-plugins-bad-free-devel.
&gt; The presence of that weird devel package should not dictate whether users
&gt; get the feature or not; there should be active choice required to turn it
&gt; off.

We can show warnings when a dep is not found and it hasn&apos;t been explicitly disabled. Distros not building with the right options is not a reason to make dependencies mandatory.

&gt; &gt; I would also expose some other options that are useful when building
&gt; &gt; webkitgtk for a specific target device and environment. Things like
&gt; &gt; ENABLE_ICONDATABASE or ENABLE_DRAG_SUPPORT. But maybe those are also
&gt; &gt; examples of things that could be hidden, but still available.
&gt; 
&gt; OK, I&apos;m fine with exposing those. You&apos;re thinking that embedded users will
&gt; know for sure they don&apos;t want those features, right?

Yes, the same way distros should, btw.

&gt; Summary of proposed changes:
&gt; 
&gt; * Remove ENABLE_NETWORK_PROCESS
&gt; * Replace ENABLE_3D_RENDERING, ENABLE_ACCELERATED_2D_CANVAS, and
&gt; ENABLE_WEBGL with ENABLE_OPENGL
&gt; * Replace ENABLE_API_TESTS with DEVELOPER_MODE
&gt; * Replace ENABLE_LIBNOTIFY_NOTIFICATIONS with USE_LIBNOTIFY
&gt; * Add ENABLE_ICONDATABASE, ENABLE_DRAG_SUPPORT
&gt; * Keep USE_REDIRECTED_XCOMPOSITE_WINDOW since it can cause problems?
&gt; * Keep the rest, pending further discussion :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084360</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-10 12:06:28 -0700</bug_when>
    <thetext>Carlos, I think we&apos;re on the same page for all of these, with maybe one exception:

(In reply to comment #11)
&gt; We can show warnings when a dep is not found and it hasn&apos;t been explicitly
&gt; disabled. Distros not building with the right options is not a reason to
&gt; make dependencies mandatory.

I think it should not be mandatory, but an option. How about I make it so that it&apos;s turned off automatically when either ENABLE_VIDEO or ENABLE_AUDIO is off? But if building with both VIDEO and AUDIO support, then I think we should fail the build unless it&apos;s explicitly disabled. I don&apos;t think we should show a warning without failing the build, because that would be hard to notice. That&apos;s how we wound up with this feature disabled in every distro (I checked Fedora, openSUSE, and Debian).

I will ping Phillipe to see if maybe he wants it disabled by default, but I suspect that&apos;s not his intention.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084417</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-10 17:09:46 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; I think it should not be mandatory, but an option. How about I make it so
&gt; that it&apos;s turned off automatically when either ENABLE_VIDEO or ENABLE_AUDIO
&gt; is off? But if building with both VIDEO and AUDIO support

But I guess we only use it for video?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084507</commentid>
    <comment_count>14</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-04-11 07:06:52 -0700</bug_when>
    <thetext>The gstreamer-mpegts support we have currently should be considered experimental, it also depends on unstable gst API (from gat-plugins-bad) and shouldn&apos;t be enabled in production builds IMHO.

For developer builds I think it&apos;s still fine to keep it as it is, e.g., if the API is available let&apos;s use it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084526</commentid>
    <comment_count>15</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 09:56:22 -0700</bug_when>
    <thetext>OK I will change that then. And I forgot about GStreamer GL, what about that: should it be on or off by default?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084546</commentid>
    <comment_count>16</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-11 11:53:22 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; OK I will change that then. And I forgot about GStreamer GL, what about
&gt; that: should it be on or off by default?

I think there are some performance concerns, since it operates on another thread with a sharing context. I&apos;d definitely like to see some performance numbers before turning it on by default.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084547</commentid>
    <comment_count>17</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 12:08:12 -0700</bug_when>
    <thetext>It&apos;s already on &quot;by default,&quot; automagically based on whether gstreamer-gl is installed. I will make it off by default instead.

One more question: should it be a public option? I guess not, and will mark it advanced, unless someone tells me otherwise, since it is very new.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084554</commentid>
    <comment_count>18</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-11 12:35:43 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; It&apos;s already on &quot;by default,&quot; automagically based on whether gstreamer-gl is
&gt; installed. I will make it off by default instead.
&gt; 
&gt; One more question: should it be a public option? I guess not, and will mark
&gt; it advanced, unless someone tells me otherwise, since it is very new.

Yeah, I think all of the incomplete features should be hidden. They will be turned on and off mainly by build-webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084573</commentid>
    <comment_count>19</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-04-11 14:22:47 -0700</bug_when>
    <thetext>The gstreamer-gl case is similar to the gstreamer-mpegts case.

Unstable gst API, we shouldn&apos;t enable it in production build until it is mature enough. 

I don&apos;t think performance is going to a huge concern here, actually we will benefit from hw-decoding support and zero-copy rendering from glimagesink (and underneath hw decoders support) there. Not even mentioning the reduced maintenance cost, some day we&apos; ll be able to drop our internal video sink all together, when glimagesink is widely available in distros.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084576</commentid>
    <comment_count>20</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-11 14:40:09 -0700</bug_when>
    <thetext>(In reply to comment #19)
&gt; The gstreamer-gl case is similar to the gstreamer-mpegts case.
&gt; 
&gt; Unstable gst API, we shouldn&apos;t enable it in production build until it is
&gt; mature enough. 
&gt; 
&gt; I don&apos;t think performance is going to a huge concern here, actually we will
&gt; benefit from hw-decoding support and zero-copy rendering from glimagesink
&gt; (and underneath hw decoders support) there. Not even mentioning the reduced
&gt; maintenance cost, some day we&apos; ll be able to drop our internal video sink
&gt; all together, when glimagesink is widely available in distros.

The issue is that at least for some drivers, as soon as you let the sharing context cross a thread boundary, the driver starts protecting *all* GL operations using those sharing contexts with locks. I think that to defend against this, we can allow GL decoding, but we need to receive the surfaces from gstreamer as some hardware, but non-GL type. I&apos;ll try to find out more information about this, but I know this is one consideration that is driving the design of Servo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084590</commentid>
    <comment_count>21</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 18:57:59 -0700</bug_when>
    <thetext>OK, next iteration. Here are the exposed options:

-- Enabled features:
--  ENABLE_CREDENTIAL_STORAGE ............... ON
--  ENABLE_DRAG_SUPPORT                       ON
--  ENABLE_GEOLOCATION ...................... ON
--  ENABLE_GTKDOC ........................... ON
--  ENABLE_ICONDATABASE ..................... ON
--  ENABLE_INTROSPECTION .................... ON
--  ENABLE_JIT                                ON
--  ENABLE_LLINT_C_LOOP ..................... OFF
--  ENABLE_MEMORY_SAMPLER ................... ON
--  ENABLE_MINIBROWSER                        ON
--  ENABLE_PLUGIN_PROCESS_GTK2                ON
--  ENABLE_SPELLCHECK                         ON
--  ENABLE_SUBTLE_CRYPTO                      ON
--  ENABLE_VIDEO ............................ ON
--  ENABLE_WAYLAND_TARGET                     OFF
--  ENABLE_WEB_AUDIO ........................ ON
--  ENABLE_X11_TARGET ....................... ON
--  USE_DEBUG_FISSION                         ON
--  USE_LD_GOLD                               ON
--  USE_LIBNOTIFY                             ON
--  USE_OPENGL .............................. ON
--  USE_SYSTEM_MALLOC                         OFF

Notes:

* I moved ENABLE_GLES2 to be private, since it&apos;s new. Is it still experimental, or is it good enough to make public? CC Victor for advice (hi! Don&apos;t think we&apos;ve met!)
* Based on the comments from Yoon and Carlos, I can&apos;t decide whether or not to expose USE_REDIRECTED_XCOMPOSITE_WINDOW: think it would be fine to either way. I moved it to private and left a comment &quot;Should never be needed. Disable to workaround hardware support issues.&quot; Hope that&apos;s right.
* I needed to move things around quite a bit, to make the GTK-specific options into real WebKit options that get printed properly, rather than secret CMake variables. I&apos;ve tried to not break configurations but it&apos;s impossible to test properly due to the combinatorial nature of the problem and long build times.
* I did not expose DEVELOPER_MODE.
* This patch also solves bug #143546

TODO:

* Make the WEBKIT_DEPEND macro work when an option depends on multiple other options (should be done in another patch). This is a minor point.
* Expose USE_LD_GOLD and USE_DEBUG_FISSION (should be done in another patch). I doctored the list above to show my plan to make them public.
* Figure out how I broke the dots (they should print every other line).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084591</commentid>
    <comment_count>22</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 19:02:50 -0700</bug_when>
    <thetext>Made the same mistake twice: ENABLE_GTKDOC and ENABLE_MINIBROWSER both default to OFF, not ON (my script uses ENABLE_GTKDOC=ON and also DEVELOPER_MODE=ON, which turns ENABLE_MINIBROWSER on automatically, as mentioned above).

I wonder just a bit about whether subtle crypto should be enabled by default. (As mentioned above, it&apos;s currently enabled automatically if you have the GnuTLS development package installed.) Sergio is the person to ask, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084594</commentid>
    <comment_count>23</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-11 19:18:01 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Made the same mistake twice: ENABLE_GTKDOC and ENABLE_MINIBROWSER both
&gt; default to OFF, not ON (my script uses ENABLE_GTKDOC=ON and also
&gt; DEVELOPER_MODE=ON, which turns ENABLE_MINIBROWSER on automatically, as
&gt; mentioned above).
&gt; 
&gt; I wonder just a bit about whether subtle crypto should be enabled by
&gt; default. (As mentioned above, it&apos;s currently enabled automatically if you
&gt; have the GnuTLS development package installed.) Sergio is the person to ask,
&gt; right?

I think Eduardo Lima is the person behind the WebCrypto support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084601</commentid>
    <comment_count>24</comment_count>
      <attachid>250593</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 19:41:03 -0700</bug_when>
    <thetext>Created attachment 250593
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084602</commentid>
    <comment_count>25</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 19:48:39 -0700</bug_when>
    <thetext>Hola Eduardo! Is the subtle crypto feature still experimental, or is it OK to enable by default? Currently it&apos;s enabled automatically if you have the GnuTLS development package installed, but I want to change that to either ON (causing the build to fail if gnutls-devel is missing unless -DENABLE_SUBTLE_CRYPTO=OFF has been passed to cmake) or OFF (so you have to use -DENABLE_SUBTLE_CRYPTO=ON or you won&apos;t get it). In the patch above, I guessed it&apos;s ready and picked ON. Note: this doesn&apos;t affect developers who use the build-webkit script (which sets it to ON).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084606</commentid>
    <comment_count>26</comment_count>
      <attachid>250593</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-11 20:41:20 -0700</bug_when>
    <thetext>Comment on attachment 250593
Patch

Seems to have broken ENABLE_MEDIA_STREAM....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084618</commentid>
    <comment_count>27</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-04-12 00:51:36 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; Comment on attachment 250593 [details]
&gt; Patch
&gt; 
&gt; Seems to have broken ENABLE_MEDIA_STREAM....

Seems like mediatream is enabled but your patch disables openwebrtc support.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084619</commentid>
    <comment_count>28</comment_count>
      <attachid>250593</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-04-12 00:56:18 -0700</bug_when>
    <thetext>Comment on attachment 250593
Patch

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

&gt; Source/cmake/OptionsGTK.cmake:123
&gt; +# These options are private because they are experimental.
&gt; +WEBKIT_OPTION_DEFINE(ENABLE_GLES2 &quot;Whether to enable use of OpenGL ES 2.0.&quot; OFF)
&gt; +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS &quot;Whether to enable support for MPEG-TS.&quot; OFF)
&gt; +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL &quot;Whether to enable support for GStreamer GL.&quot; OFF)
&gt; +WEBKIT_OPTION_DEFINE(USE_OPENWEBRTC &quot;Whether to enable support for WebRTC.&quot; OFF)

This isn&apos;t right imho. For developer builds at least, if those libraries are present they should be used.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084620</commentid>
    <comment_count>29</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-12 00:59:00 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; OK, next iteration. Here are the exposed options:
&gt; 
&gt; -- Enabled features:
&gt; --  ENABLE_CREDENTIAL_STORAGE ............... ON
&gt; --  ENABLE_DRAG_SUPPORT                       ON
&gt; --  ENABLE_GEOLOCATION ...................... ON
&gt; --  ENABLE_GTKDOC ........................... ON
&gt; --  ENABLE_ICONDATABASE ..................... ON
&gt; --  ENABLE_INTROSPECTION .................... ON
&gt; --  ENABLE_JIT                                ON
&gt; --  ENABLE_LLINT_C_LOOP ..................... OFF
&gt; --  ENABLE_MEMORY_SAMPLER ................... ON
&gt; --  ENABLE_MINIBROWSER                        ON
&gt; --  ENABLE_PLUGIN_PROCESS_GTK2                ON
&gt; --  ENABLE_SPELLCHECK                         ON
&gt; --  ENABLE_SUBTLE_CRYPTO                      ON
&gt; --  ENABLE_VIDEO ............................ ON
&gt; --  ENABLE_WAYLAND_TARGET                     OFF
&gt; --  ENABLE_WEB_AUDIO ........................ ON
&gt; --  ENABLE_X11_TARGET ....................... ON
&gt; --  USE_DEBUG_FISSION                         ON
&gt; --  USE_LD_GOLD                               ON
&gt; --  USE_LIBNOTIFY                             ON
&gt; --  USE_OPENGL .............................. ON
&gt; --  USE_SYSTEM_MALLOC                         OFF
&gt; 
&gt; Notes:
&gt; 
&gt; * I moved ENABLE_GLES2 to be private, since it&apos;s new. Is it still
&gt; experimental, or is it good enough to make public? CC Victor for advice (hi!
&gt; Don&apos;t think we&apos;ve met!)

It&apos;s not new, nor experimental, it&apos;s a regression of the CMake switch and should be public.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084621</commentid>
    <comment_count>30</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-12 01:01:23 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; Comment on attachment 250593 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; Seems to have broken ENABLE_MEDIA_STREAM....
&gt; 
&gt; Seems like mediatream is enabled but your patch disables openwebrtc support.

As long as mediastream requires openwebrtc it should be disabled by default (but enable by build-webkit, ideally only when openwebrtc is found, I had to explicitly disable mediastream because I don&apos;t have openwebrtc)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084641</commentid>
    <comment_count>31</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-12 07:55:07 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; Seems like mediatream is enabled but your patch disables openwebrtc support.

ENABLE_MEDIA_STREAM and USE_OPENWEBRTC are both disabled by default, but build-webkit (used by the bots) sets ENABLE_MEDIA_STREAM=ON for developer builds. It doesn&apos;t set USE_OPENWEBRTC because I didn&apos;t modify the settings used by build-webkit, presuming those to have already been correct, and because USE_OPENWEBRTC was not an option until this patch (it was just enabled or disabled depending on whether the development package was present) so build-webkit could not have set it. So the change on the bots is indeed that USE_OPENWEBRTC is now off.

Is USE_OPENWEBRTC intended to be required by ENABLE_MEDIA_STREAM? If so, I will remove the USE_OPENWEBRTC option that I added in this patch and error out if it&apos;s not found and ENABLE_MEDIA_STREAM=ON. If that&apos;s a bug and it&apos;s supposed to be optional, let&apos;s fix it in a different bug, then add USE_OPENWEBRTC to the cross-platform build options so that it can be set by the build-webkit script if it should continue to be enabled on the bots. My assumption was that USE_OPENWEBRTC only makes sense in combination with ENABLE_MEDIA_STREAM, but that ENABLE_MEDIA_STREAM can be used without USE_OPENWEBRTC.

(In reply to comment #28)
&gt; This isn&apos;t right imho. For developer builds at least, if those libraries are
&gt; present they should be used.

Those are the values for people using CMake directly. I think developers doing that should enable the options explicitly if wanted. Default settings for developers using build-webkit (including the bots) are in Tools/Scripts/webkitperl/FeatureList.pm. If we want any of those settings enabled for developers using CMake directly, we can make them conditional on DEVELOPER_MODE. The big advantage of doing that would be that you get the same settings using CMake directly as you do with build-webkit, since that was quite confusing when I was newer (I actually did not even notice FeatureList.pm for several months until Zan pointed it out to me). That is quite a big advantage TBH. But I&apos;m opposed to doing that right now because then FeatureList.pm has no purpose and would just make everything even more confusing than it already is (now you have to specify your developer settings in two different places!), so if we do that we should delete FeatureList.pm (in coordination with Apple folks) to avoid that horrible mess. I think as the Apple CMake work matures, that will become a viable option. And we can improve our WEBKIT_SETTING macro to allow specifying different defaults for users and developers in the same place.

I left this comment above the point in the code where I set ENABLE_MINIBROWSER and ENABLE_API_TESTS conditional on the value of DEVELOPER_MODE:

# Think hard before addding more options here. Developers using CMake directly
# instead of build-webkit should get mostly the same build options as users.
# Instead, modify Tools/Scripts/webkitperl/FeatureList.pm to override default
# values for developers, e.g. to enable experimental features.

(In reply to comment #29)
&gt; It&apos;s not new, nor experimental, it&apos;s a regression of the CMake switch and
&gt; should be public.

OK, ENABLE_GLES2 should be public then.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084649</commentid>
    <comment_count>32</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-04-12 09:39:47 -0700</bug_when>
    <thetext>(In reply to comment #31)
 
&gt; Those are the values for people using CMake directly. I think developers
&gt; doing that should enable the options explicitly if wanted. Default settings
&gt; for developers using build-webkit (including the bots) are in
&gt; Tools/Scripts/webkitperl/FeatureList.pm. If we want any of those settings
&gt; enabled for developers using CMake directly, we can make them conditional on
&gt; DEVELOPER_MODE. The big advantage of doing that would be that you get the
&gt; same settings using CMake directly as you do with build-webkit, since that
&gt; was quite confusing when I was newer (I actually did not even notice
&gt; FeatureList.pm for several months until Zan pointed it out to me). That is
&gt; quite a big advantage TBH. But I&apos;m opposed to doing that right now because
&gt; then FeatureList.pm has no purpose and would just make everything even more
&gt; confusing than it already is (now you have to specify your developer
&gt; settings in two different places!), so if we do that we should delete
&gt; FeatureList.pm (in coordination with Apple folks) to avoid that horrible
&gt; mess. I think as the Apple CMake work matures, that will become a viable
&gt; option. And we can improve our WEBKIT_SETTING macro to allow specifying
&gt; different defaults for users and developers in the same place.

The point of FeatureList.pm and the reason we cannot delete it, is that it sets the same options no matter what port or build system you are using. It knows how to tweak the XCode build, for instance. The only way we make these same settings conditional on DEVELOPER MODE is to duplicate the settings in the CMake build. I&apos;m a little bit wary of that simply because I think they will get out of sync. Building a developer build without build-webkit is already &quot;you are on your own&quot; territory anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084738</commentid>
    <comment_count>33</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-12 23:22:51 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; (In reply to comment #27)
&gt; &gt; Seems like mediatream is enabled but your patch disables openwebrtc support.
&gt; 
&gt; ENABLE_MEDIA_STREAM and USE_OPENWEBRTC are both disabled by default, but
&gt; build-webkit (used by the bots) sets ENABLE_MEDIA_STREAM=ON for developer
&gt; builds. It doesn&apos;t set USE_OPENWEBRTC because I didn&apos;t modify the settings
&gt; used by build-webkit, presuming those to have already been correct, and
&gt; because USE_OPENWEBRTC was not an option until this patch (it was just
&gt; enabled or disabled depending on whether the development package was
&gt; present) so build-webkit could not have set it. So the change on the bots is
&gt; indeed that USE_OPENWEBRTC is now off.
&gt; 
&gt; Is USE_OPENWEBRTC intended to be required by ENABLE_MEDIA_STREAM?

I&apos;m afraid so.

&gt; If so, I
&gt; will remove the USE_OPENWEBRTC option that I added in this patch and error
&gt; out if it&apos;s not found and ENABLE_MEDIA_STREAM=ON. If that&apos;s a bug and it&apos;s
&gt; supposed to be optional, let&apos;s fix it in a different bug, then add
&gt; USE_OPENWEBRTC to the cross-platform build options so that it can be set by
&gt; the build-webkit script if it should continue to be enabled on the bots. My
&gt; assumption was that USE_OPENWEBRTC only makes sense in combination with
&gt; ENABLE_MEDIA_STREAM, but that ENABLE_MEDIA_STREAM can be used without
&gt; USE_OPENWEBRTC.

That used to be the case, but not anymore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084752</commentid>
    <comment_count>34</comment_count>
    <who name="Víctor M. Jáquez L.">vjaquez</who>
    <bug_when>2015-04-13 01:41:16 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #21)
&gt; &gt; 
&gt; &gt; * I moved ENABLE_GLES2 to be private, since it&apos;s new. Is it still
&gt; &gt; experimental, or is it good enough to make public? CC Victor for advice (hi!
&gt; &gt; Don&apos;t think we&apos;ve met!)
&gt; 
&gt; It&apos;s not new, nor experimental, it&apos;s a regression of the CMake switch and
&gt; should be public.

Hi Michael! What Carlos says :3</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084780</commentid>
    <comment_count>35</comment_count>
      <attachid>250635</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-13 06:44:05 -0700</bug_when>
    <thetext>Created attachment 250635
[GTK] Mark as advanced the build options we don&apos;t want to expose</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084793</commentid>
    <comment_count>36</comment_count>
      <attachid>250635</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2015-04-13 07:18:28 -0700</bug_when>
    <thetext>Comment on attachment 250635
[GTK] Mark as advanced the build options we don&apos;t want to expose

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

&gt; Source/cmake/OptionsGTK.cmake:130
&gt; +WEBKIT_OPTION_DEPEND(USE_GSTREAMER_GL USE_OPENGL)

GSTREAMER_GL isn&apos;t limited to OpenGL, it can also work with GLES2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084800</commentid>
    <comment_count>37</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-13 07:58:59 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; GSTREAMER_GL isn&apos;t limited to OpenGL, it can also work with GLES2.

I think I have that right, but it is quite confusing... USE_GLES2 depends on USE_OPENGL because GLES is-a OpenGL, and USE_OPENGL toggles off all the other related options. USE_OPENGL without USE_GLES2 uses find_package(OpenGL) but with USE_GLES2 uses find_package(OpenGLES2). It should be the same as before.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084824</commentid>
    <comment_count>38</comment_count>
      <attachid>250635</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-13 09:24:26 -0700</bug_when>
    <thetext>Comment on attachment 250635
[GTK] Mark as advanced the build options we don&apos;t want to expose

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

&gt; Source/cmake/OptionsGTK.cmake:65
&gt; +find_package(X11)

Why do we find for X11 even if ENABLE_X11_TARGET is OFF?

&gt; Source/cmake/OptionsGTK.cmake:76
&gt; +# These features are public beacuse they aren&apos;t needed in embedded systems.

This is not true, they might not be needed in desktops envs too, I know desktop apps in kiosk mode disabling DRAG_SUPPORT, for example, or the opposite, apps in embedded systems using drag support. Note that text selections depend on drag support enabled.

&gt; Source/cmake/OptionsGTK.cmake:80
&gt; +# These features are public because they may be needed to build on non-x86.

This isn&apos;t accurate either, you might want to use system malloc to debug using valgrind, for example.

&gt; Source/cmake/OptionsGTK.cmake:94
&gt; +WEBKIT_OPTION_DEFINE_PUBLIC(USE_OPENGL &quot;Whether to use OpenGL for hardware acceleration and WebGL&quot; ON)

I think this new option should be added in a separate patch, because this one is about hiding existing options, not about adding new ones. But still, I think this should be ENABLE_OPENGL, USE_OPENGL is confusing because we have USE(OPENGL) in the code to refer to use OpenGL and not OpenGL ES2, and what we want here is an option to disable all features depending on OpenGL (WebGL, Accelerated compositing, etc.).

&gt; Source/cmake/OptionsGTK.cmake:122
&gt; +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_MPEGTS &quot;Whether to enable support for MPEG-TS.&quot; OFF)
&gt; +WEBKIT_OPTION_DEFINE(USE_GSTREAMER_GL &quot;Whether to enable support for GStreamer GL.&quot; OFF)

I&apos;m not sure whether ENABLE would be better than USE here as well, or maybe the description could be changed instead.

&gt;&gt; Source/cmake/OptionsGTK.cmake:130
&gt;&gt; +WEBKIT_OPTION_DEPEND(USE_GSTREAMER_GL USE_OPENGL)
&gt; 
&gt; GSTREAMER_GL isn&apos;t limited to OpenGL, it can also work with GLES2.

USE_OPENGL != WTF_USE_OPENGL, I said this was confusing :-)

&gt; Source/cmake/OptionsGTK.cmake:223
&gt; +if (USE_LIBNOTIFY)
&gt; +    if (LIBNOTIFY_FOUND)

Why don&apos;t we find for libnotify here?

&gt; Source/cmake/OptionsGTK.cmake:230
&gt; +else ()
&gt; +    add_definitions(-DWTF_USE_LIBNOTIFY=0)
&gt; +endif ()

I know this was in current code, but I would just remove it.

&gt; Source/cmake/OptionsGTK.cmake:248
&gt; +if (ENABLE_GLES2)
&gt; +    find_package(OpenGLES2 REQUIRED)
&gt; +    if (NOT EGL_FOUND)
&gt; +        message(FATAL_ERROR &quot;EGL is needed for OpenGL ES 2.0.&quot;)
&gt; +    endif ()
&gt; +else ()
&gt; +    find_package(OpenGL)
&gt; +endif ()

Shouldn&apos;t this be done only is OPENGL id enabled

&gt; Source/cmake/OptionsGTK.cmake:251
&gt; +if (ENABLE_X11_TARGET)
&gt; +    if (NOT X11_FOUND)

why don&apos;t we find for x11 here?

&gt; Source/cmake/OptionsGTK.cmake:284
&gt; +if (USE_OPENGL)
&gt; +    if ((NOT OPENGL_FOUND AND NOT OPENGLES2_FOUND) OR (NOT GLX_FOUND AND NOT EGL_FOUND))

Why don&apos;t we find the required packages here?

&gt; Source/cmake/OptionsGTK.cmake:374
&gt;  if (ENABLE_GEOLOCATION)
&gt; +    if (NOT GEOCLUE2_FOUND)

why don&apos;t we find geoclue2 here too?

&gt; Source/cmake/OptionsGTK.cmake:-363
&gt; -    add_definitions(-DENABLE_3D_RENDERING=1)

Why removing this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084826</commentid>
    <comment_count>39</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-13 09:26:42 -0700</bug_when>
    <thetext>(In reply to comment #37)
&gt; (In reply to comment #36)
&gt; &gt; GSTREAMER_GL isn&apos;t limited to OpenGL, it can also work with GLES2.
&gt; 
&gt; I think I have that right, but it is quite confusing... USE_GLES2 depends on
&gt; USE_OPENGL because GLES is-a OpenGL, and USE_OPENGL toggles off all the
&gt; other related options. USE_OPENGL without USE_GLES2 uses
&gt; find_package(OpenGL) but with USE_GLES2 uses find_package(OpenGLES2). It
&gt; should be the same as before.

It&apos;s not the same because we don&apos;t have any USE_OPENGL cmake option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084883</commentid>
    <comment_count>40</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-13 11:06:34 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; Why do we find for X11 even if ENABLE_X11_TARGET is OFF?

Since we no longer use REQUIRED, it doesn&apos;t have to be in the conditional anymore. I guess I moved it to have as many of the find_package calls at the start of the file as possible. I don&apos;t have any preference where we put it, but since you do, I&apos;ll move it.

&gt; This is not true, they might not be needed in desktops envs too, I know
&gt; desktop apps in kiosk mode disabling DRAG_SUPPORT, for example, or the
&gt; opposite, apps in embedded systems using drag support. Note that text
&gt; selections depend on drag support enabled.

Yeah that was an oversimplification; I&apos;ll fix the comment.
 
&gt; This isn&apos;t accurate either, you might want to use system malloc to debug
&gt; using valgrind, for example.

OK, I&apos;ll change that comment too.
 
&gt; I think this new option should be added in a separate patch, because this
&gt; one is about hiding existing options, not about adding new ones. But still,
&gt; I think this should be ENABLE_OPENGL, USE_OPENGL is confusing because we
&gt; have USE(OPENGL) in the code to refer to use OpenGL and not OpenGL ES2, and
&gt; what we want here is an option to disable all features depending on OpenGL
&gt; (WebGL, Accelerated compositing, etc.).

OK, ENABLE_OPENGL it is. TBH it would be easier for me to do this all in the same patch, but if you really want it separately I will split it out. Please let me know. :)

&gt; I&apos;m not sure whether ENABLE would be better than USE here as well, or maybe
&gt; the description could be changed instead.

I don&apos;t care either way. ENABLE_MPEGTS would work fine. I don&apos;t know what to name the ENABLE_ variant of USE_GSTREAMER_GL though.

&gt; USE_OPENGL != WTF_USE_OPENGL, I said this was confusing :-)

OK, USE_OPENGL -&gt; ENABLE_OPENGL. Still confusing, but less confusing.
 
&gt; Why don&apos;t we find for libnotify here?

I&apos;ll move the check.

&gt; I know this was in current code, but I would just remove it.

Yup, that doesn&apos;t belong.
 
&gt; Shouldn&apos;t this be done only is OPENGL id enabled

ENABLE_GLES2 will be forced off if USE/ENABLE_OPENGL is off, by WEBKIT_OPTION_DEPENDS. I rely on that elsewhere as well, to simplify things a bit.

&gt; why don&apos;t we find for x11 here?
&gt; Why don&apos;t we find the required packages here?
&gt; why don&apos;t we find geoclue2 here too?

I will move the checks.

&gt; Why removing this?

It&apos;s a cross-platform option, so it&apos;s already in config.h.

(In reply to comment #39)
&gt; (In reply to comment #37)
&gt; &gt; (In reply to comment #36)
&gt; &gt; &gt; GSTREAMER_GL isn&apos;t limited to OpenGL, it can also work with GLES2.
&gt; &gt; 
&gt; &gt; I think I have that right, but it is quite confusing... USE_GLES2 depends on
&gt; &gt; USE_OPENGL because GLES is-a OpenGL, and USE_OPENGL toggles off all the
&gt; &gt; other related options. USE_OPENGL without USE_GLES2 uses
&gt; &gt; find_package(OpenGL) but with USE_GLES2 uses find_package(OpenGLES2). It
&gt; &gt; should be the same as before.
&gt; 
&gt; It&apos;s not the same because we don&apos;t have any USE_OPENGL cmake option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084886</commentid>
    <comment_count>41</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-04-13 11:21:55 -0700</bug_when>
    <thetext>(In reply to comment #40)
&gt; (In reply to comment #38)
&gt; &gt; Why do we find for X11 even if ENABLE_X11_TARGET is OFF?
&gt; 
&gt; Since we no longer use REQUIRED, it doesn&apos;t have to be in the conditional
&gt; anymore. I guess I moved it to have as many of the find_package calls at the
&gt; start of the file as possible. I don&apos;t have any preference where we put it,
&gt; but since you do, I&apos;ll move it.

I guess we can avoid looking for deps we don&apos;t need when options are explicitly disabled no?

&gt; &gt; This is not true, they might not be needed in desktops envs too, I know
&gt; &gt; desktop apps in kiosk mode disabling DRAG_SUPPORT, for example, or the
&gt; &gt; opposite, apps in embedded systems using drag support. Note that text
&gt; &gt; selections depend on drag support enabled.
&gt; 
&gt; Yeah that was an oversimplification; I&apos;ll fix the comment.
&gt;  
&gt; &gt; This isn&apos;t accurate either, you might want to use system malloc to debug
&gt; &gt; using valgrind, for example.
&gt; 
&gt; OK, I&apos;ll change that comment too.
&gt;  
&gt; &gt; I think this new option should be added in a separate patch, because this
&gt; &gt; one is about hiding existing options, not about adding new ones. But still,
&gt; &gt; I think this should be ENABLE_OPENGL, USE_OPENGL is confusing because we
&gt; &gt; have USE(OPENGL) in the code to refer to use OpenGL and not OpenGL ES2, and
&gt; &gt; what we want here is an option to disable all features depending on OpenGL
&gt; &gt; (WebGL, Accelerated compositing, etc.).
&gt; 
&gt; OK, ENABLE_OPENGL it is. TBH it would be easier for me to do this all in the
&gt; same patch, but if you really want it separately I will split it out. Please
&gt; let me know. :)

This patch changes a lot of things, and claims to be marking as advanced options we don&apos;t want to expose, so adding new options only makes it more difficult to review. I would add the new option in a separate patch, either after or before this one. That way we can discuss it separately instead of adding it hidden inside a big patch.

&gt; &gt; I&apos;m not sure whether ENABLE would be better than USE here as well, or maybe
&gt; &gt; the description could be changed instead.
&gt; 
&gt; I don&apos;t care either way. ENABLE_MPEGTS would work fine. I don&apos;t know what to
&gt; name the ENABLE_ variant of USE_GSTREAMER_GL though.
&gt; 
&gt; &gt; USE_OPENGL != WTF_USE_OPENGL, I said this was confusing :-)
&gt; 
&gt; OK, USE_OPENGL -&gt; ENABLE_OPENGL. Still confusing, but less confusing.
&gt;  
&gt; &gt; Why don&apos;t we find for libnotify here?
&gt; 
&gt; I&apos;ll move the check.
&gt; 
&gt; &gt; I know this was in current code, but I would just remove it.
&gt; 
&gt; Yup, that doesn&apos;t belong.
&gt;  
&gt; &gt; Shouldn&apos;t this be done only is OPENGL id enabled
&gt; 
&gt; ENABLE_GLES2 will be forced off if USE/ENABLE_OPENGL is off, by
&gt; WEBKIT_OPTION_DEPENDS. I rely on that elsewhere as well, to simplify things
&gt; a bit.

But we have a if (USE_OPENGL) below, so this could be moved inside that block.

&gt; &gt; why don&apos;t we find for x11 here?
&gt; &gt; Why don&apos;t we find the required packages here?
&gt; &gt; why don&apos;t we find geoclue2 here too?
&gt; 
&gt; I will move the checks.
&gt; 
&gt; &gt; Why removing this?
&gt; 
&gt; It&apos;s a cross-platform option, so it&apos;s already in config.h.
&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084893</commentid>
    <comment_count>42</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-13 11:50:54 -0700</bug_when>
    <thetext>(In reply to comment #41) 
&gt; I guess we can avoid looking for deps we don&apos;t need when options are
&gt; explicitly disabled no?

Yeah. Also, there&apos;s no good reason to have the search for deps far away from where the result is used.

&gt; This patch changes a lot of things, and claims to be marking as advanced
&gt; options we don&apos;t want to expose, so adding new options only makes it more
&gt; difficult to review. I would add the new option in a separate patch, either
&gt; after or before this one. That way we can discuss it separately instead of
&gt; adding it hidden inside a big patch.

OK :(

&gt; But we have a if (USE_OPENGL) below, so this could be moved inside that
&gt; block.

We can&apos;t: it has to be done before we check for GLX, which is done inside an ENABLE_X11_TARGET conditional, and it has to be done unconditionally. So we could add a new conditional around it, but it&apos;s not needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087871</commentid>
    <comment_count>43</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-23 10:27:38 -0700</bug_when>
    <thetext>This patch does nothing except change options from PUBLIC to PRIVATE. List of options:

-- Enabled features:
--  ENABLE_API_TESTS ........................ OFF
--  ENABLE_CREDENTIAL_STORAGE                 ON
--  ENABLE_DRAG_SUPPORT ..................... ON
--  ENABLE_GEOLOCATION                        ON
--  ENABLE_MEMORY_SAMPLER ................... ON
--  ENABLE_MINIBROWSER                        OFF
--  ENABLE_PLUGIN_PROCESS_GTK2 .............. ON
--  ENABLE_SPELLCHECK                         ON
--  ENABLE_SUBTLE_CRYPTO .................... ON
--  ENABLE_TOUCH_EVENTS                       ON
--  ENABLE_VIDEO ............................ ON
--  ENABLE_WEB_AUDIO                          ON

The rest of the changes from my original patch (including exposing more options like ENABLE_X11_TARGET etc.) are removed to ease review, and can be handled in bug #143546, bug #143640, bug #144106, bug #144105, etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087872</commentid>
    <comment_count>44</comment_count>
      <attachid>251453</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-23 10:29:08 -0700</bug_when>
    <thetext>Created attachment 251453
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087948</commentid>
    <comment_count>45</comment_count>
      <attachid>251473</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-23 12:58:57 -0700</bug_when>
    <thetext>Created attachment 251473
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087950</commentid>
    <comment_count>46</comment_count>
      <attachid>251473</attachid>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-23 13:01:04 -0700</bug_when>
    <thetext>Comment on attachment 251473
Patch

Clearing flags on attachment: 251473

Committed r183205: &lt;http://trac.webkit.org/changeset/183205&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1087951</commentid>
    <comment_count>47</comment_count>
    <who name="Michael Catanzaro">mcatanzaro</who>
    <bug_when>2015-04-23 13:01:11 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250498</attachid>
            <date>2015-04-09 20:52:30 -0700</date>
            <delta_ts>2015-04-11 09:56:37 -0700</delta_ts>
            <desc>[GTK] Mark as advanced the build options we don&apos;t want to expose</desc>
            <filename>bug-143558-20150409225138.patch</filename>
            <type>text/plain</type>
            <size>20221</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNTY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IGZmZjRl
ZGM1NmIyNjg5YzYwYmViZDg0Yjc4NWJjMTQ3ODAxNmYzZjMuLmY4NjE1MDBiN2U1YjExOGJkYWRh
MDRkMWQxMTA4Y2I1N2E5OTljNDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0xMSwxMyArMTEs
NiBAQCBzZXQoV0VCS0lUR1RLX0FQSV9WRVJTSU9OIDQuMCkKIENBTENVTEFURV9MSUJSQVJZX1ZF
UlNJT05TX0ZST01fTElCVE9PTF9UUklQTEUoV0VCS0lUMiA0MiAwIDUpCiBDQUxDVUxBVEVfTElC
UkFSWV9WRVJTSU9OU19GUk9NX0xJQlRPT0xfVFJJUExFKEpBVkFTQ1JJUFRDT1JFIDE5IDMgMSkK
IAotc2V0KEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UgT04gQ0FDSEUgQk9PTCAiV2hldGhlciBv
ciBub3QgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGNyZWRlbnRpYWwgc3RvcmFnZSB1c2luZyBsaWJz
ZWNyZXQuIikKLXNldChFTkFCTEVfR1RLRE9DIE9GRiBDQUNIRSBCT09MICJXaGV0aGVyIG9yIG5v
dCB0byB1c2UgZ2VuZXJhdGUgZ3RrZG9jLiIpCi1zZXQoRU5BQkxFX1gxMV9UQVJHRVQgT04gQ0FD
SEUgQk9PTCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFgxMSB3aW5kb3dpbmcg
dGFyZ2V0LiIpCi1zZXQoRU5BQkxFX1dBWUxBTkRfVEFSR0VUIE9GRiBDQUNIRSBCT09MICJXaGV0
aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgV2F5bGFuZCB3aW5kb3dpbmcgdGFyZ2V0LiIp
Ci1zZXQoRU5BQkxFX0lOVFJPU1BFQ1RJT04gT04gQ0FDSEUgQk9PTCAiV2hldGhlciB0byBlbmFi
bGUgR09iamVjdCBpbnRyb3NwZWN0aW9uLiIpCi1zZXQoRU5BQkxFX0dMRVMyIE9GRiBDQUNIRSBC
T09MICJXaGV0aGVyIHRvIGVuYWJsZSBPcGVuR0wgRVMgMi4wLiIpCi0KICMgVGhlc2UgYXJlIHNo
YXJlZCB2YXJpYWJsZXMsIGJ1dCB3ZSBzcGVjaWFsIGNhc2UgdGhlaXIgZGVmaW5pdGlvbiBzbyB0
aGF0IHdlIGNhbiB1c2UgdGhlCiAjIENNQUtFX0lOU1RBTExfKiB2YXJpYWJsZXMgdGhhdCBhcmUg
cG9wdWxhdGVkIGJ5IHRoZSBHTlVJbnN0YWxsRGlycyBtYWNyby4KIHNldChMSUJfSU5TVEFMTF9E
SVIgIiR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0iIENBQ0hFIFBBVEggIkFic29sdXRlIHBh
dGggdG8gbGlicmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0b3J5IikKQEAgLTUxLDkwICs0NCw1MSBA
QCBmaW5kX3BhY2thZ2UoRUdMKQogZmluZF9wYWNrYWdlKEdlb0NsdWUyIDIuMS41KQogZmluZF9w
YWNrYWdlKEdudVRMUyAzLjAuMCkKIGZpbmRfcGFja2FnZShMaWJOb3RpZnkpCi0KLWlmIChOT1Qg
R0VPQ0xVRTJfRk9VTkQpCi0gICAgZmluZF9wYWNrYWdlKEdlb0NsdWUpCi1lbmRpZiAoKQotCi1p
ZiAoRU5BQkxFX0dMRVMyKQotICAgIGZpbmRfcGFja2FnZShPcGVuR0xFUzIgUkVRVUlSRUQpCi0g
ICAgaWYgKE9QRU5HTEVTMl9GT1VORCBBTkQgTk9UKEVHTF9GT1VORCkpCi0gICAgICAgIG1lc3Nh
Z2UoRkFUQUxfRVJST1IgIkVHTCBpcyBuZWVkZWQgZm9yIE9wZW5HTCBFUyAyLjAuIikKLSAgICBl
bmRpZiAoKQotZWxzZSAoKQotICAgIGZpbmRfcGFja2FnZShPcGVuR0wpCi1lbmRpZiAoKQotCi1p
ZiAoRU5BQkxFX1gxMV9UQVJHRVQpCi0gICAgIyBXaXRoIGNtYWtlIDMuMi54IHdlIGhhdmUgdG8g
ZXhwbGljaXRseSBhc2sgZm9yIFgxMSBvdGhlcndpc2UgdGhlIFgxMV9YMTFfTElCCi0gICAgIyB2
YXJpYWJsZSB3b24ndCBiZSBzZXQgdGh1cyB0aGUgWDExIGxpbmtlciBmbGFncyB3b24ndCBiZSBh
ZGRlZCBhbmQgdGhlIGJ1aWxkCi0gICAgIyB3aWxsIGZhaWwuCi0gICAgZmluZF9wYWNrYWdlKFgx
MSBSRVFVSVJFRCkKLSAgICBpZiAoT1BFTkdMX0ZPVU5EKQotICAgICAgICAjIFdlIGRvbid0IHVz
ZSBmaW5kX3BhY2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0IGlzIHBhcnQgb2YgLWxHTCwgdW5saWtl
IEVHTC4KLSAgICAgICAgY2hlY2tfaW5jbHVkZV9maWxlcygiR0wvZ2x4LmgiIEdMWF9GT1VORCkK
LSAgICBlbmRpZiAoKQotZW5kaWYgKCkKLQotaWYgKEVOQUJMRV9XQVlMQU5EX1RBUkdFVCkKLSAg
ICBmaW5kX3BhY2thZ2UoV2F5bGFuZCBSRVFVSVJFRCkKLWVuZGlmICgpCitmaW5kX3BhY2thZ2Uo
WDExKQogCiBXRUJLSVRfT1BUSU9OX0JFR0lOKCkKLVdFQktJVF9PUFRJT05fREVGSU5FKEVOQUJM
RV9QTFVHSU5fUFJPQ0VTU19HVEsyICJXaGV0aGVyIHRvIGJ1aWxkIFdlYktpdFBsdWdpblByb2Nl
c3MyIHRvIGxvYWQgR1RLMiBiYXNlZCBwbHVnaW5zLiIgT04pCi1XRUJLSVRfT1BUSU9OX0RFRklO
RShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyAiV2hldGhlciB0byB1c2UgYSBSZWRp
cmVjdGVkIFhDb21wb3NpdGUgV2luZG93IGZvciBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpbiBY
MTEuIiBPTikKLQotaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdM
WF9GT1VORCBPUiBFR0xfRk9VTkQpKQotICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9XRUJHTCBPTikKIAotICAgIGlmIChFTkFCTEVfWDExX1RBUkdFVCkKLSAgICAg
ICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoVVNFX1JFRElSRUNURURfWENPTVBP
U0lURV9XSU5ET1cgT04pCi0gICAgZWxzZSAoKQotICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBPRkYpCi0gICAg
ZW5kaWYgKCkKLQotICAgIGlmIChPUEVOR0xfRk9VTkQpCi0gICAgICAgIGlmIChHTFhfRk9VTkQp
Ci0gICAgICAgICAgICBsaXN0KEFQUEVORCBDQUlST19HTF9DT01QT05FTlRTIGNhaXJvLWdseCkK
LSAgICAgICAgZW5kaWYgKCkKLSAgICAgICAgaWYgKEVHTF9GT1VORCkKLSAgICAgICAgICAgIGxp
c3QoQVBQRU5EIENBSVJPX0dMX0NPTVBPTkVOVFMgY2Fpcm8tZWdsKQotICAgICAgICBlbmRpZiAo
KQotICAgICAgICBmaW5kX3BhY2thZ2UoQ2Fpcm9HTCAxLjEwLjIgQ09NUE9ORU5UUyAke0NBSVJP
X0dMX0NPTVBPTkVOVFN9KQotICAgICAgICBpZiAoQ0FJUk9fR0xfRk9VTkQpCi0gICAgICAgICAg
ICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRf
Q0FOVkFTIE9OKQotICAgICAgICBlbHNlICgpCi0gICAgICAgICAgICBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIE9GRikKLSAgICAg
ICAgZW5kaWYgKCkKLSAgICBlbHNlICgpCi0gICAgICAgICMgRklYTUU6IFNob3VsZCB3ZSBzZWFy
Y2ggZm9yIGNhaXJvLWdsZXN2MiBpbnN0ZWFkIG9mIGNhaXJvLWdsIGluIHRoaXMgY2FzZT8KLSAg
ICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUyBPRkYpCi0gICAgZW5kaWYgKCkKLWVsc2UgKCkKLSAgICBXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wgT0ZGKQotICAgIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgT0ZGKQotICAg
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XIE9GRikKLWVuZGlmICgpCi0KLWlmIChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FO
VkFTIEFORCBOT1QoQ0FJUk9fR0xfRk9VTkQpKQotICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgImNh
aXJvLWdsIGlzIG5lZWRlZCBmb3IgQWNjZWxlcmF0ZWQgMkQgQ2FudmFzIHN1cHBvcnQiKQotZW5k
aWYgKCkKLQotaWYgKEdOVVRMU19GT1VORCkKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfU1VCVExFX0NSWVBUTyBPTikKLWVsc2UgKCkKLSAgICBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1VCVExFX0NSWVBUTyBPRkYpCi1lbmRpZiAo
KQotCi1pZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8gQU5EIE5PVChHTlVUTFNfRk9VTkQpKQotICAg
IG1lc3NhZ2UoRkFUQUxfRVJST1IgIlN1YnRsZSBjcnlwdG8gc3VwcG9ydCBuZWVkcyBHbnVUTFMg
My4wLjAiKQotZW5kaWYgKCkKLQotaWYgKEdFT0NMVUUyX0ZPVU5EIE9SIEdFT0NMVUVfRk9VTkQp
Ci0gICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dFT0xPQ0FUSU9O
IE9OKQotZWxzZSAoKQotICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9HRU9MT0NBVElPTiBPRkYpCi1lbmRpZiAoKQorIyBMaXN0IHB1YmxpYyBvcHRpb25zIGhlcmUu
CisjCisjIE9wdGlvbnMgc2hvdWxkIG9ubHkgYmUgcHVibGljIGlmIHRoZXkgYWRkIGEgbmV3IGRl
cGVuZGVuY3ksIHJlcXVpcmUgYSBoaWdoZXIKKyMgdmVyc2lvbiBvZiBhbiBleGlzdGluZyBkZXBl
bmRlbmN5LCBvciBpZiB0aGVyZSBpcyBzb21lIG90aGVyIHN0cm9uZyByZWFzb24KKyMgdGhhdCB1
c2VycyBhYnNvbHV0ZWx5IG11c3QgYmUgYWJsZSB0byBjaG9vc2Ugd2hldGhlciBvciBub3QgdG8g
ZW5hYmxlIGl0LgorIyBFeHBlcmltZW50YWwgb3B0aW9ucyBkbyBub3QgYmVsb25nIGhlcmU6IHRo
ZXkgc2hvdWxkIGJlIHByaXZhdGUuCisjCisjIElmIGFuIG9wdGlvbiBpcyBlbmFibGVkIGJ5IGRl
ZmF1bHQsIGxlYXZlIGEgbmljZSwgY3VzdG9tIGVycm9yIG1lc3NhZ2UgdG8KKyMgaW5zdHJ1Y3Qg
aG93IHRvIGRpc2FibGUgaXQgaWYgYSBkZXBlbmRlbmN5IGlzIG1pc3NpbmcuIERvbid0IHNpbGVu
dGx5IGRpc2FibGUKKyMgdGhlIG9wdGlvbiBiYXNlZCBvbiB3aGF0IGRlcGVuZGVuY2llcyBhcmUg
aW5zdGFsbGVkOiBmYWlsIHRoZSBidWlsZC4gVGhlIG9ubHkKKyMgdGltZSBpdCBpcyBhcHByb3By
aWF0ZSB0byBzaWxlbnRseSBkaXNhYmxlIGFuIG9wdGlvbiB0aGF0J3MgZW5hYmxlZCBieSBkZWZh
dWx0CisjIGlzIGlmIHRoYXQgb3B0aW9uIGlzIG9ubHkgc3VwcG9ydGVkIG9uIGEgcGFydGljdWxh
ciBvcGVyYXRpbmcgc3lzdGVtIG9yCisjIGFyY2hpdGVjdHVyZS4KK1dFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV8zRF9SRU5ERVJJTkcgT04pCitXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIE9OKQorV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dFT0xPQ0FUSU9OIE9OKQorV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfUFJPQ0VTUyBPTikKK1dF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TUEVMTENIRUNLIE9OKQorV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NVQlRMRV9DUllQVE8gT04pCitX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklERU8gT04pCitXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCX0FVRElPIE9OKQorV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQkdMIE9OKQorCisjIE1pZ2h0IG5lZWQg
dG8gZmxpcCB0aGVzZSBpZiBidWlsZGluZyBvbiBzb21ldGhpbmcgdGhhdCdzIG5vdCBhbiB4ODYu
CitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTExJTlRfQ19MT09QIE9G
RikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9KSVQgT04pCitXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfTERfR09MRCBPTikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9TWVNURU1fTUFMTE9DIE9GRikKKworV0VCS0lUX09Q
VElPTl9ERUZJTkVfUFVCTElDKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UgIldoZXRoZXIgb3Ig
bm90IHRvIGVuYWJsZSBzdXBwb3J0IGZvciBjcmVkZW50aWFsIHN0b3JhZ2UgdXNpbmcgbGlic2Vj
cmV0LiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9QVUJMSUMoRU5BQkxFX0dMRVMyICJXaGV0
aGVyIHRvIGVuYWJsZSB1c2Ugb2YgT3BlbkdMIEVTIDIuMC4iIE9GRikKK1dFQktJVF9PUFRJT05f
REVGSU5FX1BVQkxJQyhFTkFCTEVfR1RLRE9DICJXaGV0aGVyIG9yIG5vdCB0byB1c2UgZ2VuZXJh
dGUgZ3RrZG9jLiIgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkVfUFVCTElDKEVOQUJMRV9JTlRS
T1NQRUNUSU9OICJXaGV0aGVyIHRvIGVuYWJsZSBHT2JqZWN0IGludHJvc3BlY3Rpb24uIiBPTikK
K1dFQktJVF9PUFRJT05fREVGSU5FX1BVQkxJQyhFTkFCTEVfTElCTk9USUZZX05PVElGSUNBVElP
TlMgIldoZXRoZXIgbGlibm90aWZ5IG1heSBiZSB1c2VkIHRvIGRpc3BsYXkgZGVza3RvcCBub3Rp
ZmljYXRpb25zLiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9QVUJMSUMoRU5BQkxFX1BMVUdJ
Tl9QUk9DRVNTX0dUSzIgIldoZXRoZXIgdG8gYnVpbGQgV2ViS2l0UGx1Z2luUHJvY2VzczIgdG8g
bG9hZCBHVEsyIGJhc2VkIHBsdWdpbnMuIiBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FX1BVQkxJ
QyhFTkFCTEVfWDExX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhlIFgx
MSB3aW5kb3dpbmcgdGFyZ2V0LiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9QVUJMSUMoRU5B
QkxFX1dBWUxBTkRfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgV2F5
bGFuZCB3aW5kb3dpbmcgdGFyZ2V0LiIgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkVfUFVCTElD
KFVTRV9HU1RSRUFNRVJfTVBFR1RTICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBNUEVH
LVRTLiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9QVUJMSUMoVVNFX1JFRElSRUNURURfWENP
TVBPU0lURV9XSU5ET1cgIldoZXRoZXIgdG8gdXNlIGEgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdp
bmRvdyBmb3IgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaW4gWDExLiIgT04pCisKK1dFQktJVF9P
UFRJT05fREVQRU5EKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XIEVOQUJMRV9YMTFf
VEFSR0VUKQogCiBpZiAoREVWRUxPUEVSX01PREUpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX01JTklCUk9XU0VSIE9OKQpAQCAtMTUxLDg0ICsxMDUsNTcgQEAg
ZWxzZSAoKQogICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NRU1P
UllfU0FNUExFUiBPRkYpCiBlbmRpZiAoKQogCi0jIEZJWE1FOiBXZSB3YW50IHRvIGV4cG9zZSBm
ZXdlciBvcHRpb25zIHRvIGRvd25zdHJlYW0sIGJ1dCBmb3Igbm93IGV2ZXJ5dGhpbmcgaXMgcHVi
bGljLgotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFXzNEX1JFTkRFUklO
RyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFU1NJQklM
SVRZIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0JBVFRFUllf
U1RBVFVTIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DQU5W
QVNfUEFUSCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NT
M19URVhUIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04gT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0NTU19HUklEX0xBWU9VVCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfQ1NTX0lNQUdFX1NFVCBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9DU1NfUkVHSU9OUyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBPTikKLVdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgT0ZGKQotV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQgT0ZGKQot
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVU
RSBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQ
T1JUIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRF
RF9NRURJQSBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5D
UllQVEVEX01FRElBX1YyIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9GSUxURVJTX0xFVkVMXzIgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0ZUUERJUiBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfRlVMTFNDUkVFTl9BUEkgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfR0FNRVBBRCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgT0ZGKQotV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IgT04p
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX1dFQl9BVURJ
TyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTElOS19QUkVG
RVRDSCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFf
Q0FQVFVSRSBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX01IVE1MIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X05BVklHQVRPUl9DT05URU5UX1VUSUxTIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSBPTikKLVdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIE9OKQotV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05PVElGSUNBVElPTlMgT04pCi1XRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUElDVFVSRV9TSVpFUyBPTikKLVdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9RVU9UQSBPRkYpCi1XRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSBP
RkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVRVUVTVF9BTklN
QVRJT05fRlJBTUUgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
U0VDQ09NUF9GSUxURVJTIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9TUEVMTENIRUNLIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX1RFTVBMQVRFX0VMRU1FTlQgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfVE9VQ0hfRVZFTlRTIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1VTRVJTRUxFQ1RfQUxMIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUyBPTikKLVdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gT0ZGKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVPIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1ZJREVPX1RSQUNLIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEgT04pCi1XRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCX0FVRElPIE9OKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQl9USU1JTkcgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfWEhSX1RJTUVPVVQgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUV09SS19QUk9DRVNTIE9OKQotV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgT0ZGKQotV0VCS0lU
X09QVElPTl9FTkQoKQotCi1pZiAoTElCTk9USUZZX0ZPVU5EKQotICAgIGFkZF9kZWZpbml0aW9u
cygtRFdURl9VU0VfTElCTk9USUZZPTEpCi1lbHNlICgpCi0gICAgYWRkX2RlZmluaXRpb25zKC1E
V1RGX1VTRV9MSUJOT1RJRlk9MCkKLWVuZGlmICgpCi0KLWlmIChFTkFCTEVfUExVR0lOX1BST0NF
U1NfR1RLMikKLSAgICBmaW5kX3BhY2thZ2UoR1RLMiAyLjI0LjEwIFJFUVVJUkVEKQotICAgIGZp
bmRfcGFja2FnZShHREsyIDIuMjQuMTAgUkVRVUlSRUQpCi0gICAgYWRkX2RlZmluaXRpb25zKC1E
RU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9MSkKLWVuZGlmICgpCi0KLWlmIChFTkFCTEVfWDEx
X1RBUkdFVCkKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfUExBVEZPUk1fWDExPTEpCi0gICAg
YWRkX2RlZmluaXRpb25zKC1ETU9aX1gxMT0xKQotICAgIGlmIChXVEZfT1NfVU5JWCkKLSAgICAg
ICAgYWRkX2RlZmluaXRpb25zKC1EWFBfVU5JWCkKLSAgICBlbmRpZiAoKQotZW5kaWYgKCkKKyMg
SW52aXNpYmxlIHByaXZhdGUgb3B0aW9ucy4gWW91IGNhbiBjaGFuZ2UgdGhlbSBhcyB5b3Ugd291
bGQgYW55IHB1YmxpYyBvcHRpb24sCisjIGJ1dCBwcm9iYWJseSBzaG91bGRuJ3QuIEJ1aWxkaW5n
IHdpdGggbm9uLWRlZmF1bHQgc2V0dGluZ3MgaXMgdW5zdXBwb3J0ZWQuCitXRUJLSVRfT1BUSU9O
X1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBPTikKK1dFQktJVF9PUFRJ
T05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9CQVRURVJZX1NUQVRVUyBPRkYpCitXRUJLSVRf
T1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQ0FOVkFTX1BBVEggT0ZGKQorV0VCS0lU
X09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NTUzNfVEVYVCBPRkYpCitXRUJLSVRf
T1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIE9G
RikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfR1JJRF9MQVlP
VVQgT0ZGKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFH
RV9TRVQgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JF
R0lPTlMgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1NF
TEVDVE9SU19MRVZFTDQgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFC
TEVfQ1VTVE9NX1NDSEVNRV9IQU5ETEVSIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JU
X1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFU
RV9QT1JUX1ZBTFVFKEVOQUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0RSQUdfU1VQUE9SVCBPTikKK1dFQktJVF9PUFRJ
T05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgT0ZGKQorV0VCS0lU
X09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBPRkYp
CitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfRklMVEVSU19MRVZFTF8y
IE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgT0ZG
KQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJ
IE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQUQgT0ZG
KQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVD
QVRFRCBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRSBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVf
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9Q
T1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIE9OKQorV0VCS0lUX09QVElPTl9QUklW
QVRFX1BPUlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8gT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggT0ZGKQorV0VCS0lUX09Q
VElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NBUFRVUkUgT0ZGKQorV0VCS0lU
X09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCBP
TikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBPTikKK1dF
QktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9V
VElMUyBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfTkFWSUdB
VE9SX0hXQ09OQ1VSUkVOQ1kgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShF
TkFCTEVfTkVUU0NBUEVfUExVR0lOX0FQSSBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JU
X1ZBTFVFKEVOQUJMRV9OT1RJRklDQVRJT05TIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BP
UlRfVkFMVUUoRU5BQkxFX1BJQ1RVUkVfU0laRVMgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVf
UE9SVF9WQUxVRShFTkFCTEVfUVVPVEEgT0ZGKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRf
VkFMVUUoRU5BQkxFX1JFU09MVVRJT05fTUVESUFfUVVFUlkgT0ZGKQorV0VCS0lUX09QVElPTl9Q
UklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FIE9OKQorV0VC
S0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX1NFQ0NPTVBfRklMVEVSUyBPRkYp
CitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9UT1VDSF9FVkVO
VFMgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfVVNFUlNFTEVD
VF9BTEwgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfVVNFUl9N
RVNTQUdFX0hBTkRMRVJTIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5B
QkxFX1ZJQlJBVElPTiBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFC
TEVfVklERU9fVFJBQ0sgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFC
TEVfVklFV19NT0RFX0NTU19NRURJQSBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZB
TFVFKEVOQUJMRV9XRUJfVElNSU5HIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFM
VUUoRU5BQkxFX1hIUl9USU1FT1VUIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFM
VUUoRU5BQkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgT0ZGKQogCi1pZiAoRU5BQkxFX1dBWUxBTkRf
VEFSR0VUKQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9QTEFURk9STV9XQVlMQU5EPTEpCi1l
bmRpZiAoKQorV0VCS0lUX09QVElPTl9FTkQoKQogCiBzZXQoRU5BQkxFX1dFQkNPUkUgT04pCiBz
ZXQoRU5BQkxFX1dFQktJVCBPRkYpCkBAIC0yNjQsNiArMTkxLDgyIEBAIGlmIChERVZFTE9QRVJf
TU9ERSkKICAgICBhZGRfZGVmaW5pdGlvbnMoLURERVZFTE9QTUVOVF9CVUlMRD0xKQogZW5kaWYg
KCkKIAoraWYgKEVOQUJMRV9MSUJOT1RJRllfTk9USUZJQ0FUSU9OUykKKyAgICBpZiAoTElCTk9U
SUZZX0ZPVU5EKQorICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0xJQk5PVElGWT0x
KQorICAgIGVsc2UgKCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAibGlibm90aWZ5IGRl
dmVsIGZpbGVzIG1pc3NpbmcsIGluc3RhbGwgdGhlbSBvciB1c2UgLURFTkFCTEVfTElCTk9USUZZ
X05PVElGSUNBVElPTlM9T0ZGIikKKyAgICBlbmRpZiAoKQorZWxzZSAoKQorICAgIGFkZF9kZWZp
bml0aW9ucygtRFdURl9VU0VfTElCTk9USUZZPTApCitlbmRpZiAoKQorCitpZiAoRU5BQkxFX1BM
VUdJTl9QUk9DRVNTX0dUSzIpCisgICAgZmluZF9wYWNrYWdlKEdUSzIgMi4yNC4xMCkKKyAgICBm
aW5kX3BhY2thZ2UoR0RLMiAyLjI0LjEwKQorCisgICAgaWYgKE5PVChHVEsyX0ZPVU5EKSBPUiBO
T1QoR0RLMl9GT1VORCkpCisgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkdUSysgMiBhbmQg
R0RLIDIgPj0gMi4yNC4xMCBkZXZlbCBmaWxlcyBtaXNzaW5nLCBpbnN0YWxsIHRoZW0gb3IgdXNl
IC1ERU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9T0ZGIikKKyAgICBlbmRpZiAoKQorZW5kaWYg
KCkKKworaWYgKEVOQUJMRV9YMTFfVEFSR0VUKQorICAgIGlmIChOT1QgWDExX0ZPVU5EKQorICAg
ICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJYMTEgZGV2ZWwgZmlsZXMgbWlzc2luZywgaW5zdGFs
bCB0aGVtIG9yIHVzZSAtREVOQUJMRV9YMTFfVEFSR0VUPU9GRiIpCisgICAgZW5kaWYgKCkKKwor
ICAgIGlmIChPUEVOR0xfRk9VTkQpCisgICAgICAgICMgV2UgZG9uJ3QgdXNlIGZpbmRfcGFja2Fn
ZSBmb3IgR0xYIGJlY2F1c2UgaXQgaXMgcGFydCBvZiAtbEdMLCB1bmxpa2UgRUdMLgorICAgICAg
ICBjaGVja19pbmNsdWRlX2ZpbGVzKCJHTC9nbHguaCIgR0xYX0ZPVU5EKQorICAgIGVuZGlmICgp
CisKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfUExBVEZPUk1fWDExPTEpCisgICAgYWRkX2Rl
ZmluaXRpb25zKC1ETU9aX1gxMT0xKQorICAgIGlmIChXVEZfT1NfVU5JWCkKKyAgICAgICAgYWRk
X2RlZmluaXRpb25zKC1EWFBfVU5JWCkKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKworaWYgKEVO
QUJMRV9XQVlMQU5EX1RBUkdFVCkKKyAgICBmaW5kX3BhY2thZ2UoV2F5bGFuZCBSRVFVSVJFRCkK
KyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfUExBVEZPUk1fV0FZTEFORD0xKQorZW5kaWYgKCkK
KworaWYgKEVOQUJMRV9HTEVTMikKKyAgICBmaW5kX3BhY2thZ2UoT3BlbkdMRVMyIFJFUVVJUkVE
KQorICAgIGlmIChPUEVOR0xFUzJfRk9VTkQgQU5EIE5PVChFR0xfRk9VTkQpKQorICAgICAgICBt
ZXNzYWdlKEZBVEFMX0VSUk9SICJFR0wgaXMgbmVlZGVkIGZvciBPcGVuR0wgRVMgMi4wLiIpCisg
ICAgZW5kaWYgKCkKK2Vsc2UgKCkKKyAgICBmaW5kX3BhY2thZ2UoT3BlbkdMKQorZW5kaWYgKCkK
KworaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBP
UiBFR0xfRk9VTkQpKQorICAgIGlmIChPUEVOR0xfRk9VTkQpCisgICAgICAgIGlmIChHTFhfRk9V
TkQpCisgICAgICAgICAgICBsaXN0KEFQUEVORCBDQUlST19HTF9DT01QT05FTlRTIGNhaXJvLWds
eCkKKyAgICAgICAgZW5kaWYgKCkKKyAgICAgICAgaWYgKEVHTF9GT1VORCkKKyAgICAgICAgICAg
IGxpc3QoQVBQRU5EIENBSVJPX0dMX0NPTVBPTkVOVFMgY2Fpcm8tZWdsKQorICAgICAgICBlbmRp
ZiAoKQorICAgICAgICBmaW5kX3BhY2thZ2UoQ2Fpcm9HTCAxLjEwLjIgQ09NUE9ORU5UUyAke0NB
SVJPX0dMX0NPTVBPTkVOVFN9KQorICAgIGVsc2UgKCkKKyAgICAgICAgIyBGSVhNRTogU2hvdWxk
IHdlIHNlYXJjaCBmb3IgY2Fpcm8tZ2xlc3YyIGluc3RlYWQgb2YgY2Fpcm8tZ2wgaW4gdGhpcyBj
YXNlPworICAgIGVuZGlmICgpCitlbHNlICgpCisgICAgaWYgKEVOQUJMRV8zRF9SRU5ERVJJTkcg
T1IgRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBPUiBFTkFCTEVfV0VCR0wgT1IgKEVOQUJM
RV9YMTFfVEFSR0VUIEFORCBVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykpCisgICAg
ICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIk9wZW5HTCBzdXBwb3J0IG1pc3NpbmcsIGluc3RhbGwg
b3IgZGlzYWJsZSB3aXRoIC1ERU5BQkxFXzNEX1JFTkRFUklORz1PRkYgLURFTkFCTEVfQUNDRUxF
UkFURURfMkRfQ0FOVkFTPU9GRiAtREVOQUJMRV9XRUJHTD1PRkYgLURVU0VfUkVESVJFQ1RFRF9Y
Q09NUE9TSVRFX1dJTkRPVz1PRkYiKQorICAgIGVuZGlmICgpCitlbmRpZiAoKQorCitpZiAoRU5B
QkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBBTkQgTk9UKENBSVJPX0dMX0ZPVU5EKSkKKyAgICBt
ZXNzYWdlKEZBVEFMX0VSUk9SICJDYWlyb0dMIGRldmVsIGZpbGVzIG1pc3NpbmcsIGluc3RhbGwg
dGhlbSBvciB1c2UgLURFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTPU9GRiIpCitlbmRpZiAo
KQorCitpZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8gQU5EIE5PVChHTlVUTFNfRk9VTkQpKQorICAg
IG1lc3NhZ2UoRkFUQUxfRVJST1IgIkdudVRMUyA+PSAzLjAuMCBkZXZlbCBmaWxlcyBtaXNzaW5n
LCBpbnN0YWxsIHRoZW0gb3IgdXNlIC1ERU5BQkxFX1NVQlRMRV9DUllQVE89T0ZGIikKK2VuZGlm
ICgpCisKIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICBzZXQoR1NU
UkVBTUVSX0NPTVBPTkVOVFMgYXBwIHBidXRpbHMpCiAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RG
X1VTRV9HU1RSRUFNRVIpCkBAIC0yNzYsMTEgKzI3OSwxOCBAQCBpZiAoRU5BQkxFX1ZJREVPIE9S
IEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfV0VC
QVVESU9fR1NUUkVBTUVSKQogICAgIGVuZGlmICgpCiAKLSAgICBmaW5kX3BhY2thZ2UoR1N0cmVh
bWVyIDEuMC4zIFJFUVVJUkVEIENPTVBPTkVOVFMgJHtHU1RSRUFNRVJfQ09NUE9ORU5UU30pCisg
ICAgZmluZF9wYWNrYWdlKEdTdHJlYW1lciAxLjAuMyBDT01QT05FTlRTICR7R1NUUkVBTUVSX0NP
TVBPTkVOVFN9KQogCi0gICAgaWYgKFBDX0dTVFJFQU1FUl9NUEVHVFNfRk9VTkQpCi0gICAgICAg
IGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX01QRUdUUykKLSAgICAgICAgc2V0
KFVTRV9HU1RSRUFNRVJfTVBFR1RTIFRSVUUpCisgICAgaWYgKE5PVCBHU1RSRUFNRVJfRk9VTkQp
CisgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkdTdHJlYW1lciBkZXZlbCBmaWxlcyBtaXNz
aW5nLCBpbnN0YWxsIHRoZW0gb3IgdXNlIC1ERU5BQkxFX1ZJREVPPU9GRiAtREVOQUJMRV9XRUJf
QVVESU89T0ZGIikKKyAgICBlbmRpZiAoKQorCisgICAgaWYgKFVTRV9HU1RSRUFNRVJfTVBFR1RT
KQorICAgICAgICBpZiAoUENfR1NUUkVBTUVSX01QRUdUU19GT1VORCkKKyAgICAgICAgICAgIGFk
ZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX01QRUdUUykKKyAgICAgICAgZWxzZSAo
KQorICAgICAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiR1N0cmVhbWVyIE1QRUctVFMgc3Vw
cG9ydCBtaXNzaW5nLCBpbnN0YWxsIGdzdC1wbHVnaW5zLWJhZCBkZXZlbCBmaWxlcyBvciB1c2Ug
LURVU0VfR1NUUkVBTUVSX01QRUdUUz1PRkYiKQorICAgICAgICBlbmRpZiAoKQogICAgIGVuZGlm
ICgpCiBlbmRpZiAoKQogCkBAIC0zMDQsNiArMzE0LDE0IEBAIGVuZGlmICgpCiBmaW5kX3BhY2th
Z2UoR0xJQiAyLjMzLjIgUkVRVUlSRUQgQ09NUE9ORU5UUyAke2dsaWJfY29tcG9uZW50c30pCiAK
IGlmIChFTkFCTEVfR0VPTE9DQVRJT04pCisgICAgaWYgKE5PVCBHRU9DTFVFMl9GT1VORCkKKyAg
ICAgICAgZmluZF9wYWNrYWdlKEdlb0NsdWUpCisgICAgZW5kaWYgKCkKKworICAgIGlmIChOT1Qo
R0VPQ0xVRTJfRk9VTkQpIEFORCBOT1QoR0VPQ0xVRV9GT1VORCkpCisgICAgICAgIG1lc3NhZ2Uo
RkFUQUxfRVJST1IgIllvdSBuZWVkIHRvIGluc3RhbGwgR2VvY2x1ZSBvciB1c2UgLURFTkFCTEVf
R0VPTE9DQVRJT049T0ZGIikKKyAgICBlbmRpZiAoKQorCiAgICAgaWYgKEdFT0NMVUUyX0ZPVU5E
KQogICAgICAgc2V0KFdURl9VU0VfR0VPQ0xVRTIgMSkKICAgICBlbHNlICgpCkBAIC0zMjUsNyAr
MzQzLDkgQEAgZW5kaWYgKCkKIAogaWYgKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UpCiAgICAg
ZmluZF9wYWNrYWdlKExpYnNlY3JldCkKLSAgICBzZXQoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFH
RSAxKQorICAgIGlmIChOT1QgTElCU0VDUkVUX0ZPVU5EKQorICAgICAgICBtZXNzYWdlKEZBVEFM
X0VSUk9SICJZb3UgbmVlZCB0byBpbnN0YWxsIGxpYnNlY3JldCBvciB1c2UgLURFTkFCTEVfQ1JF
REVOVElBTF9TVE9SQUdFPU9GRiIpCisgICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKIGlmIChHVEtf
U1VQUE9SVFNfR0VTVFVSRVMpCkBAIC0zNTEsNyArMzcxLDExIEBAIGlmIChFR0xfRk9VTkQpCiBl
bmRpZiAoKQogCiBpZiAoRU5BQkxFX1NQRUxMQ0hFQ0spCi0gICAgZmluZF9wYWNrYWdlKEVuY2hh
bnQgUkVRVUlSRUQpCisgICAgZmluZF9wYWNrYWdlKEVuY2hhbnQpCisKKyAgICBpZiAoTk9UIFBD
X0VOQ0hBTlRfRk9VTkQpCisgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIllvdSBuZWVkIHRv
IGluc3RhbGwgRW5jaGFudCBvciBidWlsZCB3aXRoIC1ERU5BQkxFX1NQRUxMQ0hFQ0s9T0ZGIikK
KyAgICBlbmRpZiAoKQogZW5kaWYgKCkKIAogaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMy
X0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQpkaWZmIC0tZ2l0IGEvQ2hhbmdl
TG9nIGIvQ2hhbmdlTG9nCmluZGV4IGJmYjA3ZDcwNzdjYTZiNzhiZmUxZTM3NzA1MGJmMzUxZTU5
YjA5MTQuLjIxNmYwYzFiNmQ4MDRhNDY2ZTM3N2Q4NDc4NDY2Y2E5YTVlMzNhN2QgMTAwNjQ0Ci0t
LSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsNSArMSwxOCBAQAogMjAxNS0wNC0w
OSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CiAKKyAgICAgICAg
W0dUS10gTWFyayBhcyBhZHZhbmNlZCB0aGUgYnVpbGQgb3B0aW9ucyB3ZSBkb24ndCB3YW50IHRv
IGV4cG9zZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTQzNTU4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
UmVqaWdnZXIgdGhlIHNldCBvZiBvcHRpb25zIHByZXNlbnRlZCB0byB0aGUgdXNlciwgaGlkaW5n
IG1vc3Qgb2YgdGhlbS4gQWxzbywgZmFpbCB0aGUgYnVpbGQKKyAgICAgICAgaWYgYW4gb3B0aW9u
YWwgZGVwZW5kZW5jeSBmb3IgYSBmZWF0dXJlIGVuYWJsZWQgYnkgZGVmYXVsdCBpcyBtaXNzaW5n
LCB1bmxlc3MgdGhlIHVzZXIKKyAgICAgICAgZXhwbGljaXRseSBkaXNhYmxlcyB0aGUgZmVhdHVy
ZSwgdG8gYXZvaWQgc2lsZW50bHkgZGlzYWJsaW5nIHRoZSBmZWF0dXJlLgorCisgICAgICAgICog
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2U6CisKKzIwMTUtMDQtMDkgIE1pY2hhZWwgQ2F0
YW56YXJvICA8bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCiAgICAgICAgIFtDTWFrZV0gT3B0aW9u
cyBzaG91bGQgYmUgbWFya2VkIGFzIGFkdmFuY2VkIGJ5IGRlZmF1bHQKICAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MzU3MgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250593</attachid>
            <date>2015-04-11 19:41:03 -0700</date>
            <delta_ts>2015-04-13 06:43:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143558-20150411214009.patch</filename>
            <type>text/plain</type>
            <size>25665</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDEyZmE0
NzIxNWZmNjQyZWEwMmM0MWYxODI2ZjIwY2FiZDdiYTI1MGIuLjIyZDhjZDhmMTBhOGY4YzNiYmQx
YTE4MTU1Y2E2NzA1NWJiMTBiYmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0xLDMgKzEsMjEg
QEAKKyMgUnVsZXMgZm9yIGFkZGluZyBidWlsZCBvcHRpb25zOgorIworIyBGZWF0dXJlcyBzaG91
bGQgb25seSBiZSBwdWJsaWMgb3B0aW9ucyBpZiB0aGV5IGFkZCBhIG5ldyBkZXBlbmRlbmN5LCBy
ZXF1aXJlCisjIGEgaGlnaGVyIHZlcnNpb24gb2YgYW4gZXhpc3RpbmcgZGVwZW5kZW5jeSwgb3Ig
aWYgdGhlcmUgaXMgc29tZSBvdGhlciBzdHJvbmcKKyMgcmVhc29uIHRoYXQgdXNlcnMgbXVzdCBi
ZSBhYmxlIHRvIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBlbmFibGUgaXQuIEFsbW9zdAorIyBh
bGwgb3B0aW9uYWwgV2ViS2l0IGZlYXR1cmVzIHNob3VsZCBiZSBwcml2YXRlIG9wdGlvbnMuIFBy
aXZhdGUgb3B0aW9ucyBhcmUKKyMgbm90IHVzZXItdmlzaWJsZSwgYnV0IGNhbiBiZSBlbmFibGVk
IG9yIGRpc2FibGVkIHRoZSBzYW1lIGFzIGFueSBvdGhlciBvcHRpb24uCisjIENoYW5naW5nIHRo
ZSB2YWx1ZXMgb2YgcHJpdmF0ZSBvcHRpb25zIGlzIHVuc3VwcG9ydGVkOiB5b3Ugc2hvdWxkIGFz
c3VtZSB0aGF0CisjIG9ubHkgZGV2ZWxvcGVycyB3aWxsIGRvIHNvLiBFeHBlcmltZW50YWwgZmVh
dHVyZXMgc2hvdWxkIGJlIHByaXZhdGUuCisjCisjIE5ldmVyIHNpbGVudGx5IGVuYWJsZSBvciBk
aXNhYmxlIGFuIHRoZSBvcHRpb24gYmFzZWQgb24gd2hhdCBkZXZlbG9wbWVudAorIyBwYWNrYWdl
cyBhcmUgaW5zdGFsbGVkLiBJZiB0aGUgb3B0aW9uIGlzIGVuYWJsZWQgYnkgZGVmYXVsdCBhbmQg
YW4gb3B0aW9uYWwKKyMgZGVwZW5kZW5jeSBuZWVkZWQgZm9yIGl0IGlzIG1pc3NpbmcsIGZhaWwg
dGhlIGJ1aWxkIHdpdGggYSBuaWNlLCBjdXN0b20gZXJyb3IKKyMgbWVzc2FnZSAocmF0aGVyIHRo
YW4gcmVseWluZyBvbiB0aGUgUkVRVUlSRUQgcGFyYW1ldGVyIG9mIGZpbmRfcGFja2FnZSkuIElm
CisjIGl0J3MgZGlzYWJsZWQgYnkgZGVmYXVsdCwgaXQgc2hvdWxkIG5vdCBiZSBlbmFibGVkIHVu
bGVzcyB0aGUgdXNlciBleHBsaWNpdGx5CisjIGVuYWJsZXMgaXQuIFVzaW5nIGZpbmRfcGFja2Fn
ZSguLi4gUkVRVUlSRUQpIGlzIGZpbmUgZm9yIG9wdGlvbnMgdGhhdCBhcmUKKyMgZGlzYWJsZWQg
YnkgZGVmYXVsdC4KKwogaW5jbHVkZShHTlVJbnN0YWxsRGlycykKIAogc2V0KFBST0pFQ1RfVkVS
U0lPTl9NQUpPUiAyKQpAQCAtMTEsMTMgKzI5LDYgQEAgc2V0KFdFQktJVEdUS19BUElfVkVSU0lP
TiA0LjApCiBDQUxDVUxBVEVfTElCUkFSWV9WRVJTSU9OU19GUk9NX0xJQlRPT0xfVFJJUExFKFdF
QktJVDIgNDIgMCA1KQogQ0FMQ1VMQVRFX0xJQlJBUllfVkVSU0lPTlNfRlJPTV9MSUJUT09MX1RS
SVBMRShKQVZBU0NSSVBUQ09SRSAxOSAzIDEpCiAKLXNldChFTkFCTEVfQ1JFREVOVElBTF9TVE9S
QUdFIE9OIENBQ0hFIEJPT0wgIldoZXRoZXIgb3Igbm90IHRvIGVuYWJsZSBzdXBwb3J0IGZvciBj
cmVkZW50aWFsIHN0b3JhZ2UgdXNpbmcgbGlic2VjcmV0LiIpCi1zZXQoRU5BQkxFX0dUS0RPQyBP
RkYgQ0FDSEUgQk9PTCAiV2hldGhlciBvciBub3QgdG8gdXNlIGdlbmVyYXRlIGd0a2RvYy4iKQot
c2V0KEVOQUJMRV9YMTFfVEFSR0VUIE9OIENBQ0hFIEJPT0wgIldoZXRoZXIgdG8gZW5hYmxlIHN1
cHBvcnQgZm9yIHRoZSBYMTEgd2luZG93aW5nIHRhcmdldC4iKQotc2V0KEVOQUJMRV9XQVlMQU5E
X1RBUkdFVCBPRkYgQ0FDSEUgQk9PTCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBmb3IgdGhl
IFdheWxhbmQgd2luZG93aW5nIHRhcmdldC4iKQotc2V0KEVOQUJMRV9JTlRST1NQRUNUSU9OIE9O
IENBQ0hFIEJPT0wgIldoZXRoZXIgdG8gZW5hYmxlIEdPYmplY3QgaW50cm9zcGVjdGlvbi4iKQot
c2V0KEVOQUJMRV9HTEVTMiBPRkYgQ0FDSEUgQk9PTCAiV2hldGhlciB0byBlbmFibGUgT3BlbkdM
IEVTIDIuMC4iKQotCiAjIFRoZXNlIGFyZSBzaGFyZWQgdmFyaWFibGVzLCBidXQgd2Ugc3BlY2lh
bCBjYXNlIHRoZWlyIGRlZmluaXRpb24gc28gdGhhdCB3ZSBjYW4gdXNlIHRoZQogIyBDTUFLRV9J
TlNUQUxMXyogdmFyaWFibGVzIHRoYXQgYXJlIHBvcHVsYXRlZCBieSB0aGUgR05VSW5zdGFsbERp
cnMgbWFjcm8uCiBzZXQoTElCX0lOU1RBTExfRElSICIke0NNQUtFX0lOU1RBTExfRlVMTF9MSUJE
SVJ9IiBDQUNIRSBQQVRIICJBYnNvbHV0ZSBwYXRoIHRvIGxpYnJhcnkgaW5zdGFsbGF0aW9uIGRp
cmVjdG9yeSIpCkBAIC01MSw5NyArNjIsNTEgQEAgZmluZF9wYWNrYWdlKEVHTCkKIGZpbmRfcGFj
a2FnZShHZW9DbHVlMiAyLjEuNSkKIGZpbmRfcGFja2FnZShHbnVUTFMgMy4wLjApCiBmaW5kX3Bh
Y2thZ2UoTGliTm90aWZ5KQotCi1pZiAoTk9UIEdFT0NMVUUyX0ZPVU5EKQotICAgIGZpbmRfcGFj
a2FnZShHZW9DbHVlKQotZW5kaWYgKCkKLQotaWYgKEVOQUJMRV9HTEVTMikKLSAgICBmaW5kX3Bh
Y2thZ2UoT3BlbkdMRVMyIFJFUVVJUkVEKQotICAgIGlmIChPUEVOR0xFUzJfRk9VTkQgQU5EIE5P
VChFR0xfRk9VTkQpKQotICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJFR0wgaXMgbmVlZGVk
IGZvciBPcGVuR0wgRVMgMi4wLiIpCi0gICAgZW5kaWYgKCkKLWVsc2UgKCkKLSAgICBmaW5kX3Bh
Y2thZ2UoT3BlbkdMKQotZW5kaWYgKCkKLQotaWYgKEVOQUJMRV9YMTFfVEFSR0VUKQotICAgICMg
V2l0aCBjbWFrZSAzLjIueCB3ZSBoYXZlIHRvIGV4cGxpY2l0bHkgYXNrIGZvciBYMTEgb3RoZXJ3
aXNlIHRoZSBYMTFfWDExX0xJQgotICAgICMgdmFyaWFibGUgd29uJ3QgYmUgc2V0IHRodXMgdGhl
IFgxMSBsaW5rZXIgZmxhZ3Mgd29uJ3QgYmUgYWRkZWQgYW5kIHRoZSBidWlsZAotICAgICMgd2ls
bCBmYWlsLgotICAgIGZpbmRfcGFja2FnZShYMTEgUkVRVUlSRUQpCi0gICAgaWYgKE9QRU5HTF9G
T1VORCkKLSAgICAgICAgIyBXZSBkb24ndCB1c2UgZmluZF9wYWNrYWdlIGZvciBHTFggYmVjYXVz
ZSBpdCBpcyBwYXJ0IG9mIC1sR0wsIHVubGlrZSBFR0wuCi0gICAgICAgIGNoZWNrX2luY2x1ZGVf
ZmlsZXMoIkdML2dseC5oIiBHTFhfRk9VTkQpCi0gICAgZW5kaWYgKCkKLWVuZGlmICgpCi0KLWlm
IChFTkFCTEVfV0FZTEFORF9UQVJHRVQpCi0gICAgZmluZF9wYWNrYWdlKFdheWxhbmQgUkVRVUlS
RUQpCi1lbmRpZiAoKQorZmluZF9wYWNrYWdlKFgxMSkKIAogV0VCS0lUX09QVElPTl9CRUdJTigp
Ci1XRUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMiAiV2hldGhl
ciB0byBidWlsZCBXZWJLaXRQbHVnaW5Qcm9jZXNzMiB0byBsb2FkIEdUSzIgYmFzZWQgcGx1Z2lu
cy4iIE9OKQotV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1JFRElSRUNURURfWENPTVBPU0lURV9X
SU5ET1cgIldoZXRoZXIgdG8gdXNlIGEgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdyBmb3Ig
YWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaW4gWDExLiIgT04pCi0KLWlmICgoT1BFTkdMX0ZPVU5E
IE9SIE9QRU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKLSAgICBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wgT04pCi0KLSAgICBp
ZiAoRU5BQkxFX1gxMV9UQVJHRVQpCi0gICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XIE9OKQotICAgIGVsc2UgKCkK
LSAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoVVNFX1JFRElSRUNURURf
WENPTVBPU0lURV9XSU5ET1cgT0ZGKQotICAgIGVuZGlmICgpCi0KLSAgICBpZiAoT1BFTkdMX0ZP
VU5EKQotICAgICAgICBpZiAoR0xYX0ZPVU5EKQotICAgICAgICAgICAgbGlzdChBUFBFTkQgQ0FJ
Uk9fR0xfQ09NUE9ORU5UUyBjYWlyby1nbHgpCi0gICAgICAgIGVuZGlmICgpCi0gICAgICAgIGlm
IChFR0xfRk9VTkQpCi0gICAgICAgICAgICBsaXN0KEFQUEVORCBDQUlST19HTF9DT01QT05FTlRT
IGNhaXJvLWVnbCkKLSAgICAgICAgZW5kaWYgKCkKLSAgICAgICAgZmluZF9wYWNrYWdlKENhaXJv
R0wgMS4xMC4yIENPTVBPTkVOVFMgJHtDQUlST19HTF9DT01QT05FTlRTfSkKLSAgICAgICAgaWYg
KENBSVJPX0dMX0ZPVU5EKQotICAgICAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBPTikKLSAgICAgICAgZWxzZSAoKQot
ICAgICAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VM
RVJBVEVEXzJEX0NBTlZBUyBPRkYpCi0gICAgICAgIGVuZGlmICgpCi0gICAgZWxzZSAoKQotICAg
ICAgICAjIEZJWE1FOiBTaG91bGQgd2Ugc2VhcmNoIGZvciBjYWlyby1nbGVzdjIgaW5zdGVhZCBv
ZiBjYWlyby1nbCBpbiB0aGlzIGNhc2U/Ci0gICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgT0ZGKQotICAgIGVuZGlmICgp
Ci1lbHNlICgpCi0gICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dF
QkdMIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBPRkYpCi1lbmRpZiAoKQotCi1p
ZiAoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBBTkQgTk9UKENBSVJPX0dMX0ZPVU5EKSkK
LSAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJjYWlyby1nbCBpcyBuZWVkZWQgZm9yIEFjY2VsZXJh
dGVkIDJEIENhbnZhcyBzdXBwb3J0IikKLWVuZGlmICgpCi0KLWlmIChHTlVUTFNfRk9VTkQpCi0g
ICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NVQlRMRV9DUllQVE8g
T04pCi1lbHNlICgpCi0gICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1NVQlRMRV9DUllQVE8gT0ZGKQotZW5kaWYgKCkKIAotaWYgKEVOQUJMRV9TVUJUTEVfQ1JZUFRP
IEFORCBOT1QoR05VVExTX0ZPVU5EKSkKLSAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJTdWJ0bGUg
Y3J5cHRvIHN1cHBvcnQgbmVlZHMgR251VExTIDMuMC4wIikKLWVuZGlmICgpCi0KLWlmIChHRU9D
TFVFMl9GT1VORCBPUiBHRU9DTFVFX0ZPVU5EKQotICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9HRU9MT0NBVElPTiBPTikKLWVsc2UgKCkKLSAgICBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfR0VPTE9DQVRJT04gT0ZGKQotZW5kaWYgKCkK
KyMgVGhlc2UgZmVhdHVyZXMgYXJlIHB1YmxpYyBiZWNhdXNlIHRoZXkgcmVxdWlyZSBvcHRpb25h
bCBkZXBlbmRlbmNpZXMuCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
R0VPTE9DQVRJT04gT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
U1BFTExDSEVDSyBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9T
VUJUTEVfQ1JZUFRPIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1ZJREVPIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQl9B
VURJTyBPTikKIAorIyBUaGVzZSBmZWF0dXJlcyBhcmUgcHVibGljIGJlYWN1c2UgdGhleSBhcmVu
J3QgbmVlZGVkIGluIGVtYmVkZGVkIHN5c3RlbXMuCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0lDT05EQVRBQkFTRSBPTikKKworIyBUaGVzZSBmZWF0dXJlcyBhcmUg
cHVibGljIGJlY2F1c2UgdGhleSBtYXkgYmUgbmVlZGVkIHRvIGJ1aWxkIG9uIG5vbi14ODYuCitX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTExJTlRfQ19MT09QIE9GRikK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9KSVQgT04pCitXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfU1lTVEVNX01BTExPQyBPRkYpCisKKyMgUHVi
bGljIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIEdUSysgcG9ydCBnbyBoZXJlLgorV0VCS0lUX09Q
VElPTl9ERUZJTkVfUFVCTElDKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UgIldoZXRoZXIgb3Ig
bm90IHRvIGVuYWJsZSBzdXBwb3J0IGZvciBjcmVkZW50aWFsIHN0b3JhZ2UgdXNpbmcgbGlic2Vj
cmV0LiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9QVUJMSUMoRU5BQkxFX0dUS0RPQyAiV2hl
dGhlciBvciBub3QgdG8gdXNlIGdlbmVyYXRlIGd0a2RvYy4iIE9GRikKK1dFQktJVF9PUFRJT05f
REVGSU5FX1BVQkxJQyhFTkFCTEVfSU5UUk9TUEVDVElPTiAiV2hldGhlciB0byBlbmFibGUgR09i
amVjdCBpbnRyb3NwZWN0aW9uLiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9QVUJMSUMoRU5B
QkxFX1BMVUdJTl9QUk9DRVNTX0dUSzIgIldoZXRoZXIgdG8gYnVpbGQgV2ViS2l0UGx1Z2luUHJv
Y2VzczIgdG8gbG9hZCBHVEsyIGJhc2VkIHBsdWdpbnMuIiBPTikKK1dFQktJVF9PUFRJT05fREVG
SU5FX1BVQkxJQyhFTkFCTEVfWDExX1RBUkdFVCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9ydCBm
b3IgdGhlIFgxMSB3aW5kb3dpbmcgdGFyZ2V0LiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklORV9Q
VUJMSUMoRU5BQkxFX1dBWUxBTkRfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZv
ciB0aGUgV2F5bGFuZCB3aW5kb3dpbmcgdGFyZ2V0LiIgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJ
TkVfUFVCTElDKFVTRV9MSUJOT1RJRlkgIldoZXRoZXIgbGlibm90aWZ5IG1heSBiZSB1c2VkIHRv
IGRpc3BsYXkgZGVza3RvcCBub3RpZmljYXRpb25zLiIgT04pCitXRUJLSVRfT1BUSU9OX0RFRklO
RV9QVUJMSUMoVVNFX09QRU5HTCAiV2hldGhlciB0byB1c2UgT3BlbkdMIGZvciBoYXJkd2FyZSBh
Y2NlbGVyYXRpb24gYW5kIFdlYkdMIiBPTikKKworV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxF
XzNEX1JFTkRFUklORyBVU0VfT1BFTkdMKQorV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0FD
Q0VMRVJBVEVEXzJEX0NBTlZBUyBVU0VfT1BFTkdMKQorV0VCS0lUX09QVElPTl9ERVBFTkQoRU5B
QkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgVVNFX09QRU5HTCkKK1dFQktJVF9PUFRJT05fREVQRU5E
KEVOQUJMRV9XRUJHTCBVU0VfT1BFTkdMKQorCisjIFRoaW5rIGhhcmQgYmVmb3JlIGFkZGRpbmcg
bW9yZSBvcHRpb25zIGhlcmUuIERldmVsb3BlcnMgdXNpbmcgQ01ha2UgZGlyZWN0bHkKKyMgaW5z
dGVhZCBvZiBidWlsZC13ZWJraXQgc2hvdWxkIGdldCBtb3N0bHkgdGhlIHNhbWUgYnVpbGQgb3B0
aW9ucyBhcyB1c2Vycy4KKyMgSW5zdGVhZCwgbW9kaWZ5IFRvb2xzL1NjcmlwdHMvd2Via2l0cGVy
bC9GZWF0dXJlTGlzdC5wbSB0byBvdmVycmlkZSBkZWZhdWx0CisjIHZhbHVlcyBmb3IgZGV2ZWxv
cGVycywgZS5nLiB0byBlbmFibGUgZXhwZXJpbWVudGFsIGZlYXR1cmVzLgogaWYgKERFVkVMT1BF
Ul9NT0RFKQogICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSU5J
QlJPV1NFUiBPTikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
QVBJX1RFU1RTIE9OKQorICAgIFdFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJM
RV9BUElfVEVTVFMgT04pCiBlbHNlICgpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX01JTklCUk9XU0VSIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQVBJX1RFU1RTIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX1BSSVZB
VEVfUE9SVF9WQUxVRShFTkFCTEVfQVBJX1RFU1RTIE9GRikKICAgICBzZXQoV2ViS2l0Ml9WRVJT
SU9OX1NDUklQVCAiLVdsLC0tdmVyc2lvbi1zY3JpcHQsJHtDTUFLRV9NT0RVTEVfUEFUSH0vZ3Rr
c3ltYm9scy5maWx0ZXIiKQogZW5kaWYgKCkKIApAQCAtMTUxLDg0ICsxMTYsNzcgQEAgZWxzZSAo
KQogICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NRU1PUllfU0FN
UExFUiBPRkYpCiBlbmRpZiAoKQogCi0jIEZJWE1FOiBXZSB3YW50IHRvIGV4cG9zZSBmZXdlciBv
cHRpb25zIHRvIGRvd25zdHJlYW0sIGJ1dCBmb3Igbm93IGV2ZXJ5dGhpbmcgaXMgcHVibGljLgot
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFXzNEX1JFTkRFUklORyBPTikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFU1NJQklMSVRZIE9O
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0JBVFRFUllfU1RBVFVT
IE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DQU5WQVNfUEFU
SCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTM19URVhU
IE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfREVWSUNF
X0FEQVBUQVRJT04gT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X0NTU19HUklEX0xBWU9VVCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTX0lNQUdFX1NFVCBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9DU1NfUkVHSU9OUyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgT0ZGKQotV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFMSVNUX0VMRU1FTlQgT0ZGKQotV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FEX0FUVFJJQlVURSBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIE9O
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJ
QSBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVE
X01FRElBX1YyIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9G
SUxURVJTX0xFVkVMXzIgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0ZUUERJUiBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
RlVMTFNDUkVFTl9BUEkgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfR0FNRVBBRCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
R0FNRVBBRF9ERVBSRUNBVEVEIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgT0ZGKQotV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOUFVUX1RZUEVfQ09MT1IgT04pCi1XRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX1dFQl9BVURJTyBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTElOS19QUkVGRVRDSCBP
RkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFfQ0FQVFVS
RSBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVESUFfQ09O
VFJPTFNfU0NSSVBUIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X01IVE1MIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05BVklH
QVRPUl9DT05URU5UX1VUSUxTIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJSRU5DWSBPTikKLVdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIE9OKQotV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05PVElGSUNBVElPTlMgT04pCi1XRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUElDVFVSRV9TSVpFUyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9RVU9UQSBPRkYpCi1XRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVTT0xVVElPTl9NRURJQV9RVUVSWSBPRkYpCi1X
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05f
RlJBTUUgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0VDQ09N
UF9GSUxURVJTIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9T
UEVMTENIRUNLIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RF
TVBMQVRFX0VMRU1FTlQgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfVE9VQ0hfRVZFTlRTIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX1VTRVJfTUVTU0FHRV9IQU5ETEVSUyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1ZJREVPIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1ZJREVPX1RSQUNLIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfV0VCX0FVRElPIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX1dFQl9USU1JTkcgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfWEhSX1RJTUVPVVQgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfTkVUV09SS19QUk9DRVNTIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgT0ZGKQotV0VCS0lUX09QVElP
Tl9FTkQoKQotCi1pZiAoTElCTk9USUZZX0ZPVU5EKQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdU
Rl9VU0VfTElCTk9USUZZPTEpCi1lbHNlICgpCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VT
RV9MSUJOT1RJRlk9MCkKLWVuZGlmICgpCi0KLWlmIChFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RL
MikKLSAgICBmaW5kX3BhY2thZ2UoR1RLMiAyLjI0LjEwIFJFUVVJUkVEKQotICAgIGZpbmRfcGFj
a2FnZShHREsyIDIuMjQuMTAgUkVRVUlSRUQpCi0gICAgYWRkX2RlZmluaXRpb25zKC1ERU5BQkxF
X1BMVUdJTl9QUk9DRVNTX0dUSzI9MSkKLWVuZGlmICgpCisjIFRoZXNlIG9wdGlvbnMgYXJlIHBy
aXZhdGUgYmVjYXVzZSB0aGV5IGFyZSBleHBlcmltZW50YWwuCitXRUJLSVRfT1BUSU9OX0RFRklO
RShFTkFCTEVfR0xFUzIgIldoZXRoZXIgdG8gZW5hYmxlIHVzZSBvZiBPcGVuR0wgRVMgMi4wLiIg
T0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dTVFJFQU1FUl9NUEVHVFMgIldoZXRoZXIg
dG8gZW5hYmxlIHN1cHBvcnQgZm9yIE1QRUctVFMuIiBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRklO
RShVU0VfR1NUUkVBTUVSX0dMICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBHU3RyZWFt
ZXIgR0wuIiBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfT1BFTldFQlJUQyAiV2hldGhl
ciB0byBlbmFibGUgc3VwcG9ydCBmb3IgV2ViUlRDLiIgT0ZGKQogCi1pZiAoRU5BQkxFX1gxMV9U
QVJHRVQpCi0gICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1BMQVRGT1JNX1gxMT0xKQotICAgIGFk
ZF9kZWZpbml0aW9ucygtRE1PWl9YMTE9MSkKLSAgICBpZiAoV1RGX09TX1VOSVgpCi0gICAgICAg
IGFkZF9kZWZpbml0aW9ucygtRFhQX1VOSVgpCi0gICAgZW5kaWYgKCkKLWVuZGlmICgpCisjIFNo
b3VsZCBuZXZlciBiZSBuZWVkZWQuIERpc2FibGUgdG8gd29ya2Fyb3VuZCBoYXJkd2FyZSBzdXBw
b3J0IGlzc3Vlcy4KK1dFQktJVF9PUFRJT05fREVGSU5FKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XICJXaGV0aGVyIHRvIHVzZSBhIFJlZGlyZWN0ZWQgWENvbXBvc2l0ZSBXaW5kb3cg
Zm9yIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGluIFgxMS4iIE9OKQogCi1pZiAoRU5BQkxFX1dB
WUxBTkRfVEFSR0VUKQotICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9QTEFURk9STV9XQVlMQU5E
PTEpCi1lbmRpZiAoKQorIyBGSVhNRSBPbmx5IHRoZSBsYXN0IGRlcGVuZGVuY3kgaXMgZW5mb3Jj
ZWQuIFdFQktJVF9PUFRJT05fREVQRU5EIHNob3VsZCBiZSBhYmxlIHRvIGV4cHJlc3MgbXVsdGlw
bGUgZGVwZW5kZW5jaWVzLgorV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0dMRVMyIFVTRV9P
UEVOR0wpCitXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfR1NUUkVBTUVSX0dMIEVOQUJMRV9WSURF
TykKK1dFQktJVF9PUFRJT05fREVQRU5EKFVTRV9HU1RSRUFNRVJfR0wgVVNFX09QRU5HTCkKK1dF
QktJVF9PUFRJT05fREVQRU5EKFVTRV9PUEVOV0VCUlRDIEVOQUJMRV9NRURJQV9TVFJFQU0pCitX
RUJLSVRfT1BUSU9OX0RFUEVORChVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBFTkFC
TEVfWDExX1RBUkdFVCkKK1dFQktJVF9PUFRJT05fREVQRU5EKFVTRV9SRURJUkVDVEVEX1hDT01Q
T1NJVEVfV0lORE9XIFVTRV9PUEVOR0wpCisKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZB
TFVFKEVOQUJMRV8zRF9SRU5ERVJJTkcgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9W
QUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIE9OKQorV0VCS0lUX09QVElPTl9QUklW
QVRFX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VTU0lCSUxJVFkgT04pCitXRUJLSVRfT1BUSU9OX1BS
SVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQkFUVEVSWV9TVEFUVVMgT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NBTlZBU19QQVRIIE9GRikKK1dFQktJVF9PUFRJ
T05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9DU1MzX1RFWFQgT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTiBPRkYpCitX
RUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0dSSURfTEFZT1VUIE9G
RikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VU
IE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19SRUdJT05T
IE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19TRUxFQ1RP
UlNfTEVWRUw0IE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0NV
U1RPTV9TQ0hFTUVfSEFORExFUiBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxV
RShFTkFCTEVfREFUQUxJU1RfRUxFTUVOVCBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9S
VF9WQUxVRShFTkFCTEVfRE9XTkxPQURfQVRUUklCVVRFIE9GRikKK1dFQktJVF9PUFRJT05fUFJJ
VkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBPRkYpCitXRUJL
SVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfRklMVEVSU19MRVZFTF8yIE9GRikK
K1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgT0ZGKQorV0VC
S0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIE9OKQor
V0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQUQgT0ZGKQorV0VC
S0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBP
RkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfSU5ERVhFRF9EQVRB
QkFTRSBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfSU5ERVhF
RF9EQVRBQkFTRV9JTl9XT1JLRVJTIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZB
TFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BP
UlRfVkFMVUUoRU5BQkxFX0xFR0FDWV9XRUJfQVVESU8gT0ZGKQorV0VCS0lUX09QVElPTl9QUklW
QVRFX1BPUlRfVkFMVUUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggT0ZGKQorV0VCS0lUX09QVElPTl9Q
UklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NBUFRVUkUgT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCBPTikKK1dF
QktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBPTikKK1dFQktJVF9P
UFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBP
RkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfTkFWSUdBVE9SX0hX
Q09OQ1VSUkVOQ1kgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVf
TkVUU0NBUEVfUExVR0lOX0FQSSBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVF
KEVOQUJMRV9ORVRXT1JLX1BST0NFU1MgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9W
QUxVRShFTkFCTEVfTk9USUZJQ0FUSU9OUyBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JU
X1ZBTFVFKEVOQUJMRV9QSUNUVVJFX1NJWkVTIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BP
UlRfVkFMVUUoRU5BQkxFX1FVT1RBIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZB
TFVFKEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIE9GRikKK1dFQktJVF9PUFRJT05fUFJJ
VkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBPTikKK1dFQktJ
VF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9TRUNDT01QX0ZJTFRFUlMgT0ZGKQor
V0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX1RFTVBMQVRFX0VMRU1FTlQg
T04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfVEhSRUFERURfQ09N
UE9TSVRPUiBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfVE9V
Q0hfRVZFTlRTIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX1VT
RVJTRUxFQ1RfQUxMIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxF
X1VTRVJfTUVTU0FHRV9IQU5ETEVSUyBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZB
TFVFKEVOQUJMRV9WSUJSQVRJT04gT0ZGKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFM
VUUoRU5BQkxFX1ZJREVPX1RSQUNLIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFM
VUUoRU5BQkxFX1ZJRVdfTU9ERV9DU1NfTUVESUEgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVf
UE9SVF9WQUxVRShFTkFCTEVfV0VCX1RJTUlORyBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9Q
T1JUX1ZBTFVFKEVOQUJMRV9YSFJfVElNRU9VVCBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9Q
T1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBPTikKKworIyBUaGlzIG1ha2VzIHRoZSBhYm92ZSBvcHRp
b25zIGF2YWlsYWJsZSBhcyBDTWFrZSB2YXJpYWJsZXMuCisjIEl0J3MgdW5zYWZlIHRvIGNoYW5n
ZSB0aGUgdmFsdWVzIG9mIG9wdGlvbnMgcGFzdCB0aGlzIHBvaW50LgorV0VCS0lUX09QVElPTl9F
TkQoKQogCiBzZXQoRU5BQkxFX1dFQktJVCBPRkYpCiBzZXQoRU5BQkxFX1dFQktJVDIgT04pCkBA
IC0yNjMsNiArMjIxLDEwMyBAQCBpZiAoREVWRUxPUEVSX01PREUpCiAgICAgYWRkX2RlZmluaXRp
b25zKC1EREVWRUxPUE1FTlRfQlVJTEQ9MSkKIGVuZGlmICgpCiAKK2lmIChVU0VfTElCTk9USUZZ
KQorICAgIGlmIChMSUJOT1RJRllfRk9VTkQpCisgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdU
Rl9VU0VfTElCTk9USUZZPTEpCisgICAgZWxzZSAoKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VS
Uk9SICJsaWJub3RpZnkgZGV2ZWwgZmlsZXMgbWlzc2luZywgaW5zdGFsbCB0aGVtIG9yIHVzZSAt
RFVTRV9MSUJOT1RJRlk9T0ZGIikKKyAgICBlbmRpZiAoKQorZWxzZSAoKQorICAgIGFkZF9kZWZp
bml0aW9ucygtRFdURl9VU0VfTElCTk9USUZZPTApCitlbmRpZiAoKQorCitpZiAoRU5BQkxFX1BM
VUdJTl9QUk9DRVNTX0dUSzIpCisgICAgZmluZF9wYWNrYWdlKEdUSzIgMi4yNC4xMCkKKyAgICBm
aW5kX3BhY2thZ2UoR0RLMiAyLjI0LjEwKQorCisgICAgaWYgKE5PVChHVEsyX0ZPVU5EKSBPUiBO
T1QoR0RLMl9GT1VORCkpCisgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkdUSysgMiBhbmQg
R0RLIDIgPj0gMi4yNC4xMCBkZXZlbCBmaWxlcyBtaXNzaW5nLCBpbnN0YWxsIHRoZW0gb3IgdXNl
IC1ERU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzI9T0ZGIikKKyAgICBlbmRpZiAoKQorZW5kaWYg
KCkKKworaWYgKEVOQUJMRV9HTEVTMikKKyAgICBmaW5kX3BhY2thZ2UoT3BlbkdMRVMyIFJFUVVJ
UkVEKQorICAgIGlmIChOT1QgRUdMX0ZPVU5EKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9S
ICJFR0wgaXMgbmVlZGVkIGZvciBPcGVuR0wgRVMgMi4wLiIpCisgICAgZW5kaWYgKCkKK2Vsc2Ug
KCkKKyAgICBmaW5kX3BhY2thZ2UoT3BlbkdMKQorZW5kaWYgKCkKKworaWYgKEVOQUJMRV9YMTFf
VEFSR0VUKQorICAgIGlmIChOT1QgWDExX0ZPVU5EKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VS
Uk9SICJYMTEgZGV2ZWwgZmlsZXMgbWlzc2luZywgaW5zdGFsbCB0aGVtIG9yIHVzZSAtREVOQUJM
RV9YMTFfVEFSR0VUPU9GRiIpCisgICAgZW5kaWYgKCkKKworICAgIGlmIChPUEVOR0xfRk9VTkQp
CisgICAgICAgICMgVGhpcyBwYXJ0IGNhbiBiZSBzaW1wbGlmaWVkIG9uY2UgQ01ha2UgMi44LjYg
aXMgcmVxdWlyZWQgYW5kCisgICAgICAgICMgQ01ha2VQdXNoQ2hlY2tTdGF0ZSBjYW4gYmUgdXNl
ZC4gV2UgbmVlZCB0byBoYXZlIE9QRU5HTF9JTkNMVURFX0RJUiBhcyBwYXJ0CisgICAgICAgICMg
b2YgdGhlIGRpcmVjdG9yaWVzIGNoZWNrX2luY2x1ZGVfZmlsZXMoKSBsb29rcyBmb3IgaW4gY2Fz
ZSBPcGVuR0wgaXMKKyAgICAgICAgIyBpbnN0YWxsZWQgaW50byBhIG5vbi1zdGFuZGFyZCBsb2Nh
dGlvbi4KKyAgICAgICAgc2V0KFJFUVVJUkVEX0lOQ0xVREVTX09MRCAke0NNQUtFX1JFUVVJUkVE
X0lOQ0xVREVTfSkKKyAgICAgICAgc2V0KENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTICR7Q01BS0Vf
UkVRVUlSRURfSU5DTFVERVN9ICR7T1BFTkdMX0lOQ0xVREVfRElSfSkKKyAgICAgICAgIyBXZSBk
b24ndCB1c2UgZmluZF9wYWNrYWdlIGZvciBHTFggYmVjYXVzZSBpdCBpcyBwYXJ0IG9mIC1sR0ws
IHVubGlrZSBFR0wuCisgICAgICAgIGNoZWNrX2luY2x1ZGVfZmlsZXMoIkdML2dseC5oIiBHTFhf
Rk9VTkQpCisgICAgICAgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAke1JFUVVJUkVEX0lO
Q0xVREVTX09MRH0pCisgICAgZW5kaWYgKCkKKworICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9Q
TEFURk9STV9YMTE9MSkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURNT1pfWDExPTEpCisgICAgaWYg
KFdURl9PU19VTklYKQorICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURYUF9VTklYKQorICAgIGVu
ZGlmICgpCitlbmRpZiAoKQorCitpZiAoRU5BQkxFX1dBWUxBTkRfVEFSR0VUKQorICAgIGlmIChF
TkFCTEVfWDExX1RBUkdFVCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiRU5BQkxFX1dB
WUxBTkRfVEFSR0VUIGFuZCBFTkFCTEVfWDExX1RBUkdFVCBhcmUgaW5jb21wYXRpYmxlLCB5b3Ug
bXVzdCB0dXJuIG9uZSBvZmYiKQorICAgIGVuZGlmICgpCisKKyAgICBmaW5kX3BhY2thZ2UoV2F5
bGFuZCBSRVFVSVJFRCkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfUExBVEZPUk1fV0FZTEFO
RD0xKQorZW5kaWYgKCkKKworaWYgKFVTRV9PUEVOR0wpCisgICAgaWYgKChOT1QgT1BFTkdMX0ZP
VU5EIEFORCBOT1QgT1BFTkdMRVMyX0ZPVU5EKSBPUiAoTk9UIEdMWF9GT1VORCBBTkQgTk9UIEVH
TF9GT1VORCkpCisgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIk9wZW5HTCBzdXBwb3J0IG1p
c3NpbmcsIGluc3RhbGwgb3IgZGlzYWJsZSB3aXRoIC1EVVNFX09QRU5HTD1PRkYiKQorICAgIGVu
ZGlmICgpCisKKyAgICBpZiAoT1BFTkdMX0ZPVU5EKQorICAgICAgICBpZiAoR0xYX0ZPVU5EKQor
ICAgICAgICAgICAgbGlzdChBUFBFTkQgQ0FJUk9fR0xfQ09NUE9ORU5UUyBjYWlyby1nbHgpCisg
ICAgICAgIGVuZGlmICgpCisgICAgICAgIGlmIChFR0xfRk9VTkQpCisgICAgICAgICAgICBsaXN0
KEFQUEVORCBDQUlST19HTF9DT01QT05FTlRTIGNhaXJvLWVnbCkKKyAgICAgICAgZW5kaWYgKCkK
KyAgICAgICAgZmluZF9wYWNrYWdlKENhaXJvR0wgMS4xMC4yIENPTVBPTkVOVFMgJHtDQUlST19H
TF9DT01QT05FTlRTfSkKKyAgICAgICAgaWYgKE5PVCBDQUlST19HTF9GT1VORCBBTkQgRU5BQkxF
X0FDQ0VMRVJBVEVEXzJEX0NBTlZBUykKKyAgICAgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1Ig
IkNhaXJvR0wgc3VwcG9ydCBtaXNzaW5nLCBpbnN0YWxsIG9yIHVzZSAtREVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVM9T0ZGIikKKyAgICAgICAgZW5kaWYgKCkKKyAgICBlbHNlICgpCisgICAg
ICAgICMgRklYTUU6IFNob3VsZCB3ZSBzZWFyY2ggZm9yIGNhaXJvLWdsZXN2MiBpbnN0ZWFkIG9m
IGNhaXJvLWdsIGluIHRoaXMgY2FzZT8KKyAgICAgICAgaWYgKEVOQUJMRV9BQ0NFTEVSQVRFRF8y
RF9DQU5WQVMpCisgICAgICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJDYWlyb0dMIHN1cHBv
cnQgbWlzc2luZywgaW5zdGFsbCBvciB1c2UgLURFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFT
PU9GRiIpCisgICAgICAgIGVuZGlmICgpCisgICAgZW5kaWYgKCkKKworICAgIGlmIChFR0xfRk9V
TkQpCisgICAgICAgIHNldChXVEZfVVNFX0VHTCAxKQorICAgIGVuZGlmICgpCisKKyAgICBpZiAo
R0xYX0ZPVU5EKQorICAgICAgICBzZXQoV1RGX1VTRV9HTFggMSkKKyAgICBlbmRpZiAoKQorZW5k
aWYgKCkKKworaWYgKEVOQUJMRV9TVUJUTEVfQ1JZUFRPIEFORCBOT1QgR05VVExTX0ZPVU5EKQor
ICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkdudVRMUyA+PSAzLjAuMCBkZXZlbCBmaWxlcyBtaXNz
aW5nLCBpbnN0YWxsIHRoZW0gb3IgdXNlIC1ERU5BQkxFX1NVQlRMRV9DUllQVE89T0ZGIikKK2Vu
ZGlmICgpCisKIGlmIChFTkFCTEVfVklERU8gT1IgRU5BQkxFX1dFQl9BVURJTykKICAgICBzZXQo
R1NUUkVBTUVSX0NPTVBPTkVOVFMgYXBwIHBidXRpbHMpCiAgICAgYWRkX2RlZmluaXRpb25zKC1E
V1RGX1VTRV9HU1RSRUFNRVIpCkBAIC0yNzUsMTEgKzMzMCwyNiBAQCBpZiAoRU5BQkxFX1ZJREVP
IE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0Vf
V0VCQVVESU9fR1NUUkVBTUVSKQogICAgIGVuZGlmICgpCiAKLSAgICBmaW5kX3BhY2thZ2UoR1N0
cmVhbWVyIDEuMC4zIFJFUVVJUkVEIENPTVBPTkVOVFMgJHtHU1RSRUFNRVJfQ09NUE9ORU5UU30p
CisgICAgZmluZF9wYWNrYWdlKEdTdHJlYW1lciAxLjAuMyBDT01QT05FTlRTICR7R1NUUkVBTUVS
X0NPTVBPTkVOVFN9KQorCisgICAgaWYgKE5PVCBHU1RSRUFNRVJfRk9VTkQpCisgICAgICAgIG1l
c3NhZ2UoRkFUQUxfRVJST1IgIkdTdHJlYW1lciBkZXZlbCBmaWxlcyBtaXNzaW5nLCBpbnN0YWxs
IHRoZW0gb3IgdXNlIC1ERU5BQkxFX1ZJREVPPU9GRiAtREVOQUJMRV9XRUJfQVVESU89T0ZGIikK
KyAgICBlbmRpZiAoKQogCi0gICAgaWYgKFBDX0dTVFJFQU1FUl9NUEVHVFNfRk9VTkQpCi0gICAg
ICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSX01QRUdUUykKLSAgICAgICAg
c2V0KFVTRV9HU1RSRUFNRVJfTVBFR1RTIFRSVUUpCisgICAgaWYgKFVTRV9HU1RSRUFNRVJfR0wp
CisgICAgICAgIGlmIChQQ19HU1RSRUFNRVJfR0xfRk9VTkQpCisgICAgICAgICAgICBhZGRfZGVm
aW5pdGlvbnMoLURXVEZfVVNFX0dTVFJFQU1FUl9HTCkKKyAgICAgICAgZWxzZSAoKQorICAgICAg
ICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiR1N0cmVhbWVyIEdMIHN1cHBvcnQgbWlzc2luZyIp
CisgICAgICAgIGVuZGlmICgpCisgICAgZW5kaWYgKCkKKworICAgIGlmIChVU0VfR1NUUkVBTUVS
X01QRUdUUykKKyAgICAgICAgaWYgKFBDX0dTVFJFQU1FUl9NUEVHVFNfRk9VTkQpCisgICAgICAg
ICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0dTVFJFQU1FUl9NUEVHVFMpCisgICAgICAg
IGVsc2UgKCkKKyAgICAgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkdTdHJlYW1lciBNUEVH
LVRTIHN1cHBvcnQgbWlzc2luZyIpCisgICAgICAgIGVuZGlmICgpCiAgICAgZW5kaWYgKCkKIGVu
ZGlmICgpCiAKQEAgLTMwMyw2ICszNzMsMTQgQEAgZW5kaWYgKCkKIGZpbmRfcGFja2FnZShHTElC
IDIuMzMuMiBSRVFVSVJFRCBDT01QT05FTlRTICR7Z2xpYl9jb21wb25lbnRzfSkKIAogaWYgKEVO
QUJMRV9HRU9MT0NBVElPTikKKyAgICBpZiAoTk9UIEdFT0NMVUUyX0ZPVU5EKQorICAgICAgICBm
aW5kX3BhY2thZ2UoR2VvQ2x1ZSkKKyAgICBlbmRpZiAoKQorCisgICAgaWYgKE5PVCBHRU9DTFVF
Ml9GT1VORCBBTkQgTk9UIEdFT0NMVUVfRk9VTkQpCisgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJS
T1IgIllvdSBuZWVkIHRvIGluc3RhbGwgR2VvY2x1ZSBvciB1c2UgLURFTkFCTEVfR0VPTE9DQVRJ
T049T0ZGIikKKyAgICBlbmRpZiAoKQorCiAgICAgaWYgKEdFT0NMVUUyX0ZPVU5EKQogICAgICAg
c2V0KFdURl9VU0VfR0VPQ0xVRTIgMSkKICAgICBlbHNlICgpCkBAIC0zMTAsMTEgKzM4OCw5IEBA
IGlmIChFTkFCTEVfR0VPTE9DQVRJT04pCiAgICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKLWlmIChF
TkFCTEVfTUVESUFfU1RSRUFNKQotICAgIGZpbmRfcGFja2FnZShPcGVuV2ViUlRDKQotICAgIGlm
IChPUEVOV0VCUlRDX0ZPVU5EKQotICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX09Q
RU5XRUJSVEMpCi0gICAgZW5kaWYgKCkKK2lmIChVU0VfT1BFTldFQlJUQykKKyAgICBmaW5kX3Bh
Y2thZ2UoT3BlbldlYlJUQyBSRVFVSVJFRCkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNF
X09QRU5XRUJSVEMpCiBlbmRpZiAoKQogCiBmaW5kX3BhY2thZ2UoR1RLVW5peFByaW50KQpAQCAt
MzI0LDQ1ICs0MDAsMzIgQEAgZW5kaWYgKCkKIAogaWYgKEVOQUJMRV9DUkVERU5USUFMX1NUT1JB
R0UpCiAgICAgZmluZF9wYWNrYWdlKExpYnNlY3JldCkKLSAgICBzZXQoRU5BQkxFX0NSRURFTlRJ
QUxfU1RPUkFHRSAxKQorICAgIGlmIChOT1QgTElCU0VDUkVUX0ZPVU5EKQorICAgICAgICBtZXNz
YWdlKEZBVEFMX0VSUk9SICJZb3UgbmVlZCB0byBpbnN0YWxsIGxpYnNlY3JldCBvciB1c2UgLURF
TkFCTEVfQ1JFREVOVElBTF9TVE9SQUdFPU9GRiIpCisgICAgZW5kaWYgKCkKIGVuZGlmICgpCiAK
IGlmIChHVEtfU1VQUE9SVFNfR0VTVFVSRVMpCiAgICAgYWRkX2RlZmluaXRpb25zKC1ESEFWRV9H
VEtfR0VTVFVSRVM9MSkKIGVuZGlmICgpCiAKLSMgVGhpcyBwYXJ0IGNhbiBiZSBzaW1wbGlmaWVk
IG9uY2UgQ01ha2UgMi44LjYgaXMgcmVxdWlyZWQgYW5kCi0jIENNYWtlUHVzaENoZWNrU3RhdGUg
Y2FuIGJlIHVzZWQuIFdlIG5lZWQgdG8gaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVIgYXMgcGFydAot
IyBvZiB0aGUgZGlyZWN0b3JpZXMgY2hlY2tfaW5jbHVkZV9maWxlcygpIGxvb2tzIGZvciBpbiBj
YXNlIE9wZW5HTCBpcwotIyBpbnN0YWxsZWQgaW50byBhIG5vbi1zdGFuZGFyZCBsb2NhdGlvbi4K
LWlmIChFTkFCTEVfWDExX1RBUkdFVCkKLSAgICBzZXQoUkVRVUlSRURfSU5DTFVERVNfT0xEICR7
Q01BS0VfUkVRVUlSRURfSU5DTFVERVN9KQotICAgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURF
UyAke0NNQUtFX1JFUVVJUkVEX0lOQ0xVREVTfSAke09QRU5HTF9JTkNMVURFX0RJUn0pCi0gICAg
c2V0KENNQUtFX1JFUVVJUkVEX0lOQ0xVREVTICR7UkVRVUlSRURfSU5DTFVERVNfT0xEfSkKK2lm
IChFTkFCTEVfU1BFTExDSEVDSykKKyAgICBmaW5kX3BhY2thZ2UoRW5jaGFudCkKIAotICAgIGlm
IChHTFhfRk9VTkQpCi0gICAgICAgIHNldChXVEZfVVNFX0dMWCAxKQorICAgIGlmIChOT1QgUENf
RU5DSEFOVF9GT1VORCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiWW91IG5lZWQgdG8g
aW5zdGFsbCBFbmNoYW50IG9yIGJ1aWxkIHdpdGggLURFTkFCTEVfU1BFTExDSEVDSz1PRkYiKQog
ICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCi1pZiAoRUdMX0ZPVU5EKQotICAgIHNldChXVEZfVVNF
X0VHTCAxKQotZW5kaWYgKCkKLQotaWYgKEVOQUJMRV9TUEVMTENIRUNLKQotICAgIGZpbmRfcGFj
a2FnZShFbmNoYW50IFJFUVVJUkVEKQotZW5kaWYgKCkKLQotaWYgKChPUEVOR0xfRk9VTkQgT1Ig
T1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQoraWYgKFVTRV9P
UEVOR0wpCiAgICAgc2V0KEVOQUJMRV9URVhUVVJFX01BUFBFUiAxKQogICAgIHNldChXVEZfVVNF
XzNEX0dSQVBISUNTIDEpCiAKICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFXzNEX0dSQVBI
SUNTPTEpCiAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUj0xKQog
ICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfVEVYVFVSRV9NQVBQRVJfR0w9MSkKLSAgICBh
ZGRfZGVmaW5pdGlvbnMoLURFTkFCTEVfM0RfUkVOREVSSU5HPTEpCiAKLSAgICBpZiAoRU5BQkxF
X1gxMV9UQVJHRVQgQU5EIFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQorICAgIGlm
IChVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICAgICAgYWRkX2RlZmluaXRp
b25zKC1EV1RGX1VTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XPTEpCiAgICAgZW5kaWYg
KCkKIApAQCAtMzg3LDE1ICs0NTAsMTAgQEAgaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMy
X0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQogICAgICAgICBhZGRfZGVmaW5p
dGlvbnMoLURXVEZfVVNFX0NPT1JESU5BVEVEX0dSQVBISUNTPTEpCiAgICAgICAgIGFkZF9kZWZp
bml0aW9ucygtRFdURl9VU0VfQ09PUkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQ9MSkKICAgICBl
bmRpZiAoKQotCi0gICAgaWYgKFBDX0dTVFJFQU1FUl9HTF9GT1VORCkKLSAgICAgICAgYWRkX2Rl
ZmluaXRpb25zKC1EV1RGX1VTRV9HU1RSRUFNRVJfR0wpCi0gICAgICAgIHNldChVU0VfR1NUUkVB
TUVSX0dMIFRSVUUpCi0gICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKIGlmIChFTkFCTEVfR0FNRVBB
RF9ERVBSRUNBVEVEKQotICAgIGZpbmRfcGFja2FnZShHVWRldikKKyAgICBmaW5kX3BhY2thZ2Uo
R1VkZXYgUkVRVUlSRUQpCiBlbmRpZiAoKQogCiBpZiAoRU5BQkxFX0ZUTF9KSVQpCmRpZmYgLS1n
aXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYWY2YWQ4Nzk0NzFjNjIxNGQ3ODQwZTRl
OTVjYTNlZmNkYTlkN2I2Ny4uMGFkMDIwMWI0MDM2Y2YyMTYxNDhkNjJmNTJmNjllOGMwZjg0ZjIz
MSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBA
CiAyMDE1LTA0LTExICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4K
IAorICAgICAgICBbR1RLXSBNYXJrIGFzIGFkdmFuY2VkIHRoZSBidWlsZCBvcHRpb25zIHdlIGRv
bid0IHdhbnQgdG8gZXhwb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDM1NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBSZWppZ2dlciB0aGUgc2V0IG9mIG9wdGlvbnMgcHJlc2VudGVkIHRvIHRoZSB1
c2VyLCBoaWRpbmcgbW9zdCBvZiB0aGVtLiBGYWlsIHRoZSBidWlsZCBpZiBhbgorICAgICAgICBv
cHRpb25hbCBkZXBlbmRlbmN5IGZvciBhIGZlYXR1cmUgZW5hYmxlZCBieSBkZWZhdWx0IGlzIG1p
c3NpbmcsIHVubGVzcyB0aGUgdXNlciBleHBsaWNpdGx5CisgICAgICAgIGRpc2FibGVzIHRoZSBm
ZWF0dXJlLCB0byBhdm9pZCBzaWxlbnRseSBkaXNhYmxpbmcgdGhlIGZlYXR1cmUuIFVzZSBwcm9w
ZXIgQ01ha2Ugb3B0aW9ucyBmb3IKKyAgICAgICAgd2hhdCB3ZXJlIHByZXZpb3VzbHkgc2VjcmV0
IGhpZGRlbiB2YXJpYWJsZXMsIHRvIG1ha2Ugc3VyZSBhbGwgb3VyIG9wdGlvbnMgYXJlIHByb3Bl
cmx5CisgICAgICAgIGV4cG9zZWQgdG8gdGhlIHVzZXIuCisKKyAgICAgICAgUmVncmV0YWJseSwg
dGhpcyByZXF1aXJlZCBtb3ZpbmcgYXJvdW5kIGEgc3Vic3RhbnRpYWwgYW1vdW50IG9mIGNvZGUs
IHRvIGVuc3VyZSBvcHRpb25zIGFyZQorICAgICAgICBkZWZpbmVkIGFuZCBmaW5hbGl6ZWQgYmVm
b3JlIHRoZXkgYXJlIHVzZWQuCisKKyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZToKKworMjAxNS0wNC0xMSAgTWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxp
YS5jb20+CisKICAgICAgICAgW0NNYWtlXSBNaXNjZWxsYW5lb3VzIGlzc3VlcyBpbiBXZWJLaXRG
ZWF0dXJlcy5jbWFrZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTQzNjM2CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>250635</attachid>
            <date>2015-04-13 06:44:05 -0700</date>
            <delta_ts>2015-04-21 11:12:01 -0700</delta_ts>
            <desc>[GTK] Mark as advanced the build options we don&apos;t want to expose</desc>
            <filename>bug-143558-20150413084310.patch</filename>
            <type>text/plain</type>
            <size>25530</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgyNjY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDEyZmE0
NzIxNWZmNjQyZWEwMmM0MWYxODI2ZjIwY2FiZDdiYTI1MGIuLmZjNjgzMzlkZTNhZTZhY2U3MDg1
YjRiZTgxODNiNDI2NjNkZmQ3NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0xLDMgKzEsMjEg
QEAKKyMgUnVsZXMgZm9yIGFkZGluZyBidWlsZCBvcHRpb25zOgorIworIyBGZWF0dXJlcyBzaG91
bGQgb25seSBiZSBwdWJsaWMgb3B0aW9ucyBpZiB0aGV5IGFkZCBhIG5ldyBkZXBlbmRlbmN5LCBy
ZXF1aXJlCisjIGEgaGlnaGVyIHZlcnNpb24gb2YgYW4gZXhpc3RpbmcgZGVwZW5kZW5jeSwgb3Ig
aWYgdGhlcmUgaXMgc29tZSBvdGhlciBzdHJvbmcKKyMgcmVhc29uIHRoYXQgdXNlcnMgbXVzdCBi
ZSBhYmxlIHRvIGNob29zZSB3aGV0aGVyIG9yIG5vdCB0byBlbmFibGUgaXQuIEFsbW9zdAorIyBh
bGwgb3B0aW9uYWwgV2ViS2l0IGZlYXR1cmVzIHNob3VsZCBiZSBwcml2YXRlIG9wdGlvbnMuIFBy
aXZhdGUgb3B0aW9ucyBhcmUKKyMgbm90IHVzZXItdmlzaWJsZSwgYnV0IGNhbiBiZSBlbmFibGVk
IG9yIGRpc2FibGVkIHRoZSBzYW1lIGFzIGFueSBvdGhlciBvcHRpb24uCisjIENoYW5naW5nIHRo
ZSB2YWx1ZXMgb2YgcHJpdmF0ZSBvcHRpb25zIGlzIHVuc3VwcG9ydGVkOiB5b3Ugc2hvdWxkIGFz
c3VtZSB0aGF0CisjIG9ubHkgZGV2ZWxvcGVycyB3aWxsIGRvIHNvLiBFeHBlcmltZW50YWwgZmVh
dHVyZXMgc2hvdWxkIGJlIHByaXZhdGUuCisjCisjIE5ldmVyIHNpbGVudGx5IGVuYWJsZSBvciBk
aXNhYmxlIGFuIG9wdGlvbiBiYXNlZCBvbiB3aGF0IGRldmVsb3BtZW50IHBhY2thZ2VzCisjIGFy
ZSBpbnN0YWxsZWQuIElmIHRoZSBvcHRpb24gaXMgZW5hYmxlZCBieSBkZWZhdWx0IGFuZCBhbiBv
cHRpb25hbCBkZXBlbmRlbmN5CisjIG5lZWRlZCBmb3IgaXQgaXMgbWlzc2luZywgZmFpbCB0aGUg
YnVpbGQgd2l0aCBhIG5pY2UsIGN1c3RvbSBlcnJvciBtZXNzYWdlCisjIChyYXRoZXIgdGhhbiBy
ZWx5aW5nIG9uIHRoZSBSRVFVSVJFRCBwYXJhbWV0ZXIgb2YgZmluZF9wYWNrYWdlKS4gSWYgaXQn
cworIyBkaXNhYmxlZCBieSBkZWZhdWx0LCBpdCBzaG91bGQgbm90IGJlIGVuYWJsZWQgdW5sZXNz
IHRoZSB1c2VyIGV4cGxpY2l0bHkKKyMgZW5hYmxlcyBpdC4gVXNpbmcgZmluZF9wYWNrYWdlKC4u
LiBSRVFVSVJFRCkgaXMgZmluZSBmb3Igb3B0aW9ucyB0aGF0IGFyZQorIyBkaXNhYmxlZCBieSBk
ZWZhdWx0LgorCiBpbmNsdWRlKEdOVUluc3RhbGxEaXJzKQogCiBzZXQoUFJPSkVDVF9WRVJTSU9O
X01BSk9SIDIpCkBAIC0xMSwxMyArMjksNiBAQCBzZXQoV0VCS0lUR1RLX0FQSV9WRVJTSU9OIDQu
MCkKIENBTENVTEFURV9MSUJSQVJZX1ZFUlNJT05TX0ZST01fTElCVE9PTF9UUklQTEUoV0VCS0lU
MiA0MiAwIDUpCiBDQUxDVUxBVEVfTElCUkFSWV9WRVJTSU9OU19GUk9NX0xJQlRPT0xfVFJJUExF
KEpBVkFTQ1JJUFRDT1JFIDE5IDMgMSkKIAotc2V0KEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0Ug
T04gQ0FDSEUgQk9PTCAiV2hldGhlciBvciBub3QgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIGNyZWRl
bnRpYWwgc3RvcmFnZSB1c2luZyBsaWJzZWNyZXQuIikKLXNldChFTkFCTEVfR1RLRE9DIE9GRiBD
QUNIRSBCT09MICJXaGV0aGVyIG9yIG5vdCB0byB1c2UgZ2VuZXJhdGUgZ3RrZG9jLiIpCi1zZXQo
RU5BQkxFX1gxMV9UQVJHRVQgT04gQ0FDSEUgQk9PTCAiV2hldGhlciB0byBlbmFibGUgc3VwcG9y
dCBmb3IgdGhlIFgxMSB3aW5kb3dpbmcgdGFyZ2V0LiIpCi1zZXQoRU5BQkxFX1dBWUxBTkRfVEFS
R0VUIE9GRiBDQUNIRSBCT09MICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0aGUgV2F5
bGFuZCB3aW5kb3dpbmcgdGFyZ2V0LiIpCi1zZXQoRU5BQkxFX0lOVFJPU1BFQ1RJT04gT04gQ0FD
SEUgQk9PTCAiV2hldGhlciB0byBlbmFibGUgR09iamVjdCBpbnRyb3NwZWN0aW9uLiIpCi1zZXQo
RU5BQkxFX0dMRVMyIE9GRiBDQUNIRSBCT09MICJXaGV0aGVyIHRvIGVuYWJsZSBPcGVuR0wgRVMg
Mi4wLiIpCi0KICMgVGhlc2UgYXJlIHNoYXJlZCB2YXJpYWJsZXMsIGJ1dCB3ZSBzcGVjaWFsIGNh
c2UgdGhlaXIgZGVmaW5pdGlvbiBzbyB0aGF0IHdlIGNhbiB1c2UgdGhlCiAjIENNQUtFX0lOU1RB
TExfKiB2YXJpYWJsZXMgdGhhdCBhcmUgcG9wdWxhdGVkIGJ5IHRoZSBHTlVJbnN0YWxsRGlycyBt
YWNyby4KIHNldChMSUJfSU5TVEFMTF9ESVIgIiR7Q01BS0VfSU5TVEFMTF9GVUxMX0xJQkRJUn0i
IENBQ0hFIFBBVEggIkFic29sdXRlIHBhdGggdG8gbGlicmFyeSBpbnN0YWxsYXRpb24gZGlyZWN0
b3J5IikKQEAgLTUxLDk3ICs2Miw1MiBAQCBmaW5kX3BhY2thZ2UoRUdMKQogZmluZF9wYWNrYWdl
KEdlb0NsdWUyIDIuMS41KQogZmluZF9wYWNrYWdlKEdudVRMUyAzLjAuMCkKIGZpbmRfcGFja2Fn
ZShMaWJOb3RpZnkpCi0KLWlmIChOT1QgR0VPQ0xVRTJfRk9VTkQpCi0gICAgZmluZF9wYWNrYWdl
KEdlb0NsdWUpCi1lbmRpZiAoKQotCi1pZiAoRU5BQkxFX0dMRVMyKQotICAgIGZpbmRfcGFja2Fn
ZShPcGVuR0xFUzIgUkVRVUlSRUQpCi0gICAgaWYgKE9QRU5HTEVTMl9GT1VORCBBTkQgTk9UKEVH
TF9GT1VORCkpCi0gICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkVHTCBpcyBuZWVkZWQgZm9y
IE9wZW5HTCBFUyAyLjAuIikKLSAgICBlbmRpZiAoKQotZWxzZSAoKQotICAgIGZpbmRfcGFja2Fn
ZShPcGVuR0wpCi1lbmRpZiAoKQotCi1pZiAoRU5BQkxFX1gxMV9UQVJHRVQpCi0gICAgIyBXaXRo
IGNtYWtlIDMuMi54IHdlIGhhdmUgdG8gZXhwbGljaXRseSBhc2sgZm9yIFgxMSBvdGhlcndpc2Ug
dGhlIFgxMV9YMTFfTElCCi0gICAgIyB2YXJpYWJsZSB3b24ndCBiZSBzZXQgdGh1cyB0aGUgWDEx
IGxpbmtlciBmbGFncyB3b24ndCBiZSBhZGRlZCBhbmQgdGhlIGJ1aWxkCi0gICAgIyB3aWxsIGZh
aWwuCi0gICAgZmluZF9wYWNrYWdlKFgxMSBSRVFVSVJFRCkKLSAgICBpZiAoT1BFTkdMX0ZPVU5E
KQotICAgICAgICAjIFdlIGRvbid0IHVzZSBmaW5kX3BhY2thZ2UgZm9yIEdMWCBiZWNhdXNlIGl0
IGlzIHBhcnQgb2YgLWxHTCwgdW5saWtlIEVHTC4KLSAgICAgICAgY2hlY2tfaW5jbHVkZV9maWxl
cygiR0wvZ2x4LmgiIEdMWF9GT1VORCkKLSAgICBlbmRpZiAoKQotZW5kaWYgKCkKLQotaWYgKEVO
QUJMRV9XQVlMQU5EX1RBUkdFVCkKLSAgICBmaW5kX3BhY2thZ2UoV2F5bGFuZCBSRVFVSVJFRCkK
LWVuZGlmICgpCitmaW5kX3BhY2thZ2UoWDExKQogCiBXRUJLSVRfT1BUSU9OX0JFR0lOKCkKLVdF
QktJVF9PUFRJT05fREVGSU5FKEVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyICJXaGV0aGVyIHRv
IGJ1aWxkIFdlYktpdFBsdWdpblByb2Nlc3MyIHRvIGxvYWQgR1RLMiBiYXNlZCBwbHVnaW5zLiIg
T04pCi1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRP
VyAiV2hldGhlciB0byB1c2UgYSBSZWRpcmVjdGVkIFhDb21wb3NpdGUgV2luZG93IGZvciBhY2Nl
bGVyYXRlZCBjb21wb3NpdGluZyBpbiBYMTEuIiBPTikKLQotaWYgKChPUEVOR0xfRk9VTkQgT1Ig
T1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQotICAgIFdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBPTikKLQotICAgIGlmIChF
TkFCTEVfWDExX1RBUkdFVCkKLSAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoVVNFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgT04pCi0gICAgZWxzZSAoKQotICAg
ICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfUkVESVJFQ1RFRF9YQ09N
UE9TSVRFX1dJTkRPVyBPRkYpCi0gICAgZW5kaWYgKCkKLQotICAgIGlmIChPUEVOR0xfRk9VTkQp
Ci0gICAgICAgIGlmIChHTFhfRk9VTkQpCi0gICAgICAgICAgICBsaXN0KEFQUEVORCBDQUlST19H
TF9DT01QT05FTlRTIGNhaXJvLWdseCkKLSAgICAgICAgZW5kaWYgKCkKLSAgICAgICAgaWYgKEVH
TF9GT1VORCkKLSAgICAgICAgICAgIGxpc3QoQVBQRU5EIENBSVJPX0dMX0NPTVBPTkVOVFMgY2Fp
cm8tZWdsKQotICAgICAgICBlbmRpZiAoKQotICAgICAgICBmaW5kX3BhY2thZ2UoQ2Fpcm9HTCAx
LjEwLjIgQ09NUE9ORU5UUyAke0NBSVJPX0dMX0NPTVBPTkVOVFN9KQotICAgICAgICBpZiAoQ0FJ
Uk9fR0xfRk9VTkQpCi0gICAgICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIE9OKQotICAgICAgICBlbHNlICgpCi0gICAg
ICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFU
RURfMkRfQ0FOVkFTIE9GRikKLSAgICAgICAgZW5kaWYgKCkKLSAgICBlbHNlICgpCi0gICAgICAg
ICMgRklYTUU6IFNob3VsZCB3ZSBzZWFyY2ggZm9yIGNhaXJvLWdsZXN2MiBpbnN0ZWFkIG9mIGNh
aXJvLWdsIGluIHRoaXMgY2FzZT8KLSAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBPRkYpCi0gICAgZW5kaWYgKCkKLWVs
c2UgKCkKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wg
T0ZGKQotICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVS
QVRFRF8yRF9DQU5WQVMgT0ZGKQotICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XIE9GRikKLWVuZGlmICgpCi0KLWlmIChF
TkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIEFORCBOT1QoQ0FJUk9fR0xfRk9VTkQpKQotICAg
IG1lc3NhZ2UoRkFUQUxfRVJST1IgImNhaXJvLWdsIGlzIG5lZWRlZCBmb3IgQWNjZWxlcmF0ZWQg
MkQgQ2FudmFzIHN1cHBvcnQiKQotZW5kaWYgKCkKLQotaWYgKEdOVVRMU19GT1VORCkKLSAgICBX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1VCVExFX0NSWVBUTyBPTikK
LWVsc2UgKCkKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1VC
VExFX0NSWVBUTyBPRkYpCi1lbmRpZiAoKQogCi1pZiAoRU5BQkxFX1NVQlRMRV9DUllQVE8gQU5E
IE5PVChHTlVUTFNfRk9VTkQpKQotICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIlN1YnRsZSBjcnlw
dG8gc3VwcG9ydCBuZWVkcyBHbnVUTFMgMy4wLjAiKQotZW5kaWYgKCkKLQotaWYgKEdFT0NMVUUy
X0ZPVU5EIE9SIEdFT0NMVUVfRk9VTkQpCi0gICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0dFT0xPQ0FUSU9OIE9OKQotZWxzZSAoKQotICAgIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HRU9MT0NBVElPTiBPRkYpCi1lbmRpZiAoKQorIyBU
aGVzZSBmZWF0dXJlcyBhcmUgcHVibGljIGJlY2F1c2UgdGhleSByZXF1aXJlIG9wdGlvbmFsIGRl
cGVuZGVuY2llcy4KK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9HRU9M
T0NBVElPTiBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TUEVM
TENIRUNLIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NVQlRM
RV9DUllQVE8gT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklE
RU8gT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCX0FVRElP
IE9OKQogCisjIFRoZXNlIGZlYXR1cmVzIGFyZSBwdWJsaWMgYmVhY3VzZSB0aGV5IGFyZW4ndCBu
ZWVkZWQgaW4gZW1iZWRkZWQgc3lzdGVtcy4KK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9EUkFHX1NVUFBPUlQgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfSUNPTkRBVEFCQVNFIE9OKQorCisjIFRoZXNlIGZlYXR1cmVzIGFyZSBwdWJs
aWMgYmVjYXVzZSB0aGV5IG1heSBiZSBuZWVkZWQgdG8gYnVpbGQgb24gbm9uLXg4Ni4KK1dFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MTElOVF9DX0xPT1AgT0ZGKQorV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0pJVCBPTikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9TWVNURU1fTUFMTE9DIE9GRikKKworIyBQdWJsaWMg
b3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgR1RLKyBwb3J0IGdvIGhlcmUuCitXRUJLSVRfT1BUSU9O
X0RFRklORV9QVUJMSUMoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRSAiV2hldGhlciBvciBub3Qg
dG8gZW5hYmxlIHN1cHBvcnQgZm9yIGNyZWRlbnRpYWwgc3RvcmFnZSB1c2luZyBsaWJzZWNyZXQu
IiBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FX1BVQkxJQyhFTkFCTEVfR1RLRE9DICJXaGV0aGVy
IG9yIG5vdCB0byB1c2UgZ2VuZXJhdGUgZ3RrZG9jLiIgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJ
TkVfUFVCTElDKEVOQUJMRV9JTlRST1NQRUNUSU9OICJXaGV0aGVyIHRvIGVuYWJsZSBHT2JqZWN0
IGludHJvc3BlY3Rpb24uIiBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FX1BVQkxJQyhFTkFCTEVf
UExVR0lOX1BST0NFU1NfR1RLMiAiV2hldGhlciB0byBidWlsZCBXZWJLaXRQbHVnaW5Qcm9jZXNz
MiB0byBsb2FkIEdUSzIgYmFzZWQgcGx1Z2lucy4iIE9OKQorV0VCS0lUX09QVElPTl9ERUZJTkVf
UFVCTElDKEVOQUJMRV9YMTFfVEFSR0VUICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciB0
aGUgWDExIHdpbmRvd2luZyB0YXJnZXQuIiBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FX1BVQkxJ
QyhFTkFCTEVfV0FZTEFORF9UQVJHRVQgIldoZXRoZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIHRo
ZSBXYXlsYW5kIHdpbmRvd2luZyB0YXJnZXQuIiBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRklORV9Q
VUJMSUMoVVNFX0xJQk5PVElGWSAiV2hldGhlciBsaWJub3RpZnkgbWF5IGJlIHVzZWQgdG8gZGlz
cGxheSBkZXNrdG9wIG5vdGlmaWNhdGlvbnMuIiBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FX1BV
QkxJQyhFTkFCTEVfR0xFUzIgIldoZXRoZXIgdG8gZW5hYmxlIHVzZSBvZiBPcGVuR0wgRVMgMi4w
LiIgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkVfUFVCTElDKFVTRV9PUEVOR0wgIldoZXRoZXIg
dG8gdXNlIE9wZW5HTCBmb3IgaGFyZHdhcmUgYWNjZWxlcmF0aW9uIGFuZCBXZWJHTCIgT04pCisK
K1dFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV8zRF9SRU5ERVJJTkcgVVNFX09QRU5HTCkKK1dF
QktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgVVNFX09QRU5H
TCkKK1dFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9USFJFQURFRF9DT01QT1NJVE9SIFVTRV9P
UEVOR0wpCitXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfV0VCR0wgVVNFX09QRU5HTCkKKwor
IyBUaGluayBoYXJkIGJlZm9yZSBhZGRkaW5nIG1vcmUgb3B0aW9ucyBoZXJlLiBEZXZlbG9wZXJz
IHVzaW5nIENNYWtlIGRpcmVjdGx5CisjIGluc3RlYWQgb2YgYnVpbGQtd2Via2l0IHNob3VsZCBn
ZXQgbW9zdGx5IHRoZSBzYW1lIGJ1aWxkIG9wdGlvbnMgYXMgdXNlcnMuCisjIEluc3RlYWQsIG1v
ZGlmeSBUb29scy9TY3JpcHRzL3dlYmtpdHBlcmwvRmVhdHVyZUxpc3QucG0gdG8gb3ZlcnJpZGUg
ZGVmYXVsdAorIyB2YWx1ZXMgZm9yIGRldmVsb3BlcnMsIGUuZy4gdG8gZW5hYmxlIGV4cGVyaW1l
bnRhbCBmZWF0dXJlcy4KIGlmIChERVZFTE9QRVJfTU9ERSkKICAgICBXRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUlOSUJST1dTRVIgT04pCi0gICAgV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FQSV9URVNUUyBPTikKKyAgICBXRUJLSVRfT1BU
SU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfQVBJX1RFU1RTIE9OKQogZWxzZSAoKQogICAg
IFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSU5JQlJPV1NFUiBPRkYp
Ci0gICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FQSV9URVNUUyBP
RkYpCisgICAgV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0FQSV9URVNU
UyBPRkYpCiAgICAgc2V0KFdlYktpdDJfVkVSU0lPTl9TQ1JJUFQgIi1XbCwtLXZlcnNpb24tc2Ny
aXB0LCR7Q01BS0VfTU9EVUxFX1BBVEh9L2d0a3N5bWJvbHMuZmlsdGVyIikKIGVuZGlmICgpCiAK
QEAgLTE1MSw4NCArMTE3LDc0IEBAIGVsc2UgKCkKICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfTUVNT1JZX1NBTVBMRVIgT0ZGKQogZW5kaWYgKCkKIAotIyBGSVhN
RTogV2Ugd2FudCB0byBleHBvc2UgZmV3ZXIgb3B0aW9ucyB0byBkb3duc3RyZWFtLCBidXQgZm9y
IG5vdyBldmVyeXRoaW5nIGlzIHB1YmxpYy4KLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV8zRF9SRU5ERVJJTkcgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9CQVRURVJZX1NUQVRVUyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQ0FOVkFTX1BBVEggT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0NTUzNfVEVYVCBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIE9GRikKLVdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfR1JJRF9MQVlPVVQgT0ZGKQotV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19JTUFHRV9TRVQgT04pCi1XRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JFR0lPTlMgT04pCi1XRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQg
T04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1VTVE9NX1NDSEVN
RV9IQU5ETEVSIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9E
QVRBTElTVF9FTEVNRU5UIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9ET1dOTE9BRF9BVFRSSUJVVEUgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0RSQUdfU1VQUE9SVCBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQV9WMiBPRkYpCi1XRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRklMVEVSU19MRVZFTF8yIE9GRikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgT0ZGKQotV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZVTExTQ1JFRU5fQVBJIE9OKQotV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQUQgT0ZGKQotV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBPRkYpCi1XRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5ERVhFRF9EQVRBQkFTRSBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfSU5ERVhFRF9EQVRBQkFT
RV9JTl9XT1JLRVJTIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9JTlBVVF9UWVBFX0NPTE9SIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0xFR0FDWV9XRUJfQVVESU8gT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0xJTktfUFJFRkVUQ0ggT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX01FRElBX0NBUFRVUkUgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NPTlRST0xTX1NDUklQVCBPTikKLVdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9NSFRNTCBPTikKLVdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBPRkYpCi1XRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkFWSUdBVE9SX0hXQ09OQ1VSUkVO
Q1kgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTkVUU0NBUEVf
UExVR0lOX0FQSSBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9O
T1RJRklDQVRJT05TIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X1BJQ1RVUkVfU0laRVMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfUVVPVEEgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JF
U09MVVRJT05fTUVESUFfUVVFUlkgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX1JFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FIE9OKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NFQ0NPTVBfRklMVEVSUyBPRkYpCi1XRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1BFTExDSEVDSyBPTikKLVdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UIE9OKQotV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RPVUNIX0VWRU5UUyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCBPTikKLVdFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMg
T04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklCUkFUSU9OIE9G
RikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSURFTyBPTikKLVdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSURFT19UUkFDSyBPTikKLVdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUVXX01PREVfQ1NTX01FRElB
IE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQl9BVURJTyBP
TikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJfVElNSU5HIE9O
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1hIUl9USU1FT1VUIE9O
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfUFJPQ0VT
UyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9USFJFQURFRF9D
T01QT1NJVE9SIE9GRikKLVdFQktJVF9PUFRJT05fRU5EKCkKLQotaWYgKExJQk5PVElGWV9GT1VO
RCkKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0xJQk5PVElGWT0xKQotZWxzZSAoKQot
ICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfTElCTk9USUZZPTApCi1lbmRpZiAoKQotCi1p
ZiAoRU5BQkxFX1BMVUdJTl9QUk9DRVNTX0dUSzIpCi0gICAgZmluZF9wYWNrYWdlKEdUSzIgMi4y
NC4xMCBSRVFVSVJFRCkKLSAgICBmaW5kX3BhY2thZ2UoR0RLMiAyLjI0LjEwIFJFUVVJUkVEKQot
ICAgIGFkZF9kZWZpbml0aW9ucygtREVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyPTEpCi1lbmRp
ZiAoKQorIyBUaGVzZSBvcHRpb25zIGFyZSBwcml2YXRlIGJlY2F1c2UgdGhleSBhcmUgZXhwZXJp
bWVudGFsLgorV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0dTVFJFQU1FUl9NUEVHVFMgIldoZXRo
ZXIgdG8gZW5hYmxlIHN1cHBvcnQgZm9yIE1QRUctVFMuIiBPRkYpCitXRUJLSVRfT1BUSU9OX0RF
RklORShVU0VfR1NUUkVBTUVSX0dMICJXaGV0aGVyIHRvIGVuYWJsZSBzdXBwb3J0IGZvciBHU3Ry
ZWFtZXIgR0wuIiBPRkYpCiAKLWlmIChFTkFCTEVfWDExX1RBUkdFVCkKLSAgICBhZGRfZGVmaW5p
dGlvbnMoLURXVEZfUExBVEZPUk1fWDExPTEpCi0gICAgYWRkX2RlZmluaXRpb25zKC1ETU9aX1gx
MT0xKQotICAgIGlmIChXVEZfT1NfVU5JWCkKLSAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EWFBf
VU5JWCkKLSAgICBlbmRpZiAoKQotZW5kaWYgKCkKKyMgU2hvdWxkIG5ldmVyIGJlIG5lZWRlZC4g
RGlzYWJsZSB0byB3b3JrYXJvdW5kIGhhcmR3YXJlIHN1cHBvcnQgaXNzdWVzLgorV0VCS0lUX09Q
VElPTl9ERUZJTkUoVVNFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgIldoZXRoZXIgdG8g
dXNlIGEgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdyBmb3IgYWNjZWxlcmF0ZWQgY29tcG9z
aXRpbmcgaW4gWDExLiIgT04pCiAKLWlmIChFTkFCTEVfV0FZTEFORF9UQVJHRVQpCi0gICAgYWRk
X2RlZmluaXRpb25zKC1EV1RGX1BMQVRGT1JNX1dBWUxBTkQ9MSkKLWVuZGlmICgpCisjIEZJWE1F
IE9ubHkgdGhlIGxhc3QgZGVwZW5kZW5jeSBpcyBlbmZvcmNlZC4gV0VCS0lUX09QVElPTl9ERVBF
TkQgc2hvdWxkIGJlIGFibGUgdG8gZXhwcmVzcyBtdWx0aXBsZSBkZXBlbmRlbmNpZXMuCitXRUJL
SVRfT1BUSU9OX0RFUEVORChFTkFCTEVfR0xFUzIgVVNFX09QRU5HTCkKK1dFQktJVF9PUFRJT05f
REVQRU5EKFVTRV9HU1RSRUFNRVJfR0wgRU5BQkxFX1ZJREVPKQorV0VCS0lUX09QVElPTl9ERVBF
TkQoVVNFX0dTVFJFQU1FUl9HTCBVU0VfT1BFTkdMKQorV0VCS0lUX09QVElPTl9ERVBFTkQoVVNF
X1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgRU5BQkxFX1gxMV9UQVJHRVQpCitXRUJLSVRf
T1BUSU9OX0RFUEVORChVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBVU0VfT1BFTkdM
KQorCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfM0RfUkVOREVSSU5H
IE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUyBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9B
Q0NFU1NJQklMSVRZIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxF
X0JBVFRFUllfU1RBVFVTIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVO
QUJMRV9DQU5WQVNfUEFUSCBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTM19URVhUIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVO
QUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04gT0ZGKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BP
UlRfVkFMVUUoRU5BQkxFX0NTU19HUklEX0xBWU9VVCBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZB
VEVfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0lNQUdFX1NFVCBPTikKK1dFQktJVF9PUFRJT05fUFJJ
VkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfUkVHSU9OUyBPTikKK1dFQktJVF9PUFRJT05fUFJJ
VkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBPTikKK1dFQktJVF9P
UFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgT0ZG
KQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0RBVEFMSVNUX0VMRU1F
TlQgT0ZGKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FE
X0FUVFJJQlVURSBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVf
RU5DUllQVEVEX01FRElBIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVO
QUJMRV9FTkNSWVBURURfTUVESUFfVjIgT0ZGKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRf
VkFMVUUoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVf
UE9SVF9WQUxVRShFTkFCTEVfRlRQRElSIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JU
X1ZBTFVFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9Q
T1JUX1ZBTFVFKEVOQUJMRV9HQU1FUEFEIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JU
X1ZBTFVFKEVOQUJMRV9HQU1FUEFEX0RFUFJFQ0FURUQgT0ZGKQorV0VCS0lUX09QVElPTl9QUklW
QVRFX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0UgT0ZGKQorV0VCS0lUX09QVElP
Tl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUyBP
RkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfSU5QVVRfVFlQRV9D
T0xPUiBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lf
V0VCX0FVRElPIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9M
SU5LX1BSRUZFVENIIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJM
RV9NRURJQV9DQVBUVVJFIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVO
QUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9S
VF9WQUxVRShFTkFCTEVfTUhUTUwgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxV
RShFTkFCTEVfTkFWSUdBVE9SX0NPTlRFTlRfVVRJTFMgT0ZGKQorV0VCS0lUX09QVElPTl9QUklW
QVRFX1BPUlRfVkFMVUUoRU5BQkxFX05BVklHQVRPUl9IV0NPTkNVUlJFTkNZIE9OKQorV0VCS0lU
X09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgT04p
CitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfTkVUV09SS19QUk9DRVNT
IE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX05PVElGSUNBVElP
TlMgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfUElDVFVSRV9T
SVpFUyBPTikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9RVU9UQSBP
RkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfUkVTT0xVVElPTl9N
RURJQV9RVUVSWSBPRkYpCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVf
UkVRVUVTVF9BTklNQVRJT05fRlJBTUUgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9W
QUxVRShFTkFCTEVfU0VDQ09NUF9GSUxURVJTIE9GRikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9Q
T1JUX1ZBTFVFKEVOQUJMRV9URU1QTEFURV9FTEVNRU5UIE9OKQorV0VCS0lUX09QVElPTl9QUklW
QVRFX1BPUlRfVkFMVUUoRU5BQkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgT0ZGKQorV0VCS0lUX09Q
VElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX1RPVUNIX0VWRU5UUyBPTikKK1dFQktJVF9P
UFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9VU0VSU0VMRUNUX0FMTCBPTikKK1dFQktJ
VF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9VU0VSX01FU1NBR0VfSEFORExFUlMg
T04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfVklCUkFUSU9OIE9G
RikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9WSURFT19UUkFDSyBP
TikKK1dFQktJVF9PUFRJT05fUFJJVkFURV9QT1JUX1ZBTFVFKEVOQUJMRV9WSUVXX01PREVfQ1NT
X01FRElBIE9OKQorV0VCS0lUX09QVElPTl9QUklWQVRFX1BPUlRfVkFMVUUoRU5BQkxFX1dFQl9U
SU1JTkcgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfWEhSX1RJ
TUVPVVQgT04pCitXRUJLSVRfT1BUSU9OX1BSSVZBVEVfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wg
T04pCisKKyMgVGhpcyBtYWtlcyB0aGUgYWJvdmUgb3B0aW9ucyBhdmFpbGFibGUgYXMgQ01ha2Ug
dmFyaWFibGVzLgorIyBJdCdzIHVuc2FmZSB0byBjaGFuZ2UgdGhlIHZhbHVlcyBvZiBvcHRpb25z
IHBhc3QgdGhpcyBwb2ludC4KK1dFQktJVF9PUFRJT05fRU5EKCkKIAogc2V0KEVOQUJMRV9XRUJL
SVQgT0ZGKQogc2V0KEVOQUJMRV9XRUJLSVQyIE9OKQpAQCAtMjYzLDYgKzIxOSwxMDMgQEAgaWYg
KERFVkVMT1BFUl9NT0RFKQogICAgIGFkZF9kZWZpbml0aW9ucygtRERFVkVMT1BNRU5UX0JVSUxE
PTEpCiBlbmRpZiAoKQogCitpZiAoVVNFX0xJQk5PVElGWSkKKyAgICBpZiAoTElCTk9USUZZX0ZP
VU5EKQorICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0xJQk5PVElGWT0xKQorICAg
IGVsc2UgKCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAibGlibm90aWZ5IGRldmVsIGZp
bGVzIG1pc3NpbmcsIGluc3RhbGwgdGhlbSBvciB1c2UgLURVU0VfTElCTk9USUZZPU9GRiIpCisg
ICAgZW5kaWYgKCkKK2Vsc2UgKCkKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0xJQk5P
VElGWT0wKQorZW5kaWYgKCkKKworaWYgKEVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyKQorICAg
IGZpbmRfcGFja2FnZShHVEsyIDIuMjQuMTApCisgICAgZmluZF9wYWNrYWdlKEdESzIgMi4yNC4x
MCkKKworICAgIGlmIChOT1QoR1RLMl9GT1VORCkgT1IgTk9UKEdESzJfRk9VTkQpKQorICAgICAg
ICBtZXNzYWdlKEZBVEFMX0VSUk9SICJHVEsrIDIgYW5kIEdESyAyID49IDIuMjQuMTAgZGV2ZWwg
ZmlsZXMgbWlzc2luZywgaW5zdGFsbCB0aGVtIG9yIHVzZSAtREVOQUJMRV9QTFVHSU5fUFJPQ0VT
U19HVEsyPU9GRiIpCisgICAgZW5kaWYgKCkKK2VuZGlmICgpCisKK2lmIChFTkFCTEVfR0xFUzIp
CisgICAgZmluZF9wYWNrYWdlKE9wZW5HTEVTMiBSRVFVSVJFRCkKKyAgICBpZiAoTk9UIEVHTF9G
T1VORCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiRUdMIGlzIG5lZWRlZCBmb3IgT3Bl
bkdMIEVTIDIuMC4iKQorICAgIGVuZGlmICgpCitlbHNlICgpCisgICAgZmluZF9wYWNrYWdlKE9w
ZW5HTCkKK2VuZGlmICgpCisKK2lmIChFTkFCTEVfWDExX1RBUkdFVCkKKyAgICBpZiAoTk9UIFgx
MV9GT1VORCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiWDExIGRldmVsIGZpbGVzIG1p
c3NpbmcsIGluc3RhbGwgdGhlbSBvciB1c2UgLURFTkFCTEVfWDExX1RBUkdFVD1PRkYiKQorICAg
IGVuZGlmICgpCisKKyAgICBpZiAoT1BFTkdMX0ZPVU5EKQorICAgICAgICAjIFRoaXMgcGFydCBj
YW4gYmUgc2ltcGxpZmllZCBvbmNlIENNYWtlIDIuOC42IGlzIHJlcXVpcmVkIGFuZAorICAgICAg
ICAjIENNYWtlUHVzaENoZWNrU3RhdGUgY2FuIGJlIHVzZWQuIFdlIG5lZWQgdG8gaGF2ZSBPUEVO
R0xfSU5DTFVERV9ESVIgYXMgcGFydAorICAgICAgICAjIG9mIHRoZSBkaXJlY3RvcmllcyBjaGVj
a19pbmNsdWRlX2ZpbGVzKCkgbG9va3MgZm9yIGluIGNhc2UgT3BlbkdMIGlzCisgICAgICAgICMg
aW5zdGFsbGVkIGludG8gYSBub24tc3RhbmRhcmQgbG9jYXRpb24uCisgICAgICAgIHNldChSRVFV
SVJFRF9JTkNMVURFU19PTEQgJHtDTUFLRV9SRVFVSVJFRF9JTkNMVURFU30pCisgICAgICAgIHNl
dChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAke0NNQUtFX1JFUVVJUkVEX0lOQ0xVREVTfSAke09Q
RU5HTF9JTkNMVURFX0RJUn0pCisgICAgICAgICMgV2UgZG9uJ3QgdXNlIGZpbmRfcGFja2FnZSBm
b3IgR0xYIGJlY2F1c2UgaXQgaXMgcGFydCBvZiAtbEdMLCB1bmxpa2UgRUdMLgorICAgICAgICBj
aGVja19pbmNsdWRlX2ZpbGVzKCJHTC9nbHguaCIgR0xYX0ZPVU5EKQorICAgICAgICBzZXQoQ01B
S0VfUkVRVUlSRURfSU5DTFVERVMgJHtSRVFVSVJFRF9JTkNMVURFU19PTER9KQorICAgIGVuZGlm
ICgpCisKKyAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfUExBVEZPUk1fWDExPTEpCisgICAgYWRk
X2RlZmluaXRpb25zKC1ETU9aX1gxMT0xKQorICAgIGlmIChXVEZfT1NfVU5JWCkKKyAgICAgICAg
YWRkX2RlZmluaXRpb25zKC1EWFBfVU5JWCkKKyAgICBlbmRpZiAoKQorZW5kaWYgKCkKKworaWYg
KEVOQUJMRV9XQVlMQU5EX1RBUkdFVCkKKyAgICBpZiAoRU5BQkxFX1gxMV9UQVJHRVQpCisgICAg
ICAgIG1lc3NhZ2UoRkFUQUxfRVJST1IgIkVOQUJMRV9XQVlMQU5EX1RBUkdFVCBhbmQgRU5BQkxF
X1gxMV9UQVJHRVQgYXJlIGluY29tcGF0aWJsZSwgeW91IG11c3QgdHVybiBvbmUgb2ZmIikKKyAg
ICBlbmRpZiAoKQorCisgICAgZmluZF9wYWNrYWdlKFdheWxhbmQgUkVRVUlSRUQpCisgICAgYWRk
X2RlZmluaXRpb25zKC1EV1RGX1BMQVRGT1JNX1dBWUxBTkQ9MSkKK2VuZGlmICgpCisKK2lmIChV
U0VfT1BFTkdMKQorICAgIGlmICgoTk9UIE9QRU5HTF9GT1VORCBBTkQgTk9UIE9QRU5HTEVTMl9G
T1VORCkgT1IgKE5PVCBHTFhfRk9VTkQgQU5EIE5PVCBFR0xfRk9VTkQpKQorICAgICAgICBtZXNz
YWdlKEZBVEFMX0VSUk9SICJPcGVuR0wgc3VwcG9ydCBtaXNzaW5nLCBpbnN0YWxsIG9yIGRpc2Fi
bGUgd2l0aCAtRFVTRV9PUEVOR0w9T0ZGIikKKyAgICBlbmRpZiAoKQorCisgICAgaWYgKE9QRU5H
TF9GT1VORCkKKyAgICAgICAgaWYgKEdMWF9GT1VORCkKKyAgICAgICAgICAgIGxpc3QoQVBQRU5E
IENBSVJPX0dMX0NPTVBPTkVOVFMgY2Fpcm8tZ2x4KQorICAgICAgICBlbmRpZiAoKQorICAgICAg
ICBpZiAoRUdMX0ZPVU5EKQorICAgICAgICAgICAgbGlzdChBUFBFTkQgQ0FJUk9fR0xfQ09NUE9O
RU5UUyBjYWlyby1lZ2wpCisgICAgICAgIGVuZGlmICgpCisgICAgICAgIGZpbmRfcGFja2FnZShD
YWlyb0dMIDEuMTAuMiBDT01QT05FTlRTICR7Q0FJUk9fR0xfQ09NUE9ORU5UU30pCisgICAgICAg
IGlmIChOT1QgQ0FJUk9fR0xfRk9VTkQgQU5EIEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMp
CisgICAgICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJDYWlyb0dMIHN1cHBvcnQgbWlzc2lu
ZywgaW5zdGFsbCBvciB1c2UgLURFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTPU9GRiIpCisg
ICAgICAgIGVuZGlmICgpCisgICAgZWxzZSAoKQorICAgICAgICAjIEZJWE1FOiBTaG91bGQgd2Ug
c2VhcmNoIGZvciBjYWlyby1nbGVzdjIgaW5zdGVhZCBvZiBjYWlyby1nbCBpbiB0aGlzIGNhc2U/
CisgICAgICAgIGlmIChFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTKQorICAgICAgICAgICAg
bWVzc2FnZShGQVRBTF9FUlJPUiAiQ2Fpcm9HTCBzdXBwb3J0IG1pc3NpbmcsIGluc3RhbGwgb3Ig
dXNlIC1ERU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUz1PRkYiKQorICAgICAgICBlbmRpZiAo
KQorICAgIGVuZGlmICgpCisKKyAgICBpZiAoRUdMX0ZPVU5EKQorICAgICAgICBzZXQoV1RGX1VT
RV9FR0wgMSkKKyAgICBlbmRpZiAoKQorCisgICAgaWYgKEdMWF9GT1VORCkKKyAgICAgICAgc2V0
KFdURl9VU0VfR0xYIDEpCisgICAgZW5kaWYgKCkKK2VuZGlmICgpCisKK2lmIChFTkFCTEVfU1VC
VExFX0NSWVBUTyBBTkQgTk9UIEdOVVRMU19GT1VORCkKKyAgICBtZXNzYWdlKEZBVEFMX0VSUk9S
ICJHbnVUTFMgPj0gMy4wLjAgZGV2ZWwgZmlsZXMgbWlzc2luZywgaW5zdGFsbCB0aGVtIG9yIHVz
ZSAtREVOQUJMRV9TVUJUTEVfQ1JZUFRPPU9GRiIpCitlbmRpZiAoKQorCiBpZiAoRU5BQkxFX1ZJ
REVPIE9SIEVOQUJMRV9XRUJfQVVESU8pCiAgICAgc2V0KEdTVFJFQU1FUl9DT01QT05FTlRTIGFw
cCBwYnV0aWxzKQogICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfR1NUUkVBTUVSKQpAQCAt
Mjc1LDExICszMjgsMjYgQEAgaWYgKEVOQUJMRV9WSURFTyBPUiBFTkFCTEVfV0VCX0FVRElPKQog
ICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX1dFQkFVRElPX0dTVFJFQU1FUikKICAg
ICBlbmRpZiAoKQogCi0gICAgZmluZF9wYWNrYWdlKEdTdHJlYW1lciAxLjAuMyBSRVFVSVJFRCBD
T01QT05FTlRTICR7R1NUUkVBTUVSX0NPTVBPTkVOVFN9KQorICAgIGZpbmRfcGFja2FnZShHU3Ry
ZWFtZXIgMS4wLjMgQ09NUE9ORU5UUyAke0dTVFJFQU1FUl9DT01QT05FTlRTfSkKKworICAgIGlm
IChOT1QgR1NUUkVBTUVSX0ZPVU5EKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJHU3Ry
ZWFtZXIgZGV2ZWwgZmlsZXMgbWlzc2luZywgaW5zdGFsbCB0aGVtIG9yIHVzZSAtREVOQUJMRV9W
SURFTz1PRkYgLURFTkFCTEVfV0VCX0FVRElPPU9GRiIpCisgICAgZW5kaWYgKCkKIAotICAgIGlm
IChQQ19HU1RSRUFNRVJfTVBFR1RTX0ZPVU5EKQotICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURX
VEZfVVNFX0dTVFJFQU1FUl9NUEVHVFMpCi0gICAgICAgIHNldChVU0VfR1NUUkVBTUVSX01QRUdU
UyBUUlVFKQorICAgIGlmIChVU0VfR1NUUkVBTUVSX0dMKQorICAgICAgICBpZiAoUENfR1NUUkVB
TUVSX0dMX0ZPVU5EKQorICAgICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9HU1RS
RUFNRVJfR0wpCisgICAgICAgIGVsc2UgKCkKKyAgICAgICAgICAgIG1lc3NhZ2UoRkFUQUxfRVJS
T1IgIkdTdHJlYW1lciBHTCBzdXBwb3J0IG1pc3NpbmciKQorICAgICAgICBlbmRpZiAoKQorICAg
IGVuZGlmICgpCisKKyAgICBpZiAoVVNFX0dTVFJFQU1FUl9NUEVHVFMpCisgICAgICAgIGlmIChQ
Q19HU1RSRUFNRVJfTVBFR1RTX0ZPVU5EKQorICAgICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1E
V1RGX1VTRV9HU1RSRUFNRVJfTVBFR1RTKQorICAgICAgICBlbHNlICgpCisgICAgICAgICAgICBt
ZXNzYWdlKEZBVEFMX0VSUk9SICJHU3RyZWFtZXIgTVBFRy1UUyBzdXBwb3J0IG1pc3NpbmciKQor
ICAgICAgICBlbmRpZiAoKQogICAgIGVuZGlmICgpCiBlbmRpZiAoKQogCkBAIC0zMDMsNiArMzcx
LDE0IEBAIGVuZGlmICgpCiBmaW5kX3BhY2thZ2UoR0xJQiAyLjMzLjIgUkVRVUlSRUQgQ09NUE9O
RU5UUyAke2dsaWJfY29tcG9uZW50c30pCiAKIGlmIChFTkFCTEVfR0VPTE9DQVRJT04pCisgICAg
aWYgKE5PVCBHRU9DTFVFMl9GT1VORCkKKyAgICAgICAgZmluZF9wYWNrYWdlKEdlb0NsdWUpCisg
ICAgZW5kaWYgKCkKKworICAgIGlmIChOT1QgR0VPQ0xVRTJfRk9VTkQgQU5EIE5PVCBHRU9DTFVF
X0ZPVU5EKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJZb3UgbmVlZCB0byBpbnN0YWxs
IEdlb2NsdWUgb3IgdXNlIC1ERU5BQkxFX0dFT0xPQ0FUSU9OPU9GRiIpCisgICAgZW5kaWYgKCkK
KwogICAgIGlmIChHRU9DTFVFMl9GT1VORCkKICAgICAgIHNldChXVEZfVVNFX0dFT0NMVUUyIDEp
CiAgICAgZWxzZSAoKQpAQCAtMzEyLDggKzM4OCwxMCBAQCBlbmRpZiAoKQogCiBpZiAoRU5BQkxF
X01FRElBX1NUUkVBTSkKICAgICBmaW5kX3BhY2thZ2UoT3BlbldlYlJUQykKLSAgICBpZiAoT1BF
TldFQlJUQ19GT1VORCkKLSAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9PUEVOV0VC
UlRDKQorICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfT1BFTldFQlJUQykKKworICAgIGlm
IChOT1QgT1BFTldFQlJUQ19GT1VORCkKKyAgICAgICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiWW91
IG5lZWQgdG8gaW5zdGFsbCBPcGVuV2ViUlRDIG9yIHVzZSAtREVOQUJMRV9NRURJQV9TVFJFQU09
T0ZGIikKICAgICBlbmRpZiAoKQogZW5kaWYgKCkKIApAQCAtMzI0LDQ1ICs0MDIsMzIgQEAgZW5k
aWYgKCkKIAogaWYgKEVOQUJMRV9DUkVERU5USUFMX1NUT1JBR0UpCiAgICAgZmluZF9wYWNrYWdl
KExpYnNlY3JldCkKLSAgICBzZXQoRU5BQkxFX0NSRURFTlRJQUxfU1RPUkFHRSAxKQorICAgIGlm
IChOT1QgTElCU0VDUkVUX0ZPVU5EKQorICAgICAgICBtZXNzYWdlKEZBVEFMX0VSUk9SICJZb3Ug
bmVlZCB0byBpbnN0YWxsIGxpYnNlY3JldCBvciB1c2UgLURFTkFCTEVfQ1JFREVOVElBTF9TVE9S
QUdFPU9GRiIpCisgICAgZW5kaWYgKCkKIGVuZGlmICgpCiAKIGlmIChHVEtfU1VQUE9SVFNfR0VT
VFVSRVMpCiAgICAgYWRkX2RlZmluaXRpb25zKC1ESEFWRV9HVEtfR0VTVFVSRVM9MSkKIGVuZGlm
ICgpCiAKLSMgVGhpcyBwYXJ0IGNhbiBiZSBzaW1wbGlmaWVkIG9uY2UgQ01ha2UgMi44LjYgaXMg
cmVxdWlyZWQgYW5kCi0jIENNYWtlUHVzaENoZWNrU3RhdGUgY2FuIGJlIHVzZWQuIFdlIG5lZWQg
dG8gaGF2ZSBPUEVOR0xfSU5DTFVERV9ESVIgYXMgcGFydAotIyBvZiB0aGUgZGlyZWN0b3JpZXMg
Y2hlY2tfaW5jbHVkZV9maWxlcygpIGxvb2tzIGZvciBpbiBjYXNlIE9wZW5HTCBpcwotIyBpbnN0
YWxsZWQgaW50byBhIG5vbi1zdGFuZGFyZCBsb2NhdGlvbi4KLWlmIChFTkFCTEVfWDExX1RBUkdF
VCkKLSAgICBzZXQoUkVRVUlSRURfSU5DTFVERVNfT0xEICR7Q01BS0VfUkVRVUlSRURfSU5DTFVE
RVN9KQotICAgIHNldChDTUFLRV9SRVFVSVJFRF9JTkNMVURFUyAke0NNQUtFX1JFUVVJUkVEX0lO
Q0xVREVTfSAke09QRU5HTF9JTkNMVURFX0RJUn0pCi0gICAgc2V0KENNQUtFX1JFUVVJUkVEX0lO
Q0xVREVTICR7UkVRVUlSRURfSU5DTFVERVNfT0xEfSkKK2lmIChFTkFCTEVfU1BFTExDSEVDSykK
KyAgICBmaW5kX3BhY2thZ2UoRW5jaGFudCkKIAotICAgIGlmIChHTFhfRk9VTkQpCi0gICAgICAg
IHNldChXVEZfVVNFX0dMWCAxKQorICAgIGlmIChOT1QgUENfRU5DSEFOVF9GT1VORCkKKyAgICAg
ICAgbWVzc2FnZShGQVRBTF9FUlJPUiAiWW91IG5lZWQgdG8gaW5zdGFsbCBFbmNoYW50IG9yIGJ1
aWxkIHdpdGggLURFTkFCTEVfU1BFTExDSEVDSz1PRkYiKQogICAgIGVuZGlmICgpCiBlbmRpZiAo
KQogCi1pZiAoRUdMX0ZPVU5EKQotICAgIHNldChXVEZfVVNFX0VHTCAxKQotZW5kaWYgKCkKLQot
aWYgKEVOQUJMRV9TUEVMTENIRUNLKQotICAgIGZpbmRfcGFja2FnZShFbmNoYW50IFJFUVVJUkVE
KQotZW5kaWYgKCkKLQotaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMyX0ZPVU5EKSBBTkQg
KEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQoraWYgKFVTRV9PUEVOR0wpCiAgICAgc2V0KEVOQUJM
RV9URVhUVVJFX01BUFBFUiAxKQogICAgIHNldChXVEZfVVNFXzNEX0dSQVBISUNTIDEpCiAKICAg
ICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFXzNEX0dSQVBISUNTPTEpCiAgICAgYWRkX2RlZmlu
aXRpb25zKC1EV1RGX1VTRV9URVhUVVJFX01BUFBFUj0xKQogICAgIGFkZF9kZWZpbml0aW9ucygt
RFdURl9VU0VfVEVYVFVSRV9NQVBQRVJfR0w9MSkKLSAgICBhZGRfZGVmaW5pdGlvbnMoLURFTkFC
TEVfM0RfUkVOREVSSU5HPTEpCiAKLSAgICBpZiAoRU5BQkxFX1gxMV9UQVJHRVQgQU5EIFVTRV9S
RURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQorICAgIGlmIChVU0VfUkVESVJFQ1RFRF9YQ09N
UE9TSVRFX1dJTkRPVykKICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9SRURJUkVD
VEVEX1hDT01QT1NJVEVfV0lORE9XPTEpCiAgICAgZW5kaWYgKCkKIApAQCAtMzg3LDE1ICs0NTIs
MTAgQEAgaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9GT1VO
RCBPUiBFR0xfRk9VTkQpKQogICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX0NPT1JE
SU5BVEVEX0dSQVBISUNTPTEpCiAgICAgICAgIGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfQ09P
UkRJTkFURURfR1JBUEhJQ1NfVEhSRUFERUQ9MSkKICAgICBlbmRpZiAoKQotCi0gICAgaWYgKFBD
X0dTVFJFQU1FUl9HTF9GT1VORCkKLSAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9H
U1RSRUFNRVJfR0wpCi0gICAgICAgIHNldChVU0VfR1NUUkVBTUVSX0dMIFRSVUUpCi0gICAgZW5k
aWYgKCkKIGVuZGlmICgpCiAKIGlmIChFTkFCTEVfR0FNRVBBRF9ERVBSRUNBVEVEKQotICAgIGZp
bmRfcGFja2FnZShHVWRldikKKyAgICBmaW5kX3BhY2thZ2UoR1VkZXYgUkVRVUlSRUQpCiBlbmRp
ZiAoKQogCiBpZiAoRU5BQkxFX0ZUTF9KSVQpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFu
Z2VMb2cKaW5kZXggYWY2YWQ4Nzk0NzFjNjIxNGQ3ODQwZTRlOTVjYTNlZmNkYTlkN2I2Ny4uMGFk
MDIwMWI0MDM2Y2YyMTYxNDhkNjJmNTJmNjllOGMwZjg0ZjIzMSAxMDA2NDQKLS0tIGEvQ2hhbmdl
TG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDIzIEBACiAyMDE1LTA0LTExICBNaWNoYWVs
IENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1RLXSBNYXJr
IGFzIGFkdmFuY2VkIHRoZSBidWlsZCBvcHRpb25zIHdlIGRvbid0IHdhbnQgdG8gZXhwb3NlCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM1NTgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZWppZ2dlciB0
aGUgc2V0IG9mIG9wdGlvbnMgcHJlc2VudGVkIHRvIHRoZSB1c2VyLCBoaWRpbmcgbW9zdCBvZiB0
aGVtLiBGYWlsIHRoZSBidWlsZCBpZiBhbgorICAgICAgICBvcHRpb25hbCBkZXBlbmRlbmN5IGZv
ciBhIGZlYXR1cmUgZW5hYmxlZCBieSBkZWZhdWx0IGlzIG1pc3NpbmcsIHVubGVzcyB0aGUgdXNl
ciBleHBsaWNpdGx5CisgICAgICAgIGRpc2FibGVzIHRoZSBmZWF0dXJlLCB0byBhdm9pZCBzaWxl
bnRseSBkaXNhYmxpbmcgdGhlIGZlYXR1cmUuIFVzZSBwcm9wZXIgQ01ha2Ugb3B0aW9ucyBmb3IK
KyAgICAgICAgd2hhdCB3ZXJlIHByZXZpb3VzbHkgc2VjcmV0IGhpZGRlbiB2YXJpYWJsZXMsIHRv
IG1ha2Ugc3VyZSBhbGwgb3VyIG9wdGlvbnMgYXJlIHByb3Blcmx5CisgICAgICAgIGV4cG9zZWQg
dG8gdGhlIHVzZXIuCisKKyAgICAgICAgUmVncmV0YWJseSwgdGhpcyByZXF1aXJlZCBtb3Zpbmcg
YXJvdW5kIGEgc3Vic3RhbnRpYWwgYW1vdW50IG9mIGNvZGUsIHRvIGVuc3VyZSBvcHRpb25zIGFy
ZQorICAgICAgICBkZWZpbmVkIGFuZCBmaW5hbGl6ZWQgYmVmb3JlIHRoZXkgYXJlIHVzZWQuCisK
KyAgICAgICAgKiBTb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKworMjAxNS0wNC0xMSAg
TWljaGFlbCBDYXRhbnphcm8gIDxtY2F0YW56YXJvQGlnYWxpYS5jb20+CisKICAgICAgICAgW0NN
YWtlXSBNaXNjZWxsYW5lb3VzIGlzc3VlcyBpbiBXZWJLaXRGZWF0dXJlcy5jbWFrZQogICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQzNjM2CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251453</attachid>
            <date>2015-04-23 10:29:08 -0700</date>
            <delta_ts>2015-04-23 12:58:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143558-20150423122803.patch</filename>
            <type>text/plain</type>
            <size>10948</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMTg0CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IGQyZDU0
N2MwZmE5YTNlMWVjZDUxNmZiZDZhZjc0YWZjNTQwMzQzMmUuLmM3YjZhY2E4YWExZTY5NDhmYmM2
NGI2OTUxNzU0M2E4NzIwNTQ5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC04MSwxNSArODEs
MTUgQEAgZW5kaWYgKCkKIAogV0VCS0lUX09QVElPTl9CRUdJTigpCiBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMiAiV2hldGhlciB0byBidWlsZCBXZWJLaXRQ
bHVnaW5Qcm9jZXNzMiB0byBsb2FkIEdUSzIgYmFzZWQgcGx1Z2lucy4iIFBVQkxJQyBPTikKLVdF
QktJVF9PUFRJT05fREVGSU5FKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XICJXaGV0
aGVyIHRvIHVzZSBhIFJlZGlyZWN0ZWQgWENvbXBvc2l0ZSBXaW5kb3cgZm9yIGFjY2VsZXJhdGVk
IGNvbXBvc2l0aW5nIGluIFgxMS4iIFBVQkxJQyBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FKFVT
RV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XICJXaGV0aGVyIHRvIHVzZSBhIFJlZGlyZWN0
ZWQgWENvbXBvc2l0ZSBXaW5kb3cgZm9yIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGluIFgxMS4i
IFBSSVZBVEUgT04pCiAKIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9QRU5HTEVTMl9GT1VORCkgQU5E
IChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfV0VCR0wgUFVCTElDIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBQUklWQVRFIE9OKQogCiAgICAgaWYgKEVOQUJMRV9Y
MTFfVEFSR0VUKQotICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0Vf
UkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBQVUJMSUMgT04pCisgICAgICAgIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9X
IFBSSVZBVEUgT04pCiAgICAgZWxzZSAoKQotICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBQVUJMSUMgT0ZGKQor
ICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfUkVESVJFQ1RFRF9Y
Q09NUE9TSVRFX1dJTkRPVyBQUklWQVRFIE9GRikKICAgICBlbmRpZiAoKQogCiAgICAgaWYgKE9Q
RU5HTF9GT1VORCkKQEAgLTEwMSwxOCArMTAxLDE4IEBAIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9Q
RU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAgICAgICAgZW5k
aWYgKCkKICAgICAgICAgZmluZF9wYWNrYWdlKENhaXJvR0wgMS4xMC4yIENPTVBPTkVOVFMgJHtD
QUlST19HTF9DT01QT05FTlRTfSkKICAgICAgICAgaWYgKENBSVJPX0dMX0ZPVU5EKQotICAgICAg
ICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUyBQVUJMSUMgT04pCisgICAgICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIFBSSVZBVEUgT04pCiAgICAg
ICAgIGVsc2UgKCkKLSAgICAgICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVCTElDIE9GRikKKyAgICAgICAgICAgIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMgUFJJVkFURSBPRkYpCiAgICAgICAgIGVuZGlmICgpCiAgICAgZWxzZSAoKQogICAgICAgICAj
IEZJWE1FOiBTaG91bGQgd2Ugc2VhcmNoIGZvciBjYWlyby1nbGVzdjIgaW5zdGVhZCBvZiBjYWly
by1nbCBpbiB0aGlzIGNhc2U/Ci0gICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVCTElDIE9GRikKKyAgICAgICAgV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UyBQUklWQVRFIE9GRikKICAgICBlbmRpZiAoKQogZWxzZSAoKQotICAgIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBQVUJMSUMgT0ZGKQotICAgIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVC
TElDIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfUkVESVJF
Q1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBQVUJMSUMgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIFBSSVZB
VEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9SRURJUkVD
VEVEX1hDT01QT1NJVEVfV0lORE9XIFBSSVZBVEUgT0ZGKQogZW5kaWYgKCkKIAogaWYgKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgQU5EIE5PVChDQUlST19HTF9GT1VORCkpCkBAIC0xNTIs
NjIgKzE1Miw2MiBAQCBlbHNlICgpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX01FTU9SWV9TQU1QTEVSIFBVQkxJQyBPRkYpCiBlbmRpZiAoKQogCi0jIEZJWE1F
OiBXZSB3YW50IHRvIGV4cG9zZSBmZXdlciBvcHRpb25zIHRvIGRvd25zdHJlYW0sIGJ1dCBmb3Ig
bm93IGV2ZXJ5dGhpbmcgaXMgcHVibGljLgotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFXzNEX1JFTkRFUklORyBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIFBVQkxJQyBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQkFUVEVSWV9TVEFUVVMg
UFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DQU5W
QVNfUEFUSCBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0NSRURFTlRJQUxfU1RPUkFHRSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQ1NTM19URVhUIFBVQkxJQyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIFBVQkxJQyBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
IFBVQkxJQyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NT
X0lNQUdFX1NFVCBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTX1JFR0lPTlMgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0IFBVQkxJQyBPTikKLVdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgUFVCTElD
IE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UIFBVQkxJQyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRE9XTkxPQURfQVRUUklCVVRFIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFVCTElDIE9GRikKLVdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIg
UFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9GVFBESVIgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfR0FNRVBBRCBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBQVUJMSUMgT0ZGKQot
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0Ug
UFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIFBVQkxJQyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPIFBVQkxJQyBP
RkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTElOS19QUkVGRVRD
SCBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01F
RElBX0NBUFRVUkUgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01IVE1MIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBQVUJMSUMg
T0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OT1RJRklDQVRJT05TIFBVQkxJQyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9QSUNUVVJFX1NJWkVTIFBVQkxJQyBPTikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9RVU9UQSBQVUJMSUMgT0ZG
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0VDQ09NUF9GSUxURVJTIFBVQkxJQyBPRkYpCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1BFTExDSEVDSyBQVUJMSUMgT04p
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVE9V
Q0hfRVZFTlRTIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTIFBVQkxJQyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gUFVCTElDIE9GRikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSURFTyBQVUJMSUMgT04pCi1X
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklERU9fVFJBQ0sgUFVCTElD
IE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX1dFQl9BVURJTyBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfV0VCX1RJTUlORyBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfWEhSX1RJTUVPVVQgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfUFJPQ0VTUyBQVUJMSUMgT04pCi1XRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEhSRUFERURfQ09NUE9TSVRPUiBQVUJM
SUMgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1NNT09USF9T
Q1JPTExJTkcgUFVCTElDIE9OKQorCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfM0RfUkVOREVSSU5HIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCBQUklWQVRFIE9GRikK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9CQVRURVJZX1NUQVRVUyBQ
UklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DQU5W
QVNfUEFUSCBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9DU1MzX1RFWFQgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NTU19HUklEX0xBWU9VVCBQUklWQVRFIE9G
RikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VU
IFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NT
X1JFR0lPTlMgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9DU1NfU0VMRUNUT1JTX0xFVkVMNCBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiBQUklWQVRFIE9GRikK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5U
IFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RP
V05MT0FEX0FUVFJJQlVURSBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyIFBSSVZBVEUgT0ZG
KQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZJTFRFUlNfTEVWRUxf
MiBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9G
VFBESVIgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRlVMTFNDUkVFTl9BUEkgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9HQU1FUEFEIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBQUklWQVRFIE9GRikKK1dFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIFBSSVZB
VEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURf
REFUQUJBU0VfSU5fV09SS0VSUyBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIFBSSVZBVEUgT04pCitXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX1dFQl9BVURJTyBQUklWQVRFIE9G
RikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BSRUZFVENI
IFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01F
RElBX0NBUFRVUkUgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfTUVESUFfQ09OVFJPTFNfU0NSSVBUIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUhUTUwgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBQUklW
QVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FU
T1JfSFdDT05DVVJSRU5DWSBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX05FVFNDQVBFX1BMVUdJTl9BUEkgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OT1RJRklDQVRJT05TIFBSSVZBVEUgT04pCitX
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUElDVFVSRV9TSVpFUyBQUklW
QVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1FVT1RBIFBS
SVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFU09M
VVRJT05fTUVESUFfUVVFUlkgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgUFJJVkFURSBPTikKK1dFQktJ
VF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TRUNDT01QX0ZJTFRFUlMgUFJJVkFU
RSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEVNUExBVEVf
RUxFTUVOVCBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX1VTRVJTRUxFQ1RfQUxMIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTIFBSSVZBVEUgT04pCitXRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklCUkFUSU9OIFBSSVZBVEUgT0ZGKQor
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVPX1RSQUNLIFBSSVZB
VEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklFV19NT0RF
X0NTU19NRURJQSBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX1dFQl9USU1JTkcgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JU
X1ZBTFVFKEVOQUJMRV9YSFJfVElNRU9VVCBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfUFJPQ0VTUyBQUklWQVRFIE9OKQorV0VCS0lU
X09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgUFJJ
VkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU01PT1RI
X1NDUk9MTElORyBQUklWQVRFIE9OKQogV0VCS0lUX09QVElPTl9FTkQoKQogCiBpZiAoRU5BQkxF
X1BMVUdJTl9QUk9DRVNTX0dUSzIpCmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cK
aW5kZXggMjE0ZjAwN2ViNGQ3OTEzYTk2ZjI4OWNlZTVkMDY1NTU0YzY2OWY4MC4uMDhjMjBkODU0
M2M1MmVjODUzOTI4NWVlY2NlMmFmMzc1M2Y0ZGNmOCAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisr
KyBiL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE1LTA0LTIzICBNaWNoYWVsIENhdGFu
emFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAgICAgICBbR1RLXSBNYXJrIGFzIGFk
dmFuY2VkIHRoZSBidWlsZCBvcHRpb25zIHdlIGRvbid0IHdhbnQgdG8gZXhwb3NlCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDM1NTgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYXJrIHZhcmlvdXMgb3B0
aW9ucyBhcyBwcml2YXRlIGluc3RlYWQgb2YgcHVibGljLgorCisgICAgICAgICogU291cmNlL2Nt
YWtlL09wdGlvbnNHVEsuY21ha2U6CisKKzIwMTUtMDQtMjMgIE1pY2hhZWwgQ2F0YW56YXJvICA8
bWNhdGFuemFyb0BpZ2FsaWEuY29tPgorCiAgICAgICAgIFtDTWFrZV0gRU5BQkxFX1RIUkVBREVE
X0NPTVBPU0lUT1Igc2hvdWxkIG5vdCBiZSBhdCB0aGUgYm90dG9tIG9mIHRoZSBvcHRpb25zIGxp
c3QKICAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDEw
MwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>251473</attachid>
            <date>2015-04-23 12:58:57 -0700</date>
            <delta_ts>2015-04-23 12:58:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-143558-20150423145753.patch</filename>
            <type>text/plain</type>
            <size>10787</size>
            <attacher name="Michael Catanzaro">mcatanzaro</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgzMjAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0
aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IGI2NjQ4
MTNjM2JjMTA0ZTVhYTcxODI4MmVhZmEzZDE1MzA4ODgxMWUuLmU2OGI0NGY4NGMzODI4ZTI2MWZj
MzkxNjQ3OTM2NWZhMzI2NjY5MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC04MSwxNSArODEs
MTUgQEAgZW5kaWYgKCkKIAogV0VCS0lUX09QVElPTl9CRUdJTigpCiBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMiAiV2hldGhlciB0byBidWlsZCBXZWJLaXRQ
bHVnaW5Qcm9jZXNzMiB0byBsb2FkIEdUSzIgYmFzZWQgcGx1Z2lucy4iIFBVQkxJQyBPTikKLVdF
QktJVF9PUFRJT05fREVGSU5FKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XICJXaGV0
aGVyIHRvIHVzZSBhIFJlZGlyZWN0ZWQgWENvbXBvc2l0ZSBXaW5kb3cgZm9yIGFjY2VsZXJhdGVk
IGNvbXBvc2l0aW5nIGluIFgxMS4iIFBVQkxJQyBPTikKK1dFQktJVF9PUFRJT05fREVGSU5FKFVT
RV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XICJXaGV0aGVyIHRvIHVzZSBhIFJlZGlyZWN0
ZWQgWENvbXBvc2l0ZSBXaW5kb3cgZm9yIGFjY2VsZXJhdGVkIGNvbXBvc2l0aW5nIGluIFgxMS4i
IFBSSVZBVEUgT04pCiAKIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9QRU5HTEVTMl9GT1VORCkgQU5E
IChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfV0VCR0wgUFVCTElDIE9OKQorICAgIFdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBQUklWQVRFIE9OKQogCiAgICAgaWYgKEVOQUJMRV9Y
MTFfVEFSR0VUKQotICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0Vf
UkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBQVUJMSUMgT04pCisgICAgICAgIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9X
IFBSSVZBVEUgT04pCiAgICAgZWxzZSAoKQotICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBQVUJMSUMgT0ZGKQor
ICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfUkVESVJFQ1RFRF9Y
Q09NUE9TSVRFX1dJTkRPVyBQUklWQVRFIE9GRikKICAgICBlbmRpZiAoKQogCiAgICAgaWYgKE9Q
RU5HTF9GT1VORCkKQEAgLTEwMSwxOCArMTAxLDE4IEBAIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9Q
RU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAgICAgICAgZW5k
aWYgKCkKICAgICAgICAgZmluZF9wYWNrYWdlKENhaXJvR0wgMS4xMC4yIENPTVBPTkVOVFMgJHtD
QUlST19HTF9DT01QT05FTlRTfSkKICAgICAgICAgaWYgKENBSVJPX0dMX0ZPVU5EKQotICAgICAg
ICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUyBQVUJMSUMgT04pCisgICAgICAgICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIFBSSVZBVEUgT04pCiAgICAg
ICAgIGVsc2UgKCkKLSAgICAgICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVCTElDIE9GRikKKyAgICAgICAgICAgIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5W
QVMgUFJJVkFURSBPRkYpCiAgICAgICAgIGVuZGlmICgpCiAgICAgZWxzZSAoKQogICAgICAgICAj
IEZJWE1FOiBTaG91bGQgd2Ugc2VhcmNoIGZvciBjYWlyby1nbGVzdjIgaW5zdGVhZCBvZiBjYWly
by1nbCBpbiB0aGlzIGNhc2U/Ci0gICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVCTElDIE9GRikKKyAgICAgICAgV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZB
UyBQUklWQVRFIE9GRikKICAgICBlbmRpZiAoKQogZWxzZSAoKQotICAgIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBQVUJMSUMgT0ZGKQotICAgIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgUFVC
TElDIE9GRikKLSAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShVU0VfUkVESVJF
Q1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBQVUJMSUMgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBQUklWQVRFIE9GRikKKyAgICBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRUxFUkFURURfMkRfQ0FOVkFTIFBSSVZB
VEUgT0ZGKQorICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKFVTRV9SRURJUkVD
VEVEX1hDT01QT1NJVEVfV0lORE9XIFBSSVZBVEUgT0ZGKQogZW5kaWYgKCkKIAogaWYgKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgQU5EIE5PVChDQUlST19HTF9GT1VORCkpCkBAIC0xNTAs
NjEgKzE1MCw2MSBAQCBlbHNlICgpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX01FTU9SWV9TQU1QTEVSIFBVQkxJQyBPRkYpCiBlbmRpZiAoKQogCi0jIEZJWE1F
OiBXZSB3YW50IHRvIGV4cG9zZSBmZXdlciBvcHRpb25zIHRvIGRvd25zdHJlYW0sIGJ1dCBmb3Ig
bm93IGV2ZXJ5dGhpbmcgaXMgcHVibGljLgotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFXzNEX1JFTkRFUklORyBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJTElUWSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQVRUQUNITUVOVF9FTEVNRU5UIFBVQkxJQyBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQkFUVEVSWV9TVEFUVVMg
UFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DQU5W
QVNfUEFUSCBQVUJMSUMgT0ZGKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX0NSRURFTlRJQUxfU1RPUkFHRSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfQ1NTM19URVhUIFBVQkxJQyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0RFVklDRV9BREFQVEFUSU9OIFBVQkxJQyBPRkYp
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX0dSSURfTEFZT1VU
IFBVQkxJQyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NT
X0lNQUdFX1NFVCBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShF
TkFCTEVfQ1NTX1JFR0lPTlMgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0NTU19TRUxFQ1RPUlNfTEVWRUw0IFBVQkxJQyBPTikKLVdFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DVVNUT01fU0NIRU1FX0hBTkRMRVIgUFVCTElD
IE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9F
TEVNRU5UIFBVQkxJQyBPRkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfRE9XTkxPQURfQVRUUklCVVRFIFBVQkxJQyBPRkYpCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfRFJBR19TVVBQT1JUIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUEgUFVCTElDIE9GRikKLVdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9FTkNSWVBURURfTUVESUFfVjIg
UFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GSUxU
RVJTX0xFVkVMXzIgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9GVFBESVIgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZB
TFVFKEVOQUJMRV9GVUxMU0NSRUVOX0FQSSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfR0FNRVBBRCBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBQVUJMSUMgT0ZGKQot
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0Ug
UFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTkRF
WEVEX0RBVEFCQVNFX0lOX1dPUktFUlMgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVM
VF9QT1JUX1ZBTFVFKEVOQUJMRV9JTlBVVF9UWVBFX0NPTE9SIFBVQkxJQyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MRUdBQ1lfV0VCX0FVRElPIFBVQkxJQyBP
RkYpCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTElOS19QUkVGRVRD
SCBQVUJMSUMgT0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01F
RElBX0NBUFRVUkUgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9NRURJQV9DT05UUk9MU19TQ1JJUFQgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01IVE1MIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBQVUJMSUMg
T0ZGKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX05BVklHQVRPUl9I
V0NPTkNVUlJFTkNZIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVF
KEVOQUJMRV9ORVRTQ0FQRV9QTFVHSU5fQVBJIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OT1RJRklDQVRJT05TIFBVQkxJQyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9QSUNUVVJFX1NJWkVTIFBVQkxJQyBPTikK
LVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9RVU9UQSBQVUJMSUMgT0ZG
KQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFU09MVVRJT05fTUVE
SUFfUVVFUlkgUFVCTElDIE9GRikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9SRVFVRVNUX0FOSU1BVElPTl9GUkFNRSBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RF
RkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU0VDQ09NUF9GSUxURVJTIFBVQkxJQyBPRkYpCiBXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfU1BFTExDSEVDSyBQVUJMSUMgT04p
Ci1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEVNUExBVEVfRUxFTUVO
VCBQVUJMSUMgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVE9V
Q0hfRVZFTlRTIFBVQkxJQyBPTikKLVdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9VU0VSU0VMRUNUX0FMTCBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTIFBVQkxJQyBPTikKLVdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSUJSQVRJT04gUFVCTElDIE9GRikKIFdF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9WSURFTyBQVUJMSUMgT04pCi1X
RUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklERU9fVFJBQ0sgUFVCTElD
IE9OKQotV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJRVdfTU9ERV9D
U1NfTUVESUEgUFVCTElDIE9OKQogV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5B
QkxFX1dFQl9BVURJTyBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfV0VCX1RJTUlORyBQVUJMSUMgT04pCi1XRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfWEhSX1RJTUVPVVQgUFVCTElDIE9OKQotV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX05FVFdPUktfUFJPQ0VTUyBQVUJMSUMgT04pCi1XRUJLSVRf
T1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEhSRUFERURfQ09NUE9TSVRPUiBQVUJM
SUMgT0ZGKQorCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfM0RfUkVO
REVSSU5HIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfQUNDRVNTSUJJTElUWSBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRf
VkFMVUUoRU5BQkxFX0FUVEFDSE1FTlRfRUxFTUVOVCBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9CQVRURVJZX1NUQVRVUyBQUklWQVRFIE9GRikK
K1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DQU5WQVNfUEFUSCBQUklW
QVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1MzX1RF
WFQgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVf
Q1NTX0RFVklDRV9BREFQVEFUSU9OIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxU
X1BPUlRfVkFMVUUoRU5BQkxFX0NTU19HUklEX0xBWU9VVCBQUklWQVRFIE9GRikKK1dFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfSU1BR0VfU0VUIFBSSVZBVEUgT04p
CitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ1NTX1JFR0lPTlMgUFJJ
VkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9DU1NfU0VM
RUNUT1JTX0xFVkVMNCBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX0NVU1RPTV9TQ0hFTUVfSEFORExFUiBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJ
T05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9EQVRBTElTVF9FTEVNRU5UIFBSSVZBVEUgT0ZG
KQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0RPV05MT0FEX0FUVFJJ
QlVURSBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9FTkNSWVBURURfTUVESUEgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfRU5DUllQVEVEX01FRElBX1YyIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0ZJTFRFUlNfTEVWRUxfMiBQUklWQVRFIE9G
RikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9GVFBESVIgUFJJVkFU
RSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfRlVMTFNDUkVF
Tl9BUEkgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9HQU1FUEFEIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX0dBTUVQQURfREVQUkVDQVRFRCBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9JTkRFWEVEX0RBVEFCQVNFIFBSSVZBVEUgT0ZGKQorV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0lOREVYRURfREFUQUJBU0VfSU5f
V09SS0VSUyBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVO
QUJMRV9JTlBVVF9UWVBFX0NPTE9SIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRf
UE9SVF9WQUxVRShFTkFCTEVfTEVHQUNZX1dFQl9BVURJTyBQUklWQVRFIE9GRikKK1dFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9MSU5LX1BSRUZFVENIIFBSSVZBVEUgT0ZG
KQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX01FRElBX0NBUFRVUkUg
UFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfTUVE
SUFfQ09OVFJPTFNfU0NSSVBUIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9S
VF9WQUxVRShFTkFCTEVfTUhUTUwgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfQ09OVEVOVF9VVElMUyBQUklWQVRFIE9GRikKK1dF
QktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9OQVZJR0FUT1JfSFdDT05DVVJS
RU5DWSBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxF
X05FVFNDQVBFX1BMVUdJTl9BUEkgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9OT1RJRklDQVRJT05TIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9O
X0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUElDVFVSRV9TSVpFUyBQUklWQVRFIE9OKQorV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1FVT1RBIFBSSVZBVEUgT0ZGKQor
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFU09MVVRJT05fTUVESUFf
UVVFUlkgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfUkVRVUVTVF9BTklNQVRJT05fRlJBTUUgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVG
QVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9TRUNDT01QX0ZJTFRFUlMgUFJJVkFURSBPRkYpCitXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVEVNUExBVEVfRUxFTUVOVCBQUklW
QVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1VTRVJTRUxF
Q1RfQUxMIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFC
TEVfVVNFUl9NRVNTQUdFX0hBTkRMRVJTIFBSSVZBVEUgT04pCitXRUJLSVRfT1BUSU9OX0RFRkFV
TFRfUE9SVF9WQUxVRShFTkFCTEVfVklCUkFUSU9OIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElP
Tl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1ZJREVPX1RSQUNLIFBSSVZBVEUgT04pCitXRUJL
SVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfVklFV19NT0RFX0NTU19NRURJQSBQ
UklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dFQl9U
SU1JTkcgUFJJVkFURSBPTikKK1dFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJM
RV9YSFJfVElNRU9VVCBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFM
VUUoRU5BQkxFX05FVFdPUktfUFJPQ0VTUyBQUklWQVRFIE9OKQorV0VCS0lUX09QVElPTl9ERUZB
VUxUX1BPUlRfVkFMVUUoRU5BQkxFX1RIUkVBREVEX0NPTVBPU0lUT1IgUFJJVkFURSBPRkYpCiBX
RUJLSVRfT1BUSU9OX0VORCgpCiAKIGlmIChMSUJOT1RJRllfRk9VTkQpCmRpZmYgLS1naXQgYS9D
aGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggZmY4YjJhN2ZlNzY1MmIyOWUzZmI1MmM5ZWFhZmI2
ZDY0YzA2ZmMzYS4uNjg0MDBlYzM4OTg1MTAxMTZjNDlhNzhlYmZhNjQzOTY3NmFlMTg3MyAxMDA2
NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDE2IEBACiAyMDE1
LTA0LTIzICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KIAorICAg
ICAgICBbR1RLXSBNYXJrIGFzIGFkdmFuY2VkIHRoZSBidWlsZCBvcHRpb25zIHdlIGRvbid0IHdh
bnQgdG8gZXhwb3NlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDM1NTgKKworICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCisKKyAg
ICAgICAgTWFyayB2YXJpb3VzIG9wdGlvbnMgYXMgcHJpdmF0ZSBpbnN0ZWFkIG9mIHB1YmxpYy4K
KworICAgICAgICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOgorCisyMDE1LTA0LTIz
ICBNaWNoYWVsIENhdGFuemFybyAgPG1jYXRhbnphcm9AaWdhbGlhLmNvbT4KKwogICAgICAgICBb
Q01ha2VdIFNob3VsZCBiZSBwb3NzaWJsZSBmb3IgYW4gb3B0aW9uIHRvIGRlcGVuZCBvbiBtdWx0
aXBsZSBvcHRpb25zCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xNDM4MzkKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>