<?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>25990</bug_id>
          
          <creation_ts>2009-05-24 07:25:16 -0700</creation_ts>
          <short_desc>[GTK] DumpRenderTree needs eventSender object and implementation</short_desc>
          <delta_ts>2009-09-09 15:10:14 -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>PC</rep_platform>
          <op_sys>OS X 10.5</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Holger Freyther">zecke</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>mrobinson</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>122956</commentid>
    <comment_count>0</comment_count>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 07:25:16 -0700</bug_when>
    <thetext>To pass fast/events and various other unit tests we will need an eventSender.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>122957</commentid>
    <comment_count>1</comment_count>
      <attachid>30630</attachid>
    <who name="Holger Freyther">zecke</who>
    <bug_when>2009-05-24 07:27:18 -0700</bug_when>
    <thetext>Created attachment 30630
WorkInProgress EventSender implementation

This is work in progress, it is based on the windows version.

Open issues:
  - Drag and Drop is not implemented at all
  - I don&apos;t know if replayEvents should enter the glib event loop
  - When to send a key up event?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145897</commentid>
    <comment_count>2</comment_count>
      <attachid>39295</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2009-09-09 13:10:00 -0700</bug_when>
    <thetext>Created attachment 39295
Partial implementation of EventSender

Though partial, it implements a lot. What&apos;s still missing is support for DND tests (waiting for proper DND support in WebCore) and some leapForward love.
200+ tests now pass, all of them enabled in the Skipped.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145899</commentid>
    <comment_count>3</comment_count>
      <attachid>39297</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2009-09-09 13:22:08 -0700</bug_when>
    <thetext>Created attachment 39297
Partial implementation of EventSender

Defines zoom multiplier ratio as a static constant float.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145905</commentid>
    <comment_count>4</comment_count>
      <attachid>39297</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-09-09 13:38:13 -0700</bug_when>
    <thetext>Comment on attachment 39297
Partial implementation of EventSender

&gt; +#include &quot;DumpRenderTree.h&quot;
&gt; +
&gt; +#include &lt;gdk/gdk.h&gt;
&gt; +#include &lt;gdk/gdkkeysyms.h&gt;
&gt; +
&gt; +#include &lt;wtf/ASCIICType.h&gt;
&gt; +#include &lt;wtf/Platform.h&gt;
&gt; +#include &lt;JavaScriptCore/JSObjectRef.h&gt;
&gt; +#include &lt;JavaScriptCore/JSRetainPtr.h&gt;
&gt; +#include &lt;JavaScriptCore/JSStringRef.h&gt;
&gt; +#include &lt;webkit/webkitwebframe.h&gt;
&gt; +#include &lt;webkit/webkitwebview.h&gt;
&gt; +
&gt; +#include &lt;string.h&gt;

The first two includes are OK, but the others look a bit weirdly organized. I
think we want to follow our standards, which we use elsewhere, even if
DumpRenderTree has it this way somewhere, so let&apos;s do DumpRenderTree.h, and all
the other webkit-related includes in one block, and the system inclues in a
second block.

&gt; +#define ZoomMultiplierRatio     1.2f

like we discussed on IRC, make this all-caps, or turn it into a static const
float, and Z-&gt;z.

&gt; +    WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame);
&gt; +    ASSERT(view);
&gt; +
&gt; +    webkit_web_frame_layout(mainFrame);
&gt; +
&gt; +    gboolean return_val;

Both view and return_val are declared many lines before they are actually used.
Please put their declaration close to where they are used for the first time.

&gt; +    if (!msgQueue[endOfQueue].delay) {
&gt; +        webkit_web_frame_layout(mainFrame);
&gt; +        WebKitWebView* view = webkit_web_frame_get_web_view(mainFrame);
&gt; +        ASSERT(view);

I suggest an empty line between the _layout call, and the declaration, but feel
free to ignore this, I just feel it feels better.

&gt; +        if (modifiersArray) {
&gt; +            int modifiersCount = JSValueToNumber(context, JSObjectGetProperty(context, modifiersArray, lengthProperty, 0), 0);
&gt; +            for (int i = 0; i &lt; modifiersCount; ++i) {

Since modifiersCount is not used anywhere else, I&apos;d just add the
JSValueToNumber call inside the for, where the variable is now.

&gt; +    JSStringRef character = JSValueToStringCopy(context, arguments[0], exception);
&gt; +    ASSERT(!*exception);

I don&apos;t think ASSERT is what we want, in DRT. If this fails, we want the test
to fail in release builds, right? So I suggest returning with undefined in
here, if the asserted condition is not met.

&gt; +    else if (JSStringIsEqualToUTF8CString(character, &quot;delete&quot;))
&gt; +        gdkKeySym = GDK_BackSpace;

Interesting. I would expect delete here instead of backspace =). Sounds like
those compatibility options from gnome terminal would be required even for the
web, eh?

Thanks for working on this, r- for now because of the stuff mentioned above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145943</commentid>
    <comment_count>5</comment_count>
      <attachid>39303</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2009-09-09 14:43:10 -0700</bug_when>
    <thetext>Created attachment 39303
Partial implementation of EventSender

Fixes includes organisation, declaration positions, turns ASSERTs to release build-friendly check functions, uses GDK_Delete instead of GDK_BackSpace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145955</commentid>
    <comment_count>6</comment_count>
      <attachid>39303</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2009-09-09 14:53:34 -0700</bug_when>
    <thetext>Comment on attachment 39303
Partial implementation of EventSender

Looks good to me, thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145969</commentid>
    <comment_count>7</comment_count>
      <attachid>39303</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-09 15:10:08 -0700</bug_when>
    <thetext>Comment on attachment 39303
Partial implementation of EventSender

Clearing flags on attachment: 39303

Committed r48228: &lt;http://trac.webkit.org/changeset/48228&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145971</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-09 15:10:14 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>30630</attachid>
            <date>2009-05-24 07:27:18 -0700</date>
            <delta_ts>2009-05-24 07:27:18 -0700</delta_ts>
            <desc>WorkInProgress EventSender implementation</desc>
            <filename>event-sender.diff</filename>
            <type>text/plain</type>
            <size>26066</size>
            <attacher name="Holger Freyther">zecke</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9Ta2lwcGVkIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKaW5kZXggNzcxMWNlYi4uMDNmMjlmMiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vZ3RrL1NraXBwZWQKQEAgLTE2MzIsODEgKzE2MzIsNiBAQCBmYXN0L2VuY29kaW5nL2No
YXItZGVjb2RpbmctbWFjLmh0bWwKIGZhc3QvZW5jb2RpbmcvY2hhci1kZWNvZGluZy5odG1sCiBm
YXN0L2VuY29kaW5nL2lkbi1zZWN1cml0eS5odG1sCiBmYXN0L2VuY29kaW5nL21haWx0by1hbHdh
eXMtdXRmLTguaHRtbAotZmFzdC9ldmVudHMvYWNjZXNzLWtleS1zZWxmLWRlc3RydWN0Lmh0bWwK
LWZhc3QvZXZlbnRzL2FuY2hvci1lbXB0eS1mb2N1cy5odG1sCi1mYXN0L2V2ZW50cy9hbmNob3It
aW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKLWZhc3QvZXZlbnRzL2Fycm93LWtleXMtb24tYm9keS5o
dG1sCi1mYXN0L2V2ZW50cy9hcnJvdy1uYXZpZ2F0aW9uLmh0bWwKLWZhc3QvZXZlbnRzL2F0dGVt
cHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sCi1mYXN0L2V2ZW50cy9hdXRvc2Nyb2xs
LWluLXRleHRmaWVsZC5odG1sCi1mYXN0L2V2ZW50cy9hdXRvc2Nyb2xsLW5vbnNjcm9sbGFibGUt
aWZyYW1lLWluLXNjcm9sbGFibGUtZGl2Lmh0bWwKLWZhc3QvZXZlbnRzL2F1dG9zY3JvbGwtd2l0
aC1ub24tc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbAotZmFzdC9ldmVudHMvY2FwdHVyZS1vbi10YXJn
ZXQuaHRtbAotZmFzdC9ldmVudHMvY2xpY2stY291bnQuaHRtbAotZmFzdC9ldmVudHMvY29udGVu
dC1jaGFuZ2VkLWR1cmluZy1kcm9wLmh0bWwKLWZhc3QvZXZlbnRzL2NvbnRleHQtb25tb3VzZWRv
d24tZXZlbnQuaHRtbAotZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Nyb2xsZWQtcGFnZS13aXRo
LWZyYW1lLmh0bWwKLWZhc3QvZXZlbnRzL2NyYXNoLW9uLW11dGF0ZS1kdXJpbmctZHJvcC5odG1s
Ci1mYXN0L2V2ZW50cy9kYmxjbGljay1hZGRFdmVudExpc3RlbmVyLmh0bWwKLWZhc3QvZXZlbnRz
L2RyYWctaW4tZnJhbWVzLmh0bWwKLWZhc3QvZXZlbnRzL2RyYWctb3V0c2lkZS13aW5kb3cuaHRt
bAotZmFzdC9ldmVudHMvZXZlbnQtdmlldy10b1N0cmluZy5odG1sCi1mYXN0L2V2ZW50cy9maXJl
LXNjcm9sbC1ldmVudC5odG1sCi1mYXN0L2V2ZW50cy9mcmFtZS1jbGljay1mb2N1cy5odG1sCi1m
YXN0L2V2ZW50cy9mcmFtZS10YWItZm9jdXMuaHRtbAotZmFzdC9ldmVudHMvaW5wdXQtaW1hZ2Ut
c2Nyb2xsZWQteC15Lmh0bWwKLWZhc3QvZXZlbnRzL2pzLWtleWJvYXJkLWV2ZW50LWNyZWF0aW9u
Lmh0bWwKLWZhc3QvZXZlbnRzL2tleS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKLWZhc3Qv
ZXZlbnRzL2tleS1ldmVudHMtaW4taW5wdXQtdGV4dC5odG1sCi1mYXN0L2V2ZW50cy9rZXlkb3du
LWtleXByZXNzLWZvY3VzLWNoYW5nZS5odG1sCi1mYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNz
LXByZXZlbnREZWZhdWx0Lmh0bWwKLWZhc3QvZXZlbnRzL2tleWRvd24tcmVtb3ZlLWZyYW1lLmh0
bWwKLWZhc3QvZXZlbnRzL2tleXByZXNzLWZvY3VzLWNoYW5nZS5odG1sCi1mYXN0L2V2ZW50cy9r
ZXlwcmVzcy1pbnNlcnQtdGFiLmh0bWwKLWZhc3QvZXZlbnRzL2tleXByZXNzLXJlbW92ZWQtbm9k
ZS5odG1sCi1mYXN0L2V2ZW50cy9tb3VzZS1jbGljay1ldmVudHMuaHRtbAotZmFzdC9ldmVudHMv
bW91c2UtZHJhZy1mcm9tLWZyYW1lLXRvLW90aGVyLWZyYW1lLmh0bWwKLWZhc3QvZXZlbnRzL21v
dXNlLWRyYWctZnJvbS1mcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9tb3VzZWNsaWNrLXRhcmdldC1h
bmQtcG9zaXRpb25pbmcuaHRtbAotZmFzdC9ldmVudHMvbW91c2Vtb3ZlLWFmdGVyLWRyYWctb3Zl
ci1zY3JvbGxiYXIuaHRtbAotZmFzdC9ldmVudHMvbW91c2VvdXQtZGVhZC1zdWJmcmFtZS5odG1s
Ci1mYXN0L2V2ZW50cy9tb3VzZW91dC1vbi13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvbW91c2Vv
dmVyLW1vdXNlb3V0Mi5odG1sCi1mYXN0L2V2ZW50cy9tb3VzZW92ZXItbW91c2VvdXQuaHRtbAot
ZmFzdC9ldmVudHMvbW91c2V1cC1mcm9tLWJ1dHRvbjIuaHRtbAotZmFzdC9ldmVudHMvbW91c2V1
cC1vdXRzaWRlLWRvY3VtZW50Lmh0bWwKLWZhc3QvZXZlbnRzL29mZnNldFgtb2Zmc2V0WS5odG1s
Ci1mYXN0L2V2ZW50cy9vbmNoYW5nZS1jbGljay1oYW5nLmh0bWwKLWZhc3QvZXZlbnRzL29uY2hh
bmdlLXBhc3N3b3JkZmllbGQuaHRtbAotZmFzdC9ldmVudHMvb25jaGFuZ2Utc2VhcmNoZmllbGQu
aHRtbAotZmFzdC9ldmVudHMvb25jaGFuZ2Utc2VsZWN0LXBvcHVwLmh0bWwKLWZhc3QvZXZlbnRz
L29uY2hhbmdlLXRleHRmaWVsZC5odG1sCi1mYXN0L2V2ZW50cy9vbmNsaWNrLWxpc3QtbWFya2Vy
Lmh0bWwKLWZhc3QvZXZlbnRzL29uZHJhZ2VudGVyLmh0bWwKLWZhc3QvZXZlbnRzL29uc2VhcmNo
LWVudGVyLmh0bWwKLWZhc3QvZXZlbnRzL29udW5sb2FkLWNsZWFycy1vbmJlZm9yZXVubG9hZC5o
dG1sCi1mYXN0L2V2ZW50cy9vbnVubG9hZC1ub3Qtb24tYm9keS5odG1sCi1mYXN0L2V2ZW50cy9v
bnVubG9hZC5odG1sCi1mYXN0L2V2ZW50cy9vcGVuLXdpbmRvdy1mcm9tLWFub3RoZXItZnJhbWUu
aHRtbAotZmFzdC9ldmVudHMvb3B0aW9uLXRhYi5odG1sCi1mYXN0L2V2ZW50cy9wb2ludGVyLWV2
ZW50cy0yLmh0bWwKLWZhc3QvZXZlbnRzL3BvaW50ZXItZXZlbnRzLmh0bWwKLWZhc3QvZXZlbnRz
L3BvcHVwLWJsb2NraW5nLWNsaWNrLWluLWlmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9yZWxhdGVk
LXRhcmdldC5odG1sCi1mYXN0L2V2ZW50cy9yaWdodC1jbGljay1mb2N1cy5odG1sCi1mYXN0L2V2
ZW50cy9zY3JvbGwtdG8tYW5jaG9yLWluLW92ZXJmbG93LWhpZGRlbi5odG1sCi1mYXN0L2V2ZW50
cy9zY3JvbGxiYXItZG91YmxlLWNsaWNrLmh0bWwKLWZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LWR1
cmluZy1hdXRvc2Nyb2xsLmh0bWwKLWZhc3QvZXZlbnRzL3NoYWRvdy1ib3VuZGFyeS1jcm9zc2lu
Zy5odG1sCi1mYXN0L2V2ZW50cy9zcGFjZS1zY3JvbGwtZXZlbnQuaHRtbAotZmFzdC9ldmVudHMv
c3BlY2lhbC1rZXktZXZlbnRzLWluLWlucHV0LXRleHQuaHRtbAotZmFzdC9ldmVudHMvc3RvcC1s
b2FkLWluLXVubG9hZC1oYW5kbGVyLXVzaW5nLWRvY3VtZW50LXdyaXRlLmh0bWwKLWZhc3QvZXZl
bnRzL3N0b3AtbG9hZC1pbi11bmxvYWQtaGFuZGxlci11c2luZy13aW5kb3ctc3RvcC5odG1sCi1m
YXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC5odG1sCi1mYXN0L2V2ZW50cy90YWJp
bmRleC1mb2N1cy1jaGFpbi5odG1sCi1mYXN0L2V2ZW50cy93aW5kb3ctZXZlbnRzLWJ1YmJsZTIu
aHRtbAotZmFzdC9ldmVudHMvd2luZG93LWV2ZW50cy1idWJibGUuaHRtbAotZmFzdC9ldmVudHMv
d2luZG93LWV2ZW50cy1jYXB0dXJlLmh0bWwKIGZhc3QvZm9ybXMvMjUxNTMuaHRtbAogZmFzdC9m
b3Jtcy9hY2Nlc3Mta2V5Lmh0bWwKIGZhc3QvZm9ybXMvYnV0dG9uLWVudGVyLWNsaWNrLmh0bWwK
QEAgLTU5MzMsNiArNTg1OCw5IEBAIHdlYmFyY2hpdmUvdGVzdC10YWJsZS1iYWNrZ3JvdW5kLmh0
bWwKIHdlYmFyY2hpdmUvdGVzdC10ZC1iYWNrZ3JvdW5kLmh0bWwKIHdlYmFyY2hpdmUvdGVzdC14
bWwtc3R5bGVzaGVldC54bWwKIAorIyBOZWVkcyBzY2hlZHVsZUFzeW5jaHJvbm91c0NsaWNrIG1l
dGhvZCBmb3IgRXZlbnRTZW5kZXIKK2Zhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNrLWlu
LWlmcmFtZS5odG1sCisKICMgQWRkIFhIVE1MTVAgdG8gd2Via2l0LCBpZ25vcmUgdGhlc2UgdGVz
dHMgc2luY2UgaGF2ZW4ndCBiZWVuIHZlcmlmaWVkCiBmYXN0L3hodG1sbXAvY2hlY2stZG9jdHlw
ZS1kZWNsYXJhdGlvbi54aHRtbAogZmFzdC94aHRtbG1wL2NoZWNrLXJvb3RlbGVtZW50LnhodG1s
CmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmggYi9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKaW5kZXggOTNiYjgyMC4uMTAyODMwMiAxMDA2NDQK
LS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCisrKyBiL1dlYktpdC9ndGsv
d2Via2l0L3dlYmtpdHByaXZhdGUuaApAQCAtMjE1LDYgKzIxNSw5IEBAIGV4dGVybiAiQyIgewog
CiAgICAgYm9vbAogICAgIHdlYmtpdF93ZWJfdmlld191c2VfcHJpbWFyeV9mb3JfcGFzdGUoV2Vi
S2l0V2ViVmlldyogd2ViX3ZpZXcpOworCisgICAgV0VCS0lUX0FQSSB2b2lkCisgICAgd2Via2l0
X3dlYl9mcmFtZV9sYXlvdXQoV2ViS2l0V2ViRnJhbWUqIGZyYW1lKTsKIH0KIAogI2VuZGlmCmRp
ZmYgLS1naXQgYS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAgYi9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHAKaW5kZXggYTcyYmI5My4uYjc5YjVmYiAxMDA2
NDQKLS0tIGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJhbWUuY3BwCisrKyBiL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1lLmNwcApAQCAtODMwLDMgKzgzMCwxNyBAQCBXZWJL
aXRMb2FkU3RhdHVzIHdlYmtpdF93ZWJfZnJhbWVfZ2V0X2xvYWRfc3RhdHVzKFdlYktpdFdlYkZy
YW1lKiBmcmFtZSkKICAgICBXZWJLaXRXZWJGcmFtZVByaXZhdGUqIHByaXYgPSBmcmFtZS0+cHJp
djsKICAgICByZXR1cm4gcHJpdi0+bG9hZFN0YXR1czsKIH0KKwordm9pZCB3ZWJraXRfd2ViX2Zy
YW1lX2xheW91dChXZWJLaXRXZWJGcmFtZSogZnJhbWUpCit7CisgICAgRnJhbWUqIGNvcmVGcmFt
ZSA9IGNvcmUoZnJhbWUpOworICAgIGlmICghY29yZUZyYW1lKQorICAgICAgICByZXR1cm47CisK
KyAgICBGcmFtZVZpZXcqIHZpZXcgPSBjb3JlRnJhbWUtPnZpZXcoKTsKKyAgICBpZiAoIXZpZXcp
CisgICAgICAgIHJldHVybjsKKworICAgIHZpZXctPmxheW91dCgpOworfQorCmRpZmYgLS1naXQg
YS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcAppbmRleCAxYWJi
YTM4Li42MzVmOGRjIDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9E
dW1wUmVuZGVyVHJlZS5jcHAKQEAgLTMxLDYgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgogCisjaW5jbHVkZSAiRXZlbnRTZW5kZXIuaCIK
ICNpbmNsdWRlICJMYXlvdXRUZXN0Q29udHJvbGxlci5oIgogI2luY2x1ZGUgIldvcmtRdWV1ZS5o
IgogI2luY2x1ZGUgIldvcmtRdWV1ZUl0ZW0uaCIKQEAgLTQzMyw2ICs0MzQsMTEgQEAgc3RhdGlj
IHZvaWQgd2ViVmlld1dpbmRvd09iamVjdENsZWFyZWQoV2ViS2l0V2ViVmlldyogdmlldywgV2Vi
S2l0V2ViRnJhbWUqIGZyYW0KIAogICAgIGdMYXlvdXRUZXN0Q29udHJvbGxlci0+bWFrZVdpbmRv
d09iamVjdChjb250ZXh0LCB3aW5kb3dPYmplY3QsICZleGNlcHRpb24pOwogICAgIGFzc2VydCgh
ZXhjZXB0aW9uKTsKKworICAgIEpTU3RyaW5nUmVmIGV2ZW50U2VuZGVyU3RyID0gSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoImV2ZW50U2VuZGVyIik7CisgICAgSlNWYWx1ZVJlZiBldmVu
dFNlbmRlciA9IG1ha2VFdmVudFNlbmRlcihjb250ZXh0KTsKKyAgICBKU09iamVjdFNldFByb3Bl
cnR5KGNvbnRleHQsIHdpbmRvd09iamVjdCwgZXZlbnRTZW5kZXJTdHIsIGV2ZW50U2VuZGVyLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlLCAwKTsKKyAgICBKU1N0cmluZ1JlbGVhc2UoZXZlbnRTZW5kZXJTdHIpOwogfQogCiBzdGF0
aWMgZ2Jvb2xlYW4gd2ViVmlld0NvbnNvbGVNZXNzYWdlKFdlYktpdFdlYlZpZXcqIHZpZXcsIGNv
bnN0IGdjaGFyKiBtZXNzYWdlLCB1bnNpZ25lZCBpbnQgbGluZSwgY29uc3QgZ2NoYXIqIHNvdXJj
ZUlkLCBncG9pbnRlciBkYXRhKQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRy
ZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcCBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9F
dmVudFNlbmRlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhlYTE3
YQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9FdmVu
dFNlbmRlci5jcHAKQEAgLTAsMCArMSw0NTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcs
IDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAy
MDA4IFphbiBEb2JlcnNlayA8emFuZG9iZXJzZWtAZ21haWwuY29tPgorICogQ29weXJpZ2h0IChD
KSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAz
LiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9y
IHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5k
b3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMg
SVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkV2ZW50U2VuZGVyLmgiCisKKyNpbmNsdWRlICJEdW1wUmVuZGVyVHJlZS5oIgorCisj
aW5jbHVkZSA8Z2RrL2dkay5oPgorI2luY2x1ZGUgPGdkay9nZGtrZXlzeW1zLmg+CisKKyNpbmNs
dWRlIDx3dGYvQVNDSUlDVHlwZS5oPgorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0UmVmLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENv
cmUvSlNSZXRhaW5QdHIuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5o
PgorI2luY2x1ZGUgPHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5oPgorI2luY2x1ZGUgPHdlYmtpdC93
ZWJraXR3ZWJ2aWV3Lmg+CisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworLy8gVE9ETzogQ3VycmVu
dGx5IGRyYWcgYW5kIGRyb3AgcmVsYXRlZCBjb2RlIGlzIGxlZnQgb3V0IGFuZAorLy8gc2hvdWxk
IGJlIG1lcmdlZCBvbmNlIHdlIGhhdmUgZHJhZyBhbmQgZHJvcCBzdXBwb3J0IGluIFdlYkNvcmUu
CisKK2V4dGVybiAiQyIgeworICAgIGV4dGVybiB2b2lkIHdlYmtpdF93ZWJfZnJhbWVfbGF5b3V0
KFdlYktpdFdlYkZyYW1lKiBmcmFtZSk7Cit9CisKK3N0YXRpYyBib29sIGRvd247CitzdGF0aWMg
Ym9vbCBkcmFnTW9kZSA9IHRydWU7CitzdGF0aWMgYm9vbCByZXBsYXlpbmdTYXZlZEV2ZW50czsK
K3N0YXRpYyBpbnQgdGltZU9mZnNldDsKK3N0YXRpYyBpbnQgbGFzdE1vdXNlUG9zaXRpb25YOwor
c3RhdGljIGludCBsYXN0TW91c2VQb3NpdGlvblk7CisKKworc3RydWN0IERlbGF5ZWRNZXNzYWdl
IHsKKyAgICBHZGtFdmVudCBldmVudDsKKyAgICBndWxvbmcgZGVsYXk7Cit9OworCitzdGF0aWMg
RGVsYXllZE1lc3NhZ2UgbXNnUXVldWVbMTAyNF07CisKK3N0YXRpYyB1bnNpZ25lZCBlbmRPZlF1
ZXVlOworc3RhdGljIHVuc2lnbmVkIHN0YXJ0T2ZRdWV1ZTsKKworc3RhdGljIGJvb2wgZGlkRHJh
Z0VudGVyOworCisKKyNkZWZpbmUgWm9vbU11bHRpcGxpZXJSYXRpbyAgICAgMS4yZgorCitzdGF0
aWMgSlNWYWx1ZVJlZiBnZXREcmFnTW9kZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiog
ZXhjZXB0aW9uKQoreworICAgIHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgZHJh
Z01vZGUpOworfQorCitzdGF0aWMgYm9vbCBzZXREcmFnTW9kZUNhbGxiYWNrKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwg
SlNWYWx1ZVJlZiB2YWx1ZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGRyYWdNb2Rl
ID0gSlNWYWx1ZVRvQm9vbGVhbihjb250ZXh0LCB2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK3N0YXRpYyBKU1ZhbHVlUmVmIGxlYXBGb3J3YXJkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENvdW50ID4gMCkgeworICAgICAgICBt
c2dRdWV1ZVtlbmRPZlF1ZXVlXS5kZWxheSA9IEpTVmFsdWVUb051bWJlcihjb250ZXh0LCBhcmd1
bWVudHNbMF0sIGV4Y2VwdGlvbikgLyAxMDAwLjA7CisgICAgICAgIEFTU0VSVCghZXhjZXB0aW9u
IHx8ICEqZXhjZXB0aW9uKTsKKyAgICB9CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmlu
ZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIGNvbnRleHRDbGlja0NhbGxiYWNr
KEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYg
dGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1l
bnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3
ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKKyAgICBBU1NFUlQo
dmlldyk7CisKKyAgICB3ZWJraXRfd2ViX2ZyYW1lX2xheW91dChtYWluRnJhbWUpOworCisgICAg
Z2Jvb2xlYW4gcmV0dXJuX3ZhbDsKKyAgICBHZGtFdmVudCBldmVudDsKKyAgICBtZW1zZXQoJmV2
ZW50LCAwLCBzaXplb2YoZXZlbnQpKTsKKyAgICBldmVudC5idXR0b24uYnV0dG9uID0gMzsKKyAg
ICBldmVudC5idXR0b24ueCA9IGxhc3RNb3VzZVBvc2l0aW9uWDsKKyAgICBldmVudC5idXR0b24u
eSA9IGxhc3RNb3VzZVBvc2l0aW9uWTsKKworICAgIGRvd24gPSB0cnVlOworICAgIGV2ZW50LnR5
cGUgPSBHREtfQlVUVE9OX1BSRVNTOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAi
YnV0dG9uX3ByZXNzX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisKKyAgICBkb3duID0g
ZmFsc2U7CisgICAgZXZlbnQudHlwZSA9IEdES19CVVRUT05fUkVMRUFTRTsKKyAgICBnX3NpZ25h
bF9lbWl0X2J5X25hbWUodmlldywgImJ1dHRvbl9yZWxlYXNlX2V2ZW50IiwgJmV2ZW50LCAmcmV0
dXJuX3ZhbCk7CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9
CisKK3N0YXRpYyBKU1ZhbHVlUmVmIG1vdXNlRG93bkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250
ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90
IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYq
IGV4Y2VwdGlvbikKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFt
ZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKKyAgICBBU1NFUlQodmlldyk7CisKKyAgICB3ZWJr
aXRfd2ViX2ZyYW1lX2xheW91dChtYWluRnJhbWUpOworCisgICAgZG93biA9IHRydWU7CisKKyAg
ICBnYm9vbGVhbiByZXR1cm5fdmFsOworICAgIEdka0V2ZW50IGV2ZW50OworICAgIG1lbXNldCgm
ZXZlbnQsIDAsIHNpemVvZihldmVudCkpOworICAgIGV2ZW50LnR5cGUgPSBHREtfQlVUVE9OX1BS
RVNTOworICAgIGV2ZW50LmJ1dHRvbi5idXR0b24gPSAxOworICAgIGV2ZW50LmJ1dHRvbi54ID0g
bGFzdE1vdXNlUG9zaXRpb25YOworICAgIGV2ZW50LmJ1dHRvbi55ID0gbGFzdE1vdXNlUG9zaXRp
b25ZOworICAgIGlmICghbXNnUXVldWVbZW5kT2ZRdWV1ZV0uZGVsYXkpCisgICAgICAgIGdfc2ln
bmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3ByZXNzX2V2ZW50IiwgJmV2ZW50LCAmcmV0
dXJuX3ZhbCk7CisgICAgZWxzZSB7CisgICAgICAgIC8vIHJlcGxheVNhdmVkRXZlbnRzIGhhcyB0
aGUgcmVxdWlyZWQgbG9naWMgdG8gbWFrZSBsZWFwRm9yd2FyZCBkZWxheXMgd29yaworICAgICAg
ICBtc2dRdWV1ZVtlbmRPZlF1ZXVlKytdLmV2ZW50ID0gZXZlbnQ7CisgICAgICAgIHJlcGxheVNh
dmVkRXZlbnRzKCk7CisgICAgfQorCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNv
bnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiBtb3VzZVVwQ2FsbGJhY2soSlNDb250ZXh0
UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0
LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNW
YWx1ZVJlZiogZXhjZXB0aW9uKQoreworCisgICAgR2RrRXZlbnQgZXZlbnQ7CisgICAgbWVtc2V0
KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CisgICAgZXZlbnQudHlwZSA9IEdES19CVVRUT05f
UkVMRUFTRTsKKyAgICBldmVudC5idXR0b24uYnV0dG9uID0gMTsKKyAgICBldmVudC5idXR0b24u
eCA9IGxhc3RNb3VzZVBvc2l0aW9uWDsKKyAgICBldmVudC5idXR0b24ueSA9IGxhc3RNb3VzZVBv
c2l0aW9uWTsKKworICAgIGlmICgoZHJhZ01vZGUgJiYgIXJlcGxheWluZ1NhdmVkRXZlbnRzKSB8
fCBtc2dRdWV1ZVtlbmRPZlF1ZXVlXS5kZWxheSkgeworICAgICAgICBtc2dRdWV1ZVtlbmRPZlF1
ZXVlKytdLmV2ZW50ID0gZXZlbnQ7CisgICAgICAgIHJlcGxheVNhdmVkRXZlbnRzKCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgd2Via2l0X3dlYl9mcmFtZV9sYXlvdXQobWFpbkZyYW1lKTsKKyAg
ICAgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3
KG1haW5GcmFtZSk7CisgICAgICAgIEFTU0VSVCh2aWV3KTsKKworICAgICAgICBnYm9vbGVhbiBy
ZXR1cm5fdmFsOworICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgImJ1dHRvbl9y
ZWxlYXNlX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgIGRvd24gPSBmYWxz
ZTsKKyAgICB9CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9
CisKK3N0YXRpYyBKU1ZhbHVlUmVmIG1vdXNlTW92ZVRvQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNv
bnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXpl
X3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJl
ZiogZXhjZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENvdW50IDwgMikKKyAgICAgICAgcmV0
dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgbGFzdE1vdXNlUG9zaXRp
b25YID0gKGludClKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgYXJndW1lbnRzWzBdLCBleGNlcHRp
b24pOworICAgIEFTU0VSVCghZXhjZXB0aW9uIHx8ICEqZXhjZXB0aW9uKTsKKyAgICBsYXN0TW91
c2VQb3NpdGlvblkgPSAoaW50KUpTVmFsdWVUb051bWJlcihjb250ZXh0LCBhcmd1bWVudHNbMV0s
IGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCFleGNlcHRpb24gfHwgISpleGNlcHRpb24pOworCisg
ICAgR2RrRXZlbnQgZXZlbnQ7CisgICAgZXZlbnQudHlwZSA9IEdES19NT1RJT05fTk9USUZZOwor
ICAgIGV2ZW50Lm1vdGlvbi54ID0gbGFzdE1vdXNlUG9zaXRpb25YOworICAgIGV2ZW50Lm1vdGlv
bi55ID0gbGFzdE1vdXNlUG9zaXRpb25ZOworCisgICAgaWYgKGRyYWdNb2RlICYmIGRvd24gJiYg
IXJlcGxheWluZ1NhdmVkRXZlbnRzKSB7CisgICAgICAgIG1zZ1F1ZXVlW2VuZE9mUXVldWUrK10u
ZXZlbnQgPSBldmVudDsKKyAgICB9IGVsc2UgeworICAgICAgICB3ZWJraXRfd2ViX2ZyYW1lX2xh
eW91dChtYWluRnJhbWUpOworICAgICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dl
Yl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKKyAgICAgICAgQVNTRVJUKHZpZXcpOwor
CisgICAgICAgIGdib29sZWFuIHJldHVybl92YWw7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlf
bmFtZSh2aWV3LCAibW90aW9uX25vdGlmeV9ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOwor
ICAgIH0KKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwor
dm9pZCByZXBsYXlTYXZlZEV2ZW50cygpCit7CisgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdl
YmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CisgICAgQVNTRVJUKHZpZXcp
OworCisgICAgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSB0cnVlOworCisgICAgd2hpbGUgKHN0YXJ0
T2ZRdWV1ZSA8IGVuZE9mUXVldWUgJiYgIW1zZ1F1ZXVlW3N0YXJ0T2ZRdWV1ZV0uZGVsYXkpIHsK
KyAgICAgICAgR2RrRXZlbnQgZXZlbnQgPSBtc2dRdWV1ZVtzdGFydE9mUXVldWUrK10uZXZlbnQ7
CisgICAgICAgIGdib29sZWFuIHJldHVybl92YWw7CisKKyAgICAgICAgc3dpdGNoIChldmVudC50
eXBlKSB7CisgICAgICAgIGNhc2UgR0RLX0JVVFRPTl9SRUxFQVNFOgorICAgICAgICAgICAgZ19z
aWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJidXR0b25fcHJlc3NfZXZlbnQiLCAmZXZlbnQsICZy
ZXR1cm5fdmFsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIEdES19CVVRUT05f
UFJFU1M6CisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgImJ1dHRvbl9y
ZWxlYXNlX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBHREtfTU9USU9OX05PVElGWToKKyAgICAgICAgICAgIGdfc2lnbmFsX2Vt
aXRfYnlfbmFtZSh2aWV3LCAibW90aW9uX25vdGlmeV9ldmVudCIsICZldmVudCwgJnJldHVybl92
YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBi
cmVhazsKKyAgICAgICAgfQorICAgIH0KKworICAgIGludCBudW1RdWV1ZWRNZXNzYWdlcyA9IGVu
ZE9mUXVldWUgLSBzdGFydE9mUXVldWU7CisgICAgaWYgKCFudW1RdWV1ZWRNZXNzYWdlcykgewor
ICAgICAgICBzdGFydE9mUXVldWUgPSAwOworICAgICAgICBlbmRPZlF1ZXVlID0gMDsKKyAgICAg
ICAgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSBmYWxzZTsKKyAgICAgICAgQVNTRVJUKCFkb3duKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGlmIChtc2dRdWV1ZVtzdGFydE9mUXVldWVd
LmRlbGF5KSB7CisgICAgICAgIGdfdXNsZWVwKG1zZ1F1ZXVlW3N0YXJ0T2ZRdWV1ZV0uZGVsYXkp
OworICAgICAgICBtc2dRdWV1ZVtzdGFydE9mUXVldWVdLmRlbGF5ID0gMDsKKyAgICB9CisKKyAg
ICAvLyBub3QgcmVhbGx5IHN1cmUgd2hhdCB3aW5kb3dzIGlzIGRvaW5nIGhlcmUuIHdlIHdpbGwg
anVzdCBkbyBpdAorICAgIC8vIGxpa2UgYWJvdmUgYW5kIGVtaXQgc2lnbmFscyBhbmQgbm90IGVu
dGVyIHRoZSBldmVudCBsb29wLi4uCisgICAgLy8gaW4gdGhlb3J5IHRoaXMgY291bGQgYmUgbWVy
Z2VkIHdpdGggdGhlIGFib3ZlIGJ1dCBJIHByZWZlciB0byBrZWVwCisgICAgLy8gdGhlIHN0cnVj
dHVyZSBsaWtlIHRoZSB3aW5kb3dzIGNvZGUgdG8gbWVyZ2UgaW4gY2hhbmdlcyBtb3JlIGVhc2ls
eS4KKyAgICB3aGlsZSAodHJ1ZSkgeworICAgICAgICBnYm9vbGVhbiByZXR1cm5fdmFsOworICAg
ICAgICBHZGtFdmVudCBldmVudCA9IG1zZ1F1ZXVlW3N0YXJ0T2ZRdWV1ZSsrXS5ldmVudDsKKyAg
ICAgICAgc3dpdGNoIChldmVudC50eXBlKSB7CisgICAgICAgIGNhc2UgR0RLX0JVVFRPTl9SRUxF
QVNFOgorICAgICAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJidXR0b25fcHJl
c3NfZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5fdmFsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBjYXNlIEdES19CVVRUT05fUFJFU1M6CisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5
X25hbWUodmlldywgImJ1dHRvbl9yZWxlYXNlX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7
CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBHREtfTU9USU9OX05PVElGWToKKyAg
ICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAibW90aW9uX25vdGlmeV9ldmVu
dCIsICZldmVudCwgJnJldHVybl92YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRl
ZmF1bHQ6CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorICAgICAgICBpZiAoc3RhcnRP
ZlF1ZXVlID49IGVuZE9mUXVldWUpCisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgZ191c2xl
ZXAobXNnUXVldWVbc3RhcnRPZlF1ZXVlXS5kZWxheSk7CisgICAgICAgIG1zZ1F1ZXVlW3N0YXJ0
T2ZRdWV1ZV0uZGVsYXkgPSAwOworICAgIH0KKworICAgIHN0YXJ0T2ZRdWV1ZSA9IDA7CisgICAg
ZW5kT2ZRdWV1ZSA9IDA7CisKKyAgICByZXBsYXlpbmdTYXZlZEV2ZW50cyA9IGZhbHNlOworfQor
CitzdGF0aWMgSlNWYWx1ZVJlZiBrZXlEb3duQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJn
dW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgc3RhdGljIGNvbnN0IEpTU3RyaW5n
UmVmIGxlbmd0aFByb3BlcnR5ID0gSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImxlbmd0
aCIpOworCisgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dl
Yl92aWV3KG1haW5GcmFtZSk7CisgICAgQVNTRVJUKHZpZXcpOworCisgICAgd2Via2l0X3dlYl9m
cmFtZV9sYXlvdXQobWFpbkZyYW1lKTsKKworICAgIEpTU3RyaW5nUmVmIGNoYXJhY3RlciA9IEpT
VmFsdWVUb1N0cmluZ0NvcHkoY29udGV4dCwgYXJndW1lbnRzWzBdLCBleGNlcHRpb24pOworICAg
IEFTU0VSVCghKmV4Y2VwdGlvbik7CisKKyAgICBpbnQgZ2RrS2V5U3ltOworICAgIGludCBjaGFy
Q29kZSA9IDA7CisgICAgYm9vbCBuZWVkc1NoaWZ0S2V5TW9kaWZpZXIgPSBmYWxzZTsKKyAgICBp
ZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJsZWZ0QXJyb3ciKSkK
KyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX0xlZnQ7CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0Vx
dWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJyaWdodEFycm93IikpCisgICAgICAgIGdka0tl
eVN5bSA9IEdES19SaWdodDsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3Ry
aW5nKGNoYXJhY3RlciwgInVwQXJyb3ciKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX1VwOwor
ICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAiZG93
bkFycm93IikpCisgICAgICAgIGdka0tleVN5bSA9IEdES19Eb3duOworICAgIGVsc2UgaWYgKEpT
U3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAicGFnZVVwIikpCisgICAgICAg
IGdka0tleVN5bSA9IEdES19QYWdlX1VwOworICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRv
VVRGOENTdHJpbmcoY2hhcmFjdGVyLCAicGFnZURvd24iKSkKKyAgICAgICAgZ2RrS2V5U3ltID0g
R0RLX1BhZ2VfRG93bjsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KGNoYXJhY3RlciwgImhvbWUiKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX0hvbWU7CisgICAg
ZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJlbmQiKSkK
KyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX0VuZDsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgImRlbGV0ZSIpKQorICAgICAgICBnZGtLZXlTeW0g
PSBHREtfQmFja1NwYWNlOworICAgIGVsc2UgeworICAgICAgICBjaGFyQ29kZSA9IEpTU3RyaW5n
R2V0Q2hhcmFjdGVyc1B0cihjaGFyYWN0ZXIpWzBdOworICAgICAgICBnZGtLZXlTeW0gPSBnZGtf
dW5pY29kZV90b19rZXl2YWwoY2hhckNvZGUpOworICAgICAgICBpZiAoV1RGOjppc0FTQ0lJVXBw
ZXIoY2hhckNvZGUpKQorICAgICAgICAgICAgbmVlZHNTaGlmdEtleU1vZGlmaWVyID0gdHJ1ZTsK
KyAgICB9CisKKyAgICBKU1N0cmluZ1JlbGVhc2UoY2hhcmFjdGVyKTsKKworICAgIC8vIGhhbmRs
ZSBtb2RpZmllciBrZXlzLgorICAgIGludCBzdGF0ZSA9IDA7CisgICAgaWYgKGFyZ3VtZW50Q291
bnQgPiAxIHx8IG5lZWRzU2hpZnRLZXlNb2RpZmllcikgeworICAgICAgICBpZiAobmVlZHNTaGlm
dEtleU1vZGlmaWVyKQorICAgICAgICAgICAgc3RhdGUgfD0gR0RLX1NISUZUX01BU0s7CisKKyAg
ICAgICAgaWYgKGFyZ3VtZW50Q291bnQgPiAxKSB7CisgICAgICAgICAgICBKU09iamVjdFJlZiBt
b2RpZmllcnNBcnJheSA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBhcmd1bWVudHNbMV0sIGV4
Y2VwdGlvbik7CisgICAgICAgICAgICBpZiAobW9kaWZpZXJzQXJyYXkpIHsKKyAgICAgICAgICAg
ICAgICBpbnQgbW9kaWZpZXJzQ291bnQgPSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgSlNPYmpl
Y3RHZXRQcm9wZXJ0eShjb250ZXh0LCBtb2RpZmllcnNBcnJheSwgbGVuZ3RoUHJvcGVydHksIDAp
LCAwKTsKKyAgICAgICAgICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1vZGlmaWVyc0NvdW50
OyArK2kpIHsKKyAgICAgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZiB2YWx1ZSA9IEpTT2JqZWN0
R2V0UHJvcGVydHlBdEluZGV4KGNvbnRleHQsIG1vZGlmaWVyc0FycmF5LCBpLCAwKTsKKyAgICAg
ICAgICAgICAgICAgICAgSlNTdHJpbmdSZWYgc3RyaW5nID0gSlNWYWx1ZVRvU3RyaW5nQ29weShj
b250ZXh0LCB2YWx1ZSwgMCk7CisgICAgICAgICAgICAgICAgICAgIGlmIChKU1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKHN0cmluZywgImN0cmxLZXkiKSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIHN0YXRlIHw9IEdES19DT05UUk9MX01BU0s7CisgICAgICAgICAgICAgICAgICAgIGVsc2Ug
aWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoc3RyaW5nLCAic2hpZnRLZXkiKSkKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHN0YXRlIHw9IEdES19TSElGVF9NQVNLOworICAgICAgICAg
ICAgICAgICAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKHN0cmluZywg
ImFsdEtleSIpKQorICAgICAgICAgICAgICAgICAgICAgICAgc3RhdGUgfD0gR0RLX01PRDFfTUFT
SzsKKworICAgICAgICAgICAgICAgICAgICBKU1N0cmluZ1JlbGVhc2Uoc3RyaW5nKTsKKyAgICAg
ICAgICAgICAgICB9CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAgICAvLyBj
cmVhdGUgYW5kIHNlbmQgdGhlIGV2ZW50CisgICAgZ2Jvb2xlYW4gcmV0dXJuX3ZhbDsKKyAgICBH
ZGtFdmVudCBldmVudDsKKyAgICBtZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YoZXZlbnQpKTsKKyAg
ICBldmVudC5rZXkudHlwZSA9IEdES19LRVlfUFJFU1M7CisgICAgZXZlbnQua2V5LmtleXZhbCA9
IGdka0tleVN5bTsKKyAgICBldmVudC5rZXkuc3RhdGUgPSBzdGF0ZTsKKyAgICBnX3NpZ25hbF9l
bWl0X2J5X25hbWUodmlldywgImtleS1wcmVzcy1ldmVudCIsICZldmVudC5rZXksICZyZXR1cm5f
dmFsKTsKKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwor
c3RhdGljIEpTVmFsdWVSZWYgdGV4dFpvb21JbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFy
Z3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4
Y2VwdGlvbikKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9n
ZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBK
U1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIGdmbG9hdCBjdXJyZW50Wm9vbSA9
IHdlYmtpdF93ZWJfdmlld19nZXRfem9vbV9sZXZlbCh2aWV3KTsKKyAgICB3ZWJraXRfd2ViX3Zp
ZXdfc2V0X3pvb21fbGV2ZWwodmlldywgY3VycmVudFpvb20gKiBab29tTXVsdGlwbGllclJhdGlv
KTsKKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworc3Rh
dGljIEpTVmFsdWVSZWYgdGV4dFpvb21PdXRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCit7CisgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0
X3dlYl92aWV3KG1haW5GcmFtZSk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICBnZmxvYXQgY3VycmVudFpvb20gPSB3
ZWJraXRfd2ViX3ZpZXdfZ2V0X3pvb21fbGV2ZWwodmlldyk7CisgICAgd2Via2l0X3dlYl92aWV3
X3NldF96b29tX2xldmVsKHZpZXcsIGN1cnJlbnRab29tIC8gWm9vbU11bHRpcGxpZXJSYXRpbyk7
CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRp
YyBKU1ZhbHVlUmVmIHpvb21QYWdlSW5DYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVu
dENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pCit7CisgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dl
Yl92aWV3KG1haW5GcmFtZSk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICB3ZWJraXRfd2ViX3ZpZXdfem9vbV9pbih2
aWV3KTsKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0
YXRpYyBKU1ZhbHVlUmVmIHpvb21QYWdlT3V0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJn
dW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKQoreworICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dl
dF93ZWJfdmlldyhtYWluRnJhbWUpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgd2Via2l0X3dlYl92aWV3X3pvb21f
b3V0KHZpZXcpOworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30K
Kworc3RhdGljIEpTU3RhdGljRnVuY3Rpb24gc3RhdGljRnVuY3Rpb25zW10gPSB7CisgICAgeyAi
Y29udGV4dENsaWNrIiwgY29udGV4dENsaWNrQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRl
UmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJtb3Vz
ZURvd24iLCBtb3VzZURvd25DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8
IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgIm1vdXNlVXAiLCBtb3Vz
ZVVwQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJtb3VzZU1vdmVUbyIsIG1vdXNlTW92ZVRvQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKKyAgICB7ICJsZWFwRm9yd2FyZCIsIGxlYXBGb3J3YXJkQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKKyAgICB7ICJrZXlEb3duIiwga2V5RG93bkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAg
eyAidGV4dFpvb21JbiIsIHRleHRab29tSW5DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVS
ZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgInRleHRa
b29tT3V0IiwgdGV4dFpvb21PdXRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgInpvb21QYWdlSW4i
LCB6b29tUGFnZUluQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQ
cm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJ6b29tUGFnZU91dCIsIHpvb21Q
YWdlT3V0Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7IDAsIDAsIDAgfQorfTsKKworc3RhdGljIEpT
U3RhdGljVmFsdWUgc3RhdGljVmFsdWVzW10gPSB7CisgICAgeyAiZHJhZ01vZGUiLCBnZXREcmFn
TW9kZUNhbGxiYWNrLCBzZXREcmFnTW9kZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5v
bmUgfSwKKyAgICB7IDAsIDAsIDAsIDAgfQorfTsKKworc3RhdGljIEpTQ2xhc3NSZWYgZ2V0Q2xh
c3MoSlNDb250ZXh0UmVmIGNvbnRleHQpCit7CisgICAgc3RhdGljIEpTQ2xhc3NSZWYgZXZlbnRT
ZW5kZXJDbGFzcyA9IDA7CisKKyAgICBpZiAoIWV2ZW50U2VuZGVyQ2xhc3MpIHsKKyAgICAgICAg
SlNDbGFzc0RlZmluaXRpb24gY2xhc3NEZWZpbml0aW9uID0geworICAgICAgICAgICAgICAgIDAs
IDAsIDAsIDAsIDAsIDAsCisgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MCwgMCwgMH07CisgICAgICAgIGNsYXNzRGVmaW5pdGlvbi5zdGF0aWNGdW5jdGlvbnMgPSBzdGF0
aWNGdW5jdGlvbnM7CisgICAgICAgIGNsYXNzRGVmaW5pdGlvbi5zdGF0aWNWYWx1ZXMgPSBzdGF0
aWNWYWx1ZXM7CisKKyAgICAgICAgZXZlbnRTZW5kZXJDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmNs
YXNzRGVmaW5pdGlvbik7CisgICAgfQorCisgICAgcmV0dXJuIGV2ZW50U2VuZGVyQ2xhc3M7Cit9
CisKK0pTT2JqZWN0UmVmIG1ha2VFdmVudFNlbmRlcihKU0NvbnRleHRSZWYgY29udGV4dCkKK3sK
KyAgICBkb3duID0gZmFsc2U7CisgICAgZHJhZ01vZGUgPSB0cnVlOworICAgIHJlcGxheWluZ1Nh
dmVkRXZlbnRzID0gZmFsc2U7CisgICAgdGltZU9mZnNldCA9IDA7CisgICAgbGFzdE1vdXNlUG9z
aXRpb25YID0gbGFzdE1vdXNlUG9zaXRpb25ZID0gMDsKKworICAgIGVuZE9mUXVldWUgPSAwOwor
ICAgIHN0YXJ0T2ZRdWV1ZSA9IDA7CisKKyAgICBkaWREcmFnRW50ZXIgPSBmYWxzZTsKKworICAg
IHJldHVybiBKU09iamVjdE1ha2UoY29udGV4dCwgZ2V0Q2xhc3MoY29udGV4dCksIDApOworfQpk
aWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmgg
Yi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzJlOGE5Ci0tLSAvZGV2L251bGwKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmgKQEAgLTAsMCArMSwzOSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBDb21wdXRl
ciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAq
ICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBl
cm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBBTkQg
SVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyAq
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
CisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAqIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBFdmVudFNlbmRlcl9oCisjZGVmaW5lIEV2ZW50U2VuZGVyX2gKKwordHlwZWRlZiBjb25z
dCBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0NvbnRleHRSZWY7Cit0eXBlZGVmIHN0cnVjdCBP
cGFxdWVKU1ZhbHVlKiBKU09iamVjdFJlZjsKKworSlNPYmplY3RSZWYgbWFrZUV2ZW50U2VuZGVy
KEpTQ29udGV4dFJlZiBjb250ZXh0KTsKK3ZvaWQgcmVwbGF5U2F2ZWRFdmVudHMoKTsKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbSBiL1dlYktpdFRvb2xz
L0dOVW1ha2VmaWxlLmFtCmluZGV4IDQ4NDI0ZDAuLjBlZWMxYjAgMTAwNjQ0Ci0tLSBhL1dlYktp
dFRvb2xzL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtCkBA
IC01Niw2ICs1Niw4IEBAIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX1NPVVJDRVMgPSBcCiAJV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvY29uZmlnLmggXAogCVdlYktpdFRvb2xzL0R1bXBSZW5k
ZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgXAogCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9EdW1wUmVuZGVyVHJlZUd0ay5oIFwKKwlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJl
ZS9ndGsvRXZlbnRTZW5kZXIuaCBcCisJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2
ZW50U2VuZGVyLmNwcCBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0dDQ29udHJv
bGxlckd0ay5jcHAgXAogCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9MYXlvdXRUZXN0
Q29udHJvbGxlckd0ay5jcHAgXAogCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9Xb3Jr
UXVldWVJdGVtR3RrLmNwcAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39295</attachid>
            <date>2009-09-09 13:10:00 -0700</date>
            <delta_ts>2009-09-09 13:22:08 -0700</delta_ts>
            <desc>Partial implementation of EventSender</desc>
            <filename>es-1-f.diff</filename>
            <type>text/plain</type>
            <size>47706</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYjdiMWIzLi45ODQyNDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDkt
MDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBEdW1wUmVuZGVyVHJlZSBu
ZWVkcyBldmVudFNlbmRlciBvYmplY3QgYW5kIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTk5MAorCisgICAgICAgIEVuYWJs
ZSBwbGVudHkgb2YgdGVzdHMgdGhhdCBub3cgcGFzcyB0aGFua3MgdG8gKG9ubHkpIHBhcnRpYWwK
KyAgICAgICAgRXZlbnRTZW5kZXIgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDoKKwogMjAwOS0wOS0wOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAppbmRleCBkMzA1MzZhLi42OThlZGFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZApAQCAtNzMzLDcgKzczMyw2IEBAIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9v
a3VwcHJlZml4MTkueGh0bWwKICMgVGVzdHMgaW4gZWRpdGluZy8gZGlyZWN0b3J5CiAjICAgVGVz
dHMgZmFpbGluZwogZWRpdGluZy9kZWxldGluZy81NTQ2NzYzLmh0bWwKLWVkaXRpbmcvZGVsZXRp
bmcvNTcyOTY4MC5odG1sCiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hbGwtdGV4dC1pbi10ZXh0
LWZpZWxkLWFzc2VydGlvbi5odG1sCiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saWdhdHVyZS0w
MDEuaHRtbAogZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGlnYXR1cmUtMDAyLmh0bWwKQEAgLTc1
OCw3ICs3NTcsNiBAQCBlZGl0aW5nL2V4ZWNDb21tYW5kL3VubGluay5odG1sCiBlZGl0aW5nL2lu
c2VydGluZy81OTk0NDgwLTIuaHRtbAogZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRoYWktY2hh
cmFjdGVycy0wMDEuaHRtbAogZWRpdGluZy9pbnNlcnRpbmcvc3BhY2UtYWZ0ZXItcmVtb3ZlZm9y
bWF0Lmh0bWwKLWVkaXRpbmcvaW5zZXJ0aW5nL3R5cGluZy10YWItZGVzaWdubW9kZS5odG1sCiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvMTk2NDQtMS5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvMTk2NDQt
Mi5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvNDc0NDAwOC5odG1sCkBAIC03NjcsNyArNzY1LDYg
QEAgZWRpdGluZy9wYXN0ZWJvYXJkLzUzNjg4MzMuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkLzU2
NjUyOTkuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkLzU3NjE1MzAtMS5odG1sCiBlZGl0aW5nL3Bh
c3RlYm9hcmQvNTc4MDY5Ny0yLmh0bWwKLWVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNoLmh0
bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWluLXBhc3N3b3JkLWZpZWxkLmh0bWwKIGVkaXRp
bmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLWZsb2F0Lmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9k
cmFnLWltYWdlLWluLWFib3V0LWJsYW5rLWZyYW1lLmh0bWwKQEAgLTc3OSwxOSArNzc2LDEzIEBA
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1pbnRvLWFuY2hvci10ZXh0Lmh0bWwKIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1wbGFpbnRleHQtdXNlci1zZWxlY3Qtbm9uZS5odG1sCiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtdGFibGUtMDAyLmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS10ZXh0LTAxMy5odG1sCi1lZGl0aW5nL3NlbGVjdGlvbi81MjA5OTg0Lmh0bWwKIGVkaXRpbmcv
c2VsZWN0aW9uL2FmdGVyLWxpbmUtYnJlYWsuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24vYW5jaG9y
LWZvY3VzMS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi9hbmNob3ItZm9jdXMyLmh0bWwKIGVkaXRp
bmcvc2VsZWN0aW9uL2FuY2hvci1mb2N1czMuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vY2xpY2st
YWZ0ZXItbmVzdGVkLWJsb2NrLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWJlZm9yZS1h
bmQtYWZ0ZXItdGFibGUuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2staW4tbWFyZ2lucy1p
bnNpZGUtZWRpdGFibGUtZGl2Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWluLXBhZGRp
bmctd2l0aC1tdWx0aXBsZS1saW5lLWJveGVzLmh0bWwKLWVkaXRpbmcvc2VsZWN0aW9uL2NsaWNr
LW91dHNpZGUtZWRpdGFibGUtZGl2Lmh0bWwKLWVkaXRpbmcvc2VsZWN0aW9uL2NyYXNoLW9uLWRy
YWctd2l0aC1tdXRhdGlvbi1ldmVudHMuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xp
Y2std2hpdGVzcGFjZS1jcmFzaC5odG1sCi1lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay13
aGl0ZXNwYWNlLWltZy1jcmFzaC5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay13
aGl0ZXNwYWNlLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2RyYWctdGV4dC1kZWxheS5odG1sCiBl
ZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLmh0bWwKQEAgLTEzNDQsNyArMTMzNSw2
IEBAIGVkaXRpbmcvc2VsZWN0aW9uLzUxMzE3MTYtNC5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81
MTM2Njk2Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzUxOTUxNjYtMS5odG1sCiBlZGl0aW5nL3Nl
bGVjdGlvbi81MTk1MTY2LTIuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vNTIxMzk2My5odG1sCiBl
ZGl0aW5nL3NlbGVjdGlvbi81MjMyMTU5Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzUyMzQzODMt
MS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81MjM0MzgzLTIuaHRtbApAQCAtMTU1OCwxMyArMTU0
OCwxMSBAQCBmYXN0L2NhbnZhcy9jYW52YXMtem9vbS5odG1sCiBmYXN0L2NhbnZhcy9wb2ludElu
UGF0aC5odG1sCiBmYXN0L2NhbnZhcy9zZXQtY29sb3JzLmh0bWwKIGZhc3QvY2FudmFzL3RvRGF0
YVVSTC1zdXBwb3J0ZWRUeXBlcy5odG1sCi1mYXN0L2Nzcy9ob3Zlci1hZmZlY3RzLWNoaWxkLmh0
bWwKIGZhc3QvY3NzL2ludmFsaWQtcGVyY2VudGFnZS1wcm9wZXJ0eS5odG1sCiBmYXN0L2Nzcy90
ZXh0LWFsaWduLmh0bWwKIGZhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwuaHRtbAogZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLmh0bWwKIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUuaHRtbAotZmFzdC9jc3MvcmVz
aXplLXNpbmdsZS1heGlzLmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQtcXVpcmtz
Lmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQuaHRtbAogZmFzdC9kb20vY3NzVGFy
Z2V0LWNyYXNoLmh0bWwKQEAgLTE1ODYsNyArMTU3NCw2IEBAIGZhc3QvZG9tL1dpbmRvdy93aW5k
b3ctb25Gb2N1cy5odG1sCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXJlc2l6ZS1hbmQtbW92ZS1h
cmd1bWVudHMuaHRtbAogZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbAogZmFzdC9k
b20vV2luZG93L3dpbmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwKLWZhc3QvZHluYW1pYy9ob3ZlcmVk
LWRldGFjaC5odG1sCiBmYXN0L2R5bmFtaWMvcGF1c2VkLWV2ZW50LWRpc3BhdGNoLmh0bWwKIGZh
c3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC5odG1sCiBmYXN0L2R5bmFt
aWMvd2luZG93LXNjcm9sbGJhcnMtdGVzdC5odG1sCkBAIC0xNTk0LDE1NiArMTU4MSw4NiBAQCBm
YXN0L2VuY29kaW5nL2NoYXItZGVjb2RpbmctbWFjLmh0bWwKIGZhc3QvZW5jb2RpbmcvY2hhci1k
ZWNvZGluZy5odG1sCiBmYXN0L2VuY29kaW5nL2lkbi1zZWN1cml0eS5odG1sCiBmYXN0L2VuY29k
aW5nL21haWx0by1hbHdheXMtdXRmLTguaHRtbAotZmFzdC9ldmVudHMvYWNjZXNzLWtleS1zZWxm
LWRlc3RydWN0Lmh0bWwKLWZhc3QvZXZlbnRzL2FuY2hvci1lbXB0eS1mb2N1cy5odG1sCi1mYXN0
L2V2ZW50cy9hbmNob3ItaW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKLWZhc3QvZXZlbnRzL2Fycm93
LWtleXMtb24tYm9keS5odG1sCi1mYXN0L2V2ZW50cy9hcnJvdy1uYXZpZ2F0aW9uLmh0bWwKIGZh
c3QvZXZlbnRzL2F0dGVtcHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sCiBmYXN0L2V2
ZW50cy9hdXRvc2Nyb2xsLWluLXRleHRmaWVsZC5odG1sCiBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xs
LW5vbnNjcm9sbGFibGUtaWZyYW1lLWluLXNjcm9sbGFibGUtZGl2Lmh0bWwKIGZhc3QvZXZlbnRz
L2F1dG9zY3JvbGwtd2l0aC1ub24tc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbAotZmFzdC9ldmVudHMv
Y2FwdHVyZS1vbi10YXJnZXQuaHRtbAogZmFzdC9ldmVudHMvY2xpY2stY291bnQuaHRtbAogZmFz
dC9ldmVudHMvY29udGVudC1jaGFuZ2VkLWR1cmluZy1kcm9wLmh0bWwKIGZhc3QvZXZlbnRzL2Nv
bnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbAotZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Ny
b2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL2NyYXNoLW9uLW11dGF0ZS1k
dXJpbmctZHJvcC5odG1sCiBmYXN0L2V2ZW50cy9kYmxjbGljay1hZGRFdmVudExpc3RlbmVyLmh0
bWwKIGZhc3QvZXZlbnRzL2RyYWctaW4tZnJhbWVzLmh0bWwKLWZhc3QvZXZlbnRzL2RyYWctb3V0
c2lkZS13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvZXZlbnQtdmlldy10b1N0cmluZy5odG1sCi1m
YXN0L2V2ZW50cy9mcmFtZS1jbGljay1mb2N1cy5odG1sCiBmYXN0L2V2ZW50cy9mcmFtZS10YWIt
Zm9jdXMuaHRtbAotZmFzdC9ldmVudHMvaW5wdXQtaW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKIGZh
c3QvZXZlbnRzL2pzLWtleWJvYXJkLWV2ZW50LWNyZWF0aW9uLmh0bWwKIGZhc3QvZXZlbnRzL2tl
eS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKIGZhc3QvZXZlbnRzL2tleS1ldmVudHMtaW4t
aW5wdXQtdGV4dC5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNzLWZvY3VzLWNoYW5n
ZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNzLXByZXZlbnREZWZhdWx0Lmh0bWwK
LWZhc3QvZXZlbnRzL2tleWRvd24tcmVtb3ZlLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL2tleXBy
ZXNzLWZvY3VzLWNoYW5nZS5odG1sCi1mYXN0L2V2ZW50cy9rZXlwcmVzcy1pbnNlcnQtdGFiLmh0
bWwKLWZhc3QvZXZlbnRzL2tleXByZXNzLXJlbW92ZWQtbm9kZS5odG1sCiBmYXN0L2V2ZW50cy9t
b3VzZS1jbGljay1ldmVudHMuaHRtbAotZmFzdC9ldmVudHMvbW91c2UtZHJhZy1mcm9tLWZyYW1l
LXRvLW90aGVyLWZyYW1lLmh0bWwKLWZhc3QvZXZlbnRzL21vdXNlLWRyYWctZnJvbS1mcmFtZS5o
dG1sCiBmYXN0L2V2ZW50cy9tb3VzZWNsaWNrLXRhcmdldC1hbmQtcG9zaXRpb25pbmcuaHRtbAot
ZmFzdC9ldmVudHMvbW91c2Vtb3ZlLWFmdGVyLWRyYWctb3Zlci1zY3JvbGxiYXIuaHRtbAotZmFz
dC9ldmVudHMvbW91c2VvdXQtZGVhZC1zdWJmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9tb3VzZW91
dC1vbi13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvbW91c2VvdmVyLW1vdXNlb3V0Mi5odG1sCi1m
YXN0L2V2ZW50cy9tb3VzZW92ZXItbW91c2VvdXQuaHRtbAogZmFzdC9ldmVudHMvbW91c2V1cC1m
cm9tLWJ1dHRvbjIuaHRtbAotZmFzdC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50Lmh0
bWwKIGZhc3QvZXZlbnRzL29mZnNldFgtb2Zmc2V0WS5odG1sCi1mYXN0L2V2ZW50cy9vbmNoYW5n
ZS1jbGljay1oYW5nLmh0bWwKIGZhc3QvZXZlbnRzL29uY2hhbmdlLXBhc3N3b3JkZmllbGQuaHRt
bAogZmFzdC9ldmVudHMvb25jaGFuZ2Utc2VhcmNoZmllbGQuaHRtbAotZmFzdC9ldmVudHMvb25j
aGFuZ2Utc2VsZWN0LXBvcHVwLmh0bWwKIGZhc3QvZXZlbnRzL29uY2hhbmdlLXRleHRmaWVsZC5o
dG1sCi1mYXN0L2V2ZW50cy9vbmNsaWNrLWxpc3QtbWFya2VyLmh0bWwKIGZhc3QvZXZlbnRzL29u
ZHJhZ2VudGVyLmh0bWwKIGZhc3QvZXZlbnRzL29uc2VhcmNoLWVudGVyLmh0bWwKIGZhc3QvZXZl
bnRzL29udW5sb2FkLWNsZWFycy1vbmJlZm9yZXVubG9hZC5odG1sCiBmYXN0L2V2ZW50cy9vbnVu
bG9hZC1ub3Qtb24tYm9keS5odG1sCiBmYXN0L2V2ZW50cy9vbnVubG9hZC5odG1sCi1mYXN0L2V2
ZW50cy9vcGVuLXdpbmRvdy1mcm9tLWFub3RoZXItZnJhbWUuaHRtbAogZmFzdC9ldmVudHMvb3B0
aW9uLXRhYi5odG1sCiBmYXN0L2V2ZW50cy9wb2ludGVyLWV2ZW50cy0yLmh0bWwKLWZhc3QvZXZl
bnRzL3BvaW50ZXItZXZlbnRzLmh0bWwKIGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNr
LWluLWlmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC5odG1sCiBmYXN0L2V2
ZW50cy9yaWdodC1jbGljay1mb2N1cy5odG1sCi1mYXN0L2V2ZW50cy9zY3JvbGwtdG8tYW5jaG9y
LWluLW92ZXJmbG93LWhpZGRlbi5odG1sCiBmYXN0L2V2ZW50cy9zY3JvbGxiYXItZG91YmxlLWNs
aWNrLmh0bWwKLWZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LWR1cmluZy1hdXRvc2Nyb2xsLmh0bWwK
LWZhc3QvZXZlbnRzL3NoYWRvdy1ib3VuZGFyeS1jcm9zc2luZy5odG1sCi1mYXN0L2V2ZW50cy9z
cGFjZS1zY3JvbGwtZXZlbnQuaHRtbAogZmFzdC9ldmVudHMvc3BlY2lhbC1rZXktZXZlbnRzLWlu
LWlucHV0LXRleHQuaHRtbAogZmFzdC9ldmVudHMvc3RvcC1sb2FkLWluLXVubG9hZC1oYW5kbGVy
LXVzaW5nLWRvY3VtZW50LXdyaXRlLmh0bWwKIGZhc3QvZXZlbnRzL3N0b3AtbG9hZC1pbi11bmxv
YWQtaGFuZGxlci11c2luZy13aW5kb3ctc3RvcC5odG1sCiBmYXN0L2V2ZW50cy90YWJpbmRleC1m
b2N1cy1ibHVyLWFsbC5odG1sCiBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1jaGFpbi5odG1s
Ci1mYXN0L2V2ZW50cy93aW5kb3ctZXZlbnRzLWJ1YmJsZTIuaHRtbAotZmFzdC9ldmVudHMvd2lu
ZG93LWV2ZW50cy1idWJibGUuaHRtbAotZmFzdC9ldmVudHMvd2luZG93LWV2ZW50cy1jYXB0dXJl
Lmh0bWwKLWZhc3QvZm9ybXMvMjUxNTMuaHRtbAotZmFzdC9mb3Jtcy9hY2Nlc3Mta2V5Lmh0bWwK
LWZhc3QvZm9ybXMvYnV0dG9uLWVudGVyLWNsaWNrLmh0bWwKLWZhc3QvZm9ybXMvYnV0dG9uLXNw
YWNlYmFyLWNsaWNrLmh0bWwKIGZhc3QvZm9ybXMvYnV0dG9uLXN0YXRlLXJlc3RvcmUuaHRtbAot
ZmFzdC9mb3Jtcy9jaGVjay1ib3gtZW50ZXIta2V5Lmh0bWwKLWZhc3QvZm9ybXMvZGlzcGxheS1u
b25lLWluLW9uY2hhbmdlLWtleWJvYXJkLmh0bWwKIGZhc3QvZm9ybXMvZHJhZy1pbnRvLXRleHRh
cmVhLmh0bWwKIGZhc3QvZm9ybXMvZHJhZy1vdXQtb2YtdGV4dGFyZWEuaHRtbAotZmFzdC9mb3Jt
cy9lbnRlci1jbGlja3MtYnV0dG9ucy5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5odG1sCiBmYXN0
L2Zvcm1zL2ZvY3VzLWNvbnRyb2wtdG8tcGFnZS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzLXNlbGVj
dGlvbi1pbnB1dC5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzLXNlbGVjdGlvbi10ZXh0YXJlYS5odG1s
CiBmYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC5odG1sCi1mYXN0L2Zvcm1zL2lucHV0LXJhZGlv
LWNoZWNrZWQtdGFiLmh0bWwKLWZhc3QvZm9ybXMvaW5wdXQtc2VsZWN0LW9uLWNsaWNrLmh0bWwK
LWZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UtaW4tb25mb2N1cy1rZXlib2FyZC5odG1sCi1m
YXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlLWluLW9uZm9jdXMtbW91c2UuaHRtbAogZmFzdC9m
b3Jtcy9sZWdlbmQtYWNjZXNzLWtleS5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2Uu
aHRtbAogZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5odG1sCi1mYXN0L2Zvcm1zL2xpc3Ri
b3gtdHlwZWFoZWFkLWVtcHR5Lmh0bWwKLWZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtc2Ny
b2xsLmh0bWwKIGZhc3QvZm9ybXMvb25jaGFuZ2UtZW50ZXItc3VibWl0Lmh0bWwKIGZhc3QvZm9y
bXMvb25zZWxlY3QtdGV4dGFyZWEuaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0ZmllbGQu
aHRtbAogZmFzdC9mb3Jtcy9vcHRpb24tbW91c2VldmVudHMuaHRtbAogZmFzdC9mb3Jtcy9wYXNz
d29yZC1kb3VibGVjbGljay1zZWxlY3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9wbGFpbnRleHQtbW9k
ZS0xLmh0bWwKLWZhc3QvZm9ybXMvcmFkaW8tY2hlY2stY2xpY2stYW5kLWRyYWcuaHRtbAotZmFz
dC9mb3Jtcy9yYWRpb19jaGVja2VkX25hbWUuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBv
cy1jYW5jZWwtYnV0dG9uLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tbW91
c2V1cC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jbGljay1pbi1wbGFjZWhvbGRlci5odG1sCi1m
YXN0L2Zvcm1zL3NlYXJjaC1ldmVudC1kZWxheS5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaC1oaWRk
ZW4tY2FuY2VsLWJ1dHRvbi5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1hY2Nlc3NrZXkuaHRtbAot
ZmFzdC9mb3Jtcy9zZWxlY3QtY2FjaGUtZGVzeW5jaHJvbml6YXRpb24uaHRtbAogZmFzdC9mb3Jt
cy9zZWxlY3QtZGlydHktcGFyZW50LXByZWYtd2lkdGhzLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0
LWRvdWJsZS1vbmNoYW5nZS5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1lbXB0eS1saXN0Lmh0bWwK
LWZhc3QvZm9ybXMvc2VsZWN0LWVudGVyLWtleS5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1wb3B1
cC1wYWdla2V5cy5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAogZmFzdC9mb3Jt
cy9zZWxlY3Qtc2NyaXB0LW9uY2hhbmdlLmh0bWwKLWZhc3QvZm9ybXMvc2VsZWN0LXR5cGUtYWhl
YWQtbGlzdC1ib3gtbm8tc2VsZWN0aW9uLmh0bWwKLWZhc3QvZm9ybXMvc2VsZWN0LXR5cGUtYWhl
YWQtbm9uLWxhdGluLmh0bWwKIGZhc3QvZm9ybXMvc2xpZGVyLW1vdXNlLWV2ZW50cy5odG1sCiBm
YXN0L2Zvcm1zL3NsaWRlci1vbmNoYW5nZS1ldmVudC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci10
cmFuc2Zvcm1lZC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci16b29tZWQuaHRtbAogZmFzdC9mb3Jt
cy90ZXh0LWNvbnRyb2wtaW50cmluc2ljLXdpZHRocy5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVh
LWFycm93LW5hdmlnYXRpb24uaHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbnB1dC1ldmVudC5o
dG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXBhc3RlLW5ld2xpbmUuaHRtbAogZmFzdC9mb3Jtcy90
ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtcGxh
Y2Vob2xkZXItc2V0LXZhbHVlLmh0bWwKLWZhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtZW5k
bGluZS1jYXJldC5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVhLXR5cGUtc3BhY2VzLmh0bWwKLWZh
c3QvZm9ybXMvdGV4dGZpZWxkLWluc2lkZS1hbmNob3IuaHRtbAogZmFzdC9mb3Jtcy90ZXh0Zmll
bGQtb25jaGFuZ2UtZGVsZXRpb24uaHRtbAotZmFzdC9mb3Jtcy90ZXh0ZmllbGQtdG8tcGFzc3dv
cmQtb24tZm9jdXMuaHRtbAogZmFzdC9mcmFtZXMvY29udGVudC1vcGFjaXR5LTEuaHRtbAogZmFz
dC9mcmFtZXMvY29udGVudC1vcGFjaXR5LTIuaHRtbAogZmFzdC9mcmFtZXMvZnJhbWUtZGVhZC1y
ZWdpb24uaHRtbAotZmFzdC9mcmFtZXMvZnJhbWUtZGVlcC1uZXN0ZWQtcmVzaXplLmh0bWwKIGZh
c3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sCi1mYXN0L2ZyYW1lcy9ob3Zlci10aW1l
ci1jcmFzaC5odG1sCiBmYXN0L2ZyYW1lcy9pZnJhbWUtd2luZG93LWZvY3VzLmh0bWwKIGZhc3Qv
aGlzdG9yeS9oaXN0b3J5X3JlbG9hZC5odG1sCiBmYXN0L2hpc3Rvcnkvd2luZG93LW9wZW4uaHRt
bAogZmFzdC9odG1sL3RhYi1vcmRlci5odG1sCiBmYXN0L2h0bWwvdGV4dC1maWVsZC1pbnB1dC10
eXBlcy5odG1sCi1mYXN0L2xheWVycy9yZXNpemUtbGF5ZXItZGVsZXRpb24tY3Jhc2guaHRtbAog
ZmFzdC9sb2FkZXIvbWFpbi1kb2N1bWVudC11cmwtZm9yLW5vbi1odHRwLWxvYWRzLmh0bWwKIGZh
c3QvbG9hZGVyL29udW5sb2FkLWZvcm0tc3VibWl0LWNyYXNoLTIuaHRtbAogZmFzdC9sb2FkZXIv
b251bmxvYWQtZm9ybS1zdWJtaXQtY3Jhc2guaHRtbApAQCAtMTc1MSwxMiArMTY2OCw4IEBAIGZh
c3QvbG9hZGVyL3BvbGljeS1kZWxlZ2F0ZS1hY3Rpb24taGl0LXRlc3Qtem9vbWVkLmh0bWwKIGZh
c3QvbG9hZGVyL3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUuaHRtbAogZmFzdC9sb2FkZXIvc3RvcC1w
cm92aXNpb25hbC1sb2Fkcy5odG1sCiBmYXN0L2xvYWRpbmcvc3ViZnJhbWUtcmVtb3Zlcy1pdHNl
bGYuaHRtbAotZmFzdC9wYXJzZXIvdGFiaW5kZXgtcGFyc2luZy5odG1sCiBmYXN0L3JlZ2V4L3Rl
c3QxLmh0bWwKIGZhc3QvcmVnZXgvdGVzdDQuaHRtbAotZmFzdC9yZXBsYWNlZC9pbWFnZS1tYXAt
YnVnMTY3ODIuaHRtbAotZmFzdC9yZXBsYWNlZC9pbWFnZS1tYXAuaHRtbAotZmFzdC9yZXBsYWNl
ZC9pbWFnZS1tYXAtMi5odG1sCiBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LXRl
eHQtY29udHJvbHMuaHRtbAogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC5odG1s
CiBmYXN0L3NlbGVjdG9ycy9sYW5nLWluaGVyaXRhbmNlMi5odG1sCkBAIC0yNjA5LDcgKzI1MjIs
NiBAQCBmYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL2Nv
bnRyb2wtY2xpcC5odG1sCiBmYXN0L2Zvcm1zL2NvbnRyb2wtcmVzdHJpY3QtbGluZS1oZWlnaHQu
aHRtbAogZmFzdC9mb3Jtcy9kaXNhYmxlZC1zZWxlY3QtY2hhbmdlLWluZGV4Lmh0bWwKLWZhc3Qv
Zm9ybXMvZW1wdHktdGV4dGFyZWEtdG9nZ2xlLWRpc2FibGVkLmh0bWwKIGZhc3QvZm9ybXMvZW5j
b2RpbmctdGVzdC5odG1sCiBmYXN0L2Zvcm1zL2ZpZWxkc2V0LWFsaWduLmh0bWwKIGZhc3QvZm9y
bXMvZmllbGRzZXQtd2l0aC1mbG9hdC5odG1sCkBAIC0yNzQwLDcgKzI2NTIsNiBAQCBmYXN0L2Zv
cm1zL3RleHRhcmVhLXNjcm9sbGJhci5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGVk
LXR5cGUuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZXRpbm5lcmh0bWwuaHRtbAogZmFzdC9m
b3Jtcy90ZXh0YXJlYS13aWR0aC5odG1sCi1mYXN0L2Zvcm1zL3RleHRmaWVsZC1kcmFnLWludG8t
ZGlzYWJsZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3V0bGluZS5odG1sCiBmYXN0L2Zv
cm1zL3RleHRmaWVsZC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL3RodW1ic2xpZGVyLWNyYXNo
Lmh0bWwKQEAgLTI3OTMsNyArMjcwNCw2IEBAIGZhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLmh0bWwK
IGZhc3QvaW1hZ2VzL2Zhdmljb24tYXMtaW1hZ2UuaHRtbAogZmFzdC9pbWFnZXMvaW1hZ2UtaW4t
bWFwLmh0bWwKIGZhc3QvaW1hZ2VzL2ltYWdlLW1hcC1hbmNob3ItY2hpbGRyZW4uaHRtbAotZmFz
dC9pbWFnZXMvaW1hZ2UtbWFwLXpvb20uaHRtbAogZmFzdC9pbWFnZXMvaW1hZ2VtYXAtY2FzZS5o
dG1sCiBmYXN0L2ltYWdlcy9vYmplY3QtaW1hZ2UuaHRtbAogZmFzdC9pbWFnZXMvcGRmLWFzLWJh
Y2tncm91bmQuaHRtbApAQCAtMzczMCw5ICszNjQwLDYgQEAgaHR0cC90ZXN0cy9taXNjL3RleHQt
cmVmcmVzaC5odG1sCiBodHRwL3Rlc3RzL21pc2MvdGltZXItdnMtbG9hZGluZy5odG1sCiBodHRw
L3Rlc3RzL21pc2Mvd2luZG93LWRvdC1zdG9wLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9i
YWNrLXRvLXNsb3ctZnJhbWUuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxv
Y2F0aW9uLWNsaWNrLXRpbWVvdXQuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50
LWxvY2F0aW9uLWNsaWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2Nh
dGlvbi1tb3VzZW92ZXIuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlbG9hZC1zdWJmcmFt
ZS1mcmFtZS5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsb2FkLXN1YmZyYW1lLWlmcmFt
ZS5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsb2FkLXN1YmZyYW1lLW9iamVjdC5odG1s
CkBAIC0zNzU3LDggKzM2NjQsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
eC1mcmFtZS1vcHRpb25zLWRlbnktbWV0YS10YWcuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9Y
RnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1kZW55Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJp
dHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtcGFyZW50LXNhbWUtb3JpZ2luLWFsbG93
Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMt
cGFyZW50LXNhbWUtb3JpZ2luLWRlbnkuaHRtbAotaHR0cC90ZXN0cy9zZWN1cml0eS9saXN0ZW5l
ci94c3Mtd2luZG93LW9uY2xpY2stYWRkRXZlbnRMaXN0ZW5lci5odG1sCi1odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2xpc3RlbmVyL3hzcy13aW5kb3ctb25jbGljay1zaG9ydGN1dC5odG1sCiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2luZG93Lmh0bWwKIGh0dHAv
dGVzdHMvd29ya2Vycy90ZXh0LWVuY29kaW5nLmh0bWwKIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWJvcnQtc2hvdWxkLWNhbmNlbC1sb2FkLmh0bWwKQEAgLTM5NDksNyArMzg1NCw2IEBAIHN2
Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbAogc3ZnL2N1
c3RvbS9nZXRTdWJTdHJpbmdMZW5ndGguaHRtbAogc3ZnL2N1c3RvbS9nZXRzY3JlZW5jdG0taW4t
bWl4ZWQtY29udGVudDIueGh0bWwKIHN2Zy9jdXN0b20vZ2x5cGgtc2V0dGluZy1kLWF0dHJpYnV0
ZS5zdmcKLXN2Zy9jdXN0b20vaW1hZ2UtY2xpcHBlZC1oaXQuc3ZnCiBzdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAogc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwK
IHN2Zy9jdXN0b20vbm8taW5oZXJpdGVkLWRhc2hlZC1zdHJva2UueGh0bWwKQEAgLTM5NTksMTM1
ICszODYzLDggQEAgc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4tdGV4dC1jb250cm9scy5odG1sCiBz
dmcvY3VzdG9tL3VzZS1lbGVtZW50SW5zdGFuY2UtZXZlbnQtdGFyZ2V0LnN2Zwogc3ZnL2N1c3Rv
bS91c2UtZWxlbWVudEluc3RhbmNlLW1ldGhvZHMuc3ZnCiBzdmcvY3VzdG9tL3VzZS1pbnN0YW5j
ZVJvb3QtYXMtZXZlbnQtdGFyZ2V0LnhodG1sCi1zdmcvY3VzdG9tL3VzZS1pbnN0YW5jZVJvb3Qt
ZXZlbnQtYnViYmxpbmcueGh0bWwKIHN2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1ldmVudC1s
aXN0ZW5lcnMueGh0bWwKIHN2Zy9jdXN0b20vdXNlLXNldEF0dHJpYnV0ZS1jcmFzaC5zdmcKLSMg
ICBUZXN0cyBpbiBzdmcvZHluYW1pYy11cGRhdGVzIHJlcXVpcmUgYmFzaWMgZXZlbnRTZW5kZXIg
aW1wbGVtZW50YXRpb24gdG8gcGFzcwotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1k
b20taHJlZi1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtZG9tLXRh
cmdldC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtc3ZnZG9tLWhy
ZWYtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LXN2Z2RvbS10YXJn
ZXQtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4
LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeS1h
dHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRy
Lmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gtcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDbGlwUGF0aEVsZW1lbnQtZG9tLWNsaXBQ
YXRoVW5pdHMtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NsaXBQYXRoRWxlbWVu
dC1zdmdkb20tY2xpcFBhdGhVbml0cy1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Q3Vyc29yRWxlbWVudC1kb20teC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vy
c29yRWxlbWVudC1kb20teS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vyc29y
RWxlbWVudC1zdmdkb20teC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vyc29y
RWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtZG9tLWN4LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1kb20tY3ktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LWRvbS1yeC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVs
ZW1lbnQtZG9tLXJ5LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tY3gtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LXN2Z2RvbS1jeS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxp
cHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXgtYXR0ci5odG1sCi1zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS15LWF0dHIuaHRtbAot
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0
LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1z
dmdkb20td2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LXN2Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHSW1hZ2VFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ltYWdlRWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RSYXRpby1hdHRyLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LWRvbS14LWF0dHIuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdJbWFnZUVsZW1lbnQtZG9tLXktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11
cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdJbWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20td2lkdGgt
cHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20teC1w
cm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LXN2Z2RvbS15LXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1kb20teDEtYXR0ci5o
dG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LWRvbS14Mi1hdHRyLmh0bWwK
LXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZUVsZW1lbnQtZG9tLXkxLWF0dHIuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1kb20teTItYXR0ci5odG1sCi1zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LXN2Z2RvbS14MS1wcm9wLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHTGluZUVsZW1lbnQtc3ZnZG9tLXgyLXByb3AuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1zdmdkb20teTEtcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LXN2Z2RvbS15Mi1wcm9wLmh0bWwKLXN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LWRvbS1ncmFkaWVudFRyYW5zZm9ybS1h
dHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LWRv
bS1ncmFkaWVudFVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQtZG9tLXgxLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdM
aW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXgyLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXkxLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXkyLWF0dHIuaHRtbAotc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtc3ZnZG9tLWdyYWRpZW50VHJh
bnNmb3JtLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQtc3ZnZG9tLWdyYWRpZW50VW5pdHMtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teDEtcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teDItcHJvcC5odG1sCi1z
dmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teTEtcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdk
b20teTItcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hcmtlckVsZW1lbnQtZG9t
LW1hcmtlckhlaWdodC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxl
bWVudC1kb20tbWFya2VyVW5pdHMtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01h
cmtlckVsZW1lbnQtZG9tLW1hcmtlcldpZHRoLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdNYXJrZXJFbGVtZW50LWRvbS1vcmllbnQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtZG9tLXJlZlgtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtZG9tLXJlZlktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtc3ZnZG9tLW1hcmtlckhlaWdodC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tbWFya2VyVW5pdHMtcHJvcC5o
dG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hcmtlckVsZW1lbnQtc3ZnZG9tLW1hcmtlcldp
ZHRoLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXJrZXJFbGVtZW50LXN2Z2Rv
bS1vcmllbnRBbmdsZS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxl
bWVudC1zdmdkb20tb3JpZW50VHlwZS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
TWFya2VyRWxlbWVudC1zdmdkb20tcmVmWC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHTWFya2VyRWxlbWVudC1zdmdkb20tcmVmWS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0
ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tc2V0T3JpZW50VG9BbmdsZS1jYWxsLmh0bWwKLXN2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tc2V0T3JpZW50VG9BdXRv
LWNhbGwuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVudC1kb20taGVpZ2h0
LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVudC1kb20tbWFza0Nv
bnRlbnRVbml0cy1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1lbnQt
ZG9tLW1hc2tVbml0cy1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1l
bnQtZG9tLXdpZHRoLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVu
dC1kb20teC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1lbnQtZG9t
LXktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hc2tFbGVtZW50LXN2Z2RvbS1o
ZWlnaHQtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hc2tFbGVtZW50LXN2Z2Rv
bS1tYXNrQ29udGVudFVuaXRzLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNr
RWxlbWVudC1zdmdkb20tbWFza1VuaXRzLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdNYXNrRWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR01hc2tFbGVtZW50LXN2Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdNYXNrRWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
UGF0dGVybkVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHUGF0dGVybkVsZW1lbnQtZG9tLXBhdHRlcm5Db250ZW50VW5pdHMtYXR0ci5odG1sCi1zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50LWRvbS1wYXR0ZXJuVHJhbnNmb3JtLWF0
dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1kb20tcGF0dGVy
blVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1k
b20td2lkdGgtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50
LWRvbS14LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1k
b20teS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1lbnQtc3Zn
ZG9tLWhlaWdodC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1l
bnQtc3ZnZG9tLXBhdHRlcm5Db250ZW50VW5pdHMtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR1BhdHRlcm5FbGVtZW50LXN2Z2RvbS1wYXR0ZXJuVHJhbnNmb3JtLXByb3AuaHRtbAot
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1zdmdkb20tcGF0dGVyblVuaXRz
LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1zdmdkb20t
d2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50LXN2
Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1z
dmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LWRvbS1jeC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LWRvbS1jeS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50LWRvbS1meC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1meS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1ncmFkaWVudFRyYW5zZm9ybS1hdHRy
Lmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1n
cmFkaWVudFVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQtZG9tLXItYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tY3ktcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZngtcHJvcC5odG1sCi1z
dmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZnktcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdk
b20tZ3JhZGllbnRUcmFuc2Zvcm0tcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZ3JhZGllbnRVbml0cy1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LXN2Z2RvbS1yLXByb3AuaHRt
bAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20taGVpZ2h0LWF0dHIuaHRt
bAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20td2lkdGgtYXR0ci5odG1s
Ci1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JlY3RFbGVtZW50LWRvbS14LWF0dHIuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20teS1hdHRyLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5odG1sCiAjICAgVGVz
dHMgZ2VuZXJhdGluZyBuZXcgcmVzdWx0cwogc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0w
Mi10LnN2Zwogc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0wMy10LnN2ZwpAQCAtNTc3Mywx
OSArNTU1MCwxMyBAQCBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWFmdGVyLWRv
dWJsZS1jbGljay5odG1sCiBmYXN0L2V2ZW50cy9kcmFnLXRvLW5hdmlnYXRlLmh0bWwKIGZhc3Qv
ZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3du
LWZ1bmN0aW9uLWtleXMuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtZGVsZXRlLXdoaWxlLWNhbmNl
bC1idXR0b24tY2xpY2tlZC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci1kZWxldGUtd2hpbGUtZHJh
Z2dpbmctdGh1bWIuaHRtbAotZmFzdC9ldmVudHMvY2xpY2stZm9jdXMtYW5jaG9yLmh0bWwKIGZh
c3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAotZmFzdC9ldmVudHMvdGFiLWZvY3VzLWhp
ZGRlbi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2RyYWctb3Zlci1yZW1vdGUtY29udGVudC5odG1s
CiBodHRwL3Rlc3RzL3NlY3VyaXR5L2RyYWctb3Zlci1yZW1vdGUtY29udGVudC1pZnJhbWUuaHRt
bAogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0
bWwKLW1lZGlhL2F1ZGlvLWRlbGV0ZS13aGlsZS1zbGlkZXItdGh1bWItY2xpY2tlZC5odG1sCiBt
ZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1sCi1tZWRpYS9j
b250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwKIHNjcm9sbGJhcnMvc2Nyb2xsYmFy
LW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLmh0bWwKLXNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3Mt
bW91c2Vtb3ZlLmh0bWwKIAogIyBUZXN0cyB0aGF0IHJlcXVpcmUgZWRpdGluZyBjYWxsYmFja3Mg
KGFuZCBwb3NzaWJseSBHbGliIERPTSBiaW5kaW5ncykKIGVkaXRpbmcvdGV4dC1pdGVyYXRvci90
aGFpLWN1cnNvci1tb3ZlbWVudC5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDJhZTJjOTkuLjgyMTU1M2UgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMDktMDktMDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1RLXSBEdW1wUmVuZGVyVHJlZSBuZWVkcyBldmVudFNlbmRlciBvYmplY3QgYW5kIGltcGxlbWVu
dGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTk5MAorCisgICAgICAgIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGFjY2Vzc2libGUgZnJv
bSB0aGUgRHVtcFJlbmRlclRyZWUgdG9vbAorICAgICAgICBhbmQgY2FsbHMgdGhlIGxheW91dCBt
ZXRob2Qgb24gdGhlIGZyYW1lIHZpZXcuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0
ZS5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHA6CisgICAgICAgICh3ZWJr
aXRfd2ViX2ZyYW1lX2xheW91dCk6CisKIDIwMDktMDktMDggIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0
ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IDBhNDg4MmYuLmM0
NzE3MTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTMxNyw2ICszMTcsOSBAQCBl
eHRlcm4gIkMiIHsKIAogICAgIFdFQktJVF9BUEkgV2ViS2l0V2ViRGF0YWJhc2UgKgogICAgIHdl
YmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3dlYl9kYXRhYmFzZShXZWJLaXRTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IGNoYXIqIGRhdGFiYXNlTmFtZSk7CisKKyAgICBXRUJL
SVRfQVBJIHZvaWQKKyAgICB3ZWJraXRfd2ViX2ZyYW1lX2xheW91dChXZWJLaXRXZWJGcmFtZSog
ZnJhbWUpOwogfQogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1l
LmNwcAppbmRleCA3Y2RjMGUzLi5iNDBkNjU2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJh
bWUuY3BwCkBAIC0xMDc2LDMgKzEwNzYsMTYgQEAgV2ViS2l0U2VjdXJpdHlPcmlnaW4qIHdlYmtp
dF93ZWJfZnJhbWVfZ2V0X3NlY3VyaXR5X29yaWdpbihXZWJLaXRXZWJGcmFtZSogZnJhbWUKICAg
ICBwcml2LT5vcmlnaW4gPSBraXQocHJpdi0+Y29yZUZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpKTsKICAgICByZXR1cm4gcHJpdi0+b3JpZ2luOwogfQorCit2b2lkIHdlYmtpdF93
ZWJfZnJhbWVfbGF5b3V0KFdlYktpdFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBGcmFtZSogY29y
ZUZyYW1lID0gY29yZShmcmFtZSk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVy
bjsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGNvcmVGcmFtZS0+dmlldygpOworICAgIGlmICgh
dmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgdmlldy0+bGF5b3V0KCk7Cit9CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
MzhkMzZlNy4uYjdlMzVhNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDA5LTA5LTA5ICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRHVtcFJlbmRlclRyZWUgbmVlZHMgZXZl
bnRTZW5kZXIgb2JqZWN0IGFuZCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU5OTAKKworICAgICAgICBJbXBsZW1lbnRzIG1v
c3Qgb2YgdGhlIEV2ZW50U2VuZGVyIG9iamVjdCdzIGZ1bmN0aW9uYWxpdHkgZm9yCisgICAgICAg
IHRoZSBEdW1wUmVuZGVyVHJlZSB0b29sLiBJbXBsZW1lbnRhdGlvbiBzdGlsbCBsYWNrcyBzdXBw
b3J0CisgICAgICAgIGZvciBkcmFnIGFuZCBkcm9wIHRlc3RzIGFuZCBmb3J3YXJkIGxlYXBzLgor
CisgICAgICAgIEJhc2VkIG9uIHdvcmsgYnkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAocnVuVGVzdCk6IEZvY3VzIG9uIHRoZSB2aWV3IGJlZm9yZSBsb2FkaW5nIGEgbmV3IHRlc3Qu
CisgICAgICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChnZXREcmFnTW9k
ZUNhbGxiYWNrKToKKyAgICAgICAgKHNldERyYWdNb2RlQ2FsbGJhY2spOgorICAgICAgICAobGVh
cEZvcndhcmRDYWxsYmFjayk6CisgICAgICAgIChjb250ZXh0Q2xpY2tDYWxsYmFjayk6CisgICAg
ICAgICh1cGRhdGVDbGlja0NvdW50KToKKyAgICAgICAgKG1vdXNlRG93bkNhbGxiYWNrKToKKyAg
ICAgICAgKG1vdXNlVXBDYWxsYmFjayk6CisgICAgICAgIChtb3VzZU1vdmVUb0NhbGxiYWNrKToK
KyAgICAgICAgKGJlZ2luRHJhZ1dpdGhGaWxlc0NhbGxiYWNrKToKKyAgICAgICAgKHJlcGxheVNh
dmVkRXZlbnRzKToKKyAgICAgICAgKGtleURvd25DYWxsYmFjayk6CisgICAgICAgICh0ZXh0Wm9v
bUluQ2FsbGJhY2spOgorICAgICAgICAodGV4dFpvb21PdXRDYWxsYmFjayk6CisgICAgICAgICh6
b29tUGFnZUluQ2FsbGJhY2spOgorICAgICAgICAoem9vbVBhZ2VPdXRDYWxsYmFjayk6CisgICAg
ICAgIChnZXRDbGFzcyk6CisgICAgICAgIChtYWtlRXZlbnRTZW5kZXIpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNlbmRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbTogQWRkIGJ1aWxkIHJ1bGVzIGZvciBFdmVudFNlbmRlci4KKwogMjAwOS0wOS0wOCAg
RGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDZkZGMzMjQuLmEzNDVlNmEgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCiAKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAjaW5jbHVkZSAi
R0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJXb3JrUXVldWUuaCIKQEAgLTQyNiw3ICs0MjcsOCBAQCBzdGF0aWMgdm9pZCBydW5UZXN0
KGNvbnN0IHN0cmluZyYgdGVzdFBhdGhPclVSTCkKICAgICBpZiAocHJldlRlc3RCRkl0ZW0pCiAg
ICAgICAgIGdfb2JqZWN0X3JlZihwcmV2VGVzdEJGSXRlbSk7CiAKLQorICAgIC8vIEZvY3VzIHRo
ZSB3ZWIgdmlldyBiZWZvcmUgbG9hZGluZyB0aGUgdGVzdCB0byBhdm9pZCBmb2N1c2luZyBwcm9i
bGVtcworICAgIGd0a193aWRnZXRfZ3JhYl9mb2N1cyhHVEtfV0lER0VUKHdlYlZpZXcpKTsKICAg
ICB3ZWJraXRfd2ViX3ZpZXdfb3Blbih3ZWJWaWV3LCB1cmwpOwogCiAgICAgZ19mcmVlKHVybCk7
CkBAIC01MDAsNiArNTAyLDEwIEBAIHN0YXRpYyB2b2lkIHdlYlZpZXdXaW5kb3dPYmplY3RDbGVh
cmVkKFdlYktpdFdlYlZpZXcqIHZpZXcsIFdlYktpdFdlYkZyYW1lKiBmcmFtCiAgICAgYXhDb250
cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlv
bik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCisgICAgSlNTdHJpbmdSZWYgZXZlbnRTZW5k
ZXJTdHIgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiZXZlbnRTZW5kZXIiKTsKKyAg
ICBKU1ZhbHVlUmVmIGV2ZW50U2VuZGVyID0gbWFrZUV2ZW50U2VuZGVyKGNvbnRleHQpOworICAg
IEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBldmVudFNlbmRlclN0
ciwgZXZlbnRTZW5kZXIsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUsIDApOworICAgIEpTU3RyaW5nUmVsZWFzZShldmVudFNlbmRl
clN0cik7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3Q29uc29sZU1lc3NhZ2UoV2ViS2l0
V2ViVmlldyogdmlldywgY29uc3QgZ2NoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lLCBj
b25zdCBnY2hhciogc291cmNlSWQsIGdwb2ludGVyIGRhdGEpCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5iY2I0ODQ1Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApAQCAtMCwwICsxLDQ1OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDkgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAg
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRTZW5kZXIuaCIKKworI2luY2x1ZGUgIkR1bXBS
ZW5kZXJUcmVlLmgiCisKKyNpbmNsdWRlIDxnZGsvZ2RrLmg+CisjaW5jbHVkZSA8Z2RrL2dka2tl
eXN5bXMuaD4KKworI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CisjaW5jbHVkZSA8d3RmL1Bs
YXRmb3JtLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4KKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTU3RyaW5nUmVmLmg+CisjaW5jbHVkZSA8d2Via2l0L3dlYmtpdHdlYmZyYW1lLmg+Cisj
aW5jbHVkZSA8d2Via2l0L3dlYmtpdHdlYnZpZXcuaD4KKworI2luY2x1ZGUgPHN0cmluZy5oPgor
CisvLyBUT0RPOiBDdXJyZW50bHkgZHJhZyBhbmQgZHJvcCByZWxhdGVkIGNvZGUgaXMgbGVmdCBv
dXQgYW5kCisvLyBzaG91bGQgYmUgbWVyZ2VkIG9uY2Ugd2UgaGF2ZSBkcmFnIGFuZCBkcm9wIHN1
cHBvcnQgaW4gV2ViQ29yZS4KKworZXh0ZXJuICJDIiB7CisgICAgZXh0ZXJuIHZvaWQgd2Via2l0
X3dlYl9mcmFtZV9sYXlvdXQoV2ViS2l0V2ViRnJhbWUqIGZyYW1lKTsKK30KKworc3RhdGljIGJv
b2wgZG93biA9IGZhbHNlOworc3RhdGljIGJvb2wgZHJhZ01vZGUgPSB0cnVlOworc3RhdGljIGJv
b2wgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSBmYWxzZTsKK3N0YXRpYyBpbnQgbGFzdE1vdXNlUG9z
aXRpb25YOworc3RhdGljIGludCBsYXN0TW91c2VQb3NpdGlvblk7CisKK3N0YXRpYyBpbnQgbGFz
dENsaWNrUG9zaXRpb25YOworc3RhdGljIGludCBsYXN0Q2xpY2tQb3NpdGlvblk7CitzdGF0aWMg
aW50IGNsaWNrQ291bnQgPSAwOworCitzdHJ1Y3QgRGVsYXllZE1lc3NhZ2UgeworICAgIEdka0V2
ZW50IGV2ZW50OworICAgIGd1bG9uZyBkZWxheTsKKyAgICBnYm9vbGVhbiBpc0RyYWdFdmVudDsK
K307CisKK3N0YXRpYyBEZWxheWVkTWVzc2FnZSBtc2dRdWV1ZVsxMDI0XTsKKworc3RhdGljIHVu
c2lnbmVkIGVuZE9mUXVldWU7CitzdGF0aWMgdW5zaWduZWQgc3RhcnRPZlF1ZXVlOworCisjZGVm
aW5lIFpvb21NdWx0aXBsaWVyUmF0aW8gICAgIDEuMmYKKworc3RhdGljIEpTVmFsdWVSZWYgZ2V0
RHJhZ01vZGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgb2JqZWN0
LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VCb29sZWFuKGNvbnRleHQsIGRyYWdNb2RlKTsKK30KKworc3Rh
dGljIGJvb2wgc2V0RHJhZ01vZGVDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmpl
Y3RSZWYgb2JqZWN0LCBKU1N0cmluZ1JlZiBwcm9wZXJ0eU5hbWUsIEpTVmFsdWVSZWYgdmFsdWUs
IEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBkcmFnTW9kZSA9IEpTVmFsdWVUb0Jvb2xl
YW4oY29udGV4dCwgdmFsdWUpOworICAgIHJldHVybiB0cnVlOworfQorCitzdGF0aWMgSlNWYWx1
ZVJlZiBsZWFwRm9yd2FyZENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQs
IGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sK
KyAgICAvLyBGSVhNRTogQWRkIHByb3BlciBzdXBwb3J0IGZvciBmb3J3YXJkIGxlYXBzCisgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1
ZVJlZiBjb250ZXh0Q2xpY2tDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RS
ZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50
LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7
CisgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3
KG1haW5GcmFtZSk7CisgICAgQVNTRVJUKHZpZXcpOworCisgICAgd2Via2l0X3dlYl9mcmFtZV9s
YXlvdXQobWFpbkZyYW1lKTsKKworICAgIGdib29sZWFuIHJldHVybl92YWw7CisgICAgR2RrRXZl
bnQgZXZlbnQ7CisgICAgbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CisgICAgZXZl
bnQuYnV0dG9uLmJ1dHRvbiA9IDM7CisgICAgZXZlbnQuYnV0dG9uLnggPSBsYXN0TW91c2VQb3Np
dGlvblg7CisgICAgZXZlbnQuYnV0dG9uLnkgPSBsYXN0TW91c2VQb3NpdGlvblk7CisKKyAgICBk
b3duID0gdHJ1ZTsKKyAgICBldmVudC50eXBlID0gR0RLX0JVVFRPTl9QUkVTUzsKKyAgICBnX3Np
Z25hbF9lbWl0X2J5X25hbWUodmlldywgImJ1dHRvbl9wcmVzc19ldmVudCIsICZldmVudCwgJnJl
dHVybl92YWwpOworCisgICAgZG93biA9IGZhbHNlOworICAgIGV2ZW50LnR5cGUgPSBHREtfQlVU
VE9OX1JFTEVBU0U7CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJidXR0b25fcmVs
ZWFzZV9ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOworCisgICAgcmV0dXJuIEpTVmFsdWVN
YWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgdm9pZCB1cGRhdGVDbGlja0NvdW50
KGludCAvKiBidXR0b24gKi8pCit7CisgICAgLy8gRklYTUU6IHRha2UgdGhlIGxhc3QgY2xpY2tl
ZCBidXR0b24gbnVtYmVyIGFuZCB0aGUgdGltZSBvZiBsYXN0IGNsaWNrIGludG8gYWNjb3VudC4K
KyAgICBpZiAobGFzdENsaWNrUG9zaXRpb25YICE9IGxhc3RNb3VzZVBvc2l0aW9uWCAmJiBsYXN0
Q2xpY2tQb3NpdGlvblkgIT0gbGFzdE1vdXNlUG9zaXRpb25ZKQorICAgICAgICBjbGlja0NvdW50
ID0gMTsKKyAgICBlbHNlCisgICAgICAgIGNsaWNrQ291bnQrKzsKK30KKworc3RhdGljIEpTVmFs
dWVSZWYgbW91c2VEb3duQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVm
IGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwg
Y29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQorewor
ICAgIGRvd24gPSB0cnVlOworCisgICAgR2RrRXZlbnQgZXZlbnQ7CisgICAgbWVtc2V0KCZldmVu
dCwgMCwgc2l6ZW9mKGV2ZW50KSk7CisgICAgZXZlbnQudHlwZSA9IEdES19CVVRUT05fUFJFU1M7
CisgICAgZXZlbnQuYnV0dG9uLmJ1dHRvbiA9IDE7CisgICAgZXZlbnQuYnV0dG9uLnggPSBsYXN0
TW91c2VQb3NpdGlvblg7CisgICAgZXZlbnQuYnV0dG9uLnkgPSBsYXN0TW91c2VQb3NpdGlvblk7
CisKKyAgICB1cGRhdGVDbGlja0NvdW50KDEpOworCisgICAgaWYgKCFtc2dRdWV1ZVtlbmRPZlF1
ZXVlXS5kZWxheSkgeworICAgICAgICB3ZWJraXRfd2ViX2ZyYW1lX2xheW91dChtYWluRnJhbWUp
OworICAgICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2Vi
X3ZpZXcobWFpbkZyYW1lKTsKKyAgICAgICAgQVNTRVJUKHZpZXcpOworCisgICAgICAgIGdib29s
ZWFuIHJldHVybl92YWw7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0
dG9uX3ByZXNzX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgIGlmIChjbGlj
a0NvdW50ID09IDIpIHsKKyAgICAgICAgICAgIGV2ZW50LnR5cGUgPSBHREtfMkJVVFRPTl9QUkVT
UzsKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3ByZXNz
X2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgIH0KKyAgICB9IGVsc2Ugewor
ICAgICAgICAvLyByZXBsYXlTYXZlZEV2ZW50cyBzaG91bGQgaGF2ZSB0aGUgcmVxdWlyZWQgbG9n
aWMgdG8gbWFrZSBsZWFwRm9yd2FyZCBkZWxheXMgd29yaworICAgICAgICBtc2dRdWV1ZVtlbmRP
ZlF1ZXVlKytdLmV2ZW50ID0gZXZlbnQ7CisgICAgICAgIHJlcGxheVNhdmVkRXZlbnRzKCk7Cisg
ICAgfQorCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitz
dGF0aWMgSlNWYWx1ZVJlZiBtb3VzZVVwQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1l
bnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQoreworICAgIGRvd24gPSBmYWxzZTsKKworICAgIEdka0V2ZW50IGV2ZW50OworICAgIG1l
bXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOworICAgIGV2ZW50LnR5cGUgPSBHREtfQlVU
VE9OX1JFTEVBU0U7CisgICAgZXZlbnQuYnV0dG9uLmJ1dHRvbiA9IDE7CisgICAgZXZlbnQuYnV0
dG9uLnggPSBsYXN0TW91c2VQb3NpdGlvblg7CisgICAgZXZlbnQuYnV0dG9uLnkgPSBsYXN0TW91
c2VQb3NpdGlvblk7CisKKyAgICBpZiAoKGRyYWdNb2RlICYmICFyZXBsYXlpbmdTYXZlZEV2ZW50
cykgfHwgbXNnUXVldWVbZW5kT2ZRdWV1ZV0uZGVsYXkpIHsKKyAgICAgICAgbXNnUXVldWVbZW5k
T2ZRdWV1ZV0uZXZlbnQgPSBldmVudDsKKyAgICAgICAgbXNnUXVldWVbZW5kT2ZRdWV1ZSsrXS5p
c0RyYWdFdmVudCA9IHRydWU7CisgICAgICAgIHJlcGxheVNhdmVkRXZlbnRzKCk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgd2Via2l0X3dlYl9mcmFtZV9sYXlvdXQobWFpbkZyYW1lKTsKKyAgICAg
ICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1h
aW5GcmFtZSk7CisgICAgICAgIEFTU0VSVCh2aWV3KTsKKworICAgICAgICBnYm9vbGVhbiByZXR1
cm5fdmFsOworICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgImJ1dHRvbl9yZWxl
YXNlX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgfQorCisgICAgbGFzdENsaWNr
UG9zaXRpb25YID0gbGFzdE1vdXNlUG9zaXRpb25YOworICAgIGxhc3RDbGlja1Bvc2l0aW9uWSA9
IGxhc3RNb3VzZVBvc2l0aW9uWTsKKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChj
b250ZXh0KTsKK30KKworc3RhdGljIEpTVmFsdWVSZWYgbW91c2VNb3ZlVG9DYWxsYmFjayhKU0Nv
bnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNP
YmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1td
LCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgaWYgKGFyZ3VtZW50Q291bnQgPCAyKQor
ICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICBsYXN0
TW91c2VQb3NpdGlvblggPSAoaW50KUpTVmFsdWVUb051bWJlcihjb250ZXh0LCBhcmd1bWVudHNb
MF0sIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCFleGNlcHRpb24gfHwgISpleGNlcHRpb24pOwor
ICAgIGxhc3RNb3VzZVBvc2l0aW9uWSA9IChpbnQpSlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIGFy
Z3VtZW50c1sxXSwgZXhjZXB0aW9uKTsKKyAgICBBU1NFUlQoIWV4Y2VwdGlvbiB8fCAhKmV4Y2Vw
dGlvbik7CisKKyAgICBHZGtFdmVudCBldmVudDsKKyAgICBldmVudC50eXBlID0gR0RLX01PVElP
Tl9OT1RJRlk7CisgICAgZXZlbnQubW90aW9uLnggPSBsYXN0TW91c2VQb3NpdGlvblg7CisgICAg
ZXZlbnQubW90aW9uLnkgPSBsYXN0TW91c2VQb3NpdGlvblk7CisgICAgZXZlbnQubW90aW9uLnRp
bWUgPSBHREtfQ1VSUkVOVF9USU1FOworCisgICAgaWYgKGRyYWdNb2RlICYmIGRvd24gJiYgIXJl
cGxheWluZ1NhdmVkRXZlbnRzKSB7CisgICAgICAgIG1zZ1F1ZXVlW2VuZE9mUXVldWVdLmV2ZW50
ID0gZXZlbnQ7CisgICAgICAgIG1zZ1F1ZXVlW2VuZE9mUXVldWUrK10uaXNEcmFnRXZlbnQgPSB0
cnVlOworICAgIH0gZWxzZSB7CisgICAgICAgIHdlYmtpdF93ZWJfZnJhbWVfbGF5b3V0KG1haW5G
cmFtZSk7CisgICAgICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dl
dF93ZWJfdmlldyhtYWluRnJhbWUpOworICAgICAgICBBU1NFUlQodmlldyk7CisKKyAgICAgICAg
Z2Jvb2xlYW4gcmV0dXJuX3ZhbDsKKyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHZpZXcs
ICJtb3Rpb25fbm90aWZ5X2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgfQorCisg
ICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNW
YWx1ZVJlZiBiZWdpbkRyYWdXaXRoRmlsZXNDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCit7CisgICAgaWYgKGFyZ3VtZW50Q291bnQgPCAxKQorICAgICAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50IHRo
aXMgY29tcGxldGVseSBvbmNlIFdlYkNvcmUgaGFzIGNvbXBsZXRlIGRyYWcgYW5kIGRyb3Agc3Vw
cG9ydAorICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwordm9p
ZCByZXBsYXlTYXZlZEV2ZW50cygpCit7CisgICAgLy8gRklYTUU6IFRoaXMgZG9lc24ndCBkZWFs
IHdpdGggZm9yd2FyZCBsZWFwcywgYnV0IGl0IHNob3VsZC4KKworICAgIFdlYktpdFdlYlZpZXcq
IHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJhbWUpOworICAgIEFT
U0VSVCh2aWV3KTsKKworICAgIHJlcGxheWluZ1NhdmVkRXZlbnRzID0gdHJ1ZTsKKworICAgIGZv
ciAodW5zaWduZWQgcXVldWVQb3MgPSAwOyBxdWV1ZVBvcyA8IGVuZE9mUXVldWU7IHF1ZXVlUG9z
KyspIHsKKyAgICAgICAgR2RrRXZlbnQgZXZlbnQgPSBtc2dRdWV1ZVtxdWV1ZVBvc10uZXZlbnQ7
CisgICAgICAgIGdib29sZWFuIHJldHVybl92YWw7CisKKyAgICAgICAgc3dpdGNoIChldmVudC50
eXBlKSB7CisgICAgICAgIGNhc2UgR0RLX0JVVFRPTl9SRUxFQVNFOgorICAgICAgICAgICAgZ19z
aWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJidXR0b25fcmVsZWFzZV9ldmVudCIsICZldmVudCwg
JnJldHVybl92YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0RLX0JVVFRP
Tl9QUkVTUzoKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9u
X3ByZXNzX2V2ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBHREtfTU9USU9OX05PVElGWToKKyAgICAgICAgICAgIGdfc2lnbmFsX2Vt
aXRfYnlfbmFtZSh2aWV3LCAibW90aW9uX25vdGlmeV9ldmVudCIsICZldmVudCwgJnJldHVybl92
YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGRlZmF1bHQ6CisgICAgICAgICAgICBj
b250aW51ZTsKKyAgICAgICAgfQorCisgICAgICAgIHN0YXJ0T2ZRdWV1ZSsrOworICAgIH0KKwor
ICAgIGludCBudW1RdWV1ZWRNZXNzYWdlcyA9IGVuZE9mUXVldWUgLSBzdGFydE9mUXVldWU7Cisg
ICAgaWYgKCFudW1RdWV1ZWRNZXNzYWdlcykgeworICAgICAgICBzdGFydE9mUXVldWUgPSAwOwor
ICAgICAgICBlbmRPZlF1ZXVlID0gMDsKKyAgICAgICAgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSBm
YWxzZTsKKyAgICAgICAgQVNTRVJUKCFkb3duKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIHN0YXJ0T2ZRdWV1ZSA9IDA7CisgICAgZW5kT2ZRdWV1ZSA9IDA7CisKKyAgICByZXBsYXlp
bmdTYXZlZEV2ZW50cyA9IGZhbHNlOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiBrZXlEb3duQ2Fs
bGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBh
cmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENv
dW50IDwgMSkKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwor
CisgICAgc3RhdGljIGNvbnN0IEpTU3RyaW5nUmVmIGxlbmd0aFByb3BlcnR5ID0gSlNTdHJpbmdD
cmVhdGVXaXRoVVRGOENTdHJpbmcoImxlbmd0aCIpOworCisgICAgV2ViS2l0V2ViVmlldyogdmll
dyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CisgICAgQVNTRVJU
KHZpZXcpOworCisgICAgd2Via2l0X3dlYl9mcmFtZV9sYXlvdXQobWFpbkZyYW1lKTsKKworICAg
IC8vIGhhbmRsZSBtb2RpZmllciBrZXlzLgorICAgIGludCBzdGF0ZSA9IDA7CisgICAgaWYgKGFy
Z3VtZW50Q291bnQgPiAxKSB7CisgICAgICAgIEpTT2JqZWN0UmVmIG1vZGlmaWVyc0FycmF5ID0g
SlNWYWx1ZVRvT2JqZWN0KGNvbnRleHQsIGFyZ3VtZW50c1sxXSwgZXhjZXB0aW9uKTsKKyAgICAg
ICAgaWYgKG1vZGlmaWVyc0FycmF5KSB7CisgICAgICAgICAgICBpbnQgbW9kaWZpZXJzQ291bnQg
PSBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgSlNPYmplY3RHZXRQcm9wZXJ0eShjb250ZXh0LCBt
b2RpZmllcnNBcnJheSwgbGVuZ3RoUHJvcGVydHksIDApLCAwKTsKKyAgICAgICAgICAgIGZvciAo
aW50IGkgPSAwOyBpIDwgbW9kaWZpZXJzQ291bnQ7ICsraSkgeworICAgICAgICAgICAgICAgIEpT
VmFsdWVSZWYgdmFsdWUgPSBKU09iamVjdEdldFByb3BlcnR5QXRJbmRleChjb250ZXh0LCBtb2Rp
ZmllcnNBcnJheSwgaSwgMCk7CisgICAgICAgICAgICAgICAgSlNTdHJpbmdSZWYgc3RyaW5nID0g
SlNWYWx1ZVRvU3RyaW5nQ29weShjb250ZXh0LCB2YWx1ZSwgMCk7CisgICAgICAgICAgICAgICAg
aWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoc3RyaW5nLCAiY3RybEtleSIpKQorICAg
ICAgICAgICAgICAgICAgICBzdGF0ZSB8PSBHREtfQ09OVFJPTF9NQVNLOworICAgICAgICAgICAg
ICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoc3RyaW5nLCAic2hpZnRL
ZXkiKSkKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUgfD0gR0RLX1NISUZUX01BU0s7CisgICAg
ICAgICAgICAgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhzdHJpbmcs
ICJhbHRLZXkiKSkKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUgfD0gR0RLX01PRDFfTUFTSzsK
KworICAgICAgICAgICAgICAgIEpTU3RyaW5nUmVsZWFzZShzdHJpbmcpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgSlNTdHJpbmdSZWYgY2hhcmFjdGVyID0gSlNWYWx1
ZVRvU3RyaW5nQ29weShjb250ZXh0LCBhcmd1bWVudHNbMF0sIGV4Y2VwdGlvbik7CisgICAgQVNT
RVJUKCEqZXhjZXB0aW9uKTsKKworICAgIGludCBnZGtLZXlTeW07CisgICAgaWYgKEpTU3RyaW5n
SXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAibGVmdEFycm93IikpCisgICAgICAgIGdk
a0tleVN5bSA9IEdES19MZWZ0OworICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcoY2hhcmFjdGVyLCAicmlnaHRBcnJvdyIpKQorICAgICAgICBnZGtLZXlTeW0gPSBHREtf
UmlnaHQ7CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0
ZXIsICJ1cEFycm93IikpCisgICAgICAgIGdka0tleVN5bSA9IEdES19VcDsKKyAgICBlbHNlIGlm
IChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgImRvd25BcnJvdyIpKQor
ICAgICAgICBnZGtLZXlTeW0gPSBHREtfRG93bjsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgInBhZ2VVcCIpKQorICAgICAgICBnZGtLZXlTeW0g
PSBHREtfUGFnZV9VcDsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5n
KGNoYXJhY3RlciwgInBhZ2VEb3duIikpCisgICAgICAgIGdka0tleVN5bSA9IEdES19QYWdlX0Rv
d247CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIs
ICJob21lIikpCisgICAgICAgIGdka0tleVN5bSA9IEdES19Ib21lOworICAgIGVsc2UgaWYgKEpT
U3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAiZW5kIikpCisgICAgICAgIGdk
a0tleVN5bSA9IEdES19FbmQ7CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0
cmluZyhjaGFyYWN0ZXIsICJkZWxldGUiKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX0JhY2tT
cGFjZTsKKyAgICBlbHNlIHsKKyAgICAgICAgaW50IGNoYXJDb2RlID0gSlNTdHJpbmdHZXRDaGFy
YWN0ZXJzUHRyKGNoYXJhY3RlcilbMF07CisgICAgICAgIGlmIChjaGFyQ29kZSA9PSAnXG4nKQor
ICAgICAgICAgICAgZ2RrS2V5U3ltID0gR0RLX1JldHVybjsKKyAgICAgICAgZWxzZSB7CisgICAg
ICAgICAgICBnZGtLZXlTeW0gPSBnZGtfdW5pY29kZV90b19rZXl2YWwoY2hhckNvZGUpOworICAg
ICAgICAgICAgaWYgKFdURjo6aXNBU0NJSVVwcGVyKGNoYXJDb2RlKSkKKyAgICAgICAgICAgICAg
ICBzdGF0ZSB8PSBHREtfU0hJRlRfTUFTSzsKKyAgICAgICAgfQorICAgIH0KKworICAgIEpTU3Ry
aW5nUmVsZWFzZShjaGFyYWN0ZXIpOworCisgICAgLy8gY3JlYXRlIGFuZCBzZW5kIHRoZSBldmVu
dAorICAgIGdib29sZWFuIHJldHVybl92YWw7CisgICAgR2RrRXZlbnQgZXZlbnQ7CisgICAgbWVt
c2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7CisgICAgZXZlbnQua2V5LmtleXZhbCA9IGdk
a0tleVN5bTsKKyAgICBldmVudC5rZXkuc3RhdGUgPSBzdGF0ZTsKKworICAgIGV2ZW50LmtleS50
eXBlID0gR0RLX0tFWV9QUkVTUzsKKyAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgImtl
eS1wcmVzcy1ldmVudCIsICZldmVudC5rZXksICZyZXR1cm5fdmFsKTsKKworICAgIGV2ZW50Lmtl
eS50eXBlID0gR0RLX0tFWV9SRUxFQVNFOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3
LCAia2V5LXJlbGVhc2UtZXZlbnQiLCAmZXZlbnQua2V5LCAmcmV0dXJuX3ZhbCk7CisKKyAgICBy
ZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVl
UmVmIHRleHRab29tSW5DYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYg
ZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBj
b25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7Cisg
ICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1h
aW5GcmFtZSk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRl
ZmluZWQoY29udGV4dCk7CisKKyAgICBnZmxvYXQgY3VycmVudFpvb20gPSB3ZWJraXRfd2ViX3Zp
ZXdfZ2V0X3pvb21fbGV2ZWwodmlldyk7CisgICAgd2Via2l0X3dlYl92aWV3X3NldF96b29tX2xl
dmVsKHZpZXcsIGN1cnJlbnRab29tICogWm9vbU11bHRpcGxpZXJSYXRpbyk7CisKKyAgICByZXR1
cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVm
IHRleHRab29tT3V0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1
bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29u
c3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAg
IFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWlu
RnJhbWUpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZp
bmVkKGNvbnRleHQpOworCisgICAgZ2Zsb2F0IGN1cnJlbnRab29tID0gd2Via2l0X3dlYl92aWV3
X2dldF96b29tX2xldmVsKHZpZXcpOworICAgIHdlYmtpdF93ZWJfdmlld19zZXRfem9vbV9sZXZl
bCh2aWV3LCBjdXJyZW50Wm9vbSAvIFpvb21NdWx0aXBsaWVyUmF0aW8pOworCisgICAgcmV0dXJu
IEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiB6
b29tUGFnZUluQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0
aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3Qg
SlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIFdl
YktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJh
bWUpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVk
KGNvbnRleHQpOworCisgICAgd2Via2l0X3dlYl92aWV3X3pvb21faW4odmlldyk7CisgICAgcmV0
dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1ZVJl
ZiB6b29tUGFnZU91dENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBm
dW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNv
bnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAg
ICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFp
bkZyYW1lKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVm
aW5lZChjb250ZXh0KTsKKworICAgIHdlYmtpdF93ZWJfdmlld196b29tX291dCh2aWV3KTsKKyAg
ICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1N0
YXRpY0Z1bmN0aW9uIHN0YXRpY0Z1bmN0aW9uc1tdID0geworICAgIHsgImNvbnRleHRDbGljayIs
IGNvbnRleHRDbGlja0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAibW91c2VEb3duIiwgbW91c2VE
b3duQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJtb3VzZVVwIiwgbW91c2VVcENhbGxiYWNrLCBr
SlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVs
ZXRlIH0sCisgICAgeyAibW91c2VNb3ZlVG8iLCBtb3VzZU1vdmVUb0NhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CisgICAgeyAiYmVnaW5EcmFnV2l0aEZpbGVzIiwgYmVnaW5EcmFnV2l0aEZpbGVzQ2FsbGJhY2ss
IGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnRE
ZWxldGUgfSwKKyAgICB7ICJsZWFwRm9yd2FyZCIsIGxlYXBGb3J3YXJkQ2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKKyAgICB7ICJrZXlEb3duIiwga2V5RG93bkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAidGV4
dFpvb21JbiIsIHRleHRab29tSW5DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25s
eSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgInRleHRab29tT3V0
IiwgdGV4dFpvb21PdXRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgInpvb21QYWdlSW4iLCB6b29t
UGFnZUluQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJ6b29tUGFnZU91dCIsIHpvb21QYWdlT3V0
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKKyAgICB7IDAsIDAsIDAgfQorfTsKKworc3RhdGljIEpTU3RhdGlj
VmFsdWUgc3RhdGljVmFsdWVzW10gPSB7CisgICAgeyAiZHJhZ01vZGUiLCBnZXREcmFnTW9kZUNh
bGxiYWNrLCBzZXREcmFnTW9kZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwK
KyAgICB7IDAsIDAsIDAsIDAgfQorfTsKKworc3RhdGljIEpTQ2xhc3NSZWYgZ2V0Q2xhc3MoSlND
b250ZXh0UmVmIGNvbnRleHQpCit7CisgICAgc3RhdGljIEpTQ2xhc3NSZWYgZXZlbnRTZW5kZXJD
bGFzcyA9IDA7CisKKyAgICBpZiAoIWV2ZW50U2VuZGVyQ2xhc3MpIHsKKyAgICAgICAgSlNDbGFz
c0RlZmluaXRpb24gY2xhc3NEZWZpbml0aW9uID0geworICAgICAgICAgICAgICAgIDAsIDAsIDAs
IDAsIDAsIDAsCisgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwg
MH07CisgICAgICAgIGNsYXNzRGVmaW5pdGlvbi5zdGF0aWNGdW5jdGlvbnMgPSBzdGF0aWNGdW5j
dGlvbnM7CisgICAgICAgIGNsYXNzRGVmaW5pdGlvbi5zdGF0aWNWYWx1ZXMgPSBzdGF0aWNWYWx1
ZXM7CisKKyAgICAgICAgZXZlbnRTZW5kZXJDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmNsYXNzRGVm
aW5pdGlvbik7CisgICAgfQorCisgICAgcmV0dXJuIGV2ZW50U2VuZGVyQ2xhc3M7Cit9CisKK0pT
T2JqZWN0UmVmIG1ha2VFdmVudFNlbmRlcihKU0NvbnRleHRSZWYgY29udGV4dCkKK3sKKyAgICBk
b3duID0gZmFsc2U7CisgICAgZHJhZ01vZGUgPSB0cnVlOworICAgIGxhc3RNb3VzZVBvc2l0aW9u
WCA9IGxhc3RNb3VzZVBvc2l0aW9uWSA9IDA7CisgICAgbGFzdENsaWNrUG9zaXRpb25YID0gbGFz
dENsaWNrUG9zaXRpb25ZID0gMDsKKworICAgIGlmICghcmVwbGF5aW5nU2F2ZWRFdmVudHMpIHsK
KyAgICAgICAgLy8gVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGluIHRoZSBtaWRkbGUgb2Yg
YSB0ZXN0LCBldmVuCisgICAgICAgIC8vIHdoaWxlIHJlcGxheWluZyBzYXZlZCBldmVudHMuIFJl
c2V0dGluZyB0aGVzZSB3aGlsZSBkb2luZyB0aGF0CisgICAgICAgIC8vIGNhbiBicmVhayB0aGlu
Z3MuCisgICAgICAgIGVuZE9mUXVldWUgPSAwOworICAgICAgICBzdGFydE9mUXVldWUgPSAwOwor
ICAgIH0KKworICAgIHJldHVybiBKU09iamVjdE1ha2UoY29udGV4dCwgZ2V0Q2xhc3MoY29udGV4
dCksIDApOworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2
ZW50U2VuZGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzJlOGE5Ci0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmgKQEAg
LTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVy
IEZyZXl0aGVyCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBB
cHBsZSBDb21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0
cyBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlv
ciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
IElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQKKyAqIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBFdmVudFNlbmRlcl9oCisjZGVmaW5lIEV2ZW50U2VuZGVyX2gKKwor
dHlwZWRlZiBjb25zdCBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0NvbnRleHRSZWY7Cit0eXBl
ZGVmIHN0cnVjdCBPcGFxdWVKU1ZhbHVlKiBKU09iamVjdFJlZjsKKworSlNPYmplY3RSZWYgbWFr
ZUV2ZW50U2VuZGVyKEpTQ29udGV4dFJlZiBjb250ZXh0KTsKK3ZvaWQgcmVwbGF5U2F2ZWRFdmVu
dHMoKTsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbSBi
L1dlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtCmluZGV4IDQ4N2E0NzkuLmRhZjcwNjggMTAwNjQ0
Ci0tLSBhL1dlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYktpdFRvb2xzL0dOVW1h
a2VmaWxlLmFtCkBAIC02MCw2ICs2MCw4IEBAIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX1NPVVJD
RVMgPSBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRHdGsuY3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRl
clRyZWUuY3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRy
ZWVHdGsuaCBcCisJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmgg
XAorCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNlbmRlci5jcHAgXAogCVdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9HQ0NvbnRyb2xsZXJHdGsuY3BwIFwKIAlXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIFwK
IAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvV29ya1F1ZXVlSXRlbUd0ay5jcHAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39297</attachid>
            <date>2009-09-09 13:22:08 -0700</date>
            <delta_ts>2009-09-09 14:43:10 -0700</delta_ts>
            <desc>Partial implementation of EventSender</desc>
            <filename>es-2-f.diff</filename>
            <type>text/plain</type>
            <size>47716</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYjdiMWIzLi45ODQyNDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDkt
MDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBEdW1wUmVuZGVyVHJlZSBu
ZWVkcyBldmVudFNlbmRlciBvYmplY3QgYW5kIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTk5MAorCisgICAgICAgIEVuYWJs
ZSBwbGVudHkgb2YgdGVzdHMgdGhhdCBub3cgcGFzcyB0aGFua3MgdG8gKG9ubHkpIHBhcnRpYWwK
KyAgICAgICAgRXZlbnRTZW5kZXIgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDoKKwogMjAwOS0wOS0wOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAppbmRleCBkMzA1MzZhLi42OThlZGFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZApAQCAtNzMzLDcgKzczMyw2IEBAIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9v
a3VwcHJlZml4MTkueGh0bWwKICMgVGVzdHMgaW4gZWRpdGluZy8gZGlyZWN0b3J5CiAjICAgVGVz
dHMgZmFpbGluZwogZWRpdGluZy9kZWxldGluZy81NTQ2NzYzLmh0bWwKLWVkaXRpbmcvZGVsZXRp
bmcvNTcyOTY4MC5odG1sCiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hbGwtdGV4dC1pbi10ZXh0
LWZpZWxkLWFzc2VydGlvbi5odG1sCiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saWdhdHVyZS0w
MDEuaHRtbAogZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGlnYXR1cmUtMDAyLmh0bWwKQEAgLTc1
OCw3ICs3NTcsNiBAQCBlZGl0aW5nL2V4ZWNDb21tYW5kL3VubGluay5odG1sCiBlZGl0aW5nL2lu
c2VydGluZy81OTk0NDgwLTIuaHRtbAogZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRoYWktY2hh
cmFjdGVycy0wMDEuaHRtbAogZWRpdGluZy9pbnNlcnRpbmcvc3BhY2UtYWZ0ZXItcmVtb3ZlZm9y
bWF0Lmh0bWwKLWVkaXRpbmcvaW5zZXJ0aW5nL3R5cGluZy10YWItZGVzaWdubW9kZS5odG1sCiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvMTk2NDQtMS5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvMTk2NDQt
Mi5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvNDc0NDAwOC5odG1sCkBAIC03NjcsNyArNzY1LDYg
QEAgZWRpdGluZy9wYXN0ZWJvYXJkLzUzNjg4MzMuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkLzU2
NjUyOTkuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkLzU3NjE1MzAtMS5odG1sCiBlZGl0aW5nL3Bh
c3RlYm9hcmQvNTc4MDY5Ny0yLmh0bWwKLWVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNoLmh0
bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWluLXBhc3N3b3JkLWZpZWxkLmh0bWwKIGVkaXRp
bmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLWZsb2F0Lmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9k
cmFnLWltYWdlLWluLWFib3V0LWJsYW5rLWZyYW1lLmh0bWwKQEAgLTc3OSwxOSArNzc2LDEzIEBA
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1pbnRvLWFuY2hvci10ZXh0Lmh0bWwKIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1wbGFpbnRleHQtdXNlci1zZWxlY3Qtbm9uZS5odG1sCiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtdGFibGUtMDAyLmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS10ZXh0LTAxMy5odG1sCi1lZGl0aW5nL3NlbGVjdGlvbi81MjA5OTg0Lmh0bWwKIGVkaXRpbmcv
c2VsZWN0aW9uL2FmdGVyLWxpbmUtYnJlYWsuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24vYW5jaG9y
LWZvY3VzMS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi9hbmNob3ItZm9jdXMyLmh0bWwKIGVkaXRp
bmcvc2VsZWN0aW9uL2FuY2hvci1mb2N1czMuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vY2xpY2st
YWZ0ZXItbmVzdGVkLWJsb2NrLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWJlZm9yZS1h
bmQtYWZ0ZXItdGFibGUuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2staW4tbWFyZ2lucy1p
bnNpZGUtZWRpdGFibGUtZGl2Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWluLXBhZGRp
bmctd2l0aC1tdWx0aXBsZS1saW5lLWJveGVzLmh0bWwKLWVkaXRpbmcvc2VsZWN0aW9uL2NsaWNr
LW91dHNpZGUtZWRpdGFibGUtZGl2Lmh0bWwKLWVkaXRpbmcvc2VsZWN0aW9uL2NyYXNoLW9uLWRy
YWctd2l0aC1tdXRhdGlvbi1ldmVudHMuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xp
Y2std2hpdGVzcGFjZS1jcmFzaC5odG1sCi1lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay13
aGl0ZXNwYWNlLWltZy1jcmFzaC5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay13
aGl0ZXNwYWNlLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2RyYWctdGV4dC1kZWxheS5odG1sCiBl
ZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLmh0bWwKQEAgLTEzNDQsNyArMTMzNSw2
IEBAIGVkaXRpbmcvc2VsZWN0aW9uLzUxMzE3MTYtNC5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81
MTM2Njk2Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzUxOTUxNjYtMS5odG1sCiBlZGl0aW5nL3Nl
bGVjdGlvbi81MTk1MTY2LTIuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vNTIxMzk2My5odG1sCiBl
ZGl0aW5nL3NlbGVjdGlvbi81MjMyMTU5Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzUyMzQzODMt
MS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81MjM0MzgzLTIuaHRtbApAQCAtMTU1OCwxMyArMTU0
OCwxMSBAQCBmYXN0L2NhbnZhcy9jYW52YXMtem9vbS5odG1sCiBmYXN0L2NhbnZhcy9wb2ludElu
UGF0aC5odG1sCiBmYXN0L2NhbnZhcy9zZXQtY29sb3JzLmh0bWwKIGZhc3QvY2FudmFzL3RvRGF0
YVVSTC1zdXBwb3J0ZWRUeXBlcy5odG1sCi1mYXN0L2Nzcy9ob3Zlci1hZmZlY3RzLWNoaWxkLmh0
bWwKIGZhc3QvY3NzL2ludmFsaWQtcGVyY2VudGFnZS1wcm9wZXJ0eS5odG1sCiBmYXN0L2Nzcy90
ZXh0LWFsaWduLmh0bWwKIGZhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwuaHRtbAogZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLmh0bWwKIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUuaHRtbAotZmFzdC9jc3MvcmVz
aXplLXNpbmdsZS1heGlzLmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQtcXVpcmtz
Lmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQuaHRtbAogZmFzdC9kb20vY3NzVGFy
Z2V0LWNyYXNoLmh0bWwKQEAgLTE1ODYsNyArMTU3NCw2IEBAIGZhc3QvZG9tL1dpbmRvdy93aW5k
b3ctb25Gb2N1cy5odG1sCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXJlc2l6ZS1hbmQtbW92ZS1h
cmd1bWVudHMuaHRtbAogZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbAogZmFzdC9k
b20vV2luZG93L3dpbmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwKLWZhc3QvZHluYW1pYy9ob3ZlcmVk
LWRldGFjaC5odG1sCiBmYXN0L2R5bmFtaWMvcGF1c2VkLWV2ZW50LWRpc3BhdGNoLmh0bWwKIGZh
c3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC5odG1sCiBmYXN0L2R5bmFt
aWMvd2luZG93LXNjcm9sbGJhcnMtdGVzdC5odG1sCkBAIC0xNTk0LDE1NiArMTU4MSw4NiBAQCBm
YXN0L2VuY29kaW5nL2NoYXItZGVjb2RpbmctbWFjLmh0bWwKIGZhc3QvZW5jb2RpbmcvY2hhci1k
ZWNvZGluZy5odG1sCiBmYXN0L2VuY29kaW5nL2lkbi1zZWN1cml0eS5odG1sCiBmYXN0L2VuY29k
aW5nL21haWx0by1hbHdheXMtdXRmLTguaHRtbAotZmFzdC9ldmVudHMvYWNjZXNzLWtleS1zZWxm
LWRlc3RydWN0Lmh0bWwKLWZhc3QvZXZlbnRzL2FuY2hvci1lbXB0eS1mb2N1cy5odG1sCi1mYXN0
L2V2ZW50cy9hbmNob3ItaW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKLWZhc3QvZXZlbnRzL2Fycm93
LWtleXMtb24tYm9keS5odG1sCi1mYXN0L2V2ZW50cy9hcnJvdy1uYXZpZ2F0aW9uLmh0bWwKIGZh
c3QvZXZlbnRzL2F0dGVtcHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sCiBmYXN0L2V2
ZW50cy9hdXRvc2Nyb2xsLWluLXRleHRmaWVsZC5odG1sCiBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xs
LW5vbnNjcm9sbGFibGUtaWZyYW1lLWluLXNjcm9sbGFibGUtZGl2Lmh0bWwKIGZhc3QvZXZlbnRz
L2F1dG9zY3JvbGwtd2l0aC1ub24tc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbAotZmFzdC9ldmVudHMv
Y2FwdHVyZS1vbi10YXJnZXQuaHRtbAogZmFzdC9ldmVudHMvY2xpY2stY291bnQuaHRtbAogZmFz
dC9ldmVudHMvY29udGVudC1jaGFuZ2VkLWR1cmluZy1kcm9wLmh0bWwKIGZhc3QvZXZlbnRzL2Nv
bnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbAotZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Ny
b2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL2NyYXNoLW9uLW11dGF0ZS1k
dXJpbmctZHJvcC5odG1sCiBmYXN0L2V2ZW50cy9kYmxjbGljay1hZGRFdmVudExpc3RlbmVyLmh0
bWwKIGZhc3QvZXZlbnRzL2RyYWctaW4tZnJhbWVzLmh0bWwKLWZhc3QvZXZlbnRzL2RyYWctb3V0
c2lkZS13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvZXZlbnQtdmlldy10b1N0cmluZy5odG1sCi1m
YXN0L2V2ZW50cy9mcmFtZS1jbGljay1mb2N1cy5odG1sCiBmYXN0L2V2ZW50cy9mcmFtZS10YWIt
Zm9jdXMuaHRtbAotZmFzdC9ldmVudHMvaW5wdXQtaW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKIGZh
c3QvZXZlbnRzL2pzLWtleWJvYXJkLWV2ZW50LWNyZWF0aW9uLmh0bWwKIGZhc3QvZXZlbnRzL2tl
eS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKIGZhc3QvZXZlbnRzL2tleS1ldmVudHMtaW4t
aW5wdXQtdGV4dC5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNzLWZvY3VzLWNoYW5n
ZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNzLXByZXZlbnREZWZhdWx0Lmh0bWwK
LWZhc3QvZXZlbnRzL2tleWRvd24tcmVtb3ZlLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL2tleXBy
ZXNzLWZvY3VzLWNoYW5nZS5odG1sCi1mYXN0L2V2ZW50cy9rZXlwcmVzcy1pbnNlcnQtdGFiLmh0
bWwKLWZhc3QvZXZlbnRzL2tleXByZXNzLXJlbW92ZWQtbm9kZS5odG1sCiBmYXN0L2V2ZW50cy9t
b3VzZS1jbGljay1ldmVudHMuaHRtbAotZmFzdC9ldmVudHMvbW91c2UtZHJhZy1mcm9tLWZyYW1l
LXRvLW90aGVyLWZyYW1lLmh0bWwKLWZhc3QvZXZlbnRzL21vdXNlLWRyYWctZnJvbS1mcmFtZS5o
dG1sCiBmYXN0L2V2ZW50cy9tb3VzZWNsaWNrLXRhcmdldC1hbmQtcG9zaXRpb25pbmcuaHRtbAot
ZmFzdC9ldmVudHMvbW91c2Vtb3ZlLWFmdGVyLWRyYWctb3Zlci1zY3JvbGxiYXIuaHRtbAotZmFz
dC9ldmVudHMvbW91c2VvdXQtZGVhZC1zdWJmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9tb3VzZW91
dC1vbi13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvbW91c2VvdmVyLW1vdXNlb3V0Mi5odG1sCi1m
YXN0L2V2ZW50cy9tb3VzZW92ZXItbW91c2VvdXQuaHRtbAogZmFzdC9ldmVudHMvbW91c2V1cC1m
cm9tLWJ1dHRvbjIuaHRtbAotZmFzdC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50Lmh0
bWwKIGZhc3QvZXZlbnRzL29mZnNldFgtb2Zmc2V0WS5odG1sCi1mYXN0L2V2ZW50cy9vbmNoYW5n
ZS1jbGljay1oYW5nLmh0bWwKIGZhc3QvZXZlbnRzL29uY2hhbmdlLXBhc3N3b3JkZmllbGQuaHRt
bAogZmFzdC9ldmVudHMvb25jaGFuZ2Utc2VhcmNoZmllbGQuaHRtbAotZmFzdC9ldmVudHMvb25j
aGFuZ2Utc2VsZWN0LXBvcHVwLmh0bWwKIGZhc3QvZXZlbnRzL29uY2hhbmdlLXRleHRmaWVsZC5o
dG1sCi1mYXN0L2V2ZW50cy9vbmNsaWNrLWxpc3QtbWFya2VyLmh0bWwKIGZhc3QvZXZlbnRzL29u
ZHJhZ2VudGVyLmh0bWwKIGZhc3QvZXZlbnRzL29uc2VhcmNoLWVudGVyLmh0bWwKIGZhc3QvZXZl
bnRzL29udW5sb2FkLWNsZWFycy1vbmJlZm9yZXVubG9hZC5odG1sCiBmYXN0L2V2ZW50cy9vbnVu
bG9hZC1ub3Qtb24tYm9keS5odG1sCiBmYXN0L2V2ZW50cy9vbnVubG9hZC5odG1sCi1mYXN0L2V2
ZW50cy9vcGVuLXdpbmRvdy1mcm9tLWFub3RoZXItZnJhbWUuaHRtbAogZmFzdC9ldmVudHMvb3B0
aW9uLXRhYi5odG1sCiBmYXN0L2V2ZW50cy9wb2ludGVyLWV2ZW50cy0yLmh0bWwKLWZhc3QvZXZl
bnRzL3BvaW50ZXItZXZlbnRzLmh0bWwKIGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNr
LWluLWlmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC5odG1sCiBmYXN0L2V2
ZW50cy9yaWdodC1jbGljay1mb2N1cy5odG1sCi1mYXN0L2V2ZW50cy9zY3JvbGwtdG8tYW5jaG9y
LWluLW92ZXJmbG93LWhpZGRlbi5odG1sCiBmYXN0L2V2ZW50cy9zY3JvbGxiYXItZG91YmxlLWNs
aWNrLmh0bWwKLWZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LWR1cmluZy1hdXRvc2Nyb2xsLmh0bWwK
LWZhc3QvZXZlbnRzL3NoYWRvdy1ib3VuZGFyeS1jcm9zc2luZy5odG1sCi1mYXN0L2V2ZW50cy9z
cGFjZS1zY3JvbGwtZXZlbnQuaHRtbAogZmFzdC9ldmVudHMvc3BlY2lhbC1rZXktZXZlbnRzLWlu
LWlucHV0LXRleHQuaHRtbAogZmFzdC9ldmVudHMvc3RvcC1sb2FkLWluLXVubG9hZC1oYW5kbGVy
LXVzaW5nLWRvY3VtZW50LXdyaXRlLmh0bWwKIGZhc3QvZXZlbnRzL3N0b3AtbG9hZC1pbi11bmxv
YWQtaGFuZGxlci11c2luZy13aW5kb3ctc3RvcC5odG1sCiBmYXN0L2V2ZW50cy90YWJpbmRleC1m
b2N1cy1ibHVyLWFsbC5odG1sCiBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1jaGFpbi5odG1s
Ci1mYXN0L2V2ZW50cy93aW5kb3ctZXZlbnRzLWJ1YmJsZTIuaHRtbAotZmFzdC9ldmVudHMvd2lu
ZG93LWV2ZW50cy1idWJibGUuaHRtbAotZmFzdC9ldmVudHMvd2luZG93LWV2ZW50cy1jYXB0dXJl
Lmh0bWwKLWZhc3QvZm9ybXMvMjUxNTMuaHRtbAotZmFzdC9mb3Jtcy9hY2Nlc3Mta2V5Lmh0bWwK
LWZhc3QvZm9ybXMvYnV0dG9uLWVudGVyLWNsaWNrLmh0bWwKLWZhc3QvZm9ybXMvYnV0dG9uLXNw
YWNlYmFyLWNsaWNrLmh0bWwKIGZhc3QvZm9ybXMvYnV0dG9uLXN0YXRlLXJlc3RvcmUuaHRtbAot
ZmFzdC9mb3Jtcy9jaGVjay1ib3gtZW50ZXIta2V5Lmh0bWwKLWZhc3QvZm9ybXMvZGlzcGxheS1u
b25lLWluLW9uY2hhbmdlLWtleWJvYXJkLmh0bWwKIGZhc3QvZm9ybXMvZHJhZy1pbnRvLXRleHRh
cmVhLmh0bWwKIGZhc3QvZm9ybXMvZHJhZy1vdXQtb2YtdGV4dGFyZWEuaHRtbAotZmFzdC9mb3Jt
cy9lbnRlci1jbGlja3MtYnV0dG9ucy5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5odG1sCiBmYXN0
L2Zvcm1zL2ZvY3VzLWNvbnRyb2wtdG8tcGFnZS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzLXNlbGVj
dGlvbi1pbnB1dC5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzLXNlbGVjdGlvbi10ZXh0YXJlYS5odG1s
CiBmYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC5odG1sCi1mYXN0L2Zvcm1zL2lucHV0LXJhZGlv
LWNoZWNrZWQtdGFiLmh0bWwKLWZhc3QvZm9ybXMvaW5wdXQtc2VsZWN0LW9uLWNsaWNrLmh0bWwK
LWZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UtaW4tb25mb2N1cy1rZXlib2FyZC5odG1sCi1m
YXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlLWluLW9uZm9jdXMtbW91c2UuaHRtbAogZmFzdC9m
b3Jtcy9sZWdlbmQtYWNjZXNzLWtleS5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2Uu
aHRtbAogZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5odG1sCi1mYXN0L2Zvcm1zL2xpc3Ri
b3gtdHlwZWFoZWFkLWVtcHR5Lmh0bWwKLWZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtc2Ny
b2xsLmh0bWwKIGZhc3QvZm9ybXMvb25jaGFuZ2UtZW50ZXItc3VibWl0Lmh0bWwKIGZhc3QvZm9y
bXMvb25zZWxlY3QtdGV4dGFyZWEuaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0ZmllbGQu
aHRtbAogZmFzdC9mb3Jtcy9vcHRpb24tbW91c2VldmVudHMuaHRtbAogZmFzdC9mb3Jtcy9wYXNz
d29yZC1kb3VibGVjbGljay1zZWxlY3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9wbGFpbnRleHQtbW9k
ZS0xLmh0bWwKLWZhc3QvZm9ybXMvcmFkaW8tY2hlY2stY2xpY2stYW5kLWRyYWcuaHRtbAotZmFz
dC9mb3Jtcy9yYWRpb19jaGVja2VkX25hbWUuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBv
cy1jYW5jZWwtYnV0dG9uLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tbW91
c2V1cC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jbGljay1pbi1wbGFjZWhvbGRlci5odG1sCi1m
YXN0L2Zvcm1zL3NlYXJjaC1ldmVudC1kZWxheS5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaC1oaWRk
ZW4tY2FuY2VsLWJ1dHRvbi5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1hY2Nlc3NrZXkuaHRtbAot
ZmFzdC9mb3Jtcy9zZWxlY3QtY2FjaGUtZGVzeW5jaHJvbml6YXRpb24uaHRtbAogZmFzdC9mb3Jt
cy9zZWxlY3QtZGlydHktcGFyZW50LXByZWYtd2lkdGhzLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0
LWRvdWJsZS1vbmNoYW5nZS5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1lbXB0eS1saXN0Lmh0bWwK
LWZhc3QvZm9ybXMvc2VsZWN0LWVudGVyLWtleS5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1wb3B1
cC1wYWdla2V5cy5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAogZmFzdC9mb3Jt
cy9zZWxlY3Qtc2NyaXB0LW9uY2hhbmdlLmh0bWwKLWZhc3QvZm9ybXMvc2VsZWN0LXR5cGUtYWhl
YWQtbGlzdC1ib3gtbm8tc2VsZWN0aW9uLmh0bWwKLWZhc3QvZm9ybXMvc2VsZWN0LXR5cGUtYWhl
YWQtbm9uLWxhdGluLmh0bWwKIGZhc3QvZm9ybXMvc2xpZGVyLW1vdXNlLWV2ZW50cy5odG1sCiBm
YXN0L2Zvcm1zL3NsaWRlci1vbmNoYW5nZS1ldmVudC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci10
cmFuc2Zvcm1lZC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci16b29tZWQuaHRtbAogZmFzdC9mb3Jt
cy90ZXh0LWNvbnRyb2wtaW50cmluc2ljLXdpZHRocy5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVh
LWFycm93LW5hdmlnYXRpb24uaHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbnB1dC1ldmVudC5o
dG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXBhc3RlLW5ld2xpbmUuaHRtbAogZmFzdC9mb3Jtcy90
ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtcGxh
Y2Vob2xkZXItc2V0LXZhbHVlLmh0bWwKLWZhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtZW5k
bGluZS1jYXJldC5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVhLXR5cGUtc3BhY2VzLmh0bWwKLWZh
c3QvZm9ybXMvdGV4dGZpZWxkLWluc2lkZS1hbmNob3IuaHRtbAogZmFzdC9mb3Jtcy90ZXh0Zmll
bGQtb25jaGFuZ2UtZGVsZXRpb24uaHRtbAotZmFzdC9mb3Jtcy90ZXh0ZmllbGQtdG8tcGFzc3dv
cmQtb24tZm9jdXMuaHRtbAogZmFzdC9mcmFtZXMvY29udGVudC1vcGFjaXR5LTEuaHRtbAogZmFz
dC9mcmFtZXMvY29udGVudC1vcGFjaXR5LTIuaHRtbAogZmFzdC9mcmFtZXMvZnJhbWUtZGVhZC1y
ZWdpb24uaHRtbAotZmFzdC9mcmFtZXMvZnJhbWUtZGVlcC1uZXN0ZWQtcmVzaXplLmh0bWwKIGZh
c3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sCi1mYXN0L2ZyYW1lcy9ob3Zlci10aW1l
ci1jcmFzaC5odG1sCiBmYXN0L2ZyYW1lcy9pZnJhbWUtd2luZG93LWZvY3VzLmh0bWwKIGZhc3Qv
aGlzdG9yeS9oaXN0b3J5X3JlbG9hZC5odG1sCiBmYXN0L2hpc3Rvcnkvd2luZG93LW9wZW4uaHRt
bAogZmFzdC9odG1sL3RhYi1vcmRlci5odG1sCiBmYXN0L2h0bWwvdGV4dC1maWVsZC1pbnB1dC10
eXBlcy5odG1sCi1mYXN0L2xheWVycy9yZXNpemUtbGF5ZXItZGVsZXRpb24tY3Jhc2guaHRtbAog
ZmFzdC9sb2FkZXIvbWFpbi1kb2N1bWVudC11cmwtZm9yLW5vbi1odHRwLWxvYWRzLmh0bWwKIGZh
c3QvbG9hZGVyL29udW5sb2FkLWZvcm0tc3VibWl0LWNyYXNoLTIuaHRtbAogZmFzdC9sb2FkZXIv
b251bmxvYWQtZm9ybS1zdWJtaXQtY3Jhc2guaHRtbApAQCAtMTc1MSwxMiArMTY2OCw4IEBAIGZh
c3QvbG9hZGVyL3BvbGljeS1kZWxlZ2F0ZS1hY3Rpb24taGl0LXRlc3Qtem9vbWVkLmh0bWwKIGZh
c3QvbG9hZGVyL3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUuaHRtbAogZmFzdC9sb2FkZXIvc3RvcC1w
cm92aXNpb25hbC1sb2Fkcy5odG1sCiBmYXN0L2xvYWRpbmcvc3ViZnJhbWUtcmVtb3Zlcy1pdHNl
bGYuaHRtbAotZmFzdC9wYXJzZXIvdGFiaW5kZXgtcGFyc2luZy5odG1sCiBmYXN0L3JlZ2V4L3Rl
c3QxLmh0bWwKIGZhc3QvcmVnZXgvdGVzdDQuaHRtbAotZmFzdC9yZXBsYWNlZC9pbWFnZS1tYXAt
YnVnMTY3ODIuaHRtbAotZmFzdC9yZXBsYWNlZC9pbWFnZS1tYXAuaHRtbAotZmFzdC9yZXBsYWNl
ZC9pbWFnZS1tYXAtMi5odG1sCiBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LXRl
eHQtY29udHJvbHMuaHRtbAogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC5odG1s
CiBmYXN0L3NlbGVjdG9ycy9sYW5nLWluaGVyaXRhbmNlMi5odG1sCkBAIC0yNjA5LDcgKzI1MjIs
NiBAQCBmYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL2Nv
bnRyb2wtY2xpcC5odG1sCiBmYXN0L2Zvcm1zL2NvbnRyb2wtcmVzdHJpY3QtbGluZS1oZWlnaHQu
aHRtbAogZmFzdC9mb3Jtcy9kaXNhYmxlZC1zZWxlY3QtY2hhbmdlLWluZGV4Lmh0bWwKLWZhc3Qv
Zm9ybXMvZW1wdHktdGV4dGFyZWEtdG9nZ2xlLWRpc2FibGVkLmh0bWwKIGZhc3QvZm9ybXMvZW5j
b2RpbmctdGVzdC5odG1sCiBmYXN0L2Zvcm1zL2ZpZWxkc2V0LWFsaWduLmh0bWwKIGZhc3QvZm9y
bXMvZmllbGRzZXQtd2l0aC1mbG9hdC5odG1sCkBAIC0yNzQwLDcgKzI2NTIsNiBAQCBmYXN0L2Zv
cm1zL3RleHRhcmVhLXNjcm9sbGJhci5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGVk
LXR5cGUuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZXRpbm5lcmh0bWwuaHRtbAogZmFzdC9m
b3Jtcy90ZXh0YXJlYS13aWR0aC5odG1sCi1mYXN0L2Zvcm1zL3RleHRmaWVsZC1kcmFnLWludG8t
ZGlzYWJsZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3V0bGluZS5odG1sCiBmYXN0L2Zv
cm1zL3RleHRmaWVsZC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL3RodW1ic2xpZGVyLWNyYXNo
Lmh0bWwKQEAgLTI3OTMsNyArMjcwNCw2IEBAIGZhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLmh0bWwK
IGZhc3QvaW1hZ2VzL2Zhdmljb24tYXMtaW1hZ2UuaHRtbAogZmFzdC9pbWFnZXMvaW1hZ2UtaW4t
bWFwLmh0bWwKIGZhc3QvaW1hZ2VzL2ltYWdlLW1hcC1hbmNob3ItY2hpbGRyZW4uaHRtbAotZmFz
dC9pbWFnZXMvaW1hZ2UtbWFwLXpvb20uaHRtbAogZmFzdC9pbWFnZXMvaW1hZ2VtYXAtY2FzZS5o
dG1sCiBmYXN0L2ltYWdlcy9vYmplY3QtaW1hZ2UuaHRtbAogZmFzdC9pbWFnZXMvcGRmLWFzLWJh
Y2tncm91bmQuaHRtbApAQCAtMzczMCw5ICszNjQwLDYgQEAgaHR0cC90ZXN0cy9taXNjL3RleHQt
cmVmcmVzaC5odG1sCiBodHRwL3Rlc3RzL21pc2MvdGltZXItdnMtbG9hZGluZy5odG1sCiBodHRw
L3Rlc3RzL21pc2Mvd2luZG93LWRvdC1zdG9wLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9i
YWNrLXRvLXNsb3ctZnJhbWUuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxv
Y2F0aW9uLWNsaWNrLXRpbWVvdXQuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50
LWxvY2F0aW9uLWNsaWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2Nh
dGlvbi1tb3VzZW92ZXIuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlbG9hZC1zdWJmcmFt
ZS1mcmFtZS5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsb2FkLXN1YmZyYW1lLWlmcmFt
ZS5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsb2FkLXN1YmZyYW1lLW9iamVjdC5odG1s
CkBAIC0zNzU3LDggKzM2NjQsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
eC1mcmFtZS1vcHRpb25zLWRlbnktbWV0YS10YWcuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9Y
RnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1kZW55Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJp
dHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtcGFyZW50LXNhbWUtb3JpZ2luLWFsbG93
Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMt
cGFyZW50LXNhbWUtb3JpZ2luLWRlbnkuaHRtbAotaHR0cC90ZXN0cy9zZWN1cml0eS9saXN0ZW5l
ci94c3Mtd2luZG93LW9uY2xpY2stYWRkRXZlbnRMaXN0ZW5lci5odG1sCi1odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2xpc3RlbmVyL3hzcy13aW5kb3ctb25jbGljay1zaG9ydGN1dC5odG1sCiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2luZG93Lmh0bWwKIGh0dHAv
dGVzdHMvd29ya2Vycy90ZXh0LWVuY29kaW5nLmh0bWwKIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWJvcnQtc2hvdWxkLWNhbmNlbC1sb2FkLmh0bWwKQEAgLTM5NDksNyArMzg1NCw2IEBAIHN2
Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbAogc3ZnL2N1
c3RvbS9nZXRTdWJTdHJpbmdMZW5ndGguaHRtbAogc3ZnL2N1c3RvbS9nZXRzY3JlZW5jdG0taW4t
bWl4ZWQtY29udGVudDIueGh0bWwKIHN2Zy9jdXN0b20vZ2x5cGgtc2V0dGluZy1kLWF0dHJpYnV0
ZS5zdmcKLXN2Zy9jdXN0b20vaW1hZ2UtY2xpcHBlZC1oaXQuc3ZnCiBzdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAogc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwK
IHN2Zy9jdXN0b20vbm8taW5oZXJpdGVkLWRhc2hlZC1zdHJva2UueGh0bWwKQEAgLTM5NTksMTM1
ICszODYzLDggQEAgc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4tdGV4dC1jb250cm9scy5odG1sCiBz
dmcvY3VzdG9tL3VzZS1lbGVtZW50SW5zdGFuY2UtZXZlbnQtdGFyZ2V0LnN2Zwogc3ZnL2N1c3Rv
bS91c2UtZWxlbWVudEluc3RhbmNlLW1ldGhvZHMuc3ZnCiBzdmcvY3VzdG9tL3VzZS1pbnN0YW5j
ZVJvb3QtYXMtZXZlbnQtdGFyZ2V0LnhodG1sCi1zdmcvY3VzdG9tL3VzZS1pbnN0YW5jZVJvb3Qt
ZXZlbnQtYnViYmxpbmcueGh0bWwKIHN2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1ldmVudC1s
aXN0ZW5lcnMueGh0bWwKIHN2Zy9jdXN0b20vdXNlLXNldEF0dHJpYnV0ZS1jcmFzaC5zdmcKLSMg
ICBUZXN0cyBpbiBzdmcvZHluYW1pYy11cGRhdGVzIHJlcXVpcmUgYmFzaWMgZXZlbnRTZW5kZXIg
aW1wbGVtZW50YXRpb24gdG8gcGFzcwotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1k
b20taHJlZi1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtZG9tLXRh
cmdldC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtc3ZnZG9tLWhy
ZWYtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LXN2Z2RvbS10YXJn
ZXQtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4
LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeS1h
dHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRy
Lmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gtcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDbGlwUGF0aEVsZW1lbnQtZG9tLWNsaXBQ
YXRoVW5pdHMtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NsaXBQYXRoRWxlbWVu
dC1zdmdkb20tY2xpcFBhdGhVbml0cy1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Q3Vyc29yRWxlbWVudC1kb20teC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vy
c29yRWxlbWVudC1kb20teS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vyc29y
RWxlbWVudC1zdmdkb20teC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vyc29y
RWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtZG9tLWN4LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1kb20tY3ktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LWRvbS1yeC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVs
ZW1lbnQtZG9tLXJ5LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tY3gtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LXN2Z2RvbS1jeS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxp
cHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXgtYXR0ci5odG1sCi1zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS15LWF0dHIuaHRtbAot
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0
LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1z
dmdkb20td2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LXN2Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHSW1hZ2VFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ltYWdlRWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RSYXRpby1hdHRyLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LWRvbS14LWF0dHIuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdJbWFnZUVsZW1lbnQtZG9tLXktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11
cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdJbWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20td2lkdGgt
cHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20teC1w
cm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LXN2Z2RvbS15LXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1kb20teDEtYXR0ci5o
dG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LWRvbS14Mi1hdHRyLmh0bWwK
LXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZUVsZW1lbnQtZG9tLXkxLWF0dHIuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1kb20teTItYXR0ci5odG1sCi1zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LXN2Z2RvbS14MS1wcm9wLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHTGluZUVsZW1lbnQtc3ZnZG9tLXgyLXByb3AuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1zdmdkb20teTEtcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LXN2Z2RvbS15Mi1wcm9wLmh0bWwKLXN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LWRvbS1ncmFkaWVudFRyYW5zZm9ybS1h
dHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LWRv
bS1ncmFkaWVudFVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQtZG9tLXgxLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdM
aW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXgyLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXkxLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXkyLWF0dHIuaHRtbAotc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtc3ZnZG9tLWdyYWRpZW50VHJh
bnNmb3JtLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQtc3ZnZG9tLWdyYWRpZW50VW5pdHMtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teDEtcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teDItcHJvcC5odG1sCi1z
dmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teTEtcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdk
b20teTItcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hcmtlckVsZW1lbnQtZG9t
LW1hcmtlckhlaWdodC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxl
bWVudC1kb20tbWFya2VyVW5pdHMtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01h
cmtlckVsZW1lbnQtZG9tLW1hcmtlcldpZHRoLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdNYXJrZXJFbGVtZW50LWRvbS1vcmllbnQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtZG9tLXJlZlgtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtZG9tLXJlZlktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtc3ZnZG9tLW1hcmtlckhlaWdodC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tbWFya2VyVW5pdHMtcHJvcC5o
dG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hcmtlckVsZW1lbnQtc3ZnZG9tLW1hcmtlcldp
ZHRoLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXJrZXJFbGVtZW50LXN2Z2Rv
bS1vcmllbnRBbmdsZS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxl
bWVudC1zdmdkb20tb3JpZW50VHlwZS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
TWFya2VyRWxlbWVudC1zdmdkb20tcmVmWC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHTWFya2VyRWxlbWVudC1zdmdkb20tcmVmWS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0
ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tc2V0T3JpZW50VG9BbmdsZS1jYWxsLmh0bWwKLXN2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tc2V0T3JpZW50VG9BdXRv
LWNhbGwuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVudC1kb20taGVpZ2h0
LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVudC1kb20tbWFza0Nv
bnRlbnRVbml0cy1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1lbnQt
ZG9tLW1hc2tVbml0cy1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1l
bnQtZG9tLXdpZHRoLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVu
dC1kb20teC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1lbnQtZG9t
LXktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hc2tFbGVtZW50LXN2Z2RvbS1o
ZWlnaHQtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hc2tFbGVtZW50LXN2Z2Rv
bS1tYXNrQ29udGVudFVuaXRzLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNr
RWxlbWVudC1zdmdkb20tbWFza1VuaXRzLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdNYXNrRWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR01hc2tFbGVtZW50LXN2Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdNYXNrRWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
UGF0dGVybkVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHUGF0dGVybkVsZW1lbnQtZG9tLXBhdHRlcm5Db250ZW50VW5pdHMtYXR0ci5odG1sCi1zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50LWRvbS1wYXR0ZXJuVHJhbnNmb3JtLWF0
dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1kb20tcGF0dGVy
blVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1k
b20td2lkdGgtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50
LWRvbS14LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1k
b20teS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1lbnQtc3Zn
ZG9tLWhlaWdodC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1l
bnQtc3ZnZG9tLXBhdHRlcm5Db250ZW50VW5pdHMtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR1BhdHRlcm5FbGVtZW50LXN2Z2RvbS1wYXR0ZXJuVHJhbnNmb3JtLXByb3AuaHRtbAot
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1zdmdkb20tcGF0dGVyblVuaXRz
LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1zdmdkb20t
d2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50LXN2
Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1z
dmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LWRvbS1jeC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LWRvbS1jeS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50LWRvbS1meC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1meS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1ncmFkaWVudFRyYW5zZm9ybS1hdHRy
Lmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1n
cmFkaWVudFVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQtZG9tLXItYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tY3ktcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZngtcHJvcC5odG1sCi1z
dmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZnktcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdk
b20tZ3JhZGllbnRUcmFuc2Zvcm0tcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZ3JhZGllbnRVbml0cy1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LXN2Z2RvbS1yLXByb3AuaHRt
bAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20taGVpZ2h0LWF0dHIuaHRt
bAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20td2lkdGgtYXR0ci5odG1s
Ci1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JlY3RFbGVtZW50LWRvbS14LWF0dHIuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20teS1hdHRyLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5odG1sCiAjICAgVGVz
dHMgZ2VuZXJhdGluZyBuZXcgcmVzdWx0cwogc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0w
Mi10LnN2Zwogc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0wMy10LnN2ZwpAQCAtNTc3Mywx
OSArNTU1MCwxMyBAQCBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWFmdGVyLWRv
dWJsZS1jbGljay5odG1sCiBmYXN0L2V2ZW50cy9kcmFnLXRvLW5hdmlnYXRlLmh0bWwKIGZhc3Qv
ZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3du
LWZ1bmN0aW9uLWtleXMuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtZGVsZXRlLXdoaWxlLWNhbmNl
bC1idXR0b24tY2xpY2tlZC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci1kZWxldGUtd2hpbGUtZHJh
Z2dpbmctdGh1bWIuaHRtbAotZmFzdC9ldmVudHMvY2xpY2stZm9jdXMtYW5jaG9yLmh0bWwKIGZh
c3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAotZmFzdC9ldmVudHMvdGFiLWZvY3VzLWhp
ZGRlbi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2RyYWctb3Zlci1yZW1vdGUtY29udGVudC5odG1s
CiBodHRwL3Rlc3RzL3NlY3VyaXR5L2RyYWctb3Zlci1yZW1vdGUtY29udGVudC1pZnJhbWUuaHRt
bAogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0
bWwKLW1lZGlhL2F1ZGlvLWRlbGV0ZS13aGlsZS1zbGlkZXItdGh1bWItY2xpY2tlZC5odG1sCiBt
ZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1sCi1tZWRpYS9j
b250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwKIHNjcm9sbGJhcnMvc2Nyb2xsYmFy
LW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLmh0bWwKLXNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3Mt
bW91c2Vtb3ZlLmh0bWwKIAogIyBUZXN0cyB0aGF0IHJlcXVpcmUgZWRpdGluZyBjYWxsYmFja3Mg
KGFuZCBwb3NzaWJseSBHbGliIERPTSBiaW5kaW5ncykKIGVkaXRpbmcvdGV4dC1pdGVyYXRvci90
aGFpLWN1cnNvci1tb3ZlbWVudC5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDJhZTJjOTkuLjgyMTU1M2UgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMDktMDktMDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1RLXSBEdW1wUmVuZGVyVHJlZSBuZWVkcyBldmVudFNlbmRlciBvYmplY3QgYW5kIGltcGxlbWVu
dGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTk5MAorCisgICAgICAgIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGFjY2Vzc2libGUgZnJv
bSB0aGUgRHVtcFJlbmRlclRyZWUgdG9vbAorICAgICAgICBhbmQgY2FsbHMgdGhlIGxheW91dCBt
ZXRob2Qgb24gdGhlIGZyYW1lIHZpZXcuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0
ZS5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHA6CisgICAgICAgICh3ZWJr
aXRfd2ViX2ZyYW1lX2xheW91dCk6CisKIDIwMDktMDktMDggIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0
ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IDBhNDg4MmYuLmM0
NzE3MTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTMxNyw2ICszMTcsOSBAQCBl
eHRlcm4gIkMiIHsKIAogICAgIFdFQktJVF9BUEkgV2ViS2l0V2ViRGF0YWJhc2UgKgogICAgIHdl
YmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3dlYl9kYXRhYmFzZShXZWJLaXRTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IGNoYXIqIGRhdGFiYXNlTmFtZSk7CisKKyAgICBXRUJL
SVRfQVBJIHZvaWQKKyAgICB3ZWJraXRfd2ViX2ZyYW1lX2xheW91dChXZWJLaXRXZWJGcmFtZSog
ZnJhbWUpOwogfQogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1l
LmNwcAppbmRleCA3Y2RjMGUzLi5iNDBkNjU2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJh
bWUuY3BwCkBAIC0xMDc2LDMgKzEwNzYsMTYgQEAgV2ViS2l0U2VjdXJpdHlPcmlnaW4qIHdlYmtp
dF93ZWJfZnJhbWVfZ2V0X3NlY3VyaXR5X29yaWdpbihXZWJLaXRXZWJGcmFtZSogZnJhbWUKICAg
ICBwcml2LT5vcmlnaW4gPSBraXQocHJpdi0+Y29yZUZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpKTsKICAgICByZXR1cm4gcHJpdi0+b3JpZ2luOwogfQorCit2b2lkIHdlYmtpdF93
ZWJfZnJhbWVfbGF5b3V0KFdlYktpdFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBGcmFtZSogY29y
ZUZyYW1lID0gY29yZShmcmFtZSk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVy
bjsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGNvcmVGcmFtZS0+dmlldygpOworICAgIGlmICgh
dmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgdmlldy0+bGF5b3V0KCk7Cit9CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
MzhkMzZlNy4uYjdlMzVhNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDA5LTA5LTA5ICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRHVtcFJlbmRlclRyZWUgbmVlZHMgZXZl
bnRTZW5kZXIgb2JqZWN0IGFuZCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU5OTAKKworICAgICAgICBJbXBsZW1lbnRzIG1v
c3Qgb2YgdGhlIEV2ZW50U2VuZGVyIG9iamVjdCdzIGZ1bmN0aW9uYWxpdHkgZm9yCisgICAgICAg
IHRoZSBEdW1wUmVuZGVyVHJlZSB0b29sLiBJbXBsZW1lbnRhdGlvbiBzdGlsbCBsYWNrcyBzdXBw
b3J0CisgICAgICAgIGZvciBkcmFnIGFuZCBkcm9wIHRlc3RzIGFuZCBmb3J3YXJkIGxlYXBzLgor
CisgICAgICAgIEJhc2VkIG9uIHdvcmsgYnkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAocnVuVGVzdCk6IEZvY3VzIG9uIHRoZSB2aWV3IGJlZm9yZSBsb2FkaW5nIGEgbmV3IHRlc3Qu
CisgICAgICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChnZXREcmFnTW9k
ZUNhbGxiYWNrKToKKyAgICAgICAgKHNldERyYWdNb2RlQ2FsbGJhY2spOgorICAgICAgICAobGVh
cEZvcndhcmRDYWxsYmFjayk6CisgICAgICAgIChjb250ZXh0Q2xpY2tDYWxsYmFjayk6CisgICAg
ICAgICh1cGRhdGVDbGlja0NvdW50KToKKyAgICAgICAgKG1vdXNlRG93bkNhbGxiYWNrKToKKyAg
ICAgICAgKG1vdXNlVXBDYWxsYmFjayk6CisgICAgICAgIChtb3VzZU1vdmVUb0NhbGxiYWNrKToK
KyAgICAgICAgKGJlZ2luRHJhZ1dpdGhGaWxlc0NhbGxiYWNrKToKKyAgICAgICAgKHJlcGxheVNh
dmVkRXZlbnRzKToKKyAgICAgICAgKGtleURvd25DYWxsYmFjayk6CisgICAgICAgICh0ZXh0Wm9v
bUluQ2FsbGJhY2spOgorICAgICAgICAodGV4dFpvb21PdXRDYWxsYmFjayk6CisgICAgICAgICh6
b29tUGFnZUluQ2FsbGJhY2spOgorICAgICAgICAoem9vbVBhZ2VPdXRDYWxsYmFjayk6CisgICAg
ICAgIChnZXRDbGFzcyk6CisgICAgICAgIChtYWtlRXZlbnRTZW5kZXIpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNlbmRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbTogQWRkIGJ1aWxkIHJ1bGVzIGZvciBFdmVudFNlbmRlci4KKwogMjAwOS0wOS0wOCAg
RGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDZkZGMzMjQuLmEzNDVlNmEgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCiAKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAjaW5jbHVkZSAi
R0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJXb3JrUXVldWUuaCIKQEAgLTQyNiw3ICs0MjcsOCBAQCBzdGF0aWMgdm9pZCBydW5UZXN0
KGNvbnN0IHN0cmluZyYgdGVzdFBhdGhPclVSTCkKICAgICBpZiAocHJldlRlc3RCRkl0ZW0pCiAg
ICAgICAgIGdfb2JqZWN0X3JlZihwcmV2VGVzdEJGSXRlbSk7CiAKLQorICAgIC8vIEZvY3VzIHRo
ZSB3ZWIgdmlldyBiZWZvcmUgbG9hZGluZyB0aGUgdGVzdCB0byBhdm9pZCBmb2N1c2luZyBwcm9i
bGVtcworICAgIGd0a193aWRnZXRfZ3JhYl9mb2N1cyhHVEtfV0lER0VUKHdlYlZpZXcpKTsKICAg
ICB3ZWJraXRfd2ViX3ZpZXdfb3Blbih3ZWJWaWV3LCB1cmwpOwogCiAgICAgZ19mcmVlKHVybCk7
CkBAIC01MDAsNiArNTAyLDEwIEBAIHN0YXRpYyB2b2lkIHdlYlZpZXdXaW5kb3dPYmplY3RDbGVh
cmVkKFdlYktpdFdlYlZpZXcqIHZpZXcsIFdlYktpdFdlYkZyYW1lKiBmcmFtCiAgICAgYXhDb250
cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlv
bik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCisgICAgSlNTdHJpbmdSZWYgZXZlbnRTZW5k
ZXJTdHIgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiZXZlbnRTZW5kZXIiKTsKKyAg
ICBKU1ZhbHVlUmVmIGV2ZW50U2VuZGVyID0gbWFrZUV2ZW50U2VuZGVyKGNvbnRleHQpOworICAg
IEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBldmVudFNlbmRlclN0
ciwgZXZlbnRTZW5kZXIsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUsIDApOworICAgIEpTU3RyaW5nUmVsZWFzZShldmVudFNlbmRl
clN0cik7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3Q29uc29sZU1lc3NhZ2UoV2ViS2l0
V2ViVmlldyogdmlldywgY29uc3QgZ2NoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lLCBj
b25zdCBnY2hhciogc291cmNlSWQsIGdwb2ludGVyIGRhdGEpCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi4wYjYwODIzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApAQCAtMCwwICsxLDQ1OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDkgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAg
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRTZW5kZXIuaCIKKworI2luY2x1ZGUgIkR1bXBS
ZW5kZXJUcmVlLmgiCisKKyNpbmNsdWRlIDxnZGsvZ2RrLmg+CisjaW5jbHVkZSA8Z2RrL2dka2tl
eXN5bXMuaD4KKworI2luY2x1ZGUgPHd0Zi9BU0NJSUNUeXBlLmg+CisjaW5jbHVkZSA8d3RmL1Bs
YXRmb3JtLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4KKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU1JldGFpblB0ci5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL0pTU3RyaW5nUmVmLmg+CisjaW5jbHVkZSA8d2Via2l0L3dlYmtpdHdlYmZyYW1lLmg+Cisj
aW5jbHVkZSA8d2Via2l0L3dlYmtpdHdlYnZpZXcuaD4KKworI2luY2x1ZGUgPHN0cmluZy5oPgor
CisvLyBUT0RPOiBDdXJyZW50bHkgZHJhZyBhbmQgZHJvcCByZWxhdGVkIGNvZGUgaXMgbGVmdCBv
dXQgYW5kCisvLyBzaG91bGQgYmUgbWVyZ2VkIG9uY2Ugd2UgaGF2ZSBkcmFnIGFuZCBkcm9wIHN1
cHBvcnQgaW4gV2ViQ29yZS4KKworZXh0ZXJuICJDIiB7CisgICAgZXh0ZXJuIHZvaWQgd2Via2l0
X3dlYl9mcmFtZV9sYXlvdXQoV2ViS2l0V2ViRnJhbWUqIGZyYW1lKTsKK30KKworc3RhdGljIGJv
b2wgZG93biA9IGZhbHNlOworc3RhdGljIGJvb2wgZHJhZ01vZGUgPSB0cnVlOworc3RhdGljIGJv
b2wgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSBmYWxzZTsKK3N0YXRpYyBpbnQgbGFzdE1vdXNlUG9z
aXRpb25YOworc3RhdGljIGludCBsYXN0TW91c2VQb3NpdGlvblk7CisKK3N0YXRpYyBpbnQgbGFz
dENsaWNrUG9zaXRpb25YOworc3RhdGljIGludCBsYXN0Q2xpY2tQb3NpdGlvblk7CitzdGF0aWMg
aW50IGNsaWNrQ291bnQgPSAwOworCitzdHJ1Y3QgRGVsYXllZE1lc3NhZ2UgeworICAgIEdka0V2
ZW50IGV2ZW50OworICAgIGd1bG9uZyBkZWxheTsKKyAgICBnYm9vbGVhbiBpc0RyYWdFdmVudDsK
K307CisKK3N0YXRpYyBEZWxheWVkTWVzc2FnZSBtc2dRdWV1ZVsxMDI0XTsKKworc3RhdGljIHVu
c2lnbmVkIGVuZE9mUXVldWU7CitzdGF0aWMgdW5zaWduZWQgc3RhcnRPZlF1ZXVlOworCitzdGF0
aWMgY29uc3QgZmxvYXQgem9vbU11bHRpcGxpZXJSYXRpbyA9IDEuMmY7CisKK3N0YXRpYyBKU1Zh
bHVlUmVmIGdldERyYWdNb2RlQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0
UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pCit7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlQm9vbGVhbihjb250ZXh0LCBkcmFnTW9kZSk7
Cit9CisKK3N0YXRpYyBib29sIHNldERyYWdNb2RlQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRl
eHQsIEpTT2JqZWN0UmVmIG9iamVjdCwgSlNTdHJpbmdSZWYgcHJvcGVydHlOYW1lLCBKU1ZhbHVl
UmVmIHZhbHVlLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgZHJhZ01vZGUgPSBKU1Zh
bHVlVG9Cb29sZWFuKGNvbnRleHQsIHZhbHVlKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworc3Rh
dGljIEpTVmFsdWVSZWYgbGVhcEZvcndhcmRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwg
SlNPYmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1
bWVudENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNl
cHRpb24pCit7CisgICAgLy8gRklYTUU6IEFkZCBwcm9wZXIgc3VwcG9ydCBmb3IgZm9yd2FyZCBs
ZWFwcworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworc3Rh
dGljIEpTVmFsdWVSZWYgY29udGV4dENsaWNrQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQs
IEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJn
dW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhj
ZXB0aW9uKQoreworICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dl
dF93ZWJfdmlldyhtYWluRnJhbWUpOworICAgIEFTU0VSVCh2aWV3KTsKKworICAgIHdlYmtpdF93
ZWJfZnJhbWVfbGF5b3V0KG1haW5GcmFtZSk7CisKKyAgICBnYm9vbGVhbiByZXR1cm5fdmFsOwor
ICAgIEdka0V2ZW50IGV2ZW50OworICAgIG1lbXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkp
OworICAgIGV2ZW50LmJ1dHRvbi5idXR0b24gPSAzOworICAgIGV2ZW50LmJ1dHRvbi54ID0gbGFz
dE1vdXNlUG9zaXRpb25YOworICAgIGV2ZW50LmJ1dHRvbi55ID0gbGFzdE1vdXNlUG9zaXRpb25Z
OworCisgICAgZG93biA9IHRydWU7CisgICAgZXZlbnQudHlwZSA9IEdES19CVVRUT05fUFJFU1M7
CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJidXR0b25fcHJlc3NfZXZlbnQiLCAm
ZXZlbnQsICZyZXR1cm5fdmFsKTsKKworICAgIGRvd24gPSBmYWxzZTsKKyAgICBldmVudC50eXBl
ID0gR0RLX0JVVFRPTl9SRUxFQVNFOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAi
YnV0dG9uX3JlbGVhc2VfZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5fdmFsKTsKKworICAgIHJldHVy
biBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRl
Q2xpY2tDb3VudChpbnQgLyogYnV0dG9uICovKQoreworICAgIC8vIEZJWE1FOiB0YWtlIHRoZSBs
YXN0IGNsaWNrZWQgYnV0dG9uIG51bWJlciBhbmQgdGhlIHRpbWUgb2YgbGFzdCBjbGljayBpbnRv
IGFjY291bnQuCisgICAgaWYgKGxhc3RDbGlja1Bvc2l0aW9uWCAhPSBsYXN0TW91c2VQb3NpdGlv
blggJiYgbGFzdENsaWNrUG9zaXRpb25ZICE9IGxhc3RNb3VzZVBvc2l0aW9uWSkKKyAgICAgICAg
Y2xpY2tDb3VudCA9IDE7CisgICAgZWxzZQorICAgICAgICBjbGlja0NvdW50Kys7Cit9CisKK3N0
YXRpYyBKU1ZhbHVlUmVmIG1vdXNlRG93bkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKK3sKKyAgICBkb3duID0gdHJ1ZTsKKworICAgIEdka0V2ZW50IGV2ZW50OworICAgIG1l
bXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOworICAgIGV2ZW50LnR5cGUgPSBHREtfQlVU
VE9OX1BSRVNTOworICAgIGV2ZW50LmJ1dHRvbi5idXR0b24gPSAxOworICAgIGV2ZW50LmJ1dHRv
bi54ID0gbGFzdE1vdXNlUG9zaXRpb25YOworICAgIGV2ZW50LmJ1dHRvbi55ID0gbGFzdE1vdXNl
UG9zaXRpb25ZOworCisgICAgdXBkYXRlQ2xpY2tDb3VudCgxKTsKKworICAgIGlmICghbXNnUXVl
dWVbZW5kT2ZRdWV1ZV0uZGVsYXkpIHsKKyAgICAgICAgd2Via2l0X3dlYl9mcmFtZV9sYXlvdXQo
bWFpbkZyYW1lKTsKKyAgICAgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJh
bWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CisgICAgICAgIEFTU0VSVCh2aWV3KTsKKworICAg
ICAgICBnYm9vbGVhbiByZXR1cm5fdmFsOworICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUo
dmlldywgImJ1dHRvbl9wcmVzc19ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOworICAgICAg
ICBpZiAoY2xpY2tDb3VudCA9PSAyKSB7CisgICAgICAgICAgICBldmVudC50eXBlID0gR0RLXzJC
VVRUT05fUFJFU1M7CisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgImJ1
dHRvbl9wcmVzc19ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOworICAgICAgICB9CisgICAg
fSBlbHNlIHsKKyAgICAgICAgLy8gcmVwbGF5U2F2ZWRFdmVudHMgc2hvdWxkIGhhdmUgdGhlIHJl
cXVpcmVkIGxvZ2ljIHRvIG1ha2UgbGVhcEZvcndhcmQgZGVsYXlzIHdvcmsKKyAgICAgICAgbXNn
UXVldWVbZW5kT2ZRdWV1ZSsrXS5ldmVudCA9IGV2ZW50OworICAgICAgICByZXBsYXlTYXZlZEV2
ZW50cygpOworICAgIH0KKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0
KTsKK30KKworc3RhdGljIEpTVmFsdWVSZWYgbW91c2VVcENhbGxiYWNrKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6
ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVS
ZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBkb3duID0gZmFsc2U7CisKKyAgICBHZGtFdmVudCBldmVu
dDsKKyAgICBtZW1zZXQoJmV2ZW50LCAwLCBzaXplb2YoZXZlbnQpKTsKKyAgICBldmVudC50eXBl
ID0gR0RLX0JVVFRPTl9SRUxFQVNFOworICAgIGV2ZW50LmJ1dHRvbi5idXR0b24gPSAxOworICAg
IGV2ZW50LmJ1dHRvbi54ID0gbGFzdE1vdXNlUG9zaXRpb25YOworICAgIGV2ZW50LmJ1dHRvbi55
ID0gbGFzdE1vdXNlUG9zaXRpb25ZOworCisgICAgaWYgKChkcmFnTW9kZSAmJiAhcmVwbGF5aW5n
U2F2ZWRFdmVudHMpIHx8IG1zZ1F1ZXVlW2VuZE9mUXVldWVdLmRlbGF5KSB7CisgICAgICAgIG1z
Z1F1ZXVlW2VuZE9mUXVldWVdLmV2ZW50ID0gZXZlbnQ7CisgICAgICAgIG1zZ1F1ZXVlW2VuZE9m
UXVldWUrK10uaXNEcmFnRXZlbnQgPSB0cnVlOworICAgICAgICByZXBsYXlTYXZlZEV2ZW50cygp
OworICAgIH0gZWxzZSB7CisgICAgICAgIHdlYmtpdF93ZWJfZnJhbWVfbGF5b3V0KG1haW5GcmFt
ZSk7CisgICAgICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93
ZWJfdmlldyhtYWluRnJhbWUpOworICAgICAgICBBU1NFUlQodmlldyk7CisKKyAgICAgICAgZ2Jv
b2xlYW4gcmV0dXJuX3ZhbDsKKyAgICAgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1lKHZpZXcsICJi
dXR0b25fcmVsZWFzZV9ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOworICAgIH0KKworICAg
IGxhc3RDbGlja1Bvc2l0aW9uWCA9IGxhc3RNb3VzZVBvc2l0aW9uWDsKKyAgICBsYXN0Q2xpY2tQ
b3NpdGlvblkgPSBsYXN0TW91c2VQb3NpdGlvblk7CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VV
bmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIG1vdXNlTW92ZVRvQ2Fs
bGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVj
dFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBh
cmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENv
dW50IDwgMikKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOwor
CisgICAgbGFzdE1vdXNlUG9zaXRpb25YID0gKGludClKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwg
YXJndW1lbnRzWzBdLCBleGNlcHRpb24pOworICAgIEFTU0VSVCghZXhjZXB0aW9uIHx8ICEqZXhj
ZXB0aW9uKTsKKyAgICBsYXN0TW91c2VQb3NpdGlvblkgPSAoaW50KUpTVmFsdWVUb051bWJlcihj
b250ZXh0LCBhcmd1bWVudHNbMV0sIGV4Y2VwdGlvbik7CisgICAgQVNTRVJUKCFleGNlcHRpb24g
fHwgISpleGNlcHRpb24pOworCisgICAgR2RrRXZlbnQgZXZlbnQ7CisgICAgZXZlbnQudHlwZSA9
IEdES19NT1RJT05fTk9USUZZOworICAgIGV2ZW50Lm1vdGlvbi54ID0gbGFzdE1vdXNlUG9zaXRp
b25YOworICAgIGV2ZW50Lm1vdGlvbi55ID0gbGFzdE1vdXNlUG9zaXRpb25ZOworICAgIGV2ZW50
Lm1vdGlvbi50aW1lID0gR0RLX0NVUlJFTlRfVElNRTsKKworICAgIGlmIChkcmFnTW9kZSAmJiBk
b3duICYmICFyZXBsYXlpbmdTYXZlZEV2ZW50cykgeworICAgICAgICBtc2dRdWV1ZVtlbmRPZlF1
ZXVlXS5ldmVudCA9IGV2ZW50OworICAgICAgICBtc2dRdWV1ZVtlbmRPZlF1ZXVlKytdLmlzRHJh
Z0V2ZW50ID0gdHJ1ZTsKKyAgICB9IGVsc2UgeworICAgICAgICB3ZWJraXRfd2ViX2ZyYW1lX2xh
eW91dChtYWluRnJhbWUpOworICAgICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dl
Yl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsKKyAgICAgICAgQVNTRVJUKHZpZXcpOwor
CisgICAgICAgIGdib29sZWFuIHJldHVybl92YWw7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlf
bmFtZSh2aWV3LCAibW90aW9uX25vdGlmeV9ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOwor
ICAgIH0KKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKwor
c3RhdGljIEpTVmFsdWVSZWYgYmVnaW5EcmFnV2l0aEZpbGVzQ2FsbGJhY2soSlNDb250ZXh0UmVm
IGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBz
aXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1
ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGlmIChhcmd1bWVudENvdW50IDwgMSkKKyAgICAgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgLy8gRklYTUU6IElt
cGxlbWVudCB0aGlzIGNvbXBsZXRlbHkgb25jZSBXZWJDb3JlIGhhcyBjb21wbGV0ZSBkcmFnIGFu
ZCBkcm9wIHN1cHBvcnQKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7
Cit9CisKK3ZvaWQgcmVwbGF5U2F2ZWRFdmVudHMoKQoreworICAgIC8vIEZJWE1FOiBUaGlzIGRv
ZXNuJ3QgZGVhbCB3aXRoIGZvcndhcmQgbGVhcHMsIGJ1dCBpdCBzaG91bGQuCisKKyAgICBXZWJL
aXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1l
KTsKKyAgICBBU1NFUlQodmlldyk7CisKKyAgICByZXBsYXlpbmdTYXZlZEV2ZW50cyA9IHRydWU7
CisKKyAgICBmb3IgKHVuc2lnbmVkIHF1ZXVlUG9zID0gMDsgcXVldWVQb3MgPCBlbmRPZlF1ZXVl
OyBxdWV1ZVBvcysrKSB7CisgICAgICAgIEdka0V2ZW50IGV2ZW50ID0gbXNnUXVldWVbcXVldWVQ
b3NdLmV2ZW50OworICAgICAgICBnYm9vbGVhbiByZXR1cm5fdmFsOworCisgICAgICAgIHN3aXRj
aCAoZXZlbnQudHlwZSkgeworICAgICAgICBjYXNlIEdES19CVVRUT05fUkVMRUFTRToKKyAgICAg
ICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3JlbGVhc2VfZXZlbnQi
LCAmZXZlbnQsICZyZXR1cm5fdmFsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNl
IEdES19CVVRUT05fUFJFU1M6CisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmll
dywgImJ1dHRvbl9wcmVzc19ldmVudCIsICZldmVudCwgJnJldHVybl92YWwpOworICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0RLX01PVElPTl9OT1RJRlk6CisgICAgICAgICAgICBn
X3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgIm1vdGlvbl9ub3RpZnlfZXZlbnQiLCAmZXZlbnQs
ICZyZXR1cm5fdmFsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICBkZWZhdWx0OgorICAg
ICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBzdGFydE9mUXVldWUrKzsK
KyAgICB9CisKKyAgICBpbnQgbnVtUXVldWVkTWVzc2FnZXMgPSBlbmRPZlF1ZXVlIC0gc3RhcnRP
ZlF1ZXVlOworICAgIGlmICghbnVtUXVldWVkTWVzc2FnZXMpIHsKKyAgICAgICAgc3RhcnRPZlF1
ZXVlID0gMDsKKyAgICAgICAgZW5kT2ZRdWV1ZSA9IDA7CisgICAgICAgIHJlcGxheWluZ1NhdmVk
RXZlbnRzID0gZmFsc2U7CisgICAgICAgIEFTU0VSVCghZG93bik7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBzdGFydE9mUXVldWUgPSAwOworICAgIGVuZE9mUXVldWUgPSAwOworCisg
ICAgcmVwbGF5aW5nU2F2ZWRFdmVudHMgPSBmYWxzZTsKK30KKworc3RhdGljIEpTVmFsdWVSZWYg
a2V5RG93bkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlv
biwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpT
VmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAo
YXJndW1lbnRDb3VudCA8IDEpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChj
b250ZXh0KTsKKworICAgIHN0YXRpYyBjb25zdCBKU1N0cmluZ1JlZiBsZW5ndGhQcm9wZXJ0eSA9
IEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsZW5ndGgiKTsKKworICAgIFdlYktpdFdl
YlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJhbWUpOwor
ICAgIEFTU0VSVCh2aWV3KTsKKworICAgIHdlYmtpdF93ZWJfZnJhbWVfbGF5b3V0KG1haW5GcmFt
ZSk7CisKKyAgICAvLyBoYW5kbGUgbW9kaWZpZXIga2V5cy4KKyAgICBpbnQgc3RhdGUgPSAwOwor
ICAgIGlmIChhcmd1bWVudENvdW50ID4gMSkgeworICAgICAgICBKU09iamVjdFJlZiBtb2RpZmll
cnNBcnJheSA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBhcmd1bWVudHNbMV0sIGV4Y2VwdGlv
bik7CisgICAgICAgIGlmIChtb2RpZmllcnNBcnJheSkgeworICAgICAgICAgICAgaW50IG1vZGlm
aWVyc0NvdW50ID0gSlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIEpTT2JqZWN0R2V0UHJvcGVydHko
Y29udGV4dCwgbW9kaWZpZXJzQXJyYXksIGxlbmd0aFByb3BlcnR5LCAwKSwgMCk7CisgICAgICAg
ICAgICBmb3IgKGludCBpID0gMDsgaSA8IG1vZGlmaWVyc0NvdW50OyArK2kpIHsKKyAgICAgICAg
ICAgICAgICBKU1ZhbHVlUmVmIHZhbHVlID0gSlNPYmplY3RHZXRQcm9wZXJ0eUF0SW5kZXgoY29u
dGV4dCwgbW9kaWZpZXJzQXJyYXksIGksIDApOworICAgICAgICAgICAgICAgIEpTU3RyaW5nUmVm
IHN0cmluZyA9IEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4dCwgdmFsdWUsIDApOworICAgICAg
ICAgICAgICAgIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKHN0cmluZywgImN0cmxL
ZXkiKSkKKyAgICAgICAgICAgICAgICAgICAgc3RhdGUgfD0gR0RLX0NPTlRST0xfTUFTSzsKKyAg
ICAgICAgICAgICAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKHN0cmlu
ZywgInNoaWZ0S2V5IikpCisgICAgICAgICAgICAgICAgICAgIHN0YXRlIHw9IEdES19TSElGVF9N
QVNLOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJp
bmcoc3RyaW5nLCAiYWx0S2V5IikpCisgICAgICAgICAgICAgICAgICAgIHN0YXRlIHw9IEdES19N
T0QxX01BU0s7CisKKyAgICAgICAgICAgICAgICBKU1N0cmluZ1JlbGVhc2Uoc3RyaW5nKTsKKyAg
ICAgICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIEpTU3RyaW5nUmVmIGNoYXJhY3Rl
ciA9IEpTVmFsdWVUb1N0cmluZ0NvcHkoY29udGV4dCwgYXJndW1lbnRzWzBdLCBleGNlcHRpb24p
OworICAgIEFTU0VSVCghKmV4Y2VwdGlvbik7CisKKyAgICBpbnQgZ2RrS2V5U3ltOworICAgIGlm
IChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgImxlZnRBcnJvdyIpKQor
ICAgICAgICBnZGtLZXlTeW0gPSBHREtfTGVmdDsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1
YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgInJpZ2h0QXJyb3ciKSkKKyAgICAgICAgZ2RrS2V5
U3ltID0gR0RLX1JpZ2h0OworICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJp
bmcoY2hhcmFjdGVyLCAidXBBcnJvdyIpKQorICAgICAgICBnZGtLZXlTeW0gPSBHREtfVXA7Cisg
ICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJkb3du
QXJyb3ciKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX0Rvd247CisgICAgZWxzZSBpZiAoSlNT
dHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJwYWdlVXAiKSkKKyAgICAgICAg
Z2RrS2V5U3ltID0gR0RLX1BhZ2VfVXA7CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9V
VEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJwYWdlRG93biIpKQorICAgICAgICBnZGtLZXlTeW0gPSBH
REtfUGFnZV9Eb3duOworICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmco
Y2hhcmFjdGVyLCAiaG9tZSIpKQorICAgICAgICBnZGtLZXlTeW0gPSBHREtfSG9tZTsKKyAgICBl
bHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgImVuZCIpKQor
ICAgICAgICBnZGtLZXlTeW0gPSBHREtfRW5kOworICAgIGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVh
bFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAiZGVsZXRlIikpCisgICAgICAgIGdka0tleVN5bSA9
IEdES19CYWNrU3BhY2U7CisgICAgZWxzZSB7CisgICAgICAgIGludCBjaGFyQ29kZSA9IEpTU3Ry
aW5nR2V0Q2hhcmFjdGVyc1B0cihjaGFyYWN0ZXIpWzBdOworICAgICAgICBpZiAoY2hhckNvZGUg
PT0gJ1xuJykKKyAgICAgICAgICAgIGdka0tleVN5bSA9IEdES19SZXR1cm47CisgICAgICAgIGVs
c2UgeworICAgICAgICAgICAgZ2RrS2V5U3ltID0gZ2RrX3VuaWNvZGVfdG9fa2V5dmFsKGNoYXJD
b2RlKTsKKyAgICAgICAgICAgIGlmIChXVEY6OmlzQVNDSUlVcHBlcihjaGFyQ29kZSkpCisgICAg
ICAgICAgICAgICAgc3RhdGUgfD0gR0RLX1NISUZUX01BU0s7CisgICAgICAgIH0KKyAgICB9CisK
KyAgICBKU1N0cmluZ1JlbGVhc2UoY2hhcmFjdGVyKTsKKworICAgIC8vIGNyZWF0ZSBhbmQgc2Vu
ZCB0aGUgZXZlbnQKKyAgICBnYm9vbGVhbiByZXR1cm5fdmFsOworICAgIEdka0V2ZW50IGV2ZW50
OworICAgIG1lbXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOworICAgIGV2ZW50LmtleS5r
ZXl2YWwgPSBnZGtLZXlTeW07CisgICAgZXZlbnQua2V5LnN0YXRlID0gc3RhdGU7CisKKyAgICBl
dmVudC5rZXkudHlwZSA9IEdES19LRVlfUFJFU1M7CisgICAgZ19zaWduYWxfZW1pdF9ieV9uYW1l
KHZpZXcsICJrZXktcHJlc3MtZXZlbnQiLCAmZXZlbnQua2V5LCAmcmV0dXJuX3ZhbCk7CisKKyAg
ICBldmVudC5rZXkudHlwZSA9IEdES19LRVlfUkVMRUFTRTsKKyAgICBnX3NpZ25hbF9lbWl0X2J5
X25hbWUodmlldywgImtleS1yZWxlYXNlLWV2ZW50IiwgJmV2ZW50LmtleSwgJnJldHVybl92YWwp
OworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0
aWMgSlNWYWx1ZVJlZiB0ZXh0Wm9vbUluQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1l
bnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQoreworICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93
ZWJfdmlldyhtYWluRnJhbWUpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpTVmFs
dWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgZ2Zsb2F0IGN1cnJlbnRab29tID0gd2Vi
a2l0X3dlYl92aWV3X2dldF96b29tX2xldmVsKHZpZXcpOworICAgIHdlYmtpdF93ZWJfdmlld19z
ZXRfem9vbV9sZXZlbCh2aWV3LCBjdXJyZW50Wm9vbSAqIHpvb21NdWx0aXBsaWVyUmF0aW8pOwor
CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMg
SlNWYWx1ZVJlZiB0ZXh0Wm9vbU91dENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09i
amVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50
Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlv
bikKK3sKKyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2Vi
X3ZpZXcobWFpbkZyYW1lKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIGdmbG9hdCBjdXJyZW50Wm9vbSA9IHdlYmtp
dF93ZWJfdmlld19nZXRfem9vbV9sZXZlbCh2aWV3KTsKKyAgICB3ZWJraXRfd2ViX3ZpZXdfc2V0
X3pvb21fbGV2ZWwodmlldywgY3VycmVudFpvb20gLyB6b29tTXVsdGlwbGllclJhdGlvKTsKKwor
ICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworc3RhdGljIEpT
VmFsdWVSZWYgem9vbVBhZ2VJbkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVj
dFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291
bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikK
K3sKKyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3Zp
ZXcobWFpbkZyYW1lKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFr
ZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIHdlYmtpdF93ZWJfdmlld196b29tX2luKHZpZXcp
OworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKK30KKworc3RhdGlj
IEpTVmFsdWVSZWYgem9vbVBhZ2VPdXRDYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNP
YmplY3RSZWYgZnVuY3Rpb24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVu
dENvdW50LCBjb25zdCBKU1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRp
b24pCit7CisgICAgV2ViS2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dl
Yl92aWV3KG1haW5GcmFtZSk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gSlNWYWx1
ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7CisKKyAgICB3ZWJraXRfd2ViX3ZpZXdfem9vbV9vdXQo
dmlldyk7CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitz
dGF0aWMgSlNTdGF0aWNGdW5jdGlvbiBzdGF0aWNGdW5jdGlvbnNbXSA9IHsKKyAgICB7ICJjb250
ZXh0Q2xpY2siLCBjb250ZXh0Q2xpY2tDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFk
T25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgIm1vdXNlRG93
biIsIG1vdXNlRG93bkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pT
UHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAibW91c2VVcCIsIG1vdXNlVXBD
YWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmli
dXRlRG9udERlbGV0ZSB9LAorICAgIHsgIm1vdXNlTW92ZVRvIiwgbW91c2VNb3ZlVG9DYWxsYmFj
aywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9u
dERlbGV0ZSB9LAorICAgIHsgImJlZ2luRHJhZ1dpdGhGaWxlcyIsIGJlZ2luRHJhZ1dpdGhGaWxl
c0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRy
aWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAibGVhcEZvcndhcmQiLCBsZWFwRm9yd2FyZENhbGxi
YWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVE
b250RGVsZXRlIH0sCisgICAgeyAia2V5RG93biIsIGtleURvd25DYWxsYmFjaywga0pTUHJvcGVy
dHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAor
ICAgIHsgInRleHRab29tSW4iLCB0ZXh0Wm9vbUluQ2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmli
dXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJ0
ZXh0Wm9vbU91dCIsIHRleHRab29tT3V0Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVh
ZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJ6b29tUGFn
ZUluIiwgem9vbVBhZ2VJbkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwg
a0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAiem9vbVBhZ2VPdXQiLCB6
b29tUGFnZU91dENhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJv
cGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAwLCAwLCAwIH0KK307CisKK3N0YXRp
YyBKU1N0YXRpY1ZhbHVlIHN0YXRpY1ZhbHVlc1tdID0geworICAgIHsgImRyYWdNb2RlIiwgZ2V0
RHJhZ01vZGVDYWxsYmFjaywgc2V0RHJhZ01vZGVDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1
dGVOb25lIH0sCisgICAgeyAwLCAwLCAwLCAwIH0KK307CisKK3N0YXRpYyBKU0NsYXNzUmVmIGdl
dENsYXNzKEpTQ29udGV4dFJlZiBjb250ZXh0KQoreworICAgIHN0YXRpYyBKU0NsYXNzUmVmIGV2
ZW50U2VuZGVyQ2xhc3MgPSAwOworCisgICAgaWYgKCFldmVudFNlbmRlckNsYXNzKSB7CisgICAg
ICAgIEpTQ2xhc3NEZWZpbml0aW9uIGNsYXNzRGVmaW5pdGlvbiA9IHsKKyAgICAgICAgICAgICAg
ICAwLCAwLCAwLCAwLCAwLCAwLAorICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsIDAsIDAsIDAs
IDAsIDAsIDAsIDB9OworICAgICAgICBjbGFzc0RlZmluaXRpb24uc3RhdGljRnVuY3Rpb25zID0g
c3RhdGljRnVuY3Rpb25zOworICAgICAgICBjbGFzc0RlZmluaXRpb24uc3RhdGljVmFsdWVzID0g
c3RhdGljVmFsdWVzOworCisgICAgICAgIGV2ZW50U2VuZGVyQ2xhc3MgPSBKU0NsYXNzQ3JlYXRl
KCZjbGFzc0RlZmluaXRpb24pOworICAgIH0KKworICAgIHJldHVybiBldmVudFNlbmRlckNsYXNz
OworfQorCitKU09iamVjdFJlZiBtYWtlRXZlbnRTZW5kZXIoSlNDb250ZXh0UmVmIGNvbnRleHQp
Cit7CisgICAgZG93biA9IGZhbHNlOworICAgIGRyYWdNb2RlID0gdHJ1ZTsKKyAgICBsYXN0TW91
c2VQb3NpdGlvblggPSBsYXN0TW91c2VQb3NpdGlvblkgPSAwOworICAgIGxhc3RDbGlja1Bvc2l0
aW9uWCA9IGxhc3RDbGlja1Bvc2l0aW9uWSA9IDA7CisKKyAgICBpZiAoIXJlcGxheWluZ1NhdmVk
RXZlbnRzKSB7CisgICAgICAgIC8vIFRoaXMgZnVuY3Rpb24gY2FuIGJlIGNhbGxlZCBpbiB0aGUg
bWlkZGxlIG9mIGEgdGVzdCwgZXZlbgorICAgICAgICAvLyB3aGlsZSByZXBsYXlpbmcgc2F2ZWQg
ZXZlbnRzLiBSZXNldHRpbmcgdGhlc2Ugd2hpbGUgZG9pbmcgdGhhdAorICAgICAgICAvLyBjYW4g
YnJlYWsgdGhpbmdzLgorICAgICAgICBlbmRPZlF1ZXVlID0gMDsKKyAgICAgICAgc3RhcnRPZlF1
ZXVlID0gMDsKKyAgICB9CisKKyAgICByZXR1cm4gSlNPYmplY3RNYWtlKGNvbnRleHQsIGdldENs
YXNzKGNvbnRleHQpLCAwKTsKK30KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJU
cmVlL2d0ay9FdmVudFNlbmRlci5oIGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2
ZW50U2VuZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjcyZThhOQot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNl
bmRlci5oCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgQXBwbGUg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOSBIb2xnZXIg
SGFucyBQZXRlciBGcmV5dGhlcgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gIE5laXRoZXIgdGhl
IG5hbWUgb2YgQXBwbGUgQ29tcHV0ZXIsIEluYy4gKCJBcHBsZSIpIG5vciB0aGUgbmFtZXMgb2YK
KyAqICAgICBpdHMgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkCisgKiAgICAgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3Bl
Y2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgQU5EIElUUyBDT05UUklCVVRPUlMgIkFTIElTIiBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
CisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOworICogTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5ECisgKiBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GCisg
KiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgRXZlbnRTZW5kZXJfaAorI2RlZmluZSBFdmVudFNl
bmRlcl9oCisKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZUpTQ29udGV4dCogSlNDb250ZXh0
UmVmOwordHlwZWRlZiBzdHJ1Y3QgT3BhcXVlSlNWYWx1ZSogSlNPYmplY3RSZWY7CisKK0pTT2Jq
ZWN0UmVmIG1ha2VFdmVudFNlbmRlcihKU0NvbnRleHRSZWYgY29udGV4dCk7Cit2b2lkIHJlcGxh
eVNhdmVkRXZlbnRzKCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvR05VbWFr
ZWZpbGUuYW0gYi9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQppbmRleCA0ODdhNDc5Li5kYWY3
MDY4IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJLaXRU
b29scy9HTlVtYWtlZmlsZS5hbQpAQCAtNjAsNiArNjAsOCBAQCBQcm9ncmFtc19EdW1wUmVuZGVy
VHJlZV9TT1VSQ0VTID0gXAogCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50R3RrLmNwcCBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3Rr
L0R1bXBSZW5kZXJUcmVlLmNwcCBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1
bXBSZW5kZXJUcmVlR3RrLmggXAorCVdlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9FdmVu
dFNlbmRlci5oIFwKKwlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIu
Y3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvR0NDb250cm9sbGVyR3RrLmNw
cCBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0xheW91dFRlc3RDb250cm9sbGVy
R3RrLmNwcCBcCiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL1dvcmtRdWV1ZUl0ZW1H
dGsuY3BwCg==
</data>
<flag name="review"
          id="20371"
          type_id="1"
          status="-"
          setter="gustavo"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39303</attachid>
            <date>2009-09-09 14:43:10 -0700</date>
            <delta_ts>2009-09-09 15:10:08 -0700</delta_ts>
            <desc>Partial implementation of EventSender</desc>
            <filename>es-3-f.diff</filename>
            <type>text/plain</type>
            <size>48042</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiYjdiMWIzLi45ODQyNDYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMDktMDkt
MDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWlsLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBEdW1wUmVuZGVyVHJlZSBu
ZWVkcyBldmVudFNlbmRlciBvYmplY3QgYW5kIGltcGxlbWVudGF0aW9uCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNTk5MAorCisgICAgICAgIEVuYWJs
ZSBwbGVudHkgb2YgdGVzdHMgdGhhdCBub3cgcGFzcyB0aGFua3MgdG8gKG9ubHkpIHBhcnRpYWwK
KyAgICAgICAgRXZlbnRTZW5kZXIgaW1wbGVtZW50YXRpb24uCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ndGsvU2tpcHBlZDoKKwogMjAwOS0wOS0wOCAgT2xpdmVyIEh1bnQgIDxvbGl2ZXJAYXBwbGUu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE1hY2llaiBTdGFjaG93aWFrLgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1NraXBwZWQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9ndGsvU2tpcHBlZAppbmRleCBkMzA1MzZhLi42OThlZGFlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9ndGsvU2tpcHBlZAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
U2tpcHBlZApAQCAtNzMzLDcgKzczMyw2IEBAIGRvbS94aHRtbC9sZXZlbDMvY29yZS9ub2RlbG9v
a3VwcHJlZml4MTkueGh0bWwKICMgVGVzdHMgaW4gZWRpdGluZy8gZGlyZWN0b3J5CiAjICAgVGVz
dHMgZmFpbGluZwogZWRpdGluZy9kZWxldGluZy81NTQ2NzYzLmh0bWwKLWVkaXRpbmcvZGVsZXRp
bmcvNTcyOTY4MC5odG1sCiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1hbGwtdGV4dC1pbi10ZXh0
LWZpZWxkLWFzc2VydGlvbi5odG1sCiBlZGl0aW5nL2RlbGV0aW5nL2RlbGV0ZS1saWdhdHVyZS0w
MDEuaHRtbAogZWRpdGluZy9kZWxldGluZy9kZWxldGUtbGlnYXR1cmUtMDAyLmh0bWwKQEAgLTc1
OCw3ICs3NTcsNiBAQCBlZGl0aW5nL2V4ZWNDb21tYW5kL3VubGluay5odG1sCiBlZGl0aW5nL2lu
c2VydGluZy81OTk0NDgwLTIuaHRtbAogZWRpdGluZy9pbnNlcnRpbmcvaW5zZXJ0LXRoYWktY2hh
cmFjdGVycy0wMDEuaHRtbAogZWRpdGluZy9pbnNlcnRpbmcvc3BhY2UtYWZ0ZXItcmVtb3ZlZm9y
bWF0Lmh0bWwKLWVkaXRpbmcvaW5zZXJ0aW5nL3R5cGluZy10YWItZGVzaWdubW9kZS5odG1sCiBl
ZGl0aW5nL3Bhc3RlYm9hcmQvMTk2NDQtMS5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvMTk2NDQt
Mi5odG1sCiBlZGl0aW5nL3Bhc3RlYm9hcmQvNDc0NDAwOC5odG1sCkBAIC03NjcsNyArNzY1LDYg
QEAgZWRpdGluZy9wYXN0ZWJvYXJkLzUzNjg4MzMuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkLzU2
NjUyOTkuaHRtbAogZWRpdGluZy9wYXN0ZWJvYXJkLzU3NjE1MzAtMS5odG1sCiBlZGl0aW5nL3Bh
c3RlYm9hcmQvNTc4MDY5Ny0yLmh0bWwKLWVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWNyYXNoLmh0
bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9jb3B5LWluLXBhc3N3b3JkLWZpZWxkLmh0bWwKIGVkaXRp
bmcvcGFzdGVib2FyZC9jb3B5LXBhc3RlLWZsb2F0Lmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9k
cmFnLWltYWdlLWluLWFib3V0LWJsYW5rLWZyYW1lLmh0bWwKQEAgLTc3OSwxOSArNzc2LDEzIEBA
IGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0ZS1pbnRvLWFuY2hvci10ZXh0Lmh0bWwKIGVkaXRpbmcv
cGFzdGVib2FyZC9wYXN0ZS1wbGFpbnRleHQtdXNlci1zZWxlY3Qtbm9uZS5odG1sCiBlZGl0aW5n
L3Bhc3RlYm9hcmQvcGFzdGUtdGFibGUtMDAyLmh0bWwKIGVkaXRpbmcvcGFzdGVib2FyZC9wYXN0
ZS10ZXh0LTAxMy5odG1sCi1lZGl0aW5nL3NlbGVjdGlvbi81MjA5OTg0Lmh0bWwKIGVkaXRpbmcv
c2VsZWN0aW9uL2FmdGVyLWxpbmUtYnJlYWsuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24vYW5jaG9y
LWZvY3VzMS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi9hbmNob3ItZm9jdXMyLmh0bWwKIGVkaXRp
bmcvc2VsZWN0aW9uL2FuY2hvci1mb2N1czMuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vY2xpY2st
YWZ0ZXItbmVzdGVkLWJsb2NrLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWJlZm9yZS1h
bmQtYWZ0ZXItdGFibGUuaHRtbAogZWRpdGluZy9zZWxlY3Rpb24vY2xpY2staW4tbWFyZ2lucy1p
bnNpZGUtZWRpdGFibGUtZGl2Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2NsaWNrLWluLXBhZGRp
bmctd2l0aC1tdWx0aXBsZS1saW5lLWJveGVzLmh0bWwKLWVkaXRpbmcvc2VsZWN0aW9uL2NsaWNr
LW91dHNpZGUtZWRpdGFibGUtZGl2Lmh0bWwKLWVkaXRpbmcvc2VsZWN0aW9uL2NyYXNoLW9uLWRy
YWctd2l0aC1tdXRhdGlvbi1ldmVudHMuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vZG91YmxlY2xp
Y2std2hpdGVzcGFjZS1jcmFzaC5odG1sCi1lZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay13
aGl0ZXNwYWNlLWltZy1jcmFzaC5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi9kb3VibGVjbGljay13
aGl0ZXNwYWNlLmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uL2RyYWctdGV4dC1kZWxheS5odG1sCiBl
ZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLmh0bWwKQEAgLTEzNDQsNyArMTMzNSw2
IEBAIGVkaXRpbmcvc2VsZWN0aW9uLzUxMzE3MTYtNC5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81
MTM2Njk2Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzUxOTUxNjYtMS5odG1sCiBlZGl0aW5nL3Nl
bGVjdGlvbi81MTk1MTY2LTIuaHRtbAotZWRpdGluZy9zZWxlY3Rpb24vNTIxMzk2My5odG1sCiBl
ZGl0aW5nL3NlbGVjdGlvbi81MjMyMTU5Lmh0bWwKIGVkaXRpbmcvc2VsZWN0aW9uLzUyMzQzODMt
MS5odG1sCiBlZGl0aW5nL3NlbGVjdGlvbi81MjM0MzgzLTIuaHRtbApAQCAtMTU1OCwxMyArMTU0
OCwxMSBAQCBmYXN0L2NhbnZhcy9jYW52YXMtem9vbS5odG1sCiBmYXN0L2NhbnZhcy9wb2ludElu
UGF0aC5odG1sCiBmYXN0L2NhbnZhcy9zZXQtY29sb3JzLmh0bWwKIGZhc3QvY2FudmFzL3RvRGF0
YVVSTC1zdXBwb3J0ZWRUeXBlcy5odG1sCi1mYXN0L2Nzcy9ob3Zlci1hZmZlY3RzLWNoaWxkLmh0
bWwKIGZhc3QvY3NzL2ludmFsaWQtcGVyY2VudGFnZS1wcm9wZXJ0eS5odG1sCiBmYXN0L2Nzcy90
ZXh0LWFsaWduLmh0bWwKIGZhc3QvY3NzL3pvb20tYm9keS1zY3JvbGwuaHRtbAogZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLmh0bWwKIGZh
c3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUuaHRtbAotZmFzdC9jc3MvcmVz
aXplLXNpbmdsZS1heGlzLmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQtcXVpcmtz
Lmh0bWwKIGZhc3QvZG9tL2NsaWVudC13aWR0aC1oZWlnaHQuaHRtbAogZmFzdC9kb20vY3NzVGFy
Z2V0LWNyYXNoLmh0bWwKQEAgLTE1ODYsNyArMTU3NCw2IEBAIGZhc3QvZG9tL1dpbmRvdy93aW5k
b3ctb25Gb2N1cy5odG1sCiBmYXN0L2RvbS9XaW5kb3cvd2luZG93LXJlc2l6ZS1hbmQtbW92ZS1h
cmd1bWVudHMuaHRtbAogZmFzdC9kb20vV2luZG93L3dpbmRvdy1yZXNpemUuaHRtbAogZmFzdC9k
b20vV2luZG93L3dpbmRvdy14eS1wcm9wZXJ0aWVzLmh0bWwKLWZhc3QvZHluYW1pYy9ob3ZlcmVk
LWRldGFjaC5odG1sCiBmYXN0L2R5bmFtaWMvcGF1c2VkLWV2ZW50LWRpc3BhdGNoLmh0bWwKIGZh
c3QvZHluYW1pYy93aW5kb3ctcmVzaXplLXNjcm9sbGJhcnMtdGVzdC5odG1sCiBmYXN0L2R5bmFt
aWMvd2luZG93LXNjcm9sbGJhcnMtdGVzdC5odG1sCkBAIC0xNTk0LDE1NiArMTU4MSw4NiBAQCBm
YXN0L2VuY29kaW5nL2NoYXItZGVjb2RpbmctbWFjLmh0bWwKIGZhc3QvZW5jb2RpbmcvY2hhci1k
ZWNvZGluZy5odG1sCiBmYXN0L2VuY29kaW5nL2lkbi1zZWN1cml0eS5odG1sCiBmYXN0L2VuY29k
aW5nL21haWx0by1hbHdheXMtdXRmLTguaHRtbAotZmFzdC9ldmVudHMvYWNjZXNzLWtleS1zZWxm
LWRlc3RydWN0Lmh0bWwKLWZhc3QvZXZlbnRzL2FuY2hvci1lbXB0eS1mb2N1cy5odG1sCi1mYXN0
L2V2ZW50cy9hbmNob3ItaW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKLWZhc3QvZXZlbnRzL2Fycm93
LWtleXMtb24tYm9keS5odG1sCi1mYXN0L2V2ZW50cy9hcnJvdy1uYXZpZ2F0aW9uLmh0bWwKIGZh
c3QvZXZlbnRzL2F0dGVtcHQtc2Nyb2xsLXdpdGgtbm8tc2Nyb2xsYmFycy5odG1sCiBmYXN0L2V2
ZW50cy9hdXRvc2Nyb2xsLWluLXRleHRmaWVsZC5odG1sCiBmYXN0L2V2ZW50cy9hdXRvc2Nyb2xs
LW5vbnNjcm9sbGFibGUtaWZyYW1lLWluLXNjcm9sbGFibGUtZGl2Lmh0bWwKIGZhc3QvZXZlbnRz
L2F1dG9zY3JvbGwtd2l0aC1ub24tc2Nyb2xsYWJsZS1wYXJlbnQuaHRtbAotZmFzdC9ldmVudHMv
Y2FwdHVyZS1vbi10YXJnZXQuaHRtbAogZmFzdC9ldmVudHMvY2xpY2stY291bnQuaHRtbAogZmFz
dC9ldmVudHMvY29udGVudC1jaGFuZ2VkLWR1cmluZy1kcm9wLmh0bWwKIGZhc3QvZXZlbnRzL2Nv
bnRleHQtb25tb3VzZWRvd24tZXZlbnQuaHRtbAotZmFzdC9ldmVudHMvY29udGV4dG1lbnUtc2Ny
b2xsZWQtcGFnZS13aXRoLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL2NyYXNoLW9uLW11dGF0ZS1k
dXJpbmctZHJvcC5odG1sCiBmYXN0L2V2ZW50cy9kYmxjbGljay1hZGRFdmVudExpc3RlbmVyLmh0
bWwKIGZhc3QvZXZlbnRzL2RyYWctaW4tZnJhbWVzLmh0bWwKLWZhc3QvZXZlbnRzL2RyYWctb3V0
c2lkZS13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvZXZlbnQtdmlldy10b1N0cmluZy5odG1sCi1m
YXN0L2V2ZW50cy9mcmFtZS1jbGljay1mb2N1cy5odG1sCiBmYXN0L2V2ZW50cy9mcmFtZS10YWIt
Zm9jdXMuaHRtbAotZmFzdC9ldmVudHMvaW5wdXQtaW1hZ2Utc2Nyb2xsZWQteC15Lmh0bWwKIGZh
c3QvZXZlbnRzL2pzLWtleWJvYXJkLWV2ZW50LWNyZWF0aW9uLmh0bWwKIGZhc3QvZXZlbnRzL2tl
eS1ldmVudHMtaW4taW5wdXQtYnV0dG9uLmh0bWwKIGZhc3QvZXZlbnRzL2tleS1ldmVudHMtaW4t
aW5wdXQtdGV4dC5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNzLWZvY3VzLWNoYW5n
ZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3duLWtleXByZXNzLXByZXZlbnREZWZhdWx0Lmh0bWwK
LWZhc3QvZXZlbnRzL2tleWRvd24tcmVtb3ZlLWZyYW1lLmh0bWwKIGZhc3QvZXZlbnRzL2tleXBy
ZXNzLWZvY3VzLWNoYW5nZS5odG1sCi1mYXN0L2V2ZW50cy9rZXlwcmVzcy1pbnNlcnQtdGFiLmh0
bWwKLWZhc3QvZXZlbnRzL2tleXByZXNzLXJlbW92ZWQtbm9kZS5odG1sCiBmYXN0L2V2ZW50cy9t
b3VzZS1jbGljay1ldmVudHMuaHRtbAotZmFzdC9ldmVudHMvbW91c2UtZHJhZy1mcm9tLWZyYW1l
LXRvLW90aGVyLWZyYW1lLmh0bWwKLWZhc3QvZXZlbnRzL21vdXNlLWRyYWctZnJvbS1mcmFtZS5o
dG1sCiBmYXN0L2V2ZW50cy9tb3VzZWNsaWNrLXRhcmdldC1hbmQtcG9zaXRpb25pbmcuaHRtbAot
ZmFzdC9ldmVudHMvbW91c2Vtb3ZlLWFmdGVyLWRyYWctb3Zlci1zY3JvbGxiYXIuaHRtbAotZmFz
dC9ldmVudHMvbW91c2VvdXQtZGVhZC1zdWJmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9tb3VzZW91
dC1vbi13aW5kb3cuaHRtbAotZmFzdC9ldmVudHMvbW91c2VvdmVyLW1vdXNlb3V0Mi5odG1sCi1m
YXN0L2V2ZW50cy9tb3VzZW92ZXItbW91c2VvdXQuaHRtbAogZmFzdC9ldmVudHMvbW91c2V1cC1m
cm9tLWJ1dHRvbjIuaHRtbAotZmFzdC9ldmVudHMvbW91c2V1cC1vdXRzaWRlLWRvY3VtZW50Lmh0
bWwKIGZhc3QvZXZlbnRzL29mZnNldFgtb2Zmc2V0WS5odG1sCi1mYXN0L2V2ZW50cy9vbmNoYW5n
ZS1jbGljay1oYW5nLmh0bWwKIGZhc3QvZXZlbnRzL29uY2hhbmdlLXBhc3N3b3JkZmllbGQuaHRt
bAogZmFzdC9ldmVudHMvb25jaGFuZ2Utc2VhcmNoZmllbGQuaHRtbAotZmFzdC9ldmVudHMvb25j
aGFuZ2Utc2VsZWN0LXBvcHVwLmh0bWwKIGZhc3QvZXZlbnRzL29uY2hhbmdlLXRleHRmaWVsZC5o
dG1sCi1mYXN0L2V2ZW50cy9vbmNsaWNrLWxpc3QtbWFya2VyLmh0bWwKIGZhc3QvZXZlbnRzL29u
ZHJhZ2VudGVyLmh0bWwKIGZhc3QvZXZlbnRzL29uc2VhcmNoLWVudGVyLmh0bWwKIGZhc3QvZXZl
bnRzL29udW5sb2FkLWNsZWFycy1vbmJlZm9yZXVubG9hZC5odG1sCiBmYXN0L2V2ZW50cy9vbnVu
bG9hZC1ub3Qtb24tYm9keS5odG1sCiBmYXN0L2V2ZW50cy9vbnVubG9hZC5odG1sCi1mYXN0L2V2
ZW50cy9vcGVuLXdpbmRvdy1mcm9tLWFub3RoZXItZnJhbWUuaHRtbAogZmFzdC9ldmVudHMvb3B0
aW9uLXRhYi5odG1sCiBmYXN0L2V2ZW50cy9wb2ludGVyLWV2ZW50cy0yLmh0bWwKLWZhc3QvZXZl
bnRzL3BvaW50ZXItZXZlbnRzLmh0bWwKIGZhc3QvZXZlbnRzL3BvcHVwLWJsb2NraW5nLWNsaWNr
LWluLWlmcmFtZS5odG1sCi1mYXN0L2V2ZW50cy9yZWxhdGVkLXRhcmdldC5odG1sCiBmYXN0L2V2
ZW50cy9yaWdodC1jbGljay1mb2N1cy5odG1sCi1mYXN0L2V2ZW50cy9zY3JvbGwtdG8tYW5jaG9y
LWluLW92ZXJmbG93LWhpZGRlbi5odG1sCiBmYXN0L2V2ZW50cy9zY3JvbGxiYXItZG91YmxlLWNs
aWNrLmh0bWwKLWZhc3QvZXZlbnRzL3NlbGVjdHN0YXJ0LWR1cmluZy1hdXRvc2Nyb2xsLmh0bWwK
LWZhc3QvZXZlbnRzL3NoYWRvdy1ib3VuZGFyeS1jcm9zc2luZy5odG1sCi1mYXN0L2V2ZW50cy9z
cGFjZS1zY3JvbGwtZXZlbnQuaHRtbAogZmFzdC9ldmVudHMvc3BlY2lhbC1rZXktZXZlbnRzLWlu
LWlucHV0LXRleHQuaHRtbAogZmFzdC9ldmVudHMvc3RvcC1sb2FkLWluLXVubG9hZC1oYW5kbGVy
LXVzaW5nLWRvY3VtZW50LXdyaXRlLmh0bWwKIGZhc3QvZXZlbnRzL3N0b3AtbG9hZC1pbi11bmxv
YWQtaGFuZGxlci11c2luZy13aW5kb3ctc3RvcC5odG1sCiBmYXN0L2V2ZW50cy90YWJpbmRleC1m
b2N1cy1ibHVyLWFsbC5odG1sCiBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1jaGFpbi5odG1s
Ci1mYXN0L2V2ZW50cy93aW5kb3ctZXZlbnRzLWJ1YmJsZTIuaHRtbAotZmFzdC9ldmVudHMvd2lu
ZG93LWV2ZW50cy1idWJibGUuaHRtbAotZmFzdC9ldmVudHMvd2luZG93LWV2ZW50cy1jYXB0dXJl
Lmh0bWwKLWZhc3QvZm9ybXMvMjUxNTMuaHRtbAotZmFzdC9mb3Jtcy9hY2Nlc3Mta2V5Lmh0bWwK
LWZhc3QvZm9ybXMvYnV0dG9uLWVudGVyLWNsaWNrLmh0bWwKLWZhc3QvZm9ybXMvYnV0dG9uLXNw
YWNlYmFyLWNsaWNrLmh0bWwKIGZhc3QvZm9ybXMvYnV0dG9uLXN0YXRlLXJlc3RvcmUuaHRtbAot
ZmFzdC9mb3Jtcy9jaGVjay1ib3gtZW50ZXIta2V5Lmh0bWwKLWZhc3QvZm9ybXMvZGlzcGxheS1u
b25lLWluLW9uY2hhbmdlLWtleWJvYXJkLmh0bWwKIGZhc3QvZm9ybXMvZHJhZy1pbnRvLXRleHRh
cmVhLmh0bWwKIGZhc3QvZm9ybXMvZHJhZy1vdXQtb2YtdGV4dGFyZWEuaHRtbAotZmFzdC9mb3Jt
cy9lbnRlci1jbGlja3MtYnV0dG9ucy5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzMi5odG1sCiBmYXN0
L2Zvcm1zL2ZvY3VzLWNvbnRyb2wtdG8tcGFnZS5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzLXNlbGVj
dGlvbi1pbnB1dC5odG1sCiBmYXN0L2Zvcm1zL2ZvY3VzLXNlbGVjdGlvbi10ZXh0YXJlYS5odG1s
CiBmYXN0L2Zvcm1zL2dldC1maWxlLXVwbG9hZC5odG1sCi1mYXN0L2Zvcm1zL2lucHV0LXJhZGlv
LWNoZWNrZWQtdGFiLmh0bWwKLWZhc3QvZm9ybXMvaW5wdXQtc2VsZWN0LW9uLWNsaWNrLmh0bWwK
LWZhc3QvZm9ybXMvaW5wdXQtdHlwZS1jaGFuZ2UtaW4tb25mb2N1cy1rZXlib2FyZC5odG1sCi1m
YXN0L2Zvcm1zL2lucHV0LXR5cGUtY2hhbmdlLWluLW9uZm9jdXMtbW91c2UuaHRtbAogZmFzdC9m
b3Jtcy9sZWdlbmQtYWNjZXNzLWtleS5odG1sCiBmYXN0L2Zvcm1zL2xpc3Rib3gtb25jaGFuZ2Uu
aHRtbAogZmFzdC9mb3Jtcy9saXN0Ym94LXNlbGVjdGlvbi5odG1sCi1mYXN0L2Zvcm1zL2xpc3Ri
b3gtdHlwZWFoZWFkLWVtcHR5Lmh0bWwKLWZhc3QvZm9ybXMvbGlzdGJveC10eXBlYWhlYWQtc2Ny
b2xsLmh0bWwKIGZhc3QvZm9ybXMvb25jaGFuZ2UtZW50ZXItc3VibWl0Lmh0bWwKIGZhc3QvZm9y
bXMvb25zZWxlY3QtdGV4dGFyZWEuaHRtbAogZmFzdC9mb3Jtcy9vbnNlbGVjdC10ZXh0ZmllbGQu
aHRtbAogZmFzdC9mb3Jtcy9vcHRpb24tbW91c2VldmVudHMuaHRtbAogZmFzdC9mb3Jtcy9wYXNz
d29yZC1kb3VibGVjbGljay1zZWxlY3Rpb24uaHRtbAogZmFzdC9mb3Jtcy9wbGFpbnRleHQtbW9k
ZS0xLmh0bWwKLWZhc3QvZm9ybXMvcmFkaW8tY2hlY2stY2xpY2stYW5kLWRyYWcuaHRtbAotZmFz
dC9mb3Jtcy9yYWRpb19jaGVja2VkX25hbWUuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtYWJzLXBv
cy1jYW5jZWwtYnV0dG9uLmh0bWwKLWZhc3QvZm9ybXMvc2VhcmNoLWNhbmNlbC1idXR0b24tbW91
c2V1cC5odG1sCi1mYXN0L2Zvcm1zL3NlYXJjaC1jbGljay1pbi1wbGFjZWhvbGRlci5odG1sCi1m
YXN0L2Zvcm1zL3NlYXJjaC1ldmVudC1kZWxheS5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaC1oaWRk
ZW4tY2FuY2VsLWJ1dHRvbi5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1hY2Nlc3NrZXkuaHRtbAot
ZmFzdC9mb3Jtcy9zZWxlY3QtY2FjaGUtZGVzeW5jaHJvbml6YXRpb24uaHRtbAogZmFzdC9mb3Jt
cy9zZWxlY3QtZGlydHktcGFyZW50LXByZWYtd2lkdGhzLmh0bWwKIGZhc3QvZm9ybXMvc2VsZWN0
LWRvdWJsZS1vbmNoYW5nZS5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1lbXB0eS1saXN0Lmh0bWwK
LWZhc3QvZm9ybXMvc2VsZWN0LWVudGVyLWtleS5odG1sCi1mYXN0L2Zvcm1zL3NlbGVjdC1wb3B1
cC1wYWdla2V5cy5odG1sCiBmYXN0L2Zvcm1zL3NlYXJjaC1zdHlsZWQuaHRtbAogZmFzdC9mb3Jt
cy9zZWxlY3Qtc2NyaXB0LW9uY2hhbmdlLmh0bWwKLWZhc3QvZm9ybXMvc2VsZWN0LXR5cGUtYWhl
YWQtbGlzdC1ib3gtbm8tc2VsZWN0aW9uLmh0bWwKLWZhc3QvZm9ybXMvc2VsZWN0LXR5cGUtYWhl
YWQtbm9uLWxhdGluLmh0bWwKIGZhc3QvZm9ybXMvc2xpZGVyLW1vdXNlLWV2ZW50cy5odG1sCiBm
YXN0L2Zvcm1zL3NsaWRlci1vbmNoYW5nZS1ldmVudC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci10
cmFuc2Zvcm1lZC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci16b29tZWQuaHRtbAogZmFzdC9mb3Jt
cy90ZXh0LWNvbnRyb2wtaW50cmluc2ljLXdpZHRocy5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVh
LWFycm93LW5hdmlnYXRpb24uaHRtbAotZmFzdC9mb3Jtcy90ZXh0YXJlYS1pbnB1dC1ldmVudC5o
dG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXBhc3RlLW5ld2xpbmUuaHRtbAogZmFzdC9mb3Jtcy90
ZXh0YXJlYS1wbGFjZWhvbGRlci1wc2V1ZG8tc3R5bGUuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJl
YS1wbGFjZWhvbGRlci1zZXQtYXR0cmlidXRlLmh0bWwKIGZhc3QvZm9ybXMvdGV4dGFyZWEtcGxh
Y2Vob2xkZXItc2V0LXZhbHVlLmh0bWwKLWZhc3QvZm9ybXMvdGV4dGFyZWEtc2Nyb2xsZWQtZW5k
bGluZS1jYXJldC5odG1sCi1mYXN0L2Zvcm1zL3RleHRhcmVhLXR5cGUtc3BhY2VzLmh0bWwKLWZh
c3QvZm9ybXMvdGV4dGZpZWxkLWluc2lkZS1hbmNob3IuaHRtbAogZmFzdC9mb3Jtcy90ZXh0Zmll
bGQtb25jaGFuZ2UtZGVsZXRpb24uaHRtbAotZmFzdC9mb3Jtcy90ZXh0ZmllbGQtdG8tcGFzc3dv
cmQtb24tZm9jdXMuaHRtbAogZmFzdC9mcmFtZXMvY29udGVudC1vcGFjaXR5LTEuaHRtbAogZmFz
dC9mcmFtZXMvY29udGVudC1vcGFjaXR5LTIuaHRtbAogZmFzdC9mcmFtZXMvZnJhbWUtZGVhZC1y
ZWdpb24uaHRtbAotZmFzdC9mcmFtZXMvZnJhbWUtZGVlcC1uZXN0ZWQtcmVzaXplLmh0bWwKIGZh
c3QvZnJhbWVzL2ZyYW1lLXVubG9hZC1jcmFzaC5odG1sCi1mYXN0L2ZyYW1lcy9ob3Zlci10aW1l
ci1jcmFzaC5odG1sCiBmYXN0L2ZyYW1lcy9pZnJhbWUtd2luZG93LWZvY3VzLmh0bWwKIGZhc3Qv
aGlzdG9yeS9oaXN0b3J5X3JlbG9hZC5odG1sCiBmYXN0L2hpc3Rvcnkvd2luZG93LW9wZW4uaHRt
bAogZmFzdC9odG1sL3RhYi1vcmRlci5odG1sCiBmYXN0L2h0bWwvdGV4dC1maWVsZC1pbnB1dC10
eXBlcy5odG1sCi1mYXN0L2xheWVycy9yZXNpemUtbGF5ZXItZGVsZXRpb24tY3Jhc2guaHRtbAog
ZmFzdC9sb2FkZXIvbWFpbi1kb2N1bWVudC11cmwtZm9yLW5vbi1odHRwLWxvYWRzLmh0bWwKIGZh
c3QvbG9hZGVyL29udW5sb2FkLWZvcm0tc3VibWl0LWNyYXNoLTIuaHRtbAogZmFzdC9sb2FkZXIv
b251bmxvYWQtZm9ybS1zdWJtaXQtY3Jhc2guaHRtbApAQCAtMTc1MSwxMiArMTY2OCw4IEBAIGZh
c3QvbG9hZGVyL3BvbGljeS1kZWxlZ2F0ZS1hY3Rpb24taGl0LXRlc3Qtem9vbWVkLmh0bWwKIGZh
c3QvbG9hZGVyL3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUuaHRtbAogZmFzdC9sb2FkZXIvc3RvcC1w
cm92aXNpb25hbC1sb2Fkcy5odG1sCiBmYXN0L2xvYWRpbmcvc3ViZnJhbWUtcmVtb3Zlcy1pdHNl
bGYuaHRtbAotZmFzdC9wYXJzZXIvdGFiaW5kZXgtcGFyc2luZy5odG1sCiBmYXN0L3JlZ2V4L3Rl
c3QxLmh0bWwKIGZhc3QvcmVnZXgvdGVzdDQuaHRtbAotZmFzdC9yZXBsYWNlZC9pbWFnZS1tYXAt
YnVnMTY3ODIuaHRtbAotZmFzdC9yZXBsYWNlZC9pbWFnZS1tYXAuaHRtbAotZmFzdC9yZXBsYWNl
ZC9pbWFnZS1tYXAtMi5odG1sCiBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LXRl
eHQtY29udHJvbHMuaHRtbAogZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC5odG1s
CiBmYXN0L3NlbGVjdG9ycy9sYW5nLWluaGVyaXRhbmNlMi5odG1sCkBAIC0yNjA5LDcgKzI1MjIs
NiBAQCBmYXN0L2Zvcm1zL2NvbnRyb2wtY2xpcC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL2Nv
bnRyb2wtY2xpcC5odG1sCiBmYXN0L2Zvcm1zL2NvbnRyb2wtcmVzdHJpY3QtbGluZS1oZWlnaHQu
aHRtbAogZmFzdC9mb3Jtcy9kaXNhYmxlZC1zZWxlY3QtY2hhbmdlLWluZGV4Lmh0bWwKLWZhc3Qv
Zm9ybXMvZW1wdHktdGV4dGFyZWEtdG9nZ2xlLWRpc2FibGVkLmh0bWwKIGZhc3QvZm9ybXMvZW5j
b2RpbmctdGVzdC5odG1sCiBmYXN0L2Zvcm1zL2ZpZWxkc2V0LWFsaWduLmh0bWwKIGZhc3QvZm9y
bXMvZmllbGRzZXQtd2l0aC1mbG9hdC5odG1sCkBAIC0yNzQwLDcgKzI2NTIsNiBAQCBmYXN0L2Zv
cm1zL3RleHRhcmVhLXNjcm9sbGJhci5odG1sCiBmYXN0L2Zvcm1zL3RleHRhcmVhLXNjcm9sbGVk
LXR5cGUuaHRtbAogZmFzdC9mb3Jtcy90ZXh0YXJlYS1zZXRpbm5lcmh0bWwuaHRtbAogZmFzdC9m
b3Jtcy90ZXh0YXJlYS13aWR0aC5odG1sCi1mYXN0L2Zvcm1zL3RleHRmaWVsZC1kcmFnLWludG8t
ZGlzYWJsZWQuaHRtbAogZmFzdC9mb3Jtcy90ZXh0ZmllbGQtb3V0bGluZS5odG1sCiBmYXN0L2Zv
cm1zL3RleHRmaWVsZC1vdmVyZmxvdy5odG1sCiBmYXN0L2Zvcm1zL3RodW1ic2xpZGVyLWNyYXNo
Lmh0bWwKQEAgLTI3OTMsNyArMjcwNCw2IEBAIGZhc3QvaW1hZ2VzL2VtYmVkLWltYWdlLmh0bWwK
IGZhc3QvaW1hZ2VzL2Zhdmljb24tYXMtaW1hZ2UuaHRtbAogZmFzdC9pbWFnZXMvaW1hZ2UtaW4t
bWFwLmh0bWwKIGZhc3QvaW1hZ2VzL2ltYWdlLW1hcC1hbmNob3ItY2hpbGRyZW4uaHRtbAotZmFz
dC9pbWFnZXMvaW1hZ2UtbWFwLXpvb20uaHRtbAogZmFzdC9pbWFnZXMvaW1hZ2VtYXAtY2FzZS5o
dG1sCiBmYXN0L2ltYWdlcy9vYmplY3QtaW1hZ2UuaHRtbAogZmFzdC9pbWFnZXMvcGRmLWFzLWJh
Y2tncm91bmQuaHRtbApAQCAtMzczMCw5ICszNjQwLDYgQEAgaHR0cC90ZXN0cy9taXNjL3RleHQt
cmVmcmVzaC5odG1sCiBodHRwL3Rlc3RzL21pc2MvdGltZXItdnMtbG9hZGluZy5odG1sCiBodHRw
L3Rlc3RzL21pc2Mvd2luZG93LWRvdC1zdG9wLmh0bWwKIGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9i
YWNrLXRvLXNsb3ctZnJhbWUuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50LWxv
Y2F0aW9uLWNsaWNrLXRpbWVvdXQuaHRtbAotaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL2RvY3VtZW50
LWxvY2F0aW9uLWNsaWNrLmh0bWwKLWh0dHAvdGVzdHMvbmF2aWdhdGlvbi9kb2N1bWVudC1sb2Nh
dGlvbi1tb3VzZW92ZXIuaHRtbAogaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL3JlbG9hZC1zdWJmcmFt
ZS1mcmFtZS5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsb2FkLXN1YmZyYW1lLWlmcmFt
ZS5odG1sCiBodHRwL3Rlc3RzL25hdmlnYXRpb24vcmVsb2FkLXN1YmZyYW1lLW9iamVjdC5odG1s
CkBAIC0zNzU3LDggKzM2NjQsNiBAQCBodHRwL3Rlc3RzL3NlY3VyaXR5L1hGcmFtZU9wdGlvbnMv
eC1mcmFtZS1vcHRpb25zLWRlbnktbWV0YS10YWcuaHRtbAogaHR0cC90ZXN0cy9zZWN1cml0eS9Y
RnJhbWVPcHRpb25zL3gtZnJhbWUtb3B0aW9ucy1kZW55Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJp
dHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMtcGFyZW50LXNhbWUtb3JpZ2luLWFsbG93
Lmh0bWwKIGh0dHAvdGVzdHMvc2VjdXJpdHkvWEZyYW1lT3B0aW9ucy94LWZyYW1lLW9wdGlvbnMt
cGFyZW50LXNhbWUtb3JpZ2luLWRlbnkuaHRtbAotaHR0cC90ZXN0cy9zZWN1cml0eS9saXN0ZW5l
ci94c3Mtd2luZG93LW9uY2xpY2stYWRkRXZlbnRMaXN0ZW5lci5odG1sCi1odHRwL3Rlc3RzL3Nl
Y3VyaXR5L2xpc3RlbmVyL3hzcy13aW5kb3ctb25jbGljay1zaG9ydGN1dC5odG1sCiBodHRwL3Rl
c3RzL3NlY3VyaXR5L3hzc0F1ZGl0b3IvbGluay1vcGVucy1uZXctd2luZG93Lmh0bWwKIGh0dHAv
dGVzdHMvd29ya2Vycy90ZXh0LWVuY29kaW5nLmh0bWwKIGh0dHAvdGVzdHMveG1saHR0cHJlcXVl
c3QvYWJvcnQtc2hvdWxkLWNhbmNlbC1sb2FkLmh0bWwKQEAgLTM5NDksNyArMzg1NCw2IEBAIHN2
Zy9jdXN0b20vZW1iZWRkZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLnhtbAogc3ZnL2N1
c3RvbS9nZXRTdWJTdHJpbmdMZW5ndGguaHRtbAogc3ZnL2N1c3RvbS9nZXRzY3JlZW5jdG0taW4t
bWl4ZWQtY29udGVudDIueGh0bWwKIHN2Zy9jdXN0b20vZ2x5cGgtc2V0dGluZy1kLWF0dHJpYnV0
ZS5zdmcKLXN2Zy9jdXN0b20vaW1hZ2UtY2xpcHBlZC1oaXQuc3ZnCiBzdmcvY3VzdG9tL21hbnVh
bGx5LXBhcnNlZC1lbWJlZGRlZC1zdmctZGlzYWxsb3dlZC1pbi1kYXNoYm9hcmQuaHRtbAogc3Zn
L2N1c3RvbS9tYW51YWxseS1wYXJzZWQtc3ZnLWRpc2FsbG93ZWQtaW4tZGFzaGJvYXJkLmh0bWwK
IHN2Zy9jdXN0b20vbm8taW5oZXJpdGVkLWRhc2hlZC1zdHJva2UueGh0bWwKQEAgLTM5NTksMTM1
ICszODYzLDggQEAgc3ZnL2N1c3RvbS9zdmctZm9udHMtaW4tdGV4dC1jb250cm9scy5odG1sCiBz
dmcvY3VzdG9tL3VzZS1lbGVtZW50SW5zdGFuY2UtZXZlbnQtdGFyZ2V0LnN2Zwogc3ZnL2N1c3Rv
bS91c2UtZWxlbWVudEluc3RhbmNlLW1ldGhvZHMuc3ZnCiBzdmcvY3VzdG9tL3VzZS1pbnN0YW5j
ZVJvb3QtYXMtZXZlbnQtdGFyZ2V0LnhodG1sCi1zdmcvY3VzdG9tL3VzZS1pbnN0YW5jZVJvb3Qt
ZXZlbnQtYnViYmxpbmcueGh0bWwKIHN2Zy9jdXN0b20vdXNlLWluc3RhbmNlUm9vdC1ldmVudC1s
aXN0ZW5lcnMueGh0bWwKIHN2Zy9jdXN0b20vdXNlLXNldEF0dHJpYnV0ZS1jcmFzaC5zdmcKLSMg
ICBUZXN0cyBpbiBzdmcvZHluYW1pYy11cGRhdGVzIHJlcXVpcmUgYmFzaWMgZXZlbnRTZW5kZXIg
aW1wbGVtZW50YXRpb24gdG8gcGFzcwotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdBRWxlbWVudC1k
b20taHJlZi1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtZG9tLXRh
cmdldC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQUVsZW1lbnQtc3ZnZG9tLWhy
ZWYtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0FFbGVtZW50LXN2Z2RvbS10YXJn
ZXQtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtZG9tLWN4
LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LWRvbS1jeS1h
dHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1kb20tci1hdHRy
Lmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ2lyY2xlRWxlbWVudC1zdmdkb20tY3gtcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NpcmNsZUVsZW1lbnQtc3ZnZG9tLWN5LXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDaXJjbGVFbGVtZW50LXN2Z2RvbS1yLXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdDbGlwUGF0aEVsZW1lbnQtZG9tLWNsaXBQ
YXRoVW5pdHMtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0NsaXBQYXRoRWxlbWVu
dC1zdmdkb20tY2xpcFBhdGhVbml0cy1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
Q3Vyc29yRWxlbWVudC1kb20teC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vy
c29yRWxlbWVudC1kb20teS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vyc29y
RWxlbWVudC1zdmdkb20teC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHQ3Vyc29y
RWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtZG9tLWN4LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNl
RWxlbWVudC1kb20tY3ktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LWRvbS1yeC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBzZUVs
ZW1lbnQtZG9tLXJ5LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxpcHNlRWxl
bWVudC1zdmdkb20tY3gtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0VsbGlwc2VF
bGVtZW50LXN2Z2RvbS1jeS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHRWxsaXBz
ZUVsZW1lbnQtc3ZnZG9tLXJ4LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdFbGxp
cHNlRWxlbWVudC1zdmdkb20tcnktcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0Zv
cmVpZ25PYmplY3RFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHRm9yZWlnbk9iamVjdEVsZW1lbnQtZG9tLXgtYXR0ci5odG1sCi1zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LWRvbS15LWF0dHIuaHRtbAot
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1zdmdkb20taGVpZ2h0
LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3JlaWduT2JqZWN0RWxlbWVudC1z
dmdkb20td2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LXN2Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdGb3Jl
aWduT2JqZWN0RWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHSW1hZ2VFbGVtZW50LWRvbS1oZWlnaHQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0ltYWdlRWxlbWVudC1kb20tcHJlc2VydmVBc3BlY3RSYXRpby1hdHRyLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LWRvbS13aWR0aC1hdHRyLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LWRvbS14LWF0dHIuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdJbWFnZUVsZW1lbnQtZG9tLXktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11
cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20taGVpZ2h0LXByb3AuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdJbWFnZUVsZW1lbnQtc3ZnZG9tLXByZXNlcnZlQXNwZWN0UmF0aW8tcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20td2lkdGgt
cHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0ltYWdlRWxlbWVudC1zdmdkb20teC1w
cm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHSW1hZ2VFbGVtZW50LXN2Z2RvbS15LXBy
b3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1kb20teDEtYXR0ci5o
dG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LWRvbS14Mi1hdHRyLmh0bWwK
LXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZUVsZW1lbnQtZG9tLXkxLWF0dHIuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1kb20teTItYXR0ci5odG1sCi1zdmcvZHlu
YW1pYy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LXN2Z2RvbS14MS1wcm9wLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHTGluZUVsZW1lbnQtc3ZnZG9tLXgyLXByb3AuaHRtbAotc3ZnL2R5bmFt
aWMtdXBkYXRlcy9TVkdMaW5lRWxlbWVudC1zdmdkb20teTEtcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0xpbmVFbGVtZW50LXN2Z2RvbS15Mi1wcm9wLmh0bWwKLXN2Zy9keW5hbWlj
LXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LWRvbS1ncmFkaWVudFRyYW5zZm9ybS1h
dHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LWRv
bS1ncmFkaWVudFVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJH
cmFkaWVudEVsZW1lbnQtZG9tLXgxLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdM
aW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXgyLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXkxLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMt
dXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtZG9tLXkyLWF0dHIuaHRtbAotc3ZnL2R5
bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVsZW1lbnQtc3ZnZG9tLWdyYWRpZW50VHJh
bnNmb3JtLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdMaW5lYXJHcmFkaWVudEVs
ZW1lbnQtc3ZnZG9tLWdyYWRpZW50VW5pdHMtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teDEtcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teDItcHJvcC5odG1sCi1z
dmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdkb20teTEtcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC1zdmdk
b20teTItcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hcmtlckVsZW1lbnQtZG9t
LW1hcmtlckhlaWdodC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxl
bWVudC1kb20tbWFya2VyVW5pdHMtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01h
cmtlckVsZW1lbnQtZG9tLW1hcmtlcldpZHRoLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRl
cy9TVkdNYXJrZXJFbGVtZW50LWRvbS1vcmllbnQtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtZG9tLXJlZlgtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtZG9tLXJlZlktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR01hcmtlckVsZW1lbnQtc3ZnZG9tLW1hcmtlckhlaWdodC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tbWFya2VyVW5pdHMtcHJvcC5o
dG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hcmtlckVsZW1lbnQtc3ZnZG9tLW1hcmtlcldp
ZHRoLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXJrZXJFbGVtZW50LXN2Z2Rv
bS1vcmllbnRBbmdsZS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxl
bWVudC1zdmdkb20tb3JpZW50VHlwZS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
TWFya2VyRWxlbWVudC1zdmdkb20tcmVmWC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHTWFya2VyRWxlbWVudC1zdmdkb20tcmVmWS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0
ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tc2V0T3JpZW50VG9BbmdsZS1jYWxsLmh0bWwKLXN2
Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFya2VyRWxlbWVudC1zdmdkb20tc2V0T3JpZW50VG9BdXRv
LWNhbGwuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVudC1kb20taGVpZ2h0
LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVudC1kb20tbWFza0Nv
bnRlbnRVbml0cy1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1lbnQt
ZG9tLW1hc2tVbml0cy1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1l
bnQtZG9tLXdpZHRoLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNrRWxlbWVu
dC1kb20teC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHTWFza0VsZW1lbnQtZG9t
LXktYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hc2tFbGVtZW50LXN2Z2RvbS1o
ZWlnaHQtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR01hc2tFbGVtZW50LXN2Z2Rv
bS1tYXNrQ29udGVudFVuaXRzLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdNYXNr
RWxlbWVudC1zdmdkb20tbWFza1VuaXRzLXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdNYXNrRWxlbWVudC1zdmdkb20td2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR01hc2tFbGVtZW50LXN2Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9T
VkdNYXNrRWxlbWVudC1zdmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZH
UGF0dGVybkVsZW1lbnQtZG9tLWhlaWdodC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHUGF0dGVybkVsZW1lbnQtZG9tLXBhdHRlcm5Db250ZW50VW5pdHMtYXR0ci5odG1sCi1zdmcv
ZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50LWRvbS1wYXR0ZXJuVHJhbnNmb3JtLWF0
dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1kb20tcGF0dGVy
blVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1k
b20td2lkdGgtYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50
LWRvbS14LWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1k
b20teS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1lbnQtc3Zn
ZG9tLWhlaWdodC1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUGF0dGVybkVsZW1l
bnQtc3ZnZG9tLXBhdHRlcm5Db250ZW50VW5pdHMtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRh
dGVzL1NWR1BhdHRlcm5FbGVtZW50LXN2Z2RvbS1wYXR0ZXJuVHJhbnNmb3JtLXByb3AuaHRtbAot
c3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1zdmdkb20tcGF0dGVyblVuaXRz
LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1zdmdkb20t
d2lkdGgtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1BhdHRlcm5FbGVtZW50LXN2
Z2RvbS14LXByb3AuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdQYXR0ZXJuRWxlbWVudC1z
dmdkb20teS1wcm9wLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRF
bGVtZW50LWRvbS1jeC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3Jh
ZGllbnRFbGVtZW50LWRvbS1jeS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFk
aWFsR3JhZGllbnRFbGVtZW50LWRvbS1meC1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMv
U1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1meS1hdHRyLmh0bWwKLXN2Zy9keW5hbWljLXVw
ZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1ncmFkaWVudFRyYW5zZm9ybS1hdHRy
Lmh0bWwKLXN2Zy9keW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LWRvbS1n
cmFkaWVudFVuaXRzLWF0dHIuaHRtbAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSYWRpYWxHcmFk
aWVudEVsZW1lbnQtZG9tLXItYXR0ci5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlh
bEdyYWRpZW50RWxlbWVudC1zdmdkb20tY3gtcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVz
L1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tY3ktcHJvcC5odG1sCi1zdmcvZHluYW1p
Yy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZngtcHJvcC5odG1sCi1z
dmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZnktcHJv
cC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JhZGlhbEdyYWRpZW50RWxlbWVudC1zdmdk
b20tZ3JhZGllbnRUcmFuc2Zvcm0tcHJvcC5odG1sCi1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1Jh
ZGlhbEdyYWRpZW50RWxlbWVudC1zdmdkb20tZ3JhZGllbnRVbml0cy1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmFkaWFsR3JhZGllbnRFbGVtZW50LXN2Z2RvbS1yLXByb3AuaHRt
bAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20taGVpZ2h0LWF0dHIuaHRt
bAotc3ZnL2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20td2lkdGgtYXR0ci5odG1s
Ci1zdmcvZHluYW1pYy11cGRhdGVzL1NWR1JlY3RFbGVtZW50LWRvbS14LWF0dHIuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1kb20teS1hdHRyLmh0bWwKLXN2Zy9keW5h
bWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLWhlaWdodC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLXdpZHRoLXByb3AuaHRtbAotc3Zn
L2R5bmFtaWMtdXBkYXRlcy9TVkdSZWN0RWxlbWVudC1zdmdkb20teC1wcm9wLmh0bWwKLXN2Zy9k
eW5hbWljLXVwZGF0ZXMvU1ZHUmVjdEVsZW1lbnQtc3ZnZG9tLXktcHJvcC5odG1sCiAjICAgVGVz
dHMgZ2VuZXJhdGluZyBuZXcgcmVzdWx0cwogc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0w
Mi10LnN2Zwogc3ZnL1czQy1TVkctMS4xL2FuaW1hdGUtZWxlbS0wMy10LnN2ZwpAQCAtNTc3Mywx
OSArNTU1MCwxMyBAQCBlZGl0aW5nL3NlbGVjdGlvbi9leHRlbmQtc2VsZWN0aW9uLWFmdGVyLWRv
dWJsZS1jbGljay5odG1sCiBmYXN0L2V2ZW50cy9kcmFnLXRvLW5hdmlnYXRlLmh0bWwKIGZhc3Qv
ZXZlbnRzL3ByZXZlbnQtZHJhZy10by1uYXZpZ2F0ZS5odG1sCiBmYXN0L2V2ZW50cy9rZXlkb3du
LWZ1bmN0aW9uLWtleXMuaHRtbAotZmFzdC9mb3Jtcy9zZWFyY2gtZGVsZXRlLXdoaWxlLWNhbmNl
bC1idXR0b24tY2xpY2tlZC5odG1sCiBmYXN0L2Zvcm1zL3NsaWRlci1kZWxldGUtd2hpbGUtZHJh
Z2dpbmctdGh1bWIuaHRtbAotZmFzdC9ldmVudHMvY2xpY2stZm9jdXMtYW5jaG9yLmh0bWwKIGZh
c3QvZXZlbnRzL3RhYi1mb2N1cy1hbmNob3IuaHRtbAotZmFzdC9ldmVudHMvdGFiLWZvY3VzLWhp
ZGRlbi5odG1sCiBodHRwL3Rlc3RzL2xvY2FsL2RyYWctb3Zlci1yZW1vdGUtY29udGVudC5odG1s
CiBodHRwL3Rlc3RzL3NlY3VyaXR5L2RyYWctb3Zlci1yZW1vdGUtY29udGVudC1pZnJhbWUuaHRt
bAogaHR0cC90ZXN0cy9zZWN1cml0eS9jbGlwYm9hcmQvY2xpcGJvYXJkLWZpbGUtYWNjZXNzLmh0
bWwKLW1lZGlhL2F1ZGlvLWRlbGV0ZS13aGlsZS1zbGlkZXItdGh1bWItY2xpY2tlZC5odG1sCiBt
ZWRpYS9hdWRpby1kZWxldGUtd2hpbGUtc3RlcC1idXR0b24tY2xpY2tlZC5odG1sCi1tZWRpYS9j
b250cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLmh0bWwKIHNjcm9sbGJhcnMvc2Nyb2xsYmFy
LW1pc3MtbW91c2Vtb3ZlLWRpc2FibGVkLmh0bWwKLXNjcm9sbGJhcnMvc2Nyb2xsYmFyLW1pc3Mt
bW91c2Vtb3ZlLmh0bWwKIAogIyBUZXN0cyB0aGF0IHJlcXVpcmUgZWRpdGluZyBjYWxsYmFja3Mg
KGFuZCBwb3NzaWJseSBHbGliIERPTSBiaW5kaW5ncykKIGVkaXRpbmcvdGV4dC1pdGVyYXRvci90
aGFpLWN1cnNvci1tb3ZlbWVudC5odG1sCmRpZmYgLS1naXQgYS9XZWJLaXQvZ3RrL0NoYW5nZUxv
ZyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCmluZGV4IDJhZTJjOTkuLjgyMTU1M2UgMTAwNjQ0Ci0t
LSBhL1dlYktpdC9ndGsvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9ndGsvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMDktMDktMDkgIFphbiBEb2JlcnNlayAgPHphbmRvYmVyc2VrQGdtYWls
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBb
R1RLXSBEdW1wUmVuZGVyVHJlZSBuZWVkcyBldmVudFNlbmRlciBvYmplY3QgYW5kIGltcGxlbWVu
dGF0aW9uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
NTk5MAorCisgICAgICAgIENyZWF0ZXMgYSBmdW5jdGlvbiB0aGF0IGlzIGFjY2Vzc2libGUgZnJv
bSB0aGUgRHVtcFJlbmRlclRyZWUgdG9vbAorICAgICAgICBhbmQgY2FsbHMgdGhlIGxheW91dCBt
ZXRob2Qgb24gdGhlIGZyYW1lIHZpZXcuCisKKyAgICAgICAgKiB3ZWJraXQvd2Via2l0cHJpdmF0
ZS5oOgorICAgICAgICAqIHdlYmtpdC93ZWJraXR3ZWJmcmFtZS5jcHA6CisgICAgICAgICh3ZWJr
aXRfd2ViX2ZyYW1lX2xheW91dCk6CisKIDIwMDktMDktMDggIEd1c3Rhdm8gTm9yb25oYSBTaWx2
YSAgPGd1c3Rhdm8ubm9yb25oYUBjb2xsYWJvcmEuY28udWs+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgWGFuIExvcGV6LgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0
ZS5oIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0cHJpdmF0ZS5oCmluZGV4IDBhNDg4MmYuLmM0
NzE3MTQgMTAwNjQ0Ci0tLSBhL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHByaXZhdGUuaAorKysg
Yi9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXRwcml2YXRlLmgKQEAgLTMxNyw2ICszMTcsOSBAQCBl
eHRlcm4gIkMiIHsKIAogICAgIFdFQktJVF9BUEkgV2ViS2l0V2ViRGF0YWJhc2UgKgogICAgIHdl
YmtpdF9zZWN1cml0eV9vcmlnaW5fZ2V0X3dlYl9kYXRhYmFzZShXZWJLaXRTZWN1cml0eU9yaWdp
biogc2VjdXJpdHlPcmlnaW4sIGNvbnN0IGNoYXIqIGRhdGFiYXNlTmFtZSk7CisKKyAgICBXRUJL
SVRfQVBJIHZvaWQKKyAgICB3ZWJraXRfd2ViX2ZyYW1lX2xheW91dChXZWJLaXRXZWJGcmFtZSog
ZnJhbWUpOwogfQogCiBuYW1lc3BhY2UgV1RGIHsKZGlmZiAtLWdpdCBhL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHdlYmZyYW1lLmNwcCBiL1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHdlYmZyYW1l
LmNwcAppbmRleCA3Y2RjMGUzLi5iNDBkNjU2IDEwMDY0NAotLS0gYS9XZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR3ZWJmcmFtZS5jcHAKKysrIGIvV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0d2ViZnJh
bWUuY3BwCkBAIC0xMDc2LDMgKzEwNzYsMTYgQEAgV2ViS2l0U2VjdXJpdHlPcmlnaW4qIHdlYmtp
dF93ZWJfZnJhbWVfZ2V0X3NlY3VyaXR5X29yaWdpbihXZWJLaXRXZWJGcmFtZSogZnJhbWUKICAg
ICBwcml2LT5vcmlnaW4gPSBraXQocHJpdi0+Y29yZUZyYW1lLT5kb2N1bWVudCgpLT5zZWN1cml0
eU9yaWdpbigpKTsKICAgICByZXR1cm4gcHJpdi0+b3JpZ2luOwogfQorCit2b2lkIHdlYmtpdF93
ZWJfZnJhbWVfbGF5b3V0KFdlYktpdFdlYkZyYW1lKiBmcmFtZSkKK3sKKyAgICBGcmFtZSogY29y
ZUZyYW1lID0gY29yZShmcmFtZSk7CisgICAgaWYgKCFjb3JlRnJhbWUpCisgICAgICAgIHJldHVy
bjsKKworICAgIEZyYW1lVmlldyogdmlldyA9IGNvcmVGcmFtZS0+dmlldygpOworICAgIGlmICgh
dmlldykKKyAgICAgICAgcmV0dXJuOworCisgICAgdmlldy0+bGF5b3V0KCk7Cit9CmRpZmYgLS1n
aXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXgg
MzhkMzZlNy4uYjdlMzVhNCAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQwIEBACisyMDA5LTA5LTA5ICBaYW4g
RG9iZXJzZWsgIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgW0dUS10gRHVtcFJlbmRlclRyZWUgbmVlZHMgZXZl
bnRTZW5kZXIgb2JqZWN0IGFuZCBpbXBsZW1lbnRhdGlvbgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjU5OTAKKworICAgICAgICBJbXBsZW1lbnRzIG1v
c3Qgb2YgdGhlIEV2ZW50U2VuZGVyIG9iamVjdCdzIGZ1bmN0aW9uYWxpdHkgZm9yCisgICAgICAg
IHRoZSBEdW1wUmVuZGVyVHJlZSB0b29sLiBJbXBsZW1lbnRhdGlvbiBzdGlsbCBsYWNrcyBzdXBw
b3J0CisgICAgICAgIGZvciBkcmFnIGFuZCBkcm9wIHRlc3RzIGFuZCBmb3J3YXJkIGxlYXBzLgor
CisgICAgICAgIEJhc2VkIG9uIHdvcmsgYnkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIuCisK
KyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUuY3BwOgorICAgICAg
ICAocnVuVGVzdCk6IEZvY3VzIG9uIHRoZSB2aWV3IGJlZm9yZSBsb2FkaW5nIGEgbmV3IHRlc3Qu
CisgICAgICAgICh3ZWJWaWV3V2luZG93T2JqZWN0Q2xlYXJlZCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChnZXREcmFnTW9k
ZUNhbGxiYWNrKToKKyAgICAgICAgKHNldERyYWdNb2RlQ2FsbGJhY2spOgorICAgICAgICAobGVh
cEZvcndhcmRDYWxsYmFjayk6CisgICAgICAgIChjb250ZXh0Q2xpY2tDYWxsYmFjayk6CisgICAg
ICAgICh1cGRhdGVDbGlja0NvdW50KToKKyAgICAgICAgKG1vdXNlRG93bkNhbGxiYWNrKToKKyAg
ICAgICAgKG1vdXNlVXBDYWxsYmFjayk6CisgICAgICAgIChtb3VzZU1vdmVUb0NhbGxiYWNrKToK
KyAgICAgICAgKGJlZ2luRHJhZ1dpdGhGaWxlc0NhbGxiYWNrKToKKyAgICAgICAgKHJlcGxheVNh
dmVkRXZlbnRzKToKKyAgICAgICAgKGtleURvd25DYWxsYmFjayk6CisgICAgICAgICh0ZXh0Wm9v
bUluQ2FsbGJhY2spOgorICAgICAgICAodGV4dFpvb21PdXRDYWxsYmFjayk6CisgICAgICAgICh6
b29tUGFnZUluQ2FsbGJhY2spOgorICAgICAgICAoem9vbVBhZ2VPdXRDYWxsYmFjayk6CisgICAg
ICAgIChnZXRDbGFzcyk6CisgICAgICAgIChtYWtlRXZlbnRTZW5kZXIpOgorICAgICAgICAqIER1
bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNlbmRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBHTlVtYWtl
ZmlsZS5hbTogQWRkIGJ1aWxkIHJ1bGVzIGZvciBFdmVudFNlbmRlci4KKwogMjAwOS0wOS0wOCAg
RGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL0R1bXBSZW5kZXJUcmVl
L2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAgYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsv
RHVtcFJlbmRlclRyZWUuY3BwCmluZGV4IDZkZGMzMjQuLmEzNDVlNmEgMTAwNjQ0Ci0tLSBhL1dl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9EdW1wUmVuZGVyVHJlZS5jcHAKKysrIGIvV2Vi
S2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0R1bXBSZW5kZXJUcmVlLmNwcApAQCAtMzIsNiAr
MzIsNyBAQAogI2luY2x1ZGUgIkR1bXBSZW5kZXJUcmVlLmgiCiAKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIkV2ZW50U2VuZGVyLmgiCiAjaW5jbHVkZSAi
R0NDb250cm9sbGVyLmgiCiAjaW5jbHVkZSAiTGF5b3V0VGVzdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJXb3JrUXVldWUuaCIKQEAgLTQyNiw3ICs0MjcsOCBAQCBzdGF0aWMgdm9pZCBydW5UZXN0
KGNvbnN0IHN0cmluZyYgdGVzdFBhdGhPclVSTCkKICAgICBpZiAocHJldlRlc3RCRkl0ZW0pCiAg
ICAgICAgIGdfb2JqZWN0X3JlZihwcmV2VGVzdEJGSXRlbSk7CiAKLQorICAgIC8vIEZvY3VzIHRo
ZSB3ZWIgdmlldyBiZWZvcmUgbG9hZGluZyB0aGUgdGVzdCB0byBhdm9pZCBmb2N1c2luZyBwcm9i
bGVtcworICAgIGd0a193aWRnZXRfZ3JhYl9mb2N1cyhHVEtfV0lER0VUKHdlYlZpZXcpKTsKICAg
ICB3ZWJraXRfd2ViX3ZpZXdfb3Blbih3ZWJWaWV3LCB1cmwpOwogCiAgICAgZ19mcmVlKHVybCk7
CkBAIC01MDAsNiArNTAyLDEwIEBAIHN0YXRpYyB2b2lkIHdlYlZpZXdXaW5kb3dPYmplY3RDbGVh
cmVkKFdlYktpdFdlYlZpZXcqIHZpZXcsIFdlYktpdFdlYkZyYW1lKiBmcmFtCiAgICAgYXhDb250
cm9sbGVyLT5tYWtlV2luZG93T2JqZWN0KGNvbnRleHQsIHdpbmRvd09iamVjdCwgJmV4Y2VwdGlv
bik7CiAgICAgQVNTRVJUKCFleGNlcHRpb24pOwogCisgICAgSlNTdHJpbmdSZWYgZXZlbnRTZW5k
ZXJTdHIgPSBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiZXZlbnRTZW5kZXIiKTsKKyAg
ICBKU1ZhbHVlUmVmIGV2ZW50U2VuZGVyID0gbWFrZUV2ZW50U2VuZGVyKGNvbnRleHQpOworICAg
IEpTT2JqZWN0U2V0UHJvcGVydHkoY29udGV4dCwgd2luZG93T2JqZWN0LCBldmVudFNlbmRlclN0
ciwgZXZlbnRTZW5kZXIsIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0
eUF0dHJpYnV0ZURvbnREZWxldGUsIDApOworICAgIEpTU3RyaW5nUmVsZWFzZShldmVudFNlbmRl
clN0cik7CiB9CiAKIHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3Q29uc29sZU1lc3NhZ2UoV2ViS2l0
V2ViVmlldyogdmlldywgY29uc3QgZ2NoYXIqIG1lc3NhZ2UsIHVuc2lnbmVkIGludCBsaW5lLCBj
b25zdCBnY2hhciogc291cmNlSWQsIGdwb2ludGVyIGRhdGEpCmRpZmYgLS1naXQgYS9XZWJLaXRU
b29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIuY3BwIGIvV2ViS2l0VG9vbHMvRHVt
cFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi5hZGIzYWY3Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0VG9vbHMvRHVtcFJl
bmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmNwcApAQCAtMCwwICsxLDQ2NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNywgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDkgWmFuIERvYmVyc2VrIDx6YW5kb2JlcnNla0BnbWFpbC5jb20+
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgSG9sZ2VyIEhhbnMgUGV0ZXIgRnJleXRoZXIKKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqIDMuICBOZWl0aGVyIHRoZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJ
bmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9mCisgKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogICAg
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMg
Q09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorICogRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRT
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWQorICogRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAq
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORAorICogT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgorICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRXZlbnRTZW5kZXIuaCIKKworI2luY2x1ZGUgIkR1bXBS
ZW5kZXJUcmVlLmgiCisKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdFJlZi5oPgor
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTUmV0YWluUHRyLmg+CisjaW5jbHVkZSA8SmF2YVNj
cmlwdENvcmUvSlNTdHJpbmdSZWYuaD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0d2ViZnJhbWUu
aD4KKyNpbmNsdWRlIDx3ZWJraXQvd2Via2l0d2Vidmlldy5oPgorI2luY2x1ZGUgPHd0Zi9BU0NJ
SUNUeXBlLmg+CisjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisKKyNpbmNsdWRlIDxnZGsvZ2Rr
Lmg+CisjaW5jbHVkZSA8Z2RrL2dka2tleXN5bXMuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKwor
Ly8gVE9ETzogQ3VycmVudGx5IGRyYWcgYW5kIGRyb3AgcmVsYXRlZCBjb2RlIGlzIGxlZnQgb3V0
IGFuZAorLy8gc2hvdWxkIGJlIG1lcmdlZCBvbmNlIHdlIGhhdmUgZHJhZyBhbmQgZHJvcCBzdXBw
b3J0IGluIFdlYkNvcmUuCisKK2V4dGVybiAiQyIgeworICAgIGV4dGVybiB2b2lkIHdlYmtpdF93
ZWJfZnJhbWVfbGF5b3V0KFdlYktpdFdlYkZyYW1lKiBmcmFtZSk7Cit9CisKK3N0YXRpYyBib29s
IGRvd24gPSBmYWxzZTsKK3N0YXRpYyBib29sIGRyYWdNb2RlID0gdHJ1ZTsKK3N0YXRpYyBib29s
IHJlcGxheWluZ1NhdmVkRXZlbnRzID0gZmFsc2U7CitzdGF0aWMgaW50IGxhc3RNb3VzZVBvc2l0
aW9uWDsKK3N0YXRpYyBpbnQgbGFzdE1vdXNlUG9zaXRpb25ZOworCitzdGF0aWMgaW50IGxhc3RD
bGlja1Bvc2l0aW9uWDsKK3N0YXRpYyBpbnQgbGFzdENsaWNrUG9zaXRpb25ZOworc3RhdGljIGlu
dCBjbGlja0NvdW50ID0gMDsKKworc3RydWN0IERlbGF5ZWRNZXNzYWdlIHsKKyAgICBHZGtFdmVu
dCBldmVudDsKKyAgICBndWxvbmcgZGVsYXk7CisgICAgZ2Jvb2xlYW4gaXNEcmFnRXZlbnQ7Cit9
OworCitzdGF0aWMgRGVsYXllZE1lc3NhZ2UgbXNnUXVldWVbMTAyNF07CisKK3N0YXRpYyB1bnNp
Z25lZCBlbmRPZlF1ZXVlOworc3RhdGljIHVuc2lnbmVkIHN0YXJ0T2ZRdWV1ZTsKKworc3RhdGlj
IGNvbnN0IGZsb2F0IHpvb21NdWx0aXBsaWVyUmF0aW8gPSAxLjJmOworCitzdGF0aWMgSlNWYWx1
ZVJlZiBnZXREcmFnTW9kZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJl
ZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9u
KQoreworICAgIHJldHVybiBKU1ZhbHVlTWFrZUJvb2xlYW4oY29udGV4dCwgZHJhZ01vZGUpOwor
fQorCitzdGF0aWMgYm9vbCBzZXREcmFnTW9kZUNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU09iamVjdFJlZiBvYmplY3QsIEpTU3RyaW5nUmVmIHByb3BlcnR5TmFtZSwgSlNWYWx1ZVJl
ZiB2YWx1ZSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIGRyYWdNb2RlID0gSlNWYWx1
ZVRvQm9vbGVhbihjb250ZXh0LCB2YWx1ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3N0YXRp
YyBKU1ZhbHVlUmVmIGxlYXBGb3J3YXJkQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpT
T2JqZWN0UmVmIGZ1bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1l
bnRDb3VudCwgY29uc3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0
aW9uKQoreworICAgIC8vIEZJWE1FOiBBZGQgcHJvcGVyIHN1cHBvcnQgZm9yIGZvcndhcmQgbGVh
cHMKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRp
YyBKU1ZhbHVlUmVmIGNvbnRleHRDbGlja0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKK3sKKyAgICB3ZWJraXRfd2ViX2ZyYW1lX2xheW91dChtYWluRnJhbWUpOworCisgICAg
R2RrRXZlbnQgZXZlbnQ7CisgICAgbWVtc2V0KCZldmVudCwgMCwgc2l6ZW9mKGV2ZW50KSk7Cisg
ICAgZXZlbnQuYnV0dG9uLmJ1dHRvbiA9IDM7CisgICAgZXZlbnQuYnV0dG9uLnggPSBsYXN0TW91
c2VQb3NpdGlvblg7CisgICAgZXZlbnQuYnV0dG9uLnkgPSBsYXN0TW91c2VQb3NpdGlvblk7CisK
KyAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXco
bWFpbkZyYW1lKTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVu
ZGVmaW5lZChjb250ZXh0KTsKKworICAgIGdib29sZWFuIHJldHVybl92YWw7CisgICAgZG93biA9
IHRydWU7CisgICAgZXZlbnQudHlwZSA9IEdES19CVVRUT05fUFJFU1M7CisgICAgZ19zaWduYWxf
ZW1pdF9ieV9uYW1lKHZpZXcsICJidXR0b25fcHJlc3NfZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5f
dmFsKTsKKworICAgIGRvd24gPSBmYWxzZTsKKyAgICBldmVudC50eXBlID0gR0RLX0JVVFRPTl9S
RUxFQVNFOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3JlbGVhc2Vf
ZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5fdmFsKTsKKworICAgIHJldHVybiBKU1ZhbHVlTWFrZVVu
ZGVmaW5lZChjb250ZXh0KTsKK30KKworc3RhdGljIHZvaWQgdXBkYXRlQ2xpY2tDb3VudChpbnQg
LyogYnV0dG9uICovKQoreworICAgIC8vIEZJWE1FOiB0YWtlIHRoZSBsYXN0IGNsaWNrZWQgYnV0
dG9uIG51bWJlciBhbmQgdGhlIHRpbWUgb2YgbGFzdCBjbGljayBpbnRvIGFjY291bnQuCisgICAg
aWYgKGxhc3RDbGlja1Bvc2l0aW9uWCAhPSBsYXN0TW91c2VQb3NpdGlvblggJiYgbGFzdENsaWNr
UG9zaXRpb25ZICE9IGxhc3RNb3VzZVBvc2l0aW9uWSkKKyAgICAgICAgY2xpY2tDb3VudCA9IDE7
CisgICAgZWxzZQorICAgICAgICBjbGlja0NvdW50Kys7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVm
IG1vdXNlRG93bkNhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5j
dGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0
IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBk
b3duID0gdHJ1ZTsKKworICAgIEdka0V2ZW50IGV2ZW50OworICAgIG1lbXNldCgmZXZlbnQsIDAs
IHNpemVvZihldmVudCkpOworICAgIGV2ZW50LnR5cGUgPSBHREtfQlVUVE9OX1BSRVNTOworICAg
IGV2ZW50LmJ1dHRvbi5idXR0b24gPSAxOworICAgIGV2ZW50LmJ1dHRvbi54ID0gbGFzdE1vdXNl
UG9zaXRpb25YOworICAgIGV2ZW50LmJ1dHRvbi55ID0gbGFzdE1vdXNlUG9zaXRpb25ZOworCisg
ICAgdXBkYXRlQ2xpY2tDb3VudCgxKTsKKworICAgIGlmICghbXNnUXVldWVbZW5kT2ZRdWV1ZV0u
ZGVsYXkpIHsKKyAgICAgICAgd2Via2l0X3dlYl9mcmFtZV9sYXlvdXQobWFpbkZyYW1lKTsKKwor
ICAgICAgICBXZWJLaXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3Zp
ZXcobWFpbkZyYW1lKTsKKyAgICAgICAgaWYgKCF2aWV3KQorICAgICAgICAgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworCisgICAgICAgIGdib29sZWFuIHJldHVybl92
YWw7CisgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3ByZXNzX2V2
ZW50IiwgJmV2ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgIGlmIChjbGlja0NvdW50ID09IDIp
IHsKKyAgICAgICAgICAgIGV2ZW50LnR5cGUgPSBHREtfMkJVVFRPTl9QUkVTUzsKKyAgICAgICAg
ICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3ByZXNzX2V2ZW50IiwgJmV2
ZW50LCAmcmV0dXJuX3ZhbCk7CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICAvLyBy
ZXBsYXlTYXZlZEV2ZW50cyBzaG91bGQgaGF2ZSB0aGUgcmVxdWlyZWQgbG9naWMgdG8gbWFrZSBs
ZWFwRm9yd2FyZCBkZWxheXMgd29yaworICAgICAgICBtc2dRdWV1ZVtlbmRPZlF1ZXVlKytdLmV2
ZW50ID0gZXZlbnQ7CisgICAgICAgIHJlcGxheVNhdmVkRXZlbnRzKCk7CisgICAgfQorCisgICAg
cmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1
ZVJlZiBtb3VzZVVwQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1
bmN0aW9uLCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29u
c3QgSlNWYWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAg
IGRvd24gPSBmYWxzZTsKKworICAgIEdka0V2ZW50IGV2ZW50OworICAgIG1lbXNldCgmZXZlbnQs
IDAsIHNpemVvZihldmVudCkpOworICAgIGV2ZW50LnR5cGUgPSBHREtfQlVUVE9OX1JFTEVBU0U7
CisgICAgZXZlbnQuYnV0dG9uLmJ1dHRvbiA9IDE7CisgICAgZXZlbnQuYnV0dG9uLnggPSBsYXN0
TW91c2VQb3NpdGlvblg7CisgICAgZXZlbnQuYnV0dG9uLnkgPSBsYXN0TW91c2VQb3NpdGlvblk7
CisKKyAgICBpZiAoKGRyYWdNb2RlICYmICFyZXBsYXlpbmdTYXZlZEV2ZW50cykgfHwgbXNnUXVl
dWVbZW5kT2ZRdWV1ZV0uZGVsYXkpIHsKKyAgICAgICAgbXNnUXVldWVbZW5kT2ZRdWV1ZV0uZXZl
bnQgPSBldmVudDsKKyAgICAgICAgbXNnUXVldWVbZW5kT2ZRdWV1ZSsrXS5pc0RyYWdFdmVudCA9
IHRydWU7CisgICAgICAgIHJlcGxheVNhdmVkRXZlbnRzKCk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgd2Via2l0X3dlYl9mcmFtZV9sYXlvdXQobWFpbkZyYW1lKTsKKworICAgICAgICBXZWJLaXRX
ZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1lKTsK
KyAgICAgICAgaWYgKCF2aWV3KQorICAgICAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZp
bmVkKGNvbnRleHQpOworCisgICAgICAgIGdib29sZWFuIHJldHVybl92YWw7CisgICAgICAgIGdf
c2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9uX3JlbGVhc2VfZXZlbnQiLCAmZXZlbnQs
ICZyZXR1cm5fdmFsKTsKKyAgICB9CisKKyAgICBsYXN0Q2xpY2tQb3NpdGlvblggPSBsYXN0TW91
c2VQb3NpdGlvblg7CisgICAgbGFzdENsaWNrUG9zaXRpb25ZID0gbGFzdE1vdXNlUG9zaXRpb25Z
OworCisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0
aWMgSlNWYWx1ZVJlZiBtb3VzZU1vdmVUb0NhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBK
U09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3Vt
ZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2Vw
dGlvbikKK3sKKyAgICBpZiAoYXJndW1lbnRDb3VudCA8IDIpCisgICAgICAgIHJldHVybiBKU1Zh
bHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIGxhc3RNb3VzZVBvc2l0aW9uWCA9IChp
bnQpSlNWYWx1ZVRvTnVtYmVyKGNvbnRleHQsIGFyZ3VtZW50c1swXSwgZXhjZXB0aW9uKTsKKyAg
ICBnX3JldHVybl92YWxfaWZfZmFpbCgoIWV4Y2VwdGlvbiB8fCAhKmV4Y2VwdGlvbiksIEpTVmFs
dWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpKTsKKyAgICBsYXN0TW91c2VQb3NpdGlvblkgPSAoaW50
KUpTVmFsdWVUb051bWJlcihjb250ZXh0LCBhcmd1bWVudHNbMV0sIGV4Y2VwdGlvbik7CisgICAg
Z19yZXR1cm5fdmFsX2lmX2ZhaWwoKCFleGNlcHRpb24gfHwgISpleGNlcHRpb24pLCBKU1ZhbHVl
TWFrZVVuZGVmaW5lZChjb250ZXh0KSk7CisKKyAgICBHZGtFdmVudCBldmVudDsKKyAgICBldmVu
dC50eXBlID0gR0RLX01PVElPTl9OT1RJRlk7CisgICAgZXZlbnQubW90aW9uLnggPSBsYXN0TW91
c2VQb3NpdGlvblg7CisgICAgZXZlbnQubW90aW9uLnkgPSBsYXN0TW91c2VQb3NpdGlvblk7Cisg
ICAgZXZlbnQubW90aW9uLnRpbWUgPSBHREtfQ1VSUkVOVF9USU1FOworCisgICAgaWYgKGRyYWdN
b2RlICYmIGRvd24gJiYgIXJlcGxheWluZ1NhdmVkRXZlbnRzKSB7CisgICAgICAgIG1zZ1F1ZXVl
W2VuZE9mUXVldWVdLmV2ZW50ID0gZXZlbnQ7CisgICAgICAgIG1zZ1F1ZXVlW2VuZE9mUXVldWUr
K10uaXNEcmFnRXZlbnQgPSB0cnVlOworICAgIH0gZWxzZSB7CisgICAgICAgIHdlYmtpdF93ZWJf
ZnJhbWVfbGF5b3V0KG1haW5GcmFtZSk7CisKKyAgICAgICAgV2ViS2l0V2ViVmlldyogdmlldyA9
IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFtZSk7CisgICAgICAgIGlmICgh
dmlldykKKyAgICAgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
KworICAgICAgICBnYm9vbGVhbiByZXR1cm5fdmFsOworICAgICAgICBnX3NpZ25hbF9lbWl0X2J5
X25hbWUodmlldywgIm1vdGlvbl9ub3RpZnlfZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5fdmFsKTsK
KyAgICB9CisKKyAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisK
K3N0YXRpYyBKU1ZhbHVlUmVmIGJlZ2luRHJhZ1dpdGhGaWxlc0NhbGxiYWNrKEpTQ29udGV4dFJl
ZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwg
c2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFs
dWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAoYXJndW1lbnRDb3VudCA8IDEpCisgICAgICAg
IHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsKKworICAgIC8vIEZJWE1FOiBJ
bXBsZW1lbnQgdGhpcyBjb21wbGV0ZWx5IG9uY2UgV2ViQ29yZSBoYXMgY29tcGxldGUgZHJhZyBh
bmQgZHJvcCBzdXBwb3J0CisgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQp
OworfQorCit2b2lkIHJlcGxheVNhdmVkRXZlbnRzKCkKK3sKKyAgICAvLyBGSVhNRTogVGhpcyBk
b2Vzbid0IGRlYWwgd2l0aCBmb3J3YXJkIGxlYXBzLCBidXQgaXQgc2hvdWxkLgorCisgICAgV2Vi
S2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFt
ZSk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm47CisKKyAgICByZXBsYXlpbmdTYXZl
ZEV2ZW50cyA9IHRydWU7CisKKyAgICBmb3IgKHVuc2lnbmVkIHF1ZXVlUG9zID0gMDsgcXVldWVQ
b3MgPCBlbmRPZlF1ZXVlOyBxdWV1ZVBvcysrKSB7CisgICAgICAgIEdka0V2ZW50IGV2ZW50ID0g
bXNnUXVldWVbcXVldWVQb3NdLmV2ZW50OworICAgICAgICBnYm9vbGVhbiByZXR1cm5fdmFsOwor
CisgICAgICAgIHN3aXRjaCAoZXZlbnQudHlwZSkgeworICAgICAgICBjYXNlIEdES19CVVRUT05f
UkVMRUFTRToKKyAgICAgICAgICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAiYnV0dG9u
X3JlbGVhc2VfZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5fdmFsKTsKKyAgICAgICAgICAgIGJyZWFr
OworICAgICAgICBjYXNlIEdES19CVVRUT05fUFJFU1M6CisgICAgICAgICAgICBnX3NpZ25hbF9l
bWl0X2J5X25hbWUodmlldywgImJ1dHRvbl9wcmVzc19ldmVudCIsICZldmVudCwgJnJldHVybl92
YWwpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgR0RLX01PVElPTl9OT1RJRlk6
CisgICAgICAgICAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgIm1vdGlvbl9ub3RpZnlf
ZXZlbnQiLCAmZXZlbnQsICZyZXR1cm5fdmFsKTsKKyAgICAgICAgICAgIGJyZWFrOworICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgY29udGludWU7CisgICAgICAgIH0KKworICAgICAgICBz
dGFydE9mUXVldWUrKzsKKyAgICB9CisKKyAgICBpbnQgbnVtUXVldWVkTWVzc2FnZXMgPSBlbmRP
ZlF1ZXVlIC0gc3RhcnRPZlF1ZXVlOworICAgIGlmICghbnVtUXVldWVkTWVzc2FnZXMpIHsKKyAg
ICAgICAgc3RhcnRPZlF1ZXVlID0gMDsKKyAgICAgICAgZW5kT2ZRdWV1ZSA9IDA7CisgICAgICAg
IHJlcGxheWluZ1NhdmVkRXZlbnRzID0gZmFsc2U7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBzdGFydE9mUXVldWUgPSAwOworICAgIGVuZE9mUXVldWUgPSAwOworCisgICAgcmVwbGF5
aW5nU2F2ZWRFdmVudHMgPSBmYWxzZTsKK30KKworc3RhdGljIEpTVmFsdWVSZWYga2V5RG93bkNh
bGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlvbiwgSlNPYmpl
Y3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpTVmFsdWVSZWYg
YXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBpZiAoYXJndW1lbnRD
b3VudCA8IDEpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChjb250ZXh0KTsK
KworICAgIHN0YXRpYyBjb25zdCBKU1N0cmluZ1JlZiBsZW5ndGhQcm9wZXJ0eSA9IEpTU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJsZW5ndGgiKTsKKworICAgIHdlYmtpdF93ZWJfZnJhbWVf
bGF5b3V0KG1haW5GcmFtZSk7CisKKyAgICAvLyBoYW5kbGUgbW9kaWZpZXIga2V5cy4KKyAgICBp
bnQgc3RhdGUgPSAwOworICAgIGlmIChhcmd1bWVudENvdW50ID4gMSkgeworICAgICAgICBKU09i
amVjdFJlZiBtb2RpZmllcnNBcnJheSA9IEpTVmFsdWVUb09iamVjdChjb250ZXh0LCBhcmd1bWVu
dHNbMV0sIGV4Y2VwdGlvbik7CisgICAgICAgIGlmIChtb2RpZmllcnNBcnJheSkgeworICAgICAg
ICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBKU1ZhbHVlVG9OdW1iZXIoY29udGV4dCwgSlNPYmpl
Y3RHZXRQcm9wZXJ0eShjb250ZXh0LCBtb2RpZmllcnNBcnJheSwgbGVuZ3RoUHJvcGVydHksIDAp
LCAwKTsgKytpKSB7CisgICAgICAgICAgICAgICAgSlNWYWx1ZVJlZiB2YWx1ZSA9IEpTT2JqZWN0
R2V0UHJvcGVydHlBdEluZGV4KGNvbnRleHQsIG1vZGlmaWVyc0FycmF5LCBpLCAwKTsKKyAgICAg
ICAgICAgICAgICBKU1N0cmluZ1JlZiBzdHJpbmcgPSBKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRl
eHQsIHZhbHVlLCAwKTsKKyAgICAgICAgICAgICAgICBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4
Q1N0cmluZyhzdHJpbmcsICJjdHJsS2V5IikpCisgICAgICAgICAgICAgICAgICAgIHN0YXRlIHw9
IEdES19DT05UUk9MX01BU0s7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0Vx
dWFsVG9VVEY4Q1N0cmluZyhzdHJpbmcsICJzaGlmdEtleSIpKQorICAgICAgICAgICAgICAgICAg
ICBzdGF0ZSB8PSBHREtfU0hJRlRfTUFTSzsKKyAgICAgICAgICAgICAgICBlbHNlIGlmIChKU1N0
cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKHN0cmluZywgImFsdEtleSIpKQorICAgICAgICAgICAg
ICAgICAgICBzdGF0ZSB8PSBHREtfTU9EMV9NQVNLOworCisgICAgICAgICAgICAgICAgSlNTdHJp
bmdSZWxlYXNlKHN0cmluZyk7CisgICAgICAgICAgICB9CisgICAgICAgIH0KKyAgICB9CisKKyAg
ICBKU1N0cmluZ1JlZiBjaGFyYWN0ZXIgPSBKU1ZhbHVlVG9TdHJpbmdDb3B5KGNvbnRleHQsIGFy
Z3VtZW50c1swXSwgZXhjZXB0aW9uKTsKKyAgICBnX3JldHVybl92YWxfaWZfZmFpbCgoIWV4Y2Vw
dGlvbiB8fCAhKmV4Y2VwdGlvbiksIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpKTsKKyAg
ICBpbnQgZ2RrS2V5U3ltOworICAgIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGNo
YXJhY3RlciwgImxlZnRBcnJvdyIpKQorICAgICAgICBnZGtLZXlTeW0gPSBHREtfTGVmdDsKKyAg
ICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKGNoYXJhY3RlciwgInJpZ2h0
QXJyb3ciKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX1JpZ2h0OworICAgIGVsc2UgaWYgKEpT
U3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAidXBBcnJvdyIpKQorICAgICAg
ICBnZGtLZXlTeW0gPSBHREtfVXA7CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4
Q1N0cmluZyhjaGFyYWN0ZXIsICJkb3duQXJyb3ciKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RL
X0Rvd247CisgICAgZWxzZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0
ZXIsICJwYWdlVXAiKSkKKyAgICAgICAgZ2RrS2V5U3ltID0gR0RLX1BhZ2VfVXA7CisgICAgZWxz
ZSBpZiAoSlNTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhjaGFyYWN0ZXIsICJwYWdlRG93biIp
KQorICAgICAgICBnZGtLZXlTeW0gPSBHREtfUGFnZV9Eb3duOworICAgIGVsc2UgaWYgKEpTU3Ry
aW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAiaG9tZSIpKQorICAgICAgICBnZGtL
ZXlTeW0gPSBHREtfSG9tZTsKKyAgICBlbHNlIGlmIChKU1N0cmluZ0lzRXF1YWxUb1VURjhDU3Ry
aW5nKGNoYXJhY3RlciwgImVuZCIpKQorICAgICAgICBnZGtLZXlTeW0gPSBHREtfRW5kOworICAg
IGVsc2UgaWYgKEpTU3RyaW5nSXNFcXVhbFRvVVRGOENTdHJpbmcoY2hhcmFjdGVyLCAiZGVsZXRl
IikpCisgICAgICAgIGdka0tleVN5bSA9IEdES19EZWxldGU7CisgICAgZWxzZSB7CisgICAgICAg
IGludCBjaGFyQ29kZSA9IEpTU3RyaW5nR2V0Q2hhcmFjdGVyc1B0cihjaGFyYWN0ZXIpWzBdOwor
ICAgICAgICBpZiAoY2hhckNvZGUgPT0gJ1xuJykKKyAgICAgICAgICAgIGdka0tleVN5bSA9IEdE
S19SZXR1cm47CisgICAgICAgIGVsc2UgeworICAgICAgICAgICAgZ2RrS2V5U3ltID0gZ2RrX3Vu
aWNvZGVfdG9fa2V5dmFsKGNoYXJDb2RlKTsKKyAgICAgICAgICAgIGlmIChXVEY6OmlzQVNDSUlV
cHBlcihjaGFyQ29kZSkpCisgICAgICAgICAgICAgICAgc3RhdGUgfD0gR0RLX1NISUZUX01BU0s7
CisgICAgICAgIH0KKyAgICB9CisKKyAgICBKU1N0cmluZ1JlbGVhc2UoY2hhcmFjdGVyKTsKKwor
ICAgIFdlYktpdFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyht
YWluRnJhbWUpOworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5k
ZWZpbmVkKGNvbnRleHQpOworCisgICAgLy8gY3JlYXRlIGFuZCBzZW5kIHRoZSBldmVudAorICAg
IEdka0V2ZW50IGV2ZW50OworICAgIG1lbXNldCgmZXZlbnQsIDAsIHNpemVvZihldmVudCkpOwor
ICAgIGV2ZW50LmtleS5rZXl2YWwgPSBnZGtLZXlTeW07CisgICAgZXZlbnQua2V5LnN0YXRlID0g
c3RhdGU7CisKKyAgICBnYm9vbGVhbiByZXR1cm5fdmFsOworICAgIGV2ZW50LmtleS50eXBlID0g
R0RLX0tFWV9QUkVTUzsKKyAgICBnX3NpZ25hbF9lbWl0X2J5X25hbWUodmlldywgImtleS1wcmVz
cy1ldmVudCIsICZldmVudC5rZXksICZyZXR1cm5fdmFsKTsKKworICAgIGV2ZW50LmtleS50eXBl
ID0gR0RLX0tFWV9SRUxFQVNFOworICAgIGdfc2lnbmFsX2VtaXRfYnlfbmFtZSh2aWV3LCAia2V5
LXJlbGVhc2UtZXZlbnQiLCAmZXZlbnQua2V5LCAmcmV0dXJuX3ZhbCk7CisKKyAgICByZXR1cm4g
SlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIHRl
eHRab29tSW5DYWxsYmFjayhKU0NvbnRleHRSZWYgY29udGV4dCwgSlNPYmplY3RSZWYgZnVuY3Rp
b24sIEpTT2JqZWN0UmVmIHRoaXNPYmplY3QsIHNpemVfdCBhcmd1bWVudENvdW50LCBjb25zdCBK
U1ZhbHVlUmVmIGFyZ3VtZW50c1tdLCBKU1ZhbHVlUmVmKiBleGNlcHRpb24pCit7CisgICAgV2Vi
S2l0V2ViVmlldyogdmlldyA9IHdlYmtpdF93ZWJfZnJhbWVfZ2V0X3dlYl92aWV3KG1haW5GcmFt
ZSk7CisgICAgaWYgKCF2aWV3KQorICAgICAgICByZXR1cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQo
Y29udGV4dCk7CisKKyAgICBnZmxvYXQgY3VycmVudFpvb20gPSB3ZWJraXRfd2ViX3ZpZXdfZ2V0
X3pvb21fbGV2ZWwodmlldyk7CisgICAgd2Via2l0X3dlYl92aWV3X3NldF96b29tX2xldmVsKHZp
ZXcsIGN1cnJlbnRab29tICogem9vbU11bHRpcGxpZXJSYXRpbyk7CisKKyAgICByZXR1cm4gSlNW
YWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1ZhbHVlUmVmIHRleHRa
b29tT3V0Q2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9u
LCBKU09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNW
YWx1ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIFdlYktp
dFdlYlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJhbWUp
OworICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNv
bnRleHQpOworCisgICAgZ2Zsb2F0IGN1cnJlbnRab29tID0gd2Via2l0X3dlYl92aWV3X2dldF96
b29tX2xldmVsKHZpZXcpOworICAgIHdlYmtpdF93ZWJfdmlld19zZXRfem9vbV9sZXZlbCh2aWV3
LCBjdXJyZW50Wm9vbSAvIHpvb21NdWx0aXBsaWVyUmF0aW8pOworCisgICAgcmV0dXJuIEpTVmFs
dWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiB6b29tUGFn
ZUluQ2FsbGJhY2soSlNDb250ZXh0UmVmIGNvbnRleHQsIEpTT2JqZWN0UmVmIGZ1bmN0aW9uLCBK
U09iamVjdFJlZiB0aGlzT2JqZWN0LCBzaXplX3QgYXJndW1lbnRDb3VudCwgY29uc3QgSlNWYWx1
ZVJlZiBhcmd1bWVudHNbXSwgSlNWYWx1ZVJlZiogZXhjZXB0aW9uKQoreworICAgIFdlYktpdFdl
YlZpZXcqIHZpZXcgPSB3ZWJraXRfd2ViX2ZyYW1lX2dldF93ZWJfdmlldyhtYWluRnJhbWUpOwor
ICAgIGlmICghdmlldykKKyAgICAgICAgcmV0dXJuIEpTVmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRl
eHQpOworCisgICAgd2Via2l0X3dlYl92aWV3X3pvb21faW4odmlldyk7CisgICAgcmV0dXJuIEpT
VmFsdWVNYWtlVW5kZWZpbmVkKGNvbnRleHQpOworfQorCitzdGF0aWMgSlNWYWx1ZVJlZiB6b29t
UGFnZU91dENhbGxiYWNrKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU09iamVjdFJlZiBmdW5jdGlv
biwgSlNPYmplY3RSZWYgdGhpc09iamVjdCwgc2l6ZV90IGFyZ3VtZW50Q291bnQsIGNvbnN0IEpT
VmFsdWVSZWYgYXJndW1lbnRzW10sIEpTVmFsdWVSZWYqIGV4Y2VwdGlvbikKK3sKKyAgICBXZWJL
aXRXZWJWaWV3KiB2aWV3ID0gd2Via2l0X3dlYl9mcmFtZV9nZXRfd2ViX3ZpZXcobWFpbkZyYW1l
KTsKKyAgICBpZiAoIXZpZXcpCisgICAgICAgIHJldHVybiBKU1ZhbHVlTWFrZVVuZGVmaW5lZChj
b250ZXh0KTsKKworICAgIHdlYmtpdF93ZWJfdmlld196b29tX291dCh2aWV3KTsKKyAgICByZXR1
cm4gSlNWYWx1ZU1ha2VVbmRlZmluZWQoY29udGV4dCk7Cit9CisKK3N0YXRpYyBKU1N0YXRpY0Z1
bmN0aW9uIHN0YXRpY0Z1bmN0aW9uc1tdID0geworICAgIHsgImNvbnRleHRDbGljayIsIGNvbnRl
eHRDbGlja0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVy
dHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAibW91c2VEb3duIiwgbW91c2VEb3duQ2Fs
bGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0
ZURvbnREZWxldGUgfSwKKyAgICB7ICJtb3VzZVVwIiwgbW91c2VVcENhbGxiYWNrLCBrSlNQcm9w
ZXJ0eUF0dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0s
CisgICAgeyAibW91c2VNb3ZlVG8iLCBtb3VzZU1vdmVUb0NhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0
dHJpYnV0ZVJlYWRPbmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAg
eyAiYmVnaW5EcmFnV2l0aEZpbGVzIiwgYmVnaW5EcmFnV2l0aEZpbGVzQ2FsbGJhY2ssIGtKU1By
b3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUg
fSwKKyAgICB7ICJsZWFwRm9yd2FyZCIsIGxlYXBGb3J3YXJkQ2FsbGJhY2ssIGtKU1Byb3BlcnR5
QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURvbnREZWxldGUgfSwKKyAg
ICB7ICJrZXlEb3duIiwga2V5RG93bkNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZVJlYWRP
bmx5IHwga0pTUHJvcGVydHlBdHRyaWJ1dGVEb250RGVsZXRlIH0sCisgICAgeyAidGV4dFpvb21J
biIsIHRleHRab29tSW5DYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtK
U1Byb3BlcnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgInRleHRab29tT3V0IiwgdGV4
dFpvb21PdXRDYWxsYmFjaywga0pTUHJvcGVydHlBdHRyaWJ1dGVSZWFkT25seSB8IGtKU1Byb3Bl
cnR5QXR0cmlidXRlRG9udERlbGV0ZSB9LAorICAgIHsgInpvb21QYWdlSW4iLCB6b29tUGFnZUlu
Q2FsbGJhY2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJp
YnV0ZURvbnREZWxldGUgfSwKKyAgICB7ICJ6b29tUGFnZU91dCIsIHpvb21QYWdlT3V0Q2FsbGJh
Y2ssIGtKU1Byb3BlcnR5QXR0cmlidXRlUmVhZE9ubHkgfCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZURv
bnREZWxldGUgfSwKKyAgICB7IDAsIDAsIDAgfQorfTsKKworc3RhdGljIEpTU3RhdGljVmFsdWUg
c3RhdGljVmFsdWVzW10gPSB7CisgICAgeyAiZHJhZ01vZGUiLCBnZXREcmFnTW9kZUNhbGxiYWNr
LCBzZXREcmFnTW9kZUNhbGxiYWNrLCBrSlNQcm9wZXJ0eUF0dHJpYnV0ZU5vbmUgfSwKKyAgICB7
IDAsIDAsIDAsIDAgfQorfTsKKworc3RhdGljIEpTQ2xhc3NSZWYgZ2V0Q2xhc3MoSlNDb250ZXh0
UmVmIGNvbnRleHQpCit7CisgICAgc3RhdGljIEpTQ2xhc3NSZWYgZXZlbnRTZW5kZXJDbGFzcyA9
IDA7CisKKyAgICBpZiAoIWV2ZW50U2VuZGVyQ2xhc3MpIHsKKyAgICAgICAgSlNDbGFzc0RlZmlu
aXRpb24gY2xhc3NEZWZpbml0aW9uID0geworICAgICAgICAgICAgICAgIDAsIDAsIDAsIDAsIDAs
IDAsCisgICAgICAgICAgICAgICAgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMCwgMH07Cisg
ICAgICAgIGNsYXNzRGVmaW5pdGlvbi5zdGF0aWNGdW5jdGlvbnMgPSBzdGF0aWNGdW5jdGlvbnM7
CisgICAgICAgIGNsYXNzRGVmaW5pdGlvbi5zdGF0aWNWYWx1ZXMgPSBzdGF0aWNWYWx1ZXM7CisK
KyAgICAgICAgZXZlbnRTZW5kZXJDbGFzcyA9IEpTQ2xhc3NDcmVhdGUoJmNsYXNzRGVmaW5pdGlv
bik7CisgICAgfQorCisgICAgcmV0dXJuIGV2ZW50U2VuZGVyQ2xhc3M7Cit9CisKK0pTT2JqZWN0
UmVmIG1ha2VFdmVudFNlbmRlcihKU0NvbnRleHRSZWYgY29udGV4dCkKK3sKKyAgICBkb3duID0g
ZmFsc2U7CisgICAgZHJhZ01vZGUgPSB0cnVlOworICAgIGxhc3RNb3VzZVBvc2l0aW9uWCA9IGxh
c3RNb3VzZVBvc2l0aW9uWSA9IDA7CisgICAgbGFzdENsaWNrUG9zaXRpb25YID0gbGFzdENsaWNr
UG9zaXRpb25ZID0gMDsKKworICAgIGlmICghcmVwbGF5aW5nU2F2ZWRFdmVudHMpIHsKKyAgICAg
ICAgLy8gVGhpcyBmdW5jdGlvbiBjYW4gYmUgY2FsbGVkIGluIHRoZSBtaWRkbGUgb2YgYSB0ZXN0
LCBldmVuCisgICAgICAgIC8vIHdoaWxlIHJlcGxheWluZyBzYXZlZCBldmVudHMuIFJlc2V0dGlu
ZyB0aGVzZSB3aGlsZSBkb2luZyB0aGF0CisgICAgICAgIC8vIGNhbiBicmVhayB0aGluZ3MuCisg
ICAgICAgIGVuZE9mUXVldWUgPSAwOworICAgICAgICBzdGFydE9mUXVldWUgPSAwOworICAgIH0K
KworICAgIHJldHVybiBKU09iamVjdE1ha2UoY29udGV4dCwgZ2V0Q2xhc3MoY29udGV4dCksIDAp
OworfQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2Vu
ZGVyLmggYi9XZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRXZlbnRTZW5kZXIuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzJlOGE5Ci0tLSAvZGV2L251bGwKKysr
IGIvV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmgKQEAgLTAsMCAr
MSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBBcHBsZSBJbmMuICBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0
aGVyCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiAgTmVpdGhlciB0aGUgbmFtZSBvZiBBcHBsZSBD
b21wdXRlciwgSW5jLiAoIkFwcGxlIikgbm9yIHRoZSBuYW1lcyBvZgorICogICAgIGl0cyBjb250
cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQKKyAqICAgICBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0
dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBBTkQgSVRTIENPTlRSSUJVVE9SUyAiQVMgSVMiIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQKKyAq
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YKKyAqIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2lmbmRlZiBFdmVudFNlbmRlcl9oCisjZGVmaW5lIEV2ZW50U2VuZGVyX2gKKwordHlwZWRl
ZiBjb25zdCBzdHJ1Y3QgT3BhcXVlSlNDb250ZXh0KiBKU0NvbnRleHRSZWY7Cit0eXBlZGVmIHN0
cnVjdCBPcGFxdWVKU1ZhbHVlKiBKU09iamVjdFJlZjsKKworSlNPYmplY3RSZWYgbWFrZUV2ZW50
U2VuZGVyKEpTQ29udGV4dFJlZiBjb250ZXh0KTsKK3ZvaWQgcmVwbGF5U2F2ZWRFdmVudHMoKTsK
KworI2VuZGlmCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbSBiL1dlYktp
dFRvb2xzL0dOVW1ha2VmaWxlLmFtCmluZGV4IDQ4N2E0NzkuLmRhZjcwNjggMTAwNjQ0Ci0tLSBh
L1dlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYktpdFRvb2xzL0dOVW1ha2VmaWxl
LmFtCkBAIC02MCw2ICs2MCw4IEBAIFByb2dyYW1zX0R1bXBSZW5kZXJUcmVlX1NPVVJDRVMgPSBc
CiAJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRH
dGsuY3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWUu
Y3BwIFwKIAlXZWJLaXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvRHVtcFJlbmRlclRyZWVHdGsu
aCBcCisJV2ViS2l0VG9vbHMvRHVtcFJlbmRlclRyZWUvZ3RrL0V2ZW50U2VuZGVyLmggXAorCVdl
YktpdFRvb2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9FdmVudFNlbmRlci5jcHAgXAogCVdlYktpdFRv
b2xzL0R1bXBSZW5kZXJUcmVlL2d0ay9HQ0NvbnRyb2xsZXJHdGsuY3BwIFwKIAlXZWJLaXRUb29s
cy9EdW1wUmVuZGVyVHJlZS9ndGsvTGF5b3V0VGVzdENvbnRyb2xsZXJHdGsuY3BwIFwKIAlXZWJL
aXRUb29scy9EdW1wUmVuZGVyVHJlZS9ndGsvV29ya1F1ZXVlSXRlbUd0ay5jcHAK
</data>

          </attachment>
      

    </bug>

</bugzilla>