<?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>67321</bug_id>
          
          <creation_ts>2011-08-31 14:33:14 -0700</creation_ts>
          <short_desc>[CSS3 Backgrounds and Borders] Implement border-image-slice</short_desc>
          <delta_ts>2011-09-06 14:45:10 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27583</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Hyatt">hyatt</reporter>
          <assigned_to name="Dave Hyatt">hyatt</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>gustavo.noronha</cc>
    
    <cc>gustavo</cc>
    
    <cc>ossy</cc>
    
    <cc>rniwa</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>459928</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-31 14:33:14 -0700</bug_when>
    <thetext>This bug is tracking the implementation of the border-image-slice property.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459946</commentid>
    <comment_count>1</comment_count>
      <attachid>105833</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-31 14:49:24 -0700</bug_when>
    <thetext>Created attachment 105833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459958</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 14:53:35 -0700</bug_when>
    <thetext>Attachment 105833 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

LayoutTests/ChangeLog:1:  ChangeLog entry has no bug number  [changelog/bugnumber] [5]
Source/WebCore/css/CSSBorderImageValue.h:58:  The parameter name &quot;slice&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/css/CSSParser.h:39:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
Source/WebCore/css/CSSParser.h:170:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSStyleSelector.cpp:5733:  l is incorrectly named. Don&apos;t use the single letter &apos;l&apos; as an identifier name.  [readability/naming] [4]
Source/WebCore/css/CSSBorderImageSliceValue.h:47:  Should have only a single space after a punctuation in a comment.  [whitespace/comments] [5]
Source/WebCore/css/CSSParser.cpp:5296:  Local variables should never be PassRefPtr (see http://webkit.org/coding/RefPtr.html).  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.cpp:5360:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 8 in 30 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459984</commentid>
    <comment_count>3</comment_count>
      <attachid>105833</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-08-31 15:33:15 -0700</bug_when>
    <thetext>Comment on attachment 105833
Patch

Attachment 105833 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9572676</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>459997</commentid>
    <comment_count>4</comment_count>
      <attachid>105833</attachid>
    <who name="Beth Dakin">bdakin</who>
    <bug_when>2011-08-31 15:44:20 -0700</bug_when>
    <thetext>Comment on attachment 105833
Patch

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

r=me! Dave mentioned on irc that he fixed all of the style issues except the RefPtr thing, which there is an open question about. Either way, parseBorderImage (which already exists in the codebase) does the same thing, so it&apos;s probably okay to check some more similar code in while Dave&apos;s figuring out the right thing.

&gt; Source/WebCore/css/CSSParser.cpp:5318
&gt; +    PassRefPtr&lt;CSSBorderImageSliceValue&gt; commitBorderImageSlice()

I feel like some comments would be nice in this function. I think I can make out why m_top is asserted and why m_bottom and m_left are set if there is no m_right by looking at the patch as a whole, but some comments would be nice so that it&apos;s less mysterious out of context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460028</commentid>
    <comment_count>5</comment_count>
      <attachid>105833</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 16:13:56 -0700</bug_when>
    <thetext>Comment on attachment 105833
Patch

Attachment 105833 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9565957

New failing tests:
fast/gradients/border-image-gradient-sides-and-corners.html
fast/css/getComputedStyle/computed-style-without-renderer.html
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/reflections/reflection-computed-style.html
fast/borders/border-image-slices.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460166</commentid>
    <comment_count>6</comment_count>
      <attachid>105883</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-31 19:17:00 -0700</bug_when>
    <thetext>Created attachment 105883
New patch to test out EWS etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460168</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 19:20:54 -0700</bug_when>
    <thetext>Attachment 105883 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1

Last 3072 characters of output:
ved.  [readability/parameter_name] [5]
Source/WebCore/css/CSSParser.h:148:  The parameter name &quot;rgb&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/css/CSSParser.h:169:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:170:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:178:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:180:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:181:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:182:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:186:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:186:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:186:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:187:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:187:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:225:  The parameter name &quot;marginBox&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/css/CSSParser.h:309:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Source/WebCore/css/CSSParser.h:323:  The parameter name &quot;value&quot; adds no information, so it should be removed.  [readability/parameter_name] [5]
Source/WebCore/css/CSSParser.h:327:  yy_c_buf_p is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/css/CSSParser.h:328:  yy_hold_char is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/css/CSSParser.h:329:  yy_last_accepting_state is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/css/CSSParser.h:330:  yy_last_accepting_cpos is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/css/CSSParser.h:333:  yy_start is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Source/WebCore/css/CSSParser.h:357:  One space before end of line comments  [whitespace/comments] [5]
Source/WebCore/css/CSSParser.h:367:  Missing spaces around |  [whitespace/operators] [3]
Source/WebCore/css/CSSParser.cpp:5360:  The parameter type should use PassRefPtr instead of RefPtr.  [readability/pass_ptr] [5]
Total errors found: 41 in 31 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460169</commentid>
    <comment_count>8</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-08-31 19:23:49 -0700</bug_when>
    <thetext>LOL so fixing CSSParser&apos;s indentation namespace problem just exposes me to a zillion style errors. I give up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460177</commentid>
    <comment_count>9</comment_count>
      <attachid>105883</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-08-31 19:47:03 -0700</bug_when>
    <thetext>Comment on attachment 105883
New patch to test out EWS etc.

Attachment 105883 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/9578199</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460185</commentid>
    <comment_count>10</comment_count>
      <attachid>105883</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-31 20:07:44 -0700</bug_when>
    <thetext>Comment on attachment 105883
New patch to test out EWS etc.

Attachment 105883 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9578208

New failing tests:
svg/css/getComputedStyle-basic.xhtml
fast/css/getComputedStyle/computed-style.html
fast/borders/border-image-slices.html
fast/css/getComputedStyle/computed-style-without-renderer.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460198</commentid>
    <comment_count>11</comment_count>
      <attachid>105833</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-08-31 20:47:02 -0700</bug_when>
    <thetext>Comment on attachment 105833
Patch

Attachment 105833 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9570862</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460231</commentid>
    <comment_count>12</comment_count>
      <attachid>105883</attachid>
    <who name="Collabora GTK+ EWS bot">gustavo.noronha</who>
    <bug_when>2011-08-31 22:46:24 -0700</bug_when>
    <thetext>Comment on attachment 105883
New patch to test out EWS etc.

Attachment 105883 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/9570899</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460572</commentid>
    <comment_count>13</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-09-01 10:24:56 -0700</bug_when>
    <thetext>Original patch landed in http://trac.webkit.org/changeset/94299

And I had to fix the Qt build ( http://trac.webkit.org/changeset/94304 ) , because Dave was too lazy to respect WebKit policies and fix the build before and after landing ... :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460659</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-09-01 11:53:13 -0700</bug_when>
    <thetext>This broke http://build.webkit.org/results/Lion%20Intel%20Debug%20(Tests)/r94299%20(410)/fast/dom/prototype-inheritance-2-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>460769</commentid>
    <comment_count>15</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-09-01 14:08:13 -0700</bug_when>
    <thetext>According to TestFailures, this patch caused the following 4 tests to fail on Snow Leopard:
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r94299%20(32757)/svg/css/getComputedStyle-basic-pretty-diff.html
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r94299%20(32757)/fast/dom/prototype-inheritance-2-pretty-diff.html
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r94299%20(32757)/fast/css/getComputedStyle/computed-style-without-renderer-pretty-diff.html
http://build.webkit.org/results/SnowLeopard%20Intel%20Release%20(Tests)/r94299%20(32757)/fast/css/getComputedStyle/computed-style-pretty-diff.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462868</commentid>
    <comment_count>16</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2011-09-06 14:45:10 -0700</bug_when>
    <thetext>Fixed.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105833</attachid>
            <date>2011-08-31 14:49:24 -0700</date>
            <delta_ts>2011-08-31 20:47:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>93276</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTI0IEBACisyMDExLTA4LTMxICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjEKKworICAgICAgICBJbXBsZW1lbnQgYm9yZGVyLWltYWdl
LXNsaWNlLiBUaGlzIHdpbGwgZXZlbnR1YWxseSBiZSBhIGNvbXBvbmVudCBvZiB0aGUgbmV3IGJv
cmRlci1pbWFnZSBzaG9ydGhhbmQKKyAgICAgICAgcHJvcGVydHkuIEl0IGhvbGRzIHRoZSBjdXRz
IHRoYXQgeW91IG1ha2UgaW50byB0aGUgYm9yZGVyIGltYWdlIGFsb25nIHdpdGggYSBuZXcgb3B0
aW9uYWwgImZpbGwiCisgICAgICAgIGtleXdvcmQgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciBvciBu
b3QgdGhlIGNlbnRlciBzaG91bGQgYmUgZmlsbGVkIHdpdGggdGhlIG1pZGRsZSBzbGljZSBvZiB0
aGUgaW1hZ2UuCisgICAgICAgIAorICAgICAgICBCeSBkZWZhdWx0IC13ZWJraXQtYm9yZGVyLWlt
YWdlIGhhcyBhbHdheXMgZmlsbGVkLCBidXQgdGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlY2lm
aWNhdGlvbi4gVG8gcHJlc2VydmUKKyAgICAgICAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIC13
ZWJraXQtYm9yZGVyLWltYWdlIHdpbGwgY29udGludWUgdG8gZmlsbCBieSBkZWZhdWx0LCBidXQg
dGhpcyBkb2VzIHNsaWdodGx5IGFmZmVjdAorICAgICAgICBjb21wdXRlZCBzdHlsZSByZXN1bHRz
LCBzaW5jZSB0aGUgImZpbGwiIGtleXdvcmQgd2lsbCBub3cgYmUgaW5jbHVkZWQgaW4gcHJvcGVy
dHkgZHVtcHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgZmFzdC9ib3JkZXJzL2JvcmRlci1pbWFnZS1zbGljZXMuaHRtbC4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBX
ZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjp+Q1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6
Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6aXNCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUpOgorICAgICAgICBBZGQgYSBuZXcgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
IHRoYXQgaG9sZHMgYm90aCB0aGUgZm91ciBzbGljZXMgKGFzIGEgQ1NTIHJlY3QpIGFuZCB0aGUK
KyAgICAgICAgZmlsbCBrZXl3b3JkIChhcyBhIGJvb2xlYW4pLiBOb3RlIHRoYXQgdGhlIGNzc1Rl
eHQoKSBkdW1waW5nIG9mIHRoZSBzbGljZXMgaGFzIGJlZW4gcmVmaW5lZAorICAgICAgICB0byBi
ZSBzbWFydGVyLCBhbmQgaXQgd2lsbCBubyBsb25nZXIgZHVtcCByZXBlYXRpbmcgdmFsdWVzLgor
CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQm9yZGVySW1hZ2VWYWx1ZTo6Q1NTQm9yZGVySW1hZ2VWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NCb3JkZXJJbWFnZVZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1hZ2VWYWx1
ZTo6Y3JlYXRlKToKKyAgICAgICAgQ1NTQm9yZGVySW1hZ2VWYWx1ZSBub3cgb3ducyBhIENTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZSBpbnN0ZWFkIG9mIGp1c3QgYSBDU1MgcmVjdC4KKworICAgICAg
ICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKToKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVl
Rm9yTmluZVBpZWNlSW1hZ2UpOgorICAgICAgICBBZGQgYSBuZXcgbWV0aG9kLCB2YWx1ZUZvck5p
bmVQaWVjZUltYWdlU2xpY2UsIGZvciBnZXR0aW5nIHRoZSBzbGljZXMgcGx1cyB0aGUgZmlsbCB2
YWx1ZQorICAgICAgICBmcm9tIHRoZSBOaW5lUGllY2VJbWFnZSBhbmQgcHV0dGluZyBpdCBpbnRv
IGEgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLiBUaGlzIG1ldGhvZCBpcyBub3cgdXNlZCBieQor
ICAgICAgICB2YWx1ZUZvck5pbmVQaWVjZUltYWdlIHRvIGdldCB0aGUgQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlIHRoYXQgaXMgcGFydCBvZiB0aGUgb3ZlcmFsbAorICAgICAgICBDU1NCb3JkZXJJ
bWFnZVZhbHVlLgorICAgIAorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgQWRkaW5nIHN1cHBvcnQgZm9y
IHRoZSBuZXcgcHJvcGVydGllczogYm9yZGVyLWltYWdlLXNsaWNlIGFuZCAtd2Via2l0LW1hc2st
Ym94LWltYWdlLXNsaWNlLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Qm9y
ZGVySW1hZ2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0OjphbGxvd0JyZWFrKToKKyAgICAgICAg
KFdlYkNvcmU6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0Ojpjb21taXRJbWFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpCb3JkZXJJbWFnZVBhcnNlQ29udGV4dDo6Y29tbWl0U2xpY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VQYXJzZUNvbnRleHQ6OmNvbW1pdFNsYXNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0Ojpjb21taXRCb3JkZXJJbWFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2UpOgorICAgICAg
ICBNb2RpZnkgcGFyc2VCb3JkZXJJbWFnZSB0byBubyBsb25nZXIgcGFyc2UgdGhlIHNsaWNlcyBp
dHNlbGYuIEluc3RlYWQgaXQgZmFybXMgb3V0IHRoZSBwYXJzaW5nCisgICAgICAgIHRvIHBhcnNl
Qm9yZGVySW1hZ2VTbGljZS4KKworICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBh
cnNlQ29udGV4dDo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0OjphbGxvd051bWJlcik6CisgICAgICAg
IChXZWJDb3JlOjpCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0OjphbGxvd0ZpbGwpOgorICAg
ICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6YWxsb3dGaW5hbENv
bW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0Ojp0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29t
bWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRl
eHQ6OmNvbW1pdEZpbGwpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNl
Q29udGV4dDo6c2V0QWxsb3dGaW5hbENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJ
bWFnZVNsaWNlUGFyc2VDb250ZXh0OjpzZXRUb3ApOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0Qm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAgIFNs
aWNlIHBhcnNpbmcgaGFzIG5vdyBiZWVuIGJyb2tlbiBvdXQgc28gdGhhdCBpdCBjYW4gYmUgcGFy
c2VkIGFzIGEgc2luZ2xlIHByb3BlcnR5LiBJbiBhZGRpdGlvbgorICAgICAgICBzdXBwb3J0IGZv
ciB0aGUgImZpbGwiIGtleXdvcmQgaGFzIGJlZW4gYWRkZWQgdG8gY29udHJvbCBpbWFnZSBmaWxs
aW5nLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICBNb2RpZmllZCB0byBh
ZGQgdGhlIG5ldyBwYXJzZUJvcmRlckltYWdlU2xpY2UgbWV0aG9kLgorCisgICAgICAgICogY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgIEFkZCB0aGUgbmV3IHByb3BlcnRpZXM6IGJv
cmRlci1pbWFnZS1zbGljZSBhbmQgLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zbGljZS4KKworICAg
ICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0
eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6bWFwTmluZVBpZWNlSW1hZ2UpOgorICAgICAgICBSZXdvcmsgbWFwTmluZVBpZWNl
SW1hZ2UgdG8gY2FsbCBtYXBOaW5lUGllY2VJbWFnZVNsaWNlIHNvIHRoYXQgdGhlIG1hcHBpbmcg
Y2FuIGJlIGRvbmUganVzdCBmb3IKKyAgICAgICAgdGhlIHNsaWNlcy4KKworICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwTmluZVBpZWNlSW1hZ2VTbGljZSk6CisgICAgICAg
IEEgbmV3IG1ldGhvZCB0aGF0IGhhbmRsZXMgbWFwcGluZyBqdXN0IHRoZSBzbGljZXMgaW50byB0
aGUgZnJvbnQtZW5kIE5pbmVQaWVjZUltYWdlLgorCisgICAgICAgIChXZWJDb3JlOjpDU1NTdHls
ZVNlbGVjdG9yOjpsb2FkUGVuZGluZ0ltYWdlcyk6CisgICAgICAgIE1vZGlmaWVkIHRvIGVuc3Vy
ZSB0aGUgZmlsbCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgd2hlbiBib3gtcmVmbGVjdCBtYWtlcyBhIG5l
dyBOaW5lUGllY2VJbWFnZS4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6Cisg
ICAgICAgIEFkZGVkIHRoZSBuZXcgbWFwTmluZVBpZWNlSW1hZ2VTbGljZSBtZXRob2QuCisKKyAg
ICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0Jv
cmRlckltYWdlU2xpY2VWYWx1ZSk6CisgICAgICAgIFZpcnR1YWwgZnVuY3Rpb24gZm9yIGlkZW50
aWZ5aW5nIGJvcmRlciBpbWFnZSBzbGljZSB2YWx1ZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9k
ZWxPYmplY3Q6OnBhaW50TmluZVBpZWNlSW1hZ2UpOgorICAgICAgICBUaGUgcGFpbnRpbmcgb2Yg
dGhlIG5pbmUgcGllY2UgaW1hZ2UgaGFzIGJlZW4gbW9kaWZpZWQgdG8gbWF0Y2ggdGhlIHNwZWNp
ZmljYXRpb24uIFRoZSAiZmlsbCIKKyAgICAgICAga2V5d29yZCBjb250cm9scyB3aGV0aGVyIG9y
IG5vdCB0aGUgbWlkZGxlIGlzIHBhaW50ZWQuIEluIGFkZGl0aW9uIHNpZGVzIGRvIG5vdCBwYWlu
dCBpZiB0aGUKKyAgICAgICAgb3Bwb3NpdGUgYXhpcyBjb25zdW1lZCBhbGwgb2YgdGhlIGltYWdl
IHNpemUgKGFzIHBlciB0aGUgc3BlYykuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvTmlu
ZVBpZWNlSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmluZVBpZWNlSW1hZ2U6Om9wZXJh
dG9yPT0pOgorICAgICAgICBUaGUgZmlsbCBrZXl3b3JkIGhhcyB0byBiZSBjaGVja2VkIG5vdyBm
b3IgZXF1YWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5pbmVQaWVjZUltYWdlOjpOaW5lUGllY2VJbWFnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOaW5lUGllY2VJbWFnZTo6ZmlsbCk6CisgICAgICAgIChXZWJDb3Jl
OjpOaW5lUGllY2VJbWFnZTo6c2V0RmlsbCk6CisgICAgICAgIEFkZGVkIHRoZSBmaWxsIGtleXdv
cmQgdG8gdGhlIGZyb250IGVuZCBOaW5lUGllY2VJbWFnZS4KKworICAgICAgICAoV2ViQ29yZTo6
TmluZVBpZWNlSW1hZ2U6OmNvcHlTbGljZXNGcm9tKToKKyAgICAgICAgQWRkZWQgYSBoZWxwZXIg
dG8gY29weSBvbmx5IHRoZSBzbGljZXMgb3ZlciBmcm9tIGFub3RoZXIgTmluZVBpZWNlSW1hZ2Uu
IFVzZWQgd2hlbiBpbmhlcml0aW5nCisgICAgICAgIHRoZSBib3JkZXItaW1hZ2Utc2xpY2UgcHJv
cGVydHkgZnJvbSBhIHBhcmVudCBzdHlsZS4KKwogMjAxMS0wOC0zMSAgQWxleGVpIFN2aXRraW5l
ICA8YXN2aXRraW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1bSBNYWM6IFR3ZWFr
IHJ1YmJlciBiYW5kaW5nIG92ZXJoYW5nIHNoYWRvd3MuIEFkZCBhIGRyb3Agc2hhZG93IGZyb20g
dGhlIGJyb3dzZXIncyB0b29sYmFyLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9u
IDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQxMyw2ICs0MTMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAogCiAgICAgY3NzL0NTU0JvcmRlckltYWdl
VmFsdWUuY3BwCisgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTQ2FudmFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcAogICAgIGNzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZp
c2lvbiA5NDIwNSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5
KQpAQCAtMjMwNiw2ICsyMzA2LDggQEAKICAgICAgICAgICAgICdjb25maWcuaCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5o
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAgICAgICAgICdj
c3MvQ1NTQ2FudmFzVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmNw
cCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIHY4IHsKIAog
U09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKKyAgICBjc3Mv
Q1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwKICAg
ICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzI3NDksNiArMzI3NDksMTQg
QEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGUKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgorICAgICAg
ICAgICAgICAgICAgICAgICAgPC9GaWxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlLmgiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZT4KIAkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxjc3NcQ1NTQ2FudmFzVmFsdWUuY3BwIgogCQkJCT4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC00OTE5LDYgKzQ5MTksOCBAQAogCQlCQzIzRjBEQjBEQUZG
NEE0MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0
ZWRJbWFnZS5oICovOyB9OwogCQlCQzI0NDFDNDBFOEI2NUQwMDA1NTMyMEYgLyogU2Nyb2xsVmll
dy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI0
NDFDMzBFOEI2NUQwMDA1NTMyMEYgLyogU2Nyb2xsVmlldy5jcHAgKi87IH07CiAJCUJDMjVCNTJB
MTMxQzZEMzkwMDE4MEUxMCAvKiBMb2NhbGl6ZWRTdHJpbmdzTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNUI1MjgxMzFDNkQzOTAwMTgwRTEw
IC8qIExvY2FsaXplZFN0cmluZ3NNYWMubW0gKi87IH07CisJCUJDMjc0QjJGMTQwRUJFQjIwMEVB
REZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuaCAqLzsgfTsKKwkJQkMyNzRCMzExNDBFQkVEODAwRUFERkE2
IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI3NEIzMDE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9y
ZGVySW1hZ2VTbGljZVZhbHVlLmNwcCAqLzsgfTsKIAkJQkMyNzVCNzkxMUM1RDFDMzAwQzkyMDZD
IC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMyNzVCNzgxMUM1RDFDMzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9p
bnRDdXN0b20uY3BwICovOyB9OwogCQlCQzI3NUI3RDExQzVEMjM1MDBDOTIwNkMgLyogSlNXZWJL
aXRDU1NNYXRyaXhDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2ViS2l0Q1NTTWF0cml4
Q3VzdG9tLmNwcCAqLzsgfTsKIAkJQkMyNzVCODExMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRT
b3VyY2VDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNzVCODAxMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRTb3VyY2VDdXN0b20uY3Bw
ICovOyB9OwpAQCAtMTE2MzMsNiArMTE2MzUsOCBAQAogCQlCQzIzRjBEQTBEQUZGNEE0MDA5RkRD
OTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyNDQxQzMw
RThCNjVEMDAwNTUzMjBGIC8qIFNjcm9sbFZpZXcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsVmlldy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDMjVCNTI4MTMxQzZEMzkwMDE4MEUxMCAvKiBMb2NhbGl6ZWRTdHJpbmdzTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkU3RyaW5nc01h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMyNzRCMkUxNDBFQkVCMjAwRUFE
RkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQkMyNzRCMzAxNDBFQkVEODAwRUFERkE2IC8qIENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzI3
NUI3ODExQzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpT
V2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkMyNzVCODAxMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRTb3VyY2VDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFdmVudFNvdXJjZUN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTM5MSw2ICsxOTM5NSw4
IEBACiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICovLAogCQkJ
CUE4MEU2Q0JCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCAqLywK
IAkJCQlBODBFNkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oICov
LAorCQkJCUJDMjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuY3BwICovLAorCQkJCUJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUuaCAqLywKIAkJCQlCQzYwNEE0MjBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2Fu
dmFzVmFsdWUuY3BwICovLAogCQkJCUJDNjA0OUNCMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52
YXNWYWx1ZS5oICovLAogCQkJCUUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0
UnVsZS5jcHAgKi8sCkBAIC0yMzQ2NCw2ICsyMzQ3MCw3IEBACiAJCQkJQjEwQjY5ODAxNDBDMTc0
MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMTBCNjk4MjE0
MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRUVG9rZW5pemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
QjBGQjE5MjE0MERCNTc5MDAyMjU4OEYgLyogSFRUUFZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMjc0QjJGMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjYyNzYsNiArMjYyODMsNyBAQAogCQkJCUU0NTMyMkFC
MTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUIxMEI2OTgxMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOUIwRkIxOTExNDBEQjU3OTAwMjI1ODhGIC8qIEhUVFBWYWxpZGF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUJDMjc0QjMxMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIgorCisjaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKKyNpbmNsdWRlICJSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUoUGFzc1JlZlB0
cjxSZWN0PiBzbGljZVJlY3QsIGJvb2wgZmlsbCkKKyAgICA6IG1fcmVjdChzbGljZVJlY3QpCisg
ICAgLCBtX2ZpbGwoZmlsbCkKK3sKK30KKworQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjp+Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBpc24ndCByZWFsbHkgYSBD
U1MgcmVjdCwgc28gd2UgZHVtcCBtYW51YWxseQorICAgIFN0cmluZyB0ZXh0ID0gbV9yZWN0LT50
b3AoKS0+Y3NzVGV4dCgpOworICAgIGlmIChtX3JlY3QtPnJpZ2h0KCkgIT0gbV9yZWN0LT50b3Ao
KSB8fCBtX3JlY3QtPmJvdHRvbSgpICE9IG1fcmVjdC0+dG9wKCkgfHwgbV9yZWN0LT5sZWZ0KCkg
IT0gbV9yZWN0LT50b3AoKSkgeworICAgICAgICB0ZXh0ICs9ICIgIjsKKyAgICAgICAgdGV4dCAr
PSBtX3JlY3QtPnJpZ2h0KCktPmNzc1RleHQoKTsKKyAgICAgICAgaWYgKG1fcmVjdC0+Ym90dG9t
KCkgIT0gbV9yZWN0LT50b3AoKSB8fCBtX3JlY3QtPnJpZ2h0KCkgIT0gbV9yZWN0LT5sZWZ0KCkp
IHsKKyAgICAgICAgICAgIHRleHQgKz0gIiAiOworICAgICAgICAgICAgdGV4dCArPSBtX3JlY3Qt
PmJvdHRvbSgpLT5jc3NUZXh0KCk7CisgICAgICAgICAgICBpZiAobV9yZWN0LT5sZWZ0KCkgIT0g
bV9yZWN0LT5yaWdodCgpKSB7CisgICAgICAgICAgICAgICAgdGV4dCArPSAiICI7CisgICAgICAg
ICAgICAgICAgdGV4dCArPSBtX3JlY3QtPmxlZnQoKS0+Y3NzVGV4dCgpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gTm93IHRoZSBmaWxsIGtleXdvcmRzIGlmIGl0
IGlzIHByZXNlbnQuCisgICAgaWYgKG1fZmlsbCkKKyAgICAgICAgdGV4dCArPSAiIGZpbGwiOwor
ICAgIHJldHVybiB0ZXh0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWVfaAorI2RlZmluZSBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWVfaAorCisjaW5j
bHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZWN0OworCitj
bGFzcyBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gY3JlYXRl
KFBhc3NSZWZQdHI8UmVjdD4gc2xpY2VSZWN0LCBib29sIGZpbGwpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZShzbGljZVJlY3QsIGZp
bGwpKTsKKyAgICB9CisgICAgdmlydHVhbCB+Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlKCk7CisK
KyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisKKyAgICAvLyBUaGVzZSBmb3Vy
IHZhbHVlcyBhcmUgdXNlZCB0byBtYWtlICJjdXRzIiBpbiB0aGUgYm9yZGVyIGltYWdlLiAgVGhl
eSBjYW4gYmUgbnVtYmVycworICAgIC8vIG9yIHBlcmNlbnRhZ2VzLgorICAgIFJlZlB0cjxSZWN0
PiBtX3JlY3Q7CisgICAgYm9vbCBtX2ZpbGw7CisKK3ByaXZhdGU6CisgICAgQ1NTQm9yZGVySW1h
Z2VTbGljZVZhbHVlKFBhc3NSZWZQdHI8UmVjdD4gc2xpY2VSZWN0LCBib29sIGZpbGwpOworICAg
IHZpcnR1YWwgYm9vbCBpc0JvcmRlckltYWdlU2xpY2VWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIHRy
dWU7IH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0JvcmRl
ckltYWdlU2xpY2VWYWx1ZV9oCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlcklt
YWdlVmFsdWUuY3BwCShyZXZpc2lvbiA5NDIwNSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NC
b3JkZXJJbWFnZVZhbHVlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjYsOSArMjYsOSBAQAogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKLUNTU0JvcmRlckltYWdlVmFsdWU6OkNTU0JvcmRlckltYWdl
VmFsdWUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1hZ2UsIFBhc3NSZWZQdHI8UmVjdD4gaW1hZ2VS
ZWN0LCBpbnQgaG9yaXpvbnRhbFJ1bGUsIGludCB2ZXJ0aWNhbFJ1bGUpCitDU1NCb3JkZXJJbWFn
ZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVZhbHVlKFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGltYWdlLCBQ
YXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gc2xpY2UsIGludCBob3Jpem9udGFs
UnVsZSwgaW50IHZlcnRpY2FsUnVsZSkKICAgICA6IG1faW1hZ2UoaW1hZ2UpCi0gICAgLCBtX2lt
YWdlU2xpY2VSZWN0KGltYWdlUmVjdCkKKyAgICAsIG1fc2xpY2Uoc2xpY2UpCiAgICAgLCBtX2hv
cml6b250YWxTaXplUnVsZShob3Jpem9udGFsUnVsZSkKICAgICAsIG1fdmVydGljYWxTaXplUnVs
ZSh2ZXJ0aWNhbFJ1bGUpCiB7CkBAIC00NCwxNCArNDQsOCBAQCBTdHJpbmcgQ1NTQm9yZGVySW1h
Z2VWYWx1ZTo6Y3NzVGV4dCgpIGNvCiAgICAgU3RyaW5nIHRleHQobV9pbWFnZS0+Y3NzVGV4dCgp
KTsKICAgICB0ZXh0ICs9ICIgIjsKIAotICAgIC8vIE5vdyB0aGUgcmVjdCwgYnV0IGl0IGlzbid0
IHJlYWxseSBhIHJlY3QsIHNvIHdlIGR1bXAgbWFudWFsbHkKLSAgICB0ZXh0ICs9IG1faW1hZ2VT
bGljZVJlY3QtPnRvcCgpLT5jc3NUZXh0KCk7Ci0gICAgdGV4dCArPSAiICI7Ci0gICAgdGV4dCAr
PSBtX2ltYWdlU2xpY2VSZWN0LT5yaWdodCgpLT5jc3NUZXh0KCk7Ci0gICAgdGV4dCArPSAiICI7
Ci0gICAgdGV4dCArPSBtX2ltYWdlU2xpY2VSZWN0LT5ib3R0b20oKS0+Y3NzVGV4dCgpOwotICAg
IHRleHQgKz0gIiAiOwotICAgIHRleHQgKz0gbV9pbWFnZVNsaWNlUmVjdC0+bGVmdCgpLT5jc3NU
ZXh0KCk7CisgICAgLy8gTm93IHRoZSBzbGljZXMuCisgICAgdGV4dCArPSBtX3NsaWNlLT5jc3NU
ZXh0KCk7CiAKICAgICAvLyBOb3cgdGhlIGtleXdvcmRzLgogICAgIHRleHQgKz0gIiAiOwpJbmRl
eDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oCShyZXZpc2lvbiA5NDIw
NSkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTIxLDcgKzIxLDcgQEAKICNpZm5kZWYgQ1NTQm9yZGVySW1hZ2VWYWx1ZV9oCiAj
ZGVmaW5lIENTU0JvcmRlckltYWdlVmFsdWVfaAogCi0jaW5jbHVkZSAiQ1NTVmFsdWUuaCIKKyNp
bmNsdWRlICJDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCIKICNpbmNsdWRlIDx3dGYvUGFzc1Jl
ZlB0ci5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KIApAQCAtMzEsOSArMzEsOSBAQCBjbGFz
cyBSZWN0OwogCiBjbGFzcyBDU1NCb3JkZXJJbWFnZVZhbHVlIDogcHVibGljIENTU1ZhbHVlIHsK
IHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NCb3JkZXJJbWFnZVZhbHVlPiBjcmVh
dGUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1hZ2UsIFBhc3NSZWZQdHI8UmVjdD4gc2xpY2VSZWN0
LCBpbnQgaG9yaXpvbnRhbFJ1bGUsIGludCB2ZXJ0aWNhbFJ1bGUpCisgICAgc3RhdGljIFBhc3NS
ZWZQdHI8Q1NTQm9yZGVySW1hZ2VWYWx1ZT4gY3JlYXRlKFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGlt
YWdlLCBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gc2xpY2UsIGludCBob3Jp
em9udGFsUnVsZSwgaW50IHZlcnRpY2FsUnVsZSkKICAgICB7Ci0gICAgICAgIHJldHVybiBhZG9w
dFJlZihuZXcgQ1NTQm9yZGVySW1hZ2VWYWx1ZShpbWFnZSwgc2xpY2VSZWN0LCBob3Jpem9udGFs
UnVsZSwgdmVydGljYWxSdWxlKSk7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTQm9y
ZGVySW1hZ2VWYWx1ZShpbWFnZSwgc2xpY2UsIGhvcml6b250YWxSdWxlLCB2ZXJ0aWNhbFJ1bGUp
KTsKICAgICB9CiAgICAgdmlydHVhbCB+Q1NTQm9yZGVySW1hZ2VWYWx1ZSgpOwogCkBAIC00OCwx
NCArNDgsMTQgQEAgcHVibGljOgogCiAgICAgLy8gVGhlc2UgZm91ciB2YWx1ZXMgYXJlIHVzZWQg
dG8gbWFrZSAiY3V0cyIgaW4gdGhlIGltYWdlLiAgVGhleSBjYW4gYmUgbnVtYmVycwogICAgIC8v
IG9yIHBlcmNlbnRhZ2VzLgotICAgIFJlZlB0cjxSZWN0PiBtX2ltYWdlU2xpY2VSZWN0OworICAg
IFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+IG1fc2xpY2U7CiAKICAgICAvLyBWYWx1
ZXMgZm9yIGhvdyB0byBoYW5kbGUgdGhlIHNjYWxpbmcvc3RyZXRjaGluZy90aWxpbmcgb2YgdGhl
IGltYWdlIHNsaWNlcy4KICAgICBpbnQgbV9ob3Jpem9udGFsU2l6ZVJ1bGU7IC8vIFJ1bGUgZm9y
IGhvdyB0byBhZGp1c3QgdGhlIHdpZHRocyBvZiB0aGUgdG9wL21pZGRsZS9ib3R0b20KICAgICBp
bnQgbV92ZXJ0aWNhbFNpemVSdWxlOyAvLyBSdWxlIGZvciBob3cgdG8gYWRqdXN0IHRoZSBoZWln
aHRzIG9mIHRoZSBsZWZ0L21pZGRsZS9yaWdodAogCiBwcml2YXRlOgotICAgIENTU0JvcmRlcklt
YWdlVmFsdWUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1hZ2UsIFBhc3NSZWZQdHI8UmVjdD4gc2xp
Y2VSZWN0LCBpbnQgaG9yaXpvbnRhbFJ1bGUsIGludCB2ZXJ0aWNhbFJ1bGUpOworICAgIENTU0Jv
cmRlckltYWdlVmFsdWUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1hZ2UsIFBhc3NSZWZQdHI8Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlPiBzbGljZSwgaW50IGhvcml6b250YWxSdWxlLCBpbnQgdmVy
dGljYWxSdWxlKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNCb3JkZXJJbWFnZVZhbHVlKCkgY29uc3Qg
eyByZXR1cm4gdHJ1ZTsgfQogfTsKIApJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHJldmlzaW9uIDk0MjA2KQorKysgU291
cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTczLDYgKzczLDcgQEAgc3RhdGljIGNvbnN0IGludCBjb21wdXRlZFByb3BlcnRp
ZXNbXSA9IAogICAgIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGUsCiAgICAgQ1NTUHJvcGVy
dHlCb3JkZXJCb3R0b21XaWR0aCwKICAgICBDU1NQcm9wZXJ0eUJvcmRlckNvbGxhcHNlLAorICAg
IENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VTbGljZSwKICAgICBDU1NQcm9wZXJ0eUJvcmRlckltYWdl
U291cmNlLAogICAgIENTU1Byb3BlcnR5Qm9yZGVyTGVmdENvbG9yLAogICAgIENTU1Byb3BlcnR5
Qm9yZGVyTGVmdFN0eWxlLApAQCAtMjI0LDYgKzIyNSw3IEBAIHN0YXRpYyBjb25zdCBpbnQgY29t
cHV0ZWRQcm9wZXJ0aWVzW10gPSAKICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVTdHlsZSwK
ICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tBdHRhY2htZW50LAogICAgIENTU1Byb3BlcnR5V2Vi
a2l0TWFza0JveEltYWdlLAorICAgIENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlU2xpY2Us
CiAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2VTb3VyY2UsCiAgICAgQ1NTUHJvcGVy
dHlXZWJraXRNYXNrQ2xpcCwKICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDb21wb3NpdGUsCkBA
IC0zMTgsMTcgKzMyMCwxMCBAQCBzdGF0aWMgaW50IHZhbHVlRm9yUmVwZWF0UnVsZShpbnQgcnVs
ZSkKICAgICAgICAgICAgIHJldHVybiBDU1NWYWx1ZVN0cmV0Y2g7CiAgICAgfQogfQotICAgICAg
ICAKLXN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvck5pbmVQaWVjZUltYWdlKGNv
bnN0IE5pbmVQaWVjZUltYWdlJiBpbWFnZSwgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0
aXZlVmFsdWVDYWNoZSkKKworCitzdGF0aWMgUGFzc1JlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNl
VmFsdWU+IHZhbHVlRm9yTmluZVBpZWNlSW1hZ2VTbGljZShjb25zdCBOaW5lUGllY2VJbWFnZSYg
aW1hZ2UsIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIHByaW1pdGl2ZVZhbHVlQ2FjaGUpCiB7Ci0g
ICAgaWYgKCFpbWFnZS5oYXNJbWFnZSgpKQotICAgICAgICByZXR1cm4gcHJpbWl0aXZlVmFsdWVD
YWNoZS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7Ci0gICAgCi0gICAgLy8g
SW1hZ2UgZmlyc3QuCi0gICAgUmVmUHRyPENTU1ZhbHVlPiBpbWFnZVZhbHVlOwotICAgIGlmIChp
bWFnZS5pbWFnZSgpKQotICAgICAgICBpbWFnZVZhbHVlID0gaW1hZ2UuaW1hZ2UoKS0+Y3NzVmFs
dWUoKTsKLSAgICAKICAgICAvLyBDcmVhdGUgdGhlIHNsaWNlcy4KICAgICBSZWZQdHI8Q1NTUHJp
bWl0aXZlVmFsdWU+IHRvcDsKICAgICBpZiAoaW1hZ2Uuc2xpY2VzKCkudG9wKCkuaXNQZXJjZW50
KCkpCkBAIC0zNjAsNyArMzU1LDIyIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1
ZUZvck5pbmUKICAgICByZWN0LT5zZXRCb3R0b20oYm90dG9tKTsKICAgICByZWN0LT5zZXRMZWZ0
KGxlZnQpOwogCi0gICAgcmV0dXJuIENTU0JvcmRlckltYWdlVmFsdWU6OmNyZWF0ZShpbWFnZVZh
bHVlLCByZWN0LCB2YWx1ZUZvclJlcGVhdFJ1bGUoaW1hZ2UuaG9yaXpvbnRhbFJ1bGUoKSksIHZh
bHVlRm9yUmVwZWF0UnVsZShpbWFnZS52ZXJ0aWNhbFJ1bGUoKSkpOworICAgIHJldHVybiBDU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWU6OmNyZWF0ZShyZWN0LCBpbWFnZS5maWxsKCkpOworfQorCitz
dGF0aWMgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZShjb25zdCBO
aW5lUGllY2VJbWFnZSYgaW1hZ2UsIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIHByaW1pdGl2ZVZh
bHVlQ2FjaGUpCit7CisgICAgaWYgKCFpbWFnZS5oYXNJbWFnZSgpKQorICAgICAgICByZXR1cm4g
cHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlSWRlbnRpZmllclZhbHVlKENTU1ZhbHVlTm9uZSk7
CisgICAgCisgICAgLy8gSW1hZ2UgZmlyc3QuCisgICAgUmVmUHRyPENTU1ZhbHVlPiBpbWFnZVZh
bHVlOworICAgIGlmIChpbWFnZS5pbWFnZSgpKQorICAgICAgICBpbWFnZVZhbHVlID0gaW1hZ2Uu
aW1hZ2UoKS0+Y3NzVmFsdWUoKTsKKyAgICAKKyAgICAvLyBDcmVhdGUgdGhlIHNsaWNlcy4KKyAg
ICBSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiBzbGljZSA9IHZhbHVlRm9yTmluZVBp
ZWNlSW1hZ2VTbGljZShpbWFnZSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CisgICAgcmV0dXJuIENT
U0JvcmRlckltYWdlVmFsdWU6OmNyZWF0ZShpbWFnZVZhbHVlLCBzbGljZSwgdmFsdWVGb3JSZXBl
YXRSdWxlKGltYWdlLmhvcml6b250YWxSdWxlKCkpLCB2YWx1ZUZvclJlcGVhdFJ1bGUoaW1hZ2Uu
dmVydGljYWxSdWxlKCkpKTsKIH0KIAogaW5saW5lIHN0YXRpYyBQYXNzUmVmUHRyPENTU1ByaW1p
dGl2ZVZhbHVlPiB6b29tQWRqdXN0ZWRQaXhlbFZhbHVlKGludCB2YWx1ZSwgY29uc3QgUmVuZGVy
U3R5bGUqIHN0eWxlLCBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNhY2hl
KQpAQCAtMTU4NSw4ICsxNTk1LDEyIEBAIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IENTU0NvbXB1dGVk
U3R5bGVEZWMKICAgICAgICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVJ
ZGVudGlmaWVyVmFsdWUoKHN0eWxlLT5iYWNrZmFjZVZpc2liaWxpdHkoKSA9PSBCYWNrZmFjZVZp
c2liaWxpdHlIaWRkZW4pID8gQ1NTVmFsdWVIaWRkZW4gOiBDU1NWYWx1ZVZpc2libGUpOwogICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2U6CiAgICAgICAgICAgICByZXR1
cm4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZShzdHlsZS0+Ym9yZGVySW1hZ2UoKSwgcHJpbWl0aXZl
VmFsdWVDYWNoZSk7CisgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZVNsaWNlOgor
ICAgICAgICAgICAgcmV0dXJuIHZhbHVlRm9yTmluZVBpZWNlSW1hZ2VTbGljZShzdHlsZS0+Ym9y
ZGVySW1hZ2UoKSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRNYXNrQm94SW1hZ2U6CiAgICAgICAgICAgICByZXR1cm4gdmFsdWVGb3JOaW5lUGll
Y2VJbWFnZShzdHlsZS0+bWFza0JveEltYWdlKCksIHByaW1pdGl2ZVZhbHVlQ2FjaGUpOworICAg
ICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlU2xpY2U6CisgICAgICAgICAg
ICByZXR1cm4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKHN0eWxlLT5tYXNrQm94SW1hZ2Uo
KSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRN
YXNrQm94SW1hZ2VTb3VyY2U6CiAgICAgICAgICAgICBpZiAoc3R5bGUtPm1hc2tCb3hJbWFnZVNv
dXJjZSgpKQogICAgICAgICAgICAgICAgIHJldHVybiBzdHlsZS0+bWFza0JveEltYWdlU291cmNl
KCktPmNzc1ZhbHVlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkocmV2aXNpb24g
OTQyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTQ1MSw2ICsxNDUxLDE1IEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZVZhbHVlKGludCBw
cm9wSWQsIGIKICAgICAgICAgfQogICAgICAgICBicmVhazsKICAgICB9CisgICAgY2FzZSBDU1NQ
cm9wZXJ0eUJvcmRlckltYWdlU2xpY2U6CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tC
b3hJbWFnZVNsaWNlOiB7CisgICAgICAgIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+
IHJlc3VsdDsKKyAgICAgICAgaWYgKHBhcnNlQm9yZGVySW1hZ2VTbGljZShwcm9wSWQsIHJlc3Vs
dCkpIHsKKyAgICAgICAgICAgIGFkZFByb3BlcnR5KHByb3BJZCwgcmVzdWx0LCBpbXBvcnRhbnQp
OworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7Cisg
ICAgfQogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1czoKICAgICBjYXNl
IENTU1Byb3BlcnR5Qm9yZGVyVG9wTGVmdFJhZGl1czoKICAgICBjYXNlIENTU1Byb3BlcnR5Qm9y
ZGVyQm90dG9tTGVmdFJhZGl1czoKQEAgLTUxMTgsNyArNTEyNyw2IEBAIHN0cnVjdCBCb3JkZXJJ
bWFnZVBhcnNlQ29udGV4dCB7CiAgICAgQm9yZGVySW1hZ2VQYXJzZUNvbnRleHQoQ1NTUHJpbWl0
aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNoZSkKICAgICA6IG1fcHJpbWl0aXZlVmFs
dWVDYWNoZShwcmltaXRpdmVWYWx1ZUNhY2hlKQogICAgICwgbV9hbGxvd0JyZWFrKGZhbHNlKQot
ICAgICwgbV9hbGxvd051bWJlcihmYWxzZSkKICAgICAsIG1fYWxsb3dTbGFzaChmYWxzZSkKICAg
ICAsIG1fYWxsb3dXaWR0aChmYWxzZSkKICAgICAsIG1fYWxsb3dSdWxlKGZhbHNlKQpAQCAtNTEz
MSwzMCArNTEzOSwxNyBAQCBzdHJ1Y3QgQm9yZGVySW1hZ2VQYXJzZUNvbnRleHQgewogICAgIHt9
CiAKICAgICBib29sIGFsbG93QnJlYWsoKSBjb25zdCB7IHJldHVybiBtX2FsbG93QnJlYWs7IH0K
LSAgICBib29sIGFsbG93TnVtYmVyKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd051bWJlcjsgfQog
ICAgIGJvb2wgYWxsb3dTbGFzaCgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dTbGFzaDsgfQogICAg
IGJvb2wgYWxsb3dXaWR0aCgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dXaWR0aDsgfQogICAgIGJv
b2wgYWxsb3dSdWxlKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1J1bGU7IH0KIAotICAgIHZvaWQg
Y29tbWl0SW1hZ2UoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1hZ2UpIHsgbV9pbWFnZSA9IGltYWdl
OyBtX2FsbG93TnVtYmVyID0gdHJ1ZTsgfQotICAgIHZvaWQgY29tbWl0TnVtYmVyKENTU1BhcnNl
clZhbHVlKiB2KQorICAgIHZvaWQgY29tbWl0SW1hZ2UoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1h
Z2UpIHsgbV9pbWFnZSA9IGltYWdlOyB9CisgICAgdm9pZCBjb21taXRTbGljZShQYXNzUmVmUHRy
PENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gc2xpY2UpCiAgICAgewotICAgICAgICBQYXNzUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWwgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0
ZVZhbHVlKHYtPmZWYWx1ZSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpdi0+dW5pdCk7
Ci0gICAgICAgIGlmICghbV90b3ApCi0gICAgICAgICAgICBtX3RvcCA9IHZhbDsKLSAgICAgICAg
ZWxzZSBpZiAoIW1fcmlnaHQpCi0gICAgICAgICAgICBtX3JpZ2h0ID0gdmFsOwotICAgICAgICBl
bHNlIGlmICghbV9ib3R0b20pCi0gICAgICAgICAgICBtX2JvdHRvbSA9IHZhbDsKLSAgICAgICAg
ZWxzZSB7Ci0gICAgICAgICAgICBBU1NFUlQoIW1fbGVmdCk7Ci0gICAgICAgICAgICBtX2xlZnQg
PSB2YWw7Ci0gICAgICAgIH0KLQorICAgICAgICBtX3NsaWNlID0gc2xpY2U7CiAgICAgICAgIG1f
YWxsb3dCcmVhayA9IG1fYWxsb3dTbGFzaCA9IG1fYWxsb3dSdWxlID0gdHJ1ZTsKLSAgICAgICAg
bV9hbGxvd051bWJlciA9ICFtX2xlZnQ7CiAgICAgfQotICAgIHZvaWQgY29tbWl0U2xhc2goKSB7
IG1fYWxsb3dCcmVhayA9IG1fYWxsb3dTbGFzaCA9IG1fYWxsb3dOdW1iZXIgPSBmYWxzZTsgbV9h
bGxvd1dpZHRoID0gdHJ1ZTsgfQorICAgIHZvaWQgY29tbWl0U2xhc2goKSB7IG1fYWxsb3dCcmVh
ayA9IG1fYWxsb3dTbGFzaCA9IGZhbHNlOyBtX2FsbG93V2lkdGggPSB0cnVlOyB9CiAgICAgdm9p
ZCBjb21taXRXaWR0aChDU1NQYXJzZXJWYWx1ZSogdmFsKQogICAgIHsKICAgICAgICAgaWYgKCFt
X2JvcmRlclRvcCkKQEAgLTUxODEsMjYgKzUxNzYsNiBAQCBzdHJ1Y3QgQm9yZGVySW1hZ2VQYXJz
ZUNvbnRleHQgewogICAgIH0KICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBjb21taXRCb3JkZXJJ
bWFnZShDU1NQYXJzZXIqIHAsIGJvb2wgaW1wb3J0YW50KQogICAgIHsKLSAgICAgICAgLy8gV2Ug
bmVlZCB0byBjbG9uZSBhbmQgcmVwZWF0IHZhbHVlcyBmb3IgYW55IG9taXNzaW9ucy4KLSAgICAg
ICAgaWYgKCFtX3JpZ2h0KSB7Ci0gICAgICAgICAgICBtX3JpZ2h0ID0gbV9wcmltaXRpdmVWYWx1
ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2
ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgICAgICBt
X2JvdHRvbSA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERv
dWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRp
dmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5j
cmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpV
bml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7Ci0gICAgICAgIH0KLSAgICAgICAgaWYg
KCFtX2JvdHRvbSkgewotICAgICAgICAgICAgbV9ib3R0b20gPSBtX3ByaW1pdGl2ZVZhbHVlQ2Fj
aGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFs
dWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fbGVm
dCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91Ymxl
VmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZl
VHlwZSgpKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIW1fbGVmdCkKLSAgICAgICAgICAgICBt
X2xlZnQgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERv
dWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1p
dGl2ZVR5cGUoKSk7Ci0KLSAgICAgICAgLy8gTm93IGJ1aWxkIGEgcmVjdCB2YWx1ZSB0byBob2xk
IGFsbCBmb3VyIG9mIG91ciBwcmltaXRpdmUgdmFsdWVzLgotICAgICAgICBSZWZQdHI8UmVjdD4g
cmVjdCA9IFJlY3Q6OmNyZWF0ZSgpOwotICAgICAgICByZWN0LT5zZXRUb3AobV90b3ApOwotICAg
ICAgICByZWN0LT5zZXRSaWdodChtX3JpZ2h0KTsKLSAgICAgICAgcmVjdC0+c2V0Qm90dG9tKG1f
Ym90dG9tKTsKLSAgICAgICAgcmVjdC0+c2V0TGVmdChtX2xlZnQpOwotCiAgICAgICAgIC8vIEZp
bGwgaW4gU1RSRVRDSCBhcyB0aGUgZGVmYXVsdCBpZiBpdCB3YXNuJ3Qgc3BlY2lmaWVkLgogICAg
ICAgICBpZiAoIW1faG9yaXpvbnRhbFJ1bGUpCiAgICAgICAgICAgICBtX2hvcml6b250YWxSdWxl
ID0gQ1NTVmFsdWVTdHJldGNoOwpAQCAtNTIyNywyMyArNTIwMiwxOCBAQCBzdHJ1Y3QgQm9yZGVy
SW1hZ2VQYXJzZUNvbnRleHQgewogICAgICAgICB9CiAKICAgICAgICAgLy8gTWFrZSBvdXIgbmV3
IGJvcmRlciBpbWFnZSB2YWx1ZSBub3cuCi0gICAgICAgIHJldHVybiBDU1NCb3JkZXJJbWFnZVZh
bHVlOjpjcmVhdGUobV9pbWFnZSwgcmVjdC5yZWxlYXNlKCksIG1faG9yaXpvbnRhbFJ1bGUsIG1f
dmVydGljYWxSdWxlKTsKKyAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlVmFsdWU6OmNyZWF0
ZShtX2ltYWdlLCBtX3NsaWNlLCBtX2hvcml6b250YWxSdWxlLCBtX3ZlcnRpY2FsUnVsZSk7CiAg
ICAgfQogICAgIAogICAgIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIG1fcHJpbWl0aXZlVmFsdWVD
YWNoZTsKIAogICAgIGJvb2wgbV9hbGxvd0JyZWFrOwotICAgIGJvb2wgbV9hbGxvd051bWJlcjsK
ICAgICBib29sIG1fYWxsb3dTbGFzaDsKICAgICBib29sIG1fYWxsb3dXaWR0aDsKICAgICBib29s
IG1fYWxsb3dSdWxlOwogCiAgICAgUmVmUHRyPENTU1ZhbHVlPiBtX2ltYWdlOwotCi0gICAgUmVm
UHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3RvcDsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IG1fcmlnaHQ7Ci0gICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX2JvdHRvbTsKLSAg
ICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fbGVmdDsKKyAgICBSZWZQdHI8Q1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlPiBtX3NsaWNlOwogCiAgICAgQ1NTUGFyc2VyVmFsdWUqIG1fYm9yZGVy
VG9wOwogICAgIENTU1BhcnNlclZhbHVlKiBtX2JvcmRlclJpZ2h0OwpAQCAtNTI3NCwxMCArNTI0
NCwxNSBAQCBib29sIENTU1BhcnNlcjo6cGFyc2VCb3JkZXJJbWFnZShpbnQgcHJvCiAgICAgZWxz
ZQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0
LT5uZXh0KCkpKSB7Ci0gICAgICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgdmFsaWRV
bml0KHZhbCwgRkludGVnZXIgfCBGTm9uTmVnIHwgRlBlcmNlbnQsIHRydWUpKSB7Ci0gICAgICAg
ICAgICBjb250ZXh0LmNvbW1pdE51bWJlcih2YWwpOwotICAgICAgICB9IGVsc2UgaWYgKHByb3BJ
ZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckltYWdlICYmIGNvbnRleHQuYWxsb3dTbGFzaCgp
ICYmIHZhbC0+dW5pdCA9PSBDU1NQYXJzZXJWYWx1ZTo6T3BlcmF0b3IgJiYgdmFsLT5pVmFsdWUg
PT0gJy8nKSB7CisgICAgLy8gUGFyc2UgdGhlIHNsaWNlIG5leHQuCisgICAgbV92YWx1ZUxpc3Qt
Pm5leHQoKTsKKyAgICBSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiBzbGljZTsKKyAg
ICBpZiAoIXBhcnNlQm9yZGVySW1hZ2VTbGljZShwcm9wSWQsIHNsaWNlKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIGNvbnRleHQuY29tbWl0U2xpY2Uoc2xpY2UpOworCisgICAgd2hpbGUg
KCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgeworICAgICAgICBpZiAocHJvcElkID09
IENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2UgJiYgY29udGV4dC5hbGxvd1NsYXNoKCkgJiYg
dmFsLT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciAmJiB2YWwtPmlWYWx1ZSA9PSAn
LycpIHsKICAgICAgICAgICAgIGNvbnRleHQuY29tbWl0U2xhc2goKTsKICAgICAgICAgfSBlbHNl
IGlmIChjb250ZXh0LmFsbG93V2lkdGgoKSAmJgogICAgICAgICAgICAgKHZhbC0+aWQgPT0gQ1NT
VmFsdWVUaGluIHx8IHZhbC0+aWQgPT0gQ1NTVmFsdWVNZWRpdW0gfHwgdmFsLT5pZCA9PSBDU1NW
YWx1ZVRoaWNrIHx8IHZhbGlkVW5pdCh2YWwsIEZMZW5ndGgsIG1fc3RyaWN0KSkpIHsKQEAgLTUy
ODksMTcgKzUyNjQsMTMwIEBAIGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlKGludCBw
cm8KICAgICAgICAgICAgIC8vIFNvbWV0aGluZyBpbnZhbGlkIHdhcyBlbmNvdW50ZXJlZC4KICAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQorICAgICAgICBtX3ZhbHVlTGlzdC0+
bmV4dCgpOwogICAgIH0KIAotICAgIGlmIChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgcHJvcElk
ICE9IENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2UpIHsKKyAgICBpZiAoY29udGV4dC5hbGxv
d0JyZWFrKCkpIHsKKyAgICAgICAgLy8gTmVlZCB0byBmdWxseSBjb21taXQgYXMgYSBzaW5nbGUg
dmFsdWUuCisgICAgICAgIHJlc3VsdCA9IGNvbnRleHQuY29tbWl0Qm9yZGVySW1hZ2UodGhpcywg
aW1wb3J0YW50KTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorCisgICAgcmV0dXJuIGZh
bHNlOworfQorCitjbGFzcyBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0IHsKK3B1YmxpYzoK
KyAgICBCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0KENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUq
IHByaW1pdGl2ZVZhbHVlQ2FjaGUpCisgICAgOiBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUocHJpbWl0
aXZlVmFsdWVDYWNoZSkKKyAgICAsIG1fYWxsb3dOdW1iZXIodHJ1ZSkKKyAgICAsIG1fYWxsb3dG
aWxsKGZhbHNlKQorICAgICwgbV9hbGxvd0ZpbmFsQ29tbWl0KGZhbHNlKQorICAgICwgbV9maWxs
KGZhbHNlKQorICAgIHsgfQorCisgICAgYm9vbCBhbGxvd051bWJlcigpIGNvbnN0IHsgcmV0dXJu
IG1fYWxsb3dOdW1iZXI7IH0KKyAgICBib29sIGFsbG93RmlsbCgpIGNvbnN0IHsgcmV0dXJuIG1f
YWxsb3dGaWxsOyB9CisgICAgYm9vbCBhbGxvd0ZpbmFsQ29tbWl0KCkgY29uc3QgeyByZXR1cm4g
bV9hbGxvd0ZpbmFsQ29tbWl0OyB9CisgICAgQ1NTUHJpbWl0aXZlVmFsdWUqIHRvcCgpIGNvbnN0
IHsgcmV0dXJuIG1fdG9wLmdldCgpOyB9CisKKyAgICB2b2lkIGNvbW1pdE51bWJlcihDU1NQYXJz
ZXJWYWx1ZSogdikKKyAgICB7CisgICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+
IHZhbCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCAoQ1NT
UHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2LT51bml0KTsKKyAgICAgICAgaWYgKCFtX3RvcCkK
KyAgICAgICAgICAgIG1fdG9wID0gdmFsOworICAgICAgICBlbHNlIGlmICghbV9yaWdodCkKKyAg
ICAgICAgICAgIG1fcmlnaHQgPSB2YWw7CisgICAgICAgIGVsc2UgaWYgKCFtX2JvdHRvbSkKKyAg
ICAgICAgICAgIG1fYm90dG9tID0gdmFsOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgIEFT
U0VSVCghbV9sZWZ0KTsKKyAgICAgICAgICAgIG1fbGVmdCA9IHZhbDsKKyAgICAgICAgfQorCisg
ICAgICAgIG1fYWxsb3dOdW1iZXIgPSAhbV9sZWZ0OworICAgICAgICBtX2FsbG93RmlsbCA9IHRy
dWU7CisgICAgICAgIG1fYWxsb3dGaW5hbENvbW1pdCA9IHRydWU7CisgICAgfQorCisgICAgdm9p
ZCBjb21taXRGaWxsKCkgeyBtX2ZpbGwgPSB0cnVlOyBtX2FsbG93RmlsbCA9IGZhbHNlOyBtX2Fs
bG93TnVtYmVyID0gZmFsc2U7IH0KKworICAgIHZvaWQgc2V0QWxsb3dGaW5hbENvbW1pdCgpIHsg
bV9hbGxvd0ZpbmFsQ29tbWl0ID0gdHJ1ZTsgfQorICAgIHZvaWQgc2V0VG9wKFBhc3NSZWZQdHI8
Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCkgeyBtX3RvcCA9IHZhbDsgfQorCisgICAgUGFzc1JlZlB0
cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+IGNvbW1pdEJvcmRlckltYWdlU2xpY2UoKQorICAg
IHsKKyAgICAgICAgLy8gV2UgbmVlZCB0byBjbG9uZSBhbmQgcmVwZWF0IHZhbHVlcyBmb3IgYW55
IG9taXNzaW9ucy4KKyAgICAgICAgQVNTRVJUKG1fdG9wKTsKKyAgICAgICAgaWYgKCFtX3JpZ2h0
KSB7CisgICAgICAgICAgICBtX3JpZ2h0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVW
YWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlw
ZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2JvdHRvbSA9IG1fcHJp
bWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChD
U1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOworICAg
ICAgICAgICAgbV9sZWZ0ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3Rv
cC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3At
PnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCFtX2JvdHRvbSkgewor
ICAgICAgICAgICAgbV9ib3R0b20gPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVl
KG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcylt
X3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1fbGVmdCA9IG1fcHJpbWl0aXZl
VmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFsdWUoKSwgKENTU1By
aW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAg
ICAgfQorICAgICAgICBpZiAoIW1fbGVmdCkKKyAgICAgICAgICAgICBtX2xlZnQgPSBtX3ByaW1p
dGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChD
U1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisK
KyAgICAgICAgLy8gTm93IGJ1aWxkIGEgcmVjdCB2YWx1ZSB0byBob2xkIGFsbCBmb3VyIG9mIG91
ciBwcmltaXRpdmUgdmFsdWVzLgorICAgICAgICBSZWZQdHI8UmVjdD4gcmVjdCA9IFJlY3Q6OmNy
ZWF0ZSgpOworICAgICAgICByZWN0LT5zZXRUb3AobV90b3ApOworICAgICAgICByZWN0LT5zZXRS
aWdodChtX3JpZ2h0KTsKKyAgICAgICAgcmVjdC0+c2V0Qm90dG9tKG1fYm90dG9tKTsKKyAgICAg
ICAgcmVjdC0+c2V0TGVmdChtX2xlZnQpOworCisgICAgICAgIC8vIE1ha2Ugb3VyIG5ldyBib3Jk
ZXIgaW1hZ2UgdmFsdWUgbm93LgorICAgICAgICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlOjpjcmVhdGUocmVjdC5yZWxlYXNlKCksIG1fZmlsbCk7CisgICAgfQorICAgIAorcHJpdmF0
ZToKKyAgICBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGU7CisK
KyAgICBib29sIG1fYWxsb3dOdW1iZXI7CisgICAgYm9vbCBtX2FsbG93RmlsbDsKKyAgICBib29s
IG1fYWxsb3dGaW5hbENvbW1pdDsKKworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV90
b3A7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBtX3JpZ2h0OworICAgIFJlZlB0cjxD
U1NQcmltaXRpdmVWYWx1ZT4gbV9ib3R0b207CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
PiBtX2xlZnQ7CisgICAgCisgICAgYm9vbCBtX2ZpbGw7Cit9OworCitib29sIENTU1BhcnNlcjo6
cGFyc2VCb3JkZXJJbWFnZVNsaWNlKGludCBwcm9wSWQsIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWU+JiByZXN1bHQpCit7CisgICAgQm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCBj
b250ZXh0KHByaW1pdGl2ZVZhbHVlQ2FjaGUoKSk7CisgICAgQ1NTUGFyc2VyVmFsdWUqIHZhbDsK
KyAgICB3aGlsZSAoKHZhbCA9IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CisgICAgICAgIGlm
IChjb250ZXh0LmFsbG93TnVtYmVyKCkgJiYgdmFsaWRVbml0KHZhbCwgRkludGVnZXIgfCBGTm9u
TmVnIHwgRlBlcmNlbnQsIHRydWUpKSB7CisgICAgICAgICAgICBjb250ZXh0LmNvbW1pdE51bWJl
cih2YWwpOworICAgICAgICB9IGVsc2UgaWYgKGNvbnRleHQuYWxsb3dGaWxsKCkgJiYgdmFsLT5p
ZCA9PSBDU1NWYWx1ZUZpbGwpCisgICAgICAgICAgICBjb250ZXh0LmNvbW1pdEZpbGwoKTsKKyAg
ICAgICAgZWxzZSBpZiAocHJvcElkID09IENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VTbGljZSB8fCBw
cm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2VTbGljZSkgeworICAgICAgICAg
ICAgLy8gSWYgd2UncmUgbm90IHBhcnNpbmcgYSBzaG9ydGhhbmQgdGhlbiB3ZSBhcmUgaW52YWxp
ZC4KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAg
ICBicmVhazsKKyAgICAgICAgbV92YWx1ZUxpc3QtPm5leHQoKTsKKyAgICB9CisKKyAgICBpZiAo
Y29udGV4dC5hbGxvd051bWJlcigpICYmICFjb250ZXh0LnRvcCgpICYmIChwcm9wSWQgPT0gQ1NT
UHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2UgfHwgcHJvcElkID09IENTU1Byb3BlcnR5V2Via2l0
Qm94UmVmbGVjdCkpIHsKICAgICAgICAgLy8gQWxsb3cgdGhlIHNsaWNlcyB0byBiZSBvbWl0dGVk
IGZvciBpbWFnZXMgdGhhdCBkb24ndCBmaXQgdG8gYSBib3JkZXIuICBXZSBqdXN0IHNldCB0aGUg
c2xpY2VzIHRvIGJlIDAuCi0gICAgICAgIGNvbnRleHQubV90b3AgPSBwcmltaXRpdmVWYWx1ZUNh
Y2hlKCktPmNyZWF0ZVZhbHVlKDAsIENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKTsKLSAg
ICAgICAgY29udGV4dC5tX2FsbG93QnJlYWsgPSB0cnVlOworICAgICAgICBjb250ZXh0LnNldFRv
cChwcmltaXRpdmVWYWx1ZUNhY2hlKCktPmNyZWF0ZVZhbHVlKDAsIENTU1ByaW1pdGl2ZVZhbHVl
OjpDU1NfTlVNQkVSKSk7CisgICAgICAgIGNvbnRleHQuc2V0QWxsb3dGaW5hbENvbW1pdCgpOwog
ICAgIH0KIAotICAgIGlmIChjb250ZXh0LmFsbG93QnJlYWsoKSkgeworICAgIGlmIChjb250ZXh0
LmFsbG93RmluYWxDb21taXQoKSkgeworICAgICAgICAvLyBGSVhNRTogRm9yIGJhY2t3YXJkcyBj
b21wYXRpYmlsaXR5LCAtd2Via2l0LWJvcmRlci1pbWFnZSwgLXdlYmtpdC1tYXNrLWJveC1pbWFn
ZSBhbmQgLXdlYmtpdC1ib3gtcmVmbGVjdCBoYXZlIHRvIGRvIGEgZmlsbCBieSBkZWZhdWx0Lgor
ICAgICAgICAvLyBGSVhNRTogV2hhdCBkbyB3ZSBkbyB3aXRoIC13ZWJraXQtYm94LXJlZmxlY3Qg
YW5kIC13ZWJraXQtbWFzay1ib3gtaW1hZ2U/IFByb2JhYmx5IGp1c3QgaGF2ZSB0byBsZWF2ZSB0
aGVtIGZpbGxpbmcuLi4KKyAgICAgICAgaWYgKHByb3BJZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJv
cmRlckltYWdlIHx8IHByb3BJZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tCb3hJbWFnZSB8fCBw
cm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRCb3hSZWZsZWN0KQorICAgICAgICAgICAgY29udGV4
dC5jb21taXRGaWxsKCk7CisKICAgICAgICAgLy8gTmVlZCB0byBmdWxseSBjb21taXQgYXMgYSBz
aW5nbGUgdmFsdWUuCi0gICAgICAgIHJlc3VsdCA9IGNvbnRleHQuY29tbWl0Qm9yZGVySW1hZ2Uo
dGhpcywgaW1wb3J0YW50KTsKKyAgICAgICAgcmVzdWx0ID0gY29udGV4dC5jb21taXRCb3JkZXJJ
bWFnZVNsaWNlKCk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIApJbmRleDogU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmgJKHdvcmtpbmcgY29weSkKQEAgLTM2LDYgKzM2LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCisgICAgY2xhc3MgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOwogICAgIGNsYXNz
IENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uOwogICAgIGNsYXNzIENTU1ByaW1pdGl2ZVZhbHVl
OwogICAgIGNsYXNzIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGU7CkBAIC0xNjYsNiArMTY3LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICAvLyBDU1MzIFBhcnNpbmcgUm91dGluZXMgKGZv
ciBwcm9wZXJ0aWVzIHNwZWNpZmljIHRvIENTUzMpCiAgICAgICAgIGJvb2wgcGFyc2VTaGFkb3co
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwogICAgICAgICBib29sIHBhcnNlQm9yZGVySW1h
Z2UoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKKyAgICAg
ICAgYm9vbCBwYXJzZUJvcmRlckltYWdlU2xpY2UoaW50IHByb3BJZCwgUmVmUHRyPENTU0JvcmRl
ckltYWdlU2xpY2VWYWx1ZT4mKTsKICAgICAgICAgYm9vbCBwYXJzZUJvcmRlclJhZGl1cyhpbnQg
cHJvcElkLCBib29sIGltcG9ydGFudCk7CiAKICAgICAgICAgYm9vbCBwYXJzZVJlZmxlY3QoaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TmFtZXMuaW4JKHJldmlzaW9uIDk0MjA2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5TmFtZXMuaW4JKHdvcmtpbmcgY29weSkKQEAgLTU4LDYgKzU4LDcgQEAgYm9yZGVyLWJv
dHRvbS1zdHlsZQogYm9yZGVyLWJvdHRvbS13aWR0aAogYm9yZGVyLWNvbGxhcHNlCiBib3JkZXIt
Y29sb3IKK2JvcmRlci1pbWFnZS1zbGljZQogYm9yZGVyLWltYWdlLXNvdXJjZQogYm9yZGVyLWxl
ZnQKIGJvcmRlci1sZWZ0LWNvbG9yCkBAIC0yNzksNiArMjgwLDcgQEAgei1pbmRleAogLXdlYmtp
dC1tYXNrCiAtd2Via2l0LW1hc2stYXR0YWNobWVudAogLXdlYmtpdC1tYXNrLWJveC1pbWFnZQor
LXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zbGljZQogLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zb3Vy
Y2UKIC13ZWJraXQtbWFzay1jbGlwCiAtd2Via2l0LW1hc2stY29tcG9zaXRlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCShyZXZpc2lvbiA5NDIwNikKKysrIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAkod29ya2luZyBjb3B5KQpAQCAt
NDMyOCw2ICs0MzI4LDI0IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShp
bnQKICAgICAgICAgICAgIG1fc3R5bGUtPnNldE1hc2tCb3hJbWFnZShpbWFnZSk7CiAgICAgICAg
IHJldHVybjsKICAgICB9CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU2xpY2U6Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tCb3hJbWFnZVNsaWNlOiB7CisgICAgICAgIGJv
b2wgaXNCb3JkZXJJbWFnZSA9IGlkID09IENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VTbGljZTsKKyAg
ICAgICAgTmluZVBpZWNlSW1hZ2UgaW1hZ2UoaXNCb3JkZXJJbWFnZSA/IG1fc3R5bGUtPmJvcmRl
ckltYWdlKCkgOiBtX3N0eWxlLT5tYXNrQm94SW1hZ2UoKSk7CisgICAgICAgIGlmIChpc0luaGVy
aXQpCisgICAgICAgICAgICBpbWFnZS5jb3B5U2xpY2VzRnJvbShpc0JvcmRlckltYWdlID8gbV9w
YXJlbnRTdHlsZS0+Ym9yZGVySW1hZ2UoKSA6IG1fcGFyZW50U3R5bGUtPm1hc2tCb3hJbWFnZSgp
KTsKKyAgICAgICAgZWxzZSBpZiAoaXNJbml0aWFsKSB7CisgICAgICAgICAgICBpbWFnZS5zZXRT
bGljZXMoTGVuZ3RoQm94KExlbmd0aCgxMDAsIFBlcmNlbnQpLCBMZW5ndGgoMTAwLCBQZXJjZW50
KSwgTGVuZ3RoKDEwMCwgUGVyY2VudCksIExlbmd0aCgxMDAsIFBlcmNlbnQpKSk7CisgICAgICAg
ICAgICBpbWFnZS5zZXRGaWxsKGZhbHNlKTsKKyAgICAgICAgfSBlbHNlCisgICAgICAgICAgICBt
YXBOaW5lUGllY2VJbWFnZVNsaWNlKHZhbHVlLCBpbWFnZSk7CisgICAgICAgIAorICAgICAgICBp
ZiAoaXNCb3JkZXJJbWFnZSkKKyAgICAgICAgICAgIG1fc3R5bGUtPnNldEJvcmRlckltYWdlKGlt
YWdlKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9zdHlsZS0+c2V0TWFza0JveEltYWdl
KGltYWdlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KICAgICBjYXNlIENTU1Byb3BlcnR5SW1h
Z2VSZW5kZXJpbmc6CiAgICAgICAgIEhBTkRMRV9JTkhFUklUX0FORF9JTklUSUFMX0FORF9QUklN
SVRJVkUoaW1hZ2VSZW5kZXJpbmcsIEltYWdlUmVuZGVyaW5nKTsKICAgICAgICAgcmV0dXJuOwpA
QCAtNTY3MSwyNiArNTY4OSw3IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWFwTmluZVBpZWNl
SW1hZ2UKICAgICAgICAgaW1hZ2VQcm9wZXJ0eSA9IHByb3BlcnR5OwogICAgIGltYWdlLnNldElt
YWdlKHN0eWxlSW1hZ2UoaW1hZ2VQcm9wZXJ0eSwgYm9yZGVySW1hZ2UtPmltYWdlVmFsdWUoKSkp
OwogCi0gICAgLy8gU2V0IHVwIGEgbGVuZ3RoIGJveCB0byByZXByZXNlbnQgb3VyIGltYWdlIHNs
aWNlcy4KLSAgICBMZW5ndGhCb3ggbDsKLSAgICBSZWN0KiByID0gYm9yZGVySW1hZ2UtPm1faW1h
Z2VTbGljZVJlY3QuZ2V0KCk7Ci0gICAgaWYgKHItPnRvcCgpLT5wcmltaXRpdmVUeXBlKCkgPT0g
Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQotICAgICAgICBsLm1fdG9wID0gTGVu
Z3RoKHItPnRvcCgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKLSAgICBlbHNlCi0gICAg
ICAgIGwubV90b3AgPSBMZW5ndGgoci0+dG9wKCktPmdldEludFZhbHVlKENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfTlVNQkVSKSwgRml4ZWQpOwotICAgIGlmIChyLT5ib3R0b20oKS0+cHJpbWl0aXZl
VHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKLSAgICAgICAgbC5t
X2JvdHRvbSA9IExlbmd0aChyLT5ib3R0b20oKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7
Ci0gICAgZWxzZQotICAgICAgICBsLm1fYm90dG9tID0gTGVuZ3RoKChpbnQpci0+Ym90dG9tKCkt
PmdldEZsb2F0VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpLCBGaXhlZCk7Ci0g
ICAgaWYgKHItPmxlZnQoKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfUEVSQ0VOVEFHRSkKLSAgICAgICAgbC5tX2xlZnQgPSBMZW5ndGgoci0+bGVmdCgpLT5nZXRE
b3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKLSAgICBlbHNlCi0gICAgICAgIGwubV9sZWZ0ID0gTGVu
Z3RoKHItPmxlZnQoKS0+Z2V0SW50VmFsdWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIp
LCBGaXhlZCk7Ci0gICAgaWYgKHItPnJpZ2h0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmlt
aXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCi0gICAgICAgIGwubV9yaWdodCA9IExlbmd0aChy
LT5yaWdodCgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKLSAgICBlbHNlCi0gICAgICAg
IGwubV9yaWdodCA9IExlbmd0aChyLT5yaWdodCgpLT5nZXRJbnRWYWx1ZShDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUiksIEZpeGVkKTsKLSAgICBpbWFnZS5zZXRTbGljZXMobCk7CisgICAg
bWFwTmluZVBpZWNlSW1hZ2VTbGljZShib3JkZXJJbWFnZS0+bV9zbGljZS5nZXQoKSwgaW1hZ2Up
OwogCiAgICAgLy8gU2V0IHRoZSBhcHByb3ByaWF0ZSBydWxlcyBmb3Igc3RyZXRjaC9yb3VuZC9y
ZXBlYXQgb2YgdGhlIHNsaWNlcwogICAgIEVOaW5lUGllY2VJbWFnZVJ1bGUgaG9yaXpvbnRhbFJ1
bGU7CkBAIC01NzIyLDYgKzU3MjEsMzkgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXBOaW5l
UGllY2VJbWFnZQogICAgIGltYWdlLnNldFZlcnRpY2FsUnVsZSh2ZXJ0aWNhbFJ1bGUpOwogfQog
Cit2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlU2xpY2UoQ1NTVmFsdWUq
IHZhbHVlLCBOaW5lUGllY2VJbWFnZSYgaW1hZ2UpCit7CisgICAgaWYgKCF2YWx1ZSB8fCAhdmFs
dWUtPmlzQm9yZGVySW1hZ2VTbGljZVZhbHVlKCkpCisgICAgICAgIHJldHVybjsKKworICAgIC8v
IFJldHJpZXZlIHRoZSBib3JkZXIgaW1hZ2UgdmFsdWUuCisgICAgQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlKiBib3JkZXJJbWFnZVNsaWNlID0gc3RhdGljX2Nhc3Q8Q1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlKj4odmFsdWUpOworCisgICAgLy8gU2V0IHVwIGEgbGVuZ3RoIGJveCB0byByZXByZXNl
bnQgb3VyIGltYWdlIHNsaWNlcy4KKyAgICBMZW5ndGhCb3ggbDsKKyAgICBSZWN0KiByID0gYm9y
ZGVySW1hZ2VTbGljZS0+bV9yZWN0LmdldCgpOworICAgIGlmIChyLT50b3AoKS0+cHJpbWl0aXZl
VHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKKyAgICAgICAgbC5t
X3RvcCA9IExlbmd0aChyLT50b3AoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAg
ZWxzZQorICAgICAgICBsLm1fdG9wID0gTGVuZ3RoKHItPnRvcCgpLT5nZXRJbnRWYWx1ZShDU1NQ
cmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiksIEZpeGVkKTsKKyAgICBpZiAoci0+Ym90dG9tKCkt
PnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCisg
ICAgICAgIGwubV9ib3R0b20gPSBMZW5ndGgoci0+Ym90dG9tKCktPmdldERvdWJsZVZhbHVlKCks
IFBlcmNlbnQpOworICAgIGVsc2UKKyAgICAgICAgbC5tX2JvdHRvbSA9IExlbmd0aCgoaW50KXIt
PmJvdHRvbSgpLT5nZXRGbG9hdFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwg
Rml4ZWQpOworICAgIGlmIChyLT5sZWZ0KCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRp
dmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCisgICAgICAgIGwubV9sZWZ0ID0gTGVuZ3RoKHItPmxl
ZnQoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgZWxzZQorICAgICAgICBsLm1f
bGVmdCA9IExlbmd0aChyLT5sZWZ0KCktPmdldEludFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpD
U1NfTlVNQkVSKSwgRml4ZWQpOworICAgIGlmIChyLT5yaWdodCgpLT5wcmltaXRpdmVUeXBlKCkg
PT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQorICAgICAgICBsLm1fcmlnaHQg
PSBMZW5ndGgoci0+cmlnaHQoKS0+Z2V0RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgZWxz
ZQorICAgICAgICBsLm1fcmlnaHQgPSBMZW5ndGgoci0+cmlnaHQoKS0+Z2V0SW50VmFsdWUoQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpLCBGaXhlZCk7CisgICAgaW1hZ2Uuc2V0U2xpY2Vz
KGwpOworCisgICAgLy8gU2V0IG91ciBmaWxsIG1vZGUuCisgICAgaW1hZ2Uuc2V0RmlsbChib3Jk
ZXJJbWFnZVNsaWNlLT5tX2ZpbGwpOworfQorCiB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmNoZWNr
Rm9yVGV4dFNpemVBZGp1c3QoKQogewogICAgIGlmIChtX3N0eWxlLT50ZXh0U2l6ZUFkanVzdCgp
KQpAQCAtNjQyMSw3ICs2NDUzLDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjpsb2FkUGVuZGlu
Z0ltYWdlcwogICAgICAgICAgICAgICAgICAgICBjb25zdCBOaW5lUGllY2VJbWFnZSYgbWFza0lt
YWdlID0gcmVmbGVjdGlvbi0+bWFzaygpOwogICAgICAgICAgICAgICAgICAgICBpZiAobWFza0lt
YWdlLmltYWdlKCkgJiYgbWFza0ltYWdlLmltYWdlKCktPmlzUGVuZGluZ0ltYWdlKCkpIHsKICAg
ICAgICAgICAgICAgICAgICAgICAgIENTU0ltYWdlVmFsdWUqIGltYWdlVmFsdWUgPSBzdGF0aWNf
Y2FzdDxTdHlsZVBlbmRpbmdJbWFnZSo+KG1hc2tJbWFnZS5pbWFnZSgpKS0+Y3NzSW1hZ2VWYWx1
ZSgpOwotICAgICAgICAgICAgICAgICAgICAgICAgcmVmbGVjdGlvbi0+c2V0TWFzayhOaW5lUGll
Y2VJbWFnZShpbWFnZVZhbHVlLT5jYWNoZWRJbWFnZShjYWNoZWRSZXNvdXJjZUxvYWRlciksIG1h
c2tJbWFnZS5zbGljZXMoKSwgbWFza0ltYWdlLmhvcml6b250YWxSdWxlKCksIG1hc2tJbWFnZS52
ZXJ0aWNhbFJ1bGUoKSkpOworICAgICAgICAgICAgICAgICAgICAgICAgcmVmbGVjdGlvbi0+c2V0
TWFzayhOaW5lUGllY2VJbWFnZShpbWFnZVZhbHVlLT5jYWNoZWRJbWFnZShjYWNoZWRSZXNvdXJj
ZUxvYWRlciksIG1hc2tJbWFnZS5zbGljZXMoKSwgbWFza0ltYWdlLmZpbGwoKSwgbWFza0ltYWdl
Lmhvcml6b250YWxSdWxlKCksIG1hc2tJbWFnZS52ZXJ0aWNhbFJ1bGUoKSkpOwogICAgICAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIGJyZWFrOwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5oCShyZXZpc2lvbiA5NDIwNSkK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgJKHdvcmtpbmcgY29weSkK
QEAgLTMzMCw3ICszMzAsOCBAQCBwdWJsaWM6CiAgICAgICAgIHZvaWQgbWFwQW5pbWF0aW9uVGlt
aW5nRnVuY3Rpb24oQW5pbWF0aW9uKiwgQ1NTVmFsdWUqKTsKIAogICAgICAgICB2b2lkIG1hcE5p
bmVQaWVjZUltYWdlKENTU1Byb3BlcnR5SUQsIENTU1ZhbHVlKiwgTmluZVBpZWNlSW1hZ2UmKTsK
LSAgICAgICAgCisgICAgICAgIHZvaWQgbWFwTmluZVBpZWNlSW1hZ2VTbGljZShDU1NWYWx1ZSos
IE5pbmVQaWVjZUltYWdlJik7CisgICAgCiAgICAgICAgIGJvb2wgY2FuU2hhcmVTdHlsZVdpdGhD
b250cm9sKFN0eWxlZEVsZW1lbnQqKSBjb25zdDsKIAogICAgICAgICB2b2lkIGFwcGx5UHJvcGVy
dHkoaW50IGlkLCBDU1NWYWx1ZSopOwpJbmRleDogU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVl
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgJKHJldmlzaW9u
IDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1ZhbHVlLmgJKHdvcmtpbmcgY29weSkK
QEAgLTUzLDYgKzUzLDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBpc011dGFibGVWYWx1
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNCb3JkZXJJ
bWFnZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyAgICB2aXJ0dWFsIGJvb2wgaXNC
b3JkZXJJbWFnZVNsaWNlVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1
YWwgYm9vbCBpc0N1cnNvckltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogI2lm
IEVOQUJMRShDU1MzX0ZMRVhCT1gpCiAgICAgdmlydHVhbCBib29sIGlzRmxleFZhbHVlKCkgY29u
c3QgeyByZXR1cm4gZmFsc2U7IH0KSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJCb3hNb2RlbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC05NzUsNiArOTc1LDkgQEAgYm9vbCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnROaW5l
UGllYwogICAgIExheW91dFVuaXQgbGVmdFNsaWNlID0gbWluPExheW91dFVuaXQ+KGltYWdlV2lk
dGgsIG5pbmVQaWVjZUltYWdlLnNsaWNlcygpLmxlZnQoKS5jYWxjVmFsdWUoaW1hZ2VXaWR0aCkp
OwogICAgIExheW91dFVuaXQgcmlnaHRTbGljZSA9IG1pbjxMYXlvdXRVbml0PihpbWFnZVdpZHRo
LCBuaW5lUGllY2VJbWFnZS5zbGljZXMoKS5yaWdodCgpLmNhbGNWYWx1ZShpbWFnZVdpZHRoKSk7
CiAKKyAgICBib29sIGhvcml6b250YWxTbGljZXNDb25zdW1lSW1hZ2VXaWR0aCA9IGxlZnRTbGlj
ZSArIHJpZ2h0U2xpY2UgPj0gaW1hZ2VXaWR0aDsKKyAgICBib29sIHZlcnRpY2FsU2xpY2VzQ29u
c3VtZUltYWdlSGVpZ2h0ID0gdG9wU2xpY2UgKyBib3R0b21TbGljZSA+PSBpbWFnZUhlaWdodDsK
KwogICAgIEVOaW5lUGllY2VJbWFnZVJ1bGUgaFJ1bGUgPSBuaW5lUGllY2VJbWFnZS5ob3Jpem9u
dGFsUnVsZSgpOwogICAgIEVOaW5lUGllY2VJbWFnZVJ1bGUgdlJ1bGUgPSBuaW5lUGllY2VJbWFn
ZS52ZXJ0aWNhbFJ1bGUoKTsKIApAQCAtOTg1LDEyICs5ODgsMTMgQEAgYm9vbCBSZW5kZXJCb3hN
b2RlbE9iamVjdDo6cGFpbnROaW5lUGllYwogICAgIExheW91dFVuaXQgcmlnaHRXaWR0aCA9IGZp
dFRvQm9yZGVyID8gc3R5bGUtPmJvcmRlclJpZ2h0V2lkdGgoKSA6IHJpZ2h0U2xpY2U7CiAgICAg
TGF5b3V0VW5pdCBib3R0b21XaWR0aCA9IGZpdFRvQm9yZGVyID8gc3R5bGUtPmJvcmRlckJvdHRv
bVdpZHRoKCkgOiBib3R0b21TbGljZTsKIAotICAgIGJvb2wgZHJhd0xlZnQgPSBsZWZ0U2xpY2Ug
PiAwICYmIGxlZnRXaWR0aCA+IDA7Ci0gICAgYm9vbCBkcmF3VG9wID0gdG9wU2xpY2UgPiAwICYm
IHRvcFdpZHRoID4gMDsKLSAgICBib29sIGRyYXdSaWdodCA9IHJpZ2h0U2xpY2UgPiAwICYmIHJp
Z2h0V2lkdGggPiAwOwotICAgIGJvb2wgZHJhd0JvdHRvbSA9IGJvdHRvbVNsaWNlID4gMCAmJiBi
b3R0b21XaWR0aCA+IDA7Ci0gICAgYm9vbCBkcmF3TWlkZGxlID0gKGltYWdlV2lkdGggLSBsZWZ0
U2xpY2UgLSByaWdodFNsaWNlKSA+IDAgJiYgKHJlY3Qud2lkdGgoKSAtIGxlZnRXaWR0aCAtIHJp
Z2h0V2lkdGgpID4gMAotICAgICAgICAgICAgICAgICAgICAgICYmIChpbWFnZUhlaWdodCAtIHRv
cFNsaWNlIC0gYm90dG9tU2xpY2UpID4gMCAmJiAocmVjdC5oZWlnaHQoKSAtIHRvcFdpZHRoIC0g
Ym90dG9tV2lkdGgpID4gMDsKKyAgICBib29sIGRyYXdMZWZ0ID0gbGVmdFNsaWNlID4gMCAmJiBs
ZWZ0V2lkdGggPiAwICYmICF2ZXJ0aWNhbFNsaWNlc0NvbnN1bWVJbWFnZUhlaWdodDsKKyAgICBi
b29sIGRyYXdUb3AgPSB0b3BTbGljZSA+IDAgJiYgdG9wV2lkdGggPiAwICYmICFob3Jpem9udGFs
U2xpY2VzQ29uc3VtZUltYWdlV2lkdGg7CisgICAgYm9vbCBkcmF3UmlnaHQgPSByaWdodFNsaWNl
ID4gMCAmJiByaWdodFdpZHRoID4gMCAmJiAhdmVydGljYWxTbGljZXNDb25zdW1lSW1hZ2VIZWln
aHQ7CisgICAgYm9vbCBkcmF3Qm90dG9tID0gYm90dG9tU2xpY2UgPiAwICYmIGJvdHRvbVdpZHRo
ID4gMCAmJiAhaG9yaXpvbnRhbFNsaWNlc0NvbnN1bWVJbWFnZVdpZHRoOworICAgIGJvb2wgZHJh
d01pZGRsZSA9IG5pbmVQaWVjZUltYWdlLmZpbGwoKSAmJiAhaG9yaXpvbnRhbFNsaWNlc0NvbnN1
bWVJbWFnZVdpZHRoICYmICF2ZXJ0aWNhbFNsaWNlc0NvbnN1bWVJbWFnZUhlaWdodAorICAgICAg
ICAmJiAoaW1hZ2VXaWR0aCAtIGxlZnRTbGljZSAtIHJpZ2h0U2xpY2UpID4gMCAmJiAocmVjdC53
aWR0aCgpIC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCkgPiAwCisgICAgICAgICYmIChpbWFnZUhl
aWdodCAtIHRvcFNsaWNlIC0gYm90dG9tU2xpY2UpID4gMCAmJiAocmVjdC5oZWlnaHQoKSAtIHRv
cFdpZHRoIC0gYm90dG9tV2lkdGgpID4gMDsKIAogICAgIFJlZlB0cjxJbWFnZT4gaW1hZ2UgPSBz
dHlsZUltYWdlLT5pbWFnZSh0aGlzLCBpbWFnZVNpemUpOwogICAgIENvbG9yU3BhY2UgY29sb3JT
cGFjZSA9IHN0eWxlLT5jb2xvclNwYWNlKCk7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFnZS5jcHAJKHJldmlzaW9uIDk0MjA1KQorKysg
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL05pbmVQaWVjZUltYWdlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjgsOCArMjgsOCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGJvb2wgTmlu
ZVBpZWNlSW1hZ2U6Om9wZXJhdG9yPT0oY29uc3QgTmluZVBpZWNlSW1hZ2UmIG8pIGNvbnN0CiB7
Ci0gICAgcmV0dXJuIFN0eWxlSW1hZ2U6OmltYWdlc0VxdWl2YWxlbnQobV9pbWFnZS5nZXQoKSwg
by5tX2ltYWdlLmdldCgpKSAmJiBtX3NsaWNlcyA9PSBvLm1fc2xpY2VzICYmIG1faG9yaXpvbnRh
bFJ1bGUgPT0gby5tX2hvcml6b250YWxSdWxlICYmCi0gICAgICAgICAgIG1fdmVydGljYWxSdWxl
ID09IG8ubV92ZXJ0aWNhbFJ1bGU7CisgICAgcmV0dXJuIFN0eWxlSW1hZ2U6OmltYWdlc0VxdWl2
YWxlbnQobV9pbWFnZS5nZXQoKSwgby5tX2ltYWdlLmdldCgpKSAmJiBtX3NsaWNlcyA9PSBvLm1f
c2xpY2VzICYmIG1fZmlsbCA9PSBvLm1fZmlsbAorICAgICAgICAgICAmJiBtX2hvcml6b250YWxS
dWxlID09IG8ubV9ob3Jpem9udGFsUnVsZSAmJiBtX3ZlcnRpY2FsUnVsZSA9PSBvLm1fdmVydGlj
YWxSdWxlOwogfQogCiB9CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvTmlu
ZVBpZWNlSW1hZ2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5
bGUvTmluZVBpZWNlSW1hZ2UuaAkocmV2aXNpb24gOTQyMDYpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuaAkod29ya2luZyBjb3B5KQpAQCAtMzcsMTQg
KzM3LDE3IEBAIGNsYXNzIE5pbmVQaWVjZUltYWdlIHsKIHB1YmxpYzoKICAgICBOaW5lUGllY2VJ
bWFnZSgpCiAgICAgICAgIDogbV9pbWFnZSgwKQorICAgICAgICAsIG1fc2xpY2VzKExlbmd0aCgx
MDAsIFBlcmNlbnQpLCBMZW5ndGgoMTAwLCBQZXJjZW50KSwgTGVuZ3RoKDEwMCwgUGVyY2VudCks
IExlbmd0aCgxMDAsIFBlcmNlbnQpKQorICAgICAgICAsIG1fZmlsbChmYWxzZSkKICAgICAgICAg
LCBtX2hvcml6b250YWxSdWxlKFN0cmV0Y2hJbWFnZVJ1bGUpCiAgICAgICAgICwgbV92ZXJ0aWNh
bFJ1bGUoU3RyZXRjaEltYWdlUnVsZSkKICAgICB7CiAgICAgfQogCi0gICAgTmluZVBpZWNlSW1h
Z2UoU3R5bGVJbWFnZSogaW1hZ2UsIExlbmd0aEJveCBzbGljZXMsIEVOaW5lUGllY2VJbWFnZVJ1
bGUgaCwgRU5pbmVQaWVjZUltYWdlUnVsZSB2KSAKKyAgICBOaW5lUGllY2VJbWFnZShTdHlsZUlt
YWdlKiBpbWFnZSwgTGVuZ3RoQm94IHNsaWNlcywgYm9vbCBmaWxsLCBFTmluZVBpZWNlSW1hZ2VS
dWxlIGgsIEVOaW5lUGllY2VJbWFnZVJ1bGUgdikgCiAgICAgICA6IG1faW1hZ2UoaW1hZ2UpCiAg
ICAgICAsIG1fc2xpY2VzKHNsaWNlcykKKyAgICAgICwgbV9maWxsKGZpbGwpCiAgICAgICAsIG1f
aG9yaXpvbnRhbFJ1bGUoaCkKICAgICAgICwgbV92ZXJ0aWNhbFJ1bGUodikKICAgICB7CkBAIC02
MCwxNyArNjMsMjUgQEAgcHVibGljOgogICAgIGNvbnN0IExlbmd0aEJveCYgc2xpY2VzKCkgY29u
c3QgeyByZXR1cm4gbV9zbGljZXM7IH0KICAgICB2b2lkIHNldFNsaWNlcyhjb25zdCBMZW5ndGhC
b3gmIGwpIHsgbV9zbGljZXMgPSBsOyB9CiAKKyAgICBib29sIGZpbGwoKSBjb25zdCB7IHJldHVy
biBtX2ZpbGw7IH0KKyAgICB2b2lkIHNldEZpbGwoYm9vbCBmaWxsKSB7IG1fZmlsbCA9IGZpbGw7
IH0KKwogICAgIEVOaW5lUGllY2VJbWFnZVJ1bGUgaG9yaXpvbnRhbFJ1bGUoKSBjb25zdCB7IHJl
dHVybiBzdGF0aWNfY2FzdDxFTmluZVBpZWNlSW1hZ2VSdWxlPihtX2hvcml6b250YWxSdWxlKTsg
fQogICAgIHZvaWQgc2V0SG9yaXpvbnRhbFJ1bGUoRU5pbmVQaWVjZUltYWdlUnVsZSBydWxlKSB7
IG1faG9yaXpvbnRhbFJ1bGUgPSBydWxlOyB9CiAgICAgCiAgICAgRU5pbmVQaWVjZUltYWdlUnVs
ZSB2ZXJ0aWNhbFJ1bGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxFTmluZVBpZWNlSW1h
Z2VSdWxlPihtX3ZlcnRpY2FsUnVsZSk7IH0KICAgICB2b2lkIHNldFZlcnRpY2FsUnVsZShFTmlu
ZVBpZWNlSW1hZ2VSdWxlIHJ1bGUpIHsgbV92ZXJ0aWNhbFJ1bGUgPSBydWxlOyB9CiAKLWZyaWVu
ZCBjbGFzcyBSZW5kZXJTdHlsZTsKKyAgICB2b2lkIGNvcHlTbGljZXNGcm9tKGNvbnN0IE5pbmVQ
aWVjZUltYWdlJiBvdGhlcikKKyAgICB7CisgICAgICAgIG1fc2xpY2VzID0gb3RoZXIubV9zbGlj
ZXM7CisgICAgICAgIG1fZmlsbCA9IG90aGVyLm1fZmlsbDsKKyAgICB9CiAKIHByaXZhdGU6CiAg
ICAgUmVmUHRyPFN0eWxlSW1hZ2U+IG1faW1hZ2U7CiAgICAgTGVuZ3RoQm94IG1fc2xpY2VzOwor
ICAgIGJvb2wgbV9maWxsIDogMTsKICAgICB1bnNpZ25lZCBtX2hvcml6b250YWxSdWxlIDogMjsg
Ly8gRU5pbmVQaWVjZUltYWdlUnVsZQogICAgIHVuc2lnbmVkIG1fdmVydGljYWxSdWxlIDogMjsg
Ly8gRU5pbmVQaWVjZUltYWdlUnVsZQogfTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM0KQorKysg
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjggQEAKKzIw
MTEtMDgtMzEgIERhdmlkIEh5YXR0ICA8aHlhdHRAYXBwbGUuY29tPgorCisgICAgICAgIEltcGxl
bWVudCBib3JkZXItaW1hZ2Utc2xpY2UuIFRoaXMgd2lsbCBldmVudHVhbGx5IGJlIGEgY29tcG9u
ZW50IG9mIHRoZSBuZXcgYm9yZGVyLWltYWdlIHNob3J0aGFuZAorICAgICAgICBwcm9wZXJ0eS4g
SXQgaG9sZHMgdGhlIGN1dHMgdGhhdCB5b3UgbWFrZSBpbnRvIHRoZSBib3JkZXIgaW1hZ2UgYWxv
bmcgd2l0aCBhIG5ldyBvcHRpb25hbCAiZmlsbCIKKyAgICAgICAga2V5d29yZCB0aGF0IGluZGlj
YXRlcyB3aGV0aGVyIG9yIG5vdCB0aGUgY2VudGVyIHNob3VsZCBiZSBmaWxsZWQgd2l0aCB0aGUg
bWlkZGxlIHNsaWNlIG9mIHRoZSBpbWFnZS4KKyAgICAgICAgCisgICAgICAgIEJ5IGRlZmF1bHQg
LXdlYmtpdC1ib3JkZXItaW1hZ2UgaGFzIGFsd2F5cyBmaWxsZWQsIGJ1dCB0aGlzIGRvZXMgbm90
IG1hdGNoIHRoZSBzcGVjaWZpY2F0aW9uLiBUbyBwcmVzZXJ2ZQorICAgICAgICBiYWNrd2FyZHMg
Y29tcGF0aWJpbGl0eSwgLXdlYmtpdC1ib3JkZXItaW1hZ2Ugd2lsbCBjb250aW51ZSB0byBmaWxs
IGJ5IGRlZmF1bHQsIGJ1dCB0aGlzIGRvZXMgc2xpZ2h0bHkgYWZmZWN0CisgICAgICAgIGNvbXB1
dGVkIHN0eWxlIHJlc3VsdHMsIHNpbmNlIHRoZSAiZmlsbCIga2V5d29yZCB3aWxsIG5vdyBiZSBp
bmNsdWRlZCBpbiBwcm9wZXJ0eSBkdW1wcy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGRlZCBmYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNl
cy5odG1sLgorCisgICAgICAgICogZmFzdC9ib3JkZXJzL2JvcmRlci1pbWFnZS1zbGljZXMuaHRt
bDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1z
dHlsZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9j
b21wdXRlZC1zdHlsZS13aXRoLXpvb20tZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3Nz
L2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3Rl
ZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0
eWxlLWJvcmRlci1pbWFnZS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvdXJpLXRv
a2VuLXBhcnNpbmctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvY3NzL3VyaS10b2tlbi1w
YXJzaW5nLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXIt
aW1hZ2Utc2xpY2VzLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFj
L2Zhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2xpY2VzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4dDoKKwog
MjAxMS0wOC0zMSAgQ2FyeSBDbGFyayAgPGNhcnljbGFya0Bnb29nbGUuY29tPgogCiAgICAgICAg
IFVucmV2aWV3ZWQ7IG5ldyBiYXNlbGluZXMgKFNraWEgb24gTWFjLCBuZXh0IGNodW5rIG9mIDgw
MCBmaWxlcykKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2xp
Y2VzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9ib3JkZXJzL2JvcmRlci1p
bWFnZS1zbGljZXMuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvYm9yZGVy
cy9ib3JkZXItaW1hZ2Utc2xpY2VzLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAK
KzxodG1sPgorPGhlYWQ+CisgICAgPHN0eWxlPgorICAgICAgICBkaXYgeworICAgICAgICAgICAg
Ym9yZGVyLXdpZHRoOiAyMXB4IDMwcHggMzBweCAyMXB4OworICAgICAgICAgICAgd2lkdGg6IDc1
cHg7CisgICAgICAgICAgICBoZWlnaHQ6IDc1cHg7CisgICAgICAgICAgICBtYXJnaW46IDEwcHg7
CisgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CisgICAgICAgICAgICBib3JkZXIt
aW1hZ2Utc291cmNlOiB1cmwoInJlc291cmNlcy9ib3JkZXItaW1hZ2UucG5nIikgIWltcG9ydGFu
dDsKKyAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zbGljZTogMjEgMzAgMzAgMjEgZmlsbCAhaW1w
b3J0YW50OworICAgICAgICB9CisKKyAgICAgICAgZGl2LnJyIHsKKyAgICAgICAgICAgIC13ZWJr
aXQtYm9yZGVyLWltYWdlOiBub25lIDAgMCAwIDAgcmVwZWF0IHJlcGVhdDsKKyAgICAgICAgfQor
CisgICAgICAgIGRpdi5ycyB7CisgICAgICAgICAgICAtd2Via2l0LWJvcmRlci1pbWFnZTogbm9u
ZSAwIDAgMCAwIHJlcGVhdCBzdHJldGNoOworICAgICAgICB9CisKKyAgICAgICAgZGl2LnNyIHsK
KyAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlOiBub25lIDAgMCAwIDAgc3RyZXRjaCBy
ZXBlYXQ7CisgICAgICAgIH0KKworICAgICAgICBkaXYuc3MgeworICAgICAgICAgICAgLXdlYmtp
dC1ib3JkZXItaW1hZ2U6IG5vbmUgMCAwIDAgMCBzdHJldGNoIHN0cmV0Y2g7CisgICAgICAgICAg
ICBib3JkZXItaW1hZ2Utc2xpY2U6IDIxIDMwIDMwIDIxICFpbXBvcnRhbnQ7IC8vIE9taXQgJ2Zp
bGwnIHRvIHNob3cgYSBob2xsb3cgY2VudGVyLgorICAgICAgICB9CisgICAgPC9zdHlsZT4KKzwv
aGVhZD4KKzxib2R5PgorICAgIDxkaXYgY2xhc3M9InJyIj48L2Rpdj4KKyAgICA8ZGl2IGNsYXNz
PSJycyI+PC9kaXY+CisgICAgPGJyPgorICAgIDxkaXYgY2xhc3M9InNyIj48L2Rpdj4KKyAgICA8
ZGl2IGNsYXNzPSJzcyI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy91cmktdG9rZW4tcGFyc2luZy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdXJpLXRva2VuLXBhcnNpbmctZXhwZWN0ZWQudHh0CShyZXZp
c2lvbiA5NDIwNSkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL3VyaS10b2tlbi1wYXJzaW5nLWV4
cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjIsOCArMjIsOCBAQCBSdWxlcyBmcm9tIHRo
ZSBzdHlsZXNoZWV0OgogI3IgeyBsaXN0LXN0eWxlLWltYWdlOiB1cmwoJ3VybChyKScpOyB9CiAj
cyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgndXJsKHMpJyk7IH0KICN0IHsgLXdlYmtpdC1tYXNr
LWltYWdlOiB1cmwoJ3VybCh0KScpOyB9Ci0jdSB7IC13ZWJraXQtYm9yZGVyLWltYWdlOiB1cmwo
J3VybCh1KScpIDEgMiAzIDQgc3RyZXRjaCByb3VuZDsgfQotI3YgeyAtd2Via2l0LW1hc2stYm94
LWltYWdlOiB1cmwoJ3VybCh2KScpIDEgMiAzIDQgc3RyZXRjaCByb3VuZDsgfQorI3UgeyAtd2Vi
a2l0LWJvcmRlci1pbWFnZTogdXJsKCd1cmwodSknKSAxIDIgMyA0IGZpbGwgc3RyZXRjaCByb3Vu
ZDsgfQorI3YgeyAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwoJ3VybCh2KScpIDEgMiAzIDQg
ZmlsbCBzdHJldGNoIHJvdW5kOyB9CiBFeHBlY3RlZCByZXN1bHQ6CiAKICNhIHsgY29udGVudDog
dXJsKGMpOyB9CkBAIC00NCw2ICs0NCw2IEBAIEV4cGVjdGVkIHJlc3VsdDoKICNyIHsgbGlzdC1z
dHlsZS1pbWFnZTogdXJsKCd1cmwociknKTsgfQogI3MgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
J3VybChzKScpOyB9CiAjdCB7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCd1cmwodCknKTsgfQot
I3UgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogdXJsKCd1cmwodSknKSAxIDIgMyA0IHN0cmV0Y2gg
cm91bmQ7IH0KLSN2IHsgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKCd1cmwodiknKSAxIDIg
MyA0IHN0cmV0Y2ggcm91bmQ7IH0KKyN1IHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IHVybCgndXJs
KHUpJykgMSAyIDMgNCBmaWxsIHN0cmV0Y2ggcm91bmQ7IH0KKyN2IHsgLXdlYmtpdC1tYXNrLWJv
eC1pbWFnZTogdXJsKCd1cmwodiknKSAxIDIgMyA0IGZpbGwgc3RyZXRjaCByb3VuZDsgfQogCklu
ZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy91cmktdG9rZW4tcGFyc2luZy5odG1sCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL3VyaS10b2tlbi1wYXJzaW5nLmh0bWwJKHJldmlz
aW9uIDk0MjA1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvdXJpLXRva2VuLXBhcnNpbmcuaHRt
bAkod29ya2luZyBjb3B5KQpAQCAtMTgsOCArMTgsOCBAQAogI3IgeyBsaXN0LXN0eWxlLWltYWdl
OiB1cmwoInVybChyKSIpOyB9CiAjcyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgidXJsKHMpIik7
IH0KICN0IHsgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoInVybCh0KSIpOyB9Ci0jdSB7IC13ZWJr
aXQtYm9yZGVyLWltYWdlOiB1cmwoInVybCh1KSIpIDEgMiAzIDQgc3RyZXRjaCByb3VuZDsgfQot
I3YgeyAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwoInVybCh2KSIpIDEgMiAzIDQgc3RyZXRj
aCByb3VuZDsgfQorI3UgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogdXJsKCJ1cmwodSkiKSAxIDIg
MyA0IGZpbGwgc3RyZXRjaCByb3VuZDsgfQorI3YgeyAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1
cmwoInVybCh2KSIpIDEgMiAzIDQgZmlsbCBzdHJldGNoIHJvdW5kOyB9CiA8L3N0eWxlPgogCiA8
c2NyaXB0PgpAQCAtOTIsOCArOTIsOCBAQCBmdW5jdGlvbiBydW5UZXN0KCkKICNyIHsgbGlzdC1z
dHlsZS1pbWFnZTogdXJsKCd1cmwociknKTsgfQogI3MgeyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwo
J3VybChzKScpOyB9CiAjdCB7IC13ZWJraXQtbWFzay1pbWFnZTogdXJsKCd1cmwodCknKTsgfQot
I3UgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogdXJsKCd1cmwodSknKSAxIDIgMyA0IHN0cmV0Y2gg
cm91bmQ7IH0KLSN2IHsgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogdXJsKCd1cmwodiknKSAxIDIg
MyA0IHN0cmV0Y2ggcm91bmQ7IH0KKyN1IHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IHVybCgndXJs
KHUpJykgMSAyIDMgNCBmaWxsIHN0cmV0Y2ggcm91bmQ7IH0KKyN2IHsgLXdlYmtpdC1tYXNrLWJv
eC1pbWFnZTogdXJsKCd1cmwodiknKSAxIDIgMyA0IGZpbGwgc3RyZXRjaCByb3VuZDsgfQogPC9w
cmU+CiAKIDxzY3JpcHQ+CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0
eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gOTQyMDYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMTQsNiArMTQs
NyBAQCBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMHB4OwogYm9yZGVyLWJvdHRvbS1zdHls
ZTogbm9uZTsKIGJvcmRlci1ib3R0b20td2lkdGg6IDBweDsKIGJvcmRlci1jb2xsYXBzZTogc2Vw
YXJhdGU7Citib3JkZXItaW1hZ2Utc2xpY2U6IDEwMCU7CiBib3JkZXItaW1hZ2Utc291cmNlOiBu
b25lOwogYm9yZGVyLWxlZnQtY29sb3I6IHJnYigwLCAwLCAwKTsKIGJvcmRlci1sZWZ0LXN0eWxl
OiBub25lOwpAQCAtMTU1LDYgKzE1Niw3IEBAIHpvb206IDE7CiAtd2Via2l0LW1hcnF1ZWUtc3R5
bGU6IHNjcm9sbDsKIC13ZWJraXQtbWFzay1hdHRhY2htZW50OiBzY3JvbGw7CiAtd2Via2l0LW1h
c2stYm94LWltYWdlOiBub25lOworLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zbGljZTogMTAwJTsK
IC13ZWJraXQtbWFzay1ib3gtaW1hZ2Utc291cmNlOiBub25lOwogLXdlYmtpdC1tYXNrLWNsaXA6
IGJvcmRlci1ib3g7CiAtd2Via2l0LW1hc2stY29tcG9zaXRlOiBzb3VyY2Utb3ZlcjsKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0
aC16b29tLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9n
ZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGgtem9vbS1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDk0MjA1KQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9j
b21wdXRlZC1zdHlsZS13aXRoLXpvb20tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01
LDcgKzUsNyBAQCBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBCiAKIFBB
U1MgLXdlYmtpdC1ib3JkZXItaG9yaXpvbnRhbC1zcGFjaW5nLCB2YWx1ZTogIjIwcHgiCiBQQVNT
IC13ZWJraXQtYm9yZGVyLXZlcnRpY2FsLXNwYWNpbmcsIHZhbHVlOiAiMjBweCIKLVBBU1MgLXdl
YmtpdC1ib3gtcmVmbGVjdCwgdmFsdWU6ICJiZWxvdyAyMHB4IC13ZWJraXQtZ3JhZGllbnQobGlu
ZWFyLCAwJSAwJSwgMCUgMTAwJSwgZnJvbSh0cmFuc3BhcmVudCksIHRvKHdoaXRlKSkgMCAwIDAg
MCBzdHJldGNoIHN0cmV0Y2giCitQQVNTIC13ZWJraXQtYm94LXJlZmxlY3QsIHZhbHVlOiAiYmVs
b3cgMjBweCAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCUgMCUsIDAlIDEwMCUsIGZyb20odHJh
bnNwYXJlbnQpLCB0byh3aGl0ZSkpIDAgZmlsbCBzdHJldGNoIHN0cmV0Y2giCiBQQVNTIC13ZWJr
aXQtYm94LXNoYWRvdywgdmFsdWU6ICJyZ2IoMjU1LCAwLCAwKSAyMHB4IDIwcHggMjBweCAyMHB4
IgogUEFTUyAtd2Via2l0LWNvbHVtbi1ydWxlLXdpZHRoLCB2YWx1ZTogIjIwcHgiCiBQQVNTIC13
ZWJraXQtcGVyc3BlY3RpdmUtb3JpZ2luLCB2YWx1ZTogIjIwcHggMjBweCIKSW5kZXg6IExheW91
dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtd2l0aG91dC1y
ZW5kZXJlci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAkocmV2aXNpb24gOTQyMDYpCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRl
ZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMyw2ICsxMyw3IEBAIENvbXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQg
d2hvc2UgcGFyZW4KICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBub25lCiAgICAgYm9yZGVyLWJv
dHRvbS13aWR0aDogMHB4CiAgICAgYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZQorICAgIGJvcmRl
ci1pbWFnZS1zbGljZTogMTAwJQogICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IG5vbmUKICAgICBi
b3JkZXItbGVmdC1jb2xvcjogcmdiKDAsIDAsIDApCiAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IG5v
bmUKQEAgLTE1NCw2ICsxNTUsNyBAQCBDb21wdXRlZCBzdHlsZSBvZiBhbiBlbGVtZW50IHdob3Nl
IHBhcmVuCiAgICAgLXdlYmtpdC1tYXJxdWVlLXN0eWxlOiBzY3JvbGwKICAgICAtd2Via2l0LW1h
c2stYXR0YWNobWVudDogc2Nyb2xsCiAgICAgLXdlYmtpdC1tYXNrLWJveC1pbWFnZTogbm9uZQor
ICAgIC13ZWJraXQtbWFzay1ib3gtaW1hZ2Utc2xpY2U6IDEwMCUKICAgICAtd2Via2l0LW1hc2st
Ym94LWltYWdlLXNvdXJjZTogbm9uZQogICAgIC13ZWJraXQtbWFzay1jbGlwOiBib3JkZXItYm94
CiAgICAgLXdlYmtpdC1tYXNrLWNvbXBvc2l0ZTogc291cmNlLW92ZXIKSW5kZXg6IExheW91dFRl
c3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItaW1h
Z2UtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvZ2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItaW1hZ2UtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiA5NDIwNSkKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Z2V0Q29tcHV0ZWRTdHlsZS1ib3JkZXItaW1hZ2UtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkp
CkBAIC03LDExICs3LDExIEBAIFRlc3QgY2FsbGluZyBnZXRQcm9wZXJ0eVZhbHVlIG9uIGNvbXB1
dGUKIAogLXdlYmtpdC1ib3JkZXItaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAs
IDAgMCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJldGNoOwogICAtd2Via2l0LWJvcmRlci1pbWFn
ZQotICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAs
IDAgMCkgMjUgMjUgMjUgMjUgc3RyZXRjaCBzdHJldGNoCisgICAgZ2V0UHJvcGVydHlWYWx1ZTog
ICAgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSBmaWxsIHN0cmV0Y2ggc3Ry
ZXRjaAogICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6IFtvYmplY3QgQ1NTVmFsdWVdCiAKIC13ZWJr
aXQtYm9yZGVyLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDUwIHJl
cGVhdDsKICAgLXdlYmtpdC1ib3JkZXItaW1hZ2UKLSAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICAt
d2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDApIDUwIDUwIDUwIDUwIHJlcGVhdCByZXBl
YXQKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAw
LCAwIDApIDUwIGZpbGwgcmVwZWF0IHJlcGVhdAogICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6IFtv
YmplY3QgQ1NTVmFsdWVdCiAKSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Jv
cmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2xpY2VzLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0
L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3
IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJl
bmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtC
T0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgx
MCwxMCkgc2l6ZSAxMjZ4MTI2IFtib3JkZXI6ICgyMXB4IG5vbmUgIzAwMDAwMCkgKDMwcHggbm9u
ZSAjMDAwMDAwKSAoMjFweCBub25lICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxNDYsMTMyKSBzaXplIDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDE0NiwxMzIpIHdp
ZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE2MCwxMCkgc2l6ZSAxMjZ4
MTI2IFtib3JkZXI6ICgyMXB4IG5vbmUgIzAwMDAwMCkgKDMwcHggbm9uZSAjMDAwMDAwKSAoMjFw
eCBub25lICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyOTYsMTMyKSBz
aXplIDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDI5NiwxMzIpIHdpZHRoIDQ6ICIgIgorICAg
ICAgUmVuZGVyQlIge0JSfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDEwLDE2MCkgc2l6ZSAxMjZ4MTI2IFtib3JkZXI6ICgyMXB4IG5vbmUgIzAwMDAwMCkg
KDMwcHggbm9uZSAjMDAwMDAwKSAoMjFweCBub25lICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxNDYsMjgyKSBzaXplIDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDE0
NiwyODIpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE2MCwxNjAp
IHNpemUgMTI2eDEyNiBbYm9yZGVyOiAoMjFweCBub25lICMwMDAwMDApICgzMHB4IG5vbmUgIzAw
MDAwMCkgKDIxcHggbm9uZSAjMDAwMDAwKV0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MApJbmRleDogTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxl
LWJhc2ljLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3NzL2dl
dENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5NDIwNikKKysrIExh
eW91dFRlc3RzL3N2Zy9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHdv
cmtpbmcgY29weSkKQEAgLTI2LDYgKzI2LDggQEAgcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1
ZShib3JkZXItYm90dAogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShib3JkZXItYm90
dG9tLXdpZHRoKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQ
cm9wZXJ0eVZhbHVlKGJvcmRlci1jb2xsYXBzZSkgOiBzZXBhcmF0ZQogcmVjdDogc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZShib3JkZXItY29sbGFwc2UpIDogW29iamVjdCBDU1NQcmltaXRpdmVW
YWx1ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoYm9yZGVyLWltYWdlLXNsaWNlKSA6
IDEwMCUKK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoYm9yZGVyLWltYWdlLXNsaWNl
KSA6IFtvYmplY3QgQ1NTVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRl
ci1pbWFnZS1zb3VyY2UpIDogbm9uZQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShi
b3JkZXItaW1hZ2Utc291cmNlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBz
dHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRlci1sZWZ0LWNvbG9yKSA6IHJnYigwLCAwLCAwKQpA
QCAtMzA4LDYgKzMxMCw4IEBAIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1t
YXMKIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1tYXNrLWF0dGFjaG1l
bnQpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5
VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZSkgOiBub25lCiByZWN0OiBzdHlsZS5nZXRQcm9w
ZXJ0eUNTU1ZhbHVlKC13ZWJraXQtbWFzay1ib3gtaW1hZ2UpIDogW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0KK3JlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1p
bWFnZS1zbGljZSkgOiAxMDAlCityZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJr
aXQtbWFzay1ib3gtaW1hZ2Utc2xpY2UpIDogW29iamVjdCBDU1NWYWx1ZV0KIHJlY3Q6IHN0eWxl
LmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zb3VyY2UpIDogbm9uZQog
cmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LW1hc2stYm94LWltYWdlLXNv
dXJjZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgtd2Via2l0LW1hc2stY2xpcCkgOiBib3JkZXItYm94CkBAIC00ODgsNiArNDkyLDgg
QEAgZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShib3JkZXItYm90dG9tLQogZzogc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZShib3JkZXItYm90dG9tLXdpZHRoKSA6IFtvYmplY3QgQ1NTUHJpbWl0
aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRlci1jb2xsYXBzZSkgOiBz
ZXBhcmF0ZQogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShib3JkZXItY29sbGFwc2UpIDog
W29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoYm9y
ZGVyLWltYWdlLXNsaWNlKSA6IDEwMCUKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoYm9y
ZGVyLWltYWdlLXNsaWNlKSA6IFtvYmplY3QgQ1NTVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0
eVZhbHVlKGJvcmRlci1pbWFnZS1zb3VyY2UpIDogbm9uZQogZzogc3R5bGUuZ2V0UHJvcGVydHlD
U1NWYWx1ZShib3JkZXItaW1hZ2Utc291cmNlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVd
CiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRlci1sZWZ0LWNvbG9yKSA6IHJnYigwLCAw
LCAwKQpAQCAtNzcwLDYgKzc3Niw4IEBAIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtp
dC1tYXNrLWEKIGc6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1tYXNrLWF0dGFj
aG1lbnQpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5
VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZSkgOiBub25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0
eUNTU1ZhbHVlKC13ZWJraXQtbWFzay1ib3gtaW1hZ2UpIDogW29iamVjdCBDU1NQcmltaXRpdmVW
YWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1z
bGljZSkgOiAxMDAlCitnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtbWFzay1i
b3gtaW1hZ2Utc2xpY2UpIDogW29iamVjdCBDU1NWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5
VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zb3VyY2UpIDogbm9uZQogZzogc3R5bGUuZ2V0
UHJvcGVydHlDU1NWYWx1ZSgtd2Via2l0LW1hc2stYm94LWltYWdlLXNvdXJjZSkgOiBbb2JqZWN0
IENTU1ByaW1pdGl2ZVZhbHVlXQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LW1h
c2stY2xpcCkgOiBib3JkZXItYm94CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9ib3JkZXJzL2JvcmRlci1pbWFnZS1zbGljZXMtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fu
bm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUg
PSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRl
c3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlcy1leHBlY3Rl
ZC5wbmcKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fXwpBZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29j
dGV0LXN0cmVhbQoKCmlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3
QUFBQUtYUkZXSFJqYUdWamEzTjFiUUJpTWpSa05HRXcKTjJKaFpEbGxNMk5rT0RFMU1URmpZV0k1
TldKa01tWTJPVS9ZeitNQUFBTWVhVU5EVUVsRFF5QlFjbTltYVd4bEFBQjRBWVZVMzJ2VApVQlQr
Mm1XZHNPR0xPbWNSQ1Q1b2tXNWtVM1JEbkxaclY3ck5XdW8ydHlGSW02WnRYSnJHSk8xK3NBZlpp
Mjg2eFhmeEJ6NzVCd3paCmcyOTdrZzNHRkdINHJJZ2lUUFlpczU2Yk5FMG5Vd081OTd2ZitlNDVK
K2ZrWHFENWNWclRGQzhQRkZWVFQ4WEMvTVRrRk4veUFWNGMKUXl2OGFFMkxoaFpLSmtkQUQ5T3ll
ZSt6OHc0ZXhteDA3bS9mcS81ajFacVZEQkh3SENDK2xEWEVJdUZab0dsYzFIUVQ0TmFKNzUweApO
Y0xOVEhOWXB3UUpIMmM0YjJPQjRZeU5JNVptTkRWQW1nbkNCOFZDT2t1NFFEaVlhZUR6RGRqT2dS
VGtKeWFwa2k2TFBLdEZVaS9sClpFV3lEUGJ3SDNPRDhsK3dxSlRwbTYzbkVJMXRtaGxPMFh5SzNo
ODVmWENNNWdEVndUOWZHTDFCdUoxd1dEYmpvelYrUXMwa3JoRW0KdmVmdWRHbVk3V1dhbDFrcEVp
VWNKTHhpVks0emJHbm1Dd09KbXViVDdmUlFrckNmTkw4ME0xbno0KzFRbFFUck1jWDE5a3RHOUxx
OQoxOXVSa3dmak5UNm5LZFovUVA2OTkvVnlpdVY1a3ZEcnRCNk4xZlJia2pwVzI5dmt6YVlqdzhS
M1VUOERTRUtDamh4a0tPQ1JRZ3hoCm1tUEVxdmhNRmhraVNxVFNhWFJVZWJJNDFqc29rNWJ0SEVk
NHlWOE91RjRXOVZ1eXVQYmcrNTdkSmRlT3ZCV0Z4YmVqMkZIdHRZSHAKdXJJVG1odC9kV0dsbzI3
aE43bmxteHR0cXdzSVVmNks1YkZJWG1YS1Q0SlIxM1UyNXBCVGwveDFDODh5bE80bGRoSllETHFz
OEY3NApLbXdLVDRVWHdwZS8xTWpPM3EwUnk0QnhMRDZybmxQTnh1d2wwa3pTNjJTNHY0cjFRc1lZ
K1pBeFExcWR2aVJObklvNTh0cFFDeWNHCmQ0THI1dUpjTDljSG5ydk1YZUg2dVFpdExuSWpqc0lY
OVVWOElmQytNNzQrWDdkdmlHR24yNzdUWk91ak1WcnJ1OU9SdXFLeGVwU1AKMnlmMlBZNnFFeG15
c2I2eGZsWUlLN1NpWTJwS3MzUlBBQU1sYlU2WDh3V1Q3eEdFQzN5SXJpMkpqNnRpVjVCUEt3cHZt
UXhlbHd4SgpyMGpaTHJBN2orMER0bFBXWGVacFgzTTU4eXB3NlJ2OXcrc3VOMVVHWGhuQTBYTXVG
NkF6ZGVRSnNIeGVMT3NWMng4OG5yZUFrVHZiClk2MDliV0c2aXo1V3E5dDBMbHNlQWJzUHE5V2Z6
NnJWM2Vma2Z3dDRvL3dHcVNNSzFzS2hYeklBQUNBQVNVUkJWSGdCN2QwUHNKMVYKZlMvODM4bC9n
WVFRU0lDZ2dBWUZVVk5CbVNLMy9BbmNUcEhyQmExdzhSSjZKN3pjS2RpcHR6aERxN3lkRXBQclhL
L2M4ZExPNjhzRgo3WlJPSVZPcFlrMnY4NGJYRms4UmRaaXBhRDE1QldxRC9LbEIvdVZJd1hDQWhK
eDM3VC9uWkNjNUo1NTExbjcyMlh1ZnorUHM3SDlyClBXczluN1ZrOXZlczU5bDdZRFJ0WVNOQWdB
QUJBZ1FJRUNCQWdFQUhCT1owb0ExTkVDQkFnQUFCQWdRSUVDQkFvQzRnZ0pnSUJBZ1EKSUVDQUFB
RUNCQWgwVEVBQTZSaTFoZ2dRSUVDQUFBRUNCQWdRRUVETUFRSUVDQkFnUUlBQUFRSUVPaVlnZ0hT
TVdrTUVDQkFnUUlBQQpBUUlFQ0FnZzVnQUJBZ1FJRUNCQWdBQUJBaDBURUVBNlJxMGhBZ1FJRUNC
QWdBQUJBZ1FFRUhPQUFBRUNCQWdRSUVDQUFJR09DUWdnCkhhUFdFQUVDQkFnUUlFQ0FBQUVDQW9n
NVFJQUFBUUlFQ0JBZ1FJQkF4d1FFa0k1UmE0Z0FBUUlFQ0JBZ1FJQUFBUUhFSENCQWdBQUIKQWdR
SUVDQkFvR01DQWtqSHFEVkVnQUFCQWdRSUVDQkFnSUFBWWc0UUlFQ0FBQUVDQkFnUUlOQXhBUUdr
WTlRYUlrQ0FBQUVDQkFnUQpJRUJBQURFSENCQWdRSUFBQVFJRUNCRG9tSUFBMGpGcURSRWdRSUFB
QVFJRUNCQWdNSzlkQkhQbXpJblIwZEYyN2M1K2VrQmdZR0FnCjl1elpVMmxQemF0S2VidHk1NTJZ
VjExNTREcEZnQUFCQWdSbWlVRGJBa2d0ZkxRemZneWtBUmlOOVpVT3cwQnM2S00yMnFrL05mYUIK
MGRvb1ZidVpWeFA3ZG03dTl1ZThtbGpWcXdRSUVDQkFnRUFuQkp5QzFRbGxiUkFnUUlBQUFRSUVD
QkFnVUJjUVFFd0VBZ1FJRUNCQQpnQUFCQWdRNkppQ0FkSXhhUXdRSUVDQkFnQUFCQWdRSXRPMGFr
QnJsL2VuMnpDOHhQU3k5ZjJHNjNaTnV3K2wyWHJxdFRMZWNiWGM4CkcxK3J0elIzMG1xdnBYZmVG
YWVrMi9ReVZxKzM4VndTL3R2NFJTeVlWQ2ppdFRnNjNoL3ZpNThtemEycFhHdlpaWEZhbkJXcll0
RkIKNm5mcUxmTXFUN3JLdWR0UDh5cFBWV2tDQkFnUUlFQ2dYUUp0RFNDL20zbzFOSVdlMVM1cnZT
bmRCdFB0Z1hUTERTQWo4Yzl4V2Z4ZApxbm53YldOOElnV1E2WDJFN3ZVMi9pVkZpN1VINTZtLys2
MTRNUjVLbXRkT1dQYjJGQkxYeFJFVHZ0ZTVGODJyUE9zcTUyNC96YXM4ClZhVUpFQ0JBZ0FDQmRn
bTBOWURVSXNITHpaNjltTzVYTng5L09kMmZsVzY3MG0xKzg3WGptdmRqejV0UHAzUzNPTjRUajhj
NzYyWG4KcHhXT29maC8wc2Z0UjJKTmZDVHVUSEZtVnpTK0duYkpOTU5IYmNlOTNzYXBzVDBaalls
L042NUtJYU1XK0c1SVdoK1BKYzF4T2lScQo0L0JvN1lEVHRqRzlkM1dxODQyNFBwV3ZsYjRxN2sy
bWx4WTQxbmRjK0k5NWxRZFk1ZHp0cDNtVnA2bzBBUUlFQ0JBZzBDNkJ0Z2FRCjVTMjllcVhsOFZ2
UzQ5eFZqcGJxRXp4Y0ZDZTBmQ2plMFR4NWFFbjZZTDB5UllmMmJMM2R4cUlrY2NJNHhNbjFvRkY3
ZWtLY0dNdjMKTVhwcHZOVGg2YjJhMzdyMDljUi9rUUpJTFlMc3FJZVk2YTBpamUrNDhJRjVsUXRZ
M2R6dHAzbVZxNm84QVFJRUNCQWcwQjZCNlYwZwpNWVcyYTM5N3QzV0x3TjdSZURWMlQ5cXBoYzMx
cWEyeHBSNCtJaTZKTS9ZSks1Tlc3ZGdiZTQra1kwMXFhRktCdmFQUjYvTnEwa1AwCkJnRUNCQWdR
SU5CMmdiYXVnTFM5ZDNiWVVZRmI0cUs0cTdueVVXdDRZM3d1VHU5b0R6VFdqd0xtVlQrT3FtTWlR
SUFBQVFMVEZ4QkEKcG0vWGR6V0gwZ2xYZTdkTjZYcVJWWHVmZWtSZ21nTG0xVFRoVkNOQWdBQUJB
bjBxVU5rcFdGUDEybnNTeDFScktGZVZ3SzN4WUl6RQpyYzNkcjQzUHhGTlZOVlg1ZnMycnlvbW4z
RUEvemFzcEg3U0NCQWdRSUVDQXdLUUNNeDVBcHZNdFdKTWVqVGVLQkY1TjhXTlIraDZzCnpjM3ZM
N3N4cnF6L3RrdlJUbWVvc25rMVEvQVROTnRQODJxQ3cvTVNBUUlFQ0JBZ2tDblFrUUJ5c0w5R1g1
ODYvTUg5YnEzZm9KVjUKUElwUElyRDN1NjRtS1ZCL3VYYUIrcnk0T0Q2ZnZ0SzR0ZzNHT1hGYi9M
eit1UHYrTWE5bWZrejZjVjdOdktvZUVDQkFnQUNCL2hibwpTQUE1MkYramExLzF1bm0vMjhFK1dQ
YjNjRlIxZFBQVGI1NDN0b1VwWUV5MkxSeC80K3o0WWx6WGZIWnRmSEw4bDBMR0MzVEZBL05xCnBv
ZWhQK2ZWVEt0cW53QUJBZ1FJOUx2QXdHamEybkdRQXdNRDBaWWROVHN6a081SFkzMDd1amJwUGdi
UzcxMzBUeHZ0MUorVWJKODMKQmlLTmVYdW16ejc3YlgxaVhyVnE3SDNjdWJuYm4vTnFyNlJIQkFn
UUlFQ0FRS2NGT3JJQzB1bUQwaDRCQWdRSUVDQkFnQUFCQXQwcApJSUIwNTdqb0ZRRUNCQWdRSUVD
QUFJRytGQkJBK25KWUhSUUJBZ1FJRUNCQWdBQ0I3aFJvNnpVZzNYbUllbFdsUUNldUFhbXkvL2Jk
Cm5RSlZ6NnZ1UEdxOUlrQ0FBQUVDczBOZzhxOUVtc2J4ajdieG12R0JEZWtpOUlvdmNKN0dJWFp2
bFU5MXZtc0RHMnBmRlZEOVpsNVYKYnp4cEM1K2E5SjNLM3VqVXZLcnNBT3lZQUFFQ0JBZ1FPS2lB
VTdBT3l1Tk5BZ1FJRUNCQWdBQUJBZ1RhS1NDQXRGUFR2Z2dRSUVDQQpBQUVDQkFnUU9LaUFBSEpR
SG04U0lFQ0FBQUVDQkFnUUlOQk9BUUdrblpyMlJZQUFBUUlFQ0JBZ1FJREFRUVVFa0lQeWVKTUFB
UUlFCkNCQWdRSUFBZ1hZS3RQVmJzQ2JzMko2SWUzNFVNWnplUE84ZEVTdEZuZ21aT3ZQaTd0aTY3
V3V4OWJXSUJTME5ManZpdERqcjJGV3gKcU9VMUR3a1FJRUNBQUFFQ0JBaFVJVkI5QU5rZGNkTlhJ
d1pUN3g4NE9RV1ExaysrVlJ5UmZSNUVZQ1MrKzUzTDR0ckhKeWl5K3ZZWQovdEM2T0dLQ3Q3eEVn
QUFCQWdRSUVDQkFvRjBDMWE5SHBCYU9hL1oyZnJ0NmJUL1RGbGpZWE9iWStKR2gyUDZ4QitQMk05
YzA5alYwClZkdzcvTXEwOTZzaUFRSUVDQkFnUUlBQWdha0lWQjlBcHRJTFpUb3VjUGlTRTJQbHN0
TmozWm9OMFl3Z3NXUDNybzczUTRNRUNCQWcKUUlBQUFRS3pTMEFBbVYzalBYNjBDK2MyMXFPMmJ0
dFNQejB1NHBJNFk5bmk4ZmM5SUVDQUFBRUNCQWdRSUZDRlFQWFhnRlRSYS9zcwpGcmhseTBWeDE4
aGdERDdUMk5YR3RaK0wwODJHWWxjN0lFQ0FBQUVDQkFnUU9MaUFqNXdIOStuYmQ0ZEdka1EwdzBl
czNoUTNuTFNxCmI0L1ZnUkVnUUlBQUFRSUVDSFNQUUVkUHdYS0ZRZmNNL0syWFBoZ2pINzIxMGFH
aHRmR1piVTkxVCtmMGhBQUJBZ1FJRUNCQW9HOEYKT2hwQTVuZTB0YjRkczdZYzJLdTdSbUxSaXF0
ajg1bXI2L3U3Y2RPVmNmL090dXphVGdnUUlFQ0FBQUVDQkFoTUt0RFJVN0N1dnp0aQpTV3RYam9y
NDBnWGhCL0JhVFRyMk9QMUFTOHlMaTgvOWZLeDU0SngwSWZwZ25QUDEyMkw0OG12OEZrakh4a0JE
QkFnUUlFQ0FBSUhaCko5RFJOWW5CUnlJMnQ5NmVqM0JhMXN4TXVvVmp6UzQ2Tzc1NDJYV05aNDlj
RzU5ODZOR3hkOXdUSUVDQUFBRUNCQWdRYUx0QTlTc2cKcVlVNzFxZGIyN3R1aC9rQ2kyUGQ1YU94
YnIrS3EwNjlPVWJYMzd6ZnE5My9kRGlkTWxaYngxbDZhTVNDN3U5dUgvZHdOSGFPUEI4NwpSeU1H
V281eS9yekZzV1RCb3Vqb1h6bGEydmVRQUFFQ0JBZ1E2RTZCNmdOSWR4NjNYdlc2d0o2SWJlbGJ2
RjVNeC9IdUV5T084aWwzCkJrZDBUend6L0ZEOEpDMW5ObjVkcHRHVnhZdFBpbmNlZVp4d09JTWpv
MmtDQkFnUUlOQ05BZ0pJTjQ2S1BrMUpvTFlDTXB4S3ZqYWwKMGdwVkoxQmJBWGt1bmswRDBib1M5
ZnJDTjBiS2lUWUNCQWdRSUVDQXdENENBc2crSEo3MGpFQTYzZWRmMGpWRVQ2WU92eTg5dHMyawp3
SjU0OGNXSDR1R1g5bHNCZWVXMWVIMytvYkhtcUdQUzF4M1lDQkFnUUlBQUFRSU5BWjhMeklUZUZF
aC9Xdi8yUXhIL2tIci80VjlMCi84enR6Y1BvajE3dmlpZWZ1Q3Z1L3RrRTE0RHNYQlpubm4xaExP
NlBBM1VVQkFnUUlFQ0FRQnNFQkpBMklOckZEQWcwVjBBZVRrMi8KYWdWa0JnYWd0Y25tQ3NoenJh
ODFIeTkvdXY1RkFSTzg0eVVDQkFnUUlFQmdsZ29JSUxOMDRQdmhzTWUrU3JqMW01ZjY0Ymg2OFJn
RwptbDhDY09LSzk4YXg4MGRqK0tWSDQ1OWVmQ0ZpNXovRnozZnZpU1BtK1phQVhoeFhmU1pBZ0FB
QkFsVUl0RFdBREd5b29vdjJPUldCCmdRMno3R040K2p3N2RscVBzNittTWtPcUxUTy8rVitTODkv
NU8zSFIwdDN4dlVmK1YvejNoMzRROGZSZngyTXZiNGkzTEdtOVBMM2EKdnRnN0FRSUVDQkFnME4w
Q2JRMGdvK3ZiZDdEQ1RKN2w2UHJPbjRjMDA2SEhDa2plSEtteWRPc0t5UHVXNzRxWG5scmFhSzY1
QWxKbAoyL1pOZ0FBQkFnUUk5SmFBOHlKNmE3ejBsa0JYQzh5YnV5Z1d6RHNzamxsNllqUWpTT3dl
N1h3NDdtb2tuU05BZ0FBQkFyTmNRQUNaCjVSUEE0Uk5vcDhEQ1JVdGp5U0VyNDkxdlhoTnZidTU0
NTU3WDI5bUVmUkVnUUlBQUFRSTlMaUNBOVBnQTZqNkJiaEt3QXRKTm82RXYKQkFnUUlFQ2dPd1VF
a080Y0Y3MGkwSk1DY3dZYVg0YXdjMlE0MG5kZ3BlM0lXRHpQMXdUMDVHRHFOQUVDQkFnUXFFaEFB
S2tJMW00Sgp6RWFCdVFPTnNQSE04RC9IWTNXQXQ4ZHhoNHg5WGNCc0ZISE1CQWdRSUVDQXdQNENi
ZjBXclAxM1huK2Vmckg2bmg5RkRLY241NzBqCllxWElNeUZUWjE3Y0hWdTNmUzIydmhiUitxV295
NDQ0TGM0NmRsVXM2a3dudE5MSEFsWkErbmh3SFJvQkFnUUlFR2lUUVBVQlpIZkUKVFYrTkdFd2Rm
dURrRkVCYVAvbTI2U0RzWnFvQ0kvSGQ3MXdXMXo0K1FmblZ0OGZ3aDliRkVSTzg1U1VDVXhYWVBy
dzFmcmo3NWZqKwpjMC9XcTV5NDRxUTRiSmI5Uk0xVXJaUWpRSUFBQVFLelZhRDY5WWpVd25GTjNm
bXpWYm1Mam50aGM1bGo0MGVHWXZ2SEhvemJ6MXpUCjZOM1FWWEh2OEN0ZDFGTmQ2VVdCNy8zem5m
SG4zMXNmdC96by9ucjN6LytWWDdmcTJZc0RxYzhFQ0JBZ1FLQkNnZW9EU0lXZHQrdnAKQ3h5KzVN
Ull1ZXowV0xkbVF6UWpTT3pZdld2Nk8xU1RRQktvcjRBOGRWOTh6d3FJK1VDQUFBRUNCQWhNSWxE
OUtWaVROT3psbVJWWQpPTGV4SHJWMTI1YjY2WEVSbDhRWnl4YlBiS2UwM3ZNQ08xL2ZGWFBIY3V5
aGI0L2ozK0RLb3A0ZlZBZEFnQUFCQWdUYUxDQ0F0Qm0wClYzWjN5NWFMNHE2UndSaDhwdEhqaldz
L0Y2ZWJEYjB5ZkYzYno2ZGZINGtkTHpXN2Q4eUg0K3hsUjNadFgzV01BQUVDQkFnUW1Ca0IKSHps
bnhuM0dXeDBhMlJIUkRCK3hlbFBjY05LcUdlK1REdlMrUUcwRkpLeUE5UDVBT2dJQ0JBZ1FJRkNo
UUVldkFSbjdYRkxoOGRqMQpGQVZ1dmZUQkdQbm9yWTNTUTJ2ak05dWVtbUxON2lzMjJuMWRtclU5
ZXR2eTk4VFpLOS9XT1A2ZEQ4ZVRJK2s3bjIwRUNCQWdRSUFBCmdSYUJqZ2FRK1IxdHJlVW9QVHhB
NE5WZEk3Rm94ZFd4K2N6VjlmZHUzSFJsM0wvemdHSTk4Y0xyUGRITDJkSEpENXg2VGZ6UkdSOW8K
SE96VGQ4Zjl3eS9PamdOM2xBUUlFQ0JBZ01DVUJUcDZDdGIxZDBjc2FlM2FVUkZmdWlEOEFGNnJT
Y2NlcHg5b2lYbHg4Ym1manpVUApuSk11UkIrTWM3NStXd3hmZmszUC9SYUlGWkNPVFpwZjJsQjlC
V1RQUHpiS1dRSDVwVjRLRUNCQWdBQ0IyU2pRMFRXSndVY2lOcmZlCm50OTd1dmhzeEovSlkxNDQx
dmlpcytPTGwxM1hlUGJJdGZISmh4NGRlNmRuN3YzT1hmY00xWjdSUFRGbi9qSHh6aVdIMWp2MStM
TVAKeDcvdTZaNys2UWtCQWdRSUVDQXc4d0xWcjRDa0Z1NVluMjR6ZjZ4NkVJdGozZVdqc1c0L2lW
V24zaHlqNjIvZTc5WGVlVHEzb3pHNgpkMXhtb3FldnA0dlE1eTE5VC96SE54NFRmNWpDN0RkLytO
VjQ0clFMWXZVYlpxSTMyaVJBZ0FBQkFnUzZVY0JIdDI0Y0ZYM0tFckFDCmtzVlZhV0VySUpYeTJq
a0JBZ1FJRU9nTGdlcFhRUHFDeVVGMHM4Q2o2VlMrQlhOYmVwaCtZL0hVcFJIU2RZdEp4eDdXcnNn
WmlDTVAKZjJzc2phRjRJZjN2SDNmOExONTM2TEhwaWlNYkFRSUVDQkFnUU1Cbk5IT2dEd1MrOGFQ
MFpRWmJXMjdwTXBiYUpmYTJtUkNvWGZBeApKMDU1ODBYeDVucnpqOFdmL2ZnZlltUW11cUpOQWdR
SUVDQkFvQ3NGL0ZHeUs0ZEZwM0lFYWlzZ3o3VldTSCtFZDkxekswZ25IN2V1CmdOVGFiYXlBQ0lT
ZEhBTnRFU0JBZ0FDQjdoWndsa3AzajQvZVRVSGdoWmNqZHJUZTBpOWUxajRHMnpvdk1QNGZsRG1I
eDhuTDM5am8Kd01zL2pwKzgvRXJuTzZORkFnUUlFQ0JBb0NzRnhqOHZkR1h2ZElyQUZBUWVTeXNn
RDdmZVVoang0NFJUZ0t1Z3lQaWxPUE5PaUgvLwpqak1iTFR6LzlmaTdaM2RVMEpwZEVpQkFnQUFC
QXIwbzBOWlRzQVkyOUNKQmYvUjVZTVBzL1M2bzJncklQcHNWa0gwNE92bGsvQzhhClZrQTZ5YTR0
QWdRSUVDRFFVd0p0RFNDajY5dDM3TUpNbnVYbytzNmZkRFNqb1NmbHJWTk9pRGgzSXFibEVlTi9p
Wi9vZmErMVdXQnUKSExQODNEZzNYV2wrN0lLOS8wbFpkTWlxT1BlRXhnaTk3WkJGYlc3VDdnZ1FJ
RUNBQUlGZUZkajdhYUZYajBDL1o2ZEErbFA3aDlkRQovTnBFUjM5SXhQZ3Z2VS8wdnRmYUxMQXcz
djJ1RGJGaFZjVGJGdS85eGNFalY3dy9OcXg1VjcydFk1Y2YyZVkyN1k0QUFRSUVDQkRvClZRRUJw
RmRIYnJiM3U3a0Njc3BzZCtpSzQyK3NnQnl6WDE4YUt5QXBsZGdJRUNCQWdBQUJBaTBDNDZkc3Q3
em1JUUVDQkFnUUlFQ0EKQUFFQ0JDb1JFRUFxWWJWVEFnUUlFQ0JBZ0FBQkFnUW1FaEJBSmxMeEdn
RUNCQWdRSUVDQUFBRUNsUWhVZncxSStrbnFlMzRVTVp5NgpmOTQ3SWxhS1BKVU01TlIydWp1MmJ2
dGFiSDB0WWtGTGhXVkhuQlpuSGJzcWZFOVJDNHFIQkFnUUlFQ0FBQUVDbFFoVUgwQjJSOXowCjFZ
akIxUDBIVGs0QnBQV1RieVdIWktlVEM0ekVkNzl6V1Z6NytBUWxWdDhld3g5YUYwZE04SmFYQ0JB
Z1FJQUFBUUlFQ0xSTG9QcjEKaU5UQ2NjM2V6bTlYcisxbjJnSUxtOHNjR3o4eUZOcy85bURjZm1i
Nkx0dmFOblJWM0R2OFN1T3hmd2tRSUVDQUFBRUNCQWhVSkZCOQpBS21vNDNaYkpuRDRraE5qNWJM
VFk5MmFEZEdNSUxGamQvb0pjUnNCQWdRSUVDQkFnQUNCQ2dVRWtBcHh1M25YQytjMjFxTzJidHRT
ClB6MHU0cEk0WTluaWJ1Nnl2aEVnUUlBQUFRSUVDUFNCUVBYWGdQUUJVajhld2kxYkxvcTdSZ1pq
OEpuRzBXMWMrN2s0M1d6b3g2RjIKVEFRSUVDQkFnQUNCcmhMd2tiT3JocU56blJrYTJSSFJEQit4
ZWxQY2NKSmZyTzZjdnBZSUVDQkFnQUFCQXJOWG9LT25ZTG5Db0hzbQoycTJYUGhnakg3MjEwYUdo
dGZHWmJVOTFUK2YwaEFBQkFnUUlFQ0JBb0c4Rk9ocEE1bmUwdGI0ZHM3WWMyS3U3Um1MUmlxdGo4
NW1yCjYvdTdjZE9WY2YvT3R1emFUZ2dRSUVDQUFBRUNCQWhNS3REUlU3Q3V2enRpU1d0WGpvcjQw
Z1hoQi9CYVRUcjJPUDFBUzh5TGk4LzkKZkt4NTRKeDBJZnBnblBQMTIyTDQ4bXY4RmtqSHhrQkRC
QWdRSUVDQUFJSFpKOURSTlluQlJ5STJ0OTZlajNCYTFzeE11b1ZqelM0NgpPNzU0MlhXTlo0OWNH
NTk4Nk5HeGQ5d1RJRUNBQUFFQ0JBZ1FhTHRBOVNzZ3FZVTcxcWRiMjd0dWgva0NpMlBkNWFPeGJy
K0txMDY5Ck9VYlgzN3pmcTU0U0lFQ0FBQUVDQkFnUWFMOUFSMWRBMnQ5OWV5UkFnQUFCQWdRSUVD
QkFvSmNFQkpCZUdpMTlKVUNBQUFFQ0JBZ1EKSU5EakFnSklqdytnN2hNZ1FJQUFBUUlFQ0JEb0pZ
SHFyd0hwSlExOTdVcUIrNTdveW03TmlrN2Q5OFI5cytJNEhTUUJBZ1FJRUNEUQpPUUVCcEhQV1dw
cW13UHJCYVZaVXJWaGcvV0Q2QmdrYkFRSUVDQkFnUUtDTkFnSklHekh0cWhvQkt5RFZ1RTVscjFa
QXBxS2tEQUVDCkJBZ1FJSkFqTURDYXRwd0trNVVkR0JpWTdLMXB2OTZtcmsyNy9WNnFXSVgvVkk2
LzZqR3E0cmlxN3ZOVTNIcWxUQlgrVXpsMll6UVYKSldVSUVDQkFnRUJ2Q3JSMUJhUTlVYVlCMmNn
em42cFVkV0JnUTR5T1ZudUtTZWZhYUV1T3pQTHUxSWRUOCtyQVlUR3ZEalR4Q2dFQwpCQWdRSU5B
YkFyNEZxemZHU1M4SkVDQkFnQUFCQWdRSTlJV0FBTklYdytnZ0NCQWdRSUFBQVFJRUNQU0dnQURT
RytPa2x3UUlFQ0JBCmdBQUJBZ1Q2UWtBQTZZdGhkQkFFQ0JBZ1FJQUFBUUlFZWtOQUFPbU5jZEpM
QWdRSUVDQkFnQUFCQW4waElJRDB4VEE2Q0FJRUNCQWcKUUlBQUFRSzlJU0NBOU1ZNDZTVUJBZ1FJ
RUNCQWdBQ0J2aEFRUVBwaUdCMEVBUUlFQ0JBZ1FJQUFnZDRRYU9zUEVkWU8rZWVQUkd6NQpmc1ND
QlhzQmxyMHA0cXhmalZqVWZHbTh6TEtJRDE0WU1iMU83SW10OXp3U1czK1IyaHByS2pYNmxsOTVZ
NXgrd2xoTFkyOU05NzdICjI5ajlWTnp6VjM4ZnYyZ1pqQVdIdlNuZSsyL2VFeXNYTjlSLy9zZzMw
M2dON3pOZTlUTG4vV3FzYkJmamRQbGI2bzNQbWZIQmpqQ3YKV29BT2VGamgzTzJqZVhVQW14Y0lF
Q0JBZ0FDQnlnV205OW4vSU4xNjdCc1JhMzl2Z2dKcklyWi9NMkpsZW11OHpPcUk0UlJBanBpZwor
QzkvYVhkODk2WXZ4N1dEQjVhODh0YmZqanV1T2ZiQU43SmY2ZkUyUnA2T205YXVqUU9KVnNlbWg3
OGRWNXl5T0kzRnA5TjRIVmdpCllrM2N1LzBiY2Y3S3RrK1I3RkdvVlJpZk0vdlhOcS8yRjJrK3Iz
RHU5dEc4bWdUUHl3UUlFQ0JBZ0VDRkFtMC9CV3Yrd2tadjEyeE0KZ1dON1dnMzVrMmJ2MDJmY3I2
U1ZrZG8yVmlhT25PN3FSMk0vQzVjMDdqZHUrV2hzZi9pcStPeVZSOWRmdVBPdUorUG5qYmVLLysz
cApOdVpISEZjWFdCTmZIbm84aHU2OVBjV0syallVZi9vM0Q5VWZ6Vi9ZTExGeGMyeC85dkg0MXFh
TmtYSmgyZ2JqMDE4WnFqL3Fobi9HCjVveDVOZlhScUd6dTl0RzhtcnFta2dRSUVDQkFnRUM3Qk5v
ZVFNWTZ0bVJGV3UxSXl4MFgvbFkwUDlCR0hIWDQyTHZ0dlY5eDNMSlkKZWNyeDhXL2YxZDc5dHU2
dHQ5czRMdDd5MWhQaVhlZGZHZi9wa3NaUkxWbVVQa1cyYkV0V3ZERldMajhoenI3aTkrUHFSa3FK
NDVicwpXNmFsK0l3OU5LL3k2YXVidS8wenIvSlYxU0JBZ0FBQkFnU21LMURaK1RVdlBodngxRk1S
Ly90LzFQN2VucmIwb2ZhOFZkUHQ1c0hyClBidjloWGhpMTdOeDJ6M1AxQXRlZWZueDB6eXRhL0oy
ZXJ1TjdmSFR4NStJWGQvL2k3aDVjKzBZVjhlVi8rN1UvUTYyRVRaZWV1THYKNDV2Tk03TGVkSHhh
b3VxeXpiektINURxNW03L3pLdDhWVFVJRUNCQWdBQ0I2UXBVRmtBR2IweW4vNlRiMkxZdFhSdFN1
LzZqaXUzRwo5Ly9mTWQ3VXhxdmFkUDNIdmozdDdUWUc0NUszbnpoK1FMY09mVHN1WGJYdkZlYWJi
L205K09CZE8yTHpZT08wcTlYWGJZcmZQNytxCkVSdnZTdllEOHlxYkxLcWJ1LzB6ci9KVjFTQkFn
QUFCQWdTbUsxRFpLVmlyZnp0aTg1Y2pybXhjVUJBbnBUK3czLy9jZEx0NThIcS8KL1NlL0dadis1
TXhHb1J0dmovTS8vbERicmdFWmE3bTMyMWdkbjkzMDVmanNiemZPcmJwMjlaTDRyL2M4T25ab2pm
dWhIZkZZTTN6VQpWa2krc1BHS3RxOGk3ZHZnOUo2WlYvbHUxYzNkL3BsWCthcHFFQ0JBZ0FBQkF0
TVZxQ3lBdlBuMGlJc3ZqYmpqd1lqcm1yMzczRjhlCjJNM2RCNzZVL2NycGE5NGVWL3lYMzRnWEgv
eEF2ZTdnSDM4NXRqemFqajN2N1VwdnQ3RTYzdjhmTG8wL3VPMmJjZThOalJCeTR5ZnUKanRZOGVN
bXRkOFVQUjdkRnlvMXBHNG96ci85S3ZMTDM4THZta1htVlB4VFZ6ZDMrbVZmNXFtb1FJRUNBQUFF
QzB4V29MSUMwZHVqWQo1a1hOcmEvVkg2ZHZzWHJEQVM4V3ZIREkzaCtKK09uejdRMGc0NzNxeVRa
ZWlsMU5qdmxqNEVQM3hFOWVHaitxaUZkZlRrOVd4YWUvCjlkbkdpMSs0TEc3NG15ZGFDblRmUS9N
cWMwemFQbmY3YzE1bHFpcE9nQUFCQWdRSVpBcFVkZzNJNWxzaWZtdEx4SjMxaTU0YnZUcjYKcVAx
Nmw5Nzd5QWYzdnZiaVl4SC8rYzZJS3pLL3plcVczN3M3dHFTVHJqWVBOaTVDciszeGxHUDJocEc5
TFV6L1VXKzNzVG11U3RCSApQclk1eHMreVduTjVuTG80NHZIOVNKYWYvZEhZZE9VblltMGFoeisr
NUtyNGpmUmJJQmQyeVcrQjFMcHFYdTAzWUZONFd0M2M3Wjk1Ck5RVkdSUWdRSUVDQUFJRTJDYlEv
Z0RSL0I2VDIxVmQzTnE1bnJuOFA3OGFQcDFPeHJtajJlcXhNZXJxNUphRFUzdjNncm1hWmpMdWgK
d1VjYTM3U1Y2cXkrNU16NG94dC9MUzQrb2IyTE83M2V4dEE0ZFBvR3JPdCtKLzd3eHFzajVZK0lo
WWMwcE1mSFpIRmM4VC92alQrOQo4NEwwU3lDRDhmNVAvRldNM0hIRitLL1lOd3JQd0w5ai9UT3Zz
dkdybkxzOVA2K3lOVlVnUUlBQUFRSUVTZ1VHUnROV3VwTmEvWUdCCmdXalBuaHE5U2J0TCsxdmZq
cTVOdW8rQmdRMTkxRVpiaG5GU3E0bmVhSXg1dGUyYVZ4UEoxLzcvMXFtNVcrMzRUblIwblpoWEU3
WHIKTlFJRUNCQWdRS0F6QXUxZEp1aE1uN1ZDZ0FBQkFnUUlFQ0JBZ0VDUENnZ2dQVHB3dWsyQUFB
RUNCQWdRSUVDZ0Z3VUVrRjRjTlgwbQpRSUFBQVFJRUNCQWcwS01DQWtpUERweHVFeUJBZ0FBQkFn
UUlFT2hGQVFHa0YwZE5ud2tRSUVDQUFBRUNCQWowcUlBQTBxTURwOXNFCkNCQWdRSUFBQVFJRWVs
RkFBT25GVWRObkFnUUlFQ0JBZ0FBQkFqMHFJSUQwNk1EcE5nRUNCQWdRSUVDQUFJRmVGR2piRHhI
T21UTW4KL2FoZjUzKzByQmZSKzZYUHRSK00yN05uVDZXSFkxNVZ5dHVWTysvRXZPcktBOWNwQWdR
SUVDQXdTd1RhRmtCbWlaZkRKRUNBQUFFQwpCQWdRSUVDZ1FNQXBXQVY0cWhJZ1FJQUFBUUlFQ0JB
Z2tDY2dnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FBRktBcHlvQkFnUUlFQ0JBCmdBQUJBbmtDQWtp
ZWw5SUVDQkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJRUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFC
QWdRSUVDQkEKZ0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFBQVFKNUFnSklucGZTQkFnUUlFQ0FBQUVD
QkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUQpKeUNBNUhrcFRZQUFBUUlFQ0JBZ1FJQkFnWUFB
VW9DbktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2WDBnUUlFQ0JBZ0FBQkFnUUlGQWdJCklBVjRxaEln
UUlBQUFRSUVDQkFna0NjZ2dPUjVLVTJBQUFFQ0JBZ1FJRUNBUUlHQUFGS0FweW9CQWdRSUVDQkFn
QUFCQW5rQ0FraWUKbDlJRUNCQWdRSUFBQVFJRUNCUUlDQ0FGZUtvU0lFQ0FBQUVDQkFnUUlKQW5J
SURrZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tjcQpBUUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlNC
QWdRSUVDQUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FBQkFnUUlFQ0NRSnlDQTVIa3BUWUFBCkFRSUVD
QkFnUUlCQWdZQUFVb0NuS2dFQ0JBZ1FJRUNBQUFFQ2VRTHo4b3BQWG5yT25Ea3hPam82ZVFIdjlK
M0F3TUJBN05tenA5TGoKTXE4cTVlM0tuWGRpWG5YbGdlc1VBUUlFQ0JDWUpRSnRDeUMxOE5ITytE
R1FCbUEwMXMrU1ljZy96UHZpaWFRekdMWDcydFplL2FuMQpaMkMwTmtyVmJ1WlZ0Yjc3NzMyMnpL
djlqOXR6QWdRSUVDQkFvSE1DVHNIcW5MV1dDQkFnUUlBQUFRSUVDTXg2QVFGazFrOEJBQVFJCkVD
QkFnQUFCQWdRNkp5Q0FkTTVhU3dRSUVDQkFnQUFCQWdSbXZVRGJyZ0dwU2Q2ZmJzLzhFdExEMHZz
WHB0czk2VGFjYnVlbDI4cDAKcTJvYmpWMnhKMzZScnBIWUZjL0hhL0ZJN0t6ZlI5U3VYeGk3dGFm
MTJqVXd1OU90ZG45b0hCSkh4MUgxKzBQVDg2TmpUbnJjdWUyNQpKUHkzNmJnWEhLVEoxMUt2M2gv
dmk1L0cxMkpyS3RkYWRsbWNGbWZGcWxoMGtQcWRlc3U4TXE4Nk5kZTBRNEFBQVFJRUNGUXYwTllB
CjhydXB2ME5UNkhQdEEvcE42VGFZYmcra1c1VUJaRStNeEt2cEkvYnI4V0w4MzlVVTRBQUFJQUJK
UkVGVUlINGUveTErRXQ5TzkxVnYKSjhhYjR2dzRPMnIzSjZUd2NXN01Td0drY3d0Ty81S2l4ZG9w
SE9TM2tzdERjVmxjTzJIWjIxTklYQmRIVFBoZTUxNDByL1phbTFkNwpMVHdpUUlBQUFRSUVlbE9n
clFIazc1TEJ5MDJIRjlQOTZ1YmpMNmY3czlKdFY3ck5iNzUyWFBOKzdIbnphZHZ2NXNaaGFTM2k1
TFRmClBTa1FqS2EvNjUrVEFra3RBdTNkYXVzZ2MxTTRxTjMvSW4za2ZqWitYTC9mbW83bWpyUmVV
cnRmR2l2aXpmSE8rdjNiMDFyQmI4YVMKcU4zWDl2UjYydmUrZTZ6dGIyNWFQWGhEL2I2Ry9JWjA2
K1IyYW15UHg4ZkZ2eHRYcFpCUkMzdzNwSWo0OGRUM3hqZ2RFclZ4ZUxUWgpzWTNwdmF0VG5XL0U5
YWw4cmZSVmNXOThKQzZkNFhVUTg2bzVRT25Pdk5wcjRSRUJBZ1FJRUNEUW13SnREU0RMV3d4ZWFY
bjhsdlM0CnlsV09scVltZUZoYmRXaWNYTFF3UFRybWwwU0JuU21lekVzZnVIZW1PajlMSDhZWDFt
Tko0NFBmb1drTlkwbjYzeEhwdmFOamNUcW0KMXBPV0ptaDZCbDlhbEhwM3duajdKOWVEUnUzcENX
bE5abm5xKzk3dHBmR0hoNmYzVnFiMzFzV0crSXNVUUdvUlpFYzl4TXpzaVZqbQoxZmdRemZpRGZw
cFhNNDZwQXdRSUVDQkFZSllLVkhaT1VHMjF3OVl0QW50SDQ5WDZWU29UOTJ0aGMzMXFhMnlwaDQr
SVMrS01mY0xLCnhQVTYrZXJlSStsa3E5cWFXR0R2YVBUNnZKcjQrTHhLZ0FBQkFnUUlWQ0hRMWhX
UUtqcG9uNTBUdUNVdWlydWFLeCsxVmpmRzUrTDAKempXdnBUNFZNSy82ZEdBZEZnRUNCQWdRbUth
QUFESk51SDZzTnBST3VOcTdiVXJYaTZ6YSs5UWpBdE1VTUsrbUNhY2FBUUlFQ0JEbwpVNEhLVHNH
YXF0ZmVremltV2tPNXFnUnVqUWZUZDRiZDJ0ejkydmhNUEZWVlU1WHYxN3lxbkhqS0RmVFR2SnJ5
UVN0SWdBQUJBZ1FJClRDb3c0d0drNm0vQm12VEl2WEdBd0tzcGZpeEszNE8xdWZuOVpUZkdsZlhm
ZGptZ1lBKzhZRjUxenlEMTA3enFIbFU5SVVDQUFBRUMKdlN2UWtRQnlzTDlHWDUvc1ByamZyZlVi
dEhxWHRydDZ2dmU3cmc3V3I5clBLTTZMaStQenNhWmViREI5YWZGdEhmalZsSVAxYWZMMwp6S3ZK
YlRyMVRqL09xMDdaYVljQUFRSUVDTXhXZ1k0RWtJUDlOYnIyVmErYjk3c2Q3SVBsYkIyb3N1T2Vu
NzQydUxFdFRBRmpzcTMyCk5jV043ZXo0WWx6WGZIeHRmSEw4bDBMRzN1K09lL05xcHNlaFArZlZU
S3RxbndBQkFnUUk5THZBd0dqYTJuR1FBd01EQi93WVg4bCsKYXo4S09CcnJTM2JSMTNYdml5ZVN6
bURVN212YmFGdjFwMFkza0g0anBVM1RaOUlHemF0SmFTcDVZN2JNcTBydzdKUUFBUUlFQ0JDWQpr
a0JIVmtDbTFCT0ZDQkFnUUlBQUFRSUVDQkRvZXdFQnBPK0gyQUVTSUVDQUFBRUNCQWdRNkI0QkFh
Ujd4a0pQQ0JBZ1FJQUFBUUlFCkNQUzlRRnV2QWVsN0xRZDRnRUFucmdFNW9GRXY5TDFBMWZPcTd3
RWRJQUVDQkFnUTZHS0J5YjhTYVJxZEhtM2pOZU1ERzlLRjFlMjUKUG40YVI5S0RWVDdWK1Q0UGJL
aDlWVUQxbTNsVnZmR2tMWHhxMG5jcWU2TlQ4NnF5QTdCakFnUUlFQ0JBNEtBQ1RzRTZLSTgzQ1JB
ZwpRSUFBQVFJRUNCQm9wNEFBMGs1Tit5SkFnQUFCQWdRSUVDQkE0S0FDQXNoQmVieEpnQUFCQWdR
SUVDQkFnRUE3QlFTUWRtcmFGd0VDCkJBZ1FJRUNBQUFFQ0J4VVFRQTdLNDAwQ0JBZ1FJRUNBQUFF
Q0JOb3AwTlp2d1pxd1kzc2k3dmxSeEhCNjg3eDNSS3dVZVNaazZzeUwKdTJQcnRxL0YxdGNpRnJR
MHVPeUkwK0tzWTFmRm9wYlhQQ1JBZ0FBQkFnUUlFQ0JRaFVEMUFXUjN4RTFmalJoTXZYL2c1QlJB
V2ovNQpWbkZFOW5rUWdaSDQ3bmN1aTJzZm42REk2dHRqK0VQcjRvZ0ozdklTQVFJRUNCQWdRSUFB
Z1hZSlZMOGVrVm80cnRuYitlM3F0ZjFNClcyQmhjNWxqNDBlR1l2dkhIb3piejF6VDJOZlFWWEh2
OEN2VDNxK0tCQWdRSUVDQUFBRUNCS1lpVUgwQW1Vb3ZsT200d09GTFRveVYKeTA2UGRXczJSRE9D
eEk3ZHV6cmVEdzBTSUVDQUFBRUNCQWpNTGdFQlpIYU45L2pSTHB6YldJL2F1bTFML2ZTNGlFdmlq
R1dMeDkvMwpnQUFCQWdRSUVDQkFnRUFWQXRWZkExSkZyKzJ6V09DV0xSZkZYU09ETWZoTVkxY2Ix
MzR1VGpjYmlsM3RnQUFCQWdRSUVDQkE0T0FDClBuSWUzS2R2M3gwYTJSSFJEQit4ZWxQY2NOS3F2
ajFXQjBhQUFBRUNCQWdRSU5BOUFoMDlCY3NWQnQwejhMZGUrbUNNZlBUV1JvZUcKMXNabnRqM1ZQ
WjNURXdJRUNCQWdRSUFBZ2I0VjZHZ0FtZC9SMXZwMnpOcHlZSy91R29sRks2Nk96V2V1cnUvdnhr
MVh4djA3MjdKcgpPeUZBZ0FBQkFnUUlFQ0F3cVVCSFQ4RzYvdTZJSmExZE9TcmlTeGVFSDhCck5l
blk0L1FETFRFdkxqNzM4N0htZ1hQU2hlaURjYzdYCmI0dmh5Ni94V3lBZEd3TU5FU0JBZ0FBQkFn
Um1uMEJIMXlRR0g0blkzSHA3UHNKcFdUTXo2UmFPTmJ2bzdQamlaZGMxbmoxeWJYenkKb1VmSDNu
RlBnQUFCQWdRSUVDQkFvTzBDMWErQXBCYnVXSjl1YmUrNkhlWUxMSTUxbDQvR3V2MHFyanIxNWho
ZGYvTityM2IvMCtGMAp5bGh0SFdmcG9SRUx1cis3ZmR6RDBkZzU4bnpzSEkwWWFEbksrZk1XeDVJ
Rmk2S2pmK1ZvYWQ5REFnUUlFQ0JBb0RzRnFnOGczWG5jCmV0WHJBbnNpdHFWdjhYb3hIY2U3VDR3
NHlxZmNHUnpSUGZITThFUHhrN1NjMmZoMW1VWlhGaTgrS2Q1NTVISEM0UXlPaktZSkVDQkEKZ0VB
M0NnZ2czVGdxK2pRbGdkb0t5SEFxK2RxVVNpdFVuVUJ0QmVTNWVEWU5ST3RLMU9zTDN4Z3BKOW9J
RUNCQWdBQUJBdnNJQ0NENwpjSGpTTXdMcGRKOS9TZGNRUFprNi9MNzAyRGFUQW52aXhSY2Zpb2Rm
Mm04RjVKWFg0dlg1aDhhYW80NUpYM2RnSTBDQUFBRUNCQWcwCkJId3VNQk42VXlEOWFmM2JEMFg4
UStyOWgzOHQvVE8zTncralAzcTlLNTU4NHE2NCsyY1RYQU95YzFtY2VmYUZzYmcvRHRSUkVDQkEK
Z0FBQkFtMFFFRURhZ0dnWE15RFFYQUY1T0RYOXFoV1FHUmlBMWlhYkt5RFB0YjdXZkx6ODZmb1hC
VXp3anBjSUVDQkFnQUNCV1NvZwpnTXpTZ2UrSHd4NzdLdUhXYjE3cWgrUHF4V01ZYUg0SndJa3Iz
aHZIemgrTjRaY2VqWDk2OFlXSW5mOFVQOSs5SjQ2WTUxc0NlbkZjCjlaa0FBUUlFQ0ZRaDBOWUFN
ckNoaWk3YTUxUUVCamJNc28vaDZmUHMyR2s5enI2YXlneXB0c3o4NW45SnpuL243OFJGUzNmSDl4
NzUKWC9IZkgvcEJ4Tk4vSFkrOXZDSGVzcVQxOHZScSsyTHZCQWdRSUVDQVFIY0x0RFdBaks1djM4
RUtNM21XbytzN2Z4N1NUSWNlS3lCNQpjNlRLMHEwcklPOWJ2aXRlZW1wcG83bm1Da2lWYmRzM0FR
SUVDQkFnMEZzQ3pvdm9yZkhTV3dKZExUQnY3cUpZTU8rd09HYnBpZEdNCklMRjd0UFBodUt1UmRJ
NEFBUUlFQ014eUFRRmtsazhBaDArZ25RSUxGeTJOSlllc2pIZS9lVTI4dWJuam5YdGViMmNUOWtX
QUFBRUMKQkFqMHVJQUEwdU1EcVBzRXVrbkFDa2czallhK0VDQkFnQUNCN2hRUVFMcHpYUFNLUUU4
S3pCbG9mQm5DenBIaFNOK0JsYllqWS9FOApYeFBRazRPcDB3UUlFQ0JBb0NJQkFhUWlXTHNsTUJz
RjVnNDB3c1l6dy84Y2o5VUIzaDdISFRMMmRRR3pVY1F4RXlCQWdBQUJBdnNMCnRQVmJzUGJmZWYx
NStzWHFlMzRVTVp5ZW5QZU9pSlVpejRSTW5YbHhkMnpkOXJYWStscEU2NWVpTGp2aXREanIyRld4
cURPZDBFb2YKQzFnQjZlUEJkV2dFQ0JBZ1FLQk5BdFVIa04wUk4zMDFZakIxK0lHVFV3QnAvZVRi
cG9Pd202a0tqTVIzdjNOWlhQdjRCT1ZYM3g3RApIMW9YUjB6d2xwY0lURlZnKy9EVytPSHVsK1A3
enoxWnIzTGlpcFBpc0ZuMkV6VlR0VktPQUFFQ0JBak1Wb0hxMXlOU0M4YzFkZWZQClZ1VXVPdTZG
eldXT2pSOFppdTBmZXpCdVAzTk5vM2REVjhXOXc2OTBVVTkxcFJjRnZ2ZlBkOGFmZjI5OTNQS2or
K3ZkUC85WGZ0MnEKWnk4T3BENFRJRUNBQUlFS0Jhb1BJQlYyM3E2bkwzRDRraE5qNWJMVFk5MmFE
ZEdNSUxGajk2N3A3MUJOQWttZ3ZnTHkxSDN4UFNzZwo1Z01CQWdRSUVDQXdpVUQxcDJCTjByQ1ha
MVpnNGR6R2V0VFdiVnZxcDhkRlhCSm5MRnM4czUzU2VzOEw3SHg5Vjh3ZHk3R0h2ajJPCmY0TXJp
M3ArVUIwQUFRSUVDQkJvczRBQTBtYlFYdG5kTFZzdWlydEdCbVB3bVVhUE42NzlYSnh1TnZUSzhI
VnRQNTkrZlNSMnZOVHMKM2pFZmpyT1hIZG0xZmRVeEFnUUlFQ0JBWUdZRWZPU2NHZmNaYjNWb1pF
ZEVNM3pFNmsxeHcwbXJacnhQT3REN0FyVVZrTEFDMHZzRAo2UWdJRUNCQWdFQ0ZBaDI5Qm1Uc2Mw
bUZ4MlBYVXhTNDlkSUhZK1NqdHpaS0Q2Mk56Mng3YW9vMXU2L1lhUGQxYWRiMjZHM0wzeE5uCnIz
eGI0L2gzUGh4UGpxVHZmTFlSSUVDQUFBRUNCRm9FT2hwQTVuZTB0WmFqOVBBQWdWZDNqY1NpRlZm
SDVqTlgxOSs3Y2RPVmNmL08KQTRyMXhBdXY5MFF2WjBjblAzRHFOZkZIWjN5Z2NiQlAzeDMzRDc4
NE93N2NVUklnUUlBQUFRSlRGdWpvS1ZqWDN4MnhwTFZyUjBWOAo2WUx3QTNpdEpoMTduSDZnSmVi
RnhlZCtQdFk4Y0U2NkVIMHd6dm42YlRGOCtUVTk5MXNnVmtBNk5tbCthVVAxRlpBOS85Z29ad1hr
Cmwzb3BRSUFBQVFJRVpxTkFSOWNrQmgrSjJOeDZlMzd2NmVLekVYOG1qM25oV09PTHpvNHZYblpk
NDlrajE4WW5IM3AwN0oyZXVmYzcKZDkwelZIdEc5OFNjK2NmRU81Y2NXdS9VNDg4K0hQKzZwM3Y2
cHljRUNCQWdRSURBekF0VXZ3S1NXcmhqZmJyTi9MSHFRU3lPZFplUAp4cnI5SkZhZGVuT01ycjk1
djFkNzUrbmNqc2JvM25HWmlaNituaTVDbjdmMFBmRWYzM2hNL0dFS3M5Lzg0VmZqaWRNdWlOVnZt
SW5lCmFKTUFBUUlFQ0JEb1JnRWYzYnB4VlBRcFM4QUtTQlpYcFlXdGdGVEthK2NFQ0JBZ1FLQXZC
S3BmQWVrTEpnZlJ6UUtQcGxQNUZzeHQKNldINmpjVlRsMFpJMXkwbUhYdFl1eUpuSUk0OC9LMnhO
SWJpaGZTL2Y5enhzM2pmb2NlbUs0NXNCQWdRSUVDQUFBR2YwY3lCUGhENAp4by9TbHhsc2JibWx5
MWhxbDlqYlprS2dkc0hIbkRqbHpSZkZtK3ZOUHhaLzl1Ti9pSkdaNklvMkNSQWdRSUFBZ2E0VThF
ZkpyaHdXCm5jb1JxSzJBUE5kYUlmMFIzblhQclNDZGZOeTZBbEpydDdFQ0loQjJjZ3kwUllBQUFR
SUV1bHZBV1NyZFBUNTZOd1dCRjE2TzJORjYKUzc5NFdmc1liT3U4d1BoL1VPWWNIaWN2ZjJPakF5
Ly9PSDd5OGl1ZDc0d1dDUkFnUUlBQWdhNFVHUCs4MEpXOTB5a0NVeEI0TEsyQQpQTng2UzJIRWp4
Tk9BYTZDSXVPWDRzdzdJZjc5Tzg1c3RQRDgxK1B2bnQxUlFXdDJTWUFBQVFJRUNQU2lRRnRQd1Jy
WTBJc0UvZEhuCmdRMno5N3VnYWlzZysyeFdRUGJoNk9TVDhiOW9XQUhwSkx1MkNCQWdRSUJBVHdt
ME5ZQ01ybS9mc1FzemVaYWo2enQvMHRHTWhwNlUKdDA0NUllTGNpWmlXUjR6L0pYNmk5NzNXWm9H
NWNjenljK1BjZEtYNXNRdjIvaWRsMFNHcjR0d1RHaVAwdGtNV3RibE51eU5BZ0FBQgpBZ1I2VldE
dnA0VmVQUUw5bnAwQzZVL3RIMTRUOFdzVEhmMGhFZU8vOUQ3UisxNXJzOERDZVBlN05zU0dWUkZ2
Vzd6M0Z3ZVBYUEgrCjJMRG1YZlcyamwxK1pKdmJ0RHNDQkFnUUlFQ2dWd1VFa0Y0ZHVkbmU3K1lL
eUNtejNhRXJqcit4QW5MTWZuMXBySUNrVkdJalFJQUEKQVFJRUNMUUlqSit5M2ZLYWh3UUlFQ0JB
Z0FBQkFnUUlFS2hFUUFDcGhOVk9DUkFnUUlBQUFRSUVDQkNZU0VBQW1VakZhd1FJRUNCQQpnQUFC
QWdRSVZDSlEvVFVnNlNlcDcvbFJ4SERxL25udmlGZ3A4bFF5a0ZQYjZlN1l1dTFyc2ZXMWlBVXRG
WllkY1ZxY2RleXE4RDFGCkxTZ2VFaUJBZ0FBQkFnUUlWQ0pRZlFEWkhYSFRWeU1HVS9jZk9Ea0Zr
TlpQdnBVY2twMU9MakFTMy8zT1pYSHQ0eE9VV0gxN0RIOW8KWFJ3eHdWdGVJa0NBQUFFQ0JBZ1FJ
TkF1Z2VyWEkxSUx4elY3Tzc5ZHZiYWZhUXNzYkM1emJQeklVR3ovMklOeCs1bnB1MnhyMjlCVgpj
ZS93SzQzSC9pVkFnQUFCQWdRSUVDQlFrVUQxQWFTaWp0dHRtY0RoUzA2TWxjdE9qM1ZyTmtRemdz
U08zZWtueEcwRUNCQWdRSUFBCkFRSUVLaFFRUUNyRTdlWmRMNXpiV0kvYXVtMUwvZlM0aUV2aWpH
V0x1N25MK2thQUFBRUNCQWdRSU5BSEF0VmZBOUlIU1AxNENMZHMKdVNqdUdobU13V2NhUjdkeDdl
ZmlkTE9oSDRmYU1SRWdRSUFBQVFJRXVrckFSODZ1R283T2RXWm9aRWRFTTN6RTZrMXh3MGwrc2Jw
egorbG9pUUlBQUFRSUVDTXhlZ1k2ZWd1VUtnKzZaYUxkZSttQ01mUFRXUm9lRzFzWm50ajNWUFoz
VEV3SUVDQkFnUUlBQWdiNFY2R2dBCm1kL1IxdnAyek5weVlLL3VHb2xGSzY2T3pXZXVydS92eGsx
WHh2MDcyN0pyT3lGQWdBQUJBZ1FJRUNBd3FVQkhUOEc2L3U2SUphMWQKT1NyaVN4ZUVIOEJyTmVu
WTQvUURMVEV2TGo3Mzg3SG1nWFBTaGVpRGNjN1hiNHZoeTYveFd5QWRHd01ORVNCQWdBQUJBZ1Jt
bjBCSAoxeVFHSDRuWTNIcDdQc0pwV1RNejZSYU9OYnZvN1BqaVpkYzFuajF5Ylh6eW9VZkgzbkZQ
Z0FBQkFnUUlFQ0JBb08wQzFhK0FwQmJ1CldKOXViZSs2SGVZTExJNTFsNC9HdXYwcXJqcjE1aGhk
Zi9OK3IzcEtnQUFCQWdRSUVDQkFvUDBDSFYwQmFYLzM3WkVBQVFJRUNCQWcKUUlBQWdWNFNFRUI2
YWJUMGxRQUJBZ1FJRUNCQWdFQ1BDd2dnUFQ2QXVrK0FBQUVDQkFnUUlFQ2dsd1Nxdndha2x6VDB0
U3NGN251aQpLN3MxS3pwMTN4UDN6WXJqZEpBRUNCQWdRSUJBNXdRRWtNNVphMm1hQXVzSHAxbFJ0
V0tCOVlQcEd5UnNCQWdRSUVDQUFJRTJDZ2dnCmJjUzBxMm9FcklCVTR6cVZ2Vm9CbVlxU01nUUlF
Q0JBZ0VDT3dNQm8ybklxVEZaMllHQmdzcmVtL1hxYnVqYnQ5bnVwWWhYK1V6bisKcXNlb2l1T3F1
czlUY2V1Vk1sWDRUK1hZamRGVWxKUWhRSUFBQVFLOUtkRFdGWkQyUkprR1pDUFBmS28zVlR2UTYv
dlNzc0Q2ZEc1Uwo3YjYyemNRSHRrNTlPRFd2T2pDaG1rM01wbm5WT1ZVdEVTQkFnQUFCQXEwQ3Zn
V3JWY05qQWdRSUVDQkFnQUFCQWdRcUZSQkFLdVcxCmN3SUVDQkFnUUlBQUFRSUVXZ1VFa0ZZTmp3
a1FJRUNBQUFFQ0JBZ1FxRlJBQUttVTE4NEpFQ0JBZ0FBQkFnUUlFR2dWRUVCYU5Ud20KUUlBQUFR
SUVDQkFnUUtCU0FRR2tVbDQ3SjBDQUFBRUNCQWdRSUVDZ1ZVQUFhZFh3bUFBQkFnUUlFQ0JBZ0FD
QlNnVUVrRXA1N1p3QQpBUUlFQ0JBZ1FJQUFnVmFCdHY0UVlXM0hQMzhrWXN2M0l4WXMyTnZNc2pk
Rm5QV3JFWXVhTDQyWFdSYnh3UXNqMnQ2SnZVMVA4R2hQCi9iV2R3eS9ITTl1ZWo5cjl6dGNqbm5r
dDZ2ZTEzM092OWVlQTMzV2ZrMTZaazk1SjkyODRiR0VzUFhwSi9mNndoWE5pNVJIem9uYmYKZGR2
dXArS2V2L3I3K0VYTFlDdzQ3RTN4M24vem5saTV1S0grODBlK21jWnJlSi94cXBjNTcxZGo1ZGlB
ZGNHQmpjOFo4MnJtUjZPUAo1dFhNWStvQkFRSUVDQkNZZlFKdC8rei8yRGNpMXY3ZUJKQnJJclov
TTJKbGVtdTh6T3FJNFJSQWpwaWdlRFV2amFiZHByUVJvL0hpCnZ6d2QvOTlmM2g4LysrR1Q4ZU1Y
SXI3K1dOVHZjOXM5K20zSHh1b1B2RGRxOTZjY3V5QStmTWJpK24zdWZpb3BQL0owM0xSMmJRd2UK
c1BQVnNlbmhiOGNWcHl4T1kvSHBORjRIbG9oWUUvZHUvMGFjdjdMdFUrU0Eza3psaGZFNXMzOWg4
MnAva2VxZjk5RzhxaDVMQ3dRSQpFQ0JBZ01EK0FtMy9zLzM4aFkwbTFteE1nV043V2czNWsyYVQ2
VFB1VjlMS1NHMGJLeE5IZG5yMW85Ris3ZCtCdVdtVjV0Q0loVXNhCjk3WG50ZTNFZDYyTS8rT21T
MkxqbG8vR0Z3ZXZpZS85NE9yWS92QlY4ZjMvOStMNDgvL3oxUGpzbFVmSE5iKytMTjV5OVB4NitX
ZWUKZlRYK2R2Q1p1UE91SjJOTHV0K1dudjg4dmZOU3V1MnVsNWpCZjFJWGo2czN2eWErUFBSNERO
MTdlNG9WdFcwby92UnZIcW8vbXIrdwpXV0xqNXRqKzdPUHhyVTBiSStYQ3RBM0dwNzh5VkgvVURm
K016Um56eXJ6cWh2bW9Ed1FJRUNCQWdNRDBCZG9lUU1hNnNtUkZXdTFJCnl4MFgvbFkwUDlCR0hI
WDQyTHZkZTc5ZzRieFlldFNTV0hIY3NsaHgvUEpZK2Riall1VXB4OGRiMzM1MHZPK2RDK1Bmdml2
aVBXOUoKcXpZcHZQVE9kbHk4NWEwbnhMdk92ekwrMHlXTlhpOVoxQWhRWThld1pNVWJZK1h5RStM
c0szNC9ybTZrbERodXliNWx4c3JPNUwxNQpOWlA2KzdmZFAvTnEveVB6bkFBQkFnUUlFS2hPb0xM
emExNThOdUtwcHlMKzkvK28vYjA5YmVsRDdYbXJxanVRZHUzNXRWZDN4d3ZQCi95S2UzZjVDekZt
d0s1NTg5aGZ4V3JwLzR0SG40dHZmL0duOS9tZnBsSzJuaGhzdEhyMWlZYXhlYy9UNEtWZ25wZWVk
TzZWc3FrZTkKUFg3NitCT3g2L3QvRVRkdnJ0VlpIVmYrdTFQM3E5d0lHeTg5OGZmeHplWVpXVzg2
UGkxUmRkbG1YblhUZ1BUUHZPb21WWDBoUUlBQQpBUUw5TGxCWkFCbThNWjMrazI1ajI3WjBiVWp0
K285dTN4N2YrbFQ4MlIvODljRzdlZUl4RWI5NVdqcGY2NWc0NVlTRjhZZm5MbzF6CjAzMzNib054
eWR0UEhPL2VyVVBmamt0WDdYdUYrZVpiZmk4K2VOZU8yRHpZT08xcTlYV2I0dmZQNzc0Uk02L0do
N0VMSHZUUHZPb0MKVEYwZ1FJQUFBUUt6UnFDeUFMTDZ0eVArNjY5SGZQbS9SdHlaUHRPZWxQN0Ev
cTIwS25MMjh1NjJQZmFrbytLOTd6ODFhdmRMNDdVNApJVjZzM3orODdjVzRlOHRQbzNZZmp6OGQ4
V2RiNmdmeXd6Y3VqNCtmK1k1WW11N2ZzZXFRdVB6OUsrcjNOZGczcEZ0bHdGbU1xK096Cm0vNG80
cjViNGhOZkdJeHJWeStKWjdkc2l6KzZzR1ZKYW1oSFBOWllxMHA3WGgxZjJIaEZGNjdrcEo2WlYr
WlYxdHhYbUFBQkFnUUkKRU9nMmdjbytINy81OUlpTEwwMjNENlpyUDFMNCtPTjA1Si83eXhSQS9z
dStCRE4rb2ZhKzNZbkZTdytKdDU1MlFyenR2Y2ZIc1ljTwp4QmxIejZuZnYvNkxYOFFOdjdzOWF2
ZmZmbkJIL0xmYmZseS9mK0duejhVUHZ2TDM5YjA4L2F2SHg5Smw1OGFUY1h5c1dEUVFxNCtjClU3
L2ZyNGtaZUxvNjN2OGZMbzEzWFhGcHZQZkk4K09Dend6R2paKzRPNjY5OEEvRyszTEpyWGZGMTY2
Wkg5Y01uQlJmU0VIa3pPdS8KRWlPM1hUcisxY25qQldmNGdYbGxYczN3Rk5ROEFRSUVDQkFnVUNo
UTJVWG9yZjA2dG5sUmMrdHI5Y2ZwRzZocXF3UTlzYVhmLzRqYQpoZHVIcEIraXFOM1hudSszdmJw
ck5KNzcxOWZqcDgvdnJ0L1hubmZIOWxMc2FpYTkrV1BnUS9mRVQycGYxVFcydmZweWVyUXFQdjJ0
Cnp6WmUrY0psY2NQZlBESDJibGZlbTFjelBTejlPYTltV2xYN0JBZ1FJRUNnM3dVcVd3SFpmRXZF
YjZXemxPNnNYL1RjWUR6NnFQMDQKMDNzZlNTc2tZOXVMajBYODV6c2pya2pmTkRWVDIvYjA0NFNi
LzYvNzR0QzBFcklvZHFYVGtGNnQzKzk0WVZjOC9OaExVYnVmYkR0awp3Wnc0ZnRtOE9PV1lCWEZr
dWlTazlydzd0czF4VllJKzhySE4wYnpFSTMwcHdPVng2dUowTnRsK0hWeCs5a2RqMDVXZmlMVnBI
UDc0CmtxdmlOOUp2Z1Z6WUpiOEZVdXVxZVdWZTdUZGxQU1ZBZ0FBQkFnUjZUS0Q5QVdUc1d1eDAz
VWZ0Mm8vNmxuNVlZdVBISTY2N292bDgKckV4NnVya2xvTlRlL2VEa24rK2JsYXU5Mi9uQ3kvSG9E
NTQ4YUNPSEhya2tqbm43RzZOMmY4S0poOGU1NXh4ZnYxOSsySnc0ZGVYQwpxTjEzMnpZMERwMitB
ZXU2MzRrL3ZQSHFTUGtqL1JES0lZMnVqby9KNHJqaWY5NGJmM3JuQmVtWFFBYmovWi80cXhpNTQ0
cVpQeFZyCnJIL21WVmROclo2ZlYxMmxxVE1FQ0JBZ1FHQjJDQXlNcHEwZGh6b3dNQkR0MlZPak4y
bDNhWC9yMjlHMXZ0ekhmZmM5RWV2WEQwYnQKdnJhMWFSaXpyQnBqM3BicE0ybTc1dFdrTkpXOE1W
dm1WU1Y0ZGtxQUFBRUNCQWhNU2FENy9sUS9wVzRyUklBQUFRSUVDQkFnUUlCQQpMd29JSUwwNGF2
cE1nQUFCQWdRSUVDQkFvRWNGQkpBZUhUamRKa0NBQUFFQ0JBZ1FJTkNMQWdKSUw0NmFQaE1nUUlB
QUFRSUVDQkRvClVRRUJwRWNIVHJjSkVDQkFnQUFCQWdRSTlLS0FBTktMbzZiUEJBZ1FJRUNBQUFF
Q0JIcFVRQURwMFlIVGJRSUVDQkFnUUlBQUFRSzkKS0NDQTlPS282VE1CQWdRSUVDQkFnQUNCSGhW
bzJ3OFJ6cGt6WjBaK0RLOUgzZnVpMjdVZkNkeXpaMCtseDJKZVZjcmJsVHZ2eEx6cQp5Z1BYS1FJ
RUNCQWdNRXNFMmhaQVpvbVh3eVJBZ0FBQkFnUUlFQ0JBb0VEQUtWZ0ZlS29TSUVDQUFBRUNCQWdR
SUpBbklJRGtlU2xOCmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJ
bnBmU0JBZ1FJRUNBQUFFQ0JBZ1VDQWdnQlhpcUVpQkEKZ0FBQkFnUUlFQ0NRSnlDQTVIa3BUWUFB
QVFJRUNCQWdRSUJBZ1lBQVVvQ25LZ0VDQkFnUUlFQ0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQQpnQUFC
QWdRSUZBZ0lJQVY0cWhJZ1FJQUFBUUlFQ0JBZ2tDY2dnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FB
RktBcHlvQkFnUUlFQ0JBCmdBQUJBbmtDQWtpZWw5SUVDQkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJ
RUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFCQWdRSUVDQkEKZ0VDQmdBQlNnS2NxQVFJRUNCQWdR
SUFBQVFKNUFnSklucGZTQkFnUUlFQ0FBQUVDQkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUQpK
eUNBNUhrcFRZQUFBUUlFQ0JBZ1FJQkFnWUFBVW9DbktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2WDBn
UUlFQ0JBZ0FBQkFnUUlGQWdJCklBVjRxaElnUUlBQUFRSUVDQkFna0NjZ2dPUjVLVTJBQUFFQ0JB
Z1FJRUNBUUlHQUFGS0FweW9CQWdRSUVDQkFnQUFCQW5rQ0FraWUKbDlJRUNCQWdRSUFBQVFJRUNC
UUlDQ0FGZUtvU0lFQ0FBQUVDQkFnUUlKQW5JSURrZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tj
cQpBUUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlNCQWdRSUVDQUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FB
QkFnUUlFQ0NRSnlDQTVIa3BUWUFBCkFRSUVDQkFnUUlCQWdZQUFVb0NuS2dFQ0JBZ1FJRUNBQUFF
Q2VRSUNTSjZYMGdRSUVDQkFnQUFCQWdRSUZBZ0lJQVY0cWhJZ1FJQUEKQVFJRUNCQWdrQ2NnZ09S
NUtVMkFBQUVDQkFnUUlFQ0FRSUdBQUZLQXB5b0JBZ1FJRUNCQWdBQUJBbmtDQWtpZWw5SUVDQkFn
UUlBQQpBUUlFQ0JRSUNDQUZlS29TSUVDQUFBRUNCQWdRSUpBbklJRGtlU2xOZ0FBQkFnUUlFQ0JB
Z0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFBCkFRSjVBZ0pJbnBmU0JBZ1FJRUNBQUFFQ0JBZ1VDQWdn
QlhpcUVpQkFnQUFCQWdRSUVDQ1FKeUNBNUhrcFRZQUFBUUlFQ0JBZ1FJQkEKZ1lBQVVvQ25LZ0VD
QkFnUUlFQ0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQWdBQUJBZ1FJRkFnSUlBVjRxaElnUUlBQUFRSUVD
QkFna0NjZwpnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FBRktBcHlvQkFnUUlFQ0JBZ0FBQkFua0NB
a2llbDlJRUNCQWdRSUFBQVFJRUNCUUlDQ0FGCmVLb1NJRUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5n
QUFCQWdRSUVDQkFnRUNCZ0FCU2dLY3FBUUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlMKQkFnUUlFQ0FB
QUVDQkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUUp5Q0E1SGtwVFlBQUFRSUVDQkFnUUlCQWdZ
QUFVb0NuS2dFQwpCQWdRSUVDQUFBRUNlUUlDU0o2WDBnUUlFQ0JBZ0FBQkFnUUlGQWdJSUFWNHFo
SWdRSUFBQVFJRUNCQWdrQ2NnZ09SNUtVMkFBQUVDCkJBZ1FJRUNBUUlHQUFGS0FweW9CQWdRSUVD
QkFnQUFCQW5rQ0FrZ01LRS9LQUFBUmprbEVRVlNlbDlJRUNCQWdRSUFBQVFJRUNCUUkKQ0NBRmVL
b1NJRUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFCQWdRSUVDQkFnRUNCZ0FCU2dLY3FBUUlFQ0JB
Z1FJQUFBUUo1QWdKSQpucGZTQkFnUUlFQ0FBQUVDQkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUND
UUp5Q0E1SGtwVFlBQUFRSUVDQkFnUUlCQWdZQUFVb0NuCktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2
WDBnUUlFQ0JBZ0FBQkFnUUlGQWdJSUFWNHFoSWdRSUFBQVFJRUNCQWdrQ2NnZ09SNUtVMkEKQUFF
Q0JBZ1FJRUNBUUlHQUFGS0FweW9CQWdRSUVDQkFnQUFCQW5rQ0FraWVsOUlFQ0JBZ1FJQUFBUUlF
Q0JRSUNDQUZlS29TSUVDQQpBQUVDQkFnUUlKQW5JSURrZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJT
Z0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJbnBmU0JBZ1FJRUNBCkFBRUNCQWdVQ0FnZ0JYaXFFaUJB
Z0FBQkFnUUlFQ0NRSnlDQTVIa3BUWUFBQVFJRUNCQWdRSUJBZ1lBQVVvQ25LZ0VDQkFnUUlFQ0EK
QUFFQ2VRSUNTSjZYMGdRSUVDQkFnQUFCQWdRSUZBZ0lJQVY0cWhJZ1FJQUFBUUlFQ0JBZ2tDY2dn
T1I1S1UyQUFBRUNCQWdRSUVDQQpRSUdBQUZLQXB5b0JBZ1FJRUNCQWdBQUJBbmtDQWtpZWw5SUVD
QkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJRUNBQUFFQ0JBZ1FJSkFuCklJRGtlU2xOZ0FBQkFnUUlF
Q0JBZ0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFBQVFKNUFnSklucGZTQkFnUUlFQ0FBQUVDQkFnVUNB
Z2cKQlhpcUVpQkFnQUFCQWdRSUVDQ1FKeUNBNUhrcFRZQUFBUUlFQ0JBZ1FJQkFnWUFBVW9Dbktn
RUNCQWdRSUVDQUFBRUNlUUlDU0o2WAowZ1FJRUNCQWdBQUJBZ1FJRkFnSUlBVjRxaElnUUlBQUFR
SUVDQkFna0NjZ2dPUjVLVTJBQUFFQ0JBZ1FJRUNBUUlHQUFGS0FweW9CCkFnUUlFQ0JBZ0FBQkFu
a0NBa2llbDlJRUNCQWdRSUFBQVFJRUNCUUlDQ0FGZUtvU0lFQ0FBQUVDQkFnUUlKQW5JSURrZVNs
TmdBQUIKQWdRSUVDQkFnRUNCZ0FCU2dLY3FBUUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlNCQWdRSUVD
QUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FBQgpBZ1FJRUNDUUp5Q0E1SGtwVFlBQUFRSUVDQkFnUUlC
QWdZQUFVb0NuS2dFQ0JBZ1FJRUNBQUFFQ2VRSUNTSjZYMGdRSUVDQkFnQUFCCkFnUUlGQWdJSUFW
NHFoSWdRSUFBQVFJRUNCQWdrQ2NnZ09SNUtVMkFBQUVDQkFnUUlFQ0FRSUdBQUZLQXB5b0JBZ1FJ
RUNCQWdBQUIKQW5rQ0FraWVsOUlFQ0JBZ1FJQUFBUUlFQ0JRSUNDQUZlS29TSUVDQUFBRUNCQWdR
SUpBbklJRGtlU2xOZ0FBQkFnUUlFQ0JBZ0VDQgpnQUJTZ0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJ
bnBmU0JBZ1FJRUNBQUFFQ0JBZ1VDQWdnQlhpcUVpQkFnQUFCQWdRSUVDQ1FKeUNBCjVIa3BUWUFB
QVFJRUNCQWdRSUJBZ1lBQVVvQ25LZ0VDQkFnUUlFQ0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQWdBQUJB
Z1FJRkFnSUlBVjQKcWhJZ1FJQUFBUUlFQ0JBZ2tDY2dnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FB
RktBcHlvQkFnUUlFQ0JBZ0FBQkFua0NBa2llbDlJRQpDQkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJ
RUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFCQWdRSUVDQkFnRUNCZ0FCU2dLY3FBUUlFCkNCQWdR
SUFBQVFKNUFnSklucGZTQkFnUUlFQ0FBQUVDQkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUUp5
Q0E1SGtwVFlBQUFRSUUKQ0JBZ1FJQkFnWUFBVW9DbktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2WDBn
UUlFQ0JBZ0FBQkFnUUlGQWdJSUFWNHFoSWdRSUFBQVFJRQpDQkFna0NjZ2dPUjVLVTJBQUFFQ0JB
Z1FJRUNBUUlHQUFGS0FweW9CQWdRSUVDQkFnQUFCQW5rQ0FraWVsOUlFQ0JBZ1FJQUFBUUlFCkNC
UUlDQ0FGZUtvU0lFQ0FBQUVDQkFnUUlKQW5JSURrZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tj
cUFRSUVDQkFnUUlBQUFRSjUKQWdKSW5wZlNCQWdRSUVDQUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FB
QkFnUUlFQ0NRSnlDQTVIa3BUWUFBQVFJRUNCQWdRSUJBZ1lBQQpVb0NuS2dFQ0JBZ1FJRUNBQUFF
Q2VRSUNTSjZYMGdRSUVDQkFnQUFCQWdRSUZBZ0lJQVY0cWhJZ1FJQUFBUUlFQ0JBZ2tDY2dnT1I1
CktVMkFBQUVDQkFnUUlFQ0FRSUdBQUZLQXB5b0JBZ1FJRUNCQWdBQUJBbmtDQWtpZWw5SUVDQkFn
UUlBQUFRSUVDQlFJQ0NBRmVLb1MKSUVDQUFBRUNCQWdRSUpBbklJRGtlU2xOZ0FBQkFnUUlFQ0JB
Z0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFBQVFKNUFnSklucGZTQkFnUQpJRUNBQUFFQ0JBZ1VDQWdn
QlhpcUVpQkFnQUFCQWdRSUVDQ1FKeUNBNUhrcFRZQUFBUUlFQ0JBZ1FJQkFnWUFBVW9DbktnRUNC
QWdRCklFQ0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQWdBQUJBZ1FJRkFnSUlBVjRxaElnUUlBQUFRSUVD
QkFna0NjZ2dPUjVLVTJBQUFFQ0JBZ1EKSUVDQVFJR0FBRktBcHlvQkFnUUlFQ0JBZ0FBQkFua0NB
a2llbDlJRUNCQWdRSUFBQVFJRUNCUUlDQ0FGZUtvU0lFQ0FBQUVDQkFnUQpJSkFuSUlEa2VTbE5n
QUFCQWdRSUVDQkFnRUNCZ0FCU2dLY3FBUUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlNCQWdRSUVDQUFB
RUNCQWdVCkNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUUp5Q0E1SGtwVFlBQUFRSUVDQkFnUUlCQWdZ
QUFVb0NuS2dFQ0JBZ1FJRUNBQUFFQ2VRSUMKU0o2WDBnUUlFQ0JBZ0FBQkFnUUlGQWdJSUFWNHFo
SWdRSUFBQVFJRUNCQWdrQ2NnZ09SNUtVMkFBQUVDQkFnUUlFQ0FRSUdBQUZLQQpweW9CQWdRSUVD
QkFnQUFCQW5rQ0FraWVsOUlFQ0JBZ1FJQUFBUUlFQ0JRSUNDQUZlS29TSUVDQUFBRUNCQWdRSUpB
bklJRGtlU2xOCmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJbnBm
U0JBZ1FJRUNBQUFFQ0JBZ1VDQWdnQlhpcUVpQkEKZ0FBQkFnUUlFQ0NRSnlDQTVIa3BUWUFBQVFJ
RUNCQWdRSUJBZ1lBQVVvQ25LZ0VDQkFnUUlFQ0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQQpnQUFCQWdR
SUZBZ0lJQVY0cWhJZ1FJQUFBUUlFQ0JBZ2tDY2dnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FBRktB
cHlvQkFnUUlFQ0JBCmdBQUJBbmtDQWtpZWw5SUVDQkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJRUNB
QUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFCQWdRSUVDQkEKZ0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFB
QVFKNUFnSklucGZTQkFnUUlFQ0FBQUVDQkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUQpKeUNB
NUhrcFRZQUFBUUlFQ0JBZ1FJQkFnWUFBVW9DbktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2WDBnUUlF
Q0JBZ0FBQkFnUUlGQWdJCklBVjRxaElnUUlBQUFRSUVDQkFna0NjZ2dPUjVLVTJBQUFFQ0JBZ1FJ
RUNBUUlHQUFGS0FweW9CQWdRSUVDQkFnQUFCQW5rQ0FraWUKbDlJRUNCQWdRSUFBQVFJRUNCUUlD
Q0FGZUtvU0lFQ0FBQUVDQkFnUUlKQW5JSURrZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tjcQpB
UUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlNCQWdRSUVDQUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FBQkFn
UUlFQ0NRSnlDQTVIa3BUWUFBCkFRSUVDQkFnUUlCQWdZQUFVb0NuS2dFQ0JBZ1FJRUNBQUFFQ2VR
SUNTSjZYMGdRSUVDQkFnQUFCQWdRSUZBZ0lJQVY0cWhJZ1FJQUEKQVFJRUNCQWdrQ2NnZ09SNUtV
MkFBQUVDQkFnUUlFQ0FRSUdBQUZLQXB5b0JBZ1FJRUNCQWdBQUJBbmtDQWtpZWw5SUVDQkFnUUlB
QQpBUUlFQ0JRSUNDQUZlS29TSUVDQUFBRUNCQWdRSUpBbklJRGtlU2xOZ0FBQkFnUUlFQ0JBZ0VD
QmdBQlNnS2NxQVFJRUNCQWdRSUFBCkFRSjVBZ0pJbnBmU0JBZ1FJRUNBQUFFQ0JBZ1VDQWdnQlhp
cUVpQkFnQUFCQWdRSUVDQ1FKeUNBNUhrcFRZQUFBUUlFQ0JBZ1FJQkEKZ1lBQVVvQ25LZ0VDQkFn
UUlFQ0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQWdBQUJBZ1FJRkFnSUlBVjRxaElnUUlBQUFRSUVDQkFn
a0NjZwpnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FBRktBcHlvQkFnUUlFQ0JBZ0FBQkFua0NBa2ll
bDlJRUNCQWdRSUFBQVFJRUNCUUlDQ0FGCmVLb1NJRUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFC
QWdRSUVDQkFnRUNCZ0FCU2dLY3FBUUlFQ0JBZ1FJQUFBUUo1QWdKSW5wZlMKQkFnUUlFQ0FBQUVD
QkFnVUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUUp5Q0E1SGtwVFlBQUFRSUVDQkFnUUlCQWdZQUFV
b0NuS2dFQwpCQWdRSUVDQUFBRUNlUUlDU0o2WDBnUUlFQ0JBZ0FBQkFnUUlGQWdJSUFWNHFoSWdR
SUFBQVFJRUNCQWdrQ2NnZ09SNUtVMkFBQUVDCkJBZ1FJRUNBUUlHQUFGS0FweW9CQWdRSUVDQkFn
QUFCQW5rQ0FraWVsOUlFQ0JBZ1FJQUFBUUlFQ0JRSUNDQUZlS29TSUVDQUFBRUMKQkFnUUlKQW5J
SURrZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJbnBmU0JB
Z1FJRUNBQUFFQwpCQWdVQ0FnZ0JYaXFFaUJBZ0FBQkFnUUlFQ0NRSnlDQTVIa3BUWUFBQVFJRUNC
QWdRSUJBZ1lBQVVvQ25LZ0VDQkFnUUlFQ0FBQUVDCmVRSUNTSjZYMGdRSUVDQkFnQUFCQWdRSUZB
Z0lJQVY0cWhJZ1FJQUFBUUlFQ0JBZ2tDY2dnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0EKQUZLQXB5
b0JBZ1FJRUNCQWdBQUJBbmtDQWtpZWw5SUVDQkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJRUNBQUFF
Q0JBZ1FJSkFuSUlEawplU2xOZ0FBQkFnUUlFQ0JBZ0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFBQVFK
NUFnSklucGZTQkFnUUlFQ0FBQUVDQkFnVUNBZ2dCWGlxCkVpQkFnQUFCQWdRSUVDQ1FKeUNBNUhr
cFRZQUFBUUlFQ0JBZ1FJQkFnWUFBVW9DbktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2WDBnUUkKRUNC
QWdBQUJBZ1FJRkFnSUlBVjRxaElnUUlBQUFRSUVDQkFna0NjZ2dPUjVLVTJBQUFFQ0JBZ1FJRUNB
UUlHQUFGS0FweW9CQWdRSQpFQ0JBZ0FBQkFua0NBa2llbDlJRUNCQWdRSUFBQVFJRUNCUUlDQ0FG
ZUtvU0lFQ0FBQUVDQkFnUUlKQW5JSURrZVNsTmdBQUJBZ1FJCkVDQkFnRUNCZ0FCU2dLY3FBUUlF
Q0JBZ1FJQUFBUUo1QWdKSW5wZlNCQWdRSUVDQUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FBQkFnUUkK
RUNDUUp5Q0E1SGtwVFlBQUFRSUVDQkFnUUlCQWdZQUFVb0NuS2dFQ0JBZ1FJRUNBQUFFQ2VRSUNT
SjZYMGdRSUVDQkFnQUFCQWdRSQpGQWdJSUFWNHFoSWdRSUFBQVFJRUNCQWdrQ2NnZ09SNUtVMkFB
QUVDQkFnUUlFQ0FRSUdBQUZLQXB5b0JBZ1FJRUNCQWdBQUJBbmtDCkFraWVsOUlFQ0JBZ1FJQUFB
UUlFQ0JRSUNDQUZlS29TSUVDQUFBRUNCQWdRSUpBbklJRGtlU2xOZ0FBQkFnUUlFQ0JBZ0VDQmdB
QlMKZ0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJbnBmU0JBZ1FJRUNBQUFFQ0JBZ1VDQWdnQlhpcUVp
QkFnQUFCQWdRSUVDQ1FKeUNBNUhrcApUWUFBQVFJRUNCQWdRSUJBZ1lBQVVvQ25LZ0VDQkFnUUlF
Q0FBQUVDZVFJQ1NKNlgwZ1FJRUNCQWdBQUJBZ1FJRkFnSUlBVjRxaElnClFJQUFBUUlFQ0JBZ2tD
Y2dnT1I1S1UyQUFBRUNCQWdRSUVDQVFJR0FBRktBcHlvQkFnUUlFQ0JBZ0FBQkFua0NBa2llbDlJ
RUNCQWcKUUlBQUFRSUVDQlFJQ0NBRmVLb1NJRUNBQUFFQ0JBZ1FJSkFuSUlEa2VTbE5nQUFCQWdR
SUVDQkFnRUNCZ0FCU2dLY3FBUUlFQ0JBZwpRSUFBQVFKNUFnSklucGZTQkFnUUlFQ0FBQUVDQkFn
VUNBZ2dCWGlxRWlCQWdBQUJBZ1FJRUNDUUp5Q0E1SGtwVFlBQUFRSUVDQkFnClFJQkFnWUFBVW9D
bktnRUNCQWdRSUVDQUFBRUNlUUlDU0o2WDBnUUlFQ0JBZ0FBQkFnUUlGQWdJSUFWNHFoSWdRSUFB
QVFJRUNCQWcKa0NjZ2dPUjVLVTJBQUFFQ0JBZ1FJRUNBUUlHQUFGS0FweW9CQWdRSUVDQkFnQUFC
QW5rQ0FraWVsOUlFQ0JBZ1FJQUFBUUlFQ0JRSQpDQ0FGZUtvU0lFQ0FBQUVDQkFnUUlKQW5JSURr
ZVNsTmdBQUJBZ1FJRUNCQWdFQ0JnQUJTZ0tjcUFRSUVDQkFnUUlBQUFRSjVBZ0pJCm5wZlNCQWdR
SUVDQUFBRUNCQWdVQ0FnZ0JYaXFFaUJBZ0FBQkFnUUlFQ0NRSnlDQTVIa3BUWUFBQVFJRUNCQWdR
SUJBZ1lBQVVvQ24KS2dFQ0JBZ1FJRUNBQUFFQ2VRSUNTSjZYMGdRSUVDQkFnQUFCQWdRSUZBZ0lJ
QVY0cWhJZ1FJQUFBUUlFQ0JBZ2tDY2dnT1I1S1UyQQpBQUVDQkFnUUlFQ0FRSUdBQUZLQXB5b0JB
Z1FJRUNCQWdBQUJBbmtDQWtpZWw5SUVDQkFnUUlBQUFRSUVDQlFJQ0NBRmVLb1NJRUNBCkFBRUNC
QWdRSUpBbklJRGtlU2xOZ0FBQkFnUUlFQ0JBZ0VDQmdBQlNnS2NxQVFJRUNCQWdRSUFBQVFKNUFn
SklucGZTQkFnUUlFQ0EKQUFFQ0JBZ1VDQWdnQlhpcUVpQkFnQUFCQWdRSUVDQ1FKL0QvQXpvbGo2
Q0taalhvQUFBQUFFbEZUa1N1UW1DQwoK
</data>
<flag name="review"
          id="102095"
          type_id="1"
          status="+"
          setter="bdakin"
    />
    <flag name="commit-queue"
          id="102109"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>105883</attachid>
            <date>2011-08-31 19:17:00 -0700</date>
            <delta_ts>2011-08-31 22:46:24 -0700</delta_ts>
            <desc>New patch to test out EWS etc.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>130170</size>
            <attacher name="Dave Hyatt">hyatt</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDk0MjM0KQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTI0IEBACisyMDExLTA4LTMxICBEYXZpZCBI
eWF0dCAgPGh5YXR0QGFwcGxlLmNvbT4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NjczMjEKKworICAgICAgICBJbXBsZW1lbnQgYm9yZGVyLWltYWdl
LXNsaWNlLiBUaGlzIHdpbGwgZXZlbnR1YWxseSBiZSBhIGNvbXBvbmVudCBvZiB0aGUgbmV3IGJv
cmRlci1pbWFnZSBzaG9ydGhhbmQKKyAgICAgICAgcHJvcGVydHkuIEl0IGhvbGRzIHRoZSBjdXRz
IHRoYXQgeW91IG1ha2UgaW50byB0aGUgYm9yZGVyIGltYWdlIGFsb25nIHdpdGggYSBuZXcgb3B0
aW9uYWwgImZpbGwiCisgICAgICAgIGtleXdvcmQgdGhhdCBpbmRpY2F0ZXMgd2hldGhlciBvciBu
b3QgdGhlIGNlbnRlciBzaG91bGQgYmUgZmlsbGVkIHdpdGggdGhlIG1pZGRsZSBzbGljZSBvZiB0
aGUgaW1hZ2UuCisgICAgICAgIAorICAgICAgICBCeSBkZWZhdWx0IC13ZWJraXQtYm9yZGVyLWlt
YWdlIGhhcyBhbHdheXMgZmlsbGVkLCBidXQgdGhpcyBkb2VzIG5vdCBtYXRjaCB0aGUgc3BlY2lm
aWNhdGlvbi4gVG8gcHJlc2VydmUKKyAgICAgICAgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIC13
ZWJraXQtYm9yZGVyLWltYWdlIHdpbGwgY29udGludWUgdG8gZmlsbCBieSBkZWZhdWx0LCBidXQg
dGhpcyBkb2VzIHNsaWdodGx5IGFmZmVjdAorICAgICAgICBjb21wdXRlZCBzdHlsZSByZXN1bHRz
LCBzaW5jZSB0aGUgImZpbGwiIGtleXdvcmQgd2lsbCBub3cgYmUgaW5jbHVkZWQgaW4gcHJvcGVy
dHkgZHVtcHMuCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgZmFzdC9ib3JkZXJzL2JvcmRlci1pbWFnZS1zbGljZXMuaHRtbC4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBX
ZWJDb3JlLnBybzoKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjp+Q1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6
Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6aXNCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUpOgorICAgICAgICBBZGQgYSBuZXcgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVl
IHRoYXQgaG9sZHMgYm90aCB0aGUgZm91ciBzbGljZXMgKGFzIGEgQ1NTIHJlY3QpIGFuZCB0aGUK
KyAgICAgICAgZmlsbCBrZXl3b3JkIChhcyBhIGJvb2xlYW4pLiBOb3RlIHRoYXQgdGhlIGNzc1Rl
eHQoKSBkdW1waW5nIG9mIHRoZSBzbGljZXMgaGFzIGJlZW4gcmVmaW5lZAorICAgICAgICB0byBi
ZSBzbWFydGVyLCBhbmQgaXQgd2lsbCBubyBsb25nZXIgZHVtcCByZXBlYXRpbmcgdmFsdWVzLgor
CisgICAgICAgICogY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTQm9yZGVySW1hZ2VWYWx1ZTo6Q1NTQm9yZGVySW1hZ2VWYWx1ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NCb3JkZXJJbWFnZVZhbHVlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oOgorICAgICAgICAoV2ViQ29yZTo6Q1NTQm9yZGVySW1hZ2VWYWx1
ZTo6Y3JlYXRlKToKKyAgICAgICAgQ1NTQm9yZGVySW1hZ2VWYWx1ZSBub3cgb3ducyBhIENTU0Jv
cmRlckltYWdlU2xpY2VWYWx1ZSBpbnN0ZWFkIG9mIGp1c3QgYSBDU1MgcmVjdC4KKworICAgICAg
ICAqIGNzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6dmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKToKKyAgICAgICAgKFdlYkNvcmU6OnZhbHVl
Rm9yTmluZVBpZWNlSW1hZ2UpOgorICAgICAgICBBZGQgYSBuZXcgbWV0aG9kLCB2YWx1ZUZvck5p
bmVQaWVjZUltYWdlU2xpY2UsIGZvciBnZXR0aW5nIHRoZSBzbGljZXMgcGx1cyB0aGUgZmlsbCB2
YWx1ZQorICAgICAgICBmcm9tIHRoZSBOaW5lUGllY2VJbWFnZSBhbmQgcHV0dGluZyBpdCBpbnRv
IGEgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLiBUaGlzIG1ldGhvZCBpcyBub3cgdXNlZCBieQor
ICAgICAgICB2YWx1ZUZvck5pbmVQaWVjZUltYWdlIHRvIGdldCB0aGUgQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlIHRoYXQgaXMgcGFydCBvZiB0aGUgb3ZlcmFsbAorICAgICAgICBDU1NCb3JkZXJJ
bWFnZVZhbHVlLgorICAgIAorICAgICAgICAoV2ViQ29yZTo6Q1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uOjpnZXRQcm9wZXJ0eUNTU1ZhbHVlKToKKyAgICAgICAgQWRkaW5nIHN1cHBvcnQgZm9y
IHRoZSBuZXcgcHJvcGVydGllczogYm9yZGVyLWltYWdlLXNsaWNlIGFuZCAtd2Via2l0LW1hc2st
Ym94LWltYWdlLXNsaWNlLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlVmFsdWUpOgorICAgICAgICAoV2ViQ29yZTo6Qm9y
ZGVySW1hZ2VQYXJzZUNvbnRleHQ6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0KToKKyAgICAgICAg
KFdlYkNvcmU6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0OjphbGxvd0JyZWFrKToKKyAgICAgICAg
KFdlYkNvcmU6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0Ojpjb21taXRJbWFnZSk6CisgICAgICAg
IChXZWJDb3JlOjpCb3JkZXJJbWFnZVBhcnNlQ29udGV4dDo6Y29tbWl0U2xpY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VQYXJzZUNvbnRleHQ6OmNvbW1pdFNsYXNoKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJvcmRlckltYWdlUGFyc2VDb250ZXh0Ojpjb21taXRCb3JkZXJJbWFnZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2UpOgorICAgICAg
ICBNb2RpZnkgcGFyc2VCb3JkZXJJbWFnZSB0byBubyBsb25nZXIgcGFyc2UgdGhlIHNsaWNlcyBp
dHNlbGYuIEluc3RlYWQgaXQgZmFybXMgb3V0IHRoZSBwYXJzaW5nCisgICAgICAgIHRvIHBhcnNl
Qm9yZGVySW1hZ2VTbGljZS4KKworICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBh
cnNlQ29udGV4dDo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dCk6CisgICAgICAgIChXZWJD
b3JlOjpCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0OjphbGxvd051bWJlcik6CisgICAgICAg
IChXZWJDb3JlOjpCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0OjphbGxvd0ZpbGwpOgorICAg
ICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6YWxsb3dGaW5hbENv
bW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJbWFnZVNsaWNlUGFyc2VDb250ZXh0Ojp0
b3ApOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29t
bWl0TnVtYmVyKToKKyAgICAgICAgKFdlYkNvcmU6OkJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRl
eHQ6OmNvbW1pdEZpbGwpOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVySW1hZ2VTbGljZVBhcnNl
Q29udGV4dDo6c2V0QWxsb3dGaW5hbENvbW1pdCk6CisgICAgICAgIChXZWJDb3JlOjpCb3JkZXJJ
bWFnZVNsaWNlUGFyc2VDb250ZXh0OjpzZXRUb3ApOgorICAgICAgICAoV2ViQ29yZTo6Qm9yZGVy
SW1hZ2VTbGljZVBhcnNlQ29udGV4dDo6Y29tbWl0Qm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2VTbGljZSk6CisgICAgICAgIFNs
aWNlIHBhcnNpbmcgaGFzIG5vdyBiZWVuIGJyb2tlbiBvdXQgc28gdGhhdCBpdCBjYW4gYmUgcGFy
c2VkIGFzIGEgc2luZ2xlIHByb3BlcnR5LiBJbiBhZGRpdGlvbgorICAgICAgICBzdXBwb3J0IGZv
ciB0aGUgImZpbGwiIGtleXdvcmQgaGFzIGJlZW4gYWRkZWQgdG8gY29udHJvbCBpbWFnZSBmaWxs
aW5nLgorCisgICAgICAgICogY3NzL0NTU1BhcnNlci5oOgorICAgICAgICBNb2RpZmllZCB0byBh
ZGQgdGhlIG5ldyBwYXJzZUJvcmRlckltYWdlU2xpY2UgbWV0aG9kLgorCisgICAgICAgICogY3Nz
L0NTU1Byb3BlcnR5TmFtZXMuaW46CisgICAgICAgIEFkZCB0aGUgbmV3IHByb3BlcnRpZXM6IGJv
cmRlci1pbWFnZS1zbGljZSBhbmQgLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zbGljZS4KKworICAg
ICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0
eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVT
ZWxlY3Rvcjo6bWFwTmluZVBpZWNlSW1hZ2UpOgorICAgICAgICBSZXdvcmsgbWFwTmluZVBpZWNl
SW1hZ2UgdG8gY2FsbCBtYXBOaW5lUGllY2VJbWFnZVNsaWNlIHNvIHRoYXQgdGhlIG1hcHBpbmcg
Y2FuIGJlIGRvbmUganVzdCBmb3IKKyAgICAgICAgdGhlIHNsaWNlcy4KKworICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6bWFwTmluZVBpZWNlSW1hZ2VTbGljZSk6CisgICAgICAg
IEEgbmV3IG1ldGhvZCB0aGF0IGhhbmRsZXMgbWFwcGluZyBqdXN0IHRoZSBzbGljZXMgaW50byB0
aGUgZnJvbnQtZW5kIE5pbmVQaWVjZUltYWdlLgorCisgICAgICAgIChXZWJDb3JlOjpDU1NTdHls
ZVNlbGVjdG9yOjpsb2FkUGVuZGluZ0ltYWdlcyk6CisgICAgICAgIE1vZGlmaWVkIHRvIGVuc3Vy
ZSB0aGUgZmlsbCB2YWx1ZSBpcyBwcmVzZXJ2ZWQgd2hlbiBib3gtcmVmbGVjdCBtYWtlcyBhIG5l
dyBOaW5lUGllY2VJbWFnZS4KKworICAgICAgICAqIGNzcy9DU1NTdHlsZVNlbGVjdG9yLmg6Cisg
ICAgICAgIEFkZGVkIHRoZSBuZXcgbWFwTmluZVBpZWNlSW1hZ2VTbGljZSBtZXRob2QuCisKKyAg
ICAgICAgKiBjc3MvQ1NTVmFsdWUuaDoKKyAgICAgICAgKFdlYkNvcmU6OkNTU1ZhbHVlOjppc0Jv
cmRlckltYWdlU2xpY2VWYWx1ZSk6CisgICAgICAgIFZpcnR1YWwgZnVuY3Rpb24gZm9yIGlkZW50
aWZ5aW5nIGJvcmRlciBpbWFnZSBzbGljZSB2YWx1ZXMuCisKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9k
ZWxPYmplY3Q6OnBhaW50TmluZVBpZWNlSW1hZ2UpOgorICAgICAgICBUaGUgcGFpbnRpbmcgb2Yg
dGhlIG5pbmUgcGllY2UgaW1hZ2UgaGFzIGJlZW4gbW9kaWZpZWQgdG8gbWF0Y2ggdGhlIHNwZWNp
ZmljYXRpb24uIFRoZSAiZmlsbCIKKyAgICAgICAga2V5d29yZCBjb250cm9scyB3aGV0aGVyIG9y
IG5vdCB0aGUgbWlkZGxlIGlzIHBhaW50ZWQuIEluIGFkZGl0aW9uIHNpZGVzIGRvIG5vdCBwYWlu
dCBpZiB0aGUKKyAgICAgICAgb3Bwb3NpdGUgYXhpcyBjb25zdW1lZCBhbGwgb2YgdGhlIGltYWdl
IHNpemUgKGFzIHBlciB0aGUgc3BlYykuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvTmlu
ZVBpZWNlSW1hZ2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6TmluZVBpZWNlSW1hZ2U6Om9wZXJh
dG9yPT0pOgorICAgICAgICBUaGUgZmlsbCBrZXl3b3JkIGhhcyB0byBiZSBjaGVja2VkIG5vdyBm
b3IgZXF1YWxpdHkuCisKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6Ok5pbmVQaWVjZUltYWdlOjpOaW5lUGllY2VJbWFnZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpOaW5lUGllY2VJbWFnZTo6ZmlsbCk6CisgICAgICAgIChXZWJDb3Jl
OjpOaW5lUGllY2VJbWFnZTo6c2V0RmlsbCk6CisgICAgICAgIEFkZGVkIHRoZSBmaWxsIGtleXdv
cmQgdG8gdGhlIGZyb250IGVuZCBOaW5lUGllY2VJbWFnZS4KKworICAgICAgICAoV2ViQ29yZTo6
TmluZVBpZWNlSW1hZ2U6OmNvcHlTbGljZXNGcm9tKToKKyAgICAgICAgQWRkZWQgYSBoZWxwZXIg
dG8gY29weSBvbmx5IHRoZSBzbGljZXMgb3ZlciBmcm9tIGFub3RoZXIgTmluZVBpZWNlSW1hZ2Uu
IFVzZWQgd2hlbiBpbmhlcml0aW5nCisgICAgICAgIHRoZSBib3JkZXItaW1hZ2Utc2xpY2UgcHJv
cGVydHkgZnJvbSBhIHBhcmVudCBzdHlsZS4KKwogMjAxMS0wOC0zMSAgQWxleGVpIFN2aXRraW5l
ICA8YXN2aXRraW5lQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDaHJvbWl1bSBNYWM6IFR3ZWFr
IHJ1YmJlciBiYW5kaW5nIG92ZXJoYW5nIHNoYWRvd3MuIEFkZCBhIGRyb3Agc2hhZG93IGZyb20g
dGhlIGJyb3dzZXIncyB0b29sYmFyLgpJbmRleDogU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9u
IDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTQxMyw2ICs0MTMsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvZ2Vu
ZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcAogCiAgICAgY3NzL0NTU0JvcmRlckltYWdl
VmFsdWUuY3BwCisgICAgY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTQ2FudmFzVmFsdWUuY3BwCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmNwcAogICAgIGNzcy9D
U1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCShyZXZp
c2lvbiA5NDIwNSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQkod29ya2luZyBjb3B5
KQpAQCAtMjMwNiw2ICsyMzA2LDggQEAKICAgICAgICAgICAgICdjb25maWcuaCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NT
Qm9yZGVySW1hZ2VWYWx1ZS5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGlj
ZVZhbHVlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5o
JywKICAgICAgICAgICAgICdjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwJywKICAgICAgICAgICAgICdj
c3MvQ1NTQ2FudmFzVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmNw
cCcsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnBybwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnBybwkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnBybwkod29ya2luZyBjb3B5KQpAQCAtMzg2LDYgKzM4Niw3IEBAIHY4IHsKIAog
U09VUkNFUyArPSBcCiAgICAgY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuY3BwIFwKKyAgICBjc3Mv
Q1NTQm9yZGVySW1hZ2VWYWx1ZS5oIFwKICAgICBjc3MvQ1NTQ2FudmFzVmFsdWUuY3BwIFwKICAg
ICBjc3MvQ1NTQ2hhcnNldFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xh
cmF0aW9uLmNwcCBcCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3Jl
LnZjcHJvago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJD
b3JlLnZjcHJvagkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagkod29ya2luZyBjb3B5KQpAQCAtMzI3NDksNiArMzI3NDksMTQg
QEAKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NCb3JkZXJJbWFnZVZhbHVlLmgiCiAJCQkJ
PgogCQkJPC9GaWxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGUKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQm9yZGVySW1hZ2VT
bGljZVZhbHVlLmNwcCIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPgorICAgICAg
ICAgICAgICAgICAgICAgICAgPC9GaWxlPgorICAgICAgICAgICAgICAgICAgICAgICAgPEZpbGUK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlLmgiCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ID4KKyAgICAgICAgICAgICAgICAgICAgICAgIDwvRmlsZT4KIAkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIuLlxjc3NcQ1NTQ2FudmFzVmFsdWUuY3BwIgogCQkJCT4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9u
IDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCSh3b3JraW5nIGNvcHkpCkBAIC00OTE5LDYgKzQ5MTksOCBAQAogCQlCQzIzRjBEQjBEQUZG
NEE0MDA5RkRDOTEgLyogR2VuZXJhdGVkSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjNGMERBMERBRkY0QTQwMDlGREM5MSAvKiBHZW5lcmF0
ZWRJbWFnZS5oICovOyB9OwogCQlCQzI0NDFDNDBFOEI2NUQwMDA1NTMyMEYgLyogU2Nyb2xsVmll
dy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI0
NDFDMzBFOEI2NUQwMDA1NTMyMEYgLyogU2Nyb2xsVmlldy5jcHAgKi87IH07CiAJCUJDMjVCNTJB
MTMxQzZEMzkwMDE4MEUxMCAvKiBMb2NhbGl6ZWRTdHJpbmdzTWFjLm1tIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMyNUI1MjgxMzFDNkQzOTAwMTgwRTEw
IC8qIExvY2FsaXplZFN0cmluZ3NNYWMubW0gKi87IH07CisJCUJDMjc0QjJGMTQwRUJFQjIwMEVB
REZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuaCAqLzsgfTsKKwkJQkMyNzRCMzExNDBFQkVEODAwRUFERkE2
IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzI3NEIzMDE0MEVCRUQ4MDBFQURGQTYgLyogQ1NTQm9y
ZGVySW1hZ2VTbGljZVZhbHVlLmNwcCAqLzsgfTsKIAkJQkMyNzVCNzkxMUM1RDFDMzAwQzkyMDZD
IC8qIEpTV2ViS2l0UG9pbnRDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQkMyNzVCNzgxMUM1RDFDMzAwQzkyMDZDIC8qIEpTV2ViS2l0UG9p
bnRDdXN0b20uY3BwICovOyB9OwogCQlCQzI3NUI3RDExQzVEMjM1MDBDOTIwNkMgLyogSlNXZWJL
aXRDU1NNYXRyaXhDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpTV2ViS2l0Q1NTTWF0cml4
Q3VzdG9tLmNwcCAqLzsgfTsKIAkJQkMyNzVCODExMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRT
b3VyY2VDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMyNzVCODAxMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRTb3VyY2VDdXN0b20uY3Bw
ICovOyB9OwpAQCAtMTE2MzMsNiArMTE2MzUsOCBAQAogCQlCQzIzRjBEQTBEQUZGNEE0MDA5RkRD
OTEgLyogR2VuZXJhdGVkSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
R2VuZXJhdGVkSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyNDQxQzMw
RThCNjVEMDAwNTUzMjBGIC8qIFNjcm9sbFZpZXcuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2Nyb2xsVmlldy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUJDMjVCNTI4MTMxQzZEMzkwMDE4MEUxMCAvKiBMb2NhbGl6ZWRTdHJpbmdzTWFjLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gTG9jYWxpemVkU3RyaW5nc01h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQkMyNzRCMkUxNDBFQkVCMjAwRUFE
RkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQkMyNzRCMzAxNDBFQkVEODAwRUFERkE2IC8qIENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzI3
NUI3ODExQzVEMUMzMDBDOTIwNkMgLyogSlNXZWJLaXRQb2ludEN1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU1dlYktpdFBvaW50Q3VzdG9tLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMyNzVCN0MxMUM1RDIzNTAwQzkyMDZDIC8qIEpT
V2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTV2ViS2l0Q1NTTWF0cml4Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQkMyNzVCODAxMUM1RDJCNDAwQzkyMDZDIC8qIEpTRXZlbnRTb3VyY2VDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNFdmVudFNvdXJjZUN1
c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xOTM5MSw2ICsxOTM5NSw4
IEBACiAJCQkJOTMwNzA1QzcwOUUwQzk1RjAwQjE3RkU0IC8qIENvdW50ZXIuaWRsICovLAogCQkJ
CUE4MEU2Q0JCMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NCb3JkZXJJbWFnZVZhbHVlLmNwcCAqLywK
IAkJCQlBODBFNkNERDBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oICov
LAorCQkJCUJDMjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuY3BwICovLAorCQkJCUJDMjc0QjJFMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUuaCAqLywKIAkJCQlCQzYwNEE0MjBEQjU2MzRFMDAyMDQ3MzkgLyogQ1NTQ2Fu
dmFzVmFsdWUuY3BwICovLAogCQkJCUJDNjA0OUNCMERCNTYwQzIwMDIwNDczOSAvKiBDU1NDYW52
YXNWYWx1ZS5oICovLAogCQkJCUUxRUJCQkQzMEFBQzlCODcwMDFGRThFMiAvKiBDU1NDaGFyc2V0
UnVsZS5jcHAgKi8sCkBAIC0yMzQ2NCw2ICsyMzQ3MCw3IEBACiAJCQkJQjEwQjY5ODAxNDBDMTc0
MDAwQkMxQzI2IC8qIFdlYlZUVFRva2VuLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMTBCNjk4MjE0
MEMxNzQwMDBCQzFDMjYgLyogV2ViVlRUVG9rZW5pemVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
QjBGQjE5MjE0MERCNTc5MDAyMjU4OEYgLyogSFRUUFZhbGlkYXRpb24uaCBpbiBIZWFkZXJzICov
LAorCQkJCUJDMjc0QjJGMTQwRUJFQjIwMEVBREZBNiAvKiBDU1NCb3JkZXJJbWFnZVNsaWNlVmFs
dWUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjYyNzYsNiArMjYyODMsNyBAQAogCQkJCUU0NTMyMkFC
MTQwQ0UyNjcwMDVBMEY5MiAvKiBTZWxlY3RvclF1ZXJ5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUIxMEI2OTgxMTQwQzE3NDAwMEJDMUMyNiAvKiBXZWJWVFRUb2tlbml6ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOUIwRkIxOTExNDBEQjU3OTAwMjI1ODhGIC8qIEhUVFBWYWxpZGF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUJDMjc0QjMxMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NCb3Jk
ZXJJbWFnZVNsaWNlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcAkocmV2aXNpb24gMCkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIgorCisjaW5jbHVkZSAiUGxhdGZvcm1T
dHJpbmcuaCIKKyNpbmNsdWRlICJSZWN0LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlOjpDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUoUGFzc1JlZlB0
cjxSZWN0PiBzbGljZVJlY3QsIGJvb2wgZmlsbCkKKyAgICA6IG1fcmVjdChzbGljZVJlY3QpCisg
ICAgLCBtX2ZpbGwoZmlsbCkKK3sKK30KKworQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOjp+Q1NT
Qm9yZGVySW1hZ2VTbGljZVZhbHVlKCkKK3sKK30KKworU3RyaW5nIENTU0JvcmRlckltYWdlU2xp
Y2VWYWx1ZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgLy8gVGhpcyBpc24ndCByZWFsbHkgYSBD
U1MgcmVjdCwgc28gd2UgZHVtcCBtYW51YWxseQorICAgIFN0cmluZyB0ZXh0ID0gbV9yZWN0LT50
b3AoKS0+Y3NzVGV4dCgpOworICAgIGlmIChtX3JlY3QtPnJpZ2h0KCkgIT0gbV9yZWN0LT50b3Ao
KSB8fCBtX3JlY3QtPmJvdHRvbSgpICE9IG1fcmVjdC0+dG9wKCkgfHwgbV9yZWN0LT5sZWZ0KCkg
IT0gbV9yZWN0LT50b3AoKSkgeworICAgICAgICB0ZXh0ICs9ICIgIjsKKyAgICAgICAgdGV4dCAr
PSBtX3JlY3QtPnJpZ2h0KCktPmNzc1RleHQoKTsKKyAgICAgICAgaWYgKG1fcmVjdC0+Ym90dG9t
KCkgIT0gbV9yZWN0LT50b3AoKSB8fCBtX3JlY3QtPnJpZ2h0KCkgIT0gbV9yZWN0LT5sZWZ0KCkp
IHsKKyAgICAgICAgICAgIHRleHQgKz0gIiAiOworICAgICAgICAgICAgdGV4dCArPSBtX3JlY3Qt
PmJvdHRvbSgpLT5jc3NUZXh0KCk7CisgICAgICAgICAgICBpZiAobV9yZWN0LT5sZWZ0KCkgIT0g
bV9yZWN0LT5yaWdodCgpKSB7CisgICAgICAgICAgICAgICAgdGV4dCArPSAiICI7CisgICAgICAg
ICAgICAgICAgdGV4dCArPSBtX3JlY3QtPmxlZnQoKS0+Y3NzVGV4dCgpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgfQorCisgICAgLy8gTm93IHRoZSBmaWxsIGtleXdvcmRzIGlmIGl0
IGlzIHByZXNlbnQuCisgICAgaWYgKG1fZmlsbCkKKyAgICAgICAgdGV4dCArPSAiIGZpbGwiOwor
ICAgIHJldHVybiB0ZXh0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oCShyZXZpc2lvbiAw
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDU5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWVfaAorI2RlZmluZSBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWVfaAorCisjaW5j
bHVkZSAiQ1NTVmFsdWUuaCIKKyNpbmNsdWRlIDx3dGYvUGFzc1JlZlB0ci5oPgorI2luY2x1ZGUg
PHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBSZWN0OworCitj
bGFzcyBDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgeworcHVibGlj
OgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gY3JlYXRl
KFBhc3NSZWZQdHI8UmVjdD4gc2xpY2VSZWN0LCBib29sIGZpbGwpCisgICAgeworICAgICAgICBy
ZXR1cm4gYWRvcHRSZWYobmV3IENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZShzbGljZVJlY3QsIGZp
bGwpKTsKKyAgICB9CisgICAgdmlydHVhbCB+Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlKCk7CisK
KyAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3Q7CisKKyAgICAvLyBUaGVzZSBmb3Vy
IHZhbHVlcyBhcmUgdXNlZCB0byBtYWtlICJjdXRzIiBpbiB0aGUgYm9yZGVyIGltYWdlLiBUaGV5
IGNhbiBiZSBudW1iZXJzCisgICAgLy8gb3IgcGVyY2VudGFnZXMuCisgICAgUmVmUHRyPFJlY3Q+
IG1fcmVjdDsKKyAgICBib29sIG1fZmlsbDsKKworcHJpdmF0ZToKKyAgICBDU1NCb3JkZXJJbWFn
ZVNsaWNlVmFsdWUoUGFzc1JlZlB0cjxSZWN0PiBzbGljZVJlY3QsIGJvb2wgZmlsbCk7CisgICAg
dmlydHVhbCBib29sIGlzQm9yZGVySW1hZ2VTbGljZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gdHJ1
ZTsgfQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlX2gKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFn
ZVZhbHVlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1h
Z2VWYWx1ZS5jcHAJKHJldmlzaW9uIDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jv
cmRlckltYWdlVmFsdWUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw5ICsyNiw5IEBACiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKIAotQ1NTQm9yZGVySW1hZ2VWYWx1ZTo6Q1NTQm9yZGVySW1hZ2VW
YWx1ZShQYXNzUmVmUHRyPENTU1ZhbHVlPiBpbWFnZSwgUGFzc1JlZlB0cjxSZWN0PiBpbWFnZVJl
Y3QsIGludCBob3Jpem9udGFsUnVsZSwgaW50IHZlcnRpY2FsUnVsZSkKK0NTU0JvcmRlckltYWdl
VmFsdWU6OkNTU0JvcmRlckltYWdlVmFsdWUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1hZ2UsIFBh
c3NSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiBzbGljZSwgaW50IGhvcml6b250YWxS
dWxlLCBpbnQgdmVydGljYWxSdWxlKQogICAgIDogbV9pbWFnZShpbWFnZSkKLSAgICAsIG1faW1h
Z2VTbGljZVJlY3QoaW1hZ2VSZWN0KQorICAgICwgbV9zbGljZShzbGljZSkKICAgICAsIG1faG9y
aXpvbnRhbFNpemVSdWxlKGhvcml6b250YWxSdWxlKQogICAgICwgbV92ZXJ0aWNhbFNpemVSdWxl
KHZlcnRpY2FsUnVsZSkKIHsKQEAgLTQ0LDE0ICs0NCw4IEBAIFN0cmluZyBDU1NCb3JkZXJJbWFn
ZVZhbHVlOjpjc3NUZXh0KCkgY28KICAgICBTdHJpbmcgdGV4dChtX2ltYWdlLT5jc3NUZXh0KCkp
OwogICAgIHRleHQgKz0gIiAiOwogCi0gICAgLy8gTm93IHRoZSByZWN0LCBidXQgaXQgaXNuJ3Qg
cmVhbGx5IGEgcmVjdCwgc28gd2UgZHVtcCBtYW51YWxseQotICAgIHRleHQgKz0gbV9pbWFnZVNs
aWNlUmVjdC0+dG9wKCktPmNzc1RleHQoKTsKLSAgICB0ZXh0ICs9ICIgIjsKLSAgICB0ZXh0ICs9
IG1faW1hZ2VTbGljZVJlY3QtPnJpZ2h0KCktPmNzc1RleHQoKTsKLSAgICB0ZXh0ICs9ICIgIjsK
LSAgICB0ZXh0ICs9IG1faW1hZ2VTbGljZVJlY3QtPmJvdHRvbSgpLT5jc3NUZXh0KCk7Ci0gICAg
dGV4dCArPSAiICI7Ci0gICAgdGV4dCArPSBtX2ltYWdlU2xpY2VSZWN0LT5sZWZ0KCktPmNzc1Rl
eHQoKTsKKyAgICAvLyBOb3cgdGhlIHNsaWNlcy4KKyAgICB0ZXh0ICs9IG1fc2xpY2UtPmNzc1Rl
eHQoKTsKIAogICAgIC8vIE5vdyB0aGUga2V5d29yZHMuCiAgICAgdGV4dCArPSAiICI7CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VWYWx1ZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZVZhbHVlLmgJKHJldmlzaW9uIDk0MjA1
KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlVmFsdWUuaAkod29ya2luZyBj
b3B5KQpAQCAtMjEsNyArMjEsNyBAQAogI2lmbmRlZiBDU1NCb3JkZXJJbWFnZVZhbHVlX2gKICNk
ZWZpbmUgQ1NTQm9yZGVySW1hZ2VWYWx1ZV9oCiAKLSNpbmNsdWRlICJDU1NWYWx1ZS5oIgorI2lu
Y2x1ZGUgIkNTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIgogI2luY2x1ZGUgPHd0Zi9QYXNzUmVm
UHRyLmg+CiAjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgogCkBAIC0zMSw5ICszMSw5IEBAIGNsYXNz
IFJlY3Q7CiAKIGNsYXNzIENTU0JvcmRlckltYWdlVmFsdWUgOiBwdWJsaWMgQ1NTVmFsdWUgewog
cHVibGljOgotICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlVmFsdWU+IGNyZWF0
ZShQYXNzUmVmUHRyPENTU1ZhbHVlPiBpbWFnZSwgUGFzc1JlZlB0cjxSZWN0PiBzbGljZVJlY3Qs
IGludCBob3Jpem9udGFsUnVsZSwgaW50IHZlcnRpY2FsUnVsZSkKKyAgICBzdGF0aWMgUGFzc1Jl
ZlB0cjxDU1NCb3JkZXJJbWFnZVZhbHVlPiBjcmVhdGUoUGFzc1JlZlB0cjxDU1NWYWx1ZT4gaW1h
Z2UsIFBhc3NSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiBzbGljZSwgaW50IGhvcml6
b250YWxSdWxlLCBpbnQgdmVydGljYWxSdWxlKQogICAgIHsKLSAgICAgICAgcmV0dXJuIGFkb3B0
UmVmKG5ldyBDU1NCb3JkZXJJbWFnZVZhbHVlKGltYWdlLCBzbGljZVJlY3QsIGhvcml6b250YWxS
dWxlLCB2ZXJ0aWNhbFJ1bGUpKTsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NCb3Jk
ZXJJbWFnZVZhbHVlKGltYWdlLCBzbGljZSwgaG9yaXpvbnRhbFJ1bGUsIHZlcnRpY2FsUnVsZSkp
OwogICAgIH0KICAgICB2aXJ0dWFsIH5DU1NCb3JkZXJJbWFnZVZhbHVlKCk7CiAKQEAgLTQ4LDE0
ICs0OCwxNCBAQCBwdWJsaWM6CiAKICAgICAvLyBUaGVzZSBmb3VyIHZhbHVlcyBhcmUgdXNlZCB0
byBtYWtlICJjdXRzIiBpbiB0aGUgaW1hZ2UuICBUaGV5IGNhbiBiZSBudW1iZXJzCiAgICAgLy8g
b3IgcGVyY2VudGFnZXMuCi0gICAgUmVmUHRyPFJlY3Q+IG1faW1hZ2VTbGljZVJlY3Q7CisgICAg
UmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gbV9zbGljZTsKIAogICAgIC8vIFZhbHVl
cyBmb3IgaG93IHRvIGhhbmRsZSB0aGUgc2NhbGluZy9zdHJldGNoaW5nL3RpbGluZyBvZiB0aGUg
aW1hZ2Ugc2xpY2VzLgogICAgIGludCBtX2hvcml6b250YWxTaXplUnVsZTsgLy8gUnVsZSBmb3Ig
aG93IHRvIGFkanVzdCB0aGUgd2lkdGhzIG9mIHRoZSB0b3AvbWlkZGxlL2JvdHRvbQogICAgIGlu
dCBtX3ZlcnRpY2FsU2l6ZVJ1bGU7IC8vIFJ1bGUgZm9yIGhvdyB0byBhZGp1c3QgdGhlIGhlaWdo
dHMgb2YgdGhlIGxlZnQvbWlkZGxlL3JpZ2h0CiAKIHByaXZhdGU6Ci0gICAgQ1NTQm9yZGVySW1h
Z2VWYWx1ZShQYXNzUmVmUHRyPENTU1ZhbHVlPiBpbWFnZSwgUGFzc1JlZlB0cjxSZWN0PiBzbGlj
ZVJlY3QsIGludCBob3Jpem9udGFsUnVsZSwgaW50IHZlcnRpY2FsUnVsZSk7CisgICAgQ1NTQm9y
ZGVySW1hZ2VWYWx1ZShQYXNzUmVmUHRyPENTU1ZhbHVlPiBpbWFnZSwgUGFzc1JlZlB0cjxDU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWU+LCBpbnQgaG9yaXpvbnRhbFJ1bGUsIGludCB2ZXJ0aWNhbFJ1
bGUpOwogICAgIHZpcnR1YWwgYm9vbCBpc0JvcmRlckltYWdlVmFsdWUoKSBjb25zdCB7IHJldHVy
biB0cnVlOyB9CiB9OwogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHls
ZURlY2xhcmF0aW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29t
cHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkocmV2aXNpb24gOTQyMDYpCisrKyBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNzMsNiArNzMsNyBAQCBzdGF0aWMgY29uc3QgaW50IGNvbXB1dGVkUHJvcGVydGllc1tdID0g
CiAgICAgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21TdHlsZSwKICAgICBDU1NQcm9wZXJ0eUJvcmRl
ckJvdHRvbVdpZHRoLAogICAgIENTU1Byb3BlcnR5Qm9yZGVyQ29sbGFwc2UsCisgICAgQ1NTUHJv
cGVydHlCb3JkZXJJbWFnZVNsaWNlLAogICAgIENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VTb3VyY2Us
CiAgICAgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IsCiAgICAgQ1NTUHJvcGVydHlCb3JkZXJM
ZWZ0U3R5bGUsCkBAIC0yMjQsNiArMjI1LDcgQEAgc3RhdGljIGNvbnN0IGludCBjb21wdXRlZFBy
b3BlcnRpZXNbXSA9IAogICAgIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZVN0eWxlLAogICAgIENT
U1Byb3BlcnR5V2Via2l0TWFza0F0dGFjaG1lbnQsCiAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNr
Qm94SW1hZ2UsCisgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2VTbGljZSwKICAgICBD
U1NQcm9wZXJ0eVdlYmtpdE1hc2tCb3hJbWFnZVNvdXJjZSwKICAgICBDU1NQcm9wZXJ0eVdlYmtp
dE1hc2tDbGlwLAogICAgIENTU1Byb3BlcnR5V2Via2l0TWFza0NvbXBvc2l0ZSwKQEAgLTMxOCwx
NyArMzIwLDEwIEBAIHN0YXRpYyBpbnQgdmFsdWVGb3JSZXBlYXRSdWxlKGludCBydWxlKQogICAg
ICAgICAgICAgcmV0dXJuIENTU1ZhbHVlU3RyZXRjaDsKICAgICB9CiB9Ci0gICAgICAgIAotc3Rh
dGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yTmluZVBpZWNlSW1hZ2UoY29uc3QgTmlu
ZVBpZWNlSW1hZ2UmIGltYWdlLCBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1
ZUNhY2hlKQorCisKK3N0YXRpYyBQYXNzUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4g
dmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKGNvbnN0IE5pbmVQaWVjZUltYWdlJiBpbWFnZSwg
Q1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNoZSkKIHsKLSAgICBpZiAo
IWltYWdlLmhhc0ltYWdlKCkpCi0gICAgICAgIHJldHVybiBwcmltaXRpdmVWYWx1ZUNhY2hlLT5j
cmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKTsKLSAgICAKLSAgICAvLyBJbWFnZSBm
aXJzdC4KLSAgICBSZWZQdHI8Q1NTVmFsdWU+IGltYWdlVmFsdWU7Ci0gICAgaWYgKGltYWdlLmlt
YWdlKCkpCi0gICAgICAgIGltYWdlVmFsdWUgPSBpbWFnZS5pbWFnZSgpLT5jc3NWYWx1ZSgpOwot
ICAgIAogICAgIC8vIENyZWF0ZSB0aGUgc2xpY2VzLgogICAgIFJlZlB0cjxDU1NQcmltaXRpdmVW
YWx1ZT4gdG9wOwogICAgIGlmIChpbWFnZS5zbGljZXMoKS50b3AoKS5pc1BlcmNlbnQoKSkKQEAg
LTM2MCw3ICszNTUsMjIgQEAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHZhbHVlRm9yTmlu
ZQogICAgIHJlY3QtPnNldEJvdHRvbShib3R0b20pOwogICAgIHJlY3QtPnNldExlZnQobGVmdCk7
CiAKLSAgICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VWYWx1ZTo6Y3JlYXRlKGltYWdlVmFsdWUsIHJl
Y3QsIHZhbHVlRm9yUmVwZWF0UnVsZShpbWFnZS5ob3Jpem9udGFsUnVsZSgpKSwgdmFsdWVGb3JS
ZXBlYXRSdWxlKGltYWdlLnZlcnRpY2FsUnVsZSgpKSk7CisgICAgcmV0dXJuIENTU0JvcmRlcklt
YWdlU2xpY2VWYWx1ZTo6Y3JlYXRlKHJlY3QsIGltYWdlLmZpbGwoKSk7Cit9CisKK3N0YXRpYyBQ
YXNzUmVmUHRyPENTU1ZhbHVlPiB2YWx1ZUZvck5pbmVQaWVjZUltYWdlKGNvbnN0IE5pbmVQaWVj
ZUltYWdlJiBpbWFnZSwgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNo
ZSkKK3sKKyAgICBpZiAoIWltYWdlLmhhc0ltYWdlKCkpCisgICAgICAgIHJldHVybiBwcmltaXRp
dmVWYWx1ZUNhY2hlLT5jcmVhdGVJZGVudGlmaWVyVmFsdWUoQ1NTVmFsdWVOb25lKTsKKyAgICAK
KyAgICAvLyBJbWFnZSBmaXJzdC4KKyAgICBSZWZQdHI8Q1NTVmFsdWU+IGltYWdlVmFsdWU7Cisg
ICAgaWYgKGltYWdlLmltYWdlKCkpCisgICAgICAgIGltYWdlVmFsdWUgPSBpbWFnZS5pbWFnZSgp
LT5jc3NWYWx1ZSgpOworICAgIAorICAgIC8vIENyZWF0ZSB0aGUgc2xpY2VzLgorICAgIFJlZlB0
cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+IHNsaWNlID0gdmFsdWVGb3JOaW5lUGllY2VJbWFn
ZVNsaWNlKGltYWdlLCBwcmltaXRpdmVWYWx1ZUNhY2hlKTsKKyAgICByZXR1cm4gQ1NTQm9yZGVy
SW1hZ2VWYWx1ZTo6Y3JlYXRlKGltYWdlVmFsdWUsIHNsaWNlLCB2YWx1ZUZvclJlcGVhdFJ1bGUo
aW1hZ2UuaG9yaXpvbnRhbFJ1bGUoKSksIHZhbHVlRm9yUmVwZWF0UnVsZShpbWFnZS52ZXJ0aWNh
bFJ1bGUoKSkpOwogfQogCiBpbmxpbmUgc3RhdGljIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IHpvb21BZGp1c3RlZFBpeGVsVmFsdWUoaW50IHZhbHVlLCBjb25zdCBSZW5kZXJTdHlsZSog
c3R5bGUsIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGUqIHByaW1pdGl2ZVZhbHVlQ2FjaGUpCkBAIC0x
NTg1LDggKzE1OTUsMTIgQEAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gQ1NTQ29tcHV0ZWRTdHlsZURl
YwogICAgICAgICAgICAgcmV0dXJuIHByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZUlkZW50aWZp
ZXJWYWx1ZSgoc3R5bGUtPmJhY2tmYWNlVmlzaWJpbGl0eSgpID09IEJhY2tmYWNlVmlzaWJpbGl0
eUhpZGRlbikgPyBDU1NWYWx1ZUhpZGRlbiA6IENTU1ZhbHVlVmlzaWJsZSk7CiAgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJJbWFnZToKICAgICAgICAgICAgIHJldHVybiB2YWx1
ZUZvck5pbmVQaWVjZUltYWdlKHN0eWxlLT5ib3JkZXJJbWFnZSgpLCBwcmltaXRpdmVWYWx1ZUNh
Y2hlKTsKKyAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU2xpY2U6CisgICAgICAg
ICAgICByZXR1cm4gdmFsdWVGb3JOaW5lUGllY2VJbWFnZVNsaWNlKHN0eWxlLT5ib3JkZXJJbWFn
ZSgpLCBwcmltaXRpdmVWYWx1ZUNhY2hlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtp
dE1hc2tCb3hJbWFnZToKICAgICAgICAgICAgIHJldHVybiB2YWx1ZUZvck5pbmVQaWVjZUltYWdl
KHN0eWxlLT5tYXNrQm94SW1hZ2UoKSwgcHJpbWl0aXZlVmFsdWVDYWNoZSk7CisgICAgICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2VTbGljZToKKyAgICAgICAgICAgIHJldHVy
biB2YWx1ZUZvck5pbmVQaWVjZUltYWdlU2xpY2Uoc3R5bGUtPm1hc2tCb3hJbWFnZSgpLCBwcmlt
aXRpdmVWYWx1ZUNhY2hlKTsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tCb3hJ
bWFnZVNvdXJjZToKICAgICAgICAgICAgIGlmIChzdHlsZS0+bWFza0JveEltYWdlU291cmNlKCkp
CiAgICAgICAgICAgICAgICAgcmV0dXJuIHN0eWxlLT5tYXNrQm94SW1hZ2VTb3VyY2UoKS0+Y3Nz
VmFsdWUoKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCShyZXZpc2lvbiA5NDIwNikK
KysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
NDUxLDYgKzE0NTEsMTUgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlVmFsdWUoaW50IHByb3BJZCwg
YgogICAgICAgICB9CiAgICAgICAgIGJyZWFrOwogICAgIH0KKyAgICBjYXNlIENTU1Byb3BlcnR5
Qm9yZGVySW1hZ2VTbGljZToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdl
U2xpY2U6IHsKKyAgICAgICAgUmVmUHRyPENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZT4gcmVzdWx0
OworICAgICAgICBpZiAocGFyc2VCb3JkZXJJbWFnZVNsaWNlKHByb3BJZCwgcmVzdWx0KSkgewor
ICAgICAgICAgICAgYWRkUHJvcGVydHkocHJvcElkLCByZXN1bHQsIGltcG9ydGFudCk7CisgICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICB9CiAg
ICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclRvcFJpZ2h0UmFkaXVzOgogICAgIGNhc2UgQ1NTUHJv
cGVydHlCb3JkZXJUb3BMZWZ0UmFkaXVzOgogICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJCb3R0
b21MZWZ0UmFkaXVzOgpAQCAtNTExOCw3ICs1MTI3LDYgQEAgc3RydWN0IEJvcmRlckltYWdlUGFy
c2VDb250ZXh0IHsKICAgICBCb3JkZXJJbWFnZVBhcnNlQ29udGV4dChDU1NQcmltaXRpdmVWYWx1
ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNhY2hlKQogICAgIDogbV9wcmltaXRpdmVWYWx1ZUNhY2hl
KHByaW1pdGl2ZVZhbHVlQ2FjaGUpCiAgICAgLCBtX2FsbG93QnJlYWsoZmFsc2UpCi0gICAgLCBt
X2FsbG93TnVtYmVyKGZhbHNlKQogICAgICwgbV9hbGxvd1NsYXNoKGZhbHNlKQogICAgICwgbV9h
bGxvd1dpZHRoKGZhbHNlKQogICAgICwgbV9hbGxvd1J1bGUoZmFsc2UpCkBAIC01MTMxLDMwICs1
MTM5LDE3IEBAIHN0cnVjdCBCb3JkZXJJbWFnZVBhcnNlQ29udGV4dCB7CiAgICAge30KIAogICAg
IGJvb2wgYWxsb3dCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dCcmVhazsgfQotICAgIGJv
b2wgYWxsb3dOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2FsbG93TnVtYmVyOyB9CiAgICAgYm9v
bCBhbGxvd1NsYXNoKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1NsYXNoOyB9CiAgICAgYm9vbCBh
bGxvd1dpZHRoKCkgY29uc3QgeyByZXR1cm4gbV9hbGxvd1dpZHRoOyB9CiAgICAgYm9vbCBhbGxv
d1J1bGUoKSBjb25zdCB7IHJldHVybiBtX2FsbG93UnVsZTsgfQogCi0gICAgdm9pZCBjb21taXRJ
bWFnZShQYXNzUmVmUHRyPENTU1ZhbHVlPiBpbWFnZSkgeyBtX2ltYWdlID0gaW1hZ2U7IG1fYWxs
b3dOdW1iZXIgPSB0cnVlOyB9Ci0gICAgdm9pZCBjb21taXROdW1iZXIoQ1NTUGFyc2VyVmFsdWUq
IHYpCisgICAgdm9pZCBjb21taXRJbWFnZShQYXNzUmVmUHRyPENTU1ZhbHVlPiBpbWFnZSkgeyBt
X2ltYWdlID0gaW1hZ2U7IH0KKyAgICB2b2lkIGNvbW1pdFNsaWNlKFBhc3NSZWZQdHI8Q1NTQm9y
ZGVySW1hZ2VTbGljZVZhbHVlPiBzbGljZSkKICAgICB7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUo
di0+ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2LT51bml0KTsKLSAgICAg
ICAgaWYgKCFtX3RvcCkKLSAgICAgICAgICAgIG1fdG9wID0gdmFsOwotICAgICAgICBlbHNlIGlm
ICghbV9yaWdodCkKLSAgICAgICAgICAgIG1fcmlnaHQgPSB2YWw7Ci0gICAgICAgIGVsc2UgaWYg
KCFtX2JvdHRvbSkKLSAgICAgICAgICAgIG1fYm90dG9tID0gdmFsOwotICAgICAgICBlbHNlIHsK
LSAgICAgICAgICAgIEFTU0VSVCghbV9sZWZ0KTsKLSAgICAgICAgICAgIG1fbGVmdCA9IHZhbDsK
LSAgICAgICAgfQotCisgICAgICAgIG1fc2xpY2UgPSBzbGljZTsKICAgICAgICAgbV9hbGxvd0Jy
ZWFrID0gbV9hbGxvd1NsYXNoID0gbV9hbGxvd1J1bGUgPSB0cnVlOwotICAgICAgICBtX2FsbG93
TnVtYmVyID0gIW1fbGVmdDsKICAgICB9Ci0gICAgdm9pZCBjb21taXRTbGFzaCgpIHsgbV9hbGxv
d0JyZWFrID0gbV9hbGxvd1NsYXNoID0gbV9hbGxvd051bWJlciA9IGZhbHNlOyBtX2FsbG93V2lk
dGggPSB0cnVlOyB9CisgICAgdm9pZCBjb21taXRTbGFzaCgpIHsgbV9hbGxvd0JyZWFrID0gbV9h
bGxvd1NsYXNoID0gZmFsc2U7IG1fYWxsb3dXaWR0aCA9IHRydWU7IH0KICAgICB2b2lkIGNvbW1p
dFdpZHRoKENTU1BhcnNlclZhbHVlKiB2YWwpCiAgICAgewogICAgICAgICBpZiAoIW1fYm9yZGVy
VG9wKQpAQCAtNTE4MSwyNiArNTE3Niw2IEBAIHN0cnVjdCBCb3JkZXJJbWFnZVBhcnNlQ29udGV4
dCB7CiAgICAgfQogICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IGNvbW1pdEJvcmRlckltYWdlKENT
U1BhcnNlciogcCwgYm9vbCBpbXBvcnRhbnQpCiAgICAgewotICAgICAgICAvLyBXZSBuZWVkIHRv
IGNsb25lIGFuZCByZXBlYXQgdmFsdWVzIGZvciBhbnkgb21pc3Npb25zLgotICAgICAgICBpZiAo
IW1fcmlnaHQpIHsKLSAgICAgICAgICAgIG1fcmlnaHQgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUt
PmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6
OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgICAgIG1fYm90dG9t
ID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0RG91YmxlVmFs
dWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1pdGl2ZVR5cGUo
KSk7Ci0gICAgICAgICAgICBtX2xlZnQgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUtPmNyZWF0ZVZh
bHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBl
cyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKLSAgICAgICAgfQotICAgICAgICBpZiAoIW1fYm90
dG9tKSB7Ci0gICAgICAgICAgICBtX2JvdHRvbSA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3Jl
YXRlVmFsdWUobV90b3AtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5p
dFR5cGVzKW1fdG9wLT5wcmltaXRpdmVUeXBlKCkpOwotICAgICAgICAgICAgbV9sZWZ0ID0gbV9w
cmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgp
LCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkp
OwotICAgICAgICB9Ci0gICAgICAgIGlmICghbV9sZWZ0KQotICAgICAgICAgICAgIG1fbGVmdCA9
IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV9yaWdodC0+Z2V0RG91YmxlVmFs
dWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV9yaWdodC0+cHJpbWl0aXZlVHlw
ZSgpKTsKLQotICAgICAgICAvLyBOb3cgYnVpbGQgYSByZWN0IHZhbHVlIHRvIGhvbGQgYWxsIGZv
dXIgb2Ygb3VyIHByaW1pdGl2ZSB2YWx1ZXMuCi0gICAgICAgIFJlZlB0cjxSZWN0PiByZWN0ID0g
UmVjdDo6Y3JlYXRlKCk7Ci0gICAgICAgIHJlY3QtPnNldFRvcChtX3RvcCk7Ci0gICAgICAgIHJl
Y3QtPnNldFJpZ2h0KG1fcmlnaHQpOwotICAgICAgICByZWN0LT5zZXRCb3R0b20obV9ib3R0b20p
OwotICAgICAgICByZWN0LT5zZXRMZWZ0KG1fbGVmdCk7Ci0KICAgICAgICAgLy8gRmlsbCBpbiBT
VFJFVENIIGFzIHRoZSBkZWZhdWx0IGlmIGl0IHdhc24ndCBzcGVjaWZpZWQuCiAgICAgICAgIGlm
ICghbV9ob3Jpem9udGFsUnVsZSkKICAgICAgICAgICAgIG1faG9yaXpvbnRhbFJ1bGUgPSBDU1NW
YWx1ZVN0cmV0Y2g7CkBAIC01MjI3LDIzICs1MjAyLDE4IEBAIHN0cnVjdCBCb3JkZXJJbWFnZVBh
cnNlQ29udGV4dCB7CiAgICAgICAgIH0KIAogICAgICAgICAvLyBNYWtlIG91ciBuZXcgYm9yZGVy
IGltYWdlIHZhbHVlIG5vdy4KLSAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlVmFsdWU6OmNy
ZWF0ZShtX2ltYWdlLCByZWN0LnJlbGVhc2UoKSwgbV9ob3Jpem9udGFsUnVsZSwgbV92ZXJ0aWNh
bFJ1bGUpOworICAgICAgICByZXR1cm4gQ1NTQm9yZGVySW1hZ2VWYWx1ZTo6Y3JlYXRlKG1faW1h
Z2UsIG1fc2xpY2UsIG1faG9yaXpvbnRhbFJ1bGUsIG1fdmVydGljYWxSdWxlKTsKICAgICB9CiAg
ICAgCiAgICAgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogbV9wcmltaXRpdmVWYWx1ZUNhY2hlOwog
CiAgICAgYm9vbCBtX2FsbG93QnJlYWs7Ci0gICAgYm9vbCBtX2FsbG93TnVtYmVyOwogICAgIGJv
b2wgbV9hbGxvd1NsYXNoOwogICAgIGJvb2wgbV9hbGxvd1dpZHRoOwogICAgIGJvb2wgbV9hbGxv
d1J1bGU7CiAKICAgICBSZWZQdHI8Q1NTVmFsdWU+IG1faW1hZ2U7Ci0KLSAgICBSZWZQdHI8Q1NT
UHJpbWl0aXZlVmFsdWU+IG1fdG9wOwotICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9y
aWdodDsKLSAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fYm90dG9tOwotICAgIFJlZlB0
cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9sZWZ0OworICAgIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNs
aWNlVmFsdWU+IG1fc2xpY2U7CiAKICAgICBDU1NQYXJzZXJWYWx1ZSogbV9ib3JkZXJUb3A7CiAg
ICAgQ1NTUGFyc2VyVmFsdWUqIG1fYm9yZGVyUmlnaHQ7CkBAIC01Mjc0LDEwICs1MjQ0LDE1IEBA
IGJvb2wgQ1NTUGFyc2VyOjpwYXJzZUJvcmRlckltYWdlKGludCBwcm8KICAgICBlbHNlCiAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgIHdoaWxlICgodmFsID0gbV92YWx1ZUxpc3QtPm5leHQo
KSkpIHsKLSAgICAgICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiB2YWxpZFVuaXQodmFs
LCBGSW50ZWdlciB8IEZOb25OZWcgfCBGUGVyY2VudCwgdHJ1ZSkpIHsKLSAgICAgICAgICAgIGNv
bnRleHQuY29tbWl0TnVtYmVyKHZhbCk7Ci0gICAgICAgIH0gZWxzZSBpZiAocHJvcElkID09IENT
U1Byb3BlcnR5V2Via2l0Qm9yZGVySW1hZ2UgJiYgY29udGV4dC5hbGxvd1NsYXNoKCkgJiYgdmFs
LT51bml0ID09IENTU1BhcnNlclZhbHVlOjpPcGVyYXRvciAmJiB2YWwtPmlWYWx1ZSA9PSAnLycp
IHsKKyAgICAvLyBQYXJzZSB0aGUgc2xpY2UgbmV4dC4KKyAgICBtX3ZhbHVlTGlzdC0+bmV4dCgp
OworICAgIFJlZlB0cjxDU1NCb3JkZXJJbWFnZVNsaWNlVmFsdWU+IHNsaWNlOworICAgIGlmICgh
cGFyc2VCb3JkZXJJbWFnZVNsaWNlKHByb3BJZCwgc2xpY2UpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgY29udGV4dC5jb21taXRTbGljZShzbGljZSk7CisKKyAgICB3aGlsZSAoKHZhbCA9
IG1fdmFsdWVMaXN0LT5jdXJyZW50KCkpKSB7CisgICAgICAgIGlmIChwcm9wSWQgPT0gQ1NTUHJv
cGVydHlXZWJraXRCb3JkZXJJbWFnZSAmJiBjb250ZXh0LmFsbG93U2xhc2goKSAmJiB2YWwtPnVu
aXQgPT0gQ1NTUGFyc2VyVmFsdWU6Ok9wZXJhdG9yICYmIHZhbC0+aVZhbHVlID09ICcvJykgewog
ICAgICAgICAgICAgY29udGV4dC5jb21taXRTbGFzaCgpOwogICAgICAgICB9IGVsc2UgaWYgKGNv
bnRleHQuYWxsb3dXaWR0aCgpICYmCiAgICAgICAgICAgICAodmFsLT5pZCA9PSBDU1NWYWx1ZVRo
aW4gfHwgdmFsLT5pZCA9PSBDU1NWYWx1ZU1lZGl1bSB8fCB2YWwtPmlkID09IENTU1ZhbHVlVGhp
Y2sgfHwgdmFsaWRVbml0KHZhbCwgRkxlbmd0aCwgbV9zdHJpY3QpKSkgewpAQCAtNTI4OSwxNyAr
NTI2NCwxMzAgQEAgYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVySW1hZ2UoaW50IHBybwogICAg
ICAgICAgICAgLy8gU29tZXRoaW5nIGludmFsaWQgd2FzIGVuY291bnRlcmVkLgogICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CisgICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7
CisgICAgfQorCisgICAgaWYgKGNvbnRleHQuYWxsb3dCcmVhaygpKSB7CisgICAgICAgIC8vIE5l
ZWQgdG8gZnVsbHkgY29tbWl0IGFzIGEgc2luZ2xlIHZhbHVlLgorICAgICAgICByZXN1bHQgPSBj
b250ZXh0LmNvbW1pdEJvcmRlckltYWdlKHRoaXMsIGltcG9ydGFudCk7CisgICAgICAgIHJldHVy
biB0cnVlOworICAgIH0KKworICAgIHJldHVybiBmYWxzZTsKK30KKworY2xhc3MgQm9yZGVySW1h
Z2VTbGljZVBhcnNlQ29udGV4dCB7CitwdWJsaWM6CisgICAgQm9yZGVySW1hZ2VTbGljZVBhcnNl
Q29udGV4dChDU1NQcmltaXRpdmVWYWx1ZUNhY2hlKiBwcmltaXRpdmVWYWx1ZUNhY2hlKQorICAg
IDogbV9wcmltaXRpdmVWYWx1ZUNhY2hlKHByaW1pdGl2ZVZhbHVlQ2FjaGUpCisgICAgLCBtX2Fs
bG93TnVtYmVyKHRydWUpCisgICAgLCBtX2FsbG93RmlsbChmYWxzZSkKKyAgICAsIG1fYWxsb3dG
aW5hbENvbW1pdChmYWxzZSkKKyAgICAsIG1fZmlsbChmYWxzZSkKKyAgICB7IH0KKworICAgIGJv
b2wgYWxsb3dOdW1iZXIoKSBjb25zdCB7IHJldHVybiBtX2FsbG93TnVtYmVyOyB9CisgICAgYm9v
bCBhbGxvd0ZpbGwoKSBjb25zdCB7IHJldHVybiBtX2FsbG93RmlsbDsgfQorICAgIGJvb2wgYWxs
b3dGaW5hbENvbW1pdCgpIGNvbnN0IHsgcmV0dXJuIG1fYWxsb3dGaW5hbENvbW1pdDsgfQorICAg
IENTU1ByaW1pdGl2ZVZhbHVlKiB0b3AoKSBjb25zdCB7IHJldHVybiBtX3RvcC5nZXQoKTsgfQor
CisgICAgdm9pZCBjb21taXROdW1iZXIoQ1NTUGFyc2VyVmFsdWUqIHYpCisgICAgeworICAgICAg
ICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHZhbCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+
Y3JlYXRlVmFsdWUodi0+ZlZhbHVlLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OlVuaXRUeXBlcyl2LT51
bml0KTsKKyAgICAgICAgaWYgKCFtX3RvcCkKKyAgICAgICAgICAgIG1fdG9wID0gdmFsOworICAg
ICAgICBlbHNlIGlmICghbV9yaWdodCkKKyAgICAgICAgICAgIG1fcmlnaHQgPSB2YWw7CisgICAg
ICAgIGVsc2UgaWYgKCFtX2JvdHRvbSkKKyAgICAgICAgICAgIG1fYm90dG9tID0gdmFsOworICAg
ICAgICBlbHNlIHsKKyAgICAgICAgICAgIEFTU0VSVCghbV9sZWZ0KTsKKyAgICAgICAgICAgIG1f
bGVmdCA9IHZhbDsKKyAgICAgICAgfQorCisgICAgICAgIG1fYWxsb3dOdW1iZXIgPSAhbV9sZWZ0
OworICAgICAgICBtX2FsbG93RmlsbCA9IHRydWU7CisgICAgICAgIG1fYWxsb3dGaW5hbENvbW1p
dCA9IHRydWU7CiAgICAgfQogCi0gICAgaWYgKGNvbnRleHQuYWxsb3dOdW1iZXIoKSAmJiBwcm9w
SWQgIT0gQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJJbWFnZSkgeworICAgIHZvaWQgY29tbWl0Rmls
bCgpIHsgbV9maWxsID0gdHJ1ZTsgbV9hbGxvd0ZpbGwgPSBmYWxzZTsgbV9hbGxvd051bWJlciA9
IGZhbHNlOyB9CisKKyAgICB2b2lkIHNldEFsbG93RmluYWxDb21taXQoKSB7IG1fYWxsb3dGaW5h
bENvbW1pdCA9IHRydWU7IH0KKyAgICB2b2lkIHNldFRvcChQYXNzUmVmUHRyPENTU1ByaW1pdGl2
ZVZhbHVlPiB2YWwpIHsgbV90b3AgPSB2YWw7IH0KKworICAgIFBhc3NSZWZQdHI8Q1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlPiBjb21taXRCb3JkZXJJbWFnZVNsaWNlKCkKKyAgICB7CisgICAgICAg
IC8vIFdlIG5lZWQgdG8gY2xvbmUgYW5kIHJlcGVhdCB2YWx1ZXMgZm9yIGFueSBvbWlzc2lvbnMu
CisgICAgICAgIEFTU0VSVChtX3RvcCk7CisgICAgICAgIGlmICghbV9yaWdodCkgeworICAgICAg
ICAgICAgbV9yaWdodCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV90b3At
PmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5w
cmltaXRpdmVUeXBlKCkpOworICAgICAgICAgICAgbV9ib3R0b20gPSBtX3ByaW1pdGl2ZVZhbHVl
Q2FjaGUtPmNyZWF0ZVZhbHVlKG1fdG9wLT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZl
VmFsdWU6OlVuaXRUeXBlcyltX3RvcC0+cHJpbWl0aXZlVHlwZSgpKTsKKyAgICAgICAgICAgIG1f
bGVmdCA9IG1fcHJpbWl0aXZlVmFsdWVDYWNoZS0+Y3JlYXRlVmFsdWUobV90b3AtPmdldERvdWJs
ZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1ZTo6VW5pdFR5cGVzKW1fdG9wLT5wcmltaXRpdmVU
eXBlKCkpOworICAgICAgICB9CisgICAgICAgIGlmICghbV9ib3R0b20pIHsKKyAgICAgICAgICAg
IG1fYm90dG9tID0gbV9wcmltaXRpdmVWYWx1ZUNhY2hlLT5jcmVhdGVWYWx1ZShtX3RvcC0+Z2V0
RG91YmxlVmFsdWUoKSwgKENTU1ByaW1pdGl2ZVZhbHVlOjpVbml0VHlwZXMpbV90b3AtPnByaW1p
dGl2ZVR5cGUoKSk7CisgICAgICAgICAgICBtX2xlZnQgPSBtX3ByaW1pdGl2ZVZhbHVlQ2FjaGUt
PmNyZWF0ZVZhbHVlKG1fcmlnaHQtPmdldERvdWJsZVZhbHVlKCksIChDU1NQcmltaXRpdmVWYWx1
ZTo6VW5pdFR5cGVzKW1fcmlnaHQtPnByaW1pdGl2ZVR5cGUoKSk7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKCFtX2xlZnQpCisgICAgICAgICAgICAgbV9sZWZ0ID0gbV9wcmltaXRpdmVWYWx1ZUNh
Y2hlLT5jcmVhdGVWYWx1ZShtX3JpZ2h0LT5nZXREb3VibGVWYWx1ZSgpLCAoQ1NTUHJpbWl0aXZl
VmFsdWU6OlVuaXRUeXBlcyltX3JpZ2h0LT5wcmltaXRpdmVUeXBlKCkpOworCisgICAgICAgIC8v
IE5vdyBidWlsZCBhIHJlY3QgdmFsdWUgdG8gaG9sZCBhbGwgZm91ciBvZiBvdXIgcHJpbWl0aXZl
IHZhbHVlcy4KKyAgICAgICAgUmVmUHRyPFJlY3Q+IHJlY3QgPSBSZWN0OjpjcmVhdGUoKTsKKyAg
ICAgICAgcmVjdC0+c2V0VG9wKG1fdG9wKTsKKyAgICAgICAgcmVjdC0+c2V0UmlnaHQobV9yaWdo
dCk7CisgICAgICAgIHJlY3QtPnNldEJvdHRvbShtX2JvdHRvbSk7CisgICAgICAgIHJlY3QtPnNl
dExlZnQobV9sZWZ0KTsKKworICAgICAgICAvLyBNYWtlIG91ciBuZXcgYm9yZGVyIGltYWdlIHZh
bHVlIG5vdy4KKyAgICAgICAgcmV0dXJuIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZTo6Y3JlYXRl
KHJlY3QucmVsZWFzZSgpLCBtX2ZpbGwpOworICAgIH0KKyAgICAKK3ByaXZhdGU6CisgICAgQ1NT
UHJpbWl0aXZlVmFsdWVDYWNoZSogbV9wcmltaXRpdmVWYWx1ZUNhY2hlOworCisgICAgYm9vbCBt
X2FsbG93TnVtYmVyOworICAgIGJvb2wgbV9hbGxvd0ZpbGw7CisgICAgYm9vbCBtX2FsbG93Rmlu
YWxDb21taXQ7CisKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IG1fdG9wOworICAgIFJl
ZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9yaWdodDsKKyAgICBSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IG1fYm90dG9tOworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gbV9sZWZ0Owor
ICAgIAorICAgIGJvb2wgbV9maWxsOworfTsKKworYm9vbCBDU1NQYXJzZXI6OnBhcnNlQm9yZGVy
SW1hZ2VTbGljZShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiYg
cmVzdWx0KQoreworICAgIEJvcmRlckltYWdlU2xpY2VQYXJzZUNvbnRleHQgY29udGV4dChwcmlt
aXRpdmVWYWx1ZUNhY2hlKCkpOworICAgIENTU1BhcnNlclZhbHVlKiB2YWw7CisgICAgd2hpbGUg
KCh2YWwgPSBtX3ZhbHVlTGlzdC0+Y3VycmVudCgpKSkgeworICAgICAgICBpZiAoY29udGV4dC5h
bGxvd051bWJlcigpICYmIHZhbGlkVW5pdCh2YWwsIEZJbnRlZ2VyIHwgRk5vbk5lZyB8IEZQZXJj
ZW50LCB0cnVlKSkgeworICAgICAgICAgICAgY29udGV4dC5jb21taXROdW1iZXIodmFsKTsKKyAg
ICAgICAgfSBlbHNlIGlmIChjb250ZXh0LmFsbG93RmlsbCgpICYmIHZhbC0+aWQgPT0gQ1NTVmFs
dWVGaWxsKQorICAgICAgICAgICAgY29udGV4dC5jb21taXRGaWxsKCk7CisgICAgICAgIGVsc2Ug
aWYgKHByb3BJZCA9PSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU2xpY2UgfHwgcHJvcElkID09IENT
U1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlU2xpY2UpIHsKKyAgICAgICAgICAgIC8vIElmIHdl
J3JlIG5vdCBwYXJzaW5nIGEgc2hvcnRoYW5kIHRoZW4gd2UgYXJlIGludmFsaWQuCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIG1fdmFsdWVMaXN0LT5uZXh0KCk7CisgICAgfQorCisgICAgaWYgKGNvbnRleHQuYWxs
b3dOdW1iZXIoKSAmJiAhY29udGV4dC50b3AoKSAmJiAocHJvcElkID09IENTU1Byb3BlcnR5V2Vi
a2l0TWFza0JveEltYWdlIHx8IHByb3BJZCA9PSBDU1NQcm9wZXJ0eVdlYmtpdEJveFJlZmxlY3Qp
KSB7CiAgICAgICAgIC8vIEFsbG93IHRoZSBzbGljZXMgdG8gYmUgb21pdHRlZCBmb3IgaW1hZ2Vz
IHRoYXQgZG9uJ3QgZml0IHRvIGEgYm9yZGVyLiAgV2UganVzdCBzZXQgdGhlIHNsaWNlcyB0byBi
ZSAwLgotICAgICAgICBjb250ZXh0Lm1fdG9wID0gcHJpbWl0aXZlVmFsdWVDYWNoZSgpLT5jcmVh
dGVWYWx1ZSgwLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUik7Ci0gICAgICAgIGNvbnRl
eHQubV9hbGxvd0JyZWFrID0gdHJ1ZTsKKyAgICAgICAgY29udGV4dC5zZXRUb3AocHJpbWl0aXZl
VmFsdWVDYWNoZSgpLT5jcmVhdGVWYWx1ZSgwLCBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJF
UikpOworICAgICAgICBjb250ZXh0LnNldEFsbG93RmluYWxDb21taXQoKTsKICAgICB9CiAKLSAg
ICBpZiAoY29udGV4dC5hbGxvd0JyZWFrKCkpIHsKKyAgICBpZiAoY29udGV4dC5hbGxvd0ZpbmFs
Q29tbWl0KCkpIHsKKyAgICAgICAgLy8gRklYTUU6IEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0
eSwgLXdlYmtpdC1ib3JkZXItaW1hZ2UsIC13ZWJraXQtbWFzay1ib3gtaW1hZ2UgYW5kIC13ZWJr
aXQtYm94LXJlZmxlY3QgaGF2ZSB0byBkbyBhIGZpbGwgYnkgZGVmYXVsdC4KKyAgICAgICAgLy8g
RklYTUU6IFdoYXQgZG8gd2UgZG8gd2l0aCAtd2Via2l0LWJveC1yZWZsZWN0IGFuZCAtd2Via2l0
LW1hc2stYm94LWltYWdlPyBQcm9iYWJseSBqdXN0IGhhdmUgdG8gbGVhdmUgdGhlbSBmaWxsaW5n
Li4uCisgICAgICAgIGlmIChwcm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJJbWFnZSB8
fCBwcm9wSWQgPT0gQ1NTUHJvcGVydHlXZWJraXRNYXNrQm94SW1hZ2UgfHwgcHJvcElkID09IENT
U1Byb3BlcnR5V2Via2l0Qm94UmVmbGVjdCkKKyAgICAgICAgICAgIGNvbnRleHQuY29tbWl0Rmls
bCgpOworCiAgICAgICAgIC8vIE5lZWQgdG8gZnVsbHkgY29tbWl0IGFzIGEgc2luZ2xlIHZhbHVl
LgotICAgICAgICByZXN1bHQgPSBjb250ZXh0LmNvbW1pdEJvcmRlckltYWdlKHRoaXMsIGltcG9y
dGFudCk7CisgICAgICAgIHJlc3VsdCA9IGNvbnRleHQuY29tbWl0Qm9yZGVySW1hZ2VTbGljZSgp
OwogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQYXJzZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2Vy
LmgJKHJldmlzaW9uIDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCSh3
b3JraW5nIGNvcHkpCkBAIC0zNiwzNzIgKzM2LDM3NCBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAKLSAgICBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjsKLSAgICBjbGFzcyBDU1NQ
cmltaXRpdmVWYWx1ZTsKLSAgICBjbGFzcyBDU1NQcmltaXRpdmVWYWx1ZUNhY2hlOwotICAgIGNs
YXNzIENTU1Byb3BlcnR5OwotICAgIGNsYXNzIENTU1J1bGU7Ci0gICAgY2xhc3MgQ1NTUnVsZUxp
c3Q7Ci0gICAgY2xhc3MgQ1NTU2VsZWN0b3JMaXN0OwotICAgIGNsYXNzIENTU1N0eWxlU2hlZXQ7
Ci0gICAgY2xhc3MgQ1NTVmFsdWU7Ci0gICAgY2xhc3MgQ1NTVmFsdWVMaXN0OwotICAgIGNsYXNz
IERvY3VtZW50OwotICAgIGNsYXNzIE1lZGlhTGlzdDsKLSAgICBjbGFzcyBNZWRpYVF1ZXJ5RXhw
OwotICAgIGNsYXNzIFN0eWxlQmFzZTsKLSAgICBjbGFzcyBXZWJLaXRDU1NLZXlmcmFtZVJ1bGU7
Ci0gICAgY2xhc3MgV2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZTsKLSAgICBjbGFzcyBDU1NXcmFwU2hh
cGU7Ci0KLSAgICBjbGFzcyBDU1NQYXJzZXIgewotICAgIHB1YmxpYzoKLSAgICAgICAgQ1NTUGFy
c2VyKGJvb2wgc3RyaWN0UGFyc2luZyA9IHRydWUpOwotICAgICAgICB+Q1NTUGFyc2VyKCk7Ci0K
LSAgICAgICAgdm9pZCBwYXJzZVNoZWV0KENTU1N0eWxlU2hlZXQqLCBjb25zdCBTdHJpbmcmLCBp
bnQgc3RhcnRMaW5lTnVtYmVyID0gMCwgU3R5bGVSdWxlUmFuZ2VNYXAqIHJ1bGVSYW5nZU1hcCA9
IDApOwotICAgICAgICBQYXNzUmVmUHRyPENTU1J1bGU+IHBhcnNlUnVsZShDU1NTdHlsZVNoZWV0
KiwgY29uc3QgU3RyaW5nJik7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTUnVsZT4gcGFyc2VLZXlm
cmFtZVJ1bGUoQ1NTU3R5bGVTaGVldCosIGNvbnN0IFN0cmluZyYpOwotICAgICAgICBzdGF0aWMg
Ym9vbCBwYXJzZVZhbHVlKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiwgaW50IHByb3BJZCwg
Y29uc3QgU3RyaW5nJiwgYm9vbCBpbXBvcnRhbnQsIGJvb2wgc3RyaWN0KTsKLSAgICAgICAgc3Rh
dGljIGJvb2wgcGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBib29sIHN0
cmljdCA9IGZhbHNlKTsKLSAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VTeXN0ZW1Db2xvcihSR0JB
MzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBEb2N1bWVudCopOwotICAgICAgICBQYXNzUmVmUHRy
PENTU1ByaW1pdGl2ZVZhbHVlPiBwYXJzZVZhbGlkUHJpbWl0aXZlKGludCBwcm9wSWQsIENTU1Bh
cnNlclZhbHVlKik7Ci0gICAgICAgIGJvb2wgcGFyc2VDb2xvcihDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbiosIGNvbnN0IFN0cmluZyYpOwotICAgICAgICBib29sIHBhcnNlRGVjbGFyYXRpb24o
Q1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qLCBjb25zdCBTdHJpbmcmLCBSZWZQdHI8Q1NTU3R5
bGVTb3VyY2VEYXRhPiogc3R5bGVTb3VyY2VEYXRhID0gMCk7Ci0gICAgICAgIGJvb2wgcGFyc2VN
ZWRpYVF1ZXJ5KE1lZGlhTGlzdCosIGNvbnN0IFN0cmluZyYpOwotCi0gICAgICAgIERvY3VtZW50
KiBkb2N1bWVudCgpIGNvbnN0OworY2xhc3MgQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlOworY2xh
c3MgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb247CitjbGFzcyBDU1NQcmltaXRpdmVWYWx1ZTsK
K2NsYXNzIENTU1ByaW1pdGl2ZVZhbHVlQ2FjaGU7CitjbGFzcyBDU1NQcm9wZXJ0eTsKK2NsYXNz
IENTU1J1bGU7CitjbGFzcyBDU1NSdWxlTGlzdDsKK2NsYXNzIENTU1NlbGVjdG9yTGlzdDsKK2Ns
YXNzIENTU1N0eWxlU2hlZXQ7CitjbGFzcyBDU1NWYWx1ZTsKK2NsYXNzIENTU1ZhbHVlTGlzdDsK
K2NsYXNzIERvY3VtZW50OworY2xhc3MgTWVkaWFMaXN0OworY2xhc3MgTWVkaWFRdWVyeUV4cDsK
K2NsYXNzIFN0eWxlQmFzZTsKK2NsYXNzIFdlYktpdENTU0tleWZyYW1lUnVsZTsKK2NsYXNzIFdl
YktpdENTU0tleWZyYW1lc1J1bGU7CitjbGFzcyBDU1NXcmFwU2hhcGU7CisKK2NsYXNzIENTU1Bh
cnNlciB7CitwdWJsaWM6CisgICAgQ1NTUGFyc2VyKGJvb2wgc3RyaWN0UGFyc2luZyA9IHRydWUp
OworICAgIH5DU1NQYXJzZXIoKTsKKworICAgIHZvaWQgcGFyc2VTaGVldChDU1NTdHlsZVNoZWV0
KiwgY29uc3QgU3RyaW5nJiwgaW50IHN0YXJ0TGluZU51bWJlciA9IDAsIFN0eWxlUnVsZVJhbmdl
TWFwKiBydWxlUmFuZ2VNYXAgPSAwKTsKKyAgICBQYXNzUmVmUHRyPENTU1J1bGU+IHBhcnNlUnVs
ZShDU1NTdHlsZVNoZWV0KiwgY29uc3QgU3RyaW5nJik7CisgICAgUGFzc1JlZlB0cjxDU1NSdWxl
PiBwYXJzZUtleWZyYW1lUnVsZShDU1NTdHlsZVNoZWV0KiwgY29uc3QgU3RyaW5nJik7CisgICAg
c3RhdGljIGJvb2wgcGFyc2VWYWx1ZShDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbiosIGludCBw
cm9wSWQsIGNvbnN0IFN0cmluZyYsIGJvb2wgaW1wb3J0YW50LCBib29sIHN0cmljdCk7CisgICAg
c3RhdGljIGJvb2wgcGFyc2VDb2xvcihSR0JBMzImIGNvbG9yLCBjb25zdCBTdHJpbmcmLCBib29s
IHN0cmljdCA9IGZhbHNlKTsKKyAgICBzdGF0aWMgYm9vbCBwYXJzZVN5c3RlbUNvbG9yKFJHQkEz
MiYgY29sb3IsIGNvbnN0IFN0cmluZyYsIERvY3VtZW50Kik7CisgICAgUGFzc1JlZlB0cjxDU1NQ
cmltaXRpdmVWYWx1ZT4gcGFyc2VWYWxpZFByaW1pdGl2ZShpbnQgcHJvcElkLCBDU1NQYXJzZXJW
YWx1ZSopOworICAgIGJvb2wgcGFyc2VDb2xvcihDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbios
IGNvbnN0IFN0cmluZyYpOworICAgIGJvb2wgcGFyc2VEZWNsYXJhdGlvbihDU1NNdXRhYmxlU3R5
bGVEZWNsYXJhdGlvbiosIGNvbnN0IFN0cmluZyYsIFJlZlB0cjxDU1NTdHlsZVNvdXJjZURhdGE+
KiBzdHlsZVNvdXJjZURhdGEgPSAwKTsKKyAgICBib29sIHBhcnNlTWVkaWFRdWVyeShNZWRpYUxp
c3QqLCBjb25zdCBTdHJpbmcmKTsKKworICAgIERvY3VtZW50KiBkb2N1bWVudCgpIGNvbnN0Owor
CisgICAgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVDYWNoZSgpIGNvbnN0
IHsgcmV0dXJuIG1fcHJpbWl0aXZlVmFsdWVDYWNoZS5nZXQoKTsgfQorCisgICAgdm9pZCBhZGRQ
cm9wZXJ0eShpbnQgcHJvcElkLCBQYXNzUmVmUHRyPENTU1ZhbHVlPiwgYm9vbCBpbXBvcnRhbnQp
OworICAgIHZvaWQgcm9sbGJhY2tMYXN0UHJvcGVydGllcyhpbnQgbnVtKTsKKyAgICBib29sIGhh
c1Byb3BlcnRpZXMoKSBjb25zdCB7IHJldHVybiBtX251bVBhcnNlZFByb3BlcnRpZXMgPiAwOyB9
CisKKyAgICBib29sIHBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworICAg
IGJvb2wgcGFyc2VTaG9ydGhhbmQoaW50IHByb3BJZCwgY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBp
bnQgbnVtUHJvcGVydGllcywgYm9vbCBpbXBvcnRhbnQpOworICAgIGJvb2wgcGFyc2U0VmFsdWVz
KGludCBwcm9wSWQsIGNvbnN0IGludCogcHJvcGVydGllcywgYm9vbCBpbXBvcnRhbnQpOworICAg
IGJvb2wgcGFyc2VDb250ZW50KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyAgICBib29s
IHBhcnNlUXVvdGVzKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKworICAgIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IHBhcnNlQXR0cihDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MpOworCisgICAg
UGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VCYWNrZ3JvdW5kQ29sb3IoKTsKKworICAgIGJvb2wg
cGFyc2VGaWxsSW1hZ2UoUmVmUHRyPENTU1ZhbHVlPiYpOworCisgICAgZW51bSBGaWxsUG9zaXRp
b25GbGFnIHsgSW52YWxpZEZpbGxQb3NpdGlvbiA9IDAsIEFtYmlndW91c0ZpbGxQb3NpdGlvbiA9
IDEsIFhGaWxsUG9zaXRpb24gPSAyLCBZRmlsbFBvc2l0aW9uID0gNCB9OworICAgIFBhc3NSZWZQ
dHI8Q1NTVmFsdWU+IHBhcnNlRmlsbFBvc2l0aW9uQ29tcG9uZW50KENTU1BhcnNlclZhbHVlTGlz
dCosIHVuc2lnbmVkJiBjdW11bGF0aXZlRmxhZ3MsIEZpbGxQb3NpdGlvbkZsYWcmIGluZGl2aWR1
YWxGbGFnKTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUZpbGxQb3NpdGlvblgoQ1NT
UGFyc2VyVmFsdWVMaXN0Kik7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VGaWxsUG9z
aXRpb25ZKENTU1BhcnNlclZhbHVlTGlzdCopOworICAgIHZvaWQgcGFyc2VGaWxsUG9zaXRpb24o
Q1NTUGFyc2VyVmFsdWVMaXN0KiwgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4m
KTsKICAgICAKLSAgICAgICAgQ1NTUHJpbWl0aXZlVmFsdWVDYWNoZSogcHJpbWl0aXZlVmFsdWVD
YWNoZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHJpbWl0aXZlVmFsdWVDYWNoZS5nZXQoKTsgfQorICAg
IHZvaWQgcGFyc2VGaWxsUmVwZWF0KFJlZlB0cjxDU1NWYWx1ZT4mLCBSZWZQdHI8Q1NTVmFsdWU+
Jik7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VGaWxsU2l6ZShpbnQgcHJvcElkLCBi
b29sICZhbGxvd0NvbW1hKTsKKworICAgIGJvb2wgcGFyc2VGaWxsUHJvcGVydHkoaW50IHByb3BJ
ZCwgaW50JiBwcm9wSWQxLCBpbnQmIHByb3BJZDIsIFJlZlB0cjxDU1NWYWx1ZT4mLCBSZWZQdHI8
Q1NTVmFsdWU+Jik7CisgICAgYm9vbCBwYXJzZUZpbGxTaG9ydGhhbmQoaW50IHByb3BJZCwgY29u
c3QgaW50KiBwcm9wZXJ0aWVzLCBpbnQgbnVtUHJvcGVydGllcywgYm9vbCBpbXBvcnRhbnQpOwor
CisgICAgdm9pZCBhZGRGaWxsVmFsdWUoUmVmUHRyPENTU1ZhbHVlPiYgbHZhbCwgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gcnZhbCk7CiAKLSAgICAgICAgdm9pZCBhZGRQcm9wZXJ0eShpbnQgcHJvcElk
LCBQYXNzUmVmUHRyPENTU1ZhbHVlPiwgYm9vbCBpbXBvcnRhbnQpOwotICAgICAgICB2b2lkIHJv
bGxiYWNrTGFzdFByb3BlcnRpZXMoaW50IG51bSk7Ci0gICAgICAgIGJvb2wgaGFzUHJvcGVydGll
cygpIGNvbnN0IHsgcmV0dXJuIG1fbnVtUGFyc2VkUHJvcGVydGllcyA+IDA7IH0KLQotICAgICAg
ICBib29sIHBhcnNlVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwotICAgICAgICBi
b29sIHBhcnNlU2hvcnRoYW5kKGludCBwcm9wSWQsIGNvbnN0IGludCogcHJvcGVydGllcywgaW50
IG51bVByb3BlcnRpZXMsIGJvb2wgaW1wb3J0YW50KTsKLSAgICAgICAgYm9vbCBwYXJzZTRWYWx1
ZXMoaW50IHByb3BJZCwgY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBib29sIGltcG9ydGFudCk7Ci0g
ICAgICAgIGJvb2wgcGFyc2VDb250ZW50KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKLSAg
ICAgICAgYm9vbCBwYXJzZVF1b3RlcyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7Ci0KLSAg
ICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBdHRyKENTU1BhcnNlclZhbHVlTGlzdCog
YXJncyk7Ci0KLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VCYWNrZ3JvdW5kQ29s
b3IoKTsKLQotICAgICAgICBib29sIHBhcnNlRmlsbEltYWdlKFJlZlB0cjxDU1NWYWx1ZT4mKTsK
LQotICAgICAgICBlbnVtIEZpbGxQb3NpdGlvbkZsYWcgeyBJbnZhbGlkRmlsbFBvc2l0aW9uID0g
MCwgQW1iaWd1b3VzRmlsbFBvc2l0aW9uID0gMSwgWEZpbGxQb3NpdGlvbiA9IDIsIFlGaWxsUG9z
aXRpb24gPSA0IH07Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlRmlsbFBvc2l0
aW9uQ29tcG9uZW50KENTU1BhcnNlclZhbHVlTGlzdCosIHVuc2lnbmVkJiBjdW11bGF0aXZlRmxh
Z3MsIEZpbGxQb3NpdGlvbkZsYWcmIGluZGl2aWR1YWxGbGFnKTsKLSAgICAgICAgUGFzc1JlZlB0
cjxDU1NWYWx1ZT4gcGFyc2VGaWxsUG9zaXRpb25YKENTU1BhcnNlclZhbHVlTGlzdCopOwotICAg
ICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUZpbGxQb3NpdGlvblkoQ1NTUGFyc2VyVmFs
dWVMaXN0Kik7Ci0gICAgICAgIHZvaWQgcGFyc2VGaWxsUG9zaXRpb24oQ1NTUGFyc2VyVmFsdWVM
aXN0KiwgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKLSAgICAgICAgCi0g
ICAgICAgIHZvaWQgcGFyc2VGaWxsUmVwZWF0KFJlZlB0cjxDU1NWYWx1ZT4mLCBSZWZQdHI8Q1NT
VmFsdWU+Jik7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlRmlsbFNpemUoaW50
IHByb3BJZCwgYm9vbCAmYWxsb3dDb21tYSk7Ci0KLSAgICAgICAgYm9vbCBwYXJzZUZpbGxQcm9w
ZXJ0eShpbnQgcHJvcElkLCBpbnQmIHByb3BJZDEsIGludCYgcHJvcElkMiwgUmVmUHRyPENTU1Zh
bHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKLSAgICAgICAgYm9vbCBwYXJzZUZpbGxTaG9ydGhh
bmQoaW50IHByb3BJZCwgY29uc3QgaW50KiBwcm9wZXJ0aWVzLCBpbnQgbnVtUHJvcGVydGllcywg
Ym9vbCBpbXBvcnRhbnQpOwotCi0gICAgICAgIHZvaWQgYWRkRmlsbFZhbHVlKFJlZlB0cjxDU1NW
YWx1ZT4mIGx2YWwsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJ2YWwpOwotCi0gICAgICAgIHZvaWQg
YWRkQW5pbWF0aW9uVmFsdWUoUmVmUHRyPENTU1ZhbHVlPiYgbHZhbCwgUGFzc1JlZlB0cjxDU1NW
YWx1ZT4gcnZhbCk7Ci0KLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRp
b25EZWxheSgpOwotICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUFuaW1hdGlvbkRp
cmVjdGlvbigpOwotICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUFuaW1hdGlvbkR1
cmF0aW9uKCk7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlQW5pbWF0aW9uRmls
bE1vZGUoKTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRpb25JdGVy
YXRpb25Db3VudCgpOwotICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUFuaW1hdGlv
bk5hbWUoKTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRpb25QbGF5
U3RhdGUoKTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRpb25Qcm9w
ZXJ0eSgpOwotICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUFuaW1hdGlvblRpbWlu
Z0Z1bmN0aW9uKCk7Ci0KLSAgICAgICAgYm9vbCBwYXJzZVRyYW5zZm9ybU9yaWdpblNob3J0aGFu
ZChSZWZQdHI8Q1NTVmFsdWU+JiwgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4m
KTsKLSAgICAgICAgYm9vbCBwYXJzZUN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb25WYWx1ZShDU1NQ
YXJzZXJWYWx1ZUxpc3QqJiBhcmdzLCBkb3VibGUmIHJlc3VsdCk7Ci0gICAgICAgIGJvb2wgcGFy
c2VBbmltYXRpb25Qcm9wZXJ0eShpbnQgcHJvcElkLCBSZWZQdHI8Q1NTVmFsdWU+Jik7Ci0gICAg
ICAgIGJvb2wgcGFyc2VUcmFuc2l0aW9uU2hvcnRoYW5kKGJvb2wgaW1wb3J0YW50KTsKLSAgICAg
ICAgYm9vbCBwYXJzZUFuaW1hdGlvblNob3J0aGFuZChib29sIGltcG9ydGFudCk7Ci0KLSAgICAg
ICAgYm9vbCBwYXJzZURhc2hib2FyZFJlZ2lvbnMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQp
OwotCi0gICAgICAgIGJvb2wgcGFyc2VTaGFwZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7
Ci0KLSAgICAgICAgYm9vbCBwYXJzZVdyYXBTaGFwZShib29sIGltcG9ydGFudCk7Ci0gICAgICAg
IFBhc3NSZWZQdHI8Q1NTV3JhcFNoYXBlPiBwYXJzZVdyYXBTaGFwZVJlY3QoQ1NTUGFyc2VyVmFs
dWVMaXN0KiBhcmdzKTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NXcmFwU2hhcGU+IHBhcnNlV3Jh
cFNoYXBlQ2lyY2xlKENTU1BhcnNlclZhbHVlTGlzdCogYXJncyk7Ci0gICAgICAgIFBhc3NSZWZQ
dHI8Q1NTV3JhcFNoYXBlPiBwYXJzZVdyYXBTaGFwZUVsbGlwc2UoQ1NTUGFyc2VyVmFsdWVMaXN0
KiBhcmdzKTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NXcmFwU2hhcGU+IHBhcnNlV3JhcFNoYXBl
UG9seWdvbihDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MpOwotCi0gICAgICAgIGJvb2wgcGFyc2VG
b250KGJvb2wgaW1wb3J0YW50KTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZUxpc3Q+IHBh
cnNlRm9udEZhbWlseSgpOwotCi0gICAgICAgIGJvb2wgcGFyc2VDb3VudGVyKGludCBwcm9wSWQs
IGludCBkZWZhdWx0VmFsdWUsIGJvb2wgaW1wb3J0YW50KTsKLSAgICAgICAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gcGFyc2VDb3VudGVyQ29udGVudChDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MsIGJv
b2wgY291bnRlcnMpOwotCi0gICAgICAgIGJvb2wgcGFyc2VDb2xvclBhcmFtZXRlcnMoQ1NTUGFy
c2VyVmFsdWUqLCBpbnQqIGNvbG9yVmFsdWVzLCBib29sIHBhcnNlQWxwaGEpOwotICAgICAgICBi
b29sIHBhcnNlSFNMUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSosIGRvdWJsZSogY29sb3JWYWx1
ZXMsIGJvb2wgcGFyc2VBbHBoYSk7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFs
dWU+IHBhcnNlQ29sb3IoQ1NTUGFyc2VyVmFsdWUqID0gMCk7Ci0gICAgICAgIGJvb2wgcGFyc2VD
b2xvckZyb21WYWx1ZShDU1NQYXJzZXJWYWx1ZSosIFJHQkEzMiYpOwotICAgICAgICB2b2lkIHBh
cnNlU2VsZWN0b3IoY29uc3QgU3RyaW5nJiwgRG9jdW1lbnQqIGRvYywgQ1NTU2VsZWN0b3JMaXN0
Jik7Ci0KLSAgICAgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihjb25zdCBTdHJpbmcmLCBSR0JB
MzImIHJnYiwgYm9vbCBzdHJpY3QpOwotCi0gICAgICAgIGJvb2wgcGFyc2VGb250U3R5bGUoYm9v
bCBpbXBvcnRhbnQpOwotICAgICAgICBib29sIHBhcnNlRm9udFZhcmlhbnQoYm9vbCBpbXBvcnRh
bnQpOwotICAgICAgICBib29sIHBhcnNlRm9udFdlaWdodChib29sIGltcG9ydGFudCk7Ci0gICAg
ICAgIGJvb2wgcGFyc2VGb250RmFjZVNyYygpOwotICAgICAgICBib29sIHBhcnNlRm9udEZhY2VV
bmljb2RlUmFuZ2UoKTsKKyAgICB2b2lkIGFkZEFuaW1hdGlvblZhbHVlKFJlZlB0cjxDU1NWYWx1
ZT4mIGx2YWwsIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHJ2YWwpOworCisgICAgUGFzc1JlZlB0cjxD
U1NWYWx1ZT4gcGFyc2VBbmltYXRpb25EZWxheSgpOworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+
IHBhcnNlQW5pbWF0aW9uRGlyZWN0aW9uKCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFy
c2VBbmltYXRpb25EdXJhdGlvbigpOworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlQW5p
bWF0aW9uRmlsbE1vZGUoKTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUFuaW1hdGlv
bkl0ZXJhdGlvbkNvdW50KCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRp
b25OYW1lKCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRpb25QbGF5U3Rh
dGUoKTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUFuaW1hdGlvblByb3BlcnR5KCk7
CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VBbmltYXRpb25UaW1pbmdGdW5jdGlvbigp
OworCisgICAgYm9vbCBwYXJzZVRyYW5zZm9ybU9yaWdpblNob3J0aGFuZChSZWZQdHI8Q1NTVmFs
dWU+JiwgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKKyAgICBib29sIHBh
cnNlQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvblZhbHVlKENTU1BhcnNlclZhbHVlTGlzdComIGFy
Z3MsIGRvdWJsZSYgcmVzdWx0KTsKKyAgICBib29sIHBhcnNlQW5pbWF0aW9uUHJvcGVydHkoaW50
IHByb3BJZCwgUmVmUHRyPENTU1ZhbHVlPiYpOworICAgIGJvb2wgcGFyc2VUcmFuc2l0aW9uU2hv
cnRoYW5kKGJvb2wgaW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNlQW5pbWF0aW9uU2hvcnRoYW5k
KGJvb2wgaW1wb3J0YW50KTsKKworICAgIGJvb2wgcGFyc2VEYXNoYm9hcmRSZWdpb25zKGludCBw
cm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKworICAgIGJvb2wgcGFyc2VTaGFwZShpbnQgcHJvcElk
LCBib29sIGltcG9ydGFudCk7CisKKyAgICBib29sIHBhcnNlV3JhcFNoYXBlKGJvb2wgaW1wb3J0
YW50KTsKKyAgICBQYXNzUmVmUHRyPENTU1dyYXBTaGFwZT4gcGFyc2VXcmFwU2hhcGVSZWN0KENT
U1BhcnNlclZhbHVlTGlzdCogYXJncyk7CisgICAgUGFzc1JlZlB0cjxDU1NXcmFwU2hhcGU+IHBh
cnNlV3JhcFNoYXBlQ2lyY2xlKENTU1BhcnNlclZhbHVlTGlzdCogYXJncyk7CisgICAgUGFzc1Jl
ZlB0cjxDU1NXcmFwU2hhcGU+IHBhcnNlV3JhcFNoYXBlRWxsaXBzZShDU1NQYXJzZXJWYWx1ZUxp
c3QqIGFyZ3MpOworICAgIFBhc3NSZWZQdHI8Q1NTV3JhcFNoYXBlPiBwYXJzZVdyYXBTaGFwZVBv
bHlnb24oQ1NTUGFyc2VyVmFsdWVMaXN0KiBhcmdzKTsKKworICAgIGJvb2wgcGFyc2VGb250KGJv
b2wgaW1wb3J0YW50KTsKKyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlTGlzdD4gcGFyc2VGb250RmFt
aWx5KCk7CisKKyAgICBib29sIHBhcnNlQ291bnRlcihpbnQgcHJvcElkLCBpbnQgZGVmYXVsdFZh
bHVlLCBib29sIGltcG9ydGFudCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VDb3Vu
dGVyQ29udGVudChDU1NQYXJzZXJWYWx1ZUxpc3QqIGFyZ3MsIGJvb2wgY291bnRlcnMpOworCisg
ICAgYm9vbCBwYXJzZUNvbG9yUGFyYW1ldGVycyhDU1NQYXJzZXJWYWx1ZSosIGludCogY29sb3JW
YWx1ZXMsIGJvb2wgcGFyc2VBbHBoYSk7CisgICAgYm9vbCBwYXJzZUhTTFBhcmFtZXRlcnMoQ1NT
UGFyc2VyVmFsdWUqLCBkb3VibGUqIGNvbG9yVmFsdWVzLCBib29sIHBhcnNlQWxwaGEpOworICAg
IFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+IHBhcnNlQ29sb3IoQ1NTUGFyc2VyVmFsdWUq
ID0gMCk7CisgICAgYm9vbCBwYXJzZUNvbG9yRnJvbVZhbHVlKENTU1BhcnNlclZhbHVlKiwgUkdC
QTMyJik7CisgICAgdm9pZCBwYXJzZVNlbGVjdG9yKGNvbnN0IFN0cmluZyYsIERvY3VtZW50KiBk
b2MsIENTU1NlbGVjdG9yTGlzdCYpOworCisgICAgc3RhdGljIGJvb2wgcGFyc2VDb2xvcihjb25z
dCBTdHJpbmcmLCBSR0JBMzImIHJnYiwgYm9vbCBzdHJpY3QpOworCisgICAgYm9vbCBwYXJzZUZv
bnRTdHlsZShib29sIGltcG9ydGFudCk7CisgICAgYm9vbCBwYXJzZUZvbnRWYXJpYW50KGJvb2wg
aW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNlRm9udFdlaWdodChib29sIGltcG9ydGFudCk7Cisg
ICAgYm9vbCBwYXJzZUZvbnRGYWNlU3JjKCk7CisgICAgYm9vbCBwYXJzZUZvbnRGYWNlVW5pY29k
ZVJhbmdlKCk7CiAKICNpZiBFTkFCTEUoU1ZHKQotICAgICAgICBib29sIHBhcnNlU1ZHVmFsdWUo
aW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwotICAgICAgICBQYXNzUmVmUHRyPENTU1ZhbHVl
PiBwYXJzZVNWR1BhaW50KCk7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlU1ZH
Q29sb3IoKTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VTVkdTdHJva2VEYXNo
YXJyYXkoKTsKKyAgICBib29sIHBhcnNlU1ZHVmFsdWUoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRh
bnQpOworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlU1ZHUGFpbnQoKTsKKyAgICBQYXNz
UmVmUHRyPENTU1ZhbHVlPiBwYXJzZVNWR0NvbG9yKCk7CisgICAgUGFzc1JlZlB0cjxDU1NWYWx1
ZT4gcGFyc2VTVkdTdHJva2VEYXNoYXJyYXkoKTsKICNlbmRpZgogCiAjaWYgRU5BQkxFKFdDU1Mp
Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWU+IHBhcnNlV0NTU0lucHV0UHJvcGVydHkoKTsK
KyAgICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZVdDU1NJbnB1dFByb3BlcnR5KCk7CiAjZW5k
aWYKIAotICAgICAgICAvLyBDU1MzIFBhcnNpbmcgUm91dGluZXMgKGZvciBwcm9wZXJ0aWVzIHNw
ZWNpZmljIHRvIENTUzMpCi0gICAgICAgIGJvb2wgcGFyc2VTaGFkb3coaW50IHByb3BJZCwgYm9v
bCBpbXBvcnRhbnQpOwotICAgICAgICBib29sIHBhcnNlQm9yZGVySW1hZ2UoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKLSAgICAgICAgYm9vbCBwYXJzZUJv
cmRlclJhZGl1cyhpbnQgcHJvcElkLCBib29sIGltcG9ydGFudCk7Ci0KLSAgICAgICAgYm9vbCBw
YXJzZVJlZmxlY3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOwotCi0gICAgICAgIGJvb2wg
cGFyc2VGbGV4KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKLQotICAgICAgICAvLyBJbWFn
ZSBnZW5lcmF0b3JzCi0gICAgICAgIGJvb2wgcGFyc2VDYW52YXMoUmVmUHRyPENTU1ZhbHVlPiYp
OwotCi0gICAgICAgIGJvb2wgcGFyc2VEZXByZWNhdGVkR3JhZGllbnQoUmVmUHRyPENTU1ZhbHVl
PiYpOwotICAgICAgICBib29sIHBhcnNlTGluZWFyR3JhZGllbnQoUmVmUHRyPENTU1ZhbHVlPiYs
IENTU0dyYWRpZW50UmVwZWF0IHJlcGVhdGluZyk7Ci0gICAgICAgIGJvb2wgcGFyc2VSYWRpYWxH
cmFkaWVudChSZWZQdHI8Q1NTVmFsdWU+JiwgQ1NTR3JhZGllbnRSZXBlYXQgcmVwZWF0aW5nKTsK
LSAgICAgICAgYm9vbCBwYXJzZUdyYWRpZW50Q29sb3JTdG9wcyhDU1NQYXJzZXJWYWx1ZUxpc3Qq
LCBDU1NHcmFkaWVudFZhbHVlKiwgYm9vbCBleHBlY3RDb21tYSk7Ci0KLSAgICAgICAgUGFzc1Jl
ZlB0cjxDU1NWYWx1ZUxpc3Q+IHBhcnNlVHJhbnNmb3JtKCk7Ci0gICAgICAgIGJvb2wgcGFyc2VU
cmFuc2Zvcm1PcmlnaW4oaW50IHByb3BJZCwgaW50JiBwcm9wSWQxLCBpbnQmIHByb3BJZDIsIGlu
dCYgcHJvcElkMywgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1ZT4mLCBSZWZQdHI8
Q1NTVmFsdWU+Jik7Ci0gICAgICAgIGJvb2wgcGFyc2VQZXJzcGVjdGl2ZU9yaWdpbihpbnQgcHJv
cElkLCBpbnQmIHByb3BJZDEsIGludCYgcHJvcElkMiwgIFJlZlB0cjxDU1NWYWx1ZT4mLCBSZWZQ
dHI8Q1NTVmFsdWU+Jik7Ci0KLSAgICAgICAgYm9vbCBwYXJzZVRleHRFbXBoYXNpc1N0eWxlKGJv
b2wgaW1wb3J0YW50KTsKLQotICAgICAgICBib29sIHBhcnNlTGluZUJveENvbnRhaW4oYm9vbCBp
bXBvcnRhbnQpOwotCi0gICAgICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVRhZyhDU1NWYWx1ZUxp
c3QqKTsKLSAgICAgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlU2V0dGluZ3MoYm9vbCBpbXBvcnRh
bnQpOwotCi0gICAgICAgIGJvb2wgcGFyc2VGbG93VGhyZWFkKGludCBwcm9wSWQsIGJvb2wgaW1w
b3J0YW50KTsKLSAgICAgICAgUGFzc1JlZlB0cjxDU1NWYWx1ZT4gcGFyc2VGcm9tRmxvd0NvbnRl
bnQoQ1NTUGFyc2VyVmFsdWVMaXN0Kik7Ci0KLSAgICAgICAgaW50IHl5cGFyc2UoKTsKLQotICAg
ICAgICBDU1NQYXJzZXJTZWxlY3RvciogY3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOwotICAgICAg
ICBQYXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiBzaW5rRmxvYXRpbmdTZWxlY3RvcihDU1NQ
YXJzZXJTZWxlY3RvciopOwotCi0gICAgICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0
b3I+ID4qIGNyZWF0ZUZsb2F0aW5nU2VsZWN0b3JWZWN0b3IoKTsKLSAgICAgICAgUGFzc093blB0
cjxWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+ID4gc2lua0Zsb2F0aW5nU2VsZWN0
b3JWZWN0b3IoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiopOwotCi0gICAgICAg
IENTU1BhcnNlclZhbHVlTGlzdCogY3JlYXRlRmxvYXRpbmdWYWx1ZUxpc3QoKTsKLSAgICAgICAg
Q1NTUGFyc2VyVmFsdWVMaXN0KiBzaW5rRmxvYXRpbmdWYWx1ZUxpc3QoQ1NTUGFyc2VyVmFsdWVM
aXN0Kik7Ci0KLSAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGNyZWF0ZUZsb2F0aW5nRnVuY3Rp
b24oKTsKLSAgICAgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIHNpbmtGbG9hdGluZ0Z1bmN0aW9uKENT
U1BhcnNlckZ1bmN0aW9uKik7Ci0KLSAgICAgICAgQ1NTUGFyc2VyVmFsdWUmIHNpbmtGbG9hdGlu
Z1ZhbHVlKENTU1BhcnNlclZhbHVlJik7Ci0KLSAgICAgICAgTWVkaWFMaXN0KiBjcmVhdGVNZWRp
YUxpc3QoKTsKLSAgICAgICAgQ1NTUnVsZSogY3JlYXRlQ2hhcnNldFJ1bGUoY29uc3QgQ1NTUGFy
c2VyU3RyaW5nJik7Ci0gICAgICAgIENTU1J1bGUqIGNyZWF0ZUltcG9ydFJ1bGUoY29uc3QgQ1NT
UGFyc2VyU3RyaW5nJiwgTWVkaWFMaXN0Kik7Ci0gICAgICAgIFdlYktpdENTU0tleWZyYW1lUnVs
ZSogY3JlYXRlS2V5ZnJhbWVSdWxlKENTU1BhcnNlclZhbHVlTGlzdCopOwotICAgICAgICBXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlKiBjcmVhdGVLZXlmcmFtZXNSdWxlKCk7Ci0gICAgICAgIENTU1J1
bGUqIGNyZWF0ZU1lZGlhUnVsZShNZWRpYUxpc3QqLCBDU1NSdWxlTGlzdCopOwotICAgICAgICBD
U1NSdWxlTGlzdCogY3JlYXRlUnVsZUxpc3QoKTsKLSAgICAgICAgQ1NTUnVsZSogY3JlYXRlU3R5
bGVSdWxlKFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4qIHNlbGVjdG9ycyk7Ci0g
ICAgICAgIENTU1J1bGUqIGNyZWF0ZUZvbnRGYWNlUnVsZSgpOwotICAgICAgICBDU1NSdWxlKiBj
cmVhdGVQYWdlUnVsZShQYXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiBwYWdlU2VsZWN0b3Ip
OwotICAgICAgICBDU1NSdWxlKiBjcmVhdGVNYXJnaW5BdFJ1bGUoQ1NTU2VsZWN0b3I6Ok1hcmdp
bkJveFR5cGUgbWFyZ2luQm94KTsKLSAgICAgICAgdm9pZCBzdGFydERlY2xhcmF0aW9uc0Zvck1h
cmdpbkJveCgpOwotICAgICAgICB2b2lkIGVuZERlY2xhcmF0aW9uc0Zvck1hcmdpbkJveCgpOwot
Ci0gICAgICAgIE1lZGlhUXVlcnlFeHAqIGNyZWF0ZUZsb2F0aW5nTWVkaWFRdWVyeUV4cChjb25z
dCBBdG9taWNTdHJpbmcmLCBDU1NQYXJzZXJWYWx1ZUxpc3QqKTsKLSAgICAgICAgUGFzc093blB0
cjxNZWRpYVF1ZXJ5RXhwPiBzaW5rRmxvYXRpbmdNZWRpYVF1ZXJ5RXhwKE1lZGlhUXVlcnlFeHAq
KTsKLSAgICAgICAgVmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+KiBjcmVhdGVGbG9hdGlu
Z01lZGlhUXVlcnlFeHBMaXN0KCk7Ci0gICAgICAgIFBhc3NPd25QdHI8VmVjdG9yPE93blB0cjxN
ZWRpYVF1ZXJ5RXhwPiA+ID4gc2lua0Zsb2F0aW5nTWVkaWFRdWVyeUV4cExpc3QoVmVjdG9yPE93
blB0cjxNZWRpYVF1ZXJ5RXhwPiA+Kik7Ci0gICAgICAgIE1lZGlhUXVlcnkqIGNyZWF0ZUZsb2F0
aW5nTWVkaWFRdWVyeShNZWRpYVF1ZXJ5OjpSZXN0cmljdG9yLCBjb25zdCBTdHJpbmcmLCBQYXNz
T3duUHRyPFZlY3RvcjxPd25QdHI8TWVkaWFRdWVyeUV4cD4gPiA+KTsKLSAgICAgICAgTWVkaWFR
dWVyeSogY3JlYXRlRmxvYXRpbmdNZWRpYVF1ZXJ5KFBhc3NPd25QdHI8VmVjdG9yPE93blB0cjxN
ZWRpYVF1ZXJ5RXhwPiA+ID4pOwotICAgICAgICBQYXNzT3duUHRyPE1lZGlhUXVlcnk+IHNpbmtG
bG9hdGluZ01lZGlhUXVlcnkoTWVkaWFRdWVyeSopOwotCi0gICAgICAgIHZvaWQgYWRkTmFtZXNw
YWNlKGNvbnN0IEF0b21pY1N0cmluZyYgcHJlZml4LCBjb25zdCBBdG9taWNTdHJpbmcmIHVyaSk7
Ci0gICAgICAgIHZvaWQgdXBkYXRlU3BlY2lmaWVyc1dpdGhFbGVtZW50TmFtZShjb25zdCBBdG9t
aWNTdHJpbmcmIG5hbWVzcGFjZVByZWZpeCwgY29uc3QgQXRvbWljU3RyaW5nJiBlbGVtZW50TmFt
ZSwgQ1NTUGFyc2VyU2VsZWN0b3IqKTsKLSAgICAgICAgQ1NTUGFyc2VyU2VsZWN0b3IqIHVwZGF0
ZVNwZWNpZmllcnMoQ1NTUGFyc2VyU2VsZWN0b3IqLCBDU1NQYXJzZXJTZWxlY3RvciopOwotCi0g
ICAgICAgIHZvaWQgaW52YWxpZEJsb2NrSGl0KCk7Ci0KLSAgICAgICAgVmVjdG9yPE93blB0cjxD
U1NQYXJzZXJTZWxlY3Rvcj4gPiogcmV1c2FibGVTZWxlY3RvclZlY3RvcigpIHsgcmV0dXJuICZt
X3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7IH0KLQotICAgICAgICB2b2lkIHVwZGF0ZUxhc3RTZWxl
Y3RvckxpbmVBbmRQb3NpdGlvbigpOwotCi0gICAgICAgIHZvaWQgY2xlYXJQcm9wZXJ0aWVzKCk7
Ci0KLSAgICAgICAgYm9vbCBtX3N0cmljdDsKLSAgICAgICAgYm9vbCBtX2ltcG9ydGFudDsKLSAg
ICAgICAgaW50IG1faWQ7Ci0gICAgICAgIENTU1N0eWxlU2hlZXQqIG1fc3R5bGVTaGVldDsKLSAg
ICAgICAgUmVmUHRyPENTU1J1bGU+IG1fcnVsZTsKLSAgICAgICAgUmVmUHRyPENTU1J1bGU+IG1f
a2V5ZnJhbWU7Ci0gICAgICAgIE93blB0cjxNZWRpYVF1ZXJ5PiBtX21lZGlhUXVlcnk7Ci0gICAg
ICAgIENTU1BhcnNlclZhbHVlTGlzdCogbV92YWx1ZUxpc3Q7Ci0gICAgICAgIENTU1Byb3BlcnR5
KiogbV9wYXJzZWRQcm9wZXJ0aWVzOwotICAgICAgICBDU1NTZWxlY3Rvckxpc3QqIG1fc2VsZWN0
b3JMaXN0Rm9yUGFyc2VTZWxlY3RvcjsKLSAgICAgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVl
Q2FjaGU+IG1fcHJpbWl0aXZlVmFsdWVDYWNoZTsKLSAgICAgICAgdW5zaWduZWQgbV9udW1QYXJz
ZWRQcm9wZXJ0aWVzOwotICAgICAgICB1bnNpZ25lZCBtX21heFBhcnNlZFByb3BlcnRpZXM7Ci0g
ICAgICAgIHVuc2lnbmVkIG1fbnVtUGFyc2VkUHJvcGVydGllc0JlZm9yZU1hcmdpbkJveDsKLQot
ICAgICAgICBpbnQgbV9pblBhcnNlU2hvcnRoYW5kOwotICAgICAgICBpbnQgbV9jdXJyZW50U2hv
cnRoYW5kOwotICAgICAgICBib29sIG1faW1wbGljaXRTaG9ydGhhbmQ7Ci0KLSAgICAgICAgYm9v
bCBtX2hhc0ZvbnRGYWNlT25seVZhbHVlczsKLSAgICAgICAgYm9vbCBtX2hhZFN5bnRhY3RpY2Fs
bHlWYWxpZENTU1J1bGU7Ci0KLSAgICAgICAgQXRvbWljU3RyaW5nIG1fZGVmYXVsdE5hbWVzcGFj
ZTsKLQotICAgICAgICAvLyB0b2tlbml6ZXIgbWV0aG9kcyBhbmQgZGF0YQotICAgICAgICBib29s
IG1faW5TdHlsZVJ1bGVPckRlY2xhcmF0aW9uOwotICAgICAgICBTb3VyY2VSYW5nZSBtX3NlbGVj
dG9yTGlzdFJhbmdlOwotICAgICAgICBTb3VyY2VSYW5nZSBtX3J1bGVCb2R5UmFuZ2U7Ci0gICAg
ICAgIFNvdXJjZVJhbmdlIG1fcHJvcGVydHlSYW5nZTsKLSAgICAgICAgU3R5bGVSdWxlUmFuZ2VN
YXAqIG1fcnVsZVJhbmdlTWFwOwotICAgICAgICBSZWZQdHI8Q1NTUnVsZVNvdXJjZURhdGE+IG1f
Y3VycmVudFJ1bGVEYXRhOwotICAgICAgICB2b2lkIG1hcmtTZWxlY3Rvckxpc3RTdGFydCgpOwot
ICAgICAgICB2b2lkIG1hcmtTZWxlY3Rvckxpc3RFbmQoKTsKLSAgICAgICAgdm9pZCBtYXJrUnVs
ZUJvZHlTdGFydCgpOwotICAgICAgICB2b2lkIG1hcmtSdWxlQm9keUVuZCgpOwotICAgICAgICB2
b2lkIG1hcmtQcm9wZXJ0eVN0YXJ0KCk7Ci0gICAgICAgIHZvaWQgbWFya1Byb3BlcnR5RW5kKGJv
b2wgaXNJbXBvcnRhbnRGb3VuZCwgYm9vbCBpc1Byb3BlcnR5UGFyc2VkKTsKLSAgICAgICAgdm9p
ZCByZXNldFNlbGVjdG9yTGlzdE1hcmtzKCkgeyBtX3NlbGVjdG9yTGlzdFJhbmdlLnN0YXJ0ID0g
bV9zZWxlY3Rvckxpc3RSYW5nZS5lbmQgPSAwOyB9Ci0gICAgICAgIHZvaWQgcmVzZXRSdWxlQm9k
eU1hcmtzKCkgeyBtX3J1bGVCb2R5UmFuZ2Uuc3RhcnQgPSBtX3J1bGVCb2R5UmFuZ2UuZW5kID0g
MDsgfQotICAgICAgICB2b2lkIHJlc2V0UHJvcGVydHlNYXJrcygpIHsgbV9wcm9wZXJ0eVJhbmdl
LnN0YXJ0ID0gbV9wcm9wZXJ0eVJhbmdlLmVuZCA9IFVJTlRfTUFYOyB9Ci0gICAgICAgIGludCBs
ZXgodm9pZCogeXlsdmFsKTsKLSAgICAgICAgaW50IHRva2VuKCkgeyByZXR1cm4geXlUb2s7IH0K
LSAgICAgICAgVUNoYXIqIHRleHQoaW50KiBsZW5ndGgpOwotICAgICAgICB2b2lkIGNvdW50TGlu
ZXMoKTsKLSAgICAgICAgaW50IGxleCgpOwotCi0gICAgcHJpdmF0ZToKLSAgICAgICAgdm9pZCBz
ZXRTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKLSAgICAgICAgCi0gICAgICAgIHZvaWQgcmVj
aGVja0F0S2V5d29yZChjb25zdCBVQ2hhciogc3RyLCBpbnQgbGVuKTsKLQotICAgICAgICB2b2lk
IHNldHVwUGFyc2VyKGNvbnN0IGNoYXIqIHByZWZpeCwgY29uc3QgU3RyaW5nJiwgY29uc3QgY2hh
ciogc3VmZml4KTsKLQotICAgICAgICBib29sIGluU2hvcnRoYW5kKCkgY29uc3QgeyByZXR1cm4g
bV9pblBhcnNlU2hvcnRoYW5kOyB9Ci0KLSAgICAgICAgdm9pZCBjaGVja0Zvck9ycGhhbmVkVW5p
dHMoKTsKLQotICAgICAgICB2b2lkIGRlbGV0ZUZvbnRGYWNlT25seVZhbHVlcygpOwotCi0gICAg
ICAgIGJvb2wgaXNHZW5lcmF0ZWRJbWFnZVZhbHVlKENTU1BhcnNlclZhbHVlKikgY29uc3Q7Ci0g
ICAgICAgIGJvb2wgcGFyc2VHZW5lcmF0ZWRJbWFnZShSZWZQdHI8Q1NTVmFsdWU+Jik7Ci0KLSAg
ICAgICAgYm9vbCBwYXJzZVZhbHVlKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiwgaW50IHBy
b3BJZCwgY29uc3QgU3RyaW5nJiwgYm9vbCBpbXBvcnRhbnQpOwotCi0gICAgICAgIGVudW0gU2l6
ZVBhcmFtZXRlclR5cGUgewotICAgICAgICAgICAgTm9uZSwKLSAgICAgICAgICAgIEF1dG8sCi0g
ICAgICAgICAgICBMZW5ndGgsCi0gICAgICAgICAgICBQYWdlU2l6ZSwKLSAgICAgICAgICAgIE9y
aWVudGF0aW9uLAotICAgICAgICB9OwotCi0gICAgICAgIGJvb2wgcGFyc2VQYWdlKGludCBwcm9w
SWQsIGJvb2wgaW1wb3J0YW50KTsKLSAgICAgICAgYm9vbCBwYXJzZVNpemUoaW50IHByb3BJZCwg
Ym9vbCBpbXBvcnRhbnQpOwotICAgICAgICBTaXplUGFyYW1ldGVyVHlwZSBwYXJzZVNpemVQYXJh
bWV0ZXIoQ1NTVmFsdWVMaXN0KiBwYXJzZWRWYWx1ZXMsIENTU1BhcnNlclZhbHVlKiB2YWx1ZSwg
U2l6ZVBhcmFtZXRlclR5cGUgcHJldlBhcmFtVHlwZSk7Ci0KLSAgICAgICAgVUNoYXIqIG1fZGF0
YTsKLSAgICAgICAgVUNoYXIqIHl5dGV4dDsKLSAgICAgICAgVUNoYXIqIHl5X2NfYnVmX3A7Ci0g
ICAgICAgIFVDaGFyIHl5X2hvbGRfY2hhcjsKLSAgICAgICAgaW50IHl5X2xhc3RfYWNjZXB0aW5n
X3N0YXRlOwotICAgICAgICBVQ2hhciogeXlfbGFzdF9hY2NlcHRpbmdfY3BvczsKLSAgICAgICAg
aW50IHl5bGVuZzsKLSAgICAgICAgaW50IHl5VG9rOwotICAgICAgICBpbnQgeXlfc3RhcnQ7Ci0g
ICAgICAgIGludCBtX2xpbmVOdW1iZXI7Ci0gICAgICAgIGludCBtX2xhc3RTZWxlY3RvckxpbmVO
dW1iZXI7Ci0KLSAgICAgICAgYm9vbCBtX2FsbG93SW1wb3J0UnVsZXM7Ci0gICAgICAgIGJvb2wg
bV9hbGxvd05hbWVzcGFjZURlY2xhcmF0aW9uczsKLQotICAgICAgICBWZWN0b3I8UmVmUHRyPFN0
eWxlQmFzZT4gPiBtX3BhcnNlZFN0eWxlT2JqZWN0czsKLSAgICAgICAgVmVjdG9yPFJlZlB0cjxD
U1NSdWxlTGlzdD4gPiBtX3BhcnNlZFJ1bGVMaXN0czsKLSAgICAgICAgSGFzaFNldDxDU1NQYXJz
ZXJTZWxlY3Rvcio+IG1fZmxvYXRpbmdTZWxlY3RvcnM7Ci0gICAgICAgIEhhc2hTZXQ8VmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPio+IG1fZmxvYXRpbmdTZWxlY3RvclZlY3RvcnM7
Ci0gICAgICAgIEhhc2hTZXQ8Q1NTUGFyc2VyVmFsdWVMaXN0Kj4gbV9mbG9hdGluZ1ZhbHVlTGlz
dHM7Ci0gICAgICAgIEhhc2hTZXQ8Q1NTUGFyc2VyRnVuY3Rpb24qPiBtX2Zsb2F0aW5nRnVuY3Rp
b25zOwotCi0gICAgICAgIE93blB0cjxNZWRpYVF1ZXJ5PiBtX2Zsb2F0aW5nTWVkaWFRdWVyeTsK
LSAgICAgICAgT3duUHRyPE1lZGlhUXVlcnlFeHA+IG1fZmxvYXRpbmdNZWRpYVF1ZXJ5RXhwOwot
ICAgICAgICBPd25QdHI8VmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+ID4gbV9mbG9hdGlu
Z01lZGlhUXVlcnlFeHBMaXN0OwotCi0gICAgICAgIFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2Vs
ZWN0b3I+ID4gbV9yZXVzYWJsZVNlbGVjdG9yVmVjdG9yOwotCi0gICAgICAgIC8vIGRlZmluZXMg
dW5pdHMgYWxsb3dlZCBmb3IgYSBjZXJ0YWluIHByb3BlcnR5LCB1c2VkIGluIHBhcnNlVW5pdAot
ICAgICAgICBlbnVtIFVuaXRzIHsKLSAgICAgICAgICAgIEZVbmtub3duICAgPSAweDAwMDAsCi0g
ICAgICAgICAgICBGSW50ZWdlciAgID0gMHgwMDAxLAotICAgICAgICAgICAgRk51bWJlciAgICA9
IDB4MDAwMiwgIC8vIFJlYWwgTnVtYmVycwotICAgICAgICAgICAgRlBlcmNlbnQgICA9IDB4MDAw
NCwKLSAgICAgICAgICAgIEZMZW5ndGggICAgPSAweDAwMDgsCi0gICAgICAgICAgICBGQW5nbGUg
ICAgID0gMHgwMDEwLAotICAgICAgICAgICAgRlRpbWUgICAgICA9IDB4MDAyMCwKLSAgICAgICAg
ICAgIEZGcmVxdWVuY3kgPSAweDAwNDAsCi0gICAgICAgICAgICBGUmVsYXRpdmUgID0gMHgwMTAw
LAotICAgICAgICAgICAgRk5vbk5lZyAgICA9IDB4MDIwMAotICAgICAgICB9OwotCi0gICAgICAg
IGZyaWVuZCBpbmxpbmUgVW5pdHMgb3BlcmF0b3J8KFVuaXRzIGEsIFVuaXRzIGIpCi0gICAgICAg
IHsKLSAgICAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxVbml0cz4oc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KGEpIHwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KGIpKTsKLSAgICAgICAgfQorICAgIC8v
IENTUzMgUGFyc2luZyBSb3V0aW5lcyAoZm9yIHByb3BlcnRpZXMgc3BlY2lmaWMgdG8gQ1NTMykK
KyAgICBib29sIHBhcnNlU2hhZG93KGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyAgICBi
b29sIHBhcnNlQm9yZGVySW1hZ2UoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQsIFJlZlB0cjxD
U1NWYWx1ZT4mKTsKKyAgICBib29sIHBhcnNlQm9yZGVySW1hZ2VTbGljZShpbnQgcHJvcElkLCBS
ZWZQdHI8Q1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlPiYpOworICAgIGJvb2wgcGFyc2VCb3JkZXJS
YWRpdXMoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworCisgICAgYm9vbCBwYXJzZVJlZmxl
Y3QoaW50IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworCisgICAgYm9vbCBwYXJzZUZsZXgoaW50
IHByb3BJZCwgYm9vbCBpbXBvcnRhbnQpOworCisgICAgLy8gSW1hZ2UgZ2VuZXJhdG9ycworICAg
IGJvb2wgcGFyc2VDYW52YXMoUmVmUHRyPENTU1ZhbHVlPiYpOworCisgICAgYm9vbCBwYXJzZURl
cHJlY2F0ZWRHcmFkaWVudChSZWZQdHI8Q1NTVmFsdWU+Jik7CisgICAgYm9vbCBwYXJzZUxpbmVh
ckdyYWRpZW50KFJlZlB0cjxDU1NWYWx1ZT4mLCBDU1NHcmFkaWVudFJlcGVhdCByZXBlYXRpbmcp
OworICAgIGJvb2wgcGFyc2VSYWRpYWxHcmFkaWVudChSZWZQdHI8Q1NTVmFsdWU+JiwgQ1NTR3Jh
ZGllbnRSZXBlYXQgcmVwZWF0aW5nKTsKKyAgICBib29sIHBhcnNlR3JhZGllbnRDb2xvclN0b3Bz
KENTU1BhcnNlclZhbHVlTGlzdCosIENTU0dyYWRpZW50VmFsdWUqLCBib29sIGV4cGVjdENvbW1h
KTsKKworICAgIFBhc3NSZWZQdHI8Q1NTVmFsdWVMaXN0PiBwYXJzZVRyYW5zZm9ybSgpOworICAg
IGJvb2wgcGFyc2VUcmFuc2Zvcm1PcmlnaW4oaW50IHByb3BJZCwgaW50JiBwcm9wSWQxLCBpbnQm
IHByb3BJZDIsIGludCYgcHJvcElkMywgUmVmUHRyPENTU1ZhbHVlPiYsIFJlZlB0cjxDU1NWYWx1
ZT4mLCBSZWZQdHI8Q1NTVmFsdWU+Jik7CisgICAgYm9vbCBwYXJzZVBlcnNwZWN0aXZlT3JpZ2lu
KGludCBwcm9wSWQsIGludCYgcHJvcElkMSwgaW50JiBwcm9wSWQyLCAgUmVmUHRyPENTU1ZhbHVl
PiYsIFJlZlB0cjxDU1NWYWx1ZT4mKTsKKworICAgIGJvb2wgcGFyc2VUZXh0RW1waGFzaXNTdHls
ZShib29sIGltcG9ydGFudCk7CisKKyAgICBib29sIHBhcnNlTGluZUJveENvbnRhaW4oYm9vbCBp
bXBvcnRhbnQpOworCisgICAgYm9vbCBwYXJzZUZvbnRGZWF0dXJlVGFnKENTU1ZhbHVlTGlzdCop
OworICAgIGJvb2wgcGFyc2VGb250RmVhdHVyZVNldHRpbmdzKGJvb2wgaW1wb3J0YW50KTsKKwor
ICAgIGJvb2wgcGFyc2VGbG93VGhyZWFkKGludCBwcm9wSWQsIGJvb2wgaW1wb3J0YW50KTsKKyAg
ICBQYXNzUmVmUHRyPENTU1ZhbHVlPiBwYXJzZUZyb21GbG93Q29udGVudChDU1NQYXJzZXJWYWx1
ZUxpc3QqKTsKKworICAgIGludCB5eXBhcnNlKCk7CisKKyAgICBDU1NQYXJzZXJTZWxlY3Rvciog
Y3JlYXRlRmxvYXRpbmdTZWxlY3RvcigpOworICAgIFBhc3NPd25QdHI8Q1NTUGFyc2VyU2VsZWN0
b3I+IHNpbmtGbG9hdGluZ1NlbGVjdG9yKENTU1BhcnNlclNlbGVjdG9yKik7CisKKyAgICBWZWN0
b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+KiBjcmVhdGVGbG9hdGluZ1NlbGVjdG9yVmVj
dG9yKCk7CisgICAgUGFzc093blB0cjxWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+
ID4gc2lua0Zsb2F0aW5nU2VsZWN0b3JWZWN0b3IoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxl
Y3Rvcj4gPiopOworCisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBjcmVhdGVGbG9hdGluZ1ZhbHVl
TGlzdCgpOworICAgIENTU1BhcnNlclZhbHVlTGlzdCogc2lua0Zsb2F0aW5nVmFsdWVMaXN0KENT
U1BhcnNlclZhbHVlTGlzdCopOworCisgICAgQ1NTUGFyc2VyRnVuY3Rpb24qIGNyZWF0ZUZsb2F0
aW5nRnVuY3Rpb24oKTsKKyAgICBDU1NQYXJzZXJGdW5jdGlvbiogc2lua0Zsb2F0aW5nRnVuY3Rp
b24oQ1NTUGFyc2VyRnVuY3Rpb24qKTsKKworICAgIENTU1BhcnNlclZhbHVlJiBzaW5rRmxvYXRp
bmdWYWx1ZShDU1NQYXJzZXJWYWx1ZSYpOworCisgICAgTWVkaWFMaXN0KiBjcmVhdGVNZWRpYUxp
c3QoKTsKKyAgICBDU1NSdWxlKiBjcmVhdGVDaGFyc2V0UnVsZShjb25zdCBDU1NQYXJzZXJTdHJp
bmcmKTsKKyAgICBDU1NSdWxlKiBjcmVhdGVJbXBvcnRSdWxlKGNvbnN0IENTU1BhcnNlclN0cmlu
ZyYsIE1lZGlhTGlzdCopOworICAgIFdlYktpdENTU0tleWZyYW1lUnVsZSogY3JlYXRlS2V5ZnJh
bWVSdWxlKENTU1BhcnNlclZhbHVlTGlzdCopOworICAgIFdlYktpdENTU0tleWZyYW1lc1J1bGUq
IGNyZWF0ZUtleWZyYW1lc1J1bGUoKTsKKyAgICBDU1NSdWxlKiBjcmVhdGVNZWRpYVJ1bGUoTWVk
aWFMaXN0KiwgQ1NTUnVsZUxpc3QqKTsKKyAgICBDU1NSdWxlTGlzdCogY3JlYXRlUnVsZUxpc3Qo
KTsKKyAgICBDU1NSdWxlKiBjcmVhdGVTdHlsZVJ1bGUoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJT
ZWxlY3Rvcj4gPiogc2VsZWN0b3JzKTsKKyAgICBDU1NSdWxlKiBjcmVhdGVGb250RmFjZVJ1bGUo
KTsKKyAgICBDU1NSdWxlKiBjcmVhdGVQYWdlUnVsZShQYXNzT3duUHRyPENTU1BhcnNlclNlbGVj
dG9yPiBwYWdlU2VsZWN0b3IpOworICAgIENTU1J1bGUqIGNyZWF0ZU1hcmdpbkF0UnVsZShDU1NT
ZWxlY3Rvcjo6TWFyZ2luQm94VHlwZSBtYXJnaW5Cb3gpOworICAgIHZvaWQgc3RhcnREZWNsYXJh
dGlvbnNGb3JNYXJnaW5Cb3goKTsKKyAgICB2b2lkIGVuZERlY2xhcmF0aW9uc0Zvck1hcmdpbkJv
eCgpOworCisgICAgTWVkaWFRdWVyeUV4cCogY3JlYXRlRmxvYXRpbmdNZWRpYVF1ZXJ5RXhwKGNv
bnN0IEF0b21pY1N0cmluZyYsIENTU1BhcnNlclZhbHVlTGlzdCopOworICAgIFBhc3NPd25QdHI8
TWVkaWFRdWVyeUV4cD4gc2lua0Zsb2F0aW5nTWVkaWFRdWVyeUV4cChNZWRpYVF1ZXJ5RXhwKik7
CisgICAgVmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+KiBjcmVhdGVGbG9hdGluZ01lZGlh
UXVlcnlFeHBMaXN0KCk7CisgICAgUGFzc093blB0cjxWZWN0b3I8T3duUHRyPE1lZGlhUXVlcnlF
eHA+ID4gPiBzaW5rRmxvYXRpbmdNZWRpYVF1ZXJ5RXhwTGlzdChWZWN0b3I8T3duUHRyPE1lZGlh
UXVlcnlFeHA+ID4qKTsKKyAgICBNZWRpYVF1ZXJ5KiBjcmVhdGVGbG9hdGluZ01lZGlhUXVlcnko
TWVkaWFRdWVyeTo6UmVzdHJpY3RvciwgY29uc3QgU3RyaW5nJiwgUGFzc093blB0cjxWZWN0b3I8
T3duUHRyPE1lZGlhUXVlcnlFeHA+ID4gPik7CisgICAgTWVkaWFRdWVyeSogY3JlYXRlRmxvYXRp
bmdNZWRpYVF1ZXJ5KFBhc3NPd25QdHI8VmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+ID4p
OworICAgIFBhc3NPd25QdHI8TWVkaWFRdWVyeT4gc2lua0Zsb2F0aW5nTWVkaWFRdWVyeShNZWRp
YVF1ZXJ5Kik7CisKKyAgICB2b2lkIGFkZE5hbWVzcGFjZShjb25zdCBBdG9taWNTdHJpbmcmIHBy
ZWZpeCwgY29uc3QgQXRvbWljU3RyaW5nJiB1cmkpOworICAgIHZvaWQgdXBkYXRlU3BlY2lmaWVy
c1dpdGhFbGVtZW50TmFtZShjb25zdCBBdG9taWNTdHJpbmcmIG5hbWVzcGFjZVByZWZpeCwgY29u
c3QgQXRvbWljU3RyaW5nJiBlbGVtZW50TmFtZSwgQ1NTUGFyc2VyU2VsZWN0b3IqKTsKKyAgICBD
U1NQYXJzZXJTZWxlY3RvciogdXBkYXRlU3BlY2lmaWVycyhDU1NQYXJzZXJTZWxlY3RvciosIENT
U1BhcnNlclNlbGVjdG9yKik7CisKKyAgICB2b2lkIGludmFsaWRCbG9ja0hpdCgpOworCisgICAg
VmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogcmV1c2FibGVTZWxlY3RvclZlY3Rv
cigpIHsgcmV0dXJuICZtX3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7IH0KKworICAgIHZvaWQgdXBk
YXRlTGFzdFNlbGVjdG9yTGluZUFuZFBvc2l0aW9uKCk7CisKKyAgICB2b2lkIGNsZWFyUHJvcGVy
dGllcygpOworCisgICAgYm9vbCBtX3N0cmljdDsKKyAgICBib29sIG1faW1wb3J0YW50OworICAg
IGludCBtX2lkOworICAgIENTU1N0eWxlU2hlZXQqIG1fc3R5bGVTaGVldDsKKyAgICBSZWZQdHI8
Q1NTUnVsZT4gbV9ydWxlOworICAgIFJlZlB0cjxDU1NSdWxlPiBtX2tleWZyYW1lOworICAgIE93
blB0cjxNZWRpYVF1ZXJ5PiBtX21lZGlhUXVlcnk7CisgICAgQ1NTUGFyc2VyVmFsdWVMaXN0KiBt
X3ZhbHVlTGlzdDsKKyAgICBDU1NQcm9wZXJ0eSoqIG1fcGFyc2VkUHJvcGVydGllczsKKyAgICBD
U1NTZWxlY3Rvckxpc3QqIG1fc2VsZWN0b3JMaXN0Rm9yUGFyc2VTZWxlY3RvcjsKKyAgICBSZWZQ
dHI8Q1NTUHJpbWl0aXZlVmFsdWVDYWNoZT4gbV9wcmltaXRpdmVWYWx1ZUNhY2hlOworICAgIHVu
c2lnbmVkIG1fbnVtUGFyc2VkUHJvcGVydGllczsKKyAgICB1bnNpZ25lZCBtX21heFBhcnNlZFBy
b3BlcnRpZXM7CisgICAgdW5zaWduZWQgbV9udW1QYXJzZWRQcm9wZXJ0aWVzQmVmb3JlTWFyZ2lu
Qm94OworCisgICAgaW50IG1faW5QYXJzZVNob3J0aGFuZDsKKyAgICBpbnQgbV9jdXJyZW50U2hv
cnRoYW5kOworICAgIGJvb2wgbV9pbXBsaWNpdFNob3J0aGFuZDsKKworICAgIGJvb2wgbV9oYXNG
b250RmFjZU9ubHlWYWx1ZXM7CisgICAgYm9vbCBtX2hhZFN5bnRhY3RpY2FsbHlWYWxpZENTU1J1
bGU7CisKKyAgICBBdG9taWNTdHJpbmcgbV9kZWZhdWx0TmFtZXNwYWNlOworCisgICAgLy8gdG9r
ZW5pemVyIG1ldGhvZHMgYW5kIGRhdGEKKyAgICBib29sIG1faW5TdHlsZVJ1bGVPckRlY2xhcmF0
aW9uOworICAgIFNvdXJjZVJhbmdlIG1fc2VsZWN0b3JMaXN0UmFuZ2U7CisgICAgU291cmNlUmFu
Z2UgbV9ydWxlQm9keVJhbmdlOworICAgIFNvdXJjZVJhbmdlIG1fcHJvcGVydHlSYW5nZTsKKyAg
ICBTdHlsZVJ1bGVSYW5nZU1hcCogbV9ydWxlUmFuZ2VNYXA7CisgICAgUmVmUHRyPENTU1J1bGVT
b3VyY2VEYXRhPiBtX2N1cnJlbnRSdWxlRGF0YTsKKyAgICB2b2lkIG1hcmtTZWxlY3Rvckxpc3RT
dGFydCgpOworICAgIHZvaWQgbWFya1NlbGVjdG9yTGlzdEVuZCgpOworICAgIHZvaWQgbWFya1J1
bGVCb2R5U3RhcnQoKTsKKyAgICB2b2lkIG1hcmtSdWxlQm9keUVuZCgpOworICAgIHZvaWQgbWFy
a1Byb3BlcnR5U3RhcnQoKTsKKyAgICB2b2lkIG1hcmtQcm9wZXJ0eUVuZChib29sIGlzSW1wb3J0
YW50Rm91bmQsIGJvb2wgaXNQcm9wZXJ0eVBhcnNlZCk7CisgICAgdm9pZCByZXNldFNlbGVjdG9y
TGlzdE1hcmtzKCkgeyBtX3NlbGVjdG9yTGlzdFJhbmdlLnN0YXJ0ID0gbV9zZWxlY3Rvckxpc3RS
YW5nZS5lbmQgPSAwOyB9CisgICAgdm9pZCByZXNldFJ1bGVCb2R5TWFya3MoKSB7IG1fcnVsZUJv
ZHlSYW5nZS5zdGFydCA9IG1fcnVsZUJvZHlSYW5nZS5lbmQgPSAwOyB9CisgICAgdm9pZCByZXNl
dFByb3BlcnR5TWFya3MoKSB7IG1fcHJvcGVydHlSYW5nZS5zdGFydCA9IG1fcHJvcGVydHlSYW5n
ZS5lbmQgPSBVSU5UX01BWDsgfQorICAgIGludCBsZXgodm9pZCogeXlsdmFsKTsKKyAgICBpbnQg
dG9rZW4oKSB7IHJldHVybiB5eVRvazsgfQorICAgIFVDaGFyKiB0ZXh0KGludCogbGVuZ3RoKTsK
KyAgICB2b2lkIGNvdW50TGluZXMoKTsKKyAgICBpbnQgbGV4KCk7CiAKLSAgICAgICAgc3RhdGlj
IGJvb2wgdmFsaWRVbml0KENTU1BhcnNlclZhbHVlKiwgVW5pdHMsIGJvb2wgc3RyaWN0KTsKK3By
aXZhdGU6CisgICAgdm9pZCBzZXRTdHlsZVNoZWV0KENTU1N0eWxlU2hlZXQqKTsKKyAgICAKKyAg
ICB2b2lkIHJlY2hlY2tBdEtleXdvcmQoY29uc3QgVUNoYXIqIHN0ciwgaW50IGxlbik7CiAKLSAg
ICAgICAgUGFzc1JlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gY3JlYXRlUHJpbWl0aXZlTnVtZXJp
Y1ZhbHVlKENTU1BhcnNlclZhbHVlKik7Ci0gICAgICAgIFBhc3NSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+IGNyZWF0ZVByaW1pdGl2ZVN0cmluZ1ZhbHVlKENTU1BhcnNlclZhbHVlKik7CisgICAg
dm9pZCBzZXR1cFBhcnNlcihjb25zdCBjaGFyKiBwcmVmaXgsIGNvbnN0IFN0cmluZyYsIGNvbnN0
IGNoYXIqIHN1ZmZpeCk7CiAKLSAgICAgICAgZnJpZW5kIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlv
bkluZm87Ci0gICAgfTsKKyAgICBib29sIGluU2hvcnRoYW5kKCkgY29uc3QgeyByZXR1cm4gbV9p
blBhcnNlU2hvcnRoYW5kOyB9CiAKLSAgICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBDU1NQYXJz
ZXJTdHJpbmcmKTsKLSAgICBpbnQgY3NzUHJvcGVydHlJRChjb25zdCBTdHJpbmcmKTsKLSAgICBp
bnQgY3NzVmFsdWVLZXl3b3JkSUQoY29uc3QgQ1NTUGFyc2VyU3RyaW5nJik7Ci0KLSAgICBjbGFz
cyBTaG9ydGhhbmRTY29wZSB7Ci0gICAgICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwotICAg
IHB1YmxpYzoKLSAgICAgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFyc2VyKiBwYXJzZXIsIGludCBw
cm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQotICAgICAgICB7Ci0gICAgICAgICAgICBpZiAoISht
X3BhcnNlci0+bV9pblBhcnNlU2hvcnRoYW5kKyspKQotICAgICAgICAgICAgICAgIG1fcGFyc2Vy
LT5tX2N1cnJlbnRTaG9ydGhhbmQgPSBwcm9wSWQ7Ci0gICAgICAgIH0KLSAgICAgICAgflNob3J0
aGFuZFNjb3BlKCkKLSAgICAgICAgewotICAgICAgICAgICAgaWYgKCEoLS1tX3BhcnNlci0+bV9p
blBhcnNlU2hvcnRoYW5kKSkKLSAgICAgICAgICAgICAgICBtX3BhcnNlci0+bV9jdXJyZW50U2hv
cnRoYW5kID0gMDsKLSAgICAgICAgfQorICAgIHZvaWQgY2hlY2tGb3JPcnBoYW5lZFVuaXRzKCk7
CisKKyAgICB2b2lkIGRlbGV0ZUZvbnRGYWNlT25seVZhbHVlcygpOworCisgICAgYm9vbCBpc0dl
bmVyYXRlZEltYWdlVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKSBjb25zdDsKKyAgICBib29sIHBhcnNl
R2VuZXJhdGVkSW1hZ2UoUmVmUHRyPENTU1ZhbHVlPiYpOworCisgICAgYm9vbCBwYXJzZVZhbHVl
KENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiwgaW50IHByb3BJZCwgY29uc3QgU3RyaW5nJiwg
Ym9vbCBpbXBvcnRhbnQpOworCisgICAgZW51bSBTaXplUGFyYW1ldGVyVHlwZSB7CisgICAgICAg
IE5vbmUsCisgICAgICAgIEF1dG8sCisgICAgICAgIExlbmd0aCwKKyAgICAgICAgUGFnZVNpemUs
CisgICAgICAgIE9yaWVudGF0aW9uLAorICAgIH07CiAKLSAgICBwcml2YXRlOgotICAgICAgICBD
U1NQYXJzZXIqIG1fcGFyc2VyOworICAgIGJvb2wgcGFyc2VQYWdlKGludCBwcm9wSWQsIGJvb2wg
aW1wb3J0YW50KTsKKyAgICBib29sIHBhcnNlU2l6ZShpbnQgcHJvcElkLCBib29sIGltcG9ydGFu
dCk7CisgICAgU2l6ZVBhcmFtZXRlclR5cGUgcGFyc2VTaXplUGFyYW1ldGVyKENTU1ZhbHVlTGlz
dCogcGFyc2VkVmFsdWVzLCBDU1NQYXJzZXJWYWx1ZSogdmFsdWUsIFNpemVQYXJhbWV0ZXJUeXBl
IHByZXZQYXJhbVR5cGUpOworCisgICAgVUNoYXIqIG1fZGF0YTsKKyAgICBVQ2hhciogeXl0ZXh0
OworICAgIFVDaGFyKiB5eV9jX2J1Zl9wOworICAgIFVDaGFyIHl5X2hvbGRfY2hhcjsKKyAgICBp
bnQgeXlfbGFzdF9hY2NlcHRpbmdfc3RhdGU7CisgICAgVUNoYXIqIHl5X2xhc3RfYWNjZXB0aW5n
X2Nwb3M7CisgICAgaW50IHl5bGVuZzsKKyAgICBpbnQgeXlUb2s7CisgICAgaW50IHl5X3N0YXJ0
OworICAgIGludCBtX2xpbmVOdW1iZXI7CisgICAgaW50IG1fbGFzdFNlbGVjdG9yTGluZU51bWJl
cjsKKworICAgIGJvb2wgbV9hbGxvd0ltcG9ydFJ1bGVzOworICAgIGJvb2wgbV9hbGxvd05hbWVz
cGFjZURlY2xhcmF0aW9uczsKKworICAgIFZlY3RvcjxSZWZQdHI8U3R5bGVCYXNlPiA+IG1fcGFy
c2VkU3R5bGVPYmplY3RzOworICAgIFZlY3RvcjxSZWZQdHI8Q1NTUnVsZUxpc3Q+ID4gbV9wYXJz
ZWRSdWxlTGlzdHM7CisgICAgSGFzaFNldDxDU1NQYXJzZXJTZWxlY3Rvcio+IG1fZmxvYXRpbmdT
ZWxlY3RvcnM7CisgICAgSGFzaFNldDxWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+
Kj4gbV9mbG9hdGluZ1NlbGVjdG9yVmVjdG9yczsKKyAgICBIYXNoU2V0PENTU1BhcnNlclZhbHVl
TGlzdCo+IG1fZmxvYXRpbmdWYWx1ZUxpc3RzOworICAgIEhhc2hTZXQ8Q1NTUGFyc2VyRnVuY3Rp
b24qPiBtX2Zsb2F0aW5nRnVuY3Rpb25zOworCisgICAgT3duUHRyPE1lZGlhUXVlcnk+IG1fZmxv
YXRpbmdNZWRpYVF1ZXJ5OworICAgIE93blB0cjxNZWRpYVF1ZXJ5RXhwPiBtX2Zsb2F0aW5nTWVk
aWFRdWVyeUV4cDsKKyAgICBPd25QdHI8VmVjdG9yPE93blB0cjxNZWRpYVF1ZXJ5RXhwPiA+ID4g
bV9mbG9hdGluZ01lZGlhUXVlcnlFeHBMaXN0OworCisgICAgVmVjdG9yPE93blB0cjxDU1NQYXJz
ZXJTZWxlY3Rvcj4gPiBtX3JldXNhYmxlU2VsZWN0b3JWZWN0b3I7CisKKyAgICAvLyBkZWZpbmVz
IHVuaXRzIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJzZVVuaXQK
KyAgICBlbnVtIFVuaXRzIHsKKyAgICAgICAgRlVua25vd24gICA9IDB4MDAwMCwKKyAgICAgICAg
RkludGVnZXIgICA9IDB4MDAwMSwKKyAgICAgICAgRk51bWJlciAgICA9IDB4MDAwMiwgIC8vIFJl
YWwgTnVtYmVycworICAgICAgICBGUGVyY2VudCAgID0gMHgwMDA0LAorICAgICAgICBGTGVuZ3Ro
ICAgID0gMHgwMDA4LAorICAgICAgICBGQW5nbGUgICAgID0gMHgwMDEwLAorICAgICAgICBGVGlt
ZSAgICAgID0gMHgwMDIwLAorICAgICAgICBGRnJlcXVlbmN5ID0gMHgwMDQwLAorICAgICAgICBG
UmVsYXRpdmUgID0gMHgwMTAwLAorICAgICAgICBGTm9uTmVnICAgID0gMHgwMjAwCiAgICAgfTsK
IAotICAgIFN0cmluZyBxdW90ZUNTU1N0cmluZyhjb25zdCBTdHJpbmcmKTsKLSAgICBTdHJpbmcg
cXVvdGVDU1NTdHJpbmdJZk5lZWRlZChjb25zdCBTdHJpbmcmKTsKLSAgICBTdHJpbmcgcXVvdGVD
U1NVUkxJZk5lZWRlZChjb25zdCBTdHJpbmcmKTsKKyAgICBmcmllbmQgaW5saW5lIFVuaXRzIG9w
ZXJhdG9yfChVbml0cyBhLCBVbml0cyBiKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PFVuaXRzPihzdGF0aWNfY2FzdDx1bnNpZ25lZD4oYSkgfCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oYikpOworICAgIH0KKworICAgIHN0YXRpYyBib29sIHZhbGlkVW5pdChDU1NQYXJzZXJWYWx1
ZSosIFVuaXRzLCBib29sIHN0cmljdCk7CisKKyAgICBQYXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZh
bHVlPiBjcmVhdGVQcmltaXRpdmVOdW1lcmljVmFsdWUoQ1NTUGFyc2VyVmFsdWUqKTsKKyAgICBQ
YXNzUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiBjcmVhdGVQcmltaXRpdmVTdHJpbmdWYWx1ZShD
U1NQYXJzZXJWYWx1ZSopOworCisgICAgZnJpZW5kIGNsYXNzIFRyYW5zZm9ybU9wZXJhdGlvbklu
Zm87Cit9OworCitpbnQgY3NzUHJvcGVydHlJRChjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKK2lu
dCBjc3NQcm9wZXJ0eUlEKGNvbnN0IFN0cmluZyYpOworaW50IGNzc1ZhbHVlS2V5d29yZElEKGNv
bnN0IENTU1BhcnNlclN0cmluZyYpOworCitjbGFzcyBTaG9ydGhhbmRTY29wZSB7CisgICAgV1RG
X01BS0VfRkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgU2hvcnRoYW5kU2NvcGUoQ1NTUGFy
c2VyKiBwYXJzZXIsIGludCBwcm9wSWQpIDogbV9wYXJzZXIocGFyc2VyKQorICAgIHsKKyAgICAg
ICAgaWYgKCEobV9wYXJzZXItPm1faW5QYXJzZVNob3J0aGFuZCsrKSkKKyAgICAgICAgICAgIG1f
cGFyc2VyLT5tX2N1cnJlbnRTaG9ydGhhbmQgPSBwcm9wSWQ7CisgICAgfQorICAgIH5TaG9ydGhh
bmRTY29wZSgpCisgICAgeworICAgICAgICBpZiAoISgtLW1fcGFyc2VyLT5tX2luUGFyc2VTaG9y
dGhhbmQpKQorICAgICAgICAgICAgbV9wYXJzZXItPm1fY3VycmVudFNob3J0aGFuZCA9IDA7Cisg
ICAgfQorCitwcml2YXRlOgorICAgIENTU1BhcnNlciogbV9wYXJzZXI7Cit9OworCitTdHJpbmcg
cXVvdGVDU1NTdHJpbmcoY29uc3QgU3RyaW5nJik7CitTdHJpbmcgcXVvdGVDU1NTdHJpbmdJZk5l
ZWRlZChjb25zdCBTdHJpbmcmKTsKK1N0cmluZyBxdW90ZUNTU1VSTElmTmVlZGVkKGNvbnN0IFN0
cmluZyYpOwogCi0gICAgYm9vbCBpc1ZhbGlkTnRoVG9rZW4oY29uc3QgQ1NTUGFyc2VyU3RyaW5n
Jik7Citib29sIGlzVmFsaWROdGhUb2tlbihjb25zdCBDU1NQYXJzZXJTdHJpbmcmKTsKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIENTU1BhcnNlcl9oCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkocmV2aXNpb24gOTQyMDYpCisrKyBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtNTgsNiAr
NTgsNyBAQCBib3JkZXItYm90dG9tLXN0eWxlCiBib3JkZXItYm90dG9tLXdpZHRoCiBib3JkZXIt
Y29sbGFwc2UKIGJvcmRlci1jb2xvcgorYm9yZGVyLWltYWdlLXNsaWNlCiBib3JkZXItaW1hZ2Ut
c291cmNlCiBib3JkZXItbGVmdAogYm9yZGVyLWxlZnQtY29sb3IKQEAgLTI3OSw2ICsyODAsNyBA
QCB6LWluZGV4CiAtd2Via2l0LW1hc2sKIC13ZWJraXQtbWFzay1hdHRhY2htZW50CiAtd2Via2l0
LW1hc2stYm94LWltYWdlCistd2Via2l0LW1hc2stYm94LWltYWdlLXNsaWNlCiAtd2Via2l0LW1h
c2stYm94LWltYWdlLXNvdXJjZQogLXdlYmtpdC1tYXNrLWNsaXAKIC13ZWJraXQtbWFzay1jb21w
b3NpdGUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAJKHJldmlz
aW9uIDk0MjA2KQorKysgU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC00MzI4LDYgKzQzMjgsMjQgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9y
OjphcHBseVByb3BlcnR5KGludAogICAgICAgICAgICAgbV9zdHlsZS0+c2V0TWFza0JveEltYWdl
KGltYWdlKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KKyAgICBjYXNlIENTU1Byb3BlcnR5Qm9y
ZGVySW1hZ2VTbGljZToKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza0JveEltYWdlU2xp
Y2U6IHsKKyAgICAgICAgYm9vbCBpc0JvcmRlckltYWdlID0gaWQgPT0gQ1NTUHJvcGVydHlCb3Jk
ZXJJbWFnZVNsaWNlOworICAgICAgICBOaW5lUGllY2VJbWFnZSBpbWFnZShpc0JvcmRlckltYWdl
ID8gbV9zdHlsZS0+Ym9yZGVySW1hZ2UoKSA6IG1fc3R5bGUtPm1hc2tCb3hJbWFnZSgpKTsKKyAg
ICAgICAgaWYgKGlzSW5oZXJpdCkKKyAgICAgICAgICAgIGltYWdlLmNvcHlTbGljZXNGcm9tKGlz
Qm9yZGVySW1hZ2UgPyBtX3BhcmVudFN0eWxlLT5ib3JkZXJJbWFnZSgpIDogbV9wYXJlbnRTdHls
ZS0+bWFza0JveEltYWdlKCkpOworICAgICAgICBlbHNlIGlmIChpc0luaXRpYWwpIHsKKyAgICAg
ICAgICAgIGltYWdlLnNldFNsaWNlcyhMZW5ndGhCb3goTGVuZ3RoKDEwMCwgUGVyY2VudCksIExl
bmd0aCgxMDAsIFBlcmNlbnQpLCBMZW5ndGgoMTAwLCBQZXJjZW50KSwgTGVuZ3RoKDEwMCwgUGVy
Y2VudCkpKTsKKyAgICAgICAgICAgIGltYWdlLnNldEZpbGwoZmFsc2UpOworICAgICAgICB9IGVs
c2UKKyAgICAgICAgICAgIG1hcE5pbmVQaWVjZUltYWdlU2xpY2UodmFsdWUsIGltYWdlKTsKKyAg
ICAgICAgCisgICAgICAgIGlmIChpc0JvcmRlckltYWdlKQorICAgICAgICAgICAgbV9zdHlsZS0+
c2V0Qm9yZGVySW1hZ2UoaW1hZ2UpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX3N0eWxl
LT5zZXRNYXNrQm94SW1hZ2UoaW1hZ2UpOworICAgICAgICByZXR1cm47CisgICAgfQogICAgIGNh
c2UgQ1NTUHJvcGVydHlJbWFnZVJlbmRlcmluZzoKICAgICAgICAgSEFORExFX0lOSEVSSVRfQU5E
X0lOSVRJQUxfQU5EX1BSSU1JVElWRShpbWFnZVJlbmRlcmluZywgSW1hZ2VSZW5kZXJpbmcpOwog
ICAgICAgICByZXR1cm47CkBAIC01NjcxLDI2ICs1Njg5LDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVj
dG9yOjptYXBOaW5lUGllY2VJbWFnZQogICAgICAgICBpbWFnZVByb3BlcnR5ID0gcHJvcGVydHk7
CiAgICAgaW1hZ2Uuc2V0SW1hZ2Uoc3R5bGVJbWFnZShpbWFnZVByb3BlcnR5LCBib3JkZXJJbWFn
ZS0+aW1hZ2VWYWx1ZSgpKSk7CiAKLSAgICAvLyBTZXQgdXAgYSBsZW5ndGggYm94IHRvIHJlcHJl
c2VudCBvdXIgaW1hZ2Ugc2xpY2VzLgotICAgIExlbmd0aEJveCBsOwotICAgIFJlY3QqIHIgPSBi
b3JkZXJJbWFnZS0+bV9pbWFnZVNsaWNlUmVjdC5nZXQoKTsKLSAgICBpZiAoci0+dG9wKCktPnBy
aW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCi0gICAg
ICAgIGwubV90b3AgPSBMZW5ndGgoci0+dG9wKCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQp
OwotICAgIGVsc2UKLSAgICAgICAgbC5tX3RvcCA9IExlbmd0aChyLT50b3AoKS0+Z2V0SW50VmFs
dWUoQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19OVU1CRVIpLCBGaXhlZCk7Ci0gICAgaWYgKHItPmJv
dHRvbSgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NTUHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5U
QUdFKQotICAgICAgICBsLm1fYm90dG9tID0gTGVuZ3RoKHItPmJvdHRvbSgpLT5nZXREb3VibGVW
YWx1ZSgpLCBQZXJjZW50KTsKLSAgICBlbHNlCi0gICAgICAgIGwubV9ib3R0b20gPSBMZW5ndGgo
KGludClyLT5ib3R0b20oKS0+Z2V0RmxvYXRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05V
TUJFUiksIEZpeGVkKTsKLSAgICBpZiAoci0+bGVmdCgpLT5wcmltaXRpdmVUeXBlKCkgPT0gQ1NT
UHJpbWl0aXZlVmFsdWU6OkNTU19QRVJDRU5UQUdFKQotICAgICAgICBsLm1fbGVmdCA9IExlbmd0
aChyLT5sZWZ0KCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwotICAgIGVsc2UKLSAgICAg
ICAgbC5tX2xlZnQgPSBMZW5ndGgoci0+bGVmdCgpLT5nZXRJbnRWYWx1ZShDU1NQcmltaXRpdmVW
YWx1ZTo6Q1NTX05VTUJFUiksIEZpeGVkKTsKLSAgICBpZiAoci0+cmlnaHQoKS0+cHJpbWl0aXZl
VHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfUEVSQ0VOVEFHRSkKLSAgICAgICAgbC5t
X3JpZ2h0ID0gTGVuZ3RoKHItPnJpZ2h0KCktPmdldERvdWJsZVZhbHVlKCksIFBlcmNlbnQpOwot
ICAgIGVsc2UKLSAgICAgICAgbC5tX3JpZ2h0ID0gTGVuZ3RoKHItPnJpZ2h0KCktPmdldEludFZh
bHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgRml4ZWQpOwotICAgIGltYWdlLnNl
dFNsaWNlcyhsKTsKKyAgICBtYXBOaW5lUGllY2VJbWFnZVNsaWNlKGJvcmRlckltYWdlLT5tX3Ns
aWNlLmdldCgpLCBpbWFnZSk7CiAKICAgICAvLyBTZXQgdGhlIGFwcHJvcHJpYXRlIHJ1bGVzIGZv
ciBzdHJldGNoL3JvdW5kL3JlcGVhdCBvZiB0aGUgc2xpY2VzCiAgICAgRU5pbmVQaWVjZUltYWdl
UnVsZSBob3Jpem9udGFsUnVsZTsKQEAgLTU3MjIsNiArNTcyMSwzOSBAQCB2b2lkIENTU1N0eWxl
U2VsZWN0b3I6Om1hcE5pbmVQaWVjZUltYWdlCiAgICAgaW1hZ2Uuc2V0VmVydGljYWxSdWxlKHZl
cnRpY2FsUnVsZSk7CiB9CiAKK3ZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bWFwTmluZVBpZWNlSW1h
Z2VTbGljZShDU1NWYWx1ZSogdmFsdWUsIE5pbmVQaWVjZUltYWdlJiBpbWFnZSkKK3sKKyAgICBp
ZiAoIXZhbHVlIHx8ICF2YWx1ZS0+aXNCb3JkZXJJbWFnZVNsaWNlVmFsdWUoKSkKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gUmV0cmlldmUgdGhlIGJvcmRlciBpbWFnZSB2YWx1ZS4KKyAgICBD
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUqIGJvcmRlckltYWdlU2xpY2UgPSBzdGF0aWNfY2FzdDxD
U1NCb3JkZXJJbWFnZVNsaWNlVmFsdWUqPih2YWx1ZSk7CisKKyAgICAvLyBTZXQgdXAgYSBsZW5n
dGggYm94IHRvIHJlcHJlc2VudCBvdXIgaW1hZ2Ugc2xpY2VzLgorICAgIExlbmd0aEJveCBib3g7
CisgICAgUmVjdCogciA9IGJvcmRlckltYWdlU2xpY2UtPm1fcmVjdC5nZXQoKTsKKyAgICBpZiAo
ci0+dG9wKCktPnByaW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNF
TlRBR0UpCisgICAgICAgIGJveC5tX3RvcCA9IExlbmd0aChyLT50b3AoKS0+Z2V0RG91YmxlVmFs
dWUoKSwgUGVyY2VudCk7CisgICAgZWxzZQorICAgICAgICBib3gubV90b3AgPSBMZW5ndGgoci0+
dG9wKCktPmdldEludFZhbHVlKENTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgRml4ZWQp
OworICAgIGlmIChyLT5ib3R0b20oKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZh
bHVlOjpDU1NfUEVSQ0VOVEFHRSkKKyAgICAgICAgYm94Lm1fYm90dG9tID0gTGVuZ3RoKHItPmJv
dHRvbSgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJjZW50KTsKKyAgICBlbHNlCisgICAgICAgIGJv
eC5tX2JvdHRvbSA9IExlbmd0aCgoaW50KXItPmJvdHRvbSgpLT5nZXRGbG9hdFZhbHVlKENTU1By
aW1pdGl2ZVZhbHVlOjpDU1NfTlVNQkVSKSwgRml4ZWQpOworICAgIGlmIChyLT5sZWZ0KCktPnBy
aW1pdGl2ZVR5cGUoKSA9PSBDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1BFUkNFTlRBR0UpCisgICAg
ICAgIGJveC5tX2xlZnQgPSBMZW5ndGgoci0+bGVmdCgpLT5nZXREb3VibGVWYWx1ZSgpLCBQZXJj
ZW50KTsKKyAgICBlbHNlCisgICAgICAgIGJveC5tX2xlZnQgPSBMZW5ndGgoci0+bGVmdCgpLT5n
ZXRJbnRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05VTUJFUiksIEZpeGVkKTsKKyAgICBp
ZiAoci0+cmlnaHQoKS0+cHJpbWl0aXZlVHlwZSgpID09IENTU1ByaW1pdGl2ZVZhbHVlOjpDU1Nf
UEVSQ0VOVEFHRSkKKyAgICAgICAgYm94Lm1fcmlnaHQgPSBMZW5ndGgoci0+cmlnaHQoKS0+Z2V0
RG91YmxlVmFsdWUoKSwgUGVyY2VudCk7CisgICAgZWxzZQorICAgICAgICBib3gubV9yaWdodCA9
IExlbmd0aChyLT5yaWdodCgpLT5nZXRJbnRWYWx1ZShDU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX05V
TUJFUiksIEZpeGVkKTsKKyAgICBpbWFnZS5zZXRTbGljZXMoYm94KTsKKworICAgIC8vIFNldCBv
dXIgZmlsbCBtb2RlLgorICAgIGltYWdlLnNldEZpbGwoYm9yZGVySW1hZ2VTbGljZS0+bV9maWxs
KTsKK30KKwogdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjpjaGVja0ZvclRleHRTaXplQWRqdXN0KCkK
IHsKICAgICBpZiAobV9zdHlsZS0+dGV4dFNpemVBZGp1c3QoKSkKQEAgLTY0MjEsNyArNjQ1Myw3
IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6bG9hZFBlbmRpbmdJbWFnZXMKICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgTmluZVBpZWNlSW1hZ2UmIG1hc2tJbWFnZSA9IHJlZmxlY3Rpb24tPm1h
c2soKTsKICAgICAgICAgICAgICAgICAgICAgaWYgKG1hc2tJbWFnZS5pbWFnZSgpICYmIG1hc2tJ
bWFnZS5pbWFnZSgpLT5pc1BlbmRpbmdJbWFnZSgpKSB7CiAgICAgICAgICAgICAgICAgICAgICAg
ICBDU1NJbWFnZVZhbHVlKiBpbWFnZVZhbHVlID0gc3RhdGljX2Nhc3Q8U3R5bGVQZW5kaW5nSW1h
Z2UqPihtYXNrSW1hZ2UuaW1hZ2UoKSktPmNzc0ltYWdlVmFsdWUoKTsKLSAgICAgICAgICAgICAg
ICAgICAgICAgIHJlZmxlY3Rpb24tPnNldE1hc2soTmluZVBpZWNlSW1hZ2UoaW1hZ2VWYWx1ZS0+
Y2FjaGVkSW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2FkZXIpLCBtYXNrSW1hZ2Uuc2xpY2VzKCksIG1h
c2tJbWFnZS5ob3Jpem9udGFsUnVsZSgpLCBtYXNrSW1hZ2UudmVydGljYWxSdWxlKCkpKTsKKyAg
ICAgICAgICAgICAgICAgICAgICAgIHJlZmxlY3Rpb24tPnNldE1hc2soTmluZVBpZWNlSW1hZ2Uo
aW1hZ2VWYWx1ZS0+Y2FjaGVkSW1hZ2UoY2FjaGVkUmVzb3VyY2VMb2FkZXIpLCBtYXNrSW1hZ2Uu
c2xpY2VzKCksIG1hc2tJbWFnZS5maWxsKCksIG1hc2tJbWFnZS5ob3Jpem9udGFsUnVsZSgpLCBt
YXNrSW1hZ2UudmVydGljYWxSdWxlKCkpKTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg
ICAgICAgICAgIH0KICAgICAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaAkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0zMzAsNyArMzMwLDggQEAg
cHVibGljOgogICAgICAgICB2b2lkIG1hcEFuaW1hdGlvblRpbWluZ0Z1bmN0aW9uKEFuaW1hdGlv
biosIENTU1ZhbHVlKik7CiAKICAgICAgICAgdm9pZCBtYXBOaW5lUGllY2VJbWFnZShDU1NQcm9w
ZXJ0eUlELCBDU1NWYWx1ZSosIE5pbmVQaWVjZUltYWdlJik7Ci0gICAgICAgIAorICAgICAgICB2
b2lkIG1hcE5pbmVQaWVjZUltYWdlU2xpY2UoQ1NTVmFsdWUqLCBOaW5lUGllY2VJbWFnZSYpOwor
ICAgIAogICAgICAgICBib29sIGNhblNoYXJlU3R5bGVXaXRoQ29udHJvbChTdHlsZWRFbGVtZW50
KikgY29uc3Q7CiAKICAgICAgICAgdm9pZCBhcHBseVByb3BlcnR5KGludCBpZCwgQ1NTVmFsdWUq
KTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCShyZXZpc2lvbiA5NDIwNSkKKysrIFNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NWYWx1ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC01Myw2ICs1Myw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgaXNNdXRhYmxlVmFsdWUoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCiAgICAgdmlydHVhbCBib29sIGlzQm9yZGVySW1hZ2VWYWx1ZSgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CisgICAgdmlydHVhbCBib29sIGlzQm9yZGVySW1hZ2VTbGljZVZhbHVl
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNDdXJzb3JJbWFn
ZVZhbHVlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICNpZiBFTkFCTEUoQ1NTM19GTEVYQk9Y
KQogICAgIHZpcnR1YWwgYm9vbCBpc0ZsZXhWYWx1ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9i
amVjdC5jcHAJKHJldmlzaW9uIDk0MjA1KQorKysgU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveE1vZGVsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTg5LDcgKzk4OSw3IEBA
IGJvb2wgUmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50TmluZVBpZWMKICAgICBib29sIGRyYXdU
b3AgPSB0b3BTbGljZSA+IDAgJiYgdG9wV2lkdGggPiAwOwogICAgIGJvb2wgZHJhd1JpZ2h0ID0g
cmlnaHRTbGljZSA+IDAgJiYgcmlnaHRXaWR0aCA+IDA7CiAgICAgYm9vbCBkcmF3Qm90dG9tID0g
Ym90dG9tU2xpY2UgPiAwICYmIGJvdHRvbVdpZHRoID4gMDsKLSAgICBib29sIGRyYXdNaWRkbGUg
PSAoaW1hZ2VXaWR0aCAtIGxlZnRTbGljZSAtIHJpZ2h0U2xpY2UpID4gMCAmJiAocmVjdC53aWR0
aCgpIC0gbGVmdFdpZHRoIC0gcmlnaHRXaWR0aCkgPiAwCisgICAgYm9vbCBkcmF3TWlkZGxlID0g
bmluZVBpZWNlSW1hZ2UuZmlsbCgpICYmIChpbWFnZVdpZHRoIC0gbGVmdFNsaWNlIC0gcmlnaHRT
bGljZSkgPiAwICYmIChyZWN0LndpZHRoKCkgLSBsZWZ0V2lkdGggLSByaWdodFdpZHRoKSA+IDAK
ICAgICAgICAgICAgICAgICAgICAgICAmJiAoaW1hZ2VIZWlnaHQgLSB0b3BTbGljZSAtIGJvdHRv
bVNsaWNlKSA+IDAgJiYgKHJlY3QuaGVpZ2h0KCkgLSB0b3BXaWR0aCAtIGJvdHRvbVdpZHRoKSA+
IDA7CiAKICAgICBSZWZQdHI8SW1hZ2U+IGltYWdlID0gc3R5bGVJbWFnZS0+aW1hZ2UodGhpcywg
aW1hZ2VTaXplKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5lUGll
Y2VJbWFnZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxl
L05pbmVQaWVjZUltYWdlLmNwcAkocmV2aXNpb24gOTQyMDUpCisrKyBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvc3R5bGUvTmluZVBpZWNlSW1hZ2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw4
ICsyOCw4IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogYm9vbCBOaW5lUGllY2VJbWFnZTo6b3Bl
cmF0b3I9PShjb25zdCBOaW5lUGllY2VJbWFnZSYgbykgY29uc3QKIHsKLSAgICByZXR1cm4gU3R5
bGVJbWFnZTo6aW1hZ2VzRXF1aXZhbGVudChtX2ltYWdlLmdldCgpLCBvLm1faW1hZ2UuZ2V0KCkp
ICYmIG1fc2xpY2VzID09IG8ubV9zbGljZXMgJiYgbV9ob3Jpem9udGFsUnVsZSA9PSBvLm1faG9y
aXpvbnRhbFJ1bGUgJiYKLSAgICAgICAgICAgbV92ZXJ0aWNhbFJ1bGUgPT0gby5tX3ZlcnRpY2Fs
UnVsZTsKKyAgICByZXR1cm4gU3R5bGVJbWFnZTo6aW1hZ2VzRXF1aXZhbGVudChtX2ltYWdlLmdl
dCgpLCBvLm1faW1hZ2UuZ2V0KCkpICYmIG1fc2xpY2VzID09IG8ubV9zbGljZXMgJiYgbV9maWxs
ID09IG8ubV9maWxsCisgICAgICAgICAgICYmIG1faG9yaXpvbnRhbFJ1bGUgPT0gby5tX2hvcml6
b250YWxSdWxlICYmIG1fdmVydGljYWxSdWxlID09IG8ubV92ZXJ0aWNhbFJ1bGU7CiB9CiAKIH0K
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFnZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9OaW5lUGllY2VJbWFn
ZS5oCShyZXZpc2lvbiA5NDIwNikKKysrIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9O
aW5lUGllY2VJbWFnZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0zNywxNCArMzcsMTcgQEAgY2xhc3Mg
TmluZVBpZWNlSW1hZ2UgewogcHVibGljOgogICAgIE5pbmVQaWVjZUltYWdlKCkKICAgICAgICAg
OiBtX2ltYWdlKDApCisgICAgICAgICwgbV9zbGljZXMoTGVuZ3RoKDEwMCwgUGVyY2VudCksIExl
bmd0aCgxMDAsIFBlcmNlbnQpLCBMZW5ndGgoMTAwLCBQZXJjZW50KSwgTGVuZ3RoKDEwMCwgUGVy
Y2VudCkpCisgICAgICAgICwgbV9maWxsKGZhbHNlKQogICAgICAgICAsIG1faG9yaXpvbnRhbFJ1
bGUoU3RyZXRjaEltYWdlUnVsZSkKICAgICAgICAgLCBtX3ZlcnRpY2FsUnVsZShTdHJldGNoSW1h
Z2VSdWxlKQogICAgIHsKICAgICB9CiAKLSAgICBOaW5lUGllY2VJbWFnZShTdHlsZUltYWdlKiBp
bWFnZSwgTGVuZ3RoQm94IHNsaWNlcywgRU5pbmVQaWVjZUltYWdlUnVsZSBoLCBFTmluZVBpZWNl
SW1hZ2VSdWxlIHYpIAorICAgIE5pbmVQaWVjZUltYWdlKFN0eWxlSW1hZ2UqIGltYWdlLCBMZW5n
dGhCb3ggc2xpY2VzLCBib29sIGZpbGwsIEVOaW5lUGllY2VJbWFnZVJ1bGUgaCwgRU5pbmVQaWVj
ZUltYWdlUnVsZSB2KSAKICAgICAgIDogbV9pbWFnZShpbWFnZSkKICAgICAgICwgbV9zbGljZXMo
c2xpY2VzKQorICAgICAgLCBtX2ZpbGwoZmlsbCkKICAgICAgICwgbV9ob3Jpem9udGFsUnVsZSho
KQogICAgICAgLCBtX3ZlcnRpY2FsUnVsZSh2KQogICAgIHsKQEAgLTYwLDE3ICs2MywyNSBAQCBw
dWJsaWM6CiAgICAgY29uc3QgTGVuZ3RoQm94JiBzbGljZXMoKSBjb25zdCB7IHJldHVybiBtX3Ns
aWNlczsgfQogICAgIHZvaWQgc2V0U2xpY2VzKGNvbnN0IExlbmd0aEJveCYgbCkgeyBtX3NsaWNl
cyA9IGw7IH0KIAorICAgIGJvb2wgZmlsbCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsbDsgfQorICAg
IHZvaWQgc2V0RmlsbChib29sIGZpbGwpIHsgbV9maWxsID0gZmlsbDsgfQorCiAgICAgRU5pbmVQ
aWVjZUltYWdlUnVsZSBob3Jpem9udGFsUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0
PEVOaW5lUGllY2VJbWFnZVJ1bGU+KG1faG9yaXpvbnRhbFJ1bGUpOyB9CiAgICAgdm9pZCBzZXRI
b3Jpem9udGFsUnVsZShFTmluZVBpZWNlSW1hZ2VSdWxlIHJ1bGUpIHsgbV9ob3Jpem9udGFsUnVs
ZSA9IHJ1bGU7IH0KICAgICAKICAgICBFTmluZVBpZWNlSW1hZ2VSdWxlIHZlcnRpY2FsUnVsZSgp
IGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEVOaW5lUGllY2VJbWFnZVJ1bGU+KG1fdmVydGlj
YWxSdWxlKTsgfQogICAgIHZvaWQgc2V0VmVydGljYWxSdWxlKEVOaW5lUGllY2VJbWFnZVJ1bGUg
cnVsZSkgeyBtX3ZlcnRpY2FsUnVsZSA9IHJ1bGU7IH0KIAotZnJpZW5kIGNsYXNzIFJlbmRlclN0
eWxlOworICAgIHZvaWQgY29weVNsaWNlc0Zyb20oY29uc3QgTmluZVBpZWNlSW1hZ2UmIG90aGVy
KQorICAgIHsKKyAgICAgICAgbV9zbGljZXMgPSBvdGhlci5tX3NsaWNlczsKKyAgICAgICAgbV9m
aWxsID0gb3RoZXIubV9maWxsOworICAgIH0KIAogcHJpdmF0ZToKICAgICBSZWZQdHI8U3R5bGVJ
bWFnZT4gbV9pbWFnZTsKICAgICBMZW5ndGhCb3ggbV9zbGljZXM7CisgICAgYm9vbCBtX2ZpbGwg
OiAxOwogICAgIHVuc2lnbmVkIG1faG9yaXpvbnRhbFJ1bGUgOiAyOyAvLyBFTmluZVBpZWNlSW1h
Z2VSdWxlCiAgICAgdW5zaWduZWQgbV92ZXJ0aWNhbFJ1bGUgOiAyOyAvLyBFTmluZVBpZWNlSW1h
Z2VSdWxlCiB9OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gOTQyMzQpCisrKyBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyOCBAQAorMjAxMS0wOC0zMSAgRGF2aWQg
SHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IGJvcmRlci1pbWFn
ZS1zbGljZS4gVGhpcyB3aWxsIGV2ZW50dWFsbHkgYmUgYSBjb21wb25lbnQgb2YgdGhlIG5ldyBi
b3JkZXItaW1hZ2Ugc2hvcnRoYW5kCisgICAgICAgIHByb3BlcnR5LiBJdCBob2xkcyB0aGUgY3V0
cyB0aGF0IHlvdSBtYWtlIGludG8gdGhlIGJvcmRlciBpbWFnZSBhbG9uZyB3aXRoIGEgbmV3IG9w
dGlvbmFsICJmaWxsIgorICAgICAgICBrZXl3b3JkIHRoYXQgaW5kaWNhdGVzIHdoZXRoZXIgb3Ig
bm90IHRoZSBjZW50ZXIgc2hvdWxkIGJlIGZpbGxlZCB3aXRoIHRoZSBtaWRkbGUgc2xpY2Ugb2Yg
dGhlIGltYWdlLgorICAgICAgICAKKyAgICAgICAgQnkgZGVmYXVsdCAtd2Via2l0LWJvcmRlci1p
bWFnZSBoYXMgYWx3YXlzIGZpbGxlZCwgYnV0IHRoaXMgZG9lcyBub3QgbWF0Y2ggdGhlIHNwZWNp
ZmljYXRpb24uIFRvIHByZXNlcnZlCisgICAgICAgIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LCAt
d2Via2l0LWJvcmRlci1pbWFnZSB3aWxsIGNvbnRpbnVlIHRvIGZpbGwgYnkgZGVmYXVsdCwgYnV0
IHRoaXMgZG9lcyBzbGlnaHRseSBhZmZlY3QKKyAgICAgICAgY29tcHV0ZWQgc3R5bGUgcmVzdWx0
cywgc2luY2UgdGhlICJmaWxsIiBrZXl3b3JkIHdpbGwgbm93IGJlIGluY2x1ZGVkIGluIHByb3Bl
cnR5IGR1bXBzLgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIGZhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2xpY2VzLmh0bWwuCisKKyAgICAg
ICAgKiBmYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlcy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdp
dGgtem9vbS1leHBlY3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHls
ZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVkLnR4dDoKKyAgICAgICAg
KiBmYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2dldENvbXB1dGVkU3R5bGUtYm9yZGVyLWltYWdl
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2Nzcy91cmktdG9rZW4tcGFyc2luZy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9jc3MvdXJpLXRva2VuLXBhcnNpbmcuaHRtbDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1pbWFnZS1zbGljZXMtZXhw
ZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2Jv
cmRlci1pbWFnZS1zbGljZXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvY3Nz
L2dldENvbXB1dGVkU3R5bGUtYmFzaWMtZXhwZWN0ZWQudHh0OgorCiAyMDExLTA4LTMxICBDYXJ5
IENsYXJrICA8Y2FyeWNsYXJrQGdvb2dsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZDsgbmV3
IGJhc2VsaW5lcyAoU2tpYSBvbiBNYWMsIG5leHQgY2h1bmsgb2YgODAwIGZpbGVzKQpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9ib3JkZXJzL2JvcmRlci1pbWFnZS1zbGljZXMuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlcy5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9ib3JkZXJzL2JvcmRlci1pbWFnZS1z
bGljZXMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzOSBAQAorPGh0bWw+Cis8aGVhZD4K
KyAgICA8c3R5bGU+CisgICAgICAgIGRpdiB7CisgICAgICAgICAgICBib3JkZXItd2lkdGg6IDIx
cHggMzBweCAzMHB4IDIxcHg7CisgICAgICAgICAgICB3aWR0aDogNzVweDsKKyAgICAgICAgICAg
IGhlaWdodDogNzVweDsKKyAgICAgICAgICAgIG1hcmdpbjogMTBweDsKKyAgICAgICAgICAgIGRp
c3BsYXk6IGlubGluZS1ibG9jazsKKyAgICAgICAgICAgIGJvcmRlci1pbWFnZS1zb3VyY2U6IHVy
bCgicmVzb3VyY2VzL2JvcmRlci1pbWFnZS5wbmciKSAhaW1wb3J0YW50OworICAgICAgICAgICAg
Ym9yZGVyLWltYWdlLXNsaWNlOiAyMSAzMCAzMCAyMSBmaWxsICFpbXBvcnRhbnQ7CisgICAgICAg
IH0KKworICAgICAgICBkaXYucnIgeworICAgICAgICAgICAgLXdlYmtpdC1ib3JkZXItaW1hZ2U6
IG5vbmUgMCAwIDAgMCByZXBlYXQgcmVwZWF0OworICAgICAgICB9CisKKyAgICAgICAgZGl2LnJz
IHsKKyAgICAgICAgICAgIC13ZWJraXQtYm9yZGVyLWltYWdlOiBub25lIDAgMCAwIDAgcmVwZWF0
IHN0cmV0Y2g7CisgICAgICAgIH0KKworICAgICAgICBkaXYuc3IgeworICAgICAgICAgICAgLXdl
YmtpdC1ib3JkZXItaW1hZ2U6IG5vbmUgMCAwIDAgMCBzdHJldGNoIHJlcGVhdDsKKyAgICAgICAg
fQorCisgICAgICAgIGRpdi5zcyB7CisgICAgICAgICAgICAtd2Via2l0LWJvcmRlci1pbWFnZTog
bm9uZSAwIDAgMCAwIHN0cmV0Y2ggc3RyZXRjaDsKKyAgICAgICAgICAgIGJvcmRlci1pbWFnZS1z
bGljZTogMjEgMzAgMzAgMjEgIWltcG9ydGFudDsgLy8gT21pdCAnZmlsbCcgdG8gc2hvdyBhIGhv
bGxvdyBjZW50ZXIuCisgICAgICAgIH0KKyAgICA8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cisg
ICAgPGRpdiBjbGFzcz0icnIiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9InJzIj48L2Rpdj4KKyAg
ICA8YnI+CisgICAgPGRpdiBjbGFzcz0ic3IiPjwvZGl2PgorICAgIDxkaXYgY2xhc3M9InNzIj48
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL3VyaS10
b2tlbi1wYXJzaW5nLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0
L2Nzcy91cmktdG9rZW4tcGFyc2luZy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk0MjA1KQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MvdXJpLXRva2VuLXBhcnNpbmctZXhwZWN0ZWQudHh0CSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMiw4ICsyMiw4IEBAIFJ1bGVzIGZyb20gdGhlIHN0eWxlc2hlZXQ6CiAj
ciB7IGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgndXJsKHIpJyk7IH0KICNzIHsgYmFja2dyb3VuZC1p
bWFnZTogdXJsKCd1cmwocyknKTsgfQogI3QgeyAtd2Via2l0LW1hc2staW1hZ2U6IHVybCgndXJs
KHQpJyk7IH0KLSN1IHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6IHVybCgndXJsKHUpJykgMSAyIDMg
NCBzdHJldGNoIHJvdW5kOyB9Ci0jdiB7IC13ZWJraXQtbWFzay1ib3gtaW1hZ2U6IHVybCgndXJs
KHYpJykgMSAyIDMgNCBzdHJldGNoIHJvdW5kOyB9CisjdSB7IC13ZWJraXQtYm9yZGVyLWltYWdl
OiB1cmwoJ3VybCh1KScpIDEgMiAzIDQgZmlsbCBzdHJldGNoIHJvdW5kOyB9CisjdiB7IC13ZWJr
aXQtbWFzay1ib3gtaW1hZ2U6IHVybCgndXJsKHYpJykgMSAyIDMgNCBmaWxsIHN0cmV0Y2ggcm91
bmQ7IH0KIEV4cGVjdGVkIHJlc3VsdDoKIAogI2EgeyBjb250ZW50OiB1cmwoYyk7IH0KQEAgLTQ0
LDYgKzQ0LDYgQEAgRXhwZWN0ZWQgcmVzdWx0OgogI3IgeyBsaXN0LXN0eWxlLWltYWdlOiB1cmwo
J3VybChyKScpOyB9CiAjcyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgndXJsKHMpJyk7IH0KICN0
IHsgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJ3VybCh0KScpOyB9Ci0jdSB7IC13ZWJraXQtYm9y
ZGVyLWltYWdlOiB1cmwoJ3VybCh1KScpIDEgMiAzIDQgc3RyZXRjaCByb3VuZDsgfQotI3YgeyAt
d2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwoJ3VybCh2KScpIDEgMiAzIDQgc3RyZXRjaCByb3Vu
ZDsgfQorI3UgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogdXJsKCd1cmwodSknKSAxIDIgMyA0IGZp
bGwgc3RyZXRjaCByb3VuZDsgfQorI3YgeyAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwoJ3Vy
bCh2KScpIDEgMiAzIDQgZmlsbCBzdHJldGNoIHJvdW5kOyB9CiAKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvY3NzL3VyaS10b2tlbi1wYXJzaW5nLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZmFzdC9jc3MvdXJpLXRva2VuLXBhcnNpbmcuaHRtbAkocmV2aXNpb24gOTQyMDUpCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2Nzcy91cmktdG9rZW4tcGFyc2luZy5odG1sCSh3b3JraW5nIGNvcHkp
CkBAIC0xOCw4ICsxOCw4IEBACiAjciB7IGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgidXJsKHIpIik7
IH0KICNzIHsgYmFja2dyb3VuZC1pbWFnZTogdXJsKCJ1cmwocykiKTsgfQogI3QgeyAtd2Via2l0
LW1hc2staW1hZ2U6IHVybCgidXJsKHQpIik7IH0KLSN1IHsgLXdlYmtpdC1ib3JkZXItaW1hZ2U6
IHVybCgidXJsKHUpIikgMSAyIDMgNCBzdHJldGNoIHJvdW5kOyB9Ci0jdiB7IC13ZWJraXQtbWFz
ay1ib3gtaW1hZ2U6IHVybCgidXJsKHYpIikgMSAyIDMgNCBzdHJldGNoIHJvdW5kOyB9CisjdSB7
IC13ZWJraXQtYm9yZGVyLWltYWdlOiB1cmwoInVybCh1KSIpIDEgMiAzIDQgZmlsbCBzdHJldGNo
IHJvdW5kOyB9CisjdiB7IC13ZWJraXQtbWFzay1ib3gtaW1hZ2U6IHVybCgidXJsKHYpIikgMSAy
IDMgNCBmaWxsIHN0cmV0Y2ggcm91bmQ7IH0KIDwvc3R5bGU+CiAKIDxzY3JpcHQ+CkBAIC05Miw4
ICs5Miw4IEBAIGZ1bmN0aW9uIHJ1blRlc3QoKQogI3IgeyBsaXN0LXN0eWxlLWltYWdlOiB1cmwo
J3VybChyKScpOyB9CiAjcyB7IGJhY2tncm91bmQtaW1hZ2U6IHVybCgndXJsKHMpJyk7IH0KICN0
IHsgLXdlYmtpdC1tYXNrLWltYWdlOiB1cmwoJ3VybCh0KScpOyB9Ci0jdSB7IC13ZWJraXQtYm9y
ZGVyLWltYWdlOiB1cmwoJ3VybCh1KScpIDEgMiAzIDQgc3RyZXRjaCByb3VuZDsgfQotI3YgeyAt
d2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwoJ3VybCh2KScpIDEgMiAzIDQgc3RyZXRjaCByb3Vu
ZDsgfQorI3UgeyAtd2Via2l0LWJvcmRlci1pbWFnZTogdXJsKCd1cmwodSknKSAxIDIgMyA0IGZp
bGwgc3RyZXRjaCByb3VuZDsgfQorI3YgeyAtd2Via2l0LW1hc2stYm94LWltYWdlOiB1cmwoJ3Vy
bCh2KScpIDEgMiAzIDQgZmlsbCBzdHJldGNoIHJvdW5kOyB9CiA8L3ByZT4KIAogPHNjcmlwdD4K
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5
bGUtZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENv
bXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5NDIwNikK
KysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQtc3R5bGUt
ZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xNCw2ICsxNCw3IEBAIGJvcmRlci1ib3R0
b20tcmlnaHQtcmFkaXVzOiAwcHg7CiBib3JkZXItYm90dG9tLXN0eWxlOiBub25lOwogYm9yZGVy
LWJvdHRvbS13aWR0aDogMHB4OwogYm9yZGVyLWNvbGxhcHNlOiBzZXBhcmF0ZTsKK2JvcmRlci1p
bWFnZS1zbGljZTogMTAwJTsKIGJvcmRlci1pbWFnZS1zb3VyY2U6IG5vbmU7CiBib3JkZXItbGVm
dC1jb2xvcjogcmdiKDAsIDAsIDApOwogYm9yZGVyLWxlZnQtc3R5bGU6IG5vbmU7CkBAIC0xNTUs
NiArMTU2LDcgQEAgem9vbTogMTsKIC13ZWJraXQtbWFycXVlZS1zdHlsZTogc2Nyb2xsOwogLXdl
YmtpdC1tYXNrLWF0dGFjaG1lbnQ6IHNjcm9sbDsKIC13ZWJraXQtbWFzay1ib3gtaW1hZ2U6IG5v
bmU7Cistd2Via2l0LW1hc2stYm94LWltYWdlLXNsaWNlOiAxMDAlOwogLXdlYmtpdC1tYXNrLWJv
eC1pbWFnZS1zb3VyY2U6IG5vbmU7CiAtd2Via2l0LW1hc2stY2xpcDogYm9yZGVyLWJveDsKIC13
ZWJraXQtbWFzay1jb21wb3NpdGU6IHNvdXJjZS1vdmVyOwpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRoLXpvb20tZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUv
Y29tcHV0ZWQtc3R5bGUtd2l0aC16b29tLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gOTQyMDUpCisr
KyBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxlL2NvbXB1dGVkLXN0eWxlLXdp
dGgtem9vbS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTUsNyArNSw3IEBAIE9uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEEKIAogUEFTUyAtd2Via2l0LWJvcmRl
ci1ob3Jpem9udGFsLXNwYWNpbmcsIHZhbHVlOiAiMjBweCIKIFBBU1MgLXdlYmtpdC1ib3JkZXIt
dmVydGljYWwtc3BhY2luZywgdmFsdWU6ICIyMHB4IgotUEFTUyAtd2Via2l0LWJveC1yZWZsZWN0
LCB2YWx1ZTogImJlbG93IDIwcHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAlIDAlLCAwJSAx
MDAlLCBmcm9tKHRyYW5zcGFyZW50KSwgdG8od2hpdGUpKSAwIDAgMCAwIHN0cmV0Y2ggc3RyZXRj
aCIKK1BBU1MgLXdlYmtpdC1ib3gtcmVmbGVjdCwgdmFsdWU6ICJiZWxvdyAyMHB4IC13ZWJraXQt
Z3JhZGllbnQobGluZWFyLCAwJSAwJSwgMCUgMTAwJSwgZnJvbSh0cmFuc3BhcmVudCksIHRvKHdo
aXRlKSkgMCBmaWxsIHN0cmV0Y2ggc3RyZXRjaCIKIFBBU1MgLXdlYmtpdC1ib3gtc2hhZG93LCB2
YWx1ZTogInJnYigyNTUsIDAsIDApIDIwcHggMjBweCAyMHB4IDIwcHgiCiBQQVNTIC13ZWJraXQt
Y29sdW1uLXJ1bGUtd2lkdGgsIHZhbHVlOiAiMjBweCIKIFBBU1MgLXdlYmtpdC1wZXJzcGVjdGl2
ZS1vcmlnaW4sIHZhbHVlOiAiMjBweCAyMHB4IgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS9jb21wdXRlZC1zdHlsZS13aXRob3V0LXJlbmRlcmVyLWV4cGVjdGVk
LnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Nzcy9nZXRDb21wdXRlZFN0eWxl
L2NvbXB1dGVkLXN0eWxlLXdpdGhvdXQtcmVuZGVyZXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
NDIwNikKKysrIExheW91dFRlc3RzL2Zhc3QvY3NzL2dldENvbXB1dGVkU3R5bGUvY29tcHV0ZWQt
c3R5bGUtd2l0aG91dC1yZW5kZXJlci1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTEz
LDYgKzEzLDcgQEAgQ29tcHV0ZWQgc3R5bGUgb2YgYW4gZWxlbWVudCB3aG9zZSBwYXJlbgogICAg
IGJvcmRlci1ib3R0b20tc3R5bGU6IG5vbmUKICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwcHgK
ICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlCisgICAgYm9yZGVyLWltYWdlLXNsaWNlOiAx
MDAlCiAgICAgYm9yZGVyLWltYWdlLXNvdXJjZTogbm9uZQogICAgIGJvcmRlci1sZWZ0LWNvbG9y
OiByZ2IoMCwgMCwgMCkKICAgICBib3JkZXItbGVmdC1zdHlsZTogbm9uZQpAQCAtMTU0LDYgKzE1
NSw3IEBAIENvbXB1dGVkIHN0eWxlIG9mIGFuIGVsZW1lbnQgd2hvc2UgcGFyZW4KICAgICAtd2Vi
a2l0LW1hcnF1ZWUtc3R5bGU6IHNjcm9sbAogICAgIC13ZWJraXQtbWFzay1hdHRhY2htZW50OiBz
Y3JvbGwKICAgICAtd2Via2l0LW1hc2stYm94LWltYWdlOiBub25lCisgICAgLXdlYmtpdC1tYXNr
LWJveC1pbWFnZS1zbGljZTogMTAwJQogICAgIC13ZWJraXQtbWFzay1ib3gtaW1hZ2Utc291cmNl
OiBub25lCiAgICAgLXdlYmtpdC1tYXNrLWNsaXA6IGJvcmRlci1ib3gKICAgICAtd2Via2l0LW1h
c2stY29tcG9zaXRlOiBzb3VyY2Utb3ZlcgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0
Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxlLWJvcmRlci1pbWFnZS1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRD
b21wdXRlZFN0eWxlLWJvcmRlci1pbWFnZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDk0MjA1KQor
KysgTGF5b3V0VGVzdHMvZmFzdC9jc3MvZ2V0Q29tcHV0ZWRTdHlsZS9nZXRDb21wdXRlZFN0eWxl
LWJvcmRlci1pbWFnZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTcsMTEgKzcsMTEg
QEAgVGVzdCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZQogCiAtd2Via2l0LWJv
cmRlci1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAyNSAy
NSBzdHJldGNoIHN0cmV0Y2g7CiAgIC13ZWJraXQtYm9yZGVyLWltYWdlCi0gICAgZ2V0UHJvcGVy
dHlWYWx1ZTogICAgLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAyNSAy
NSBzdHJldGNoIHN0cmV0Y2gKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICAtd2Via2l0LWdyYWRp
ZW50KGxpbmVhciwgMCAwLCAwIDApIDI1IGZpbGwgc3RyZXRjaCBzdHJldGNoCiAgICAgZ2V0UHJv
cGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0KIAogLXdlYmtpdC1ib3JkZXItaW1hZ2U6
IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMCkgNTAgcmVwZWF0OwogICAtd2Via2l0
LWJvcmRlci1pbWFnZQotICAgIGdldFByb3BlcnR5VmFsdWU6ICAgIC13ZWJraXQtZ3JhZGllbnQo
bGluZWFyLCAwIDAsIDAgMCkgNTAgNTAgNTAgNTAgcmVwZWF0IHJlcGVhdAorICAgIGdldFByb3Bl
cnR5VmFsdWU6ICAgIC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDAgMCkgNTAgZmlsbCBy
ZXBlYXQgcmVwZWF0CiAgICAgZ2V0UHJvcGVydHlDU1NWYWx1ZTogW29iamVjdCBDU1NWYWx1ZV0K
IApJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9yZWZsZWN0aW9ucy9yZWZsZWN0aW9uLWNvbXB1dGVk
LXN0eWxlLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L3JlZmxl
Y3Rpb25zL3JlZmxlY3Rpb24tY29tcHV0ZWQtc3R5bGUtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5
NDIwNSkKKysrIExheW91dFRlc3RzL2Zhc3QvcmVmbGVjdGlvbnMvcmVmbGVjdGlvbi1jb21wdXRl
ZC1zdHlsZS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTE3LDYgKzE3LDYgQEAgVGVz
dCBjYWxsaW5nIGdldFByb3BlcnR5VmFsdWUgb24gY29tcHV0ZQogCiAtd2Via2l0LWJveC1yZWZs
ZWN0OiBiZWxvdyA1cHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSAyNSAy
NSAyNSBzdHJldGNoIHN0cmV0Y2g7CiAgIC13ZWJraXQtYm94LXJlZmxlY3QKLSAgICBnZXRQcm9w
ZXJ0eVZhbHVlOiAgICBiZWxvdyA1cHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAw
KSAyNSAyNSAyNSAyNSBzdHJldGNoIHN0cmV0Y2gKKyAgICBnZXRQcm9wZXJ0eVZhbHVlOiAgICBi
ZWxvdyA1cHggLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIDAgMCwgMCAwKSAyNSBmaWxsIHN0cmV0
Y2ggc3RyZXRjaAogICAgIGdldFByb3BlcnR5Q1NTVmFsdWU6IFtvYmplY3QgQ1NTVmFsdWVdCiAK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdl
LXNsaWNlcy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2xpY2VzLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2JvcmRlcnMvYm9yZGVyLWlt
YWdlLXNsaWNlcy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTcgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgxMCwxMCkgc2l6ZSAxMjZ4MTI2
IFtib3JkZXI6ICgyMXB4IG5vbmUgIzAwMDAwMCkgKDMwcHggbm9uZSAjMDAwMDAwKSAoMjFweCBu
b25lICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNDYsMTMyKSBzaXpl
IDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDE0NiwxMzIpIHdpZHRoIDQ6ICIgIgorICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDE2MCwxMCkgc2l6ZSAxMjZ4MTI2IFtib3JkZXI6ICgyMXB4
IG5vbmUgIzAwMDAwMCkgKDMwcHggbm9uZSAjMDAwMDAwKSAoMjFweCBub25lICMwMDAwMDApXQor
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyOTYsMTMyKSBzaXplIDR4MTgKKyAgICAgICAg
dGV4dCBydW4gYXQgKDI5NiwxMzIpIHdpZHRoIDQ6ICIgIgorICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDEwLDE2MCkgc2l6
ZSAxMjZ4MTI2IFtib3JkZXI6ICgyMXB4IG5vbmUgIzAwMDAwMCkgKDMwcHggbm9uZSAjMDAwMDAw
KSAoMjFweCBub25lICMwMDAwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxNDYs
MjgyKSBzaXplIDR4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDE0NiwyODIpIHdpZHRoIDQ6ICIg
IgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDE2MCwxNjApIHNpemUgMTI2eDEyNiBbYm9y
ZGVyOiAoMjFweCBub25lICMwMDAwMDApICgzMHB4IG5vbmUgIzAwMDAwMCkgKDIxcHggbm9uZSAj
MDAwMDAwKV0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApJbmRl
eDogTGF5b3V0VGVzdHMvc3ZnL2Nzcy9nZXRDb21wdXRlZFN0eWxlLWJhc2ljLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3NzL2dldENvbXB1dGVkU3R5bGUtYmFz
aWMtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA5NDIwNikKKysrIExheW91dFRlc3RzL3N2Zy9jc3Mv
Z2V0Q29tcHV0ZWRTdHlsZS1iYXNpYy1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTI2
LDYgKzI2LDggQEAgcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZShib3JkZXItYm90dAogcmVj
dDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShib3JkZXItYm90dG9tLXdpZHRoKSA6IFtvYmpl
Y3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRl
ci1jb2xsYXBzZSkgOiBzZXBhcmF0ZQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShi
b3JkZXItY29sbGFwc2UpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0eWxl
LmdldFByb3BlcnR5VmFsdWUoYm9yZGVyLWltYWdlLXNsaWNlKSA6IDEwMCUKK3JlY3Q6IHN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoYm9yZGVyLWltYWdlLXNsaWNlKSA6IFtvYmplY3QgQ1NTVmFs
dWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRlci1pbWFnZS1zb3VyY2UpIDog
bm9uZQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShib3JkZXItaW1hZ2Utc291cmNl
KSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eVZh
bHVlKGJvcmRlci1sZWZ0LWNvbG9yKSA6IHJnYigwLCAwLCAwKQpAQCAtMzA4LDYgKzMxMCw4IEBA
IHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXMKIHJlY3Q6IHN0eWxlLmdl
dFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1tYXNrLWF0dGFjaG1lbnQpIDogW29iamVjdCBDU1NQ
cmltaXRpdmVWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNr
LWJveC1pbWFnZSkgOiBub25lCiByZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJr
aXQtbWFzay1ib3gtaW1hZ2UpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK3JlY3Q6IHN0
eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zbGljZSkgOiAxMDAl
CityZWN0OiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtbWFzay1ib3gtaW1hZ2Ut
c2xpY2UpIDogW29iamVjdCBDU1NWYWx1ZV0KIHJlY3Q6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUo
LXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zb3VyY2UpIDogbm9uZQogcmVjdDogc3R5bGUuZ2V0UHJv
cGVydHlDU1NWYWx1ZSgtd2Via2l0LW1hc2stYm94LWltYWdlLXNvdXJjZSkgOiBbb2JqZWN0IENT
U1ByaW1pdGl2ZVZhbHVlXQogcmVjdDogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LW1h
c2stY2xpcCkgOiBib3JkZXItYm94CkBAIC00ODgsNiArNDkyLDggQEAgZzogc3R5bGUuZ2V0UHJv
cGVydHlWYWx1ZShib3JkZXItYm90dG9tLQogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShi
b3JkZXItYm90dG9tLXdpZHRoKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBzdHls
ZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRlci1jb2xsYXBzZSkgOiBzZXBhcmF0ZQogZzogc3R5bGUu
Z2V0UHJvcGVydHlDU1NWYWx1ZShib3JkZXItY29sbGFwc2UpIDogW29iamVjdCBDU1NQcmltaXRp
dmVWYWx1ZV0KK2c6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoYm9yZGVyLWltYWdlLXNsaWNlKSA6
IDEwMCUKK2c6IHN0eWxlLmdldFByb3BlcnR5Q1NTVmFsdWUoYm9yZGVyLWltYWdlLXNsaWNlKSA6
IFtvYmplY3QgQ1NTVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKGJvcmRlci1pbWFn
ZS1zb3VyY2UpIDogbm9uZQogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZShib3JkZXItaW1h
Z2Utc291cmNlKSA6IFtvYmplY3QgQ1NTUHJpbWl0aXZlVmFsdWVdCiBnOiBzdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKGJvcmRlci1sZWZ0LWNvbG9yKSA6IHJnYigwLCAwLCAwKQpAQCAtNzcwLDYgKzc3
Niw4IEBAIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNrLWEKIGc6IHN0eWxl
LmdldFByb3BlcnR5Q1NTVmFsdWUoLXdlYmtpdC1tYXNrLWF0dGFjaG1lbnQpIDogW29iamVjdCBD
U1NQcmltaXRpdmVWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNr
LWJveC1pbWFnZSkgOiBub25lCiBnOiBzdHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQt
bWFzay1ib3gtaW1hZ2UpIDogW29iamVjdCBDU1NQcmltaXRpdmVWYWx1ZV0KK2c6IHN0eWxlLmdl
dFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNrLWJveC1pbWFnZS1zbGljZSkgOiAxMDAlCitnOiBz
dHlsZS5nZXRQcm9wZXJ0eUNTU1ZhbHVlKC13ZWJraXQtbWFzay1ib3gtaW1hZ2Utc2xpY2UpIDog
W29iamVjdCBDU1NWYWx1ZV0KIGc6IHN0eWxlLmdldFByb3BlcnR5VmFsdWUoLXdlYmtpdC1tYXNr
LWJveC1pbWFnZS1zb3VyY2UpIDogbm9uZQogZzogc3R5bGUuZ2V0UHJvcGVydHlDU1NWYWx1ZSgt
d2Via2l0LW1hc2stYm94LWltYWdlLXNvdXJjZSkgOiBbb2JqZWN0IENTU1ByaW1pdGl2ZVZhbHVl
XQogZzogc3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgtd2Via2l0LW1hc2stY2xpcCkgOiBib3JkZXIt
Ym94CkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9ib3JkZXJzL2JvcmRlci1p
bWFnZS1zbGljZXMtZXhwZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUg
bWFya2VkIGFzIGEgYmluYXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3Rl
dC1zdHJlYW0KClByb3BlcnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9m
YXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNsaWNlcy1leHBlY3RlZC5wbmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBQUtYUkZXSFJqYUdWamEz
TjFiUUF6TVRRellXUTQKWVRBME56azVPVE5rTjJWbVlUVmpZMlprTURJM1lqUTFNU0t5Q1FVQUFB
TWVhVU5EVUVsRFF5QlFjbTltYVd4bEFBQjRBWVZVMzJ2VApVQlQrMm1XZHNPR0xPbWNSQ1Q1b2tX
NWtVM1JEbkxaclY3ck5XdW8ydHlGSW02WnRYSnJHSk8xK3NBZlppMjg2eFhmeEJ6NzVCd3paCmcy
OTdrZzNHRkdINHJJZ2lUUFlpczU2Yk5FMG5Vd081OTd2ZitlNDVKK2ZrWHFENWNWclRGQzhQRkZW
VFQ4WEMvTVRrRk4veUFWNGMKUXl2OGFFMkxoaFpLSmtkQUQ5T3llZSt6OHc0ZXhteDA3bS9mcS81
ajFacVZEQkh3SENDK2xEWEVJdUZab0dsYzFIUVQ0TmFKNzUweApOY0xOVEhOWXB3UUpIMmM0YjJP
QjRZeU5JNVptTkRWQW1nbkNCOFZDT2t1NFFEaVlhZUR6RGRqT2dSVGtKeWFwa2k2TFBLdEZVaS9s
ClpFV3lEUGJ3SDNPRDhsK3dxSlRwbTYzbkVJMXRtaGxPMFh5SzNoODVmWENNNWdEVndUOWZHTDFC
dUoxd1dEYmpvelYrUXMwa3JoRW0KdmVmdWRHbVk3V1dhbDFrcEVpVWNKTHhpVks0emJHbm1Dd09K
bXViVDdmUlFrckNmTkw4ME0xbno0KzFRbFFUck1jWDE5a3RHOUxxOQoxOXVSa3dmak5UNm5LZFov
UVA2OTkvVnlpdVY1a3ZEcnRCNk4xZlJia2pwVzI5dmt6YVlqdzhSM1VUOERTRUtDamh4a0tPQ1JR
Z3hoCm1tUEVxdmhNRmhraVNxVFNhWFJVZWJJNDFqc29rNWJ0SEVkNHlWOE91RjRXOVZ1eXVQYmcr
NTdkSmRlT3ZCV0Z4YmVqMkZIdHRZSHAKdXJJVG1odC9kV0dsbzI3aE43bmxteHR0cXdzSVVmNks1
YkZJWG1YS1Q0SlIxM1UyNXBCVGwveDFDODh5bE80bGRoSllETHFzOEY3NApLbXdLVDRVWHdwZS8x
TWpPM3EwUnk0QnhMRDZybmxQTnh1d2wwa3pTNjJTNHY0cjFRc1lZK1pBeFExcWR2aVJObklvNTh0
cFFDeWNHCmQ0THI1dUpjTDljSG5ydk1YZUg2dVFpdExuSWpqc0lYOVVWOElmQytNNzQrWDdkdmlH
R24yNzdUWk91ak1WcnJ1OU9SdXFLeGVwU1AKMnlmMlBZNnFFeG15c2I2eGZsWUlLN1NpWTJwS3Mz
UlBBQU1sYlU2WDh3V1Q3eEdFQzN5SXJpMkpqNnRpVjVCUEt3cHZtUXhlbHd4SgpyMGpaTHJBN2or
MER0bFBXWGVacFgzTTU4eXB3NlJ2OXcrc3VOMVVHWGhuQTBYTXVGNkF6ZGVRSnNIeGVMT3NWMng4
OG5yZUFrVHZiClk2MDliV0c2aXo1V3E5dDBMbHNlQWJzUHE5V2Z6NnJWM2Vma2Z3dDRvL3dHcVNN
SzFzS2hYeklBQUNBQVNVUkJWSGdCN04wTmNGelYKbmVmOVgwdmRhbG15WGl5L3kyQWI3SUJ4Z2la
QXFEZ2tZQXhNRGJCWlRDYXdzTml6WlQ5c0RXUnFaa08ybUUxNFVvUFhUbXF6WVN0TApwaVlQYTVL
WllTdmdtakJBSnM1U1l5WVRVQndJNWFtRUVPU05jUktEYmNiR0w3TGxGNzIvOXZNL3Q3dWx0aXda
WGQzYnJlNnI3Nkc2ClQvZnRjKzg1NTNPUHFmdlh1Uyt4bENXUkVFQUFBUVFRUUFBQkJCQkFBSUVD
Q0pRVm9BNnFRQUFCQkJCQUFBRUVFRUFBQVFROEFRSVEKQmdJQ0NDQ0FBQUlJSUlBQUFnZ1VUSUFB
cEdEVVZJUUFBZ2dnZ0FBQ0NDQ0FBQUlFSUl3QkJCQkFBQUVFRUVBQUFRUVFLSmdBQVVqQgpxS2tJ
QVFRUVFBQUJCQkJBQUFFRUNFQVlBd2dnZ0FBQ0NDQ0FBQUlJSUZBd0FRS1FnbEZURVFJSUlJQUFB
Z2dnZ0FBQ0NCQ0FNQVlRClFBQUJCQkJBQUFFRUVFQ2dZQUlFSUFXanBpSUVFRUFBQVFRUVFBQUJC
QkFnQUdFTUlJQUFBZ2dnZ0FBQ0NDQ0FRTUVFQ0VBS1JrMUYKQ0NDQUFBSUlJSUFBQWdnZ1FBRENH
RUFBQVFRUVFBQUJCQkJBQUlHQ0NSQ0FGSXlhaWhCQUFBRUVFRUFBQVFRUVFJQUFoREdBQUFJSQpJ
SUFBQWdnZ2dBQUNCUk1nQUNrWU5SVWhnQUFDQ0NDQUFBSUlJSUFBQVFoakFBRUVFRUFBQVFRUVFB
QUJCQW9tUUFCU01Hb3FRZ0FCCkJCQkFBQUVFRUVBQWdYaFlCR1ZsWlVxbFVtRnRqdTJVZ0VBc0Z0
UFEwRkJlVzhxNHlpdHZVVzY4RU9PcUtEdE9veEJBQUFFRUVKZ20KQXFFRklDNzRDRFA4aU5rT1NH
bFRYbmREVEpzalZFZVkraE5qajZYY1hzcHZZbHlON1Z1NHNSdk5jVFcyS2tzUlFBQUJCQkJBb0JB
QwpuSUpWQ0dYcVFBQUJCQkJBQUFFRUVFQUFBVStBQUlTQmdBQUNDQ0NBQUFJSUlJQUFBZ1VUSUFB
cEdEVVZJWUFBQWdnZ2dBQUNDQ0NBClFHalhnRGpLVisxMTdBTk1aOXJ2dDlyckpYdTEyZXRHZXpY
YXkwOGEwSEg5d0t1cGZOelYrdXlYSzdYQ1hwT0xzVXE5amxZVC9tZDEKcUdKY0lhbFA4M1diUHFG
RHBybmJ5dVdXYmRCVnVrN0xWSG1COVF2MUUrUEtuM1EreDI2VXhwVS9WVW9qZ0FBQ0NDQ0FRRmdD
b1FZZwpmMnF0YXBsQXk5eGxyWS9acTlsZXUremxOd0RwMXU5MHQzNXNhMTQ0YmRFWExRQ1ozQ0Yw
cWRmeHJ4WmFyTHN3ai9mclQzVldlMHp6CndUSExQbVZCNGdiTkd2TzN3aTFrWFBtenp1ZllqZEs0
OHFkS2FRUVFRQUFCQkJBSVN5RFVBTVNGQkYyWmxwMjF2Q256K1RuTHI3TlgKdjcwU21XV0xNbm4y
ZSticmhMSWFYYU1EK29oWE5tRXpIQzM2Unp2YzNxczF1bGZQV0RqVHIvU3RZV3NuR1h5NERaZDZI
U3QxMkl5eQo0cTlyb3dVWkx1Qjd4TFMrb05yTWZxcVMydy92dUE1YjJtSy8zVy9yL0VnUFczbFhl
cU5lTnRPN0FqaDZHdzc0eHJqeUI1alBzUnVsCmNlVlBsZElJSUlBQUFnZ2dFSlpBcUFISTNKeFc5
ZVI4dnRRKys1M2x5Rmw5akkrVldwSnpVSHd5Yy9KUXJSMVlOMXJvRUU0cTdUb3EKVFdMSk1NVGxY
cURodmk3UlVzMDl4Nmg5dUZTZC9lYjhOdGp0aWI5ckFZZ0xRVTU2UWN6a1pwR0dOeHp3QStQS0wy
RCt4bTZVeHBWZgpWY29qZ0FBQ0NDQ0FRRGdDazd0QVlnSjF1Nys5azRwRllHUnY5R3BnM0VZbE0v
TlR1N1hEQ3o2a3RicjJuR0JsM0ZVTDlzTklUd3BXCkpSV05LekN5TjBwOVhJM2JSWDVBQUFFRUVF
QUFnZEFGUXAwQkNiMTFiTENnQWsvb2RqMmJtZmx3RlcvUk4zUjFRVnRBWlZFVVlGeEYKY2EvU0p3
UVFRQUFCQkNZdlFBQXllYnZJcmRsaUoxeU5wRzEydmNpeWthOThRbUNTQW95clNjS3hHZ0lJSUlB
QUFoRVZ5TnNwV0JQMQpHam1KWTZKclVDNWZBbHYxaHJxMU5iUDVkZnFhM3M5WFZYbmZMdU1xNzhR
VHJpQks0MnJDbmFZZ0FnZ2dnQUFDQ0l3ck1PVUJ5R1R1CmdqVnViL2doa0VDdmhSK1ZkaCtzN1pu
N2x6MnE5ZDZ6WFFKdGRJcFdabHhORWZ3WTFVWnBYSTNSUFJZaGdBQUNDQ0NBZ0UrQmdnUWcKRi9w
cjlNUFc0RHRIdlhMdm9PV3pQeFFmUjJEa1hsZmpGUEFXdXd2VTQ3cEQzN0piR3J2VXJCdjBwRTU1
bjR2dmpYRTE5ZnNraXVOcQo2bFZwQVFJSUlJQUFBdEVXS0VnQWNxRy9ScnRidlc0ZjliclFnV1cw
ZDBlK2VwZXdaNTZuVTlJQ2pQRlNjdmlINi9VZFBaVDU5cUMrCk5QeWtrT0VDUmZHQmNUWFZ1eUdh
NDJxcVZha2ZBUVFRUUFDQnFBdkVVcGJDNkdRc0ZsTW9HOG8wSm1aNVNwdkNhTnE0MjRqWjh5NmkK
VTBlWSt1T1NuZk5EVExiUHd4ays1MnczOXd2aktsZGo1SFBoeG00MHg5V0lKSjhRUUFBQkJCQkFv
TkFDQlprQktYU25xQThCQkJCQQpBQUVFRUVBQUFRU0tVNEFBcERqM0M2MUNBQUVFRUVBQUFRUVFR
Q0NTQWdRZ2tkeXRkQW9CQkJCQUFBRUVFRUFBZ2VJVUNQVWFrT0xzCklxM0twMEFocmdISlovdlpk
bkVLNUh0Y0ZXZXZhUlVDQ0NDQUFBTFRRMkQ4V3lKTm92K3BFSzhaajIyMmk5QTNoYmpCTWZvVDIy
d1gKb1VlbWppbTRXSGl6dTFWQS9sT3BqYXY4aStTdmhwMEhEMnBUYzdOYzdsSnFVM1RIVmY0VTJU
SUNDQ0NBQUFJSVhFaUFVN0F1cE1OdgpDQ0NBQUFJSUlJQUFBZ2dnRUtvQUFVaW9uR3dNQVFRUVFB
QUJCQkJBQUFFRUxpUkFBSEloSFg1REFBRUVFRUFBQVFRUVFBQ0JVQVVJClFFTGxaR01JSUlBQUFn
Z2dnQUFDQ0NCd0lRRUNrQXZwOEJzQ0NDQ0FBQUlJSUlBQUFnaUVLaERxWGJER2JObVE5Tkt2cFRi
NzhjWVAKUzQwaGh6dzk3Y2YxL1QxN3RiUDFyRmQ5VldLR0Z0YlhhOFhDUzNUNzRnYUYwY0dvMUNF
TmFQZStIMmgzbjFTUnM3TWFabDJsNnhZdQpVMlhPTWo0aWdBQUNDQ0NBQUFJSUlKQVBnVENPenkv
Y3JnSHBzZTlMelZacTErVVdnT1FlK1Y1NHpRLzRkVWovOHNZL2F0V0xiNHhUCjdoYTFiZnFrWm8z
ejY4UVdSNldPYkcrNzlmclA3dGFEQjdMZmMvS21wOVQybVEwQnZYSzJ4MGNFRUVBQUFRUVFRQUFC
Qk1ZUXlIOEEKWWpNZWl6SVZKOFpvd0dRWHRlNS9iU1Q0V0hHTFdqNzljVjFaWGFhZXZqNGRQbmxJ
UHo1Um9SbVQzWGhtdmFqVWtjdVF6RXh6YkxtMwpSZmZQN2RlUGZ2NndOdTZ5OExCbG8xNWVmYS91
YW1BZUpOZUx6d2dnZ0FBQ0NDQ0FBQUxoQ3VRL0FBbTN2Wm10ZGVxcGYzSnpLaTU5ClNnZnUrYVNX
cEwrb3NxSlN5eFl1dDFkbXdhU3pxTlF4TmtCZDdWSTFOdFJvdzVyTitxNEZJRTd6NUVDL3ZST0Fq
QzNHVWdRUVFBQUIKQkJCQUFJRXdCRUsrSWlPTUprMWdHMzFuOWZxeGRMbUg3cjVxT1BpWXdKb1RM
eEtWT3NicGNiSThQUisxZTk4T0wvaVExdXBhQzBoSQpDQ0NBQUFJSUlJQUFBZ2prVTZBMFowQXNi
TW9lS3ErWU16TS9QbEdwWXh5ZEozYmNybWU3YmVZakU4aHRXZmNOWFYyYW8yR2NIcklZCkFRUVFR
QUFCQkJCQW9CZ0ZTdmFRc3oyajJUdG90OW5LVTRwS0hXUHh0SFNmbERMQmg1cTI2WkhseThZcXhq
SUVFRUFBQVFRUVFBQUIKQkVJVktPZ3BXTzRLZzNCUytmQU15TiswSEFwbmsrZHRKU3Axbk5jeGI4
SFd1OTVROStlMnBuOXNXYWV2N1h0LzdJSXNSUUFCQkJCQQpBQUVFRUVBZ1JJR0NCaUNKc0dxTHo5
UEdOZk05aHBaZDIvU1ZmZTRwSTdscFNLM3RQZmJVaXdBcEtuV01ROURiMzYzS2VmZHIrNm9tCnI4
U2oyOWJyMWM1eENyTVlBUVFRUUFBQkJCQkFBSUdRQkFwNkN0YkRMMGkxdVEyZkkzM3Y1c25kZCtt
bVZXdTF2dm5iZXNhMjkraTIKdjlMeksxYnAvdVcyd1o3VGVtWDNhOXArTFBoelFLSlNSeTc1eUdj
WG5zVjF4K3B2YWMydUcreEM5R2JkOE9LVGFydm5BWjRGTW9MRQpKd1FRUUFBQkJCQkFBSUdRQlFv
YWdEVHZIZFg2RmRLa2IveGFzVkJQZi9raDNienpGVzE4clVVdGUzZnA4em5iWDJzekpFR2ZBNktv
CjFER0szWDFOWnBkVlhxL3YzUDJRbGovM1RXbnZnL3JTbmx2MDVFcXVCOG55a0NPQUFBSUlJSUFB
QWdpRUs1RC9BTVJxZUhxVHZjSnQKZDNwcjhUcHR1UGt6V24vOWJUcmMzZXN0UzhTVGFwaFJxY3JR
VHZlS1NCMmVqajMzNDU2VU5xVDFodCtYclh4Y3FVMlBEMzh2bFE5dApkc3FZbThlcHI1WXFpckxS
S1EwTkRsckxVdXEzbXlWMERmUjUrVUFxcFo2QkliazhOOFhzUzZ5c1hGNGVpeWxlVnFhWTVlV1d4
OHZpCjZkeStWOW01akhITFhVcS9leCtuOEMybHp1NFQ2clR1NUxZbkVhOVJyVDJYSjZ4L2lsUFlR
YXBHQUFFRUVFQUFnUkFGOGgrQWhOalkKOFRZVnQ0T2NKZmJLWjRwS0hmazBLdWkyN2Vabisrd3VY
bWV0MG84dWxlWVU0VkZ1YW1oUWczYXRUV3BvUUdkNmV2WGU2ZE02Ylhubgp3S0NPOUE1NGVhNVpM
RmFtaEwyOHZMeGNNeW9xbExDOE1sR2gyaGsxNlR4UnJvdHFLbFZydVV2cDk5eXRUTVhuSVIxcjI2
TjNiVG96Ci9YU1pkQnRxYXBickk3TVhGV2x3T0JWTzFJa0FBZ2dnZ0FBQ1RpQVNBUWk3Y25vS3VC
a1FkL3VCdmlMdGZzcG1PRnp3TVRUWXI3NysKSHJWMWR1aEVWNWRPOXczb1lIZWZsK2MydmR4bVAr
S3hjcHZwS0ZkRlBLNmF5a292cjdMZ3VqZVdWTlZRbWMybFNQT0hiTHVXdTltRwpiSjY3bmNKL2Rq
TWdyVHB1T3lKM0ptb3dlWkh5ZDVQc3d2ZVNHaEZBQUFFRUVFQWdIQUVDa0hBYzJVcWhCZXpJKzE5
UFNPOVp2Wjl3ClIrRkZrZ1lIQjlUYjF5bVhuKzN0MGFFejdWN3Vaa0FPMkF5SXl6dHNCdVNZellD
NFBEZVYyZXhIdWIxY0hyZVpqK3J1Q2krdlRGVHAKZUZmQ1prQ0dkSEZOVWd1cWtxcEx4cjBBcERn
bWZvWjA5dXdldlcwUHpqbG5CcVNuVDRPSmFxMlpzNEMvZE9UdWFENGpnQUFDQ0NBdwp6UVVJUUti
NUFDalo3dHVmMWwvYkkvM2NPdkRaVDluYmxKK0xsUDViZjI5Zmg0NjNIbFpYOTFuOTlreW5Ybnp2
dUpjSHV3YWt6cTRCCkdiQ1prVHBkdFhDbUZ0ZlAwRHdMUkZ5WHM2K3AzWS85ZXUvZ3Mzcmh5QmpY
Z0hRMmFOWDF0dzQvdDJkcTIwbnRDQ0NBQUFJSUlGQU0KQWdRZ3hiQVhhSU4vZ2N3TXlOdTJabTlS
ellEMGU4RkhlOGRKSFRuZG9UZVBIdEV2VDNiNDc5ODVhN2pnWnBhOUV0N01SM3Zma056YwpTZllV
ckhPS1RzbVh6QXhJNnhpVnp6MGE3SGs4WTJ5U1JRZ2dnQUFDQ0NCUTJnSUVJS1c5LzZaMTY3TzNF
czY5ODlKVWdManJQQVlICjBoZWJuK3EwbVkvVDdUcHlwa08vTzl1dDl2N01hVloyRnl0VjJJMmhM
YSt4QzhnYlp5UzkzSjFDbFN5TERkOHBhaWlWbmtseHVidUQKbHNzSFVqWHFIcXkyUEtuRmRSVjJG
NngwZWRmdnFlNTcxdHZPR3ZQUzBua2YwOEpFU20zdDcrZzNaMDlMbmIvUktidmoxNng0Y1p3cwps
bTB2T1FJSUlJQUFBZ2hNblVDb0FVaHNjN2dkaVcwT2VZTmpOQzg2ZFJUTG9lZ1l5UGxZWk1lek5a
bnRUdlhaVjRNRHZlcHBQNllCCnUvWmpmK3NwL2ZEQUliMWx1YnZHNDBoWDVoTDVoTjJscmE3Um9v
MlphcXl0MXAwWHo5SGxscyt3eHRlWHg3eDh5QzR1OXdJUHkvdnQKd3ZYT25rNHZieDlJMkYyenF1
WHlTK3owcS9sVmNlOWFDM2RJWHl4N1BaSDVQOGxOSC9rVDNWNC9vRi9zL1YvNjczdmVsSTcrZy9a
MwpiZGFsdGJtWHArZGpRTEJOQkJCQUFBRUVFQ2dWZ1ZBRGtOU204THJ0Z3BuVXBoQTNPRWJUWFBB
Um5Ub0tmeDVTYlBQVUh2NFcwd3lJCkN6NzZlODdvZE5kWi9lWlUrL21uWFpYYjVka1dmS2hxbG1y
cWFuVDVnb3Ywc2RrMXFyYlpqL25XRVpkN3N4MDJXK0R5dnY1ZW5iSHIKU0Z4K3FyOU03M2FWZWZu
ODZvUm0ybk5BWFBCUlRITUt1VE1nbjVqYnIvYjM2OVAvNGpJeklHUDg4Mk1SQWdnZ2dBQUNDRXhU
Z1ZBRAprR2xxU0xlbnJVRDZkS2srZThCZzI5a09kWGFjOXZLK0FmZDRSSmZjM0l5ZGRtVjViYUpP
RjlYWHFyYXVWbGZZek1lOHBOM2x5b0lPCjk4RE05S01IM1d5Ry9XY1BHSFRoUlhsNVhFbDdxS2E3
STlaTUt6ZlhsbFVPeE5SUW1WQ3lQQjJBdVBCdmFrTkFhOENvRkM5M3R3NjIKTzNYVkw1VUxRZXdr
clBNZXVEaHFGYjRpZ0FBQ0NDQ0F3RFFUSUFDWlpqdWM3b1lsNElJUGUvS2VQZW1pbzd0ZHYzdi9z
STYxSHRIdgp1dXoydXQwOW1VcmN3ekhuMmF0YUYxWFAwbDJYTHRIS3hsbWFiZGVBWEdiWGdNek96
R1JVV0lEaGtudTRlYm1kanVWU21RVVpDUXRDCjNHeElYU3FtMlhZcHlZRGxybXgxUlh6NHRyYkZG
b0FrSyt0Vld6VkRINzFralM3UlU3S1RzTlJwRDJRa0lZQUFBZ2dnZ0FBQ1dRRUMKa0t3RU9RSytC
VndRNGs2WHNobVE5ZzRkYmJNWkVJdEorbHhjNGlYM3o2dmFYblUyQTFLcmxmVjFXalczVnU3VU1Y
ZFBxK3dwWlBaeApPTGtaRDVlODNGMjRua2wyOGxaSnBQUU15TXpoR1JEWDZBRjdJQ01KQVFRUVFB
QUJCQkRJQ293YzRXU1hrQ09Bd0FRRTdLQTY1ZjZ5ClA2Z0Ird3QvNTBCS1p5enc2TFN6cit5amw1
STIwMUZiUFVQSnhFek5zNHZIM2QydlhORGhMc2N1dHBtTGRJdUR2NWU1YVJ4TG5kMXQKM3VsWDBt
elZ4S2Y2TmdIQis4VVdFRUFBQVFRUVFDQThBUUtROEN6WjBuUVNzRk9qN042N0ZvVDAyNVBQQjlU
YU9hUkQ5aVR3VmdzKwplak5uSE5WV1YyamwwdG1hVzc5QVY5UWwxV2pmM2N5SE8wVFBmV0o0bE5q
S1krbGc0MWpiNzdUZjY5Z1ZXbVJQYmljaGdBQUNDQ0NBCkFBSlpnZndISUhhYzl0S3ZwVGFyOGNZ
UFM0MGgzN3FucC8yNHZyOW5yM2EybnZYNlZKV1lvWVgxOVZxeDhCTGR2cmhoK0Z6NWJJY24KazBl
bER2dmJ2SGJ2KzRGMjI1MWhjMitLMmpEcktsMjNjSm5jRlF1a2lRcGtaa0JTQStmT2dOanEyVXZR
M1F6SVhKdjV1R2l1ellEWQpyWE96TXlBVHJhRVV5ekVEVW9wN2pUWWpnQUFDQ0NCUVdJSDhCeUIy
TlBiWTk2Vm02OWV1eXkwQXlUM3lEZFRYSWYzTEcvK29WUysrCk1jNVdibEhicGs5NmYzRWVwOEFF
RmtlbGpteFh1L1g2eis3V2d3ZXkzM1B5cHFmVTlwa05BYjF5dGplTlByb1pEZmQzZi9lUHllWFoK
MDZ2Y3dYaWxQWUN2eWdJUmwyY1B6cTFJWk5QaHR0MTZhNkJMdjJ4OXordmowbm5MTlRNTEV0bGUw
ekVFRUVBQUFRUVE4Q09RL3dERQpaandXWlZvVTVta25yZnRmR3drK1Z0eWlsazkvWEZkV2w2bW5y
MCtIVHg3U2owOVVlRGRBOVlNeHVteFU2c2p0VnpJenpiSGwzaGJkCmI4OXIrTkhQSDliR1hSWWV0
bXpVeTZ2djFWME56SVBrZWwzd3M1dk5zNG1RTXN0ZDRPSEd0OHZkWXBjU2RrZXJ1bVJDYzZvcVZG
ZmgKN21vVi9TUHhYL3p1R2JXbjN0SnJoL1o3QmpmOTN1K0hQdXZwYlpnM0JCQkFBQUVFRUNoWmdm
d0hJSG1oNmRSVC8rVG1WRno2bEE3Ywo4MGt0U1g5UlpVV2xsaTFjYnEvTWdrbG5VYWxqYklDNjJx
VnFiS2pSaGpXYjlWMExRSnpteVFGMyt5WUNrTEhGeGw4NjNneEl1YzJBCkpETXpJTWw0VE81NzFK
T2JBZW5wM3FsZnRLWjd5Z3hJMVBjNC9VTUFBUVFRUU1DL1FHa0dJSDFuOWZxeGRHY2Z1dnVxNGVE
RGYvY3YKc0VaVTZoaW5pMG4zWkc1THUvZnQ4SUlQYWEydXRZQ0U1RjhnWmF1NDY4N2R0Ujh1ZDk5
ZGNubktia0U3WkM5M0o5cnNjdS9IaUw1MQpEdmFyUEhzYjR1b3J0SGdHQVcxRWR6WGRRZ0FCQkJC
QVlOSUNwUm1BMkRrdTJVUGxGWFB5OUlTRXFOUXh6dEI0WXNmdGVyYmJaajR5CmdkeVdkZC9RMWFV
NUdzYnBZZUVXdTZlQnVNRERIWGU3M0gxM3lRVWQzbStaM0gyUGVqbzYySzJUZGpjd0x5MzRySzV2
bUIzMUx0TS8KQkJCQUFBRUVFUEFwVUxLSG5ObGpuTjdCN09HZXo1NVBvSGhVNmhpcnF5M2RKNlZN
OEtHbWJYcGsrYkt4aXJGc0FnSXVyaGhyQnNUTgplUXk1NE1NaWp5Rjdpbmw2RGlUYXAyRzVHUkF2
RW5OdXpJQTRCUklDQ0NDQUFBSUlqQkxJWGk4N2FuRit2bWJQekFpKzlmTGhHWkMvCmFUa1VmSE5q
YmlFcWRZelpPVzI5NncxMWYyNXIrc2VXZGZyYXZ2ZkhMbGdDUzZkdVlzRUZFekh2UDNmeHVZdm1Y
WjROTWZvR1V6cloKMDZjam5iMWU3cjVIUFYwMjl4cGQzM2hadXB1ZGIrdTlicnZuTXdrQkJCQkFB
QUVFRU1nUktHZ0FrZ2lydHZnOGJWd3ozK3RHeTY1dAorc28rOTVTUjNEU2sxdmFlNGVjeDVQNHk0
YzlScVdPY0R2ZjJkNnR5M3YzYXZxckpLL0hvdHZWNnRYT2N3a1crMk0wK0ZENWx3NHlZCmQ5ZXJj
Z3M3UnQ4RnE5MGVVTGl2clV0dkhqM3I1ZTU3MU5PblZ6Nmd2N2oyMCtsdUhuMUJyN2Fsbjg4VDlY
N1RQd1FRUUFBQkJCQ1kKdUVCQlQ4RjYrQVdwTnJkdGM2VHYzVHk1K3k3ZHRHcXQxamQvVzgvWTlo
N2Q5bGQ2ZnNVcTNiL2NOdGh6V3Evc2ZrM2Jqd1YvRGtoVQo2c2dsSC9uc0RvYmp1bVAxdDdSbTF3
MTJJWHF6Ym5qeFNiWGQ4MERKUFF0azZ1WVZQbUFHWkdoSUo3djcxWlBvMVNLN0RXK2ZmWTk2Cjht
WkFobjZWN2lZeklGSGYzZlFQQVFRUVFBQ0JTUWtVTkFCcDNqdXFqU3ZTcDR0UDZqNDVGUXYxOUpj
ZjBzMDdYOUhHMTFyVXNuZVgKUHArei9iVTJRekpqVkhXK3YwYWxqakU2bnN3dXE3eGUzN243SVMx
LzdwdlMzZ2YxcFQyMzZNbVZwWFU5U0hZdUl0dWxndVRlTFhYdApuNDlWWGhGUHFLRW1vUVgxQ2ZV
UHBGVFJZM015bGcvYWJZMTd1azU1elRtVHFOSGh6aXJOclV3b1dSYlRMSnNPZFBsRWtndXdCdTFh
Cko1ZTdOY3JLeTRaUDg1cllGaVpTU3pobGhsSkRLa3NzMEVkcXEvVi96M2Jxd1BHM2RlYlNSdFdG
TmZzWlRqUFpDZ0lJSUlBQUFnaE0Kb1VEK0F4Q3I0ZWxOOXNwSEorTjEybkR6WjdUKyt0dDB1THZY
cXlFUlQ2ckJidjFaR2RZQlQxVHE4SFRzdVIvM3BMUmgxTDVZdHZKeApwVFk5UG1wcDZYeTE0L0Vw
U09VV0NiZ1FONldaVlRQMW9ZVTE5ckRCR2xWMkRLamxTSmRrZVY5dmg5cGEzN0dBSWFGMysrYnI1
N01xCmRTWldydmtWNWZwb1hhV1hYN2poNlJtVFFidVN2YWQvU0FPV3h5MW9TVmp3NDNLWHJCVkZs
UWJ0SXZSNC9UWDY5eGN0MEpmM3ZLTlgKM3ZxK0RsNTFzNW9DL3pXZ3FMcEpZeEJBQUFFRUVFQWdn
RUQrQTVBQWpadm9xbkY3K09BU2UrVXpSYVdPZkJwTjFiYW5aaGJBYW8ybAovL2xVSkd3R1pHWkNa
WU1KNzhaaUZmYlFRWmVHN0dDOHV6TTlBM0xLWmo2T2RQY28yWjIrRHFUSHh3WHA3bGtpTHZqbzky
WkJ5aFMzCjd5bWJBM0cxWkdkRnZBcUw0QzEzQnNRMXg1c0JpZjZaWjBVZ1R4TVFRQUFCQkJBb0hZ
RklCQ0NsdzAxTDh5SHd6Z2s3RFNwM0tzQ3UKQmw5WmJ4TVUrYWhzakczR2JZWmpabldkUlFOOW10
WGZwWG5sUFpwdjk2SjFkMzF6dDNKMmVVOS9yNDZlc29aYTZwdVJWUDFnclZvdApkNmRoVlNmS002
ZGpXVGpoWFNmaWdvMEI5ZloxZTNuUFFMbE85aWJsOG9hcWhKYlByYkk4ZlJwV29mcm9OWHhDYitt
UWFIYmRoMVN2CkZwMjIvMzUxOG9nK1ViM1F1MHZZaERaQklRUVFRQUFCQkJDSXRBQUJTS1IzNy9U
bzNJOStMYjJWT3cxaXNjQ2oxMWhRVXFEdVZ5YXIKMURqM1lnM1VONmluN0lSV3Z1dkNqaTY1dVk5
MzdPWHkweDFuOWN0MzNsWmxva0wxZHNyV250bnp2SHgyTXE3bE5VbTUzS1pNN0dXMwpyYlc4dmFk
RHgwNjFldm5wL2hydDc1d3ZsemN0cU5hNmF4YXEyZ0lSRjNObFgvYXhTSktiN2lqVGlrdHUxeVY2
UVc5cXYvNzJ0ei9YCmhzVjNETjg2dTBnYVNqTVFRQUFCQkJCQVlJb0VDRUNtQ0o1cXd4TndNeUN0
dVp0ekV3bTUzL1A4T1c0WG9jK3Njak1nTTlSd3VsOXoKN1h2Nkp0RWpRVkJQZjUvTmdLUmJXVjFW
cS9haGNnc2krclZ3aGdVU3FTcjFXSzRoT3oxcm9NZkxUM1djMFlIV1EzTDV5ZjVaZXJzOQphYm1k
ZG1VWHZKenVIZlFlZkpnOUJTdlAzZk81K2R3WkVMZHFlZ1lrK2pjZzlzbEVjUVFRUUFBQkJLYXhB
QUhJTk43NVVlbjZhYnZtCis1eUhYTm9YZHhoY3VHUW5RbVd1QjZtcXJOYmkrUzc4S0ZlOTNRV3Jy
N2ZYeTd2dCtvMVd1MUdDeXdmdDlLcWVYbXUwcFZPRGNiMFgKNjFGbjE3a3pJQjA5blRwcTE0dDBX
Rjg2N1dxUDZtcjNUeldoK3BseEpld2FFM2ZxbFF0QWNpZCs3T3VVcCtGVHdzcnFkUG5jaTlScwpR
WlM2ZnF0M3UzcDBUVlYrcjlPYThzN1RBQVFRUUFBQkJCQ1lrQUFCeUlTWUtGVE1BdnR0QmlUM0Vo
RFpaRVJCSDA1b2Q3WlNlWlVSCnBUUm5kbHlyUDVwUVYwKzNqblcwYTluUlkxNytYbWVQWGp0MlVp
N3ZzK3RCMnM2MHFxeXNYS2ZzR3BBako4YTZCbVRRcmdIcHNXdEEKWk1GSHVXYlBxOUxpNmhvdG1W
Mmx1c3B5NzZHSDJTQ2ttUGJOOEg2SUw5Ry8vZkFxYmYzSjg5S0pGL1hqNC85WjF5eGRWRXhOcFMw
SQpJSUFBQWdnZ01FVUNvUVlnc2MzaDlpSzJPZVFOanRHODZOUlJiSDhMSHdNN1Q0dmNETWc1cWVB
eklHWWZjODlCbDZvc09GZzgzdzdEClU0T3FQM05LM1JaRTFKZW5Ud2liRVU4Zm5nL1pOUjdkTnNQ
aGtudHY4ejVkNkMxbXdVZGNzKzA1STNVMkErTHVzdVdDaitIWmhndXQKV3VEZmh0dVVtUUh4cXMv
TWdCUzRLVlNIQUFJSUlJQUFBa1VxRUdvQWt0b1VYaTlkTUpQYUZPSUd4MmlhQ3o2aVUwZGhUenB5
bkxITgpVeGowV05VcmxraXJ4OWl2bWp0cVJtU3NNdmxhNXBGWW9HRjVSYnpTSGxCbzB6RTJROUlY
cjlhMWcvWU1rTHB1Ny9Rd2QxdmRzZlpZCnpIdkFvYmU2elpDazczUlZWOU9ncFEzMm5KR2FHVnBh
WGFHWkZzaGtaeittY0Eva0NKWnJ3ZHpWV3QwdExhd1krVjlLWmRVeXJWNlMKM2tPWGNmcFZqaGNm
RVVBQUFRUVFtTjRDSTBjTDA5dUIzcGVhZ0IyQmYzYU45S214Mm0xblF3MC82WDJzMy9PNnpJS1Bz
dlQ5dDJaVwoyUjJ1RnMxUW4xMExjbG4vZ0pxV2Rxdkw4bjU3amtkbkpzOXRpbnV5UjFsNTNONWpL
cmZnbzlJdU9IZTVlODVJVGVWTUw2KzJaWE1xCjQ4TzN0QzJPQUNTcGoxNjVXWnVYU1pkWmtKUk5z
K2ZkcHMxcnJ2UytMcHc3Tzd1WUhBRUVFRUFBQVFTbXVRQUJ5RFFmQUNYYmZUdnkKZGpNZ0s0cXhB
KzZhRUVzVjlueVBoa1Q2d3V0VWFraExCZ2JrOGo2Yi9UalRieGVvVzU2YjNPeEhlVmxDTG85YjRG
R1ZzRUREY2pmYgpFYmMzbHhkblNzK0FMQmpWdVBRTWlFVWxKQVFRUUFBQkJCQkFJRWVBQUNRSGc0
OEk1RXZBZTI2NUJSYnU2bzFZYkVoSk45TmhlVzZLCnhTelljR1Vzajl2RjZlNEVMQmQwdUZtTzRw
anB5RzB0bnhGQUFBRUVFRUFBZ2NrSkVJQk16bzIxRVBBbllJRkZXWGw2WnNTZEhsWSsKb1d0QXZM
REZxNGNBeEI4M3BSRkFBQUVFRUVDZ2VBVUlRSXAzMzlDeWlBbTRtUTJYWERCUmtZNUZ2Tys4SVlB
QUFnZ2dnQUFDMDBrZwovd0dJbldYeTBxL1R0eHE5OGNOU1k4Z25zdmUwSDlmMzkrelZ6dGF6M242
clNzelF3dnA2clZoNGlXNWYzREI4c1c2UW5ScVZPdXd4CjI5cTk3d2ZhM1RmeWhHN24wakRyS2wy
M2NKbDRURnlRVWNLNkNDQ0FBQUlJSUlBQUFoTVJ5SDhBTWlBOTluMnAyVnF6NjNJTFFOSTMKQ0pw
STJ6Nmd6SkQrNVkxLzFLb1gzeGluM0MxcTIvUkp6UnJuMTRrdGprb2QyZDUyNi9XZjNhMEhEMlMv
NStSTlQ2bnRNeHNDZXVWcwpqNDhJSUlBQUFnZ2dnQUFDQ0l3aGtQOEF4R1k4c3M4L1RqK3FiWXhX
VEdKUjYvN1hSb0tQRmJlbzVkTWYxNVhWWmVycDY5UGhrNGYwCjR4TVZHcmtoNkNRcXNGV2lVa2R1
NzVPWmFZNHQ5N2JvL3JuOSt0SFBIOWJHWFJZZXRtelV5NnZ2MVYwTnpJUGtldkVaQVFRUVFBQUIK
QkJCQUlGeUIvQWNnNGJZM3M3Vk9QZlZQYms3RnBVL3B3RDJmMUpMMEYxVldWR3Jad3VYMnlpeVlk
QmFWT3NZR3FLdGRxa1o3dU4yRwpOWnYxWFF0QW5PWkplMTZGT0JGcmJEQ1dJb0FBQWdnZ2dBQUND
SVFpRVBJVkdhRzA2WU0zMG5kV3J4OUxGM3ZvN3F1R2c0OFBYdEZICmlhalVNVTZYaytYcCthamQr
M1o0d1llMFZ0ZGFRRUpDQUFFRUVFQUFBUVFRQzFodGV3QUFJQUJKUkVGVVFDQ2ZBcVU1QTJKaFUv
WlEKZWNXY21mbnhpVW9kNCtnOHNlTjJQZHR0TXgrWlFHN0x1bS9vNnRJY0RlUDBrTVVJSUlBQUFn
Z2dnQUFDeFNoUXNvZWM3Um5OM3NGegpIK1lXSm5KVTZoakxwS1g3cEpRSlB0UzBUWThzNTRuVll6
bXhEQUVFRUVBQUFRUVFRQ0JjZ1lLZWd1V3VNQWdubFEvUGdQeE55NkZ3Ck5ubmVWcUpTeDNrZDh4
WnN2ZXNOZFg5dWEvckhsblg2MnI3M3h5N0lVZ1FRUUFBQkJCQkFBQUVFUWhRb2FBQ1NDS3UyK0R4
dFhEUGYKWTJqWnRVMWYyZGMyaW1SSXJlMDk5dFNMQUNrcWRZeEQwTnZmcmNwNTkydjdxaWF2eEtQ
YjF1dlZ6bkVLc3hnQkJCQkFBQUVFRUVBQQpnWkFFQ25vSzFzTXZTTFc1RFo4amZlL215ZDEzNmFa
VmE3VysrZHQ2eHJiMzZMYS8wdk1yVnVuKzViYkJudE42WmZkcjJuNHMrSE5BCm9sSkhMdm5JWnhl
ZXhYWEg2bTlwemE0YjdFTDBadDN3NHBOcXUrY0JuZ1V5Z3NRbkJCQkFBQUVFRUVBQWdaQUZDaHFB
Tk84ZDFmb1YKMHFSdi9GcXhVRTkvK1NIZHZQTVZiWHl0UlMxN2QrbnpPZHRmYXpNa1FaOERvcWpV
TVlyZGZVMW1sMVZlcisvYy9aQ1dQL2ROYWUrRAordEtlVy9Ua1NxNEh5ZktRSTRBQUFnZ2dnQUFD
Q0lRcmtQOEF4R3A0ZXBPOXdtMTNlbXZ4T20yNCtUTmFmLzF0T3R6ZDZ5MUx4Sk5xCm1GR3B5dEJP
OTRwSUhaNk9QZmZqbnBRMnBQV0czNWV0ZkZ5cFRZOFBmK2NEQWdnZ2dBQUNDQ0NBQUFMNUVzaC9B
Skt2bHVkc04yNFAKSDF4aXIzeW1xTlNSVHlPMmpRQUNDQ0NBQUFJSUlJREFCd21FTlUvd1FmWHdP
d0lJSUlBQUFnZ2dnQUFDQ0NBZ0FoQUdBUUlJSUlBQQpBZ2dnZ0FBQ0NCUk1JQktuWUJWTWk0cW1S
R0Rud1hDcjNYa3c1QTJHMjd3cDNkcXZqaDdWbWQ3MDlWU3VJVHNQN3B6UzlsQTVBZ2dnCmdBQUND
RVJQZ0FBa2V2czBjajNhMUJ4dWx6WTFoN3pCY0pzM3BWdHp3Y2YrVTZlRzI3Q3AyZTRnUVVJQUFR
UVFRQUFCQkVJVUlBQUoKRVpOTjVVZUFHWkQ4dUU1a3E4eUFURVNKTWdnZ2dBQUNDQ0RnUnlDV3N1
Um5oZkhLeG1LeDhYNWllWVFGUWhvKzR3b3hyc2FsaWZRUAorUjVYa2NhamN3Z2dnQUFDQ0JTNVFL
Z3pJT0dFTW1reEY4K2tVdms5L1NNVzJ4eWhPa0tKSTMwTjEwSUZCNHlyODNkTDRjWnVkTWZWCith
b3NRUUFCQkJCQUFJRkNDSEFYckVJb1V3Y0NDQ0NBQUFJSUlJQUFBZ2g0QWdRZ0RBUUVFRUFBQVFR
UVFBQUJCQkFvbUFBQlNNR28KcVFnQkJCQkFBQUVFRUVBQUFRUUlRQmdEQ0NDQUFBSUlJSUFBQWdn
Z1VEQUJBcENDVVZNUkFnZ2dnQUFDQ0NDQUFBSUlFSUF3QmhCQQpBQUVFRUVBQUFRUVFRS0JnQWdR
Z0JhT21JZ1FRUUFBQkJCQkFBQUVFRUNBQVlRd2dnQUFDQ0NDQUFBSUlJSUJBd1FSQ2ZSQ2hhL1dw
CnZkS09YMG9WRlNOOWFMaFl1dTdqVW1WbTBYQ1pCdW5PVzZYSk5XSkl1MS9hcTkwZFZsZTJLcXYw
MHQrN1NGY3Z5ZGFVL1dHeWVZblgKTWZDK1h2cjduNmdqWjJkVXpMeFlIL3ZrTldxc1NhdWYydnVL
N2ErMmMvYVhWK2JHajZzeExNYko4dWVzTnp4bWhuZTJ4TGpLQVRydgpZeDdIYm9URzFYbHNMRUFB
QVFRUVFBQ0J2QXRNN3RqL0FzM2EveU5wM2VmSEtMQkdPdnlLMUdnL0RaZHBrdG9zQUprMVJ2RVBY
alNnCjF4OTdUZzgybjE5eS9kWS8xdE1QTER6L0I5OUxTcnlPN3FONmJOMDZuVS9VcEcxdnY2YjdW
dFRZdnZpcTdhL3pTMGhyOVBMaEgrbW0KeHRDSGlPKzk0RllZSGpPajEyWmNqUmJKZk0vajJJM1F1
Qm9IajhVSUlJQUFBZ2dna0VlQjBFL0JTaVRUclYyenhRS093elliOHBlWgoxdHN4N3ZNMk0rSlN0
b3htVDNiMkk3MmRaRzA2MzdMamN6cjg5a1o5ZmYxOGI4RXp6NzZuVSttZkFyK1hkQjBKYVpFbnNF
YlB0UnhRCnk4dFBXVmpoVW92KytvZDd2RStKWktiRWx1MDZmUHlBZnJwdGl5d3V0TlNzcno3ZjRu
MHFocmZzbUdGY1RYeHY1RzNzUm1oY1RWeVQKa2dnZ2dBQUNDQ0FRbGtEb0FVaTJZYlh6YkxiRHBq
dHUvU05sRG1pbE9YWFpYOFBONXkxcVVPT0t4YnJseW5DM203dTEwcTVqa1M3OQowQkpkZWRONi9Z
ZTE2VjdWVnRwUlpFNnFuWGVSR3VjdTBmWDMvYm51VDBjcFdsUjdicG1jNGxQMmtYSGxuejUvWXpj
NjQ4cS9LbXNnCmdBQUNDQ0NBd0dRRjhuWit6ZG5qMHZ2dlMvL25mN2kvdDF1eWc5b2JsMDIybVJk
ZTcvamgwenJZZjF4UHZuVE1LN2orbnNXVFBLMXIKL0hwS3U0N0RPblRnb1BwLytWMDl2dDMxc1Vu
ci84M0tVWjFOQnh2dEIzK2lWekpuWkYyODJLYW9paXd4cnZ6dmtQeU4zZWlNSy8rcQpySUVBQWdn
Z2dBQUNreFhJV3dEUy9LaWQvbU92Yk5wbjE0YTQ2ei95a1I2OTdmL1RjRlZiTm9aMC9jZTVMUzN0
T3BxMTlvcWx3eDNhCjJ2S2E3bHAyN2hYbTI1LzR2TzU4OXFTMk42ZFB1MnA2YUp2Ky9LWjg3Ykho
cHZqK3dManlUYWI4amQzb2pDdi9xcXlCQUFJSUlJQUEKQXBNVnlOc3BXRTEvTEcxL1RscWZ2cUJB
eSswUDdLKzJUcmFaRjE3dmovL3lEN1h0TDFlbEN6MzZsRzc2d3A3UXJnSEoxbHphZFRUcAo2OXVl
MDlmL09IMXUxWU5OdGZyS1MrOWt1NWJPVzA1cWZ5YjRjRE1rMzk1eVgraXpTT2RXT0xsdmpDdi9i
dmtidTlFWlYvNVZXUU1CCkJCQkFBQUVFSml1UXR3RGtrcXVsTys2U25uNURlaWpUdW0vODNmbk5I
RGgva2U4bFY2KzVRdmY5cHovUTJUYys3YTNiL00zbnRPT2QKTUxZODBwVFNycU5KdC8yN3UvUmZu
bnhGTHorU0RrSWUvZUlMeW8wSDEyNTlWbStsOXNuaVJrc3RXdlh3OCtvWjZYN1JmR0pjK2Q4Vgor
UnU3MFJsWC9sVlpBd0VFRUVBQUFRUW1LNUMzQUNTM1FRc3pGelhuTHZNKzIxMnNacHkzTU1DQ3Fw
R0hSQnc2RVc0QU10eXFrcXlqClhmMFpqa1FXdk9VbHZkcyszQ3VwdDh1K0xOTlhmL3IxOU1KdjM2
MUhmbmd3cDBEeGZXUmMrZHdub1kvZGFJNHJuNm9VUndBQkJCQkEKQUFHZkFubTdCbVQ3RTlJZjda
Q2U4UzU2VHJkcS9weFJyYlBmN3IxelpOblovZEovZkVhNnorZmRySjc0L0F2YVlTZGRiVzlPWDRU
dQp0cmhpd1Vnd01sTEQ1RCtWZGgzYnRkR2daKy9mcnVHenJOYmNvNVUxMG9GUkpIT3YvNXkycmYr
aTF0bCsrT2JhamZvRGV4YklyVVh5CkxCRFhWTWJWcUIwMmdhLzVHN3ZSR1ZjVFlLUUlBZ2dnZ0FB
Q0NJUWtFSDRBa25rT2lMdjExVFBwNjVtOSsvQnUrWUtkaW5WZnB0WFoKTXZaMWUwNkE0bjY5c3o5
VHhrZlcwcnczZmFjdFc2ZHA3U3I5eGFPZjBoMUx3cDNjS2ZVNldvYWg3UTVZRC8ySnZ2em8vYkw0
UTBwVwpwYVdIOTBtTjd2dWZMK3V2bjduWm5nVFNyTnUrK1BmcWZ2cSs0YWZZcHd0UHdYdTJmWXdy
My9qNUhMc2xQNjU4YTdJQ0FnZ2dnQUFDCkNBUVZpS1VzQmQySVd6OFdpeW1jTGFWYlk1dXo3VzBL
bzJuamJpTVcyeHloT2tMWmplTmFqZlZEZXAvbnQxN0cxVmp5N3Q5Ym9jWnUKZnZmdldMMHJ4TGdh
cTE2V0lZQUFBZ2dnZ0VCaEJNS2RKaWhNbTZrRkFRUVFRQUFCQkJCQUFBRUVTbFNBQUtSRWR4ek5S
Z0FCQkJCQQpBQUVFRUVDZ0ZBVUlRRXB4cjlGbUJCQkFBQUVFRUVBQUFRUktWSUFBcEVSM0hNMUdB
QUVFRUVBQUFRUVFRS0FVQlFoQVNuR3YwV1lFCkVFQUFBUVFRUUFBQkJFcFVnQUNrUkhjY3pVWUFB
UVFRUUFBQkJCQkFvQlFGQ0VCS2NhL1JaZ1FRUUFBQkJCQkFBQUVFU2xTQUFLUkUKZHh6TlJnQUJC
QkJBQUFFRUVFQ2dGQVZDZXhCaFdWbVpQZFN2OEE4dEswWDBxTFRaUFRCdWFHZ29yOTFoWE9XVnR5
ZzNYb2h4VlpRZApwMUVJSUlBQUFnaE1FNEhRQXBCcDRrVTNFVUFBQVFRUVFBQUJCQkJBSUlBQXAy
QUZ3R05WQkJCQUFBRUVFRUFBQVFRUThDZEFBT0xQCmk5SUlJSUFBQWdnZ2dBQUNDQ0FRUUlBQUpB
QWVxeUtBQUFJSUlJQUFBZ2dnZ0lBL0FRSVFmMTZVUmdBQkJCQkFBQUVFRUVBQWdRQUMKQkNBQjhG
Z1ZBUVFRUUFBQkJCQkFBQUVFL0FrUWdQanpvalFDQ0NDQUFBSUlJSUFBQWdnRUVDQUFDWURIcWdn
Z2dBQUNDQ0NBQUFJSQpJT0JQZ0FERW54ZWxFVUFBQVFRUVFBQUJCQkJBSUlBQUFVZ0FQRlpGQUFF
RUVFQUFBUVFRUUFBQmZ3SUVJUDY4S0kwQUFnZ2dnQUFDCkNDQ0FBQUlCQkFoQUF1Q3hLZ0lJSUlB
QUFnZ2dnQUFDQ1BnVElBRHg1MFZwQkJCQUFBRUVFRUFBQVFRUUNDQkFBQklBajFVUlFBQUIKQkJC
QUFBRUVFRURBbndBQmlEOHZTaU9BQUFJSUlJQUFBZ2dnZ0VBQUFRS1FBSGlzaWdBQ0NDQ0FBQUlJ
SUlBQUF2NEVDRUQ4ZVZFYQpBUVFRUUFBQkJCQkFBQUVFQWdnUWdBVEFZMVVFRUVBQUFRUVFRQUFC
QkJEd0owQUE0cytMMGdnZ2dBQUNDQ0NBQUFJSUlCQkFnQUFrCkFCNnJJb0FBQWdnZ2dBQUNDQ0NB
Z0Q4QkFoQi9YcFJHQUFFRUVFQUFBUVFRUUFDQkFBSUVJQUh3V0JVQkJCQkFBQUVFRUVBQUFRVDgK
Q1JDQStQT2lOQUlJSUlBQUFnZ2dnQUFDQ0FRUUlBQUpnTWVxQ0NDQUFBSUlJSUFBQWdnZzRFOGc3
cS80K0tYTHlzcVVTcVhHTDhBdgprUk9JeFdJYUdockthNzhZVjNubExjcU5GMkpjRldYSGFSUUND
Q0NBQUFMVFJDQzBBTVFGSDJHR0h6SGJBU2x0bWlhN3dYODNkK3FnCjZUVEw1UzZGcXoreDlzUlNi
aS9sTnpHdTh1czdldXZUWlZ5TjdqZmZFVUFBQVFRUVFLQndBcHlDVlRocmFrSUFBUVFRUUFBQkJC
QkEKWU5vTEVJQk0reUVBQUFJSUlJQUFBZ2dnZ0FBQ2hSTWdBQ21jTlRVaGdBQUNDQ0NBQUFJSUlE
RHRCVUs3QnNSSnZtcXZZeDlBT3ROKwp2OVZlTDltcnpWNDMycXZSWHZsS0tmVnJTQjEyalVTL1Rx
aFBlOVhwNVpLN2ZpSDdDcWQyZHczTWdMMWNYcTBxemRjY0w2KzI3L05WClpwOExsMXBOK0ordDN4
VVhxTExQV25XYlBxRkQrb0YyVzduY3NnMjZTdGRwbVNvdnNINmhmbUpjTWE0S05kYW9Cd0VFRUVB
QUFRVHkKTHhCcUFQS24xdDZXQ2JUWkhhQS9acTltZSsyeVZ6NERrQ0YxcTljT3NRZDFWbS9xbFA2
YjN0VnJsdWM3TGRYRnVrblh5K1ZMTFBoWQpyYmdGSUlXYmNQcFhDeTNXVGFDVFB6V1hQYnBiRDQ1
Wjlpa0xFamRvMXBpL0ZXNGg0MnJFbW5FMVlzRW5CQkJBQUFFRUVDaE5nVkFECmtCK2JRVmZHNGF6
bFRablB6MWwrbmIzNjdaWElMRnVVeWJQZk0xOUR6OG8xMCtZaUxyZnREbGxBa0xLLzY5OWdBWWtM
Z1VhU213Y3AKdCtEQTVSMTJ5SDFjdi9YeTNkYWJwMjIreE9YMW1xZEw5QkV2djhMbUN2NVF0WEs1
MjlLZ2JmdmNMYnJ0bGR2c3dRd3ZkOGd6N0ZYSQp0RktIZFdCWS9IVnR0Q0REQlh5UFdJajRCV3Q3
ZWo5VnllMkhkeklOMjJLLzNXL3IvRWdQVzNsWGVxTmUxcjI2YTRyblFSaFhtUjFrCkdlTnF4SUpQ
Q0NDQUFBSUlJRkNhQXFFR0lITnpESHB5UGw5cW4vTTV5NUZUMVJnZjNheEQrdVNpcEgxYThBR2hR
S2VGSjNFNzRPNjAKZFk3WXdYalNDMHZTQjM3Vk5vZFJhLy9Oc3QvbXE4YjZsSHZTMGhoVlQrR2lT
bXZka3VINkwvY0NEZmQxaWMzSnpMVzJqNlQyNFk5MQo5bHVqL2JaQm0vVmRDMEJjQ0hMU0MyS205
a1FzeHRYd0xwcnlEMUVhVjFPT1NRTVFRQUFCQkJDWXBnSjVPeWZJelhhUWlrVmdaRy8wCmVsZXBq
TjJ1WkdaK2FyZDJlTUdIdEZiWG5oT3NqTDFlSVplTzlLU1F0VkxYMkFJamU2UFV4OVhZL1dNcEFn
Z2dnQUFDQ09SRElOUVoKa0h3MGtHMFdUdUFKM2E1bk16TWZydFl0K29hdUxsejExQlJSQWNaVlJI
Y3MzVUlBQVFRUVFHQ1NBZ1FnazRTTDRtb3Rkc0xWU05wbQoxNHNzRy9uS0p3UW1LY0M0bWlRY3F5
R0FBQUlJSUJCUmdieWRnalZScjVHVE9DYTZCdVh5SmJCVmI5Zzl3N1ptTnI5T1g5UDcrYW9xCjc5
dGxYT1dkZU1JVlJHbGNUYmpURkVRQUFRUVFRQUNCY1FXbVBBREo5MTJ3eHUwNVA1d24wR3ZoUjZY
ZEIydDc1djVsajJxOTkyeVgKOHdxV3dBTEdWZkhzcENpTnErSlJwU1VJSUlBQUFnaVVya0JCQXBB
TC9UWDZZYk83YzlRcjl3NWFwVXRiWEMwZnVkZlZoZHJsSHFNWQoxeDM2bHRaNHhacnRwc1ZQRnVD
cEtSZHEwL2kvTWE3R3R5blVMMUVjVjRXeW94NEVFRUFBQVFTbXEwQkJBcEFML1RYYTNlcDErNmpY
CmhRNHNwK3VPQ3RidmhOMDJPSjJTRm1DTWw5eHRpdFBwZW4xSEQyVStQNmd2RFQ4cEpQdDdjZVNN
cTZuZUQ5RWNWMU90U3YwSUlJQUEKQWdoRVhTQ1dzaFJHSjJPeDJIa1A0d3V5WGZkUXdKUTJCZGxF
cE5mZHFZT20weXlYdTVRS1ZYOWlkREY3UmtwSXcyZmNDaGxYNDlMawo1WWZwTXE3eWdzZEdFVUFB
QVFRUVFHQkNBZ1daQVpsUVN5aUVBQUlJSUlBQUFnZ2dnQUFDa1JjZ0FJbjhMcWFEQ0NDQUFBSUlJ
SUFBCkFnZ1Vqd0FCU1BIc0MxcUNBQUlJSUlBQUFnZ2dnRURrQlVLOUJpVHlXblR3UElGQ1hBTnlY
cVVzaUx4QXZzZFY1QUhwSUFJSUlJQUEKQWtVc01QNHRrU2JSNkZTSTE0ekhOdHVGMVp0QzNPQWsr
bFBNcSt3OGFCZWhOOXRGNkphN2xOb1V5cjBFZkhVNXR0bmRLaUQvS2ZSeApGYzU5Ri9MZjhXS280
YjhXdmhHRkdsZUY3eGsxSW9BQUFnZ2dnSUFUNEJRc3hnRUNDQ0NBQUFJSUlJQUFBZ2dVVElBQXBH
RFVWSVFBCkFnZ2dnQUFDQ0NDQUFBSUVJSXdCQkJCQUFBRUVFRUFBQVFRUUtKZ0FBVWpCcUtrSUFR
UVFRQUFCQkJCQUFBRUVDRUFZQXdnZ2dBQUMKQ0NDQUFBSUlJRkF3Z1ZEdmdqVm1xNGVrbDM0dHRk
bVBOMzVZYWlUa0daT3BNQXNIdEh2ZkQ3UzdUNnJJcWJCaDFsVzZidUV5VmVZcwo0eU1DQ0NDQUFB
SUlJSUFBQXZrUXlIOEFNaUE5OW4ycDJWcS82M0lMUUhLUGZQUFJJN1o1QVlGdXZmNnp1L1hnZ1RH
S05EMmx0czlzCjBLd3hmbUlSQWdnZ2dBQUNDQ0NBQUFKaENlUi9Qc0pxV0pScGJTS3NWck9kU1Fz
a005TWNXKzV0MGVFL2UwTlByVnFUM2xiTFJyM2MKMWpQcDdiSWlBZ2dnZ0FBQ0NDQ0FBQUlURWNo
L0FES1JWbENtNEFKMXRVdlYySEMxTnF6WnJFd0lvcE1EL1FWdkJ4VWlnQUFDQ0NDQQpBQUlJVEM4
QkFwRHB0YitIZTVzc1Q4OUg3ZDYzd3pzOVRscXJheHRxaG4vbkF3SUlJSUFBQWdnZ2dBQUMrUkRJ
L3pVZytXZzEyd3dzCjhNU08yL1ZzZDdPYWo2VTN0V1hkTjNRMW95R3dLeHRBQUFFRUVFQUFBUVFR
dUxBQWg1d1g5b25zcnkzZEo2Vk04S0dtYlhwaytiTEkKOXBXT0lZQUFBZ2dnZ0FBQ0NCU1BRRUZQ
d2VJS2crTFo4VnZ2ZWtQZG45dWFibERMT24xdDMvdkYwemhhZ2dBQ0NDQ0FBQUlJSUJCWgpnWUlH
SUltQzFoYlpmUlpLeDNyN3UxVTU3MzV0WDlYa2JlL1JiZXYxYW1jb20yWWpDQ0NBQUFJSUlJQUFB
Z2lNSzFEUVU3QWVma0dxCnpXM0tIT2w3TjRzSDRPV2FGT3l6UGFCRmNkMngrbHRhcytzR3V4QzlX
VGU4K0tUYTdubUFaNEVVYkI5UUVRSUlJSUFBQWdnZ01QMEUKQ2pvbjBieFgycDc3T2lGeFd0YlVE
THBrdHRySzYvV2R1eDlLZjl2N29MNjA1NTNzTCtRSUlJQUFBZ2dnZ0FBQ0NJUXVrUDhaRUt2aAo2
VTMyQ3IzcFlXNHdwYUhCUWR0Z1N2MkRRK29hNlBQeWdWUktQUU5EY25sdWl0bVhXRm01dkR3V1U3
eXNUREhMeXkyUGw4WFR1WDJ2CnNuUE80cGE3bEg3M1BrN2hXNDAyM0pQU2hsRXRXTGJ5Y2FVMlBU
NXFhZkYvYmJOVHh0dzhUbjIxVkZIOHpZMXdDMVBxN0Q2aFR2dG4Ka2p2T0UvRWExVlpVcXFCLzVZ
aXdNbDFEQUFFRUVFQWdLZ0w1RDBCS1FDbzFOS2hCdXlZaU5UU2dNejI5ZXUvMGFaMjJ2SE5nVUVk
NgpCN3c4dHh1eFdKa1M5dkx5OG5MTnFLaFF3dkxLUklWcVo5U2s4MFM1THFxcFZLM2xMcVhmYzdm
QzUwQUNROUkrdTR2WFdkdklSNWRLCmN6aktEY1FaYk9VaEhXdmJvM2R0T2pQOWRKbjAxbXBxbHVz
anN4Y1JIQWJEWlcwRUVFQUFBUVFpSjBBQVlyczBaVE1jTHZnWUd1eFgKWDMrUDJqbzdkS0tyUzZm
N0JuU3d1OC9MYy9kOHVjMSt4R1BsTnROUnJvcDRYRFdWbFY1ZVpYL3Q3WTBsVlRWVVpuTXAwdndo
MjY3bAo3cS9DMlR4M08zd09KdUJtUU5wc0UzM0JOc1BhZ1FYY0RFaXJqdHVPeUoySkdreGVKSXNU
U1FnZ2dBQUNDQ0NBd0RrQzB6WUFHUndjClVHOWZwMXgrdHJkSGg4NjBlN21iQVRsZ015QXU3N0Fa
a0dNMkErTHkzRlJtc3gvbDluSjUzR1krcXJzcnZMd3lVYVhqWFFtYkFSblMKeFRWSkxhaEtxaTRa
OXdJUS9rQ2ZLeGpDWjR2by90V3VJWHJQTnZVSkY5MlJwbEJnU0dmUDd0SGI3YU5tUUhyNk5KaW8x
cG81Qyt4MgpCeVFFRUVBQUFRUVFRQ0F0TUEyUEM5Si9rKzN0NjlEeDFzUHE2ajZyMzU3cDFJdnZI
ZmZ5WU5lQTFOazFJQU0yTTFLbnF4Yk8xT0w2CkdacG5nWWc3L1NyN1l1Q0ZKR0M3OGJVOTBzOXRj
NS85VkFZNHBFMnpHYjhDL1hydjRMTjY0Y2dZMTRCME5talY5YmVxeHU4bUtZOEEKQWdnZ2dBQUNr
UldZaGdGSWVsOE8ydWxXTHZobzd6aXBJNmM3OU9iUkkvcmx5WTZBTzlvRk43UHNsZkJtUHRyN2h1
VG1UcktuWUFYYwpPS3ZuQ21SbVFONjJaYjNNZ09US1RNSG56QXhJNnhoVnp6M3EzU2hnakY5WWhB
QUNDQ0NBQUFMVFZHQmFCU0R1T28vQmdmVEY1cWM2CmJlYmpkTHVPbk9uUTc4NTJxNzAvYzVxVjNj
VktGVE1reTJ2c0F2TEdHVWt2ZDZkUUpjdGl3M2YwR1VxbFoxSmM3dTZnNWZLQlZJMjYKQjZzdFQy
cHhYWVhkQlN0ZDNnVWd1WGNIbXFaakxmUnVaMjhsakczb3RMNDNhR2NqZW1ucHZJOXBZU0tsdHZa
MzlKdXpwNlhPMytpVQozVWx1VnB5VEVIMmpzZ0lDQ0NDQUFBSVJGUWcxQUlsdExtNmx3WUZlOWJR
ZjA0QmQrN0cvOVpSK2VPQ1EzckxjWGVOeHBDdHpLWE9pClVxcHJ0R2hqcGhwcnEzWG54WE4wdWVV
ejdCeXErdktZbHcvWnhlVmU0R0Y1djgya2RQWjBlbm43UU1MdW1sVXRsMTlpcDEvTnI0cDcKZHdW
eWgxNzVQa2lPYmM1M0RVVzJidzAxZTFvUGR4aWIrbjJUeVB5ZjVLYVAvSWx1cngvUUwvYitMLzMz
UFc5S1IvOUIrN3MyNjlMYQozTXZUcDc2OXRBQUJCQkJBQUFFRXBrNGcxQUFrdFNtOGp1UWptSEV6
SUM3NDZPODVvOU5kWi9XYlUrM25uM1pWYmpjU3RlQkRWYk5VClUxZWp5eGRjcEkvTnJsRzF6WDdN
dHorNXU5eWI3YkMvNnJxOHI3OVhaK3hVTHBlZjZpL1R1MTFsWGo2L09xR1o5aHdRRjN3VTRtKy8K
cVUyRlB3OXBxb01lWmtEQysvY1dkRXU1TXlDZm1OdXY5dmZyMDV2TXpJQUUzVDdySTRBQUFnZ2dn
RUIwQkVJTlFJcVhKWDI2Vko4OQpZTER0YkljNk8wNTdlZCtBZTR5ZFMrNXY2SGJhbGVXMWlUcGRW
RityMnJwYVhXRXpIL09TZHBjckN6b3FMWXBJUDNyUXpXYllmL2FBClFSZGVsSmZIbFl3bnZUdGl6
YlJ5YzIxWjVVQk1EWlVKSmN2VEFZaWJtNWhtOHhQV1k5SjBGSWlYdTF0UzJ4M2c2cGZLaFNCMkV0
WjUKRC9LY2ppNzBHUUVFRUVBQUFRUkdCS1pCQU9LQ0QzdENtajJSb0tPN1hiOTcvN0NPdFI3Ujc3
cnM5cnJkUFJrSk8rMUs4K3hWcll1cQpaK211UzVkb1plTXN6YlpyUUM2emEwQm1aMll5S2l6QWNN
azkzTHpjVHNkeXFjeUNqSVFGSVc0MnBDNFYwMnk3bEdUQWNsZTJ1aUkrCmZQdFJBaENQaTdlSUN5
UXI2MVZiTlVNZnZXU05MdEZUc3BPdzFHa1AraVFoZ0FBQ0NDQ0FBQUpaZ1drUWdMaXV1aURFblM1
bE15RHQKSFRyYVpqTWdGcFAwdWJqRVM0NmgybDUxTmdOU3E1WDFkVm8xdDFidUZCOTNUNnZzcVQ3
MmNUaTVaNEM0NU9YdXd2Vk1zcE8zU0FoTQpXNEgwRE1qTTRSa1FCekZnRC9va0lZQUFBZ2dnZ0FB
Q1dZR1JJK2Zza3NqbGR2Q1RjbitCSGRTQS9TVzJjeUNsTXhaNGROclpWL2JSClMwbWI2YWl0bnFG
a1lxYm0yY1hqN3U1WEx1aHdsODB5YzVFMjRoMkJpUWlVdWVsQlM1M2RiZDdwVjlKczFjUzVUY0JF
N0NpREFBSUkKSUlEQWRCR0lmZ0JpcDBiWnZYY3RDT20zSjU4UHFMVnpTSWZzaWMydEZuejBaczRN
cWEydTBNcWxzelczZm9HdXFFdXEwYjY3bVE5MwpLR1dYcEpNUVFHQ0NBdVd4ZExCeHJPMTMydSt0
YzRVV1ZZMDFoempCRFZJTUFRUVFRQUFCQkNJbmtQOEF4STcvWC9xMTFHWjBOMzVZCmFpekVMYUhP
MlUyWkdaQ1UzUUVyZHdiRXltUXZRWGN6SUhOdDV1T2l1VFlEWXJmT3pjNkFuTE9aU0h3WjBPNTlQ
OUJ1dStOdzdrMVIKRzJaZHBlc1dMcE83RW9hRVFCQUJaa0NDNkxFdUFnZ2dnQUFDMDBNZy93R0lI
ZVUvOW4ycDJUeDNYVzRCU082UmI0R04zWXlHKy91cwo2N1RMczZkWHVZT21TbnRRV3BVRklpN1BI
a1Jaa1lpbGJyMytzN3YxNElFeHV0WDBsTm8rczhHYitSbmpWeFloTUNHQncyMjc5ZFpBCmwzN1or
cDVYZnVtODVacVovWWMyb1MxUUNBRUVFRUFBQVFTaUxwRC8rUWlyWVZGR2NjcE9aM0s5dEZlWnZW
emc0ZHJoY3JmWXBZVGQKMGFvdW1kQ2NxZ292ZDkram1wS1phWTR0OTdibzhKKzlvYWRXclVsM3RX
V2pYbTdMM2hVc3FyMm5YL2tXK01Ydm50SC8vc1VtUGZIcgpWNzJxYnZxOTM1K0NXYzk4OTVMdEk0
QUFBZ2dnZ0VBUWdld3hlSkJ0bE15NkxxeHdnY2ZvR1pCeW13RkpabVpBWE82K1J6M1YxUzVWClk4
UFYyckJtc3pJaGlFNE9ETjhXTE9yZHAzOTVFdkJtUU43ZnFWOHdBNUluWVRhTEFBSUlJSUJBNlF2
ay94U3NJakt5cTBIc1hsanAKYXo5YzdyNjc1UEtVM1NwMHlGN3VqcUhaNWQ2UEVYMUx1aWUrVzlx
OWI0ZDNlcHkwVnRjMjFFUzB0M1NyVUFLZGcvMHF6OGF4MVZkbwo4UXl1TENxVVBmVWdnQUFDQ0NC
UUtnTFRLZ0J4VHdOeGdZYzdQbks1Kys2U0N6cTgzeks1K3g3MTlNU08yL1ZzZDdPYWo2Vjd1bVhk
Ck4zVDF0Qm9OVWQvRFU5Ty9vNFBkT21sM21mUFNncy9xK29iWlU5TVFha1VBQVFRUVFBQ0JvaFdZ
Vm9lY0xxNFlhd2JFelhrTXVlREQKSW84aGU0cDVlZzRrMnFkaHRYU2ZsRExCaDVxMjZaSGx5NHAy
a05LdzBoRndNeUJlaE8rYXpBeEk2ZXc0V29vQUFnZ2dnRUFCQlFwNgpEVWoyekl3QzlpOVRsUXNt
WXQ1L1kxMEQwamVZMHNtZVBoM3A3UFZ5OXozcWFldGRiNmo3YzF2VDNXeFpwNi90ZTc5a3V4ejl2
VlU2CnUrYXl1ZGZvK3NiTDBnM3VmRnZ2ZGRzOW4wa0lJSUFBQWdnZ2dFQ09RRUVEa0VSQmE4djJN
anVURWZQdWVsVnVZY2pvdTJDMTJ3TUsKOTdWMTZjMmpaNzNjZlk5NjZ1M3ZWdVc4KzdWOVZaUFgx
VWUzcmRlcm5hWFphemVyUlNvT2dVK3ZmRUIvY2UybjA0MDUrb0plYlR0YgpIQTJqRlFnZ2dBQUND
Q0JRTkFJRlBRWHI0UmVrMnR5dXo1RytkN01LOEFDOEQ1Z0JHUnJTeWU1KzlTUjZ0YWlpVEgzMlBm
ckpCVmx4CjNiSDZXMXF6NndhN0VMMVpON3o0cE5ydWVhRGtuZ1hDREVqeGpGWnZCbVRvVitrR01R
TlNQRHVHbGlDQUFBSUlJRkJFQWdXZGsyamUKSzIzUGZaMFlPVjA4YnliZUxYVXR6b29sVkJGUHFL
RW1vUVgxbHMrTTIvZjA3TWlnM1g2MnArdVVPczhlMTVtT05oM3U3TkhCN2dFZAo3UjFVcjdzNFpJ
TEpsUndZSEZLL3ZWenV3aGkzYk9KYm1HQkZJUlJMWnJkUmViMitjL2RENlc5N0g5U1g5cnlUL2FW
azh1d2NWOGswCk9NSU5IVW9OcVN5eFFCK3ByZlo2ZWVENDJ6b3pIZUw1Q085VHVvWUFBZ2dnZ0VE
WUF2bWZBYkVhbnQ1a3I3QmJQdUh0MlZVZlpUT3MKZEVvenEyYnFRd3RyVkZkUm84cU9BYlVjNlpJ
czcrdnRVRnZyT3lxelc5TysyemRmUDU5VnFUT3hjczJ2S05kSDZ5cTkvTUxWcFkrdwpCaTFZNmVt
MzRNUHllSm1kNm1YQmo4dGRjdGVlVEgycTBZWjdVdG93cWlITFZqNnUxS2JIUnkwdG5hL2xCUTJq
UzhkbEtsbzZhQmVoCngrdXYwYisvYUlHK2JNSHNLMjk5WHdldnVsbE43cDhnQ1FFRUVFQXVsSlF2
QUFBZ0FFbEVRVlFBQVFRUU1JSDhCeUJUem13QlFDemQKellxRW0vbElxR3d3NGQwQUtqc0RNbVFI
VGQyZHA3eVducXBNNkVoM2o1STJBK0pTajQ4TDB0MnpSRnp3NFdaQVVuYkZTZHkrcDd4TAozNmZE
ZmJVOHJpbDVZd1prU3RqSHJKUVprREZaV0lnQUFnZ2dnQUFDT1FMVElBQVo2VzNjWmpobVZ0ZFpO
TkNuV2YxZG1sZmVvL2wyCnoxQjNkeTczNkFLWDkvVDM2dWdwT3pmTVV0K01wT29IYTlWcWVkSm1N
cW9UNVY3dWhSUGVkU0l1MkJoUWIxKzNsL2NNbE90a2IxSXUKYjZoS2FQbmNLc3ZMTEFTeFNSaHZp
N3psUStBZDIxMDJXVFdTN0M0REsrc3hId0VwNUNkM3dtRk1zK3MrcEhxMTZMVDk5NnVUUi9TSgo2
b1hUNGE4ZGhZU21MZ1FRUUFBQkJFcFdZRm9GSUpYSktqWE92VmdEOVEzcUtUdWhsZSs2c0tOTGJ1
N0RYZm5nOHRNZFovWExkOTVXClphSkM5WGJLMXA3Wjg3eDhkakt1NVRWSnVWeERkdCtsSWJ1OXFP
WHRQUjA2ZHFyVnkwLzMxMmgvNTN5NXZHbEJ0ZFpkczFEVkZvaTQKWStQc3l6NlNRaGI0MGErbHQz
S25RU3pHZlBRYUMwcENyb2ZOVFVUQW5ZNVlwaFdYM0s1TDlJTGUxSDc5N1c5L3JnMkw3MUROUkZh
bgpEQUlJSUlBQUFnaEVYbUJhQlNCeHV3aDlacFdiQVptaGh0UDltbXZmNTJkMmNmWmd0YWUvejJa
QVdyMmwxVlcxYWg4cXR5Q2lYd3RuCldDQ1JxbEtQNVJxeTA3TUdlcno4Vk1jWkhXZzlKSmVmN0or
bHQ5dVRsdHN6Uit6Q2hOTjJFYnU3UmF3N05pN0dDOUV6WFMvNXpNMkEKcFBkWXBpdUd6WFhQVTdW
YmMyZEFYQnZTTXlEUnY3SDFWSGxUTHdJSUlJQUFBcVVuTUswQ0VPK2tuTXoxSUZXVjFWbzgzNFVm
NWFxMwp1MkQxOWZaNmViZGR2OUhhM1N1WEQ5cnBWVDI5ZHFHNnBWT0RjYjBYNjFGbjE3a3pJQjA5
blRwcTE0dDAyUGxiblJacVZGYzcwb1RxCjdTNWJDYnZMbGp2MXlnVWd1WCtndDYra0VBVk8yeTQ2
NXlHWDlvV0FMMFJnSDVzYVB0V3dyRTZYejcxSXpSYWNxK3UzZXJlclI5ZFUKVmZyWUVrVVJRQUFC
QkJCQUlLb0MweXNBc1R0YnFieks5bVZLYzJiSHRmcWpDWFgxZE90WVI3dVdIVDNtNWUvWkxYaGZP
M1pTTHUrego2MEhhenJTcXJLeGNwK3dha0NNbnhyb0d4RzdWMjlkajE0RElnbzl5elo1WHBjWFZO
Vm95dTBwMWxlWGVRdyt6UVVoVUI5RlU5MnUvCnpZRGtYZ0lpbStSeU0wK2t3Z3NNNzRmNEV2M2JE
Ni9TMXA4OEw1MTRVVDgrL3A5MXpkSkZoVzhRTlNLQUFBSUlJSUJBMFFtRUdvREUKTmhkZC8wWTF5
T1loN0hrZ0xsVlpjTEI0dmgwdXBRWlZmK2FVdWkySXFDOVBuN2d6STU0K2pCcXlhenk2YlliREpm
ZmU1bjI2MEZ2TQpnbys0WnR0elJ1b3l6eGx4d2Nmd1g0VXZ0R3JBMzJLYnArOGNpNXNCT1NjeEEz
SU9SeUcvREkvMXpBeUlWM2RtQnFTUTdhQXVCQkJBCkFBRUVFQ2hlZ1ZBRGtOU204RHFhOTJER08x
NjNRTVB5aW5pbFBhRFEvbXh1TXlSOThXcGRPMmpQQUtucjlrN2pjYmZWSGV0MG5wajMKZ01QMHFW
VmxaZWs3WGRYVk5HaHBnejFucEdhR2xsWlhhS1lGTXRuWmozeUhCNmxOWTdVeXZQMHgxcGFtTk9n
eDBCVkxwTlZqTld6dQpxQm1Sc2Nxd0xFU0JjaTJZdTFxcnU2V0ZGU1AvUzZtc1dxYlZTOUo3NkRK
T3Z3clJtMDBoZ0FBQ0NDQlEyZ0lqUnd1bDNZOUp0TjZDCmo3TDBwZWN6cSt3T1Y0dG1xTSt1QmJt
c2YwQk5TN3ZWWlhtL1BjZWpNNVBuVm1DWG1OdERDK1AySGxPNUJSK1Zkc0c1eTkxelJtb3EKWjNw
NXRTMmJVeGtmdnZWb3ZnT1EzUFpOaTg4VzJYMTJqZlNwc1Rwclo5a05QK2w5ck45WkZySkFVaCs5
Y3JNMkw1TXVzK0E3bTJiUAp1MDJiMTF6cGZWMDRkM1oyTVRrQ0NDQ0FBQUlJVEhPQmFSeUEySjUz
MTRSWXFyRG5lelFrMGhmSXBsSkRXakl3SUpmMzJlekhtWDY3ClFOM3kzT1JtUDhyTEVuSjUzQUtQ
cW9RRkdwYTcyWTY0dmJtY2xHZUJ6QXpJaWp4WHcrWW5JcENlQVZrd3FtaDZCc1NpRWhJQ0NDQ0EK
QUFJSUlKQWpNTDBEa0J5STdFYzNxMkdSaFp2anNHeElTVGZUWVhsdWlzVXMySEJsTEkvYnhlbnVC
Q3dYZExoWkR2Y2lJWUFBQWdnZwpnQUFDQ0NDQXdOZ0NCQ0NqWFN5d0tDdFB6NHk0MDNqS0ozUU5p
QmUyZUZzaUFCa055bmNFRUVBQUFRUVFRQUFCQkVZRUNFQkdMSVkvCnVaa05sMXd3VVpHT1JienZ2
Q0dBQUFJSUlJQUFBZ2dnZ0VBd2dmd0hJSGIyMGt1L1R0L0M5c1lQUzQxY0lCRnNqd1ZhZTBDNzkv
MUEKdS9zc3NNclpUc09zcTNUZHdtWGlNWEU1S0h4RUFBRUVFRUFBQVFRUXlJdEEvZ09RQWVteDcw
dk4xdnhkbDFzQWtudmttNWN1c2RIeApCYnIxK3MvdTFvTUh4aWpSOUpUYVByTkJzOGI0aVVVSUlJ
QUFBZ2dnZ0FBQ0NJUWxrUC81Q0tzaCsvemo5Q01BdzJvNjI1bU1RREl6CnpiSGwzaFlkL3JNMzlO
U3FOZW5OdEd6VXkyMDlrOWtrNnlDQUFBSUlJSUFBQWdnZ01HR0IvQWNnRTI0S0JRc3BVRmU3Vkkw
TlYydkQKbXMzS2hDQTZhYzlCSVNHQUFBSUlJSUFBQWdnZ2tFOEJBcEI4NmhieHRwUGw2Zm1vM2Z0
MmVLZkhTV3QxclQzRm5ZUUFBZ2dnZ0FBQwpDQ0NBUUQ0RjhuOE5TRDViejdZbkxmREVqdHYxYkhl
em1vK2xON0ZsM1RkME5hTmgwcDZzaUFBQ0NDQ0FBQUlJSURBeEFRNDVKK1lVCnVWSXQzU2VsVFBD
aHBtMTZaRGxQckk3Y1RxWkRDQ0NBQUFJSUlJQkFFUW9VOUJRc3JqQW9uaEd3OWE0MzFQMjVyZWtH
dGF6VDEvYTkKWHp5Tm95VUlJSUFBQWdnZ2dBQUNrUlVvYUFDU0tHaHRrZDFub1hTc3Q3OWJsZlB1
MS9aVlRkNzJIdDIyWHE5MmhySnBOb0lBQWdnZwpnQUFDQ0NDQXdMZ0NCVDBGNitFWHBOcmNwc3lS
dm5lemVBQmVya25CUHRzRFdoVFhIYXUvcFRXN2JyQUwwWnQxdzR0UHF1MmVCM2dXClNNSDJBUlVo
Z0FBQ0NDQ0FBQUxUVDZDZ2N4TE5lNlh0dWE4VEVxZGxUYzJnUzJhcnJieGUzN243b2ZTM3ZRL3FT
M3ZleWY1Q2pnQUMKQ0NDQUFBSUlJSUJBNkFMNW53R3hHcDdlWksvUW04NEcvUXZVYU1NOUtXMFl0
ZUt5bFk4cnRlbnhVVXY1aWdBQ0NDQ0FBQUlJSUlCQQorQUlGblFFSnYvbHNFUUVFRUVBQUFRUVFR
QUFCQkVwSmdBQ2tsUFlXYlVVQUFRUVFRQUFCQkJCQW9NUUZDRUJLZkFmU2ZBUVFRQUFCCkJCQkFB
QUVFU2trZy85ZUFCTkRZZWZCZ2dMV2p2ZXF2amg3Vm1kN2VhSGN5MDd1ZERJTXAyODg3RCs2Y3Ny
cXBHQUVFRUVBQUFRU2kKS1ZEVUFjaW01dVpvcW9mUUt4ZDg3RDkxS29RdEZmOG1OakVNcG13bmJX
cTJPMGlRRUVBQUFRUVFRQUNCRUFXS09nQmhCaVRFUFYzQwptMklHWk9wMkhqTWdVMmRQelFnZ2dB
QUNDRVJWSUpheUZFYm5ZckZZR0p0aEd5VW1FTkx3R2JmWCtSaFgrVzd6dUowcHdSL3k0VDhSCkJ2
YlJSSlFvZ3dBQ0NDQ0FRR2tLaERvREVrNG9rNFowOFV3cXhla2Y0dzJyblRZdHNNbk9UWEs1UzFO
eHdGYW9nOU93eDVYMFh6MHoKM3M0WG1FN2o2dnplc3dRQkJCQkFBQUVFQ2lIQVhiQUtvVXdkQ0ND
QUFBSUlJSUFBQWdnZzRBa1FnREFRRUVBQUFRUVFRQUFCQkJCQQpvR0FDQkNBRm82WWlCQkJBQUFF
RUVFQUFBUVFRSUFCaERDQ0FBQUlJSUlBQUFnZ2dnRURCQkFoQUNrWk5SUWdnZ0FBQ0NDQ0FBQUlJ
CklFQUF3aGhBQUFFRUVFQUFBUVFRUUFDQmdna1FnQlNNbW9vUVFBQUJCQkJBQUFFRUVFQ0FBSVF4
Z0FBQ0NDQ0FBQUlJSUlBQUFnVVQKQ1BWQmhLN1ZwL1pLTzM0cFZWU005S0hoWXVtNmowdVZtVVhE
WlJxa08yK1ZRbS9FU05WamZCcnlsblcyZGVuWXZoTnllZWVnZEt4UApYdTZlNSs3YWM5NXozY3Rz
U1puOVl2bU1tVW5WejYvMThwbkpNalhPaXN2bFJaY0czdGRMZi84VGRlVHNqSXFaRit0am43eEdq
VFZwCjlWTjdYN0g5MVhiTy92TEszUGh4TldaM1dCRjBiSGpNTUs2bWZtOUVhRnhOUFNZdFFBQUJC
QkJBWVBvSmhIN3N2LzlIMHJyUGp3RzUKUmpyOGl0Um9QdzJYYVpMYUxBQ1pOVWJ4L0N4SzJXWXQy
bEJLWi8vMXFQN3YzNzJxSTIrOXA5K2VsbDdjTHkvM1crLzh5eGFxNmRNZgprOHRYTEt6UVo2K3Q4
WEsvMjhsTCtlNmplbXpkT2pXZnQvRW1iWHY3TmQyM29zYjJ4VmR0ZjUxZlFscWpsdy8vU0RjMWhq
NUV6bXZOClJCWU1qNW5SaFJsWG8wWHkvejFDNHlyL1dOU0FBQUlJSUlBQUFxTUZRdit6ZlNLWnJt
TE5GZ3M0RHR0c3lGOW1xclJqM09kdFpzU2wKYkJuTkx2VHNSN3ArOXg0cnQxbWFhaWxabTg3ZGQ1
ZVdYdG1vLytleHRkcXk0M1A2VHZNRCtzV2I5K3Z3Mnh2MXkzKzZRLy83LzEycApyNitmcndkK3Yw
R1h6azk0NVk4ZDc5VS9OeC9UTTgrK3B4Mlc3N1B2cCt5WGRuc05lQ1dtOE0yYXVNaXJmbzJlYXpt
Z2xwZWZzckRDCnBSYjk5US8zZUo4U3lVeUpMZHQxK1BnQi9YVGJGbGxjYUtsWlgzMit4ZnRVREcv
Wk1jTzRZbHdWdzNpa0RRZ2dnQUFDQ0NBd2VZSFEKQTVCc1Uycm4yV3lIVFhmYytrZktITkJLYytx
eXZ4WnZYcEdNcTM1T3JlWXRhdEM4eFhQVitLRkZhbHl4V0IrNllyNCs4WkdrYnJsUwp1dVpTbTdX
eDRLVjAwaUpkK3FFbHV2S205Zm9QYTlPdHJxMU1CMURaUHRUT3UwaU5jNWZvK3Z2K1hQZW5veFF0
cWoyM1RMYnNWT2FNCnE2blVIMTEzZE1iVjZKN3hIUUVFRUVBQUFRVHlKNUMzODJ2T0hwZmVmMS82
UC8vRC9iM2RraDNVM3Jnc2Z4MEphOHQ5dlFNNmZhSkQKeHcrZlZsbEZ2OTQ3M3FFK3l3KyswNnJY
WGpuazVVZnNsSzMzMjlJMXpwK1hWTk9hK2NPbllDMjM3NFU3cFd5aXZUNnNRd2NPcXYrWAozOVhq
MjkwNlRWci9iMWFPV2prZGJMUWYvSWxleVp5UmRmRmltNklxc3NTNEtxWWRFcDF4VlV5cXRBVUJC
QkJBQUlHb0MrUXRBR2wrCjFFNy9zVmMyN2JOclE5ejFIOFdlRHV4K1gzLzdYLzdod3MxY3VrRDZ3
NnZzZkswRldyRWtxUyt2cnRkcXk0czNOV3Z0RlV1SG03ZTEKNVRYZHRlemNLOHkzUC9GNTNmbnNT
VzF2VHA5MjFmVFFOdjM1VGNXM3h4aFh3N3V4Q0Q1RVoxd1ZBU1pOUUFBQkJCQkFZTm9JNUMwQQph
ZnBqNlN1L0x6MzNGZWtaTzZaZGJuOWcvNm5OaWx3L3Q3aHRGeTZmbzQvZHRsSXVyMWVmbHVpc2w3
Kzk3NnhlMkhGSUx0ZUJvOUxmCjd2QTY4dFpGYy9XRlZSOVd2ZVVmWGxhbGUyNmI1K1VPZG9hOThn
YnNpN0ZKWDkvMkY5TE9KL1RGYnpmcndhWmFIZCt4VDM5eGE4NlUKVk10SjdVL1BWZG1XbS9UdExm
Y1Y0VXlPdFl4eHhianlOZllwakFBQ0NDQ0FBQUxGSnBDMzQrTkxycGJ1dU10ZWQ5cTFIeFo4Zk5O
NgovbzIvc3dEa1A1MUxNT1VYYXAvYkhOWFVWK2xEVnkzUlpSOWJySVhWTVYwN3Y4ekxCenM2OU1p
ZkhwYkxYM3ZqcFA3Yms3LzE4dE9ICld2WG04ei94dG5MMDQ0dFYzN0JhNzJteDVsWEcxRFM3ek10
SFZURUZYNXQwMjcrN1MxZmVkNWMrTnZzbTNmeTFaajM2eFJmMDRLMy8KWmJndGE3YytxeDg4a05B
RHNlWDZ0Z1VpcXg1K1h0MVAzalY4NitUaGdsUDhnWEhGdUpyaUlVajFDQ0NBQUFJSUlCQlFJRzhY
b2VlMgphMkhtb3ViY1pkNW51d09WbXlVb2lXVFAvNUM3Y0x2S0hrVGhjdmQ5Vk9ydFQ2bjF6S0FP
blJqd2N2ZTlPRks3K2pPUlhpSUwzdktTCjNuVzM2c3FtM2k3N3RFeGYvZW5YMDB1K2ZiY2UrZUhC
N0s5Rm1UT3VwbnEzUkhOY1RiVXE5U09BQUFJSUlCQjFnYnpOZ0d4L1F2b2oKTzB2cEdlK2k1elRq
L0Rtak9PMjNlMjJHSkp2TzdwZis0elBTZlhhbnFhbEtoKzNoaE52L2FxZXFiU2FrVXYxMkdsS3Zs
NTg4M2ErMwo5N2ZMNWVPbHFvb3lMVzZJYThXQ0NzMjJTMExjOStKSTI3WFJvR2Z2MzY3TUpSNTJV
NEI3dExMR3ppWWIxY0M1MTM5TzI5Wi9VZXRzClAzeHo3VWI5Z1QwTDVOWWllUmFJYXlyamluRTFh
c2p5RlFFRUVFQUFBUVJLVENEOEFDUjdMYlpkOStHdS9mQ1NQVmhpeXhla2grN0wKZk0rV3NhL2Jj
d0lVOSt1ZDR4L2ZaMWJPYjlaNXVrdnZ2UG5lQlN1cG5sMnJCVmRjSkpjdldWcW4xVGNzOXZLNU04
dTBzakVwbHhkYgphaG1HdGp0Z1BmUW4rdktqOTh2aUQzc1FTbFc2cWNQN3BFYjMvYytYOWRmUDNH
eFBBbW5XYlYvOGUzVS9mZC9VbjRxVmJSL2pxcWlHClZzbVBxNkxTcERFSUlJQUFBZ2hNRDRGWXls
SVlYWTNGWWdwblMrblcyT1pzZTV2Q2FGb2t0N0Z6NTBGdDJ0UXNsN3NVMG03MFpaWGUKNTZFTW4z
SHJaVnlOUzVPWEg2Ykx1TW9MSGh0RkFBRUVFRUFBZ1FrSkZOK2Y2aWZVYkFvaGdBQUNDQ0NBQUFJ
SUlJQkFLUW9RZ0pUaQpYcVBOQ0NDQUFBSUlJSUFBQWdpVXFBQUJTSW51T0pxTkFBSUlJSUFBQWdn
Z2dFQXBDaENBbE9KZW84MElJSUFBQWdnZ2dBQUNDSlNvCkFBRklpZTQ0bW8wQUFnZ2dnQUFDQ0ND
QVFDa0tFSUNVNGw2anpRZ2dnQUFDQ0NDQUFBSUlsS2dBQVVpSjdqaWFqUUFDQ0NDQUFBSUkKSUlC
QUtRb1FnSlRpWHFQTkNDQ0FBQUlJSUlBQUFnaVVxRUJvRHlJc0t5dWJrb2ZobGFoN0pKcnRIaEk0
TkRTVTE3NHdydkxLVzVRYgpMOFM0S3NxTzB5Z0VFRUFBQVFTbWlVQm9BY2cwOGFLYkNDQ0FBQUlJ
SUlBQUFnZ2dFRUNBVTdBQzRMRXFBZ2dnZ0FBQ0NDQ0FBQUlJCitCTWdBUEhuUldrRUVFQUFBUVFR
UUFBQkJCQUlJRUFBRWdDUFZSRkFBQUVFRUVBQUFRUVFRTUNmQUFHSVB5OUtJNEFBQWdnZ2dBQUMK
Q0NDQVFBQUJBcEFBZUt5S0FBSUlJSUFBQWdnZ2dBQUMvZ1FJUVB4NVVSb0JCQkJBQUFFRUVFQUFB
UVFDQ0JDQUJNQmpWUVFRUUFBQgpCQkJBQUFFRUVQQW5RQURpejR2U0NDQ0FBQUlJSUlBQUFnZ2dF
RUNBQUNRQUhxc2lnQUFDQ0NDQUFBSUlJSUNBUHdFQ0VIOWVsRVlBCkFRUVFRQUFCQkJCQUFJRUFB
Z1FnQWZCWUZRRUVFRUFBQVFRUVFBQUJCUHdKRUlENDg2STBBZ2dnZ0FBQ0NDQ0FBQUlJQkJBZ0FB
bUEKeDZvSUlJQUFBZ2dnZ0FBQ0NDRGdUNEFBeEo4WHBSRkFBQUVFRUVBQUFRUVFRQ0NBQUFGSUFE
eFdSUUFCQkJCQUFBRUVFRUFBQVg4QwpCQ0QrdkNpTkFBSUlJSUFBQWdnZ2dBQUNBUVFJUUFMZ3NT
b0NDQ0NBQUFJSUlJQUFBZ2o0RXlBQThlZEZhUVFRUUFBQkJCQkFBQUVFCkVBZ2dRQUFTQUk5VkVV
QUFBUVFRUUFBQkJCQkF3SjhBQVlnL0wwb2pnQUFDQ0NDQUFBSUlJSUJBQUFFQ2tBQjRySW9BQWdn
Z2dBQUMKQ0NDQUFBTCtCQWhBL0hsUkdnRUVFRUFBQVFRUVFBQUJCQUlJRUlBRXdHTlZCQkJBQUFF
RUVFQUFBUVFROENkQUFPTFBpOUlJSUlBQQpBZ2dnZ0FBQ0NDQVFRSUFBSkFBZXF5S0FBQUlJSUlB
QUFnZ2dnSUEvQVFJUWYxNlVSZ0FCQkJCQUFBRUVFRUFBZ1FBQ0JDQUI4RmdWCkFRUVFRQUFCQkJC
QUFBRUUvQWtRZ1Bqem9qUUNDQ0NBQUFJSUlJQUFBZ2dFRUNBQUNZREhxZ2dnZ0FBQ0NDQ0FBQUlJ
SU9CUGdBREUKbnhlbEVVQUFBUVFRUUFBQkJCQkFJSUFBQVVnQVBGWkZBQUVFRUVBQUFRUVFRQUFC
ZndJRUlQNjhLSTBBQWdnZ2dBQUNDQ0NBQUFJQgpCQWhBQXVDeEtnSUlJSUFBQWdnZ2dBQUNDUGdU
SUFEeDUwVnBCQkJBQUFFRUVFQUFBUVFRQ0NCQUFCSUFqMVVSUUFBQkJCQkFBQUVFCkVFREFud0FC
aUQ4dlNpT0FBQUlJSUlBQUFnZ2dnRUFBQVFLUUFIaXNpZ0FDQ0NDQUFBSUlJSUFBQXY0RUNFRDhl
VkVhQVFRUVFBQUIKQkJCQUFBRUVBZ2dRZ0FUQVkxVUVFRUFBQVFRUVFBQUJCQkR3SjBBQTRzK0ww
Z2dnZ0FBQ0NDQ0FBQUlJSUJCQWdBQWtBQjZySW9BQQpBZ2dnZ0FBQ0NDQ0FnRDhCQWhCL1hwUkdB
QUVFRUVBQUFRUVFRQUNCQUFJRUlBSHdXQlVCQkJCQUFBRUVFRUFBQVFUOENSQ0ErUE9pCk5BSUlJ
SUFBQWdnZ2dBQUNDQVFRSUFBSmdNZXFDQ0NBQUFJSUlJQUFBZ2dnNEUrQUFNU2ZGNlVSUUFBQkJC
QkFBQUVFRUVBZ2dBQUIKU0FBOFZrVUFBUVFRUUFBQkJCQkFBQUYvQWdRZy9yd29qUUFDQ0NDQUFB
SUlJSUFBQWdFRUNFQUM0TEVxQWdnZ2dBQUNDQ0NBQUFJSQorQk1nQVBIblJXa0VFRUFBQVFRUVFB
QUJCQkFJSUVBQUVnQ1BWUkZBQUFFRUVFQUFBUVFRUU1DZkFBR0lQeTlLSTRBQUFnZ2dnQUFDCkND
Q0FRQUFCQXBBQWVLeUtBQUlJSUlBQUFnZ2dnQUFDL2dRSVFQeDVVUm9CQkJCQUFBRUVFRUFBQVFR
Q0NCQ0FCTUJqVlFRUVFBQUIKQkJCQUFBRUVFUEFuUUFEaXo0dlNDQ0NBQUFJSUlJQUFBZ2dnRUVD
QUFDUUFIcXNpZ0FBQ0NDQ0FBQUlJSUlDQVB3RUNFSDllbEVZQQpBUVFRUUFBQkJCQkFBSUVBQWdR
Z0FmQllGUUVFRUVBQUFRUVFRQUFCQlB3SkVJRDQ4NkkwQWdnZ2dBQUNDQ0NBQUFJSUJCQWdBQW1B
Cng2b0lJSUFBQWdnZ2dBQUNDQ0RnVDRBQXhKOFhwUkZBQUFFRUVFQUFBUVFRUUNDQUFBRklBRHhX
UlFBQkJCQkFBQUVFRUVBQUFYOEMKQkNEK3ZDaU5BQUlJSUlBQUFnZ2dnQUFDQVFRSVFBTGdzU29D
Q0NDQUFBSUlJSUFBQWdqNEV5QUE4ZWRGYVFRUVFBQUJCQkJBQUFFRQpFQWdnUUFBU0FJOVZFVUFB
QVFRUVFBQUJCQkJBd0o4QUFZZy9MMG9qZ0FBQ0NDQ0FBQUlJSUlCQUFBRUNrQUI0cklvQUFnZ2dn
QUFDCkNDQ0FBQUwrQkFoQS9IbFJHZ0VFRUVBQUFRUVFRQUFCQkFJSUVJQUV3R05WQkJCQUFBRUVF
RUFBQVFRUThDZEFBT0xQaTlJSUlJQUEKQWdnZ2dBQUNDQ0FRUUlBQUpBQWVxeUtBQUFJSUlJQUFB
Z2dnZ0lBL0FRSVFmMTZVUmdBQkJCQkFBQUVFRUVBQWdRQUNCQ0FCOEZnVgpBUVFRUUFBQkJCQkFB
QUVFL0FrUWdQanpvalFDQ0NDQUFBSUlJSUFBQWdnRUVDQUFDWURIcWdnZ2dBQUNDQ0NBQUFJSUlP
QlBnQURFCm54ZWxFVUFBQVFRUVFBQUJCQkJBSUlBQUFVZ0FQRlpGQUFFRUVFQUFBUVFRUUFBQmZ3
SUVJUDY4S0kwQUFnZ2dnQUFDQ0NDQUFBSUIKQkFoQUF1Q3hLZ0lJSUlBQUFnZ2dnQUFDQ1BnVElB
RHg1MFZwQkJCQUFBRUVFRUFBQVFRUUNDQkFBQklBajFVUlFBQUJCQkJBQUFFRQpFRURBbndBQmlE
OHZTaU9BQUFJSUlJQUFBZ2dnZ0VBQUFRS1FBSGlzaWdBQ0NDQ0FBQUlJSUlBQUF2NEVDRUQ4ZVZF
YUFRUVFRQUFCCkJCQkFBQUVFQWdnUWdBVEFZMVVFRUVBQUFRUVFRQUFCQkJEd0owQUE0cytMMGdn
Z2dBQUNDQ0NBQUFJSUlCQkFnQUFrQUI2cklvQUEKQWdnZ2dBQUNDQ0NBZ0Q4QkFoQi9YcFJHQUFF
RUVFQUFBUVFRUUFDQkFBSUVJQUh3V0JVQkJCQkFBQUVFRUVBQUFRVDhDUkNBK1BPaQpOQUlJSUlB
QUFnZ2dnQUFDQ0FRUUlBQUpnTWVxQ0NDQUFBSUlJSUFBQWdnZzRFK0FBTVNmRjZVUlFBQUJCQkJB
QUFFRUVFQWdnQUFCClNBQThWa1VBQVFRUVFBQUJCQkJBQUFGL0FnUWcvcndvalFBQ0NDQ0FBQUlJ
SUlBQUFnRUVDRUFDNExFcUFnZ2dnQUFDQ0NDQUFBSUkKK0JNZ0FQSG5SV2tFRUVBQUFRUVFRQUFC
QkJBSUlFQUFFZ0NQVlJGQUFBRUVFRUFBQVFRUVFNQ2ZBQUdJUHk5S0k0QUFBZ2dnZ0FBQwpDQ0NB
UUFBQkFwQUFlS3lLQUFJSUlJQUFBZ2dnZ0FBQy9nUUlRUHg1VVJvQkJCQkFBQUVFRUVBQUFRUUND
QkNBQk1CalZRUVFRQUFCCkJCQkFBQUVFRVBBblFBRGl6NHZTQ0NDQUFBSUlJSUFBQWdnZ0VFQ0FB
Q1FBSHFzaWdBQUNDQ0NBQUFJSUlJQ0FQd0VDRUg5ZWxFWUEKQVFRUVFBQUJCQkJBQUlFQUFnUWdB
ZkJZRlFFRUVFQUFBUVFRUUFBQkJQd0pFSUQ0ODZJMEFnZ2dnQUFDQ0NDQUFBSUlCQkFnQUFtQQp4
Nm9JSUlBQUFnZ2dnQUFDQ0NEZ1Q0QUF4SjhYcFJGQUFBRUVFRUFBQVFRUVFDQ0FBQUZJQUR4V1JR
QUJCQkJBQUFFRUVFQUFBWDhDCkJDRCt2Q2lOQUFJSUlJQUFBZ2dnZ0FBQ0FRUUlRQUxnc1NvQ0ND
Q0FBQUlJSUlBQUFnajRFeUFBOGVkRmFRUVFRQUFCQkJCQUFBRUUKRUFnZ1FBQVNBSTlWRVVBQUFR
UVFRQUFCQkJCQXdKOEFBWWcvTDBvamdBQUNDQ0NBQUFJSUlJQkFBQUVDa0FCNHJJb0FBZ2dnZ0FB
QwpDQ0NBQUFMK0JBaEEvSGxSR2dFRUVFQUFBUVFRUUFBQkJBSUlFSUFFd0dOVkJCQkFBQUVFRUVB
QUFRUVE4Q2RBQU9MUGk5SUlJSUFBCkFnZ2dnQUFDQ0NBUVFJQUFKQUFlcXlLQUFBSUlJSUFBQWdn
Z2dJQS9BUUlRZjE2VVJnQUJCQkJBQUFFRUVFQUFnUUFDQkNBQjhGZ1YKQVFRUVFBQUJCQkJBQUFF
RS9Ba1FnUGp6b2pRQ0NDQ0FBQUlJSUlBQUFnZ0VFQ0FBQ1lESHFnZ2dnQUFDQ0NDQUFBSUlJT0JQ
Z0FERQpueGVsRVVBQUFRUVFRQUFCQkJCQUlJQUFBVWdBUEZaRkFBRUVFRUFBQVFRUVFBQUJmd0lF
SVA2OEtJMEFBZ2dnZ0FBQ0NDQ0FBQUlCCkJBaEFBdUN4S2dJSUlJQUFBZ2dnZ0FBQ0NQZ1RJQUR4
NTBWcEJCQkFBQUVFRUVBQUFRUVFDQ0JBQUJJQWoxVVJRQUFCQkJCQUFBRUUKRUVEQW53QUJpRDh2
U2lPQUFBSUlJSUFBQWdnZ2dFQUFBUUtRQUhpc2lnQUNDQ0NBQUFJSUlJQUFBdjRFQ0VEOGVWRWFB
UVFRUUFBQgpCQkJBQUFFRUFnZ1FnQVRBWTFVRUVFQUFBUVFRUUFBQkJCRHdKMEFBNHMrTDBnZ2dn
QUFDQ0NDQUFBSUlJQkJBZ0FBa0FCNnJJb0FBCkFnZ2dnQUFDQ0NDQWdEOEJBaEIvWHBSR0FBRUVF
RUFBQVFRUVFBQ0JBQUlFSUFId1dCVUJCQkJBQUFFRUVFQUFBUVQ4Q1JDQStQT2kKTkFJSUlJQUFB
Z2dnZ0FBQ0NBUVFJQUFKZ01lcUNDQ0FBQUlJSUlBQUFnZ2c0RStBQU1TZkY2VVJRQUFCQkJCQUFB
RUVFRUFnZ0FBQgpTQUE4VmtVQUFRUVFRQUFCQkJCQUFBRi9BZ1FnL3J3b2pRQUNDQ0NBQUFJSUlJ
QUFBZ0VFQ0VBQzRMRXFBZ2dnZ0FBQ0NDQ0FBQUlJCitCTWdBUEhuUldrRUVFQUFBUVFRUUFBQkJC
QUlJRUFBRWdDUFZSRkFBQUVFRUVBQUFRUVFRTUNmQUFHSVB5OUtJNEFBQWdnZ2dBQUMKQ0NDQVFB
QUJBcEFBZUt5S0FBSUlJSUFBQWdnZ2dBQUMvZ1FJUVB4NVVSb0JCQkJBQUFFRUVFQUFBUVFDQ0JD
QUJNQmpWUVFRUUFBQgpCQkQ0Lzl1dlF4c0FBQUNFWWY5L3pRMEx0aDVNM1FnUUlFQ2dDUWlRNW1W
TmdBQUJBZ1FJRUNCQWdNQWhJRUFPUEZjQ0JBZ1FJRUNBCkFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FB
QkFnUUlIQUlDNU1CekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNCQWdNQWgKSUVB
T1BGY0NCQWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVD
QkFnUUlFQ2dDUWlRNW1WTgpnQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRSUVDQUFBRUNCSnFB
QUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVDCkJBZ1FJRUNnQ1FpUTVtVk5nQUFC
QWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQkFnUUkK
SEFJQzVNQnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NC
QWdRSUVDQUFBRUNCSnFBQUdsZQoxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNBQUFFQ0JBZ1FJ
RUNnQ1FpUTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRCklFQ0FBQUVDQkpxQUFHbGUx
Z1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCQWdRSUVD
QkEKZ01BaElFQU9QRmNDQkFnUUlFQ0FBQUVDQkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVN
QnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUQo1bVZOZ0FBQkFnUUlFQ0JBZ01BaElFQU9QRmNDQkFnUUlF
Q0FBQUVDQkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNBCkFBRUNCQWdRSUVDZ0NR
aVE1bVZOZ0FBQkFnUUlFQ0JBZ1BzVW8rUUFBQWd2U1VSQlZNQWhJRUFPUEZjQ0JBZ1FJRUNBQUFF
Q0JKcUEKQUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1W
TmdBQUJBZ1FJRUNCQWdNQWhJRUFPUEZjQwpCQWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FB
QkFnUUlIQUlDNU1CekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJCkVDQkFnTUFoSUVB
T1BGY0NCQWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVD
QkFnUUlFQ2cKQ1FpUTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRSUVDQUFBRUNCSnFB
QUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CegpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFC
QWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBCmdBQUJBZ1FJ
SEFJQzVNQnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NC
QWdRSUVDQUFBRUMKQkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNBQUFFQ0JBZ1FJ
RUNnQ1FpUTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBTwpQRmNDQkFnUUlFQ0FBQUVDQkpxQUFHbGUx
Z1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCCkFnUUlF
Q0JBZ01BaElFQU9QRmNDQkFnUUlFQ0FBQUVDQkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVN
QnpKVUNBQUFFQ0JBZ1EKSUVDZ0NRaVE1bVZOZ0FBQkFnUUlFQ0JBZ01BaElFQU9QRmNDQkFnUUlF
Q0FBQUVDQkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQwo1TUJ6SlVDQUFBRUNCQWdRSUVDZ0NR
aVE1bVZOZ0FBQkFnUUlFQ0JBZ01BaElFQU9QRmNDQkFnUUlFQ0FBQUVDQkpxQUFHbGUxZ1FJCkVD
QkFnQUFCQWdRSUhBSUM1TUJ6SlVDQUFBRUNCQWdRSUVDZ0NRaVE1bVZOZ0FBQkFnUUlFQ0JBZ01B
aElFQU9QRmNDQkFnUUlFQ0EKQUFFQ0JKcUFBR2xlMWdRSUVDQkFnQUFCQWdRSUhBSUM1TUJ6SlVD
QUFBRUNCQWdRSUVDZ0NRaVE1bVZOZ0FBQkFnUUlFQ0JBZ01BaApJRUFPUEZjQ0JBZ1FJRUNBQUFF
Q0JKcUFBR2xlMWdRSUVDQkFnQUFCQWdRSUhBSUM1TUJ6SlVDQUFBRUNCQWdRSUVDZ0NRaVE1bVZO
CmdBQUJBZ1FJRUNCQWdNQWhJRUFPUEZjQ0JBZ1FJRUNBQUFFQ0JKcUFBR2xlMWdRSUVDQkFnQUFC
QWdRSUhBSUM1TUJ6SlVDQUFBRUMKQkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNCQWdNQWhJRUFP
UEZjQ0JBZ1FJRUNBQUFFQ0JKcUFBR2xlMWdRSUVDQkFnQUFCQWdRSQpIQUlDNU1CekpVQ0FBQUVD
QkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNCQWdNQWhJRUFPUEZjQ0JBZ1FJRUNBQUFFQ0JKcUFB
R2xlCjFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1WTmdBQUJB
Z1FJRUNCQWdNQWhJRUFPUEZjQ0JBZ1EKSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQkFnUUlI
QUlDNU1CekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNCQQpnTUFoSUVBT1BGY0NC
QWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVDQkFnUUlF
Q2dDUWlRCjVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRSUVDQUFBRUNCSnFBQUdsZTFn
UUlFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0EKQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCQWdRSUVD
QkFnTUFoSUVBT1BGY0NCQWdRSUVDQUFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQgpBZ1FJSEFJQzVN
QnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0NCQWdRSUVD
QUFBRUNCSnFBCkFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNBQUFFQ0JBZ1FJRUNnQ1Fp
UTVtVk5nQUFCQWdRSUVDQkFnTUFoSUVBT1BGY0MKQkFnUUlFQ0FBQUVDQkpxQUFHbGUxZ1FJRUNC
QWdBQUJBZ1FJSEFJQzVNQnpKVUNBQUFFQ0JBZ1FJRUNnQ1FpUTVtVk5nQUFCQWdRSQpFQ0JBZ01B
aElFQU9QRmNDQkFnUUlFQ0FBQUVDQkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnpKVUNB
QUFFQ0JBZ1FJRUNnCkNRaVE1bVZOZ0FBQkFnUUlFQ0JBZ01BaElFQU9QRmNDQkFnUUlFQ0FBQUVD
QkpxQUFHbGUxZ1FJRUNCQWdBQUJBZ1FJSEFJQzVNQnoKSlVDQUFBRUNCQWdRSUVDZ0NRaVE1bVZO
Z0FBQkFnUUlFQ0JBZ01BaElFQU9QRmNDQkFnUUlFQ0FBQUVDQkpxQUFHbGUxZ1FJRUNCQQpnQUFC
QWdRSUhBSUM1TUJ6SlVDQUFBRUNCQWdRSUVDZ0NRaVE1bVZOZ0FBQkFnUUlFQ0JBZ01BaElFQU9Q
RmNDQkFnUUlFQ0FBQUVDCkJKcUFBR2xlMWdRSUVDQkFnQUFCQWdRSUhBSUM1TUJ6SlVDQUFBRUNC
QWdRSUVDZ0NRaVE1bVZOZ0FBQkFnUUlFQ0JBZ01BaElFQU8KUEZjQ0JBZ1FJRUNBQUFFQ0JKcUFB
R2xlMWdRSUVDQkFnQUFCQWdRSUhBSUM1TUJ6SlVDQUFBRUNCQWdRSUVDZ0NRaVE1bVZOZ0FBQgpB
Z1FJRUNCQWdNQWhJRUFPUEZjQ0JBZ1FJRUNBQUFFQ0JKcUFBR2xlMWdRSUVDQkFnQUFCQWdRSUhB
SUM1TUJ6SlVDQUFBRUNCQWdRCklFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNCQWdNQWhJRUFPUEZjQ0JB
Z1FJRUNBQUFFQ0JKcUFBR2xlMWdRSUVDQkFnQUFCQWdRSUhBSUMKNU1CekpVQ0FBQUVDQkFnUUlF
Q2dDUWlRNW1WTmdBQUJBZ1FJRUNCQWdNQWhJRUFPUEZjQ0JBZ1FJRUNBQUFFQ0JKcUFBR2xlMWdR
SQpFQ0JBZ0FBQkFnUUlIQUlDNU1CekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNC
QWdNQWhJRUFPUEZjQ0JBZ1FJRUNBCkFBRUNCSnFBQUdsZTFnUUlFQ0JBZ0FBQkFnUUlIQUlDNU1C
ekpVQ0FBQUVDQkFnUUlFQ2dDUWlRNW1WTmdBQUJBZ1FJRUNCQWdNQWgKSUVBT1BGY0NCQWdRSUVD
QUFBRUNCSnJBQUpCMWorQXlFcUYxQUFBQUFFbEZUa1N1UW1DQwoK
</data>
<flag name="commit-queue"
          id="102172"
          type_id="3"
          status="-"
          setter="webkit-ews"
    />
          </attachment>
      

    </bug>

</bugzilla>