<?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>121859</bug_id>
          
          <creation_ts>2013-09-24 13:20:42 -0700</creation_ts>
          <short_desc>[mac] Stop using DrawingAreaImpl on PLATFORM(MAC)</short_desc>
          <delta_ts>2013-10-02 14:17:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>121874</dependson>
    
    <dependson>122006</dependson>
    
    <dependson>122007</dependson>
    
    <dependson>122172</dependson>
          <blocked>121856</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eflews.bot</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>WebkitBugTracker</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>932690</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-09-24 13:20:42 -0700</bug_when>
    <thetext>We should be using TiledCoreAnimationDrawingArea everywhere, including for tests. It should be the only drawing area you can acquire when making a WKView, and should happen automatically.

This would be relatively straightforward, except for two things:

* TCADA currently explicitly forces use of threaded scrolling, which breaks a number of tests. These two things aren&apos;t necessarily related and should be decoupled.

* Using tiled drawing means the layer tree dumps will be slightly different for some tests, so we need to adjust layer tree output to be consistent (otherwise Mac-WK2 will be different from Mac-WK1 and all the other ports).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>932691</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-09-24 13:21:12 -0700</bug_when>
    <thetext>&lt;rdar://problem/15069359&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935304</commentid>
    <comment_count>2</comment_count>
      <attachid>213141</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-01 18:31:09 -0700</bug_when>
    <thetext>Created attachment 213141
preliminary</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935306</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-01 18:41:06 -0700</bug_when>
    <thetext>*** Bug 122006 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935308</commentid>
    <comment_count>4</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-01 18:41:39 -0700</bug_when>
    <thetext>*** Bug 122007 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935318</commentid>
    <comment_count>5</comment_count>
      <attachid>213141</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2013-10-01 19:10:54 -0700</bug_when>
    <thetext>Comment on attachment 213141
preliminary

Attachment 213141 did not pass efl-wk2-ews (efl-wk2):
Output: http://webkit-queues.appspot.com/results/2905264</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935429</commentid>
    <comment_count>6</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-02 10:15:51 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; (From update of attachment 213141 [details])
&gt; Attachment 213141 [details] did not pass efl-wk2-ews (efl-wk2):
&gt; Output: http://webkit-queues.appspot.com/results/2905264

&gt;c++: internal compiler error: Killed (program cc1plus)
&gt;Please submit a full bug report, with preprocessed source if appropriate.
&gt; See &lt;file:///usr/share/doc/gcc-4.7/README.Bugs&gt; for instructions.
&gt; make[2]: *** [Source/WebCore/CMakeFiles/WebCore.dir/html/canvas/WebGLRenderingContext.cpp.o] Error 4

Sounds like something that I didn&apos;t cause.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935532</commentid>
    <comment_count>7</comment_count>
      <attachid>213195</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-02 13:51:25 -0700</bug_when>
    <thetext>Created attachment 213195
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935534</commentid>
    <comment_count>8</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-02 14:00:17 -0700</bug_when>
    <thetext>I filed a bunch of bugs about test regressions:

https://bugs.webkit.org/show_bug.cgi?id=122233 - A variety of regions tests have overflow which is not accounted for, and fail
https://bugs.webkit.org/show_bug.cgi?id=122234 - A bunch of tests fail with minor color mismatches (I&apos;m going to look at this one next, along with some other things)
https://bugs.webkit.org/show_bug.cgi?id=122235 - Some css3/ tests fail with fringing around tiled background-images that intersect tile boundaries
https://bugs.webkit.org/show_bug.cgi?id=122237 - fast/table/crash-section-logical-height-changed-needsCellRecalc.html asserts
https://bugs.webkit.org/show_bug.cgi?id=122238 - fast/layers/no-clipping-overflow-hidden-added-after-transform.html fails with tiled drawing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>935543</commentid>
    <comment_count>9</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2013-10-02 14:17:21 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/156793</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213141</attachid>
            <date>2013-10-01 18:31:09 -0700</date>
            <delta_ts>2013-10-02 13:51:25 -0700</delta_ts>
            <desc>preliminary</desc>
            <filename>dai.diff</filename>
            <type>text/plain</type>
            <size>127765</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3
OWNlZjgzLi5iYjkwYjc0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0
RXhwZWN0YXRpb25zCkBAIC0zNDgsNiArMzQ4LDUxIEBAIHdlYmtpdC5vcmcvYi8xMDcwMTggc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1saW5lYXItZGlzY3JldGUtYWRkaXRpdmUtYi5zdmcgWyBJbWFn
CiB3ZWJraXQub3JnL2IvMTA3MDE4IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtbGluZWFyLWRpc2Ny
ZXRlLWFkZGl0aXZlLWMuc3ZnICBbIEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiB3ZWJraXQub3Jn
L2IvMTA3MDE4IHN2Zy9hbmltYXRpb25zL21vemlsbGEvYW5pbWF0ZU1vdGlvbi1tcGF0aC1wYXRo
TGVuZ3RoLTEuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBQYXNzIF0KIAorIyBGaWxlIGEgYnVnOyBy
ZWdpb24gb3ZlcmZsb3cgZG9lc24ndCB3b3JrIHdpdGggdGlsZWQgZHJhd2luZy4gSHlhdHQgc2F5
cyB0byBub3RpZnkgbWlobmVhIG9yIGFidWN1ci4KK2Zhc3QvcmVnaW9ucy9wZXJjZW50YWdlLW1h
cmdpbnMtbWl4ZWQtbHRyLWRvbWluYW50LXJlZ2lvbnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQorZmFzdC9yZWdpb25zL3BlcmNlbnRhZ2UtbWFyZ2lucy1taXhlZC1ydGwtZG9taW5hbnQtcmVn
aW9ucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L3JlZ2lvbnMvcGVyY2VudGFnZS1t
YXJnaW5zLXJ0bC12YXJpYWJsZS13aWR0aC1yZWdpb25zLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJl
IF0KK2Zhc3QvcmVnaW9ucy9wZXJjZW50YWdlLW1hcmdpbnMtdmFyaWFibGUtd2lkdGgtcmVnaW9u
cy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitmYXN0L3JlZ2lvbnMvZnJhbWUtdmlldy1vdmVy
Zmxvdy1zY3JvbGwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorCisjIENvbG9yIHNwYWNlIGlz
c3VlcyB0aGF0IHdpbGwgbW9zdCBsaWtlbHkgYmUgcmVzb2x2ZWQgYnkgYSBmdXR1cmUgcGF0Y2gu
CitmYXN0L2Nzcy9jb21wdXRlZC1pbWFnZS13aWR0aC13aXRoLXBlcmNlbnQtaGVpZ2h0Lmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK3N2Zy9maWx0ZXJzL2NvbG9yLXNwYWNlLWNvbnZlcnNpb24u
c3ZnICBbIEltYWdlT25seUZhaWx1cmUgXQorc3ZnL21hc2tpbmcvbWFzay10eXBlLWx1bWluYW5j
ZS5zdmcgIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitzdmcvbWFza2luZy9tYXNrLXR5cGUtbm90LXNl
dC5zdmcgIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitzdmcvZmlsdGVycy9mZVNwZWN1bGFyTGlnaHQt
cHJlbXVsdGlwbGllZC5zdmcgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3N2Zy9maWx0ZXJzL2ZpbHRl
ci1jeWNsZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitjc3MzL2ZpbHRlcnMvbnVsbC1lZmZl
Y3QtY2hlY2suaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorZmFzdC9pbWFnZXMvcGRmLWFzLWlt
YWdlLXdpdGgtYW5ub3RhdGlvbnMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorY3NzMy9maWx0
ZXJzL2N1c3RvbS9jb21wb3NpdGVkL2N1c3RvbS1maWx0ZXItYmxlbmQtbW9kZXMuaHRtbCBbIElt
YWdlT25seUZhaWx1cmUgXQorY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLWEtdGV4
LWNvb3JkLW9wdGlvbmFsLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2NzczMvZmlsdGVycy9j
dXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS11bmlmb3JtLWluZGlyZWN0LWluZGV4Lmh0bWwgWyBJ
bWFnZU9ubHlGYWlsdXJlIF0KK2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJh
eS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1m
aWx0ZXItYmxlbmQtbW9kZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQorY3NzMy9maWx0ZXJz
L2N1c3RvbS9jdXN0b20tZmlsdGVyLWNoYW5nZS1ibGVuZC1tb2RlLmh0bWwgWyBJbWFnZU9ubHlG
YWlsdXJlIF0KK2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci5odG1sIFsg
SW1hZ2VPbmx5RmFpbHVyZSBdCitjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItZGV0
YWNoZWQtbWVzaC13aXRoLW1lc2gtYm94LXR5cGUuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQor
Y3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLW1hdE4uaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQorY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLW1lc2gtY29sdW1uLXJv
dy1vcmRlci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1
c3RvbS1maWx0ZXItdS1tZXNoLWJveC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitjc3MzL2Zp
bHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItdS1tZXNoLXNpemUuaHRtbCBbIEltYWdlT25seUZh
aWx1cmUgXQorY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXUtdGV4dHVyZS1zaXpl
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK2NzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZp
bHRlci11LXRpbGUtc2l6ZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCitjc3MzL2ZpbHRlcnMv
Y3VzdG9tL2N1c3RvbS1maWx0ZXItdW5hdmFpbGFibGUtdmFyeWluZy5odG1sIFsgSW1hZ2VPbmx5
RmFpbHVyZSBdCitjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY2xhbXAtY3NzLWNv
bG9yLW1hdHJpeC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgVGlsZWQgYmFja2dyb3Vu
ZCBpbWFnZXMgdGhhdCBpbnRlcnNlY3QgdGhlIHRpbGVzIGFyZSBnZXR0aW5nIHdlaXJkIGZyaW5n
aW5nLgorY3NzMy9tYXNraW5nL21hc2stcmVwZWF0LXNwYWNlLWJvcmRlci5odG1sCitjc3MzL21h
c2tpbmcvbWFzay1yZXBlYXQtc3BhY2UtcGFkZGluZy5odG1sCitjc3MzL2JhY2tncm91bmQvYmFj
a2dyb3VuZC1yZXBlYXQtc3BhY2UtYm9yZGVyLmh0bWwKK2NzczMvYmFja2dyb3VuZC9iYWNrZ3Jv
dW5kLXJlcGVhdC1zcGFjZS1wYWRkaW5nLmh0bWwKKworIyBTZWVtaW5nbHkgcmVhbCBmYWlsdXJl
cy4KK2Zhc3QvbGF5ZXJzL25vLWNsaXBwaW5nLW92ZXJmbG93LWhpZGRlbi1hZGRlZC1hZnRlci10
cmFuc2Zvcm0uaHRtbAorCisjIEFzc2VydGlvbiBmYWlsdXJlLgorZmFzdC90YWJsZS9jcmFzaC1z
ZWN0aW9uLWxvZ2ljYWwtaGVpZ2h0LWNoYW5nZWQtbmVlZHNDZWxsUmVjYWxjLmh0bWwKKwogIyMj
IEVORCBPRiAoMSkgQ2xhc3NpZmllZCBmYWlsdXJlcyB3aXRoIGJ1ZyByZXBvcnRzCiAjIyMjIyMj
IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFj
a2dyb3VuZC1wYWludGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvY29tcG9zaXRpbmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3VuZC1wYWludGVkLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTczMGViMAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRp
bmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3VuZC1wYWludGVkLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDI5IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDAp
CisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGJhY2tncm91bmRDb2xv
ciAjMDAwMEZGKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChjaGlsZHJlbiAyCisg
ICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRpb24gOC4wMCA4
LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDIwMC4wMCAyMDAuMDApCisgICAgICAgICAgICAg
IChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgICAgICAg
ICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICAp
CisgICAgICApCisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvY29tcG9zaXRpbmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3VuZC1z
a2lwcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9z
aXRpbmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3VuZC1za2lwcGVkLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzBiNDFmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9jb250ZW50
cy1vcGFxdWUvYm9keS1iYWNrZ3JvdW5kLXNraXBwZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEs
MjggQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgKGNoaWxk
cmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQor
ICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoYmFja2dyb3VuZENvbG9yICMwMDAwRkYp
CisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChi
b3VuZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAg
ICAgKGNoaWxkcmVuIDIKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgICAg
IChwb3NpdGlvbiA4LjAwIDguMDApCisgICAgICAgICAgICAgIChib3VuZHMgMjAwLjAwIDIwMC4w
MCkKKyAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgICApCisgICAg
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAoYm91bmRzIDgwMC4wMCA2MDAu
MDApCisgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICkKKyAgICAg
ICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9yZXBhaW50L2ZpeGVkLWJh
Y2tncm91bmQtc2Nyb2xsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvY29tcG9zaXRpbmcvcmVwYWludC9maXhlZC1iYWNrZ3JvdW5kLXNjcm9sbC1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk0ZmY3MwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcmVwYWlu
dC9maXhlZC1iYWNrZ3JvdW5kLXNjcm9sbC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyMyBAQAor
KHJlcGFpbnQgcmVjdHMKKyAgKHJlY3QgMCAwIDc4NSA2MDApCispCisoR3JhcGhpY3NMYXllcgor
ICAoYm91bmRzIDc4NS4wMCAyMDIxLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAoYm91bmRzIDc4NS4wMCAyMDIxLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVl
IDEpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAg
IChwb3NpdGlvbiAtNC4wMCA5Ni4wMCkKKyAgICAgICAgICAoYm91bmRzIDQyOC4wMCA0MjguMDAp
CisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChyZXBhaW50IHJlY3RzCisg
ICAgICAgICAgICAocmVjdCAwLjAwIDAuMDAgNDI4LjAwIDQyOC4wMCkKKyAgICAgICAgICApCisg
ICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcnRsL3J0bC1h
YnNvbHV0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
NmRiMDE1MgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
Y29tcG9zaXRpbmcvcnRsL3J0bC1hYnNvbHV0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBA
QAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRyZW4g
MQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChiYWNrZ3JvdW5kQ29sb3IgI0ZGMDAwMCkKKyAg
ICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0
aW9uIDUwLjAwIDUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQor
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5n
L3J0bC9ydGwtYWJzb2x1dGUtb3ZlcmZsb3ctZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLW92ZXJmbG93LWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDI4YzcyCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9y
dGwvcnRsLWFic29sdXRlLW92ZXJmbG93LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE5IEBACiso
R3JhcGhpY3NMYXllcgorICAocG9zaXRpb24gLTIxNS4wMCAwLjAwKQorICAoYm91bmRzIDEwMDAu
MDAgMTAwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJv
dW5kcyAxMDAwLjAwIDEwMDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChi
YWNrZ3JvdW5kQ29sb3IgI0ZGMDAwMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFw
aGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDI2NS4wMCA1MC4wMCkKKyAgICAgICAgICAo
Ym91bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAg
ICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLW92ZXJmbG93LXNj
cm9sbGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9z
aXRpbmcvcnRsL3J0bC1hYnNvbHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDM0NTllNAotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcnRsL3J0bC1hYnNv
bHV0ZS1vdmVyZmxvdy1zY3JvbGxlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOSBAQAorKEdy
YXBoaWNzTGF5ZXIKKyAgKHBvc2l0aW9uIC0yMTUuMDAgMC4wMCkKKyAgKGJvdW5kcyAxMDAwLjAw
IDEwMDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3Vu
ZHMgMTAwMC4wMCAxMDAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAoYmFj
a2dyb3VuZENvbG9yICNGRjAwMDApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA1MS4wMCA1MC4wMCkKKyAgICAgICAgICAoYm91
bmRzIDEwMC4wMCAxMDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAg
ICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcnRsL3J0bC1maXhlZC1leHBl
Y3RlZC50eHQKaW5kZXggYzkwOTJlMy4uNTQyYjFiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4
ZWQtZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQAogICAgIChHcmFwaGljc0xheWVyCiAgICAg
ICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAg
IChiYWNrZ3JvdW5kQ29sb3IgI0ZGMDAwMCkKICAgICAgIChjaGlsZHJlbiAyCiAgICAgICAgIChH
cmFwaGljc0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDUwLjAwIDUwLjAwKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVk
LW92ZXJmbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29t
cG9zaXRpbmcvcnRsL3J0bC1maXhlZC1vdmVyZmxvdy1leHBlY3RlZC50eHQKaW5kZXggMDIzYjlj
ZS4uOTA2OTdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21w
b3NpdGluZy9ydGwvcnRsLWZpeGVkLW92ZXJmbG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQtb3ZlcmZsb3ct
ZXhwZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQAogICAgIChHcmFwaGljc0xheWVyCiAgICAgICAo
Ym91bmRzIDEwMDAuMDAgMTAwMC4wMCkKICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAg
KGJhY2tncm91bmRDb2xvciAjRkYwMDAwKQogICAgICAgKGNoaWxkcmVuIDIKICAgICAgICAgKEdy
YXBoaWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gMjY1LjAwIDUwLjAwKQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvcm90YXRl
ZC10aWxlZC1jbGFtcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvY29tcG9zaXRpbmcvdGlsaW5nL3JvdGF0ZWQtdGlsZWQtY2xhbXBlZC1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRkM2U2ZgotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvdGlsaW5nL3Jv
dGF0ZWQtdGlsZWQtY2xhbXBlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1MCBAQAorKEdyYXBo
aWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAodmlzaWJsZSByZWN0IDAuMDAs
IDAuMDAgODAwLjAwIHggNjAwLjAwKQorICAoY29udGVudHNTY2FsZSAxLjAwKQorICAoY2hpbGRy
ZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA4
MDAuMDAgeCA2MDAuMDApCisgICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgKHRpbGUg
Y2FjaGUgY292ZXJhZ2UgMCwgMCA4MDAgeCA2MDApCisgICAgICAodGlsZSBzaXplIDUxMiB4IDUx
MikKKyAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCAyIHggMikKKyAgICAgIChj
aGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDU4
LjAwIDUwLjAwKQorICAgICAgICAgIChib3VuZHMgNTAyLjAwIDMwMi4wMCkKKyAgICAgICAgICAo
dmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgNTAyLjAwIHggMzAyLjAwKQorICAgICAgICAgIChjb250
ZW50c1NjYWxlIDEuMDApCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFw
aGljc0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCisgICAgICAgICAg
ICAgIChib3VuZHMgNTAwLjAwIDMwMC4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuVHJhbnNm
b3JtIFsxLjAwIDAuMDAgMC4wMCAwLjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4wMF0gWzAuMDAgMC4w
MCAxLjAwIC0wLjAwXSBbMC4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAgICAgICAgICAgICh2aXNp
YmxlIHJlY3QgMC4wMCwgMC4wMCA1MDAuMDAgeCAzMDAuMDApCisgICAgICAgICAgICAgIChjb250
ZW50c1NjYWxlIDEuMDApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAg
ICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAtMTI1MC4wMCAw
LjAwKQorICAgICAgICAgICAgICAgICAgKGFuY2hvciAwLjU0IDAuNTApCisgICAgICAgICAgICAg
ICAgICAoYm91bmRzIDI4MDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgKHVzaW5nVGls
ZWRMYXllciAxKQorICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAg
ICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAodHJhbnNmb3Jt
IFswLjE3IDAuMDAgLTAuOTggMC4wMF0gWzAuMDAgMS4wMCAwLjAwIDAuMDBdIFswLjk4IDAuMDAg
MC4xNyAwLjAwXSBbMC4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAgICAgICAgICAgICAgICAodmlz
aWJsZSByZWN0IDAuMDAsIDAuMDAgMjgwMC4wMCB4IDMwMC4wMCkKKyAgICAgICAgICAgICAgICAg
IChjb250ZW50c1NjYWxlIDEuMDApCisgICAgICAgICAgICAgICAgICAodGlsZSBjYWNoZSBjb3Zl
cmFnZSAwLCAwIDI3OTkgeCAyOTkpCisgICAgICAgICAgICAgICAgICAodGlsZSBzaXplIDUxMiB4
IDUxMikKKyAgICAgICAgICAgICAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCA1
IHggMSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkK
KyAgICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKKwpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvcm90
YXRlZC10aWxlZC1wcmVzZXJ2ZTNkLWNsYW1wZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvcm90YXRlZC10aWxlZC1wcmVzZXJ2
ZTNkLWNsYW1wZWQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmEzMjZlZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL2NvbXBvc2l0aW5nL3RpbGluZy9yb3RhdGVkLXRpbGVkLXByZXNlcnZlM2QtY2xhbXBlZC1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSw1OCBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4
MDAuMDAgNjAwLjAwKQorICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgODAwLjAwIHggNjAwLjAw
KQorICAoY29udGVudHNTY2FsZSAxLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xh
eWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUg
MSkKKyAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA4MDAuMDAgeCA2MDAuMDApCisgICAg
ICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCA4
MDAgeCA2MDApCisgICAgICAodGlsZSBzaXplIDUxMiB4IDUxMikKKyAgICAgICh0b3AgbGVmdCB0
aWxlIDAsIDAgdGlsZXMgZ3JpZCAyIHggMikKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChH
cmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDU4LjAwIDUwLjAwKQorICAgICAgICAg
IChib3VuZHMgNTAyLjAwIDMwMi4wMCkKKyAgICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAu
MDAgNTAyLjAwIHggMzAyLjAwKQorICAgICAgICAgIChjb250ZW50c1NjYWxlIDEuMDApCisgICAg
ICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAg
ICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCisgICAgICAgICAgICAgIChib3VuZHMgNTAwLjAwIDMw
MC4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuVHJhbnNmb3JtIFsxLjAwIDAuMDAgMC4wMCAw
LjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIC0wLjAwXSBbMC4wMCAw
LjAwIDAuMDAgMS4wMF0pCisgICAgICAgICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA1
MDAuMDAgeCAzMDAuMDApCisgICAgICAgICAgICAgIChjb250ZW50c1NjYWxlIDEuMDApCisgICAg
ICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAg
ICAgICAgICAgICAgICAgIChib3VuZHMgNTAwLjAwIDAuMDApCisgICAgICAgICAgICAgICAgICAo
cHJlc2VydmVzM0QgMSkKKyAgICAgICAgICAgICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4w
MCAwLjAwIHggMC4wMCkKKyAgICAgICAgICAgICAgICAgIChjb250ZW50c1NjYWxlIDEuMDApCisg
ICAgICAgICAgICAgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAtMTI1MC4wMCAwLjAwKQor
ICAgICAgICAgICAgICAgICAgICAgIChhbmNob3IgMC41NCAwLjUwKQorICAgICAgICAgICAgICAg
ICAgICAgIChib3VuZHMgMjgwMC4wMCAzMDAuMDApCisgICAgICAgICAgICAgICAgICAgICAgKHVz
aW5nVGlsZWRMYXllciAxKQorICAgICAgICAgICAgICAgICAgICAgIChjb250ZW50c09wYXF1ZSAx
KQorICAgICAgICAgICAgICAgICAgICAgIChkcmF3c0NvbnRlbnQgMSkKKyAgICAgICAgICAgICAg
ICAgICAgICAodHJhbnNmb3JtIFswLjE3IDAuMDAgLTAuOTggMC4wMF0gWzAuMDAgMS4wMCAwLjAw
IDAuMDBdIFswLjk4IDAuMDAgMC4xNyAwLjAwXSBbMC4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAg
ICAgICAgICAgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDI4MDAuMDAgeCAzMDAu
MDApCisgICAgICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzU2NhbGUgMS4wMCkKKyAgICAgICAg
ICAgICAgICAgICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAwLCAwIDI3OTkgeCAyOTkpCisgICAg
ICAgICAgICAgICAgICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCisgICAgICAgICAgICAgICAg
ICAgICAgKHRvcCBsZWZ0IHRpbGUgMCwgMCB0aWxlcyBncmlkIDUgeCAxKQorICAgICAgICAgICAg
ICAgICAgICApCisgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgKQorICAgICAg
ICAgICAgICApCisgICAgICAgICAgICApCisgICAgICAgICAgKQorICAgICAgICApCisgICAgICAp
CisgICAgKQorICApCispCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvY29tcG9zaXRpbmcvdGlsaW5nL3RpbGUtY2FjaGUtem9vbWVkLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvdGlsaW5nL3RpbGUtY2FjaGUt
em9vbWVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41
YzYxYjBjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9j
b21wb3NpdGluZy90aWxpbmcvdGlsZS1jYWNoZS16b29tZWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjkgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgMTkzMi4wMCA0MTUwLjAwKQorICAo
dmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgNzg1LjAwIHggNTg1LjAwKQorICAoY29udGVudHNTY2Fs
ZSAxLjAwKQorICAoY2hpbGRyZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYW5jaG9y
IDAuMDAgMC4wMCkKKyAgICAgIChib3VuZHMgMTIwOC4wMCAyNTk0LjAwKQorICAgICAgKGNvbnRl
bnRzT3BhcXVlIDEpCisgICAgICAodHJhbnNmb3JtIFsxLjYwIDAuMDAgMC4wMCAwLjAwXSBbMC4w
MCAxLjYwIDAuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDAuMDBdIFswLjAwIDAuMDAgMC4wMCAx
LjAwXSkKKyAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA0OTAuNjMgeCAzNjUuNjMpCisg
ICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwg
MCA2NDAgeCA2NDApCisgICAgICAodGlsZSBzaXplIDUxMiB4IDUxMikKKyAgICAgICh0b3AgbGVm
dCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCAyIHggMikKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAg
IChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDguMDAgOC4wMCkKKyAgICAgICAg
ICAoYm91bmRzIDcwMC4wMCAyNTAwLjAwKQorICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQor
ICAgICAgICAgICh0cmFuc2Zvcm0gWzEuMDAgMC4wMCAwLjAwIDAuMDBdIFswLjAwIDEuMDAgMC4w
MCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMC4wMF0gWzAuMDAgMC4wMCAxLjAwIDEuMDBdKQorICAg
ICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA0ODIuNjMgeCAzNTcuNjMpCisgICAgICAg
ICAgKGNvbnRlbnRzU2NhbGUgMS42MCkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQor
KQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5n
L3RpbGluZy90aWxlZC1sYXllci1yZXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvdGlsZWQtbGF5ZXItcmVzaXplLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wY2M4NDk4Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90
aWxpbmcvdGlsZWQtbGF5ZXItcmVzaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI2IEBACitU
aWxlZCBsYXllcgorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDguMDAgMjEyMS4wMCkKKyAg
KGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDguMDAgMjEy
MS4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKHRpbGUgY2FjaGUgY292ZXJh
Z2UgMCwgMCA4MDggeCAxMDI0KQorICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCisgICAgICAo
dG9wIGxlZnQgdGlsZSAwLCAwIHRpbGVzIGdyaWQgMiB4IDIpCisgICAgICAoY2hpbGRyZW4gMQor
ICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDApCisg
ICAgICAgICAgKGJvdW5kcyA4MDAuMDAgMjEwMC4wMCkKKyAgICAgICAgICAodXNpbmdUaWxlZExh
eWVyIDEpCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgKGRyYXdzQ29u
dGVudCAxKQorICAgICAgICAgICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDAgODAwIHggMTAyNCkK
KyAgICAgICAgICAodGlsZSBzaXplIDUxMiB4IDUxMikKKyAgICAgICAgICAodG9wIGxlZnQgdGls
ZSAwLCAwIHRpbGVzIGdyaWQgMiB4IDIpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkK
KykKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9lZGl0aW5nL2lu
cHV0L2NhcmV0LWF0LXRoZS1lZGdlLW9mLWNvbnRlbnRlZGl0YWJsZS1leHBlY3RlZC50eHQgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2VkaXRpbmcvaW5wdXQvY2FyZXQtYXQtdGhlLWVk
Z2Utb2YtY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5jODZlMzcwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9lZGl0aW5nL2lucHV0L2NhcmV0LWF0LXRoZS1lZGdlLW9mLWNvbnRlbnRl
ZGl0YWJsZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAo
MCwwKSBzaXplIDgwMHg3MgorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4
NzIKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1NgorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MzYKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgNzY5eDM2CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggNzY5OiAiV2hlbiB0aGUgY2FyZXQgcmVhY2hlcyB0aGUgZWRnZSBvZiB0aGUgaW5wdXQg
Ym94IG9yIGNvbnRlbnQgZWRpdGFibGUgZGl2LCBvbiB0aGUgbmV4dCBpbnB1dCBpZiBtdXN0IGp1
bXAgdG8gdGhlIGNlbnRlciBvZiB0aGUiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdp
ZHRoIDQ4OiAiY29udHJvbC4iCitsYXllciBhdCAoOCw0NCkgc2l6ZSA4MngyMCBjbGlwIGF0ICg5
LDQ1KSBzaXplIDgweDE4IHNjcm9sbFggNDIgc2Nyb2xsV2lkdGggMzM3CisgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDM2KSBzaXplIDgyeDIwIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAwMCld
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMzM2eDE4CisgICAgICB0ZXh0
IHJ1biBhdCAoMSwxKSB3aWR0aCAzMzY6ICIwMTIzNDU2Nzg5MDEwMTIzNDU2Nzg5MDEyMzQ1Njc4
OTAxMjM0NTY3ODkiCitsYXllciBhdCAoOCw0NCkgc2l6ZSA4eDE4CisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7U1BBTn0gYXQgKDgsNDQpIHNpemUgOHgxOAorICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg6
ICIwIgorY2FyZXQ6IHBvc2l0aW9uIDEyIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCA1IHtE
SVZ9IG9mIGJvZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZWRp
dGluZy9pbnB1dC9yZXZlYWwtY2FyZXQtb2YtbXVsdGlsaW5lLWNvbnRlbnRlZGl0YWJsZS1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2VkaXRpbmcvaW5wdXQvcmV2
ZWFsLWNhcmV0LW9mLW11bHRpbGluZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5ODYzZDIKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2VkaXRpbmcvaW5wdXQvcmV2ZWFsLWNhcmV0
LW9mLW11bHRpbGluZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA4
IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDIxNgorICBSZW5kZXJCbG9jayB7
SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MjE2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgs
OCkgc2l6ZSA3ODR4MjAwCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4
NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA1OTV4MTgKKyAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1OTU6ICJXaGVuIHRoZSBjYXJldCBpcyBz
Y3JvbGxlZCBvdXQsIG9uIHN0YXJ0aW5nIHR5cGluZyBpdCBtdXN0IGJlIGJyb3VnaHQgdG8gdGhl
IGNlbnRlciBvZiB0aGUgY29udHJvbC4iCitsYXllciBhdCAoOCwyNikgc2l6ZSA3ODR4MTgyIGNs
aXAgYXQgKDksMjcpIHNpemUgNzY3eDE2NSBzY3JvbGxZIDI1MiBzY3JvbGxIZWlnaHQgNTU4Cisg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDE4KSBzaXplIDc4NHgxODIgW2JvcmRlcjogKDFweCBz
b2xpZCAjMDAwMDAwKV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSAxNngx
OAorICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggMTY6ICIwMCIKKyAgICBSZW5kZXJCUiB7
QlJ9IGF0ICgxNywxKSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMTkp
IHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDE5KSB3aWR0aCAxNjogIjAxIgorICAg
IFJlbmRlckJSIHtCUn0gYXQgKDE3LDE5KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEsMzcpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDM3KSB3aWR0aCAx
NjogIjAyIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDM3KSBzaXplIDB4MTgKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsNTUpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgx
LDU1KSB3aWR0aCAxNjogIjAzIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDU1KSBzaXplIDB4
MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsNzMpIHNpemUgMTZ4MTgKKyAgICAgIHRl
eHQgcnVuIGF0ICgxLDczKSB3aWR0aCAxNjogIjA0IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3
LDczKSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsOTEpIHNpemUgMTZ4
MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDkxKSB3aWR0aCAxNjogIjA1IgorICAgIFJlbmRlckJS
IHtCUn0gYXQgKDE3LDkxKSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEs
MTA5KSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwxMDkpIHdpZHRoIDE2OiAiMDYi
CisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcsMTA5KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDEsMTI3KSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwxMjcp
IHdpZHRoIDE2OiAiMDciCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcsMTI3KSBzaXplIDB4MTgK
KyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMTQ1KSBzaXplIDE2eDE4CisgICAgICB0ZXh0
IHJ1biBhdCAoMSwxNDUpIHdpZHRoIDE2OiAiMDgiCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcs
MTQ1KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMTYzKSBzaXplIDE2
eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwxNjMpIHdpZHRoIDE2OiAiMDkiCisgICAgUmVuZGVy
QlIge0JSfSBhdCAoMTcsMTYzKSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDEsMTgxKSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwxODEpIHdpZHRoIDE2OiAi
MTAiCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcsMTgxKSBzaXplIDB4MTgKKyAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMTk5KSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwx
OTkpIHdpZHRoIDE2OiAiMTEiCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcsMTk5KSBzaXplIDB4
MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMjE3KSBzaXplIDE2eDE4CisgICAgICB0
ZXh0IHJ1biBhdCAoMSwyMTcpIHdpZHRoIDE2OiAiMTIiCisgICAgUmVuZGVyQlIge0JSfSBhdCAo
MTcsMjE3KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMjM1KSBzaXpl
IDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwyMzUpIHdpZHRoIDE2OiAiMTMiCisgICAgUmVu
ZGVyQlIge0JSfSBhdCAoMTcsMjM1KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMjUzKSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwyNTMpIHdpZHRoIDE2
OiAiMTQiCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcsMjUzKSBzaXplIDB4MTgKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDEsMjcxKSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAo
MSwyNzEpIHdpZHRoIDE2OiAiMTUiCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcsMjcxKSBzaXpl
IDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMjg5KSBzaXplIDE2eDE4CisgICAg
ICB0ZXh0IHJ1biBhdCAoMSwyODkpIHdpZHRoIDE2OiAiMTYiCisgICAgUmVuZGVyQlIge0JSfSBh
dCAoMTcsMjg5KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMzA3KSBz
aXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwzMDcpIHdpZHRoIDE2OiAiMTciCisgICAg
UmVuZGVyQlIge0JSfSBhdCAoMTcsMzA3KSBzaXplIDB4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDEsMzI1KSBzaXplIDI1eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwzMjUpIHdpZHRo
IDI1OiAiPjE4IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDI2LDMyNSkgc2l6ZSAweDE4CisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDM0Mykgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4g
YXQgKDEsMzQzKSB3aWR0aCAxNjogIjE5IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDM0Mykg
c2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDM2MSkgc2l6ZSAxNngxOAor
ICAgICAgdGV4dCBydW4gYXQgKDEsMzYxKSB3aWR0aCAxNjogIjIwIgorICAgIFJlbmRlckJSIHtC
Un0gYXQgKDE3LDM2MSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDM3
OSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMzc5KSB3aWR0aCAxNjogIjIxIgor
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDM3OSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxLDM5Nykgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMzk3KSB3
aWR0aCAxNjogIjIyIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDM5Nykgc2l6ZSAweDE4Cisg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDQxNSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBy
dW4gYXQgKDEsNDE1KSB3aWR0aCAxNjogIjIzIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDQx
NSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDQzMykgc2l6ZSAxNngx
OAorICAgICAgdGV4dCBydW4gYXQgKDEsNDMzKSB3aWR0aCAxNjogIjI0IgorICAgIFJlbmRlckJS
IHtCUn0gYXQgKDE3LDQzMykgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
LDQ1MSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsNDUxKSB3aWR0aCAxNjogIjI1
IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDQ1MSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDQ2OSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsNDY5
KSB3aWR0aCAxNjogIjI2IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDQ2OSkgc2l6ZSAweDE4
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDQ4Nykgc2l6ZSAxNngxOAorICAgICAgdGV4
dCBydW4gYXQgKDEsNDg3KSB3aWR0aCAxNjogIjI3IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3
LDQ4Nykgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDUwNSkgc2l6ZSAx
NngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsNTA1KSB3aWR0aCAxNjogIjI4IgorICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDE3LDUwNSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDUyMykgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsNTIzKSB3aWR0aCAxNjog
IjI5IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDUyMykgc2l6ZSAweDE4CisgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDU0MSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEs
NTQxKSB3aWR0aCAxNjogIjMwIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDU0MSkgc2l6ZSAw
eDE4CitsYXllciBhdCAoOCwyNikgc2l6ZSA4eDE4CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7U1BBTn0gYXQgKDgsMjYpIHNpemUgOHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDh4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg6ICIwIgorY2Fy
ZXQ6IHBvc2l0aW9uIDEgb2YgY2hpbGQgMzYgeyN0ZXh0fSBvZiBjaGlsZCA1IHtESVZ9IG9mIGJv
ZHkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9ibG9jay9i
YXNpYy8wMjAtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0
L2Jsb2NrL2Jhc2ljLzAyMC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uOTcxM2U1MwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy13azIvZmFzdC9ibG9jay9iYXNpYy8wMjAtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjQg
QEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNp
emUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtI
VE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4
KSBzaXplIDc4NHg1NzYKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0
eDUyCisgICAgICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUgNzg0eDE4
CisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTJ4MTgKKyAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEyOiAiQSIKKyAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEyLDApIHNpemUgMTF4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxMiwwKSB3aWR0aCAxMTogIkMiCisgICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNCkg
c2l6ZSA3ODR4MAorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNCkgc2l6ZSA3ODR4
MTgKKyAgICAgICAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgx
OAorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxMDAsMCkgc2l6ZSAxNngxOAor
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTAwLDApIHdpZHRoIDE2OiAiQSAiCisgICAgICAg
ICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtTUEFOfSBhdCAoMCwwKSBzaXplIDEwMHgxMDAg
W2JnY29sb3I9IzAwODAwMF0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTE2
LDApIHNpemUgMTF4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDExNiwwKSB3aWR0aCAx
MTogIkIiCisgICAgICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM0KSBzaXplIDc4NHgwCits
YXllciBhdCAoMjAsOCkgc2l6ZSAxMXgxOAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge1NQ
QU59IGF0ICgyMCw4KSBzaXplIDExeDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTF4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExOiAiQiIKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9keW5hbWljLzAxMi1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZHluYW1pYy8wMTIt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5NDRjNmIK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZHlu
YW1pYy8wMTItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTA4IEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAg
ICBSZW5kZXJCbG9jayB7SDJ9IGF0ICgwLDApIHNpemUgNzg0eDI4CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIxOXgyOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDIxOTogIkJsb2NrIENvbGxhcHNlIERlbW8iCisgICAgICBSZW5kZXJCbG9jayB7
UH0gYXQgKDAsNDcpIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDY4N3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDMwNDog
IlRoaXMgdGFibGUgYmVsb3cgaGFzIHRocmVlIGhpZXJhcmNoaWNhbCBzZWN0aW9ucy4gIgorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzMDQsMCkgd2lkdGggMzgzOiAiQ29sbGFwc2luZyBhIHNlY3Rp
b24gc2hvdWxkIGNhdXNlIHRob3NlIGJlbG93IGl0IHRvIG1vdmUgdXAuIgorICAgICAgUmVuZGVy
QmxvY2sge1B9IGF0ICgwLDgxKSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDAsMCkgc2l6ZSA3NjV4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0
aCA3NjU6ICJUaGlzIHdvcmtzIG9uIHRoZSBsYXRlc3QgV2luZG93cyBJRSBhbmQgTW96aWxsYSBG
aXJlZm94IChXaW4gYW5kIE1hYykgYnV0IG5vdCBvbiBTYWZhcmkgMS4yLjMgKHYxMjUuOSkge29y
IDIuMCAoMTQ2KX0uIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDExNSkgc2l6ZSA3ODR4
MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzQ3eDE4CisgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTc5OiAiTm90ZSB0aGF0IHRoZSBzZWNvbmQg
c2VjdGlvbiBpcyBjb2xsYXBzZWQgd2hlbiB0aGUgcGFnZSBvcGVucyBhbmQgZXhwYW5kaW5nIGl0
IHdvcmtzIGZpbmUuICIKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTc5LDApIHdpZHRoIDE2ODog
Ikp1c3QgdGhlIGNvbGxhcHNlIGlzIGJyb2tlbi4iCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCwxNDkpIHNpemUgNzg0eDE0OAorICAgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDAp
IHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMTApIHNpemUgNzg0eDIwCisgICAgICAgICAgUmVuZGVySW1hZ2Ug
e0lNR30gYXQgKDAsMCkgc2l6ZSAxNngxNgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMTYsMikgc2l6ZSA3NXgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2LDIpIHdpZHRo
IDc1OiAiIEJsb2NrIE9uZSIKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzApIHNp
emUgNzg0eDIwCisgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAxNngx
NgorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTYsMikgc2l6ZSA3OHgxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDE2LDIpIHdpZHRoIDc4OiAiIEJsb2NrIFR3byIKKyAgICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNTApIHNpemUgNzg0eDIwCisgICAgICAgICAgUmVu
ZGVySW1hZ2Uge0lNR30gYXQgKDAsMCkgc2l6ZSAxNngxNgorICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMTYsMikgc2l6ZSA4OHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDE2
LDIpIHdpZHRoIDg4OiAiIEJsb2NrIFRocmVlIgorICAgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMCw3MCkgc2l6ZSA3ODR4NjgKKyAgICAgICAgICBSZW5kZXJUYWJsZSB7VEFCTEV9IGF0ICgw
LDApIHNpemUgNzg0eDY4CisgICAgICAgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24ge1RCT0RZfSBh
dCAoMCwwKSBzaXplIDc4NHg2OAorICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0
ICgwLDIpIHNpemUgNzg0eDIwCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDIsMikgc2l6ZSAzMngyMCBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAg
ICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgzNiwyKSBzaXplIDc0NngyMCBbcj0wIGM9MSBycz0xIGNzPTFd
CisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA2NXgx
OAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA2NTogIlRoaXMg
aXMgdGhlIgorICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI0KSBzaXpl
IDc4NHgyMAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDI0KSBz
aXplIDMyeDIwIFtyPTEgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxs
IHtURH0gYXQgKDM2LDI0KSBzaXplIDc0NngyMCBbcj0xIGM9MSBycz0xIGNzPTFdCisgICAgICAg
ICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA2OXgxOAorICAgICAg
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA2OTogImNvbnRlbnRzIG9mIgor
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDQ2KSBzaXplIDc4NHgyMAor
ICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDQ2KSBzaXplIDMyeDIw
IFtyPTIgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMSwxKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEs
MSkgd2lkdGggNDogIiAiCisgICAgICAgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDM2LDQ2KSBzaXplIDc0NngyMCBbcj0yIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA3NHgxOAorICAgICAgICAgICAgICAg
ICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA3NDogImJsb2NrIHRocmVlLiIKKyAgICAgICAg
UmVuZGVyQmxvY2sge0hSfSBhdCAoMCwxNDYpIHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNl
dCAjMDAwMDAwKV0KK2xheWVyIGF0ICg4LDE4Nykgc2l6ZSAxMDl4NjgKKyAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICg4LDE4Nykgc2l6ZSAxMDl4NjgKKyAgICBSZW5kZXJUYWJs
ZSB7VEFCTEV9IGF0ICgwLDApIHNpemUgMTA5eDY4CisgICAgICBSZW5kZXJUYWJsZVNlY3Rpb24g
e1RCT0RZfSBhdCAoMCwwKSBzaXplIDEwOXg2OAorICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9
IGF0ICgwLDIpIHNpemUgMTA5eDIwCisgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQg
KDIsMikgc2l6ZSAzMngyMCBbcj0wIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxLDEpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgz
NiwyKSBzaXplIDcxeDIwIFtyPTAgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDY1eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgxLDEpIHdpZHRoIDY1OiAiVGhpcyBpcyB0aGUiCisgICAgICAgIFJlbmRlclRhYmxlUm93IHtU
Un0gYXQgKDAsMjQpIHNpemUgMTA5eDIwCisgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0g
YXQgKDIsMjQpIHNpemUgMzJ4MjAgW3I9MSBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBh
dCAoMzYsMjQpIHNpemUgNzF4MjAgW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggNjk6ICJjb250ZW50cyBvZiIKKyAgICAgICAgUmVuZGVyVGFibGVS
b3cge1RSfSBhdCAoMCw0Nikgc2l6ZSAxMDl4MjAKKyAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMiw0Nikgc2l6ZSAzMngyMCBbcj0yIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxLDEpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7
VER9IGF0ICgzNiw0Nikgc2l6ZSA3MXgyMCBbcj0yIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA2NngxOAorICAgICAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA2NjogImJsb2NrIG9uZS4iCitsYXllciBhdCAoOCwyMDcp
IHNpemUgMTA5eDY4CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoOCwyMDcp
IHNpemUgMTA5eDY4CisgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDEwOXg2
OAorICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6ZSAxMDl4NjgK
KyAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXplIDEwOXgyMAorICAgICAg
ICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIpIHNpemUgMzJ4MjAgW3I9MCBjPTAgcnM9
MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNHgx
OAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA0OiAiICIKKyAgICAgICAg
ICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzYsMikgc2l6ZSA3MXgyMCBbcj0wIGM9MSBycz0x
IGNzPTFdCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA2NXgx
OAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA2NTogIlRoaXMgaXMgdGhl
IgorICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI0KSBzaXplIDEwOXgyMAorICAg
ICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDI0KSBzaXplIDMyeDIwIFtyPTEgYz0w
IHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXpl
IDR4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNDogIiAiCisgICAg
ICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM2LDI0KSBzaXplIDcxeDIwIFtyPTEgYz0x
IHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXpl
IDY5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDY5OiAiY29udGVu
dHMgb2YiCisgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQgKDAsNDYpIHNpemUgMTA5eDIw
CisgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIsNDYpIHNpemUgMzJ4MjAgW3I9
MiBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEp
IHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA0OiAiICIK
KyAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzYsNDYpIHNpemUgNzF4MjAgW3I9
MiBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEp
IHNpemUgNjd4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNjc6ICJi
bG9jayB0d28uIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0
L2R5bmFtaWMvbGF5ZXItaGl0LXRlc3QtY3Jhc2gtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9mYXN0L2R5bmFtaWMvbGF5ZXItaGl0LXRlc3QtY3Jhc2gtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOTNlM2IKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZHluYW1pYy9s
YXllci1oaXQtdGVzdC1jcmFzaC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDU4NAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzQ2eDE4CisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNzQ2OiAiTW91c2luZyBvdmVyIHRoZSB5ZWxsb3cgc3F1YXJl
IGJlbG93IHNob3VsZCBub3QgY2F1c2UgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgb3IgY3Jhc2guIFRo
aXMgdGVzdHMgZm9yIHJlZ3Jlc3Npb25zIGFnYWluc3QgIgorICAgICAgICBSZW5kZXJJbmxpbmUg
e0F9IGF0ICgwLDApIHNpemUgMzJ4MTggW2NvbG9yPSMwMDAwRUVdCisgICAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICg3NDYsMCkgc2l6ZSAzMngxOAorICAgICAgICAgICAgdGV4dCBydW4g
YXQgKDc0NiwwKSB3aWR0aCAzMjogIjY5MzEiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoNzc4LDApIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICg3NzgsMCkgd2lkdGgg
NDogIi4iCitsYXllciBhdCAoNTAsNTApIHNpemUgMjAweDIwMAorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkgekk6IDEge0RJVn0gYXQgKDUwLDUwKSBzaXplIDIwMHgyMDAgW2JnY29sb3I9I0ZG
RkYwMF0KK2xheWVyIGF0ICg3MCw1MCkgc2l6ZSAxMDB4MTAwCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB6STogNSB7RElWfSBhdCAoMjAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSNGRjAw
MDBdCitjYXJldDogcG9zaXRpb24gMSBvZiBjaGlsZCAyIHsjdGV4dH0gb2YgY2hpbGQgMSB7RElW
fSBvZiBib2R5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3Qv
bGF5ZXJzL2xheWVyLXZpc2liaWxpdHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9mYXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNDI4ZGNkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2xheWVycy9sYXllci12aXNpYmls
aXR5LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMyNiBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYw
MAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVu
ZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwwKSBzaXplIDEzNHgxMDQgW2JvcmRlcjog
KDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0g
YXQgKDEzNCwwKSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAg
ICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDI2OCwwKSBzaXplIDEzNHgxMDQg
W2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGlu
Zykge0RJVn0gYXQgKDQwMiwwKSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAw
MEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDUzNiwwKSBzaXpl
IDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2Nr
IChmbG9hdGluZykge0RJVn0gYXQgKDAsMTA0KSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBz
b2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDEz
NCwxMDQpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQorICAgICAg
UmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMjY4LDEwNCkgc2l6ZSAxMzR4MTA0IFti
b3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcp
IHtESVZ9IGF0ICg0MDIsMTA0KSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAw
MEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDUzNiwxMDQpIHNp
emUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQorICAgICAgUmVuZGVyQmxv
Y2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMCwyMDgpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4
IHNvbGlkICMwMDAwRkYpXQorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAo
MTM0LDIwOCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAg
ICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgyNjgsMjA4KSBzaXplIDEzNHgxMDQg
W2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGlu
Zykge0RJVn0gYXQgKDQwMiwyMDgpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMw
MDAwRkYpXQorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoNTM2LDIwOCkg
c2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJC
bG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgwLDMxMikgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgy
cHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0
ICgxMzQsMzEyKSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAg
ICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDI2OCwzMTIpIHNpemUgMTM0eDEw
NCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0
aW5nKSB7RElWfSBhdCAoNDAyLDMxMikgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQg
IzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICg1MzYsMzEy
KSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRl
ckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDAsNDE2KSBzaXplIDEzNHgxMDQgW2JvcmRlcjog
KDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0g
YXQgKDEzNCw0MTYpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQor
ICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMjY4LDQxNikgc2l6ZSAxMzR4
MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCitsYXllciBhdCAoMTAsMTApIHNpemUg
MTMweDQ0CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwy
KSBzaXplIDEzMHg0NAorICAgIFJlbmRlckJsb2NrIChhbm9ueW1vdXMpIGF0ICgwLDApIHNpemUg
MTMweDE4CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA3OXgxOAorICAg
ICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA3OTogIjEgZ3JlZW4gYm94OiIKKyAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwxOCkgc2l6ZSAxMzB4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAj
MDA4MDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDIyIFti
b3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMiwyKSBzaXplIDM1eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMzU6
ICJmYWlsZWQiCitsYXllciBhdCAoMTQ0LDEwKSBzaXplIDEzMHg2MgorICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4NjIKKyAgICBSZW5k
ZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDEzMHgzNgorICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTA3eDM2CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDEyOiAiMiAiCisgICAgICAgIHRleHQgcnVuIGF0ICgxMiwwKSB3aWR0aCA5NTogImdy
ZWVuIGJveCB3aXRoIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNTc6ICJ3b3Jk
IG9rOiIKKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MjYgW2JvcmRl
cjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIp
IHNpemUgMTI2eDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgyNzgsMTApIHNpemUgMTMweDM2CisgIFJl
bmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgz
NgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwN3gzNgorICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggMTA3OiAiMyBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQg
cnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDI3OCw0Nikgc2l6ZSAxMzB4MzQKKyAgUmVu
ZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVy
OiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNp
emUgMTI2eDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3
aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDQxMiwxMCkgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTA3eDM2CisgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxMDc6ICI0IGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4dCBydW4gYXQg
KDAsMTgpIHdpZHRoIDU3OiAid29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMHgwCitsYXllciBhdCAoNDEyLDQ2KSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHgg
c29saWQgI0ZGMDAwMCldCitsYXllciBhdCAoNDE0LDQ4KSBzaXplIDEyNngzMAorICBSZW5kZXJC
bG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MzAgW2JvcmRlcjogKDJw
eCBzb2xpZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAx
NngxOAorICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICg1
NDYsMTApIHNpemUgMTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDEwN3gzNgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTA3OiAiNSBncmVl
biBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6
IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDU0
Niw0Nikgc2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgw
LDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZG
MDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9y
ZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDIsMikgc2l6ZSAxNngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAi
b2siCitsYXllciBhdCAoMTAsMTE0KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDd4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdp
ZHRoIDEwNzogIjYgZ3JlZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lk
dGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAw
eDAKK2xheWVyIGF0ICgxMCwxNTApIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYw
MDAwKV0KK2xheWVyIGF0ICgxMiwxNTIpIHNpemUgMTI2eDMwCisgIFJlbmRlckJsb2NrIChwb3Np
dGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngzMCBbYm9yZGVyOiAoMnB4IHNvbGlkICNG
RjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3Jk
ZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIs
Mikgc2l6ZSAxNngxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgor
bGF5ZXIgYXQgKDE0NCwxMTQpIHNpemUgMTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDEwN3gzNgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MTA3OiAiNyBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1
NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
bGF5ZXIgYXQgKDE0NCwxNTApIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAw
KV0KK2xheWVyIGF0ICgxNDYsMTUyKSBzaXplIDEyNngzMAorICBSZW5kZXJCbG9jayAocG9zaXRp
b25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MzAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYw
MDAwKV0KK2xheWVyIGF0ICgxNDgsMTU0KSBzaXplIDEyMngyNgorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAj
MDA4MDAwKV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAg
ICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgyNzgsMTE0KSBz
aXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQg
KDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAx
MjJ4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEyMjogIjggZG91YmxlIGdyZWVu
IGJveCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA4OTogIndpdGggd29yZCBvazoi
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMjc4
LDE1MCkgc2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgw
LDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorbGF5ZXIgYXQg
KDI4MCwxNTIpIHNpemUgMTI2eDMwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBh
dCAoMiwyKSBzaXplIDEyNngzMCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorbGF5ZXIg
YXQgKDI4MiwxNTQpIHNpemUgMTIyeDI2CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMiwyKSBzaXplIDEyMngyNiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBh
dCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDQxMiwxMTQpIHNpemUgMTMweDM2Cisg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEz
MHgzNgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwN3gzNgorICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTA3OiAiOSBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRl
eHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDQxMiwxNTApIHNpemUgMTMweDM0Cisg
IFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2Jv
cmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xheWVyIGF0ICg0MTQsMTUyKSBzaXplIDEyNngz
MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MzAg
W2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xheWVyIGF0ICg0MTYsMTU0KSBzaXplIDEy
MngyNgorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4
MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJv
ayIKK2xheWVyIGF0ICg1NDYsMTE0KSBzaXplIDEzMHgxOAorICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MTgKKyAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4N3gxOAorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggODc6ICIxMCBncmVlbiBib3g6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorbGF5ZXIgYXQgKDU0NiwxMzIpIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwxOCkgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xp
ZCAjRkYwMDAwKV0KK2xheWVyIGF0ICg1NDgsMTM0KSBzaXplIDEyNngzMAorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MzAgW2JvcmRlcjogKDJweCBz
b2xpZCAjMDA4MDAwKV0KK2xheWVyIGF0ICg1NTAsMTM2KSBzaXplIDEyMngyNgorICBSZW5kZXJC
bG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjYgW2JvcmRlcjogKDJw
eCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAz
NXgxOAorICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMzU6ICJmYWlsZWQiCitsYXllciBh
dCAoMTAsMjE4KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25l
ZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAxMTV4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTogIjEx
IGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAid29y
ZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBh
dCAoMTAsMjU0KSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xp
ZCAjRkYwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIy
IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGgg
MTY6ICJvayIKK2xheWVyIGF0ICgxNDQsMjE4KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTV4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDExNTogIjEyIGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4dCBydW4gYXQgKDAs
MTgpIHdpZHRoIDU3OiAid29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMHgwCitsYXllciBhdCAoMTQ0LDI1NCkgc2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNv
bGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDI2
IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICAgIHRleHQg
cnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBhdCAoMjc4LDIxOCkgc2l6ZSAxMzB4
MTgKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNp
emUgMTMweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgODd4MTgKKyAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg3OiAiMTMgZ3JlZW4gYm94OiIKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgyNzgsMjM2KSBzaXpl
IDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMTgpIHNpemUg
MTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIsMikgc2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHgg
c29saWQgI0ZGMDAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXpl
IDM1eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMzU6ICJmYWlsZWQiCits
YXllciBhdCAoNDEyLDIxOCkgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMTE1eDM2CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
MTU6ICIxNCBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1
NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
bGF5ZXIgYXQgKDQxMiwyNTQpIHNpemUgMTMweDMwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzAKKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwwKSBzaXplIDEzMHgyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgdGV4dCBydW4gYXQg
KDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICg1NDYsMjE4KSBzaXplIDEzMHgzNgorICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4
MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTV4MzYKKyAgICAgIHRl
eHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTogIjE1IGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4
dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAid29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoNTQ2LDI1NCkgc2l6ZSAxMzB4MzAKKyAg
UmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzMAorbGF5
ZXIgYXQgKDU0NiwyNTQpIHNpemUgMTMweDMwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMCwwKSBzaXplIDEzMHgzMCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1
biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDEwLDMyMikgc2l6ZSAxMzB4MzYK
KyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUg
MTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE1eDM2CisgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTU6ICIxNiBncmVlbiBib3ggd2l0aCIKKyAgICAg
IHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDEwLDM1OCkgc2l6ZSAxMzB4MzQK
KyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBb
Ym9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgy
LDIpIHNpemUgMTI2eDQ4IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNG
RjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAyMHgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDIwOiAiZmFpbCIKKyAgICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyLDI0KSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMw
MDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBhdCAoMTQ0
LDMyMikgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgMTE1eDM2CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTU6ICIxNyBncmVl
biBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6
IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDE0
NCwzNTgpIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAo
MCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNng0OCBbYm9yZGVyOiAoMnB4IHNvbGlkICNG
RjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2Jv
cmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjog
Im9rIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMjQpIHNpemUgMTIyeDIyIFtib3Jk
ZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MiwyKSBzaXplIDIweDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMjA6ICJm
YWlsIgorbGF5ZXIgYXQgKDI3OCwzMjIpIHNpemUgMTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExNXgzNgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTE1OiAiMTggZ3JlZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkg
d2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKK2xheWVyIGF0ICgyNzgsMzU4KSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQg
I0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4NDggW2Jv
cmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgy
LDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDIweDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDIsMikgd2lkdGggMjA6ICJmYWlsIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIs
MjQpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICg0MTIsMzIyKSBzaXplIDEzMHgzNgor
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAx
MzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMTV4MzYKKyAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTogIjE5IGdyZWVuIGJveCB3aXRoIgorICAgICAg
dGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAid29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoNDEyLDM1OCkgc2l6ZSAxMzB4MzQK
KyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBb
Ym9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgy
LDIpIHNpemUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNG
RjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAyMHgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDIwOiAiZmFpbCIKKyAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwyOCkgc2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYw
MDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3Jk
ZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MiwyKSBzaXplIDE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJv
ayIKK2xheWVyIGF0ICg1NDYsMzIyKSBzaXplIDEzMHgxOAorICBSZW5kZXJCbG9jayAocmVsYXRp
dmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MTgKKyAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4N3gxOAorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggODc6ICIyMCBncmVlbiBib3g6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDB4MAorbGF5ZXIgYXQgKDU0NiwzNDApIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwxOCkgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xp
ZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNng0OCBb
Ym9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIs
MjQpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgxMCw0MjYpIHNpemUgMTMweDM2Cisg
IFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEz
MHgzNgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyNHgzNgorICAgICAg
dGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTI0OiAiMjEgdHdvIGdyZWVuIGJveGVzIgorICAgICAg
dGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDg5OiAid2l0aCB3b3JkIG9rOiIKKyAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxMCw0NjIpIHNpemUgMTMw
eDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4
MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBh
dCAoMiwyKSBzaXplIDEyNngyNiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBzb2xp
ZCAjMDA4MDAwKV0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4
MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorICAgIFJlbmRl
ckJsb2NrIHtESVZ9IGF0ICgyLDI4KSBzaXplIDEyNngyNiBbYm9yZGVyOiAoMnB4IHNvbGlkICNG
RjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2Jv
cmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjog
Im9rIgorbGF5ZXIgYXQgKDE0NCw0MjYpIHNpemUgMTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxh
dGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExNXgzNgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkg
d2lkdGggMTE1OiAiMjIgZ3JlZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkg
d2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6
ZSAweDAKK2xheWVyIGF0ICgxNDQsNDYyKSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9z
aXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQg
I0ZGMDAwMCldCitsYXllciBhdCAoMTQ2LDQ2NCkgc2l6ZSAxMjZ4MzAKKyAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDMwIFtib3JkZXI6ICgycHggc29s
aWQgIzAwODAwMCldCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgK
KyAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBhdCAoMjc4LDQy
Nikgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgMTE1eDM2CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTU6ICIyMyBncmVlbiBi
b3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6Igor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDI3OCw0
NjIpIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB6STogMSB7RElWfSBh
dCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xheWVy
IGF0ICgyODAsNDY0KSBzaXplIDEyNngzMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDIsMikgc2l6ZSAxMjZ4MzAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xh
eWVyIGF0ICgyODIsNDY2KSBzaXplIDEyMngyNgorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0K
KyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgdGV4dCBy
dW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1zdWJsYXllci1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvbGF5ZXJzL2xheWVyLXZp
c2liaWxpdHktc3VibGF5ZXItZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLmM5MWRhZDYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktc3VibGF5ZXItZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsODEgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5k
ZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJC
b2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQg
KDAsMCkgc2l6ZSAweDE4CisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDE4KSBzaXplIDB4MTgK
KyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMzYpIHNpemUgMHgxOAorICAgICAgUmVuZGVyQlIg
e0JSfSBhdCAoMCw1NCkgc2l6ZSAweDE4CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
NzIpIHNpemUgMTgweDE4CisgICAgICAgIHRleHQgcnVuIGF0ICgwLDcyKSB3aWR0aCAxODA6ICIy
NCBncmVlbiBib3ggd2l0aCB3b3JkIG9rOiAiCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAg
ICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsOTApIHNpemUgMHgxOAorICAgICAgUmVuZGVyQlIge0JS
fSBhdCAoMCwxMDgpIHNpemUgMHgxOAorICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwxMjYpIHNp
emUgMHgxOAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDE0NCkgc2l6ZSAxODB4MTgK
KyAgICAgICAgdGV4dCBydW4gYXQgKDAsMTQ0KSB3aWR0aCAxODA6ICIyNSBncmVlbiBib3ggd2l0
aCB3b3JkIG9rOiAiCisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAK
KyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJSIHtC
Un0gYXQgKDAsMTYyKSBzaXplIDB4MTgKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMTgwKSBz
aXplIDB4MTgKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMTk4KSBzaXplIDB4MTgKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwyMTYpIHNpemUgMTgweDE4CisgICAgICAgIHRleHQg
cnVuIGF0ICgwLDIxNikgd2lkdGggMTgwOiAiMjYgZ3JlZW4gYm94IHdpdGggd29yZCBvazogIgor
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJC
UiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDIzNCkg
c2l6ZSAweDE4CisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDI1Mikgc2l6ZSAweDE4CisgICAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDI3MCkgc2l6ZSAweDE4CitsYXllciBhdCAoMCw5OCkgc2l6
ZSA4MDB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDk4KSBzaXpl
IDgwMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgyLDIpIHNpemUgNzk2eDQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiw2KSBzaXplIDc5NngyMiBbYm9yZGVyOiAoMnB4IHNv
bGlkICMwMDgwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4
MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgy
LDEwMCkgc2l6ZSA3OTZ4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgy
LDIpIHNpemUgNzk2eDMwIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVy
SW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDI3eDE4CisgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDIsMikgc2l6ZSAyN3gxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAy
NzogImJsYWgiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXll
ciBhdCAoMiwxMDApIHNpemUgNzk2eDMwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElW
fSBhdCAoMiwyKSBzaXplIDc5NngzMCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorbGF5
ZXIgYXQgKDAsMTcwKSBzaXplIDgwMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDAsMTcwKSBzaXplIDgwMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQor
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgNzk2eDQgW2JvcmRlcjogKDJweCBz
b2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiw2KSBzaXplIDc5Nng0
IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQg
KDIsMTApIHNpemUgNzk2eDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICB0ZXh0IHJ1biBh
dCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDIsMTcyKSBzaXplIDc5NngzMAorICBS
ZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSA3OTZ4MzAgW2JvcmRl
cjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xheWVyIGF0ICgyLDE3Mikgc2l6ZSA3OTZ4MzAKKyAg
UmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgNzk2eDMwIFtib3Jk
ZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCww
KSBzaXplIDI3eDE4CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAyN3gx
OAorICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAyNzogImJsYWgiCisgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMCwyNDIpIHNpemUgODAw
eDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwyNDIpIHNpemUgODAw
eDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDIsMikgc2l6ZSA3OTZ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgNzkyeDE4CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDI3eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAs
MCkgd2lkdGggMjc6ICJibGFoIgorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDI0KSBzaXpl
IDc5Nng0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIsMjgpIHNpemUgNzk2eDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisg
ICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICB0ZXh0
IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDIsMjQ0KSBzaXplIDc5Nngz
MAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSA3OTZ4MzAg
W2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0
ICgwLDApIHNpemUgMjd4MTgKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXpl
IDI3eDE4CisgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDI3OiAiYmxhaCIKKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgyLDI0NCkgc2l6
ZSA3OTZ4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUg
Nzk2eDMwIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVySW5saW5lIHtT
UEFOfSBhdCAoMCwwKSBzaXplIDI3eDE4CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIs
Mikgc2l6ZSAyN3gxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAyNzogImJsYWgi
CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvcmVwYWludC9pbnZpc2libGUtb2JqZWN0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvcmVwYWlu
dC9pbnZpc2libGUtb2JqZWN0cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uNmEyM2NjYwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvZmFzdC9yZXBhaW50L2ludmlzaWJsZS1vYmplY3RzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxLDE0IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmll
dyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7
Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CitsYXllciBhdCAoOCw4KSBzaXplIDc4NHgxOAor
ICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA3
ODR4MTgKKyAgICBSZW5kZXJJbmxpbmUge1NQQU59IGF0ICgwLDApIHNpemUgNjd4MTgKKyAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDY3eDE4CisgICAgICAgIHRleHQgcnVu
IGF0ICgwLDApIHdpZHRoIDY3OiAiaXMgaW52aXNpYmxlIgorICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDgsMjYpIHNpemUgNzg0eDEwMAorICBSZW5k
ZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMTgpIHNpemUgNzg0eDEw
MAorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDEwMApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L3JlcGFpbnQvbGF5ZXItaGlkZS13
aGVuLW5lZWRzLWxheW91dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMt
d2syL2Zhc3QvcmVwYWludC9sYXllci1oaWRlLXdoZW4tbmVlZHMtbGF5b3V0LWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2UxMjRhMwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9yZXBhaW50L2xheWVy
LWhpZGUtd2hlbi1uZWVkcy1sYXlvdXQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTAgQEAKK2xh
eWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAw
eDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXpl
IDc4NHg1ODQKK2xheWVyIGF0ICg4LDgpIHNpemUgNzg0eDEwMAorICBSZW5kZXJCbG9jayAocmVs
YXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTAwCisgICAgUmVuZGVy
QmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCitsYXll
ciBhdCAoOCw4KSBzaXplIDUweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMCkgc2l6ZSA1MHgxMDAgW2JnY29sb3I9I0ZGMDAwMF0KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC90ZXh0L3doaXRlc3BhY2UvMDI4LWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC90ZXh0L3doaXRlc3BhY2Uv
MDI4LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzBh
MDhhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0
L3RleHQvd2hpdGVzcGFjZS8wMjgtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTMgQEAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYw
MAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4
NHg1ODQKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDE2eDE4CisgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDE2OiAiQSAiCisgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDE2LDApIHNpemUgMTF4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDE2LDApIHdp
ZHRoIDExOiAiQyIKK2xheWVyIGF0ICgyNCw4KSBzaXplIDExeDE4CisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7U1BBTn0gYXQgKDI0LDgpIHNpemUgMTF4MTgKKyAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDAsMCkgc2l6ZSAxMXgxOAorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
MTE6ICJCIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1k
cmF3aW5nL3dpbmRvdy1zZXJ2ZXItc25hcHNob3RzLXdvcmstZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy93aW5kb3ctc2Vy
dmVyLXNuYXBzaG90cy13b3JrLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uOTA1MzFhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy93aW5kb3ctc2VydmVyLXNuYXBzaG90
cy13b3JrLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTAsMCArMSwyIEBACis8aHRtbD4KKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJh
d2luZy93aW5kb3ctc2VydmVyLXNuYXBzaG90cy13b3JrLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvd2luZG93LXNlcnZlci1zbmFwc2hvdHMtd29yay5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0MDM5YzUKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvd2lu
ZG93LXNlcnZlci1zbmFwc2hvdHMtd29yay5odG1sCkBAIC0wLDAgKzEsNSBAQAorPGh0bWw+Cis8
Ym9keSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7IGNvbG9yOiB3aGl0ZTsiPgorSWYg
dGhpcyB0ZXN0IHBhc3NlcyAoaWYgV2ViS2l0VGVzdFJ1bm5lcidzIHNuYXBzaG90cyBhcmUgd29y
a2luZyBjb3JyZWN0bHkgd2l0aCB0aWxlZCBkcmF3aW5nKSwgaXQgd2lsbCBub3QgbWF0Y2ggdGhl
IHB1cmUtd2hpdGUgbWlzbWF0Y2ggZXhwZWN0YXRpb24uCis8L2JvZHk+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggN2Q2MGQwMy4uMDFhZDY5ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmNwcApAQCAtMjA3OCwxNyArMjA3OCwyMyBAQCBIb3N0V2luZG93KiBGcmFt
ZVZpZXc6Omhvc3RXaW5kb3coKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCit2b2lkIEZyYW1l
Vmlldzo6YWRkVHJhY2tlZFJlcGFpbnRSZWN0KGNvbnN0IEludFJlY3QmIHIpCit7CisgICAgaWYg
KCFtX2lzVHJhY2tpbmdSZXBhaW50cyB8fCByLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuOwor
CisgICAgSW50UmVjdCByZXBhaW50UmVjdCA9IHI7CisgICAgcmVwYWludFJlY3QubW92ZSgtc2Ny
b2xsT2Zmc2V0KCkpOworICAgIG1fdHJhY2tlZFJlcGFpbnRSZWN0cy5hcHBlbmQocmVwYWludFJl
Y3QpOworfQorCiBjb25zdCB1bnNpZ25lZCBjUmVwYWludFJlY3RVbmlvblRocmVzaG9sZCA9IDI1
OwogCiB2b2lkIEZyYW1lVmlldzo6cmVwYWludENvbnRlbnRSZWN0YW5nbGUoY29uc3QgSW50UmVj
dCYgciwgYm9vbCBpbW1lZGlhdGUpCiB7CiAgICAgQVNTRVJUKCFmcmFtZSgpLm93bmVyRWxlbWVu
dCgpKTsKIAotICAgIGlmIChtX2lzVHJhY2tpbmdSZXBhaW50cykgewotICAgICAgICBJbnRSZWN0
IHJlcGFpbnRSZWN0ID0gcjsKLSAgICAgICAgcmVwYWludFJlY3QubW92ZSgtc2Nyb2xsT2Zmc2V0
KCkpOwotICAgICAgICBtX3RyYWNrZWRSZXBhaW50UmVjdHMuYXBwZW5kKHJlcGFpbnRSZWN0KTsK
LSAgICB9CisgICAgYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHIpOwogCiAgICAgZG91YmxlIGRlbGF5
ID0gbV9kZWZlcnJpbmdSZXBhaW50cyA/IDAgOiBhZGp1c3RlZERlZmVycmVkUmVwYWludERlbGF5
KCk7CiAgICAgaWYgKChtX2RlZmVycmluZ1JlcGFpbnRzIHx8IG1fZGVmZXJyZWRSZXBhaW50VGlt
ZXIuaXNBY3RpdmUoKSB8fCBkZWxheSkgJiYgIWltbWVkaWF0ZSkgewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmgKaW5kZXggN2MzMTgyNC4uYmQyYmMxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBA
IC00MzUsNiArNDM1LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlkQWRkV2lkZ2V0VG9SZW5kZXJU
cmVlKFdpZGdldCYpOwogICAgIHZvaWQgd2lsbFJlbW92ZVdpZGdldEZyb21SZW5kZXJUcmVlKFdp
ZGdldCYpOwogCisgICAgdm9pZCBhZGRUcmFja2VkUmVwYWludFJlY3QoY29uc3QgSW50UmVjdCYp
OworCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCBib29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgo
Y29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwg
Y29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBzY3Jv
bGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpIE9WRVJSSURFOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXll
ci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNw
cAppbmRleCAzMTQxZjgxLi41YjIyNjk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNwcApAQCAtNjk2LDcgKzY5Niw3IEBAIHZvaWQg
R3JhcGhpY3NMYXllcjo6ZHVtcFByb3BlcnRpZXMoVGV4dFN0cmVhbSYgdHMsIGludCBpbmRlbnQs
IExheWVyVHJlZUFzVGV4dEJlCiAgICAgICAgIHRzIDw8ICIpXG4iOwogICAgIH0KIAotICAgIGlm
IChiZWhhdmlvciAmIExheWVyVHJlZUFzVGV4dEluY2x1ZGVSZXBhaW50UmVjdHMgJiYgcmVwYWlu
dFJlY3RNYXAoKS5jb250YWlucyh0aGlzKSAmJiAhcmVwYWludFJlY3RNYXAoKS5nZXQodGhpcyku
aXNFbXB0eSgpKSB7CisgICAgaWYgKGJlaGF2aW9yICYgTGF5ZXJUcmVlQXNUZXh0SW5jbHVkZVJl
cGFpbnRSZWN0cyAmJiByZXBhaW50UmVjdE1hcCgpLmNvbnRhaW5zKHRoaXMpICYmICFyZXBhaW50
UmVjdE1hcCgpLmdldCh0aGlzKS5pc0VtcHR5KCkgJiYgbV9jbGllbnQtPnNob3VsZER1bXBQcm9w
ZXJ0eUZvckxheWVyKHRoaXMsICJyZXBhaW50UmVjdHMiKSkgewogICAgICAgICB3cml0ZUluZGVu
dCh0cywgaW5kZW50ICsgMSk7CiAgICAgICAgIHRzIDw8ICIocmVwYWludCByZWN0c1xuIjsKICAg
ICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCByZXBhaW50UmVjdE1hcCgpLmdldCh0aGlzKS5z
aXplKCk7ICsraSkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJC
YWNraW5nLmNwcAppbmRleCAyOGE4OTUzLi5kNzE0M2E1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtMTkwNCw2ICsxOTA0LDEwIEBA
IHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRCbGVuZE1vZGUoQmxlbmRNb2RlKQogdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXkoKQogewogICAgIEFTU0VS
VCghcGFpbnRzSW50b0NvbXBvc2l0ZWRBbmNlc3RvcigpKTsKKworICAgIEZyYW1lVmlldyYgZnJh
bWVWaWV3ID0gb3duaW5nTGF5ZXIoKS0+cmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7Cisg
ICAgaWYgKG1faXNNYWluRnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3LmlzVHJhY2tp
bmdSZXBhaW50cygpKQorICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KG93
bmluZ0xheWVyKCktPmFic29sdXRlQm91bmRpbmdCb3goKSk7CiAgICAgCiAgICAgaWYgKG1fZ3Jh
cGhpY3NMYXllciAmJiBtX2dyYXBoaWNzTGF5ZXItPmRyYXdzQ29udGVudCgpKQogICAgICAgICBt
X2dyYXBoaWNzTGF5ZXItPnNldE5lZWRzRGlzcGxheSgpOwpAQCAtMTkyNiw2ICsxOTMwLDEwIEBA
IHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KGNv
bnN0IEludFJlY3QmIHIpCiB7CiAgICAgQVNTRVJUKCFwYWludHNJbnRvQ29tcG9zaXRlZEFuY2Vz
dG9yKCkpOwogCisgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSBvd25pbmdMYXllcigpLT5yZW5k
ZXJlcigpLnZpZXcoKS5mcmFtZVZpZXcoKTsKKyAgICBpZiAobV9pc01haW5GcmFtZVJlbmRlclZp
ZXdMYXllciAmJiBmcmFtZVZpZXcuaXNUcmFja2luZ1JlcGFpbnRzKCkpCisgICAgICAgIGZyYW1l
Vmlldy5hZGRUcmFja2VkUmVwYWludFJlY3QocGl4ZWxTbmFwcGVkSW50UmVjdChyKSk7CisKICAg
ICBpZiAobV9ncmFwaGljc0xheWVyICYmIG1fZ3JhcGhpY3NMYXllci0+ZHJhd3NDb250ZW50KCkp
IHsKICAgICAgICAgSW50UmVjdCBsYXllckRpcnR5UmVjdCA9IHI7CiAgICAgICAgIGxheWVyRGly
dHlSZWN0Lm1vdmUoLW1fZ3JhcGhpY3NMYXllci0+b2Zmc2V0RnJvbVJlbmRlcmVyKCkpOwpAQCAt
MjEwNiw2ICsyMTE0LDExIEBAIGJvb2wgUmVuZGVyTGF5ZXJCYWNraW5nOjpzaG91bGREdW1wUHJv
cGVydHlGb3JMYXllcihjb25zdCBHcmFwaGljc0xheWVyKiBsYXllciwKICAgICAgICAgLy8gQmFj
a2dyb3VuZCBjb2xvciBjb3VsZCBiZSBvZiBpbnRlcmVzdCB0byB0ZXN0cyBvciBvdGhlciBkdW1w
ZXJzIGlmIGl0J3Mgbm9uLXdoaXRlLgogICAgICAgICBpZiAoIXN0cmNtcChwcm9wZXJ0eU5hbWUs
ICJiYWNrZ3JvdW5kQ29sb3IiKSAmJiBsYXllci0+YmFja2dyb3VuZENvbG9yKCkgPT0gQ29sb3I6
OndoaXRlKQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIC8vIFRoZSByb290
IHRpbGUgY2FjaGUncyByZXBhaW50cyB3aWxsIHNob3cgdXAgYXQgdGhlIHRvcCB3aXRoIEZyYW1l
VmlldydzLAorICAgICAgICAvLyBzbyBkb24ndCBkdW1wIHRoZW0gdHdpY2UuCisgICAgICAgIGlm
ICghc3RyY21wKHByb3BlcnR5TmFtZSwgInJlcGFpbnRSZWN0cyIpKQorICAgICAgICAgICAgcmV0
dXJuIGZhbHNlOwogICAgIH0KIAogICAgIHJldHVybiB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L0RyYXdpbmdBcmVhSW5mby5oCmluZGV4IDBiZGFlMmYuLmZlOWU4ODQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKQEAgLTI5LDEwICsyOSwxMSBAQAogbmFtZXNwYWNl
IFdlYktpdCB7CiAKIGVudW0gRHJhd2luZ0FyZWFUeXBlIHsKLSAgICBEcmF3aW5nQXJlYVR5cGVJ
bXBsLAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBEcmF3aW5nQXJlYVR5cGVUaWxlZENvcmVBbmlt
YXRpb24sCiAgICAgRHJhd2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVlLAorI2Vsc2UKKyAgICBE
cmF3aW5nQXJlYVR5cGVJbXBsLAogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL21hYy9XS1ZpZXcubW0KaW5kZXggYmJjOWE0Zi4uZmQ5MDgyNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQpAQCAtMzQsNyArMzQsNiBAQAogI2lt
cG9ydCAiQXR0cmlidXRlZFN0cmluZy5oIgogI2ltcG9ydCAiQ29sb3JTcGFjZURhdGEuaCIKICNp
bXBvcnQgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbXBvcnQgIkRyYXdpbmdBcmVhUHJveHlJbXBsLmgi
CiAjaW1wb3J0ICJFZGl0b3JTdGF0ZS5oIgogI2ltcG9ydCAiRmluZEluZGljYXRvci5oIgogI2lt
cG9ydCAiRmluZEluZGljYXRvcldpbmRvdy5oIgpAQCAtMTQ3LDcgKzE0Niw2IEBAIHN0cnVjdCBX
S1ZpZXdJbnRlcnByZXRLZXlFdmVudHNQYXJhbWV0ZXJzIHsKIC0gKHZvaWQpX3Bvc3RGYWtlTW91
c2VNb3ZlZEV2ZW50Rm9yRmxhZ3NDaGFuZ2VkRXZlbnQ6KE5TRXZlbnQgKilmbGFnc0NoYW5nZWRF
dmVudDsKIC0gKHZvaWQpX3NldERyYXdpbmdBcmVhU2l6ZTooTlNTaXplKXNpemU7CiAtICh2b2lk
KV9zZXRQbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGU6KFBsdWdpbkNvbXBsZXhUZXh0SW5wdXRT
dGF0ZSlwbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGU7Ci0tIChCT09MKV9zaG91bGRVc2VUaWxl
ZERyYXdpbmdBcmVhOwogCiAjaWYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDkwCiAtICh2b2lkKV9zZXRJc1dpbmRvd09jY2x1ZGVkOihCT09MKWlzV2luZG93T2NjbHVkZWQ7
CkBAIC0yMTE3LDYwICsyMTE1LDEwIEBAIHN0YXRpYyBOU1N0cmluZyAqIGNvbnN0IGJhY2tpbmdQ
cm9wZXJ0eU9sZFNjYWxlRmFjdG9yS2V5ID0gQCJOU0JhY2tpbmdQcm9wZXJ0eU9sCiB9CiAjZW5k
aWYKIAotc3RhdGljIHZvaWQgZHJhd1BhZ2VCYWNrZ3JvdW5kKENHQ29udGV4dFJlZiBjb250ZXh0
LCBXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgaWYgKCFw
YWdlLT5kcmF3c0JhY2tncm91bmQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgQ0dDb250ZXh0
U2F2ZUdTdGF0ZShjb250ZXh0KTsKLSAgICBDR0NvbnRleHRTZXRCbGVuZE1vZGUoY29udGV4dCwg
a0NHQmxlbmRNb2RlQ29weSk7Ci0KLSAgICBDR0NvbG9yUmVmIGJhY2tncm91bmRDb2xvcjsKLSAg
ICBpZiAocGFnZS0+ZHJhd3NUcmFuc3BhcmVudEJhY2tncm91bmQoKSkKLSAgICAgICAgYmFja2dy
b3VuZENvbG9yID0gQ0dDb2xvckdldENvbnN0YW50Q29sb3Ioa0NHQ29sb3JDbGVhcik7Ci0gICAg
ZWxzZQotICAgICAgICBiYWNrZ3JvdW5kQ29sb3IgPSBDR0NvbG9yR2V0Q29uc3RhbnRDb2xvcihr
Q0dDb2xvcldoaXRlKTsKLQotICAgIENHQ29udGV4dFNldEZpbGxDb2xvcldpdGhDb2xvcihjb250
ZXh0LCBiYWNrZ3JvdW5kQ29sb3IpOwotICAgIENHQ29udGV4dEZpbGxSZWN0KGNvbnRleHQsIHJl
Y3QpOwotCi0gICAgQ0dDb250ZXh0UmVzdG9yZUdTdGF0ZShjb250ZXh0KTsKLX0KLQogLSAodm9p
ZClkcmF3UmVjdDooTlNSZWN0KXJlY3QKIHsKICAgICBMT0coVmlldywgImRyYXdSZWN0OiB4OiVn
LCB5OiVnLCB3aWR0aDolZywgaGVpZ2h0OiVnIiwgcmVjdC5vcmlnaW4ueCwgcmVjdC5vcmlnaW4u
eSwgcmVjdC5zaXplLndpZHRoLCByZWN0LnNpemUuaGVpZ2h0KTsKICAgICBfZGF0YS0+X3BhZ2Ut
PmVuZFByaW50aW5nKCk7Ci0KLSAgICBpZiAoW3NlbGYgX3Nob3VsZFVzZVRpbGVkRHJhd2luZ0Fy
ZWFdKSB7Ci0gICAgICAgIC8vIE5vdGhpbmcgdG8gZG8gaGVyZS4KLSAgICAgICAgcmV0dXJuOwot
ICAgIH0KLQotICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gc3RhdGljX2Nhc3Q8Q0dDb250ZXh0
UmVmPihbW05TR3JhcGhpY3NDb250ZXh0IGN1cnJlbnRDb250ZXh0XSBncmFwaGljc1BvcnRdKTsK
LQotICAgIGlmIChEcmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2Fz
dDxEcmF3aW5nQXJlYVByb3h5SW1wbCo+KF9kYXRhLT5fcGFnZS0+ZHJhd2luZ0FyZWEoKSkpIHsK
LSAgICAgICAgY29uc3QgTlNSZWN0ICpyZWN0c0JlaW5nRHJhd247Ci0gICAgICAgIE5TSW50ZWdl
ciBudW1SZWN0c0JlaW5nRHJhd247Ci0gICAgICAgIFtzZWxmIGdldFJlY3RzQmVpbmdEcmF3bjom
cmVjdHNCZWluZ0RyYXduIGNvdW50OiZudW1SZWN0c0JlaW5nRHJhd25dOwotICAgICAgICBmb3Ig
KE5TSW50ZWdlciBpID0gMDsgaSA8IG51bVJlY3RzQmVpbmdEcmF3bjsgKytpKSB7Ci0gICAgICAg
ICAgICBSZWdpb24gdW5wYWludGVkUmVnaW9uOwotICAgICAgICAgICAgZHJhd2luZ0FyZWEtPnBh
aW50KGNvbnRleHQsIGVuY2xvc2luZ0ludFJlY3QocmVjdHNCZWluZ0RyYXduW2ldKSwgdW5wYWlu
dGVkUmVnaW9uKTsKLQotICAgICAgICAgICAgLy8gSWYgdGhlIHdpbmRvdyBkb2Vzbid0IGhhdmUg
YSB2YWxpZCBiYWNraW5nIHN0b3JlLCB3ZSBuZWVkIHRvIGZpbGwgdGhlIHBhcnRzIG9mIHRoZSBw
YWdlIHRoYXQgd2UKLSAgICAgICAgICAgIC8vIGRpZG4ndCBwYWludCB3aXRoIHRoZSBiYWNrZ3Jv
dW5kIGNvbG9yICh3aGl0ZSBvciBjbGVhciksIHRvIGF2b2lkIGdhcmJhZ2UgaW4gdGhvc2UgYXJl
YXMuCi0gICAgICAgICAgICBpZiAoIV9kYXRhLT5fd2luZG93SGFzVmFsaWRCYWNraW5nU3RvcmUg
fHwgIWRyYXdpbmdBcmVhLT5oYXNSZWNlaXZlZEZpcnN0VXBkYXRlKCkpIHsKLSAgICAgICAgICAg
ICAgICBWZWN0b3I8SW50UmVjdD4gdW5wYWludGVkUmVjdHMgPSB1bnBhaW50ZWRSZWdpb24ucmVj
dHMoKTsKLSAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHVucGFpbnRlZFJl
Y3RzLnNpemUoKTsgKytpKQotICAgICAgICAgICAgICAgICAgICBkcmF3UGFnZUJhY2tncm91bmQo
Y29udGV4dCwgX2RhdGEtPl9wYWdlLmdldCgpLCB1bnBhaW50ZWRSZWN0c1tpXSk7Ci0KLSAgICAg
ICAgICAgICAgICBfZGF0YS0+X3dpbmRvd0hhc1ZhbGlkQmFja2luZ1N0b3JlID0gWUVTOwotICAg
ICAgICAgICAgfQotICAgICAgICB9Ci0gICAgfSBlbHNlIAotICAgICAgICBkcmF3UGFnZUJhY2tn
cm91bmQoY29udGV4dCwgX2RhdGEtPl9wYWdlLmdldCgpLCBlbmNsb3NpbmdJbnRSZWN0KHJlY3Qp
KTsKLQotICAgIF9kYXRhLT5fcGFnZS0+ZGlkRHJhdygpOwogfQogCiAtIChCT09MKWlzT3BhcXVl
CkBAIC0yMzM3LDExICsyMjg1LDYgQEAgc3RhdGljIHZvaWQgZHJhd1BhZ2VCYWNrZ3JvdW5kKENH
Q29udGV4dFJlZiBjb250ZXh0LCBXZWJQYWdlUHJveHkqIHBhZ2UsIGNvbnN0IEkKICAgICBfZGF0
YS0+X3Jlc2l6ZVNjcm9sbE9mZnNldCA9IE5TWmVyb1NpemU7CiB9CiAKLS0gKEJPT0wpX3Nob3Vs
ZFVzZVRpbGVkRHJhd2luZ0FyZWEKLXsKLSAgICByZXR1cm4gTk87Ci19Ci0KICNpZiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwODAKIC0gKHZvaWQpcXVpY2tMb29rV2l0aEV2
ZW50OihOU0V2ZW50ICopZXZlbnQKIHsKQEAgLTIzNjcsMTQgKzIzMTAsMTAgQEAgc3RhdGljIHZv
aWQgZHJhd1BhZ2VCYWNrZ3JvdW5kKENHQ29udGV4dFJlZiBjb250ZXh0LCBXZWJQYWdlUHJveHkq
IHBhZ2UsIGNvbnN0IEkKIAogLSAoc3RkOjp1bmlxdWVfcHRyPFdlYktpdDo6RHJhd2luZ0FyZWFQ
cm94eT4pX2NyZWF0ZURyYXdpbmdBcmVhUHJveHkKIHsKLSAgICBpZiAoW3NlbGYgX3Nob3VsZFVz
ZVRpbGVkRHJhd2luZ0FyZWFdKSB7Ci0gICAgICAgIGlmIChnZXRlbnYoIldLX1VTRV9SRU1PVEVf
TEFZRVJfVFJFRV9EUkFXSU5HX0FSRUEiKSkKLSAgICAgICAgICAgIHJldHVybiBzdGQ6Om1ha2Vf
dW5pcXVlPFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KF9kYXRhLT5fcGFnZS5nZXQo
KSk7Ci0KLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8VGlsZWRDb3JlQW5pbWF0aW9u
RHJhd2luZ0FyZWFQcm94eT4oX2RhdGEtPl9wYWdlLmdldCgpKTsKLSAgICB9CisgICAgaWYgKGdl
dGVudigiV0tfVVNFX1JFTU9URV9MQVlFUl9UUkVFX0RSQVdJTkdfQVJFQSIpKQorICAgICAgICBy
ZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5Pihf
ZGF0YS0+X3BhZ2UuZ2V0KCkpOwogCi0gICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8RHJhd2lu
Z0FyZWFQcm94eUltcGw+KF9kYXRhLT5fcGFnZS5nZXQoKSk7CisgICAgcmV0dXJuIHN0ZDo6bWFr
ZV91bmlxdWU8VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWFQcm94eT4oX2RhdGEtPl9wYWdl
LmdldCgpKTsKIH0KIAogLSAoQk9PTClfaXNGb2N1c2VkCkBAIC0zMDg4LDEyICszMDI3LDEwIEBA
IHN0YXRpYyBOU1N0cmluZyAqcGF0aFdpdGhVbmlxdWVGaWxlbmFtZUZvclBhdGgoTlNTdHJpbmcg
KnBhdGgpCiAgICAgCiAgICAgW3NlbGYgX3JlZ2lzdGVyRHJhZ2dlZFR5cGVzXTsKIAotICAgIGlm
IChbc2VsZiBfc2hvdWxkVXNlVGlsZWREcmF3aW5nQXJlYV0pIHsKLSAgICAgICAgc2VsZi53YW50
c0xheWVyID0gWUVTOworICAgIHNlbGYud2FudHNMYXllciA9IFlFUzsKIAotICAgICAgICAvLyBF
eHBsaWNpdGx5IHNldCB0aGUgbGF5ZXIgY29udGVudHMgcGxhY2VtZW50IHNvIEFwcEtpdCB3aWxs
IG1ha2Ugc3VyZSB0aGF0IG91ciBsYXllciBoYXMgbWFza3NUb0JvdW5kcyBzZXQgdG8gWUVTLgot
ICAgICAgICBzZWxmLmxheWVyQ29udGVudHNQbGFjZW1lbnQgPSBOU1ZpZXdMYXllckNvbnRlbnRz
UGxhY2VtZW50VG9wTGVmdDsKLSAgICB9CisgICAgLy8gRXhwbGljaXRseSBzZXQgdGhlIGxheWVy
IGNvbnRlbnRzIHBsYWNlbWVudCBzbyBBcHBLaXQgd2lsbCBtYWtlIHN1cmUgdGhhdCBvdXIgbGF5
ZXIgaGFzIG1hc2tzVG9Cb3VuZHMgc2V0IHRvIFlFUy4KKyAgICBzZWxmLmxheWVyQ29udGVudHNQ
bGFjZW1lbnQgPSBOU1ZpZXdMYXllckNvbnRlbnRzUGxhY2VtZW50VG9wTGVmdDsKIAogICAgIFdl
YkNvbnRleHQ6OnN0YXRpc3RpY3MoKS53a1ZpZXdDb3VudCsrOwogCkBAIC0zMTA2LDcgKzMwNDMs
NyBAQCBzdGF0aWMgTlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoKE5TU3Ry
aW5nICpwYXRoKQogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA4MAog
LSAoQk9PTCl3YW50c1VwZGF0ZUxheWVyCiB7Ci0gICAgcmV0dXJuIFtzZWxmIF9zaG91bGRVc2VU
aWxlZERyYXdpbmdBcmVhXTsKKyAgICByZXR1cm4gWUVTOwogfQogCiAtICh2b2lkKXVwZGF0ZUxh
eWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0b3JlLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0b3JlLmgKaW5kZXggZDJhM2JkNC4u
NTc5ZGI4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tpbmdTdG9y
ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUuaApAQCAtMjks
MTAgKzI5LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KICNpbmNsdWRlIDx3dGYv
Tm9uY29weWFibGUuaD4KIAotI2lmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlIDx3dGYvUmV0YWlu
UHRyLmg+Ci0jZW5kaWYKLQogI2lmIFBMQVRGT1JNKFFUKQogI2luY2x1ZGUgPFF0R3VpL1FQYWlu
dGVyPgogI2luY2x1ZGUgPFF0R3VpL1FQaXhtYXA+CkBAIC01OSw5ICs1NSw3IEBAIHB1YmxpYzoK
ICAgICBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzaXplKCkgY29uc3QgeyByZXR1cm4gbV9zaXpl
OyB9CiAgICAgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IoKSBjb25zdCB7IHJldHVybiBtX2Rldmlj
ZVNjYWxlRmFjdG9yOyB9CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgdHlwZWRlZiBDR0NvbnRl
eHRSZWYgUGxhdGZvcm1HcmFwaGljc0NvbnRleHQ7Ci0jZWxpZiBQTEFURk9STShRVCkKKyNpZiBQ
TEFURk9STShRVCkKICAgICB0eXBlZGVmIFFQYWludGVyKiBQbGF0Zm9ybUdyYXBoaWNzQ29udGV4
dDsKICNlbGlmIFVTRShDQUlSTykKICAgICB0eXBlZGVmIGNhaXJvX3QqIFBsYXRmb3JtR3JhcGhp
Y3NDb250ZXh0OwpAQCAtNzgsMjIgKzcyLDcgQEAgcHJpdmF0ZToKICAgICBmbG9hdCBtX2Rldmlj
ZVNjYWxlRmFjdG9yOwogICAgIFdlYlBhZ2VQcm94eSogbV93ZWJQYWdlUHJveHk7CiAKLSNpZiBQ
TEFURk9STShNQUMpCi0gICAgQ0dDb250ZXh0UmVmIGJhY2tpbmdTdG9yZUNvbnRleHQoKTsKLQot
ICAgIHZvaWQgcGVyZm9ybVdpdGhTY3JvbGxlZFJlY3RUcmFuc2Zvcm0oY29uc3QgV2ViQ29yZTo6
SW50UmVjdCYsIHZvaWQgKF4pKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBjb25zdCBXZWJDb3Jl
OjpJbnRTaXplJikpOwotICAgIHZvaWQgcmVzZXRTY3JvbGxlZFJlY3QoKTsKLQotICAgIFJldGFp
blB0cjxDR0xheWVyUmVmPiBtX2NnTGF5ZXI7Ci0gICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4g
bV9iaXRtYXBDb250ZXh0OwotCi0gICAgLy8gVGhlIHJlY3RhbmdlIHRoYXQgd2FzIHNjcm9sbGVk
IG1vc3QgcmVjZW50bHkuCi0gICAgV2ViQ29yZTo6SW50UmVjdCBtX3Njcm9sbGVkUmVjdDsKLQot
ICAgIC8vIENvbnRlbnRzIG9mIG1fc2Nyb2xsZWRSZWN0IGFyZSBvZmZzZXQgYnkgdGhpcyBhbW91
bnQgKGFuZCB3cmFwcGVkIGFyb3VuZCkgd2l0aCByZXNwZWN0IHRvCi0gICAgLy8gdGhlaXIgb3Jp
Z2luYWwgbG9jYXRpb24uCi0gICAgV2ViQ29yZTo6SW50U2l6ZSBtX3Njcm9sbGVkUmVjdE9mZnNl
dDsKLSNlbGlmIFBMQVRGT1JNKFFUKQorI2lmIFBMQVRGT1JNKFFUKQogICAgIFFQaXhtYXAgbV9w
aXhtYXA7CiAjZWxpZiBVU0UoQ0FJUk8pCiAgICAgT3duUHRyPFdlYkNvcmU6OldpZGdldEJhY2tp
bmdTdG9yZT4gbV9iYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdp
bmdBcmVhUHJveHkuaAppbmRleCA5M2I5ZjBiLi4yMTE2MDNlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTI3LDcgKzI3LDYgQEAKICNpZm5kZWYg
RHJhd2luZ0FyZWFQcm94eV9oCiAjZGVmaW5lIERyYXdpbmdBcmVhUHJveHlfaAogCi0jaW5jbHVk
ZSAiQmFja2luZ1N0b3JlLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFJbmZvLmgiCiAjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9GbG9hdFBvaW50Lmg+CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL0JhY2tpbmdTdG9yZU1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvQmFja2luZ1N0b3JlTWFjLm1tCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA3MjU2ZjJlLi4wMDAwMDAwCi0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9tYWMvQmFja2luZ1N0b3JlTWFjLm1tCisrKyAvZGV2L251bGwKQEAg
LTEsMjM1ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUg
bWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQg
IkJhY2tpbmdTdG9yZS5oIgotCi0jaW1wb3J0ICJDR1V0aWxpdGllcy5oIgotI2ltcG9ydCAiU2hh
cmVhYmxlQml0bWFwLmgiCi0jaW1wb3J0ICJVcGRhdGVJbmZvLmgiCi0jaW1wb3J0ICJXZWJQYWdl
UHJveHkuaCIKLSNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+Ci0jaW1wb3J0IDxX
ZWJDb3JlL1JlZ2lvbi5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKLQotbmFtZXNwYWNl
IFdlYktpdCB7Ci0KLXZvaWQgQmFja2luZ1N0b3JlOjpwZXJmb3JtV2l0aFNjcm9sbGVkUmVjdFRy
YW5zZm9ybShjb25zdCBJbnRSZWN0JiByZWN0LCB2b2lkICheYmxvY2spKGNvbnN0IEludFJlY3Qm
LCBjb25zdCBJbnRTaXplJikpCi17Ci0gICAgaWYgKG1fc2Nyb2xsZWRSZWN0LmlzRW1wdHkoKSB8
fCBtX3Njcm9sbGVkUmVjdE9mZnNldC5pc1plcm8oKSB8fCAhbV9zY3JvbGxlZFJlY3QuaW50ZXJz
ZWN0cyhyZWN0KSkgewotICAgICAgICBibG9jayhyZWN0LCBJbnRTaXplKCkpOwotICAgICAgICBy
ZXR1cm47Ci0gICAgfQotCi0gICAgLy8gVGhlIHBhcnQgb2YgcmVjdCB0aGF0J3Mgb3V0c2lkZSB0
aGUgc2Nyb2xsZWQgcmVjdCBpcyBub3QgdHJhbnNsYXRlZC4KLSAgICBSZWdpb24gdW50cmFuc2xh
dGVkUmVnaW9uID0gcmVjdDsKLSAgICB1bnRyYW5zbGF0ZWRSZWdpb24uc3VidHJhY3QobV9zY3Jv
bGxlZFJlY3QpOwotICAgIFZlY3RvcjxJbnRSZWN0PiB1bnRyYW5zbGF0ZWRSZWN0cyA9IHVudHJh
bnNsYXRlZFJlZ2lvbi5yZWN0cygpOwotICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgdW50cmFu
c2xhdGVkUmVjdHMuc2l6ZSgpOyArK2kpCi0gICAgICAgIGJsb2NrKHVudHJhbnNsYXRlZFJlY3Rz
W2ldLCBJbnRTaXplKCkpOwotCi0gICAgLy8gVGhlIHBhcnQgb2YgcmVjdCB0aGF0IGludGVyc2Vj
dHMgdGhlIHNjcm9sbGVkIHJlY3QgY29tcHJpc2VzIHVwIHRvIGZvdXIgcGFydHMsIGVhY2ggc3Vi
amVjdAotICAgIC8vIHRvIGEgZGlmZmVyZW50IHRyYW5zbGF0aW9uIChhbGwgdHJhbnNsYXRpb25z
IGFyZSBlcXVpdmFsZW50IG1vZHVsbyB0aGUgZGltZW5zaW9ucyBvZiB0aGUKLSAgICAvLyBzY3Jv
bGxlZCByZWN0IHRvIHRoZSBzY3JvbGwgb2Zmc2V0KS4KLSAgICBJbnRSZWN0IGludGVyc2VjdGlv
biA9IHJlY3Q7Ci0gICAgaW50ZXJzZWN0aW9uLmludGVyc2VjdChtX3Njcm9sbGVkUmVjdCk7Ci0K
LSAgICBJbnRSZWN0IHNjcm9sbGVkUmVjdCA9IG1fc2Nyb2xsZWRSZWN0OwotICAgIEludFNpemUg
b2Zmc2V0ID0gbV9zY3JvbGxlZFJlY3RPZmZzZXQ7Ci0gICAgc2Nyb2xsZWRSZWN0Lm1vdmUoLW9m
ZnNldCk7Ci0KLSAgICBJbnRSZWN0IHBhcnQgPSBpbnRlcnNlY3Rpb247Ci0gICAgcGFydC5pbnRl
cnNlY3Qoc2Nyb2xsZWRSZWN0KTsKLSAgICBpZiAoIXBhcnQuaXNFbXB0eSgpKQotICAgICAgICBi
bG9jayhwYXJ0LCBvZmZzZXQpOwotCi0gICAgcGFydCA9IGludGVyc2VjdGlvbjsKLSAgICBvZmZz
ZXQgKz0gSW50U2l6ZSgwLCAtbV9zY3JvbGxlZFJlY3QuaGVpZ2h0KCkpOwotICAgIHNjcm9sbGVk
UmVjdC5tb3ZlKEludFNpemUoMCwgbV9zY3JvbGxlZFJlY3QuaGVpZ2h0KCkpKTsKLSAgICBwYXJ0
LmludGVyc2VjdChzY3JvbGxlZFJlY3QpOwotICAgIGlmICghcGFydC5pc0VtcHR5KCkpCi0gICAg
ICAgIGJsb2NrKHBhcnQsIG9mZnNldCk7Ci0KLSAgICBwYXJ0ID0gaW50ZXJzZWN0aW9uOwotICAg
IG9mZnNldCArPSBJbnRTaXplKC1tX3Njcm9sbGVkUmVjdC53aWR0aCgpLCAwKTsKLSAgICBzY3Jv
bGxlZFJlY3QubW92ZShJbnRTaXplKG1fc2Nyb2xsZWRSZWN0LndpZHRoKCksIDApKTsKLSAgICBw
YXJ0LmludGVyc2VjdChzY3JvbGxlZFJlY3QpOwotICAgIGlmICghcGFydC5pc0VtcHR5KCkpCi0g
ICAgICAgIGJsb2NrKHBhcnQsIG9mZnNldCk7Ci0KLSAgICBwYXJ0ID0gaW50ZXJzZWN0aW9uOwot
ICAgIG9mZnNldCArPSBJbnRTaXplKDAsIG1fc2Nyb2xsZWRSZWN0LmhlaWdodCgpKTsKLSAgICBz
Y3JvbGxlZFJlY3QubW92ZShJbnRTaXplKDAsIC1tX3Njcm9sbGVkUmVjdC5oZWlnaHQoKSkpOwot
ICAgIHBhcnQuaW50ZXJzZWN0KHNjcm9sbGVkUmVjdCk7Ci0gICAgaWYgKCFwYXJ0LmlzRW1wdHko
KSkKLSAgICAgICAgYmxvY2socGFydCwgb2Zmc2V0KTsKLX0KLQotdm9pZCBCYWNraW5nU3RvcmU6
OnJlc2V0U2Nyb2xsZWRSZWN0KCkKLXsKLSAgICBBU1NFUlQoIW1fc2Nyb2xsZWRSZWN0LmlzRW1w
dHkoKSk7Ci0KLSAgICBpZiAobV9zY3JvbGxlZFJlY3RPZmZzZXQuaXNaZXJvKCkpIHsKLSAgICAg
ICAgbV9zY3JvbGxlZFJlY3QgPSBJbnRSZWN0KCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0K
LSAgICBJbnRTaXplIHNjYWxlZFNpemUgPSBtX3Njcm9sbGVkUmVjdC5zaXplKCk7Ci0gICAgc2Nh
bGVkU2l6ZS5zY2FsZShtX2RldmljZVNjYWxlRmFjdG9yKTsKLQotICAgIFJldGFpblB0cjxDR0Nv
bG9yU3BhY2VSZWY+IGNvbG9yU3BhY2UgPSBhZG9wdENGKENHQ29sb3JTcGFjZUNyZWF0ZURldmlj
ZVJHQigpKTsKLSAgICBSZXRhaW5QdHI8Q0dDb250ZXh0UmVmPiBjb250ZXh0ID0gYWRvcHRDRihD
R0JpdG1hcENvbnRleHRDcmVhdGUoMCwgc2NhbGVkU2l6ZS53aWR0aCgpLCBzY2FsZWRTaXplLmhl
aWdodCgpLCA4LCBzY2FsZWRTaXplLndpZHRoKCkgKiA0LCBjb2xvclNwYWNlLmdldCgpLCBrQ0dJ
bWFnZUFscGhhUHJlbXVsdGlwbGllZEZpcnN0IHwga0NHQml0bWFwQnl0ZU9yZGVyMzJIb3N0KSk7
Ci0KLSAgICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0LmdldCgpLCBtX2RldmljZVNjYWxlRmFj
dG9yLCBtX2RldmljZVNjYWxlRmFjdG9yKTsKLQotICAgIENHQ29udGV4dFNjYWxlQ1RNKGNvbnRl
eHQuZ2V0KCksIDEsIC0xKTsKLSAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0oY29udGV4dC5nZXQo
KSwgLW1fc2Nyb2xsZWRSZWN0LngoKSwgLW1fc2Nyb2xsZWRSZWN0Lm1heFkoKSk7Ci0gICAgcGFp
bnQoY29udGV4dC5nZXQoKSwgbV9zY3JvbGxlZFJlY3QpOwotCi0gICAgSW50UmVjdCBzb3VyY2VS
ZWN0KEludFBvaW50KCksIG1fc2Nyb2xsZWRSZWN0LnNpemUoKSk7Ci0gICAgcGFpbnRCaXRtYXBD
b250ZXh0KGJhY2tpbmdTdG9yZUNvbnRleHQoKSwgY29udGV4dC5nZXQoKSwgbV9kZXZpY2VTY2Fs
ZUZhY3RvciwgbV9zY3JvbGxlZFJlY3QubG9jYXRpb24oKSwgc291cmNlUmVjdCk7Ci0KLSAgICBt
X3Njcm9sbGVkUmVjdCA9IEludFJlY3QoKTsKLSAgICBtX3Njcm9sbGVkUmVjdE9mZnNldCA9IElu
dFNpemUoKTsKLX0KLQotdm9pZCBCYWNraW5nU3RvcmU6OnBhaW50KFBsYXRmb3JtR3JhcGhpY3ND
b250ZXh0IGNvbnRleHQsIGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgLy8gRklYTUU6IFRo
aXMgaXMgZGVmaW5lZCBvdXRzaWRlIHRoZSBibG9jayB0byB3b3JrIGFyb3VuZCBidWdzIGluIGxs
dm0tZ2NjIDQuMi4KLSAgICBfX2Jsb2NrIENHUmVjdCBzb3VyY2U7Ci0gICAgcGVyZm9ybVdpdGhT
Y3JvbGxlZFJlY3RUcmFuc2Zvcm0ocmVjdCwgXihjb25zdCBJbnRSZWN0JiBwYXJ0LCBjb25zdCBJ
bnRTaXplJiBvZmZzZXQpIHsKLSAgICAgICAgaWYgKG1fY2dMYXllcikgewotICAgICAgICAgICAg
Q0dDb250ZXh0U2F2ZUdTdGF0ZShjb250ZXh0KTsKLSAgICAgICAgICAgIENHQ29udGV4dENsaXBU
b1JlY3QoY29udGV4dCwgcGFydCk7Ci0KLSAgICAgICAgICAgIENHQ29udGV4dFNjYWxlQ1RNKGNv
bnRleHQsIDEsIC0xKTsKLSAgICAgICAgICAgIENHQ29udGV4dERyYXdMYXllckF0UG9pbnQoY29u
dGV4dCwgQ0dQb2ludE1ha2UoLW9mZnNldC53aWR0aCgpLCBvZmZzZXQuaGVpZ2h0KCkgLSBtX3Np
emUuaGVpZ2h0KCkpLCBtX2NnTGF5ZXIuZ2V0KCkpOwotCi0gICAgICAgICAgICBDR0NvbnRleHRS
ZXN0b3JlR1N0YXRlKGNvbnRleHQpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0K
LSAgICAgICAgQVNTRVJUKG1fYml0bWFwQ29udGV4dCk7Ci0gICAgICAgIHNvdXJjZSA9IHBhcnQ7
Ci0gICAgICAgIHNvdXJjZS5vcmlnaW4ueCArPSBvZmZzZXQud2lkdGgoKTsKLSAgICAgICAgc291
cmNlLm9yaWdpbi55ICs9IG9mZnNldC5oZWlnaHQoKTsKLSAgICAgICAgcGFpbnRCaXRtYXBDb250
ZXh0KGNvbnRleHQsIG1fYml0bWFwQ29udGV4dC5nZXQoKSwgbV9kZXZpY2VTY2FsZUZhY3Rvciwg
cGFydC5sb2NhdGlvbigpLCBzb3VyY2UpOwotICAgIH0pOwotfQotCi1DR0NvbnRleHRSZWYgQmFj
a2luZ1N0b3JlOjpiYWNraW5nU3RvcmVDb250ZXh0KCkKLXsKLSAgICBpZiAobV9jZ0xheWVyKQot
ICAgICAgICByZXR1cm4gQ0dMYXllckdldENvbnRleHQobV9jZ0xheWVyLmdldCgpKTsKLQotICAg
IC8vIFRyeSB0byBjcmVhdGUgYSBsYXllci4KLSAgICBpZiAoQ0dDb250ZXh0UmVmIGNvbnRhaW5p
bmdXaW5kb3dDb250ZXh0ID0gbV93ZWJQYWdlUHJveHktPmNvbnRhaW5pbmdXaW5kb3dHcmFwaGlj
c0NvbnRleHQoKSkgewotICAgICAgICBtX2NnTGF5ZXIgPSBhZG9wdENGKENHTGF5ZXJDcmVhdGVX
aXRoQ29udGV4dChjb250YWluaW5nV2luZG93Q29udGV4dCwgbV9zaXplLCAwKSk7Ci0gICAgICAg
IENHQ29udGV4dFJlZiBsYXllckNvbnRleHQgPSBDR0xheWVyR2V0Q29udGV4dChtX2NnTGF5ZXIu
Z2V0KCkpOwotICAgICAgICAKLSAgICAgICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKGxheWVyQ29u
dGV4dCwga0NHQmxlbmRNb2RlQ29weSk7Ci0KLSAgICAgICAgLy8gV2Ugd2FudCB0aGUgb3JpZ2lu
IHRvIGJlIGluIHRoZSB0b3AgbGVmdCBjb3JuZXIgc28gZmxpcCB0aGUgYmFja2luZyBzdG9yZSBj
b250ZXh0LgotICAgICAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0obGF5ZXJDb250ZXh0LCAwLCBt
X3NpemUuaGVpZ2h0KCkpOwotICAgICAgICBDR0NvbnRleHRTY2FsZUNUTShsYXllckNvbnRleHQs
IDEsIC0xKTsKLQotICAgICAgICBpZiAobV9iaXRtYXBDb250ZXh0KSB7Ci0gICAgICAgICAgICAv
LyBQYWludCB0aGUgY29udGVudHMgb2YgdGhlIGJpdG1hcCBpbnRvIHRoZSBsYXllciBjb250ZXh0
LgotICAgICAgICAgICAgcGFpbnRCaXRtYXBDb250ZXh0KGxheWVyQ29udGV4dCwgbV9iaXRtYXBD
b250ZXh0LmdldCgpLCBtX2RldmljZVNjYWxlRmFjdG9yLCBDR1BvaW50WmVybywgQ0dSZWN0TWFr
ZSgwLCAwLCBtX3NpemUud2lkdGgoKSwgbV9zaXplLmhlaWdodCgpKSk7Ci0gICAgICAgICAgICBt
X2JpdG1hcENvbnRleHQgPSBudWxscHRyOwotICAgICAgICB9Ci0KLSAgICAgICAgcmV0dXJuIGxh
eWVyQ29udGV4dDsKLSAgICB9Ci0KLSAgICBpZiAoIW1fYml0bWFwQ29udGV4dCkgewotICAgICAg
ICBSZXRhaW5QdHI8Q0dDb2xvclNwYWNlUmVmPiBjb2xvclNwYWNlID0gYWRvcHRDRihDR0NvbG9y
U3BhY2VDcmVhdGVEZXZpY2VSR0IoKSk7Ci0KLSAgICAgICAgSW50U2l6ZSBzY2FsZWRTaXplKG1f
c2l6ZSk7Ci0gICAgICAgIHNjYWxlZFNpemUuc2NhbGUobV9kZXZpY2VTY2FsZUZhY3Rvcik7Ci0g
ICAgICAgIG1fYml0bWFwQ29udGV4dCA9IGFkb3B0Q0YoQ0dCaXRtYXBDb250ZXh0Q3JlYXRlKDAs
IHNjYWxlZFNpemUud2lkdGgoKSwgc2NhbGVkU2l6ZS5oZWlnaHQoKSwgOCwgc2NhbGVkU2l6ZS53
aWR0aCgpICogNCwgY29sb3JTcGFjZS5nZXQoKSwga0NHSW1hZ2VBbHBoYVByZW11bHRpcGxpZWRG
aXJzdCB8IGtDR0JpdG1hcEJ5dGVPcmRlcjMySG9zdCkpOwotCi0gICAgICAgIENHQ29udGV4dFNl
dEJsZW5kTW9kZShtX2JpdG1hcENvbnRleHQuZ2V0KCksIGtDR0JsZW5kTW9kZUNvcHkpOwotCi0g
ICAgICAgIENHQ29udGV4dFNjYWxlQ1RNKG1fYml0bWFwQ29udGV4dC5nZXQoKSwgbV9kZXZpY2VT
Y2FsZUZhY3RvciwgbV9kZXZpY2VTY2FsZUZhY3Rvcik7Ci0KLSAgICAgICAgLy8gV2Ugd2FudCB0
aGUgb3JpZ2luIHRvIGJlIGluIHRoZSB0b3AgbGVmdCBjb3JuZXIgc28gZmxpcCB0aGUgYmFja2lu
ZyBzdG9yZSBjb250ZXh0LgotICAgICAgICBDR0NvbnRleHRUcmFuc2xhdGVDVE0obV9iaXRtYXBD
b250ZXh0LmdldCgpLCAwLCBtX3NpemUuaGVpZ2h0KCkpOwotICAgICAgICBDR0NvbnRleHRTY2Fs
ZUNUTShtX2JpdG1hcENvbnRleHQuZ2V0KCksIDEsIC0xKTsKLSAgICB9Ci0KLSAgICByZXR1cm4g
bV9iaXRtYXBDb250ZXh0LmdldCgpOwotfQotCi12b2lkIEJhY2tpbmdTdG9yZTo6aW5jb3Jwb3Jh
dGVVcGRhdGUoU2hhcmVhYmxlQml0bWFwKiBiaXRtYXAsIGNvbnN0IFVwZGF0ZUluZm8mIHVwZGF0
ZUluZm8pCi17Ci0gICAgQ0dDb250ZXh0UmVmIGNvbnRleHQgPSBiYWNraW5nU3RvcmVDb250ZXh0
KCk7Ci0KLSAgICBzY3JvbGwodXBkYXRlSW5mby5zY3JvbGxSZWN0LCB1cGRhdGVJbmZvLnNjcm9s
bE9mZnNldCk7Ci0KLSAgICBJbnRQb2ludCB1cGRhdGVSZWN0TG9jYXRpb24gPSB1cGRhdGVJbmZv
LnVwZGF0ZVJlY3RCb3VuZHMubG9jYXRpb24oKTsKLQotICAgIEdyYXBoaWNzQ29udGV4dCBjdHgo
Y29udGV4dCk7Ci0gICAgX19ibG9jayBHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCA9
ICZjdHg7Ci0KLSAgICAvLyBQYWludCBhbGwgdXBkYXRlIHJlY3RzLgotICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgdXBkYXRlSW5mby51cGRhdGVSZWN0cy5zaXplKCk7ICsraSkgewotICAgICAg
ICBJbnRSZWN0IHVwZGF0ZVJlY3QgPSB1cGRhdGVJbmZvLnVwZGF0ZVJlY3RzW2ldOwotICAgICAg
ICBJbnRSZWN0IHNyY1JlY3QgPSB1cGRhdGVSZWN0OwotICAgICAgICAvLyBGSVhNRTogVGhpcyBp
cyBkZWZpbmVkIG91dHNpZGUgdGhlIGJsb2NrIHRvIHdvcmsgYXJvdW5kIGJ1Z3MgaW4gbGx2bS1n
Y2MgNC4yLgotICAgICAgICBfX2Jsb2NrIEludFJlY3Qgc3JjUGFydDsKLSAgICAgICAgcGVyZm9y
bVdpdGhTY3JvbGxlZFJlY3RUcmFuc2Zvcm0oc3JjUmVjdCwgXihjb25zdCBJbnRSZWN0JiBwYXJ0
LCBjb25zdCBJbnRTaXplJiBvZmZzZXQpIHsKLSAgICAgICAgICAgIHNyY1BhcnQgPSBwYXJ0Owot
ICAgICAgICAgICAgc3JjUGFydC5tb3ZlKC11cGRhdGVSZWN0TG9jYXRpb24ueCgpLCAtdXBkYXRl
UmVjdExvY2F0aW9uLnkoKSk7Ci0gICAgICAgICAgICBiaXRtYXAtPnBhaW50KCpncmFwaGljc0Nv
bnRleHQsIHVwZGF0ZUluZm8uZGV2aWNlU2NhbGVGYWN0b3IsIHBhcnQubG9jYXRpb24oKSArIG9m
ZnNldCwgc3JjUGFydCk7Ci0gICAgICAgIH0pOwotICAgIH0KLX0KLQotdm9pZCBCYWNraW5nU3Rv
cmU6OnNjcm9sbChjb25zdCBJbnRSZWN0JiBzY3JvbGxSZWN0LCBjb25zdCBJbnRTaXplJiBzY3Jv
bGxPZmZzZXQpCi17Ci0gICAgaWYgKHNjcm9sbE9mZnNldC5pc1plcm8oKSkKLSAgICAgICAgcmV0
dXJuOwotCi0gICAgQVNTRVJUKCFzY3JvbGxSZWN0LmlzRW1wdHkoKSk7Ci0KLSAgICBpZiAoIW1f
c2Nyb2xsZWRSZWN0LmlzRW1wdHkoKSAmJiBtX3Njcm9sbGVkUmVjdCAhPSBzY3JvbGxSZWN0KQot
ICAgICAgICByZXNldFNjcm9sbGVkUmVjdCgpOwotCi0gICAgbV9zY3JvbGxlZFJlY3QgPSBzY3Jv
bGxSZWN0OwotCi0gICAgaW50IHdpZHRoID0gKG1fc2Nyb2xsZWRSZWN0T2Zmc2V0LndpZHRoKCkg
LSBzY3JvbGxPZmZzZXQud2lkdGgoKSkgJSBtX3Njcm9sbGVkUmVjdC53aWR0aCgpOwotICAgIGlm
ICh3aWR0aCA8IDApCi0gICAgICAgIHdpZHRoICs9IG1fc2Nyb2xsZWRSZWN0LndpZHRoKCk7Ci0g
ICAgbV9zY3JvbGxlZFJlY3RPZmZzZXQuc2V0V2lkdGgod2lkdGgpOwotCi0gICAgaW50IGhlaWdo
dCA9IChtX3Njcm9sbGVkUmVjdE9mZnNldC5oZWlnaHQoKSAtIHNjcm9sbE9mZnNldC5oZWlnaHQo
KSkgJSBtX3Njcm9sbGVkUmVjdC5oZWlnaHQoKTsKLSAgICBpZiAoaGVpZ2h0IDwgMCkKLSAgICAg
ICAgaGVpZ2h0ICs9IG1fc2Nyb2xsZWRSZWN0LmhlaWdodCgpOwotICAgIG1fc2Nyb2xsZWRSZWN0
T2Zmc2V0LnNldEhlaWdodChoZWlnaHQpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRl
eCBjYjM2MjI0Li43YTI5MmRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNTUsMTkgKzE1NSwxMiBAQAogCQkxQTVFNERBNDEy
RDNCRDNEMDA5OUEyQkIgLyogVGV4dENoZWNrZXJTdGF0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE1RTREQTMxMkQzQkQzRDAwOTlBMkJCIC8qIFRl
eHRDaGVja2VyU3RhdGUuaCAqLzsgfTsKIAkJMUE2NDIwRTQxMkRDRTJGRjAwQ0FBRTJDIC8qIFNo
YXJlYWJsZUJpdG1hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTY0MjBFMjEyRENFMkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmNwcCAq
LzsgfTsKIAkJMUE2NDIwRTUxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2NDIwRTMxMkRD
RTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5oICovOyB9OwotCQkxQTY0MjE4NjEyRENG
NDkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFQcm94eUltcGwuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMTg0MTJEQ0Y0OTIwMENBQUUyQyAvKiBE
cmF3aW5nQXJlYVByb3h5SW1wbC5oICovOyB9OwotCQkxQTY0MjE4NzEyRENGNDkyMDBDQUFFMkMg
LyogRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUE2NDIxODUxMkRDRjQ5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVh
UHJveHlJbXBsLmNwcCAqLzsgfTsKLQkJMUE2NDIxRjYxMkRDRkJBQjAwQ0FBRTJDIC8qIERyYXdp
bmdBcmVhSW1wbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUE2NDIxRjQxMkRDRkJBQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhSW1wbC5oICovOyB9Owot
CQkxQTY0MjFGNzEyRENGQkFCMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFJbXBsLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMUY1MTJEQ0ZCQUIw
MENBQUUyQyAvKiBEcmF3aW5nQXJlYUltcGwuY3BwICovOyB9OwogCQkxQTY0MjI5OTEyREQwMjky
MDBDQUFFMkMgLyogRHJhd2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2NDIyOTcxMkREMDI5MjAwQ0FBRTJD
IC8qIERyYXdpbmdBcmVhTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUE2NDIyOUExMkRE
MDI5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMjk4MTJERDAyOTIwMENBQUUyQyAvKiBE
cmF3aW5nQXJlYU1lc3NhZ2VzLmggKi87IH07CiAJCTFBNjQyMzA4MTJERDA5RUIwMENBQUUyQyAv
KiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMzA2MTJERDA5RUIwMENBQUUyQyAvKiBE
cmF3aW5nQXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJMUE2NDIzMDkxMkRE
MDlFQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2NDIzMDcxMkREMDlFQjAwQ0FBRTJD
IC8qIERyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICovOyB9OwogCQkxQTY0MjQ1RTEyREUyOUEx
MDBDQUFFMkMgLyogVXBkYXRlSW5mby5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMUE2NDI0NUMxMkRFMjlBMTAwQ0FBRTJDIC8qIFVwZGF0ZUluZm8uaCAq
LzsgfTsKIAkJMUE2NDI0NUYxMkRFMjlBMTAwQ0FBRTJDIC8qIFVwZGF0ZUluZm8uY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2NDI0NUQxMkRFMjlB
MTAwQ0FBRTJDIC8qIFVwZGF0ZUluZm8uY3BwICovOyB9OwotCQkxQTY0MjU2ODEyREU0MkVDMDBD
QUFFMkMgLyogQmFja2luZ1N0b3JlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAxQTY0MjU2NjEyREU0MkVDMDBDQUFFMkMgLyogQmFja2luZ1N0b3JlLmgg
Ki87IH07Ci0JCTFBNjQyNTY5MTJERTQyRUMwMENBQUUyQyAvKiBCYWNraW5nU3RvcmUuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2NDI1NjcxMkRF
NDJFQzAwQ0FBRTJDIC8qIEJhY2tpbmdTdG9yZS5jcHAgKi87IH07Ci0JCTFBNjQyOTJEMTJERTVG
OTgwMENBQUUyQyAvKiBCYWNraW5nU3RvcmVNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTY0MjkyQzEyREU1Rjk4MDBDQUFFMkMgLyogQmFja2lu
Z1N0b3JlTWFjLm1tICovOyB9OwogCQkxQTY1MDZEMjE3NTAxNUU3MDAxNzQ1MTggLyogTWVzc2Fn
ZVNlbmRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTY1MDZEMTE3NTAxNUU3MDAxNzQ1MTggLyogTWVzc2FnZVNlbmRlci5jcHAgKi87IH07CiAJ
CTFBNkY5RjkwMTFFMTNFRkMwMERCMTM3MSAvKiBDb21tYW5kTGluZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2RjlGOEUxMUUxM0VGQzAwREIxMzcx
IC8qIENvbW1hbmRMaW5lLmggKi87IH07CiAJCTFBNkY5RkI3MTFFMTQwODUwMERCMTM3MSAvKiBD
b21tYW5kTGluZU1hYy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQTZGOUZCNjExRTE0MDg1MDBEQjEzNzEgLyogQ29tbWFuZExpbmVNYWMuY3BwICov
OyB9OwpAQCAtMjA0LDggKzE5Nyw2IEBACiAJCTFBOTEwMTBCMTI2OEM4Q0EwMDE4NDJGNSAvKiBG
aW5kSW5kaWNhdG9yV2luZG93Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE5MTAxMDkxMjY4QzhDQTAwMTg0MkY1IC8qIEZpbmRJbmRpY2F0b3JXaW5k
b3cubW0gKi87IH07CiAJCTFBOTJEQzExMTJGOEJBNDYwMDE3QUY2NSAvKiBMYXllclRyZWVDb250
ZXh0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTky
REMxMDEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5oICovOyB9OwogCQkxQTky
REMxMzEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTJEQzEyMTJGOEJBQjkwMDE3
QUY2NSAvKiBMYXllclRyZWVDb250ZXh0TWFjLm1tICovOyB9OwotCQkxQTk3RTA3NjE2QTVGOUUw
MDAwQkM5RTUgLyogTGF5ZXJUcmVlSG9zdE1hYy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5N0UwNzMxNkE1RjU3ODAwMEJDOUU1IC8qIExheWVyVHJl
ZUhvc3RNYWMuaCAqLzsgfTsKLQkJMUE5N0UwNzcxNkE1RjlFMDAwMEJDOUU1IC8qIExheWVyVHJl
ZUhvc3RNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQTk3RTA3NDE2QTVGNTc4MDAwQkM5RTUgLyogTGF5ZXJUcmVlSG9zdE1hYy5tbSAqLzsgfTsK
IAkJMUE5RkJBOEQxM0ZGMDRFNjAwREVFRDY3IC8qIFBsdWdpbkNvbXBsZXhUZXh0SW5wdXRTdGF0
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5RkJB
OEMxM0ZGMDRFNjAwREVFRDY3IC8qIFBsdWdpbkNvbXBsZXhUZXh0SW5wdXRTdGF0ZS5oICovOyB9
OwogCQkxQUEyRTUxRDEyRTRDMDVFMDBCQzQ5NjYgLyogQ0dVdGlsaXRpZXMuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBQTJFNTFCMTJFNEMwNUUwMEJD
NDk2NiAvKiBDR1V0aWxpdGllcy5oICovOyB9OwogCQkxQUEyRTUxRTEyRTRDMDVFMDBCQzQ5NjYg
LyogQ0dVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMUFBMkU1MUMxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmNwcCAqLzsg
fTsKQEAgLTE1MDcsMTAgKzE0OTgsNiBAQAogCQkxQTVFNERBMzEyRDNCRDNEMDA5OUEyQkIgLyog
VGV4dENoZWNrZXJTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
Q2hlY2tlclN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNjQyMEUyMTJE
Q0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVhYmxlQml0bWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUE2NDIwRTMxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWFibGVCaXRtYXAuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUE2NDIxODQxMkRDRjQ5MjAwQ0FBRTJDIC8qIERy
YXdpbmdBcmVhUHJveHlJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERy
YXdpbmdBcmVhUHJveHlJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNjQy
MTg1MTJEQ0Y0OTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEcmF3aW5nQXJlYVByb3h5SW1wbC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNjQyMUY0MTJEQ0ZCQUIwMENBQUUyQyAvKiBE
cmF3aW5nQXJlYUltcGwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHJhd2lu
Z0FyZWFJbXBsLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNjQyMUY1MTJEQ0ZC
QUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYUltcGwuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRHJhd2luZ0FyZWFJbXBsLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUE2NDIyOEExMkREMDI0NzAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERyYXdpbmdBcmVhLm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTY0MjI5NzEyREQwMjkyMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRHJhd2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQTY0MjI5ODEyREQwMjkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFNZXNz
YWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmF3aW5nQXJlYU1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTE5LDkgKzE1MDYsNiBAQAog
CQkxQTY0MjMwNzEyREQwOUVCMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERyYXdpbmdBcmVhUHJveHlNZXNzYWdl
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTY0MjQ1QzEyREUyOUExMDBDQUFF
MkMgLyogVXBkYXRlSW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVcGRh
dGVJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNjQyNDVEMTJERTI5QTEw
MENBQUUyQyAvKiBVcGRhdGVJbmZvLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFVwZGF0ZUluZm8uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTY0
MjU2NjEyREU0MkVDMDBDQUFFMkMgLyogQmFja2luZ1N0b3JlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEJhY2tpbmdTdG9yZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQkxQTY0MjU2NzEyREU0MkVDMDBDQUFFMkMgLyogQmFja2luZ1N0b3JlLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEJhY2tpbmdTdG9yZS5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNjQyOTJDMTJERTVGOTgwMENBQUUyQyAvKiBCYWNraW5n
U3RvcmVNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBCYWNr
aW5nU3RvcmVNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNjUwNkQxMTc1
MDE1RTcwMDE3NDUxOCAvKiBNZXNzYWdlU2VuZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE1lc3NhZ2VTZW5kZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQTZGOUY4RTExRTEzRUZDMDBEQjEzNzEgLyogQ29tbWFuZExpbmUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29tbWFuZExpbmUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMUE2RjlGQjYxMUUxNDA4NTAwREIxMzcxIC8qIENvbW1hbmRMaW5lTWFj
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbW1hbmRMaW5lTWFj
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE1NjEsOCArMTU0NSw2IEBACiAJ
CTFBOTEwMTA5MTI2OEM4Q0EwMDE4NDJGNSAvKiBGaW5kSW5kaWNhdG9yV2luZG93Lm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRmluZEluZGljYXRvcldpbmRvdy5t
bTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE5MkRDMTAxMkY4QkE0NjAwMTdBRjY1
IC8qIExheWVyVHJlZUNvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TGF5ZXJUcmVlQ29udGV4dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTkyREMx
MjEyRjhCQUI5MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IExheWVyVHJlZUNvbnRleHRNYWMubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBOTdFMDczMTZBNUY1NzgwMDBCQzlFNSAvKiBMYXll
clRyZWVIb3N0TWFjLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExheWVyVHJl
ZUhvc3RNYWMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUE5N0UwNzQxNkE1RjU3
ODAwMEJDOUU1IC8qIExheWVyVHJlZUhvc3RNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBMYXllclRyZWVIb3N0TWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxQTlGQkE4QzEzRkYwNEU2MDBERUVENjcgLyogUGx1Z2luQ29tcGxleFRleHRJ
bnB1dFN0YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBsdWdpbkNvbXBs
ZXhUZXh0SW5wdXRTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQUExQzc5
QTEwMEU3RkM1MDA3OERFQkMgLyogV2ViQ29yZS5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgcGF0aCA9
IFdlYkNvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9Owog
CQkxQUExQzdERTEwMEU4NDZFMDA3OERFQkMgLyogSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5m
cmFtZXdvcms7IHBhdGggPSBKYXZhU2NyaXB0Q29yZS5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07CkBAIC0zNzg5LDggKzM3NzEsNiBAQAogCQkJCUJDODQ1MkE1
MTE2MkM4MDkwMENBQjlCNSAvKiBEcmF3aW5nQXJlYS5jcHAgKi8sCiAJCQkJQkM4NDUyQTYxMTYy
QzgwOTAwQ0FCOUI1IC8qIERyYXdpbmdBcmVhLmggKi8sCiAJCQkJMUE2NDIyOEExMkREMDI0NzAw
Q0FBRTJDIC8qIERyYXdpbmdBcmVhLm1lc3NhZ2VzLmluICovLAotCQkJCTFBNjQyMUY1MTJEQ0ZC
QUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYUltcGwuY3BwICovLAotCQkJCTFBNjQyMUY0MTJEQ0ZC
QUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYUltcGwuaCAqLywKIAkJCQk5M0ZDNjc5RjEyRDNDQzc0
MDBBNjA2MTAgLyogRW5jb2RlckFkYXB0ZXIuY3BwICovLAogCQkJCTkzRkM2N0EwMTJEM0NDNzQw
MEE2MDYxMCAvKiBFbmNvZGVyQWRhcHRlci5oICovLAogCQkJCTFBQTU3NUY4MTQ5NkI1MjYwMEE0
RUUwNiAvKiBFdmVudERpc3BhdGNoZXIuY3BwICovLApAQCAtMzg0MCwxMyArMzgyMCw5IEBACiAJ
CQkJMzFBMkVDNDAxNDg5OTczNzAwODEwRDcxIC8qIE5vdGlmaWNhdGlvbnMgKi8sCiAJCQkJMUFF
RkNDMDUxMUQwMUYzNDAwODIxOUQzIC8qIFBsdWdpbnMgKi8sCiAJCQkJMUE0NEI5NTgxNkI3M0Y4
QzAwQjdCQkQ4IC8qIFN0b3JhZ2UgKi8sCi0JCQkJMUE2NDI1NjcxMkRFNDJFQzAwQ0FBRTJDIC8q
IEJhY2tpbmdTdG9yZS5jcHAgKi8sCi0JCQkJMUE2NDI1NjYxMkRFNDJFQzAwQ0FBRTJDIC8qIEJh
Y2tpbmdTdG9yZS5oICovLAogCQkJCUJDMjY1MjEyMTE4MjYwODEwMDI0M0UxMiAvKiBEcmF3aW5n
QXJlYVByb3h5LmNwcCAqLywKIAkJCQlCQzI2NTIxMzExODI2MDgxMDAyNDNFMTIgLyogRHJhd2lu
Z0FyZWFQcm94eS5oICovLAogCQkJCTFBNjQyMkZDMTJERDA4RkUwMENBQUUyQyAvKiBEcmF3aW5n
QXJlYVByb3h5Lm1lc3NhZ2VzLmluICovLAotCQkJCTFBNjQyMTg1MTJEQ0Y0OTIwMENBQUUyQyAv
KiBEcmF3aW5nQXJlYVByb3h5SW1wbC5jcHAgKi8sCi0JCQkJMUE2NDIxODQxMkRDRjQ5MjAwQ0FB
RTJDIC8qIERyYXdpbmdBcmVhUHJveHlJbXBsLmggKi8sCiAJCQkJMUE5MTAwNzAxMjY2NzVDNDAw
MTg0MkY1IC8qIEZpbmRJbmRpY2F0b3IuY3BwICovLAogCQkJCTFBOTEwMDZGMTI2Njc1QzMwMDE4
NDJGNSAvKiBGaW5kSW5kaWNhdG9yLmggKi8sCiAJCQkJQkMxNzc1M0UxMThCQUJGMDAwN0Q5RTlB
IC8qIEdlbmVyaWNDYWxsYmFjay5oICovLApAQCAtNDUwOSw4ICs0NDg1LDYgQEAKIAkJQkM5NjNE
NkMxMTNERDE5NTAwNTc0QkUyIC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCi0JCQkJMUE5N0UwNzMxNkE1RjU3ODAwMEJDOUU1IC8qIExheWVyVHJlZUhv
c3RNYWMuaCAqLywKLQkJCQkxQTk3RTA3NDE2QTVGNTc4MDAwQkM5RTUgLyogTGF5ZXJUcmVlSG9z
dE1hYy5tbSAqLywKIAkJCQk3QzZEMzdGQTE3MkY1NTVGMDA5RDI4NDcgLyogUGFnZUJhbm5lck1h
Yy5tbSAqLywKIAkJCQkxQUIxNkFFQzE2NEI0MUU0MDAyOTBENjIgLyogUmVtb3RlR3JhcGhpY3NM
YXllci5oICovLAogCQkJCTFBQjE2QUVCMTY0QjQxRTQwMDI5MEQ2MiAvKiBSZW1vdGVHcmFwaGlj
c0xheWVyLm1tICovLApAQCAtNDYyNSw3ICs0NTk5LDYgQEAKIAkJQkNDRjA4NUMxMTNGM0I3NTAw
QzY1MEM1IC8qIG1hYyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAo
Ci0JCQkJMUE2NDI5MkMxMkRFNUY5ODAwQ0FBRTJDIC8qIEJhY2tpbmdTdG9yZU1hYy5tbSAqLywK
IAkJCQlCODc4QjYxMzEzMzQyOERDMDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggKi8sCiAJ
CQkJQjg3OEI2MTQxMzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5tbSAqLywKIAkJ
CQkxQUIxNkFFMDE2NDg2NTZEMDAyOTBENjIgLyogUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eS5oICovLApAQCAtNDk5OSw3ICs0OTcyLDYgQEAKIAkJCQk1MTJGNTg5OTEyQTg4Mzg4MDA2
Mjk1MzAgLyogQXV0aGVudGljYXRpb25EZWNpc2lvbkxpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MThFOEVGOTE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNThBMzEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGlj
YXRpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAotCQkJCTFBNjQyNTY4MTJERTQy
RUMwMENBQUUyQyAvKiBCYWNraW5nU3RvcmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzA4Nzcx
MTZENkNGRTUwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cmF0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRTE3MDg3NkMxNkQ2Q0E2OTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyeVByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQk0RjYwMTQzMjE1NUM1QUEyMDAxRkJERTAgLyogQmxvY2tpbmdSZXNw
b25zZU1hcC5oIGluIEhlYWRlcnMgKi8sCkBAIC01MDMxLDExICs1MDAzLDkgQEAKIAkJCQkxQUI3
RDYxQTEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlDNTE3Mzg4MTEyREY4RjRGMDBFRTNGNDcgLyogRHJhZ0NvbnRyb2xsZXJBY3Rp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODQ1MkE4MTE2MkM4MDkwMENBQjlCNSAvKiBEcmF3
aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUE2NDIxRjYxMkRDRkJBQjAwQ0FBRTJDIC8q
IERyYXdpbmdBcmVhSW1wbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZCNjU5MjMxMjA4QjREQjAw
NDQ4MTZDIC8qIERyYXdpbmdBcmVhSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2NDIyOUEx
MkREMDI5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMjY1MjE3MTE4MjYwODEwMDI0M0UxMiAvKiBEcmF3aW5nQXJlYVByb3h5LmggaW4gSGVh
ZGVycyAqLywKLQkJCQkxQTY0MjE4NjEyRENGNDkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFQcm94
eUltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjQyMzA5MTJERDA5RUIwMENBQUUyQyAvKiBE
cmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEQTZFRDBBMTQ5
MDYwNjkwMEI0MUQxMiAvKiBEeW5hbWljTGlua2VyRW52aXJvbm1lbnRFeHRyYWN0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQTQxQUI1MTJDMDJFQzQwMDJCRTY3QiAvKiBFZGl0b3JTdGF0ZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC01MDgzLDcgKzUwNTMsNiBAQAogCQkJCUJDRTA5Mzc4MTRGQjEy
OEMwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QTkyREMxMTEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUExODZFRUExMkVGNzYxODAwOEU1RjM3IC8qIExheWVyVHJlZUhvc3QuaCBpbiBI
ZWFkZXJzICovLAotCQkJCTFBOTdFMDc2MTZBNUY5RTAwMDBCQzlFNSAvKiBMYXllclRyZWVIb3N0
TWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTFEOEJBMjE3MzFBMzYzMDAxNDFEQTQgLyogTG9j
YWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEM3MjhEMTczODQ3N0Mw
MDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxQTdGMkYzMTI1QkY4MjAwMDhBRUIxRCAvKiBMb2dnaW5nLmggaW4gSGVhZGVycyAqLywK
QEAgLTYxNTMsOCArNjEyMiw2IEBACiAJCQkJNTE4RThFRjgxNkIyMDkxQzAwRTkxNDI5IC8qIEF1
dGhlbnRpY2F0aW9uTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MThFOEVGQjE2QjIw
OTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLm1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTUxMkY1OEEyMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE2NDI1NjkxMkRFNDJFQzAw
Q0FBRTJDIC8qIEJhY2tpbmdTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTY0MjkyRDEy
REU1Rjk4MDBDQUFFMkMgLyogQmFja2luZ1N0b3JlTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RTE3MDg3NzAxNkQ2Q0ZFNTAwRjk5MjI2IC8qIEJsb2JSZWdpc3RyYXRpb25EYXRhLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUUxNzA4NzZCMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQ
cm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0YxODYzODE2N0QwNzFFMDBBMUE4NUEgLyog
Q2FjaGVNb2RlbC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYxODYsMTAgKzYxNTMsOCBAQAogCQkJ
CTFBRDI1RTk1MTY3QUIwODEwMEVBOUJDRCAvKiBEb3dubG9hZFByb3h5TWFwLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQjdENjE5MTI4OEI5RDkwMENGRDA4QyAvKiBEb3dubG9hZFByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDODQ1MkE3MTE2MkM4MDkwMENB
QjlCNSAvKiBEcmF3aW5nQXJlYS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTY0MjFGNzEyRENG
QkFCMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
NjQyMjk5MTJERDAyOTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzI2NTIxNjExODI2MDgxMDAyNDNFMTIgLyogRHJhd2luZ0Fy
ZWFQcm94eS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTY0MjE4NzEyRENGNDkyMDBDQUFFMkMg
LyogRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE2NDIzMDgx
MkREMDlFQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNURBNkVEMEIxNDkwNjA2OTAwQjQxRDEyIC8qIER5bmFtaWNMaW5r
ZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5tbSBpbiBTb3VyY2VzICovLAogCQkJCThDRkVDRTk0MTQ5
MEYxNDAwMDJBQUEzMiAvKiBFZGl0b3JTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTYyMzUs
NyArNjIwMCw2IEBACiAJCQkJQkNFMDkzNzcxNEZCMTI4QzAwMTEzOEQ5IC8qIExheWVySG9zdGlu
Z0NvbnRleHQubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTkyREMxMzEyRjhCQUI5MDAxN0FGNjUg
LyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBMTg2RUVCMTJF
Rjc2MTgwMDhFNUYzNyAvKiBMYXllclRyZWVIb3N0LmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFB
OTdFMDc3MTZBNUY5RTAwMDBCQzlFNSAvKiBMYXllclRyZWVIb3N0TWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUExRDhCQTExNzMxQTM2MzAwMTQxREE0IC8qIExvY2FsU3RvcmFnZURhdGFiYXNl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBOEM3MjhDMTczODQ3N0MwMDBBNjU1NCAvKiBMb2Nh
bFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFBN0YyRjUx
MjVCRjhENDAwOEFFQjFEIC8qIExvZ2dpbmcuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcAppbmRleCA5ZWZm
NDYyLi4xODZlZjQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9EcmF3aW5nQXJlYS5jcHAKQEAgLTI3LDExICsyNywxMSBAQAogI2luY2x1ZGUgIkRyYXdpbmdB
cmVhLmgiCiAKIC8vIFN1YmNsYXNzZXMKLSNpbmNsdWRlICJEcmF3aW5nQXJlYUltcGwuaCIKLQog
I2lmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYS5o
IgogI2luY2x1ZGUgIlRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgiCisjZWxzZQorI2lu
Y2x1ZGUgIkRyYXdpbmdBcmVhSW1wbC5oIgogI2VuZGlmCiAKICNpbmNsdWRlICJXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzLmgiCkBAIC00MSwxMyArNDEsMTQgQEAgbmFtZXNwYWNlIFdlYktpdCB7
CiBzdGQ6OnVuaXF1ZV9wdHI8RHJhd2luZ0FyZWE+IERyYXdpbmdBcmVhOjpjcmVhdGUoV2ViUGFn
ZSogd2ViUGFnZSwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykK
IHsKICAgICBzd2l0Y2ggKHBhcmFtZXRlcnMuZHJhd2luZ0FyZWFUeXBlKSB7Ci0gICAgY2FzZSBE
cmF3aW5nQXJlYVR5cGVJbXBsOgotICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxEcmF3
aW5nQXJlYUltcGw+KHdlYlBhZ2UsIHBhcmFtZXRlcnMpOwogI2lmIFBMQVRGT1JNKE1BQykKICAg
ICBjYXNlIERyYXdpbmdBcmVhVHlwZVRpbGVkQ29yZUFuaW1hdGlvbjoKICAgICAgICAgcmV0dXJu
IHN0ZDo6bWFrZV91bmlxdWU8VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE+KHdlYlBhZ2Us
IHBhcmFtZXRlcnMpOwogICAgIGNhc2UgRHJhd2luZ0FyZWFUeXBlUmVtb3RlTGF5ZXJUcmVlOgog
ICAgICAgICByZXR1cm4gc3RkOjptYWtlX3VuaXF1ZTxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YT4od2ViUGFnZSwgcGFyYW1ldGVycyk7CisjZWxzZQorICAgIGNhc2UgRHJhd2luZ0FyZWFUeXBl
SW1wbDoKKyAgICAgICAgcmV0dXJuIERyYXdpbmdBcmVhSW1wbDo6Y3JlYXRlKHdlYlBhZ2UsIHBh
cmFtZXRlcnMpOwogI2VuZGlmCiAgICAgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuY3BwCmluZGV4IGQwMjUwMjMuLjk3MjE4
MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5n
QXJlYUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYUltcGwuY3BwCkBAIC0yNTUsMjAgKzI1NSw3IEBAIHZvaWQgRHJhd2luZ0FyZWFJbXBs
OjpzZXRQYWludGluZ0VuYWJsZWQoYm9vbCBwYWludGluZ0VuYWJsZWQpCiAKIHZvaWQgRHJhd2lu
Z0FyZWFJbXBsOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBz
dG9yZSkKIHsKLSNpZiBQTEFURk9STShNQUMpCi0gICAgLy8gU29vbiB3ZSB3YW50IHBhZ2VzIHdp
dGggZml4ZWQgcG9zaXRpb25lZCBlbGVtZW50cyB0byBiZSBhYmxlIHRvIGJlIHNjcm9sbGVkIGJ5
IHRoZSBTY3JvbGxpbmdDb29yZGluYXRvci4KLSAgICAvLyBBcyBhIHBhcnQgb2YgdGhhdCB3b3Jr
LCB3ZSBoYXZlIHRvIGNvbXBvc2l0ZSBmaXhlZCBwb3NpdGlvbiBlbGVtZW50cywgYW5kIHdlIGhh
dmUgdG8gYWxsb3cgdGhvc2UKLSAgICAvLyBlbGVtZW50cyB0byBjcmVhdGUgYSBzdGFja2luZyBj
b250ZXh0LgotICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRBY2NlbGVy
YXRlZENvbXBvc2l0aW5nRm9yRml4ZWRQb3NpdGlvbkVuYWJsZWQodHJ1ZSk7Ci0gICAgbV93ZWJQ
YWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZpeGVkUG9zaXRpb25DcmVhdGVzU3RhY2tp
bmdDb250ZXh0KHRydWUpOwotCi0gICAgLy8gPHJkYXI6Ly9wcm9ibGVtLzEwNjk3NDE3PjogSXQg
aXMgbmVjZXNzYXJ5IHRvIGZvcmNlIGNvbXBvc2l0aW5nIHdoZW4gYWNjZWxlcmF0ZSBkcmF3aW5n
Ci0gICAgLy8gaXMgZW5hYmxlZCBvbiBNYWMgc28gdGhhdCBzY3JvbGxiYXJzIGFyZSBhbHdheXMg
aW4gdGhlaXIgb3duIGxheWVycy4KLSAgICBpZiAobV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0
aW5ncygpLmFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoKSkKLSAgICAgICAgbV93ZWJQYWdlLT5j
b3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZvcmNlQ29tcG9zaXRpbmdNb2RlKExheWVyVHJlZUhv
c3Q6OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpKTsKLSAgICBlbHNlCi0jZW5kaWYK
LSAgICAgICAgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLnNldEZvcmNlQ29tcG9z
aXRpbmdNb2RlKHN0b3JlLmdldEJvb2xWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6Zm9y
Y2VDb21wb3NpdGluZ01vZGVLZXkoKSkgJiYgTGF5ZXJUcmVlSG9zdDo6c3VwcG9ydHNBY2NlbGVy
YXRlZENvbXBvc2l0aW5nKCkpOworICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3Mo
KS5zZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OmZvcmNlQ29tcG9zaXRpbmdNb2RlS2V5KCkpICYmIExheWVyVHJlZUhvc3Q6
OnN1cHBvcnRzQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpKTsKIH0KIAogdm9pZCBEcmF3aW5nQXJl
YUltcGw6OmxheWVySG9zdERpZEZsdXNoTGF5ZXJzKCkKQEAgLTQ3OCwxMiArNDY1LDcgQEAgdm9p
ZCBEcmF3aW5nQXJlYUltcGw6OnJlc3VtZVBhaW50aW5nKCkKICAgICAvLyBGSVhNRTogV2Ugc2hv
dWxkbid0IGFsd2F5cyByZXBhaW50IGV2ZXJ5dGhpbmcgaGVyZS4KICAgICBzZXROZWVkc0Rpc3Bs
YXkoKTsKIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBpZiAobV93ZWJQYWdlLT53aW5kb3dJc1Zp
c2libGUoKSkKLSAgICAgICAgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5yZXN1bWVTY3JpcHRlZEFu
aW1hdGlvbnMoKTsKLSNlbHNlCiAgICAgbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5yZXN1bWVTY3Jp
cHRlZEFuaW1hdGlvbnMoKTsKLSNlbmRpZgogfQogCiB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZW50
ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVy
KQpAQCAtNzE2LDIxICs2OTgsNCBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6ZGlkUmVjZWl2ZUNv
b3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdAogfQogI2VuZGlm
CiAKLSNpZiBQTEFURk9STShNQUMpCi12b2lkIERyYXdpbmdBcmVhSW1wbDo6c2V0TGF5ZXJIb3N0
aW5nTW9kZSh1aW50MzJfdCBvcGFxdWVMYXllckhvc3RpbmdNb2RlKQotewotICAgIExheWVySG9z
dGluZ01vZGUgbGF5ZXJIb3N0aW5nTW9kZSA9IHN0YXRpY19jYXN0PExheWVySG9zdGluZ01vZGU+
KG9wYXF1ZUxheWVySG9zdGluZ01vZGUpOwotICAgIG1fd2ViUGFnZS0+c2V0TGF5ZXJIb3N0aW5n
TW9kZShsYXllckhvc3RpbmdNb2RlKTsKLQotICAgIGlmICghbV9sYXllclRyZWVIb3N0KQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBMYXllclRyZWVDb250ZXh0IG9sZExheWVyVHJlZUNvbnRleHQg
PSBtX2xheWVyVHJlZUhvc3QtPmxheWVyVHJlZUNvbnRleHQoKTsKLSAgICBtX2xheWVyVHJlZUhv
c3QtPnNldExheWVySG9zdGluZ01vZGUobGF5ZXJIb3N0aW5nTW9kZSk7Ci0KLSAgICBpZiAobV9s
YXllclRyZWVIb3N0LT5sYXllclRyZWVDb250ZXh0KCkgIT0gb2xkTGF5ZXJUcmVlQ29udGV4dCkK
LSAgICAgICAgbV93ZWJQYWdlLT5zZW5kKE1lc3NhZ2VzOjpEcmF3aW5nQXJlYVByb3h5OjpVcGRh
dGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShtX2JhY2tpbmdTdG9yZVN0YXRlSUQsIG1fbGF5
ZXJUcmVlSG9zdC0+bGF5ZXJUcmVlQ29udGV4dCgpKSk7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWFJbXBsLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWFJbXBsLmgKaW5kZXggMDU4ZmFjOC4uNzU4ZjExYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaApAQCAtNzMs
MTAgKzczLDYgQEAgcHJpdmF0ZToKICAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVDb21wb3NpdGlu
Z0xheWVyRmx1c2goKSBPVkVSUklERTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oTUFDKQotICAg
IHZpcnR1YWwgdm9pZCBzZXRMYXllckhvc3RpbmdNb2RlKHVpbnQzMl90KSBPVkVSUklERTsKLSNl
bmRpZgotCiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQogICAgIHZpcnR1YWwgdm9pZCBk
aWRSZWNlaXZlQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0TWVzc2FnZShDb3JlSVBDOjpDb25uZWN0
aW9uKiwgQ29yZUlQQzo6TWVzc2FnZURlY29kZXImKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IGE0YTEw
MzkuLjU5M2ExY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9MYXllclRyZWVIb3N0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTI2LDEwICsyNiw2IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiTGF5ZXJUcmVlSG9zdC5oIgogCi0jaWYgUExBVEZPUk0oTUFDKQotI2lu
Y2x1ZGUgIkxheWVyVHJlZUhvc3RNYWMuaCIKLSNlbmRpZgotCiAjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKQogI2luY2x1ZGUgIkNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdC5oIgogI2VuZGlm
CkBAIC00NCw5ICs0MCw3IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiBQYXNzUmVmUHRyPExheWVy
VHJlZUhvc3Q+IExheWVyVHJlZUhvc3Q6OmNyZWF0ZShXZWJQYWdlKiB3ZWJQYWdlKQogewotI2lm
IFBMQVRGT1JNKE1BQykKLSAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdE1hYzo6Y3JlYXRlKHdlYlBh
Z2UpOwotI2VsaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKQorI2lmIFVTRShDT09SRElOQVRF
RF9HUkFQSElDUykKICAgICByZXR1cm4gQ29vcmRpbmF0ZWRMYXllclRyZWVIb3N0OjpjcmVhdGUo
d2ViUGFnZSk7CiAjZWxpZiBQTEFURk9STShHVEspICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkK
ICAgICByZXR1cm4gTGF5ZXJUcmVlSG9zdEd0azo6Y3JlYXRlKHdlYlBhZ2UpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9MYXllclRyZWVIb3N0TWFj
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyVHJlZUhvc3RN
YWMuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYTYyZWViYy4uMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFjL0xheWVyVHJlZUhvc3RNYWMu
aAorKysgL2Rldi9udWxsCkBAIC0xLDEwNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAy
MDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2lmbmRlZiBM
YXllclRyZWVIb3N0TWFjX2gKLSNkZWZpbmUgTGF5ZXJUcmVlSG9zdE1hY19oCi0KLSNpbmNsdWRl
ICJMYXllclRyZWVIb3N0LmgiCi0jaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0xheWVyQ2xpZW50
Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9MYXllckZsdXNoU2NoZWR1bGVyLmg+Ci0jaW5jbHVkZSA8
V2ViQ29yZS9MYXllckZsdXNoU2NoZWR1bGVyQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL0hhc2hN
YXAuaD4KLQotbmFtZXNwYWNlIFdlYktpdCB7Ci0KLWNsYXNzIExheWVySG9zdGluZ0NvbnRleHQ7
Ci1jbGFzcyBQYWdlT3ZlcmxheTsKLQotY2xhc3MgTGF5ZXJUcmVlSG9zdE1hYyA6IHB1YmxpYyBM
YXllclRyZWVIb3N0LCBwcml2YXRlIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJDbGllbnQsIHByaXZh
dGUgV2ViQ29yZTo6TGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3Rh
dGljIFBhc3NSZWZQdHI8TGF5ZXJUcmVlSG9zdE1hYz4gY3JlYXRlKFdlYlBhZ2UqKTsKLSAgICB2
aXJ0dWFsIH5MYXllclRyZWVIb3N0TWFjKCk7Ci0KLXByaXZhdGU6Ci0gICAgZXhwbGljaXQgTGF5
ZXJUcmVlSG9zdE1hYyhXZWJQYWdlKik7Ci0KLSAgICAvLyBMYXllclRyZWVIb3N0LgotICAgIHZp
cnR1YWwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJUcmVlQ29udGV4dCgpIE9WRVJSSURF
OwotICAgIHZpcnR1YWwgdm9pZCBzY2hlZHVsZUxheWVyRmx1c2goKSBPVkVSUklERTsKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKGJvb2wpIE9WRVJSSURF
OwotICAgIHZpcnR1YWwgdm9pZCBzZXRTaG91bGROb3RpZnlBZnRlck5leHRTY2hlZHVsZWRMYXll
ckZsdXNoKGJvb2wpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzZXRSb290Q29tcG9zaXRp
bmdMYXllcihXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIGludmFsaWRhdGUoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Tm9uQ29tcG9z
aXRlZENvbnRlbnRzTmVlZERpc3BsYXkoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0
Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QoY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzY3JvbGxOb25Db21wb3NpdGVkQ29u
dGVudHMoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgc2Nyb2xsUmVjdCkgT1ZFUlJJREU7Ci0gICAg
dmlydHVhbCB2b2lkIGZvcmNlUmVwYWludCgpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBz
aXplRGlkQ2hhbmdlKGNvbnN0IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgdm9pZCBkZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgcGFnZUJhY2tncm91bmRUcmFuc3BhcmVuY3lDaGFuZ2VkKCkg
T1ZFUlJJREU7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZGlkSW5zdGFsbFBhZ2VPdmVybGF5KFBhZ2VP
dmVybGF5KikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIGRpZFVuaW5zdGFsbFBhZ2VPdmVy
bGF5KFBhZ2VPdmVybGF5KikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNldFBhZ2VPdmVy
bGF5TmVlZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpIE9W
RVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3ZlcmxheU9wYWNpdHkoUGFnZU92ZXJs
YXkqLCBmbG9hdCkgT1ZFUlJJREU7Ci0KLSAgICB2aXJ0dWFsIHZvaWQgcGF1c2VSZW5kZXJpbmco
KSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVzdW1lUmVuZGVyaW5nKCkgT1ZFUlJJREU7
Ci0KLSAgICB2aXJ0dWFsIHZvaWQgc2V0TGF5ZXJIb3N0aW5nTW9kZShMYXllckhvc3RpbmdNb2Rl
KSBPVkVSUklERTsKLQotICAgIC8vIEdyYXBoaWNzTGF5ZXJDbGllbnQKLSAgICB2aXJ0dWFsIHZv
aWQgbm90aWZ5QW5pbWF0aW9uU3RhcnRlZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwg
ZG91YmxlIHRpbWUpIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBub3RpZnlGbHVzaFJlcXVp
cmVkKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IHZvaWQgcGFpbnRDb250ZW50cyhjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0JiwgV2ViQ29yZTo6R3JhcGhpY3NMYXllclBhaW50aW5nUGhhc2Us
IGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KSBPVkVSUklERTsKLSAgICB2aXJ0dWFs
IGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIGRpZENvbW1pdENoYW5nZXNGb3JMYXllcihjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVy
KikgY29uc3QgT1ZFUlJJREUgeyB9Ci0KLSAgICAvLyBMYXllckZsdXNoU2NoZWR1bGVyQ2xpZW50
Ci0gICAgdmlydHVhbCBib29sIGZsdXNoTGF5ZXJzKCk7Ci0KLSAgICB2b2lkIGluaXRpYWxpemUo
KTsKLSAgICB2b2lkIHBlcmZvcm1TY2hlZHVsZWRMYXllckZsdXNoKCk7Ci0gICAgYm9vbCBmbHVz
aFBlbmRpbmdMYXllckNoYW5nZXMoKTsKLQotICAgIHZvaWQgY3JlYXRlUGFnZU92ZXJsYXlMYXll
cihQYWdlT3ZlcmxheSopOwotICAgIHZvaWQgZGVzdHJveVBhZ2VPdmVybGF5TGF5ZXIoUGFnZU92
ZXJsYXkqKTsKLQotICAgIGJvb2wgbV9pc1ZhbGlkOwotICAgIGJvb2wgbV9ub3RpZnlBZnRlclNj
aGVkdWxlZExheWVyRmx1c2g7Ci0KLSAgICBMYXllclRyZWVDb250ZXh0IG1fbGF5ZXJUcmVlQ29u
dGV4dDsKLQotICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyPiBtX3Jv
b3RMYXllcjsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gbV9u
b25Db21wb3NpdGVkQ29udGVudExheWVyOwotICAgIHR5cGVkZWYgSGFzaE1hcDxQYWdlT3Zlcmxh
eSosIHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHcmFwaGljc0xheWVyPj4gUGFnZU92ZXJsYXlM
YXllck1hcDsKLSAgICBQYWdlT3ZlcmxheUxheWVyTWFwIG1fcGFnZU92ZXJsYXlMYXllcnM7Ci0K
LSAgICBzdGQ6OnVuaXF1ZV9wdHI8TGF5ZXJIb3N0aW5nQ29udGV4dD4gbV9sYXllckhvc3RpbmdD
b250ZXh0OwotICAgIFdlYkNvcmU6OkxheWVyRmx1c2hTY2hlZHVsZXIgbV9sYXllckZsdXNoU2No
ZWR1bGVyOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0Ci0KLSNlbmRpZiAvLyBMYXllclRy
ZWVIb3N0TWFjX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggM2I3ODZmMC4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL0xheWVyVHJlZUhvc3RNYWMubW0KKysrIC9kZXYvbnVsbApAQCAtMSw0MTEgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgotICovCi0KLSNpbXBvcnQgImNvbmZpZy5oIgotI2ltcG9ydCAiTGF5ZXJUcmVlSG9z
dE1hYy5oIgotCi0jaW1wb3J0ICJEcmF3aW5nQXJlYUltcGwuaCIKLSNpbXBvcnQgIkxheWVySG9z
dGluZ0NvbnRleHQuaCIKLSNpbXBvcnQgIldlYlBhZ2UuaCIKLSNpbXBvcnQgIldlYlByb2Nlc3Mu
aCIKLSNpbXBvcnQgPFF1YXJ0ekNvcmUvQ0FUcmFuc2FjdGlvbi5oPgotI2ltcG9ydCA8V2ViQ29y
ZS9GcmFtZVZpZXcuaD4KLSNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NMYXllckNBLmg+Ci0jaW1w
b3J0IDxXZWJDb3JlL01haW5GcmFtZS5oPgotI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybUNBTGF5
ZXIuaD4KLSNpbXBvcnQgPFdlYkNvcmUvU2V0dGluZ3MuaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7Ci0KLUBpbnRlcmZhY2UgQ0FUcmFuc2FjdGlvbiAoRGV0YWlscykKLSsgKHZvaWQpc3lu
Y2hyb25pemU7Ci1AZW5kCi0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1QYXNzUmVmUHRyPExheWVy
VHJlZUhvc3RNYWM+IExheWVyVHJlZUhvc3RNYWM6OmNyZWF0ZShXZWJQYWdlKiB3ZWJQYWdlKQot
ewotICAgIFJlZlB0cjxMYXllclRyZWVIb3N0TWFjPiBob3N0ID0gYWRvcHRSZWYobmV3IExheWVy
VHJlZUhvc3RNYWMod2ViUGFnZSkpOwotICAgIGhvc3QtPmluaXRpYWxpemUoKTsKLSAgICByZXR1
cm4gaG9zdC5yZWxlYXNlKCk7Ci19Ci0KLUxheWVyVHJlZUhvc3RNYWM6OkxheWVyVHJlZUhvc3RN
YWMoV2ViUGFnZSogd2ViUGFnZSkKLSAgICA6IExheWVyVHJlZUhvc3Qod2ViUGFnZSkKLSAgICAs
IG1faXNWYWxpZCh0cnVlKQotICAgICwgbV9ub3RpZnlBZnRlclNjaGVkdWxlZExheWVyRmx1c2go
ZmFsc2UpCi0gICAgLCBtX2xheWVyRmx1c2hTY2hlZHVsZXIodGhpcykKLXsKLX0KLQotTGF5ZXJU
cmVlSG9zdE1hYzo6fkxheWVyVHJlZUhvc3RNYWMoKQotewotICAgIEFTU0VSVCghbV9pc1ZhbGlk
KTsKLSAgICBBU1NFUlQoIW1fcm9vdExheWVyKTsKLSAgICBBU1NFUlQoIW1fbGF5ZXJIb3N0aW5n
Q29udGV4dCk7Ci19Ci0KLWNvbnN0IExheWVyVHJlZUNvbnRleHQmIExheWVyVHJlZUhvc3RNYWM6
OmxheWVyVHJlZUNvbnRleHQoKQotewotICAgIHJldHVybiBtX2xheWVyVHJlZUNvbnRleHQ7Ci19
Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6c2NoZWR1bGVMYXllckZsdXNoKCkKLXsKLSAgICBt
X2xheWVyRmx1c2hTY2hlZHVsZXIuc2NoZWR1bGUoKTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0
TWFjOjpzZXRMYXllckZsdXNoU2NoZWR1bGluZ0VuYWJsZWQoYm9vbCBsYXllckZsdXNoaW5nRW5h
YmxlZCkKLXsKLSAgICBpZiAobGF5ZXJGbHVzaGluZ0VuYWJsZWQpCi0gICAgICAgIG1fbGF5ZXJG
bHVzaFNjaGVkdWxlci5yZXN1bWUoKTsKLSAgICBlbHNlCi0gICAgICAgIG1fbGF5ZXJGbHVzaFNj
aGVkdWxlci5zdXNwZW5kKCk7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6c2V0U2hvdWxk
Tm90aWZ5QWZ0ZXJOZXh0U2NoZWR1bGVkTGF5ZXJGbHVzaChib29sIG5vdGlmeUFmdGVyU2NoZWR1
bGVkTGF5ZXJGbHVzaCkKLXsKLSAgICBtX25vdGlmeUFmdGVyU2NoZWR1bGVkTGF5ZXJGbHVzaCA9
IG5vdGlmeUFmdGVyU2NoZWR1bGVkTGF5ZXJGbHVzaDsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0
TWFjOjpzZXRSb290Q29tcG9zaXRpbmdMYXllcihHcmFwaGljc0xheWVyKiBncmFwaGljc0xheWVy
KQotewotICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+cmVtb3ZlQWxsQ2hpbGRyZW4o
KTsKLQotICAgIC8vIEFkZCB0aGUgYWNjZWxlcmF0ZWQgbGF5ZXIgdHJlZSBoaWVyYXJjaHkuCi0g
ICAgaWYgKGdyYXBoaWNzTGF5ZXIpCi0gICAgICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXll
ci0+YWRkQ2hpbGQoZ3JhcGhpY3NMYXllcik7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6
aW52YWxpZGF0ZSgpCi17Ci0gICAgQVNTRVJUKG1faXNWYWxpZCk7Ci0KLSAgICBtX2lzVmFsaWQg
PSBmYWxzZTsKLQotICAgIG1fcm9vdExheWVyID0gbnVsbHB0cjsKLQotICAgIG1fbGF5ZXJIb3N0
aW5nQ29udGV4dC0+aW52YWxpZGF0ZSgpOwotICAgIG1fbGF5ZXJIb3N0aW5nQ29udGV4dCA9IG51
bGxwdHI7Ci0gICAgbV9sYXllckZsdXNoU2NoZWR1bGVyLmludmFsaWRhdGUoKTsKLX0KLQotdm9p
ZCBMYXllclRyZWVIb3N0TWFjOjpzZXROb25Db21wb3NpdGVkQ29udGVudHNOZWVkRGlzcGxheSgp
Ci17Ci0gICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsK
LQotICAgIFBhZ2VPdmVybGF5TGF5ZXJNYXA6Oml0ZXJhdG9yIGVuZCA9IG1fcGFnZU92ZXJsYXlM
YXllcnMuZW5kKCk7Ci0gICAgZm9yIChQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBpdCA9
IG1fcGFnZU92ZXJsYXlMYXllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBp
dC0+dmFsdWUtPnNldE5lZWRzRGlzcGxheSgpOwotCi0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7
Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVl
ZERpc3BsYXlJblJlY3QoY29uc3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBtX25vbkNvbXBvc2l0
ZWRDb250ZW50TGF5ZXItPnNldE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKLQotICAgIFBhZ2VP
dmVybGF5TGF5ZXJNYXA6Oml0ZXJhdG9yIGVuZCA9IG1fcGFnZU92ZXJsYXlMYXllcnMuZW5kKCk7
Ci0gICAgZm9yIChQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBpdCA9IG1fcGFnZU92ZXJs
YXlMYXllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQotICAgICAgICBpdC0+dmFsdWUtPnNl
dE5lZWRzRGlzcGxheUluUmVjdChyZWN0KTsKLQotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwot
fQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OnNjcm9sbE5vbkNvbXBvc2l0ZWRDb250ZW50cyhj
b25zdCBJbnRSZWN0JiBzY3JvbGxSZWN0KQotewotICAgIHNldE5vbkNvbXBvc2l0ZWRDb250ZW50
c05lZWREaXNwbGF5SW5SZWN0KHNjcm9sbFJlY3QpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RN
YWM6OmZvcmNlUmVwYWludCgpCi17Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci0gICAgZmx1
c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7Ci0KLSAgICBbQ0FUcmFuc2FjdGlvbiBmbHVzaF07Ci0g
ICAgW0NBVHJhbnNhY3Rpb24gc3luY2hyb25pemVdOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RN
YWM6OnNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgbmV3U2l6ZSkKLXsKLSAgICBtX3Jvb3RM
YXllci0+c2V0U2l6ZShuZXdTaXplKTsKLQotICAgIC8vIElmIHRoZSBuZXdTaXplIGV4cG9zZXMg
bmV3IGFyZWFzIG9mIHRoZSBub24tY29tcG9zaXRlZCBjb250ZW50IGEgc2V0TmVlZHNEaXNwbGF5
IGlzIG5lZWRlZAotICAgIC8vIGZvciB0aG9zZSBuZXdseSBleHBvc2VkIGFyZWFzLgotICAgIEZs
b2F0U2l6ZSBvbGRTaXplID0gbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zaXplKCk7Ci0g
ICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXRTaXplKG5ld1NpemUpOwotCi0gICAg
aWYgKG5ld1NpemUud2lkdGgoKSA+IG9sZFNpemUud2lkdGgoKSkgewotICAgICAgICBmbG9hdCBo
ZWlnaHQgPSBzdGQ6Om1pbihzdGF0aWNfY2FzdDxmbG9hdD4obmV3U2l6ZS5oZWlnaHQoKSksIG9s
ZFNpemUuaGVpZ2h0KCkpOwotICAgICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNl
dE5lZWRzRGlzcGxheUluUmVjdChGbG9hdFJlY3Qob2xkU2l6ZS53aWR0aCgpLCAwLCBuZXdTaXpl
LndpZHRoKCkgLSBvbGRTaXplLndpZHRoKCksIGhlaWdodCkpOwotICAgIH0KLQotICAgIGlmIChu
ZXdTaXplLmhlaWdodCgpID4gb2xkU2l6ZS5oZWlnaHQoKSkKLSAgICAgICAgbV9ub25Db21wb3Np
dGVkQ29udGVudExheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QoRmxvYXRSZWN0KDAsIG9sZFNp
emUuaGVpZ2h0KCksIG5ld1NpemUud2lkdGgoKSwgbmV3U2l6ZS5oZWlnaHQoKSAtIG9sZFNpemUu
aGVpZ2h0KCkpKTsKLQotICAgIFBhZ2VPdmVybGF5TGF5ZXJNYXA6Oml0ZXJhdG9yIGVuZCA9IG1f
cGFnZU92ZXJsYXlMYXllcnMuZW5kKCk7Ci0gICAgZm9yIChQYWdlT3ZlcmxheUxheWVyTWFwOjpp
dGVyYXRvciBpdCA9IG1fcGFnZU92ZXJsYXlMYXllcnMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0
KQotICAgICAgICBpdC0+dmFsdWUtPnNldFNpemUobmV3U2l6ZSk7Ci0KLSAgICBzY2hlZHVsZUxh
eWVyRmx1c2goKTsKLSAgICBmbHVzaFBlbmRpbmdMYXllckNoYW5nZXMoKTsKLQotICAgIFtDQVRy
YW5zYWN0aW9uIGZsdXNoXTsKLSAgICBbQ0FUcmFuc2FjdGlvbiBzeW5jaHJvbml6ZV07Ci19Ci0K
LXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkK
LXsKLSAgICAvLyBPdGhlciBsYXllcnMgbGVhcm4gb2YgdGhlIHNjYWxlIGZhY3RvciBjaGFuZ2Ug
dmlhIFdlYlBhZ2U6OnNldERldmljZVNjYWxlRmFjdG9yLgotICAgIG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCk7Ci19Ci0KLXZvaWQg
TGF5ZXJUcmVlSG9zdE1hYzo6cGFnZUJhY2tncm91bmRUcmFuc3BhcmVuY3lDaGFuZ2VkKCkKLXsK
LSAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKG1fd2Vi
UGFnZS0+ZHJhd3NCYWNrZ3JvdW5kKCkgJiYgIW1fd2ViUGFnZS0+ZHJhd3NUcmFuc3BhcmVudEJh
Y2tncm91bmQoKSk7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6ZGlkSW5zdGFsbFBhZ2VP
dmVybGF5KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkKLXsKLSAgICBjcmVhdGVQYWdlT3Zlcmxh
eUxheWVyKHBhZ2VPdmVybGF5KTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9p
ZCBMYXllclRyZWVIb3N0TWFjOjpkaWRVbmluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3ZlcmxheSog
cGFnZU92ZXJsYXkpCi17Ci0gICAgZGVzdHJveVBhZ2VPdmVybGF5TGF5ZXIocGFnZU92ZXJsYXkp
OwotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6
OnNldFBhZ2VPdmVybGF5TmVlZHNEaXNwbGF5KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSwgY29u
c3QgSW50UmVjdCYgcmVjdCkKLXsKLSAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IG1fcGFnZU92
ZXJsYXlMYXllcnMuZ2V0KHBhZ2VPdmVybGF5KTsKLQotICAgIGlmICghbGF5ZXIpCi0gICAgICAg
IHJldHVybjsKLQotICAgIGxheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7Ci0gICAg
c2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6c2V0UGFn
ZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSwgZmxvYXQgb3BhY2l0eSkK
LXsKLSAgICBHcmFwaGljc0xheWVyKiBsYXllciA9IG1fcGFnZU92ZXJsYXlMYXllcnMuZ2V0KHBh
Z2VPdmVybGF5KTsKLQotICAgIGlmICghbGF5ZXIpCi0gICAgICAgIHJldHVybjsKLQotICAgIGxh
eWVyLT5zZXRPcGFjaXR5KG9wYWNpdHkpOwotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotfQot
Ci12b2lkIExheWVyVHJlZUhvc3RNYWM6OnBhdXNlUmVuZGVyaW5nKCkKLXsKLSAgICBDQUxheWVy
KiByb290ID0gbV9yb290TGF5ZXItPnBsYXRmb3JtTGF5ZXIoKTsKLSAgICBbcm9vdCBzZXRWYWx1
ZTooaWQpa0NGQm9vbGVhblRydWUgZm9yS2V5OkAiTlNDQVZpZXdSZW5kZXJQYXVzZWQiXTsKLSAg
ICBbW05TTm90aWZpY2F0aW9uQ2VudGVyIGRlZmF1bHRDZW50ZXJdIHBvc3ROb3RpZmljYXRpb25O
YW1lOkAiTlNDQVZpZXdSZW5kZXJEaWRQYXVzZU5vdGlmaWNhdGlvbiIgb2JqZWN0Om5pbCB1c2Vy
SW5mbzpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0OnJvb3QgZm9yS2V5OkAibGF5
ZXIiXV07Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6cmVzdW1lUmVuZGVyaW5nKCkKLXsK
LSAgICBDQUxheWVyKiByb290ID0gbV9yb290TGF5ZXItPnBsYXRmb3JtTGF5ZXIoKTsKLSAgICBb
cm9vdCBzZXRWYWx1ZTooaWQpa0NGQm9vbGVhbkZhbHNlIGZvcktleTpAIk5TQ0FWaWV3UmVuZGVy
UGF1c2VkIl07Ci0gICAgW1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0
Tm90aWZpY2F0aW9uTmFtZTpAIk5TQ0FWaWV3UmVuZGVyRGlkUmVzdW1lTm90aWZpY2F0aW9uIiBv
YmplY3Q6bmlsIHVzZXJJbmZvOltOU0RpY3Rpb25hcnkgZGljdGlvbmFyeVdpdGhPYmplY3Q6cm9v
dCBmb3JLZXk6QCJsYXllciJdXTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFjOjpzZXRMYXll
ckhvc3RpbmdNb2RlKExheWVySG9zdGluZ01vZGUgbGF5ZXJIb3N0aW5nTW9kZSkKLXsKLSAgICBp
ZiAobGF5ZXJIb3N0aW5nTW9kZSA9PSBtX2xheWVySG9zdGluZ0NvbnRleHQtPmxheWVySG9zdGlu
Z01vZGUoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgLy8gVGhlIG1vZGUgaGFzIGNoYW5nZWQu
Ci0KLSAgICAvLyBGaXJzdCwgaW52YWxpZGF0ZSB0aGUgb2xkIGhvc3RpbmcgY29udGV4dC4KLSAg
ICBtX2xheWVySG9zdGluZ0NvbnRleHQtPmludmFsaWRhdGUoKTsKLSAgICBtX2xheWVySG9zdGlu
Z0NvbnRleHQgPSBudWxscHRyOwotCi0gICAgLy8gQ3JlYXRlIGEgbmV3IGNvbnRleHQgYW5kIHNl
dCBpdCB1cC4KLSAgICBzd2l0Y2ggKGxheWVySG9zdGluZ01vZGUpIHsKLSAgICBjYXNlIExheWVy
SG9zdGluZ01vZGVEZWZhdWx0OgotICAgICAgICBtX2xheWVySG9zdGluZ0NvbnRleHQgPSBMYXll
ckhvc3RpbmdDb250ZXh0OjpjcmVhdGVGb3JQb3J0KFdlYlByb2Nlc3M6OnNoYXJlZCgpLmNvbXBv
c2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpKTsKLSAgICAgICAgYnJlYWs7Ci0jaWYgSEFWRShMQVlF
Ul9IT1NUSU5HX0lOX1dJTkRPV19TRVJWRVIpCi0gICAgY2FzZSBMYXllckhvc3RpbmdNb2RlSW5X
aW5kb3dTZXJ2ZXI6Ci0gICAgICAgIG1fbGF5ZXJIb3N0aW5nQ29udGV4dCA9IExheWVySG9zdGlu
Z0NvbnRleHQ6OmNyZWF0ZUZvcldpbmRvd1NlcnZlcigpOyAgICAgICAgCi0gICAgICAgIGJyZWFr
OwotI2VuZGlmCi0gICAgfQotCi0gICAgbV9sYXllckhvc3RpbmdDb250ZXh0LT5zZXRSb290TGF5
ZXIobV9yb290TGF5ZXItPnBsYXRmb3JtTGF5ZXIoKSk7Ci0gICAgbV9sYXllclRyZWVDb250ZXh0
LmNvbnRleHRJRCA9IG1fbGF5ZXJIb3N0aW5nQ29udGV4dC0+Y29udGV4dElEKCk7Ci0KLSAgICBz
Y2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFjOjpub3RpZnlB
bmltYXRpb25TdGFydGVkKGNvbnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqLCBkb3VibGUgdGlt
ZSkKLXsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFjOjpub3RpZnlGbHVzaFJlcXVpcmVkKGNv
bnN0IFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKQotewotfQotCi12b2lkIExheWVyVHJlZUhvc3RN
YWM6OnBhaW50Q29udGVudHMoY29uc3QgR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllciwgR3Jh
cGhpY3NDb250ZXh0JiBncmFwaGljc0NvbnRleHQsIEdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNl
LCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkKLXsKLSAgICBpZiAoZ3JhcGhpY3NMYXllciA9PSBt
X25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXIuZ2V0KCkpIHsKLSAgICAgICAgbV93ZWJQYWdlLT5k
cmF3UmVjdChncmFwaGljc0NvbnRleHQsIGNsaXBSZWN0KTsKLSAgICAgICAgcmV0dXJuOwotICAg
IH0KLQotICAgIGZvciAoYXV0byYgcGFnZU92ZXJsYXlMYXllciA6IG1fcGFnZU92ZXJsYXlMYXll
cnMpIHsKLSAgICAgICAgaWYgKHBhZ2VPdmVybGF5TGF5ZXIudmFsdWUuZ2V0KCkgPT0gZ3JhcGhp
Y3NMYXllcikgewotICAgICAgICAgICAgbV93ZWJQYWdlLT5kcmF3UGFnZU92ZXJsYXkocGFnZU92
ZXJsYXlMYXllci5rZXksIGdyYXBoaWNzQ29udGV4dCwgY2xpcFJlY3QpOwotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICB9Ci19Ci0KLWZsb2F0IExheWVyVHJlZUhvc3RNYWM6OmRl
dmljZVNjYWxlRmFjdG9yKCkgY29uc3QKLXsKLSAgICByZXR1cm4gbV93ZWJQYWdlLT5jb3JlUGFn
ZSgpLT5kZXZpY2VTY2FsZUZhY3RvcigpOwotfQotCi1ib29sIExheWVyVHJlZUhvc3RNYWM6OmZs
dXNoTGF5ZXJzKCkKLXsKLSAgICBwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwotICAgIHJl
dHVybiB0cnVlOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OmluaXRpYWxpemUoKQotewot
ICAgIC8vIENyZWF0ZSBhIHJvb3QgbGF5ZXIuCi0gICAgbV9yb290TGF5ZXIgPSBHcmFwaGljc0xh
eWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3RvcnkoKSwgdGhpcyk7Ci0jaWZuZGVmIE5ERUJV
RwotICAgIG1fcm9vdExheWVyLT5zZXROYW1lKCJMYXllclRyZWVIb3N0IHJvb3QgbGF5ZXIiKTsK
LSNlbmRpZgotICAgIG1fcm9vdExheWVyLT5zZXREcmF3c0NvbnRlbnQoZmFsc2UpOwotICAgIG1f
cm9vdExheWVyLT5zZXRTaXplKG1fd2ViUGFnZS0+c2l6ZSgpKTsKLSAgICBzdGF0aWNfY2FzdDxH
cmFwaGljc0xheWVyQ0EqPihtX3Jvb3RMYXllci5nZXQoKSktPnBsYXRmb3JtQ0FMYXllcigpLT5z
ZXRHZW9tZXRyeUZsaXBwZWQodHJ1ZSk7Ci0KLSAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5
ZXIgPSBHcmFwaGljc0xheWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3RvcnkoKSwgdGhpcyk7
Ci0gICAgc3RhdGljX2Nhc3Q8R3JhcGhpY3NMYXllckNBKj4obV9ub25Db21wb3NpdGVkQ29udGVu
dExheWVyLmdldCgpKS0+c2V0QWxsb3dUaWxlZExheWVyKGZhbHNlKTsKLSNpZm5kZWYgTkRFQlVH
Ci0gICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXROYW1lKCJMYXllclRyZWVIb3N0
IG5vbi1jb21wb3NpdGVkIGNvbnRlbnQiKTsKLSNlbmRpZgotICAgIG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwotICAgIG1fbm9uQ29tcG9zaXRlZENv
bnRlbnRMYXllci0+c2V0Q29udGVudHNPcGFxdWUobV93ZWJQYWdlLT5kcmF3c0JhY2tncm91bmQo
KSAmJiAhbV93ZWJQYWdlLT5kcmF3c1RyYW5zcGFyZW50QmFja2dyb3VuZCgpKTsKLSAgICBtX25v
bkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldFNpemUobV93ZWJQYWdlLT5zaXplKCkpOwotICAg
IGlmIChtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuYWNjZWxlcmF0ZWREcmF3aW5n
RW5hYmxlZCgpKQotICAgICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnNldEFjY2Vs
ZXJhdGVzRHJhd2luZyh0cnVlKTsKLQotICAgIG1fcm9vdExheWVyLT5hZGRDaGlsZChtX25vbkNv
bXBvc2l0ZWRDb250ZW50TGF5ZXIuZ2V0KCkpOwotCi0gICAgaWYgKG1fd2ViUGFnZS0+aGFzUGFn
ZU92ZXJsYXkoKSkgewotICAgICAgICBQYWdlT3ZlcmxheUxpc3QmIHBhZ2VPdmVybGF5cyA9IG1f
d2ViUGFnZS0+cGFnZU92ZXJsYXlzKCk7Ci0gICAgICAgIFBhZ2VPdmVybGF5TGlzdDo6aXRlcmF0
b3IgZW5kID0gcGFnZU92ZXJsYXlzLmVuZCgpOwotICAgICAgICBmb3IgKFBhZ2VPdmVybGF5TGlz
dDo6aXRlcmF0b3IgaXQgPSBwYWdlT3ZlcmxheXMuYmVnaW4oKTsgaXQgIT0gZW5kOyArK2l0KQot
ICAgICAgICAgICAgY3JlYXRlUGFnZU92ZXJsYXlMYXllcihpdC0+Z2V0KCkpOwotICAgIH0KLQot
ICAgIHN3aXRjaCAobV93ZWJQYWdlLT5sYXllckhvc3RpbmdNb2RlKCkpIHsKLSAgICAgICAgY2Fz
ZSBMYXllckhvc3RpbmdNb2RlRGVmYXVsdDoKLSAgICAgICAgICAgIG1fbGF5ZXJIb3N0aW5nQ29u
dGV4dCA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvclBvcnQoV2ViUHJvY2Vzczo6c2hh
cmVkKCkuY29tcG9zaXRpbmdSZW5kZXJTZXJ2ZXJQb3J0KCkpOwotICAgICAgICAgICAgYnJlYWs7
Ci0jaWYgSEFWRShMQVlFUl9IT1NUSU5HX0lOX1dJTkRPV19TRVJWRVIpCi0gICAgICAgIGNhc2Ug
TGF5ZXJIb3N0aW5nTW9kZUluV2luZG93U2VydmVyOgotICAgICAgICAgICAgbV9sYXllckhvc3Rp
bmdDb250ZXh0ID0gTGF5ZXJIb3N0aW5nQ29udGV4dDo6Y3JlYXRlRm9yV2luZG93U2VydmVyKCk7
Ci0gICAgICAgICAgICBicmVhazsKLSNlbmRpZgotICAgIH0KLQotICAgIG1fbGF5ZXJIb3N0aW5n
Q29udGV4dC0+c2V0Um9vdExheWVyKG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwotICAg
IG1fbGF5ZXJUcmVlQ29udGV4dC5jb250ZXh0SUQgPSBtX2xheWVySG9zdGluZ0NvbnRleHQtPmNv
bnRleHRJRCgpOwotCi0gICAgc2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKCFtX3dlYlBh
Z2UtPmRyYXdpbmdBcmVhKCkgfHwgIW1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKS0+bGF5ZXJUcmVl
U3RhdGVJc0Zyb3plbigpKTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9pZCBM
YXllclRyZWVIb3N0TWFjOjpwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpCi17Ci0gICAgewot
ICAgICAgICBSZWY8TGF5ZXJUcmVlSG9zdE1hYz4gcHJvdGVjdCgqdGhpcyk7Ci0gICAgICAgIG1f
d2ViUGFnZS0+bGF5b3V0SWZOZWVkZWQoKTsKLQotICAgICAgICBpZiAoIW1faXNWYWxpZCkKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBpZiAoIWZsdXNoUGVuZGluZ0xheWVyQ2hh
bmdlcygpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9ub3RpZnlBZnRlclNjaGVkdWxl
ZExheWVyRmx1c2gpIHsKLSAgICAgICAgLy8gTGV0IHRoZSBkcmF3aW5nIGFyZWEga25vdyB0aGF0
IHdlJ3ZlIGRvbmUgYSBmbHVzaCBvZiB0aGUgbGF5ZXIgY2hhbmdlcy4KLSAgICAgICAgc3RhdGlj
X2Nhc3Q8RHJhd2luZ0FyZWFJbXBsKj4obV93ZWJQYWdlLT5kcmF3aW5nQXJlYSgpKS0+bGF5ZXJI
b3N0RGlkRmx1c2hMYXllcnMoKTsKLSAgICAgICAgbV9ub3RpZnlBZnRlclNjaGVkdWxlZExheWVy
Rmx1c2ggPSBmYWxzZTsKLSAgICB9Ci19Ci0KLWJvb2wgTGF5ZXJUcmVlSG9zdE1hYzo6Zmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKCkKLXsKLSAgICBpZiAobV9sYXllckZsdXNoU2NoZWR1bGVyLmlz
U3VzcGVuZGVkKCkpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIG1fcm9vdExheWVyLT5m
bHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7Ci0gICAgbV9ub25Db21wb3Np
dGVkQ29udGVudExheWVyLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7
Ci0KLSAgICBQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBlbmQgPSBtX3BhZ2VPdmVybGF5
TGF5ZXJzLmVuZCgpOwotICAgIGZvciAoUGFnZU92ZXJsYXlMYXllck1hcDo6aXRlcmF0b3IgaXQg
PSBtX3BhZ2VPdmVybGF5TGF5ZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAg
aXQtPnZhbHVlLT5mbHVzaENvbXBvc2l0aW5nU3RhdGVGb3JUaGlzTGF5ZXJPbmx5KCk7Ci0KLSAg
ICByZXR1cm4gbV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5tYWluRnJhbWUoKS52aWV3KCktPmZsdXNo
Q29tcG9zaXRpbmdTdGF0ZUluY2x1ZGluZ1N1YmZyYW1lcygpOwotfQotCi12b2lkIExheWVyVHJl
ZUhvc3RNYWM6OmNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5
KQotewotICAgIHN0ZDo6dW5pcXVlX3B0cjxHcmFwaGljc0xheWVyPiBsYXllciA9IEdyYXBoaWNz
TGF5ZXI6OmNyZWF0ZShncmFwaGljc0xheWVyRmFjdG9yeSgpLCB0aGlzKTsKLSNpZm5kZWYgTkRF
QlVHCi0gICAgbGF5ZXItPnNldE5hbWUoIkxheWVyVHJlZUhvc3QgcGFnZSBvdmVybGF5IGNvbnRl
bnQiKTsKLSNlbmRpZgotCi0gICAgbGF5ZXItPnNldEFjY2VsZXJhdGVzRHJhd2luZyhtX3dlYlBh
Z2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuYWNjZWxlcmF0ZWREcmF3aW5nRW5hYmxlZCgpKTsK
LSAgICBsYXllci0+c2V0RHJhd3NDb250ZW50KHRydWUpOwotICAgIGxheWVyLT5zZXRTaXplKG1f
d2ViUGFnZS0+c2l6ZSgpKTsKLSAgICBsYXllci0+c2V0U2hvd0RlYnVnQm9yZGVyKG1fd2ViUGFn
ZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5zaG93RGVidWdCb3JkZXJzKCkpOwotICAgIGxheWVy
LT5zZXRTaG93UmVwYWludENvdW50ZXIobV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygp
LnNob3dSZXBhaW50Q291bnRlcigpKTsKLQotICAgIG1fcm9vdExheWVyLT5hZGRDaGlsZChsYXll
ci5nZXQoKSk7Ci0KLSAgICBtX3BhZ2VPdmVybGF5TGF5ZXJzLmFkZChwYWdlT3ZlcmxheSwgc3Rk
Ojptb3ZlKGxheWVyKSk7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6ZGVzdHJveVBhZ2VP
dmVybGF5TGF5ZXIoUGFnZU92ZXJsYXkqIHBhZ2VPdmVybGF5KQotewotICAgIHN0ZDo6dW5pcXVl
X3B0cjxHcmFwaGljc0xheWVyPiBsYXllciA9IG1fcGFnZU92ZXJsYXlMYXllcnMudGFrZShwYWdl
T3ZlcmxheSk7Ci0gICAgQVNTRVJUKGxheWVyKTsKLQotICAgIGxheWVyLT5yZW1vdmVGcm9tUGFy
ZW50KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L1Rlc3RJbnZvY2F0aW9uLmNwcAppbmRleCA3MjI5YTg0Li5iNjEyMWQzIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTUwLDE5ICsxNTAsMTkgQEAgc3Rh
dGljIGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBjaGFyKiBwYXRoT3JVUkwpCiAj
ZW5kaWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBib29sIHNob3VsZFVzZVRpbGVkRHJh
d2luZyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCitzdGF0aWMgYm9vbCBzaG91bGRVc2VUaHJlYWRl
ZFNjcm9sbGluZyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCiB7CiAgICAgcmV0dXJuIHN0cnN0cihw
YXRoT3JVUkwsICJ0aWxlZC1kcmF3aW5nLyIpIHx8IHN0cnN0cihwYXRoT3JVUkwsICJ0aWxlZC1k
cmF3aW5nXFwiKTsKIH0KICNlbmRpZgogCi1zdGF0aWMgdm9pZCB1cGRhdGVUaWxlZERyYXdpbmdG
b3JDdXJyZW50VGVzdChjb25zdCBjaGFyKiBwYXRoT3JVUkwpCitzdGF0aWMgdm9pZCB1cGRhdGVU
aHJlYWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KGNvbnN0IGNoYXIqIHBhdGhPclVSTCkKIHsK
ICNpZiBQTEFURk9STShNQUMpCiAgICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlRGljdGlvbmFyeVJl
Zj4gdmlld09wdGlvbnMgPSBhZG9wdFdLKFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7Ci0g
ICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVzZVRpbGVkRHJhd2luZ0tleSA9IGFkb3B0V0so
V0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRpbGVkRHJhd2luZyIpKTsKLSAgICBXS1Jl
dGFpblB0cjxXS0Jvb2xlYW5SZWY+IHVzZVRpbGVkRHJhd2luZ1ZhbHVlID0gYWRvcHRXSyhXS0Jv
b2xlYW5DcmVhdGUoc2hvdWxkVXNlVGlsZWREcmF3aW5nKHBhdGhPclVSTCkpKTsKLSAgICBXS0Rp
Y3Rpb25hcnlBZGRJdGVtKHZpZXdPcHRpb25zLmdldCgpLCB1c2VUaWxlZERyYXdpbmdLZXkuZ2V0
KCksIHVzZVRpbGVkRHJhd2luZ1ZhbHVlLmdldCgpKTsKKyAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4gdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0
aFVURjhDU3RyaW5nKCJUaHJlYWRlZFNjcm9sbGluZyIpKTsKKyAgICBXS1JldGFpblB0cjxXS0Jv
b2xlYW5SZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNy
ZWF0ZShzaG91bGRVc2VUaHJlYWRlZFNjcm9sbGluZyhwYXRoT3JVUkwpKSk7CisgICAgV0tEaWN0
aW9uYXJ5QWRkSXRlbSh2aWV3T3B0aW9ucy5nZXQoKSwgdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXku
Z2V0KCksIHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUuZ2V0KCkpOwogCiAgICAgVGVzdENvbnRy
b2xsZXI6OnNoYXJlZCgpLmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnModmlld09wdGlvbnMuZ2V0
KCkpOwogI2Vsc2UKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZv
a2UoKQogICAgIFRlc3RDb250cm9sbGVyOjpUaW1lb3V0RHVyYXRpb24gdGltZW91dFRvVXNlID0g
VGVzdENvbnRyb2xsZXI6OkxvbmdUaW1lb3V0OwogICAgIHNpemVXZWJWaWV3Rm9yQ3VycmVudFRl
c3QobV9wYXRoT3JVUkwuY19zdHIoKSk7CiAgICAgdXBkYXRlTGF5b3V0VHlwZShtX3BhdGhPclVS
TC5jX3N0cigpKTsKLSAgICB1cGRhdGVUaWxlZERyYXdpbmdGb3JDdXJyZW50VGVzdChtX3BhdGhP
clVSTC5jX3N0cigpKTsKKyAgICB1cGRhdGVUaHJlYWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0
KG1fcGF0aE9yVVJMLmNfc3RyKCkpOwogCiAgICAgbV90ZXh0T3V0cHV0LmNsZWFyKCk7CiAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5t
bSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQppbmRl
eCBhZWI4MjQ0Li5mM2E5MTRlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21h
Yy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMv
UGxhdGZvcm1XZWJWaWV3TWFjLm1tCkBAIC0zNSw2ICszNSwxMCBAQAogCiB1c2luZyBuYW1lc3Bh
Y2UgV1RSOwogCitlbnVtIHsKKyAgICBfTlNCYWNraW5nU3RvcmVVbmJ1ZmZlcmVkID0gMworfTsK
KwogQGludGVyZmFjZSBXZWJLaXRUZXN0UnVubmVyV2luZG93IDogTlNXaW5kb3cgewogICAgIFBs
YXRmb3JtV2ViVmlldyogX3BsYXRmb3JtV2ViVmlldzsKICAgICBOU1BvaW50IF9mYWtlT3JpZ2lu
OwpAQCAtNDMsMjkgKzQ3LDI0IEBAIHVzaW5nIG5hbWVzcGFjZSBXVFI7CiBAZW5kCiAKIEBpbnRl
cmZhY2UgVGVzdFJ1bm5lcldLVmlldyA6IFdLVmlldyB7Ci0gICAgQk9PTCBfdXNlVGlsZWREcmF3
aW5nOworICAgIEJPT0wgX3VzZVRocmVhZGVkU2Nyb2xsaW5nOwogfQogCi0tIChpZClpbml0V2l0
aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNvbnRleHQgcGFn
ZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXAgcmVsYXRlZFRvUGFnZTooV0tQYWdl
UmVmKXJlbGF0ZWRQYWdlIHVzZVRpbGVkRHJhd2luZzooQk9PTCl1c2VUaWxlZERyYXdpbmc7Cist
IChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVm
KWNvbnRleHQgcGFnZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXAgcmVsYXRlZFRv
UGFnZTooV0tQYWdlUmVmKXJlbGF0ZWRQYWdlIHVzZVRocmVhZGVkU2Nyb2xsaW5nOihCT09MKXVz
ZVRocmVhZGVkU2Nyb2xsaW5nOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCT09M
IHVzZVRpbGVkRHJhd2luZzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgdXNl
VGhyZWFkZWRTY3JvbGxpbmc7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBUZXN0UnVubmVyV0tW
aWV3CiAKLUBzeW50aGVzaXplIHVzZVRpbGVkRHJhd2luZyA9IF91c2VUaWxlZERyYXdpbmc7CitA
c3ludGhlc2l6ZSB1c2VUaHJlYWRlZFNjcm9sbGluZyA9IF91c2VUaHJlYWRlZFNjcm9sbGluZzsK
IAotLSAoaWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4
dFJlZiljb250ZXh0IHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwIHJlbGF0
ZWRUb1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVkUGFnZSB1c2VUaWxlZERyYXdpbmc6KEJPT0wpdXNl
VGlsZWREcmF3aW5nCistIChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJl
ZjooV0tDb250ZXh0UmVmKWNvbnRleHQgcGFnZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdl
R3JvdXAgcmVsYXRlZFRvUGFnZTooV0tQYWdlUmVmKXJlbGF0ZWRQYWdlIHVzZVRocmVhZGVkU2Ny
b2xsaW5nOihCT09MKXVzZVRocmVhZGVkU2Nyb2xsaW5nCiB7Ci0gICAgX3VzZVRpbGVkRHJhd2lu
ZyA9IHVzZVRpbGVkRHJhd2luZzsKKyAgICBfdXNlVGhyZWFkZWRTY3JvbGxpbmcgPSB1c2VUaHJl
YWRlZFNjcm9sbGluZzsKICAgICByZXR1cm4gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWUgY29u
dGV4dFJlZjpjb250ZXh0IHBhZ2VHcm91cFJlZjpwYWdlR3JvdXAgcmVsYXRlZFRvUGFnZTpyZWxh
dGVkUGFnZV07CiB9CiAKLS0gKEJPT0wpX3Nob3VsZFVzZVRpbGVkRHJhd2luZ0FyZWEKLXsKLSAg
ICByZXR1cm4gX3VzZVRpbGVkRHJhd2luZzsKLX0KLQogLSAodm9pZClkcmFnSW1hZ2U6KE5TSW1h
Z2UgKilhbkltYWdlIGF0OihOU1BvaW50KXZpZXdMb2NhdGlvbiBvZmZzZXQ6KE5TU2l6ZSlpbml0
aWFsT2Zmc2V0IGV2ZW50OihOU0V2ZW50ICopZXZlbnQgcGFzdGVib2FyZDooTlNQYXN0ZWJvYXJk
ICopcGJvYXJkIHNvdXJjZTooaWQpc291cmNlT2JqIHNsaWRlQmFjazooQk9PTClzbGlkZUZsYWcK
IHsKICAgICBSZXRhaW5QdHI8V2ViS2l0VGVzdFJ1bm5lckRyYWdnaW5nSW5mbz4gZHJhZ2dpbmdJ
bmZvID0gYWRvcHROUyhbW1dlYktpdFRlc3RSdW5uZXJEcmFnZ2luZ0luZm8gYWxsb2NdIGluaXRX
aXRoSW1hZ2U6YW5JbWFnZSBvZmZzZXQ6aW5pdGlhbE9mZnNldCBwYXN0ZWJvYXJkOnBib2FyZCBz
b3VyY2U6c291cmNlT2JqXSk7CkBAIC0xMTksMjAgKzExOCwyMCBAQCBQbGF0Zm9ybVdlYlZpZXc6
OlBsYXRmb3JtV2ViVmlldyhXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYg
cGFnZUdybwogICAgIDogbV93aW5kb3dJc0tleSh0cnVlKQogICAgICwgbV9vcHRpb25zKG9wdGlv
bnMpCiB7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVzZVRpbGVkRHJhd2luZ0tleShB
ZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVGlsZWREcmF3aW5nIikpOwot
ICAgIFdLVHlwZVJlZiB1c2VUaWxlZERyYXdpbmdWYWx1ZSA9IG9wdGlvbnMgPyBXS0RpY3Rpb25h
cnlHZXRJdGVtRm9yS2V5KG9wdGlvbnMsIHVzZVRpbGVkRHJhd2luZ0tleS5nZXQoKSkgOiBOVUxM
OwotICAgIGJvb2wgdXNlVGlsZWREcmF3aW5nID0gdXNlVGlsZWREcmF3aW5nVmFsdWUgJiYgV0tC
b29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPih1c2VUaWxlZERyYXdpbmdW
YWx1ZSkpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB1c2VUaHJlYWRlZFNjcm9sbGlu
Z0tleShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVGhyZWFkZWRTY3Jv
bGxpbmciKSk7CisgICAgV0tUeXBlUmVmIHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUgPSBvcHRp
b25zID8gV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShvcHRpb25zLCB1c2VUaHJlYWRlZFNjcm9s
bGluZ0tleS5nZXQoKSkgOiBOVUxMOworICAgIGJvb2wgdXNlVGhyZWFkZWRTY3JvbGxpbmcgPSB1
c2VUaHJlYWRlZFNjcm9sbGluZ1ZhbHVlICYmIFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0
PFdLQm9vbGVhblJlZj4odXNlVGhyZWFkZWRTY3JvbGxpbmdWYWx1ZSkpOwogCiAgICAgLy8gVGhl
IHRpbGVkIGRyYXdpbmcgc3BlY2lmaWMgdGVzdHMgYWxzbyBkZXBlbmQgb24gdGhyZWFkZWQgc2Ny
b2xsaW5nLgogICAgIFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMgPSBXS1BhZ2VHcm91cEdl
dFByZWZlcmVuY2VzKHBhZ2VHcm91cFJlZik7Ci0gICAgV0tQcmVmZXJlbmNlc1NldFRocmVhZGVk
U2Nyb2xsaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdXNlVGlsZWREcmF3aW5nKTsKKyAgICBXS1By
ZWZlcmVuY2VzU2V0VGhyZWFkZWRTY3JvbGxpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB1c2VUaHJl
YWRlZFNjcm9sbGluZyk7CiAKICAgICBOU1JlY3QgcmVjdCA9IE5TTWFrZVJlY3QoMCwgMCwgVGVz
dENvbnRyb2xsZXI6OnZpZXdXaWR0aCwgVGVzdENvbnRyb2xsZXI6OnZpZXdIZWlnaHQpOwotICAg
IG1fdmlldyA9IFtbVGVzdFJ1bm5lcldLVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpyZWN0IGNv
bnRleHRSZWY6Y29udGV4dFJlZiBwYWdlR3JvdXBSZWY6cGFnZUdyb3VwUmVmIHJlbGF0ZWRUb1Bh
Z2U6cmVsYXRlZFBhZ2UgdXNlVGlsZWREcmF3aW5nOnVzZVRpbGVkRHJhd2luZ107CisgICAgbV92
aWV3ID0gW1tUZXN0UnVubmVyV0tWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnJlY3QgY29udGV4
dFJlZjpjb250ZXh0UmVmIHBhZ2VHcm91cFJlZjpwYWdlR3JvdXBSZWYgcmVsYXRlZFRvUGFnZTpy
ZWxhdGVkUGFnZSB1c2VUaHJlYWRlZFNjcm9sbGluZzp1c2VUaHJlYWRlZFNjcm9sbGluZ107CiAg
ICAgW21fdmlldyBzZXRXaW5kb3dPY2NsdXNpb25EZXRlY3Rpb25FbmFibGVkOk5PXTsKIAogICAg
IE5TUmVjdCB3aW5kb3dSZWN0ID0gTlNPZmZzZXRSZWN0KHJlY3QsIC0xMDAwMCwgWyhOU1NjcmVl
biAqKVtbTlNTY3JlZW4gc2NyZWVuc10gb2JqZWN0QXRJbmRleDowXSBmcmFtZV0uc2l6ZS5oZWln
aHQgLSByZWN0LnNpemUuaGVpZ2h0ICsgMTAwMDApOwotICAgIG1fd2luZG93ID0gW1tXZWJLaXRU
ZXN0UnVubmVyV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OndpbmRvd1JlY3Qgc3R5
bGVNYXNrOk5TQm9yZGVybGVzc1dpbmRvd01hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZl
cmVkIGRlZmVyOllFU107CisgICAgbV93aW5kb3cgPSBbW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cg
YWxsb2NdIGluaXRXaXRoQ29udGVudFJlY3Q6d2luZG93UmVjdCBzdHlsZU1hc2s6TlNCb3JkZXJs
ZXNzV2luZG93TWFzayBiYWNraW5nOl9OU0JhY2tpbmdTdG9yZVVuYnVmZmVyZWQgZGVmZXI6WUVT
XTsKICAgICBtX3dpbmRvdy5wbGF0Zm9ybVdlYlZpZXcgPSB0aGlzOwogICAgIFttX3dpbmRvdyBz
ZXRDb2xvclNwYWNlOltbTlNTY3JlZW4gbWFpblNjcmVlbl0gY29sb3JTcGFjZV1dOwogICAgIFtt
X3dpbmRvdyBzZXRDb2xsZWN0aW9uQmVoYXZpb3I6TlNXaW5kb3dDb2xsZWN0aW9uQmVoYXZpb3JT
dGF0aW9uYXJ5XTsKQEAgLTIzMCwxMSArMjI5LDExIEBAIFdLUmV0YWluUHRyPFdLSW1hZ2VSZWY+
IFBsYXRmb3JtV2ViVmlldzo6d2luZG93U25hcHNob3RJbWFnZSgpCiAKIGJvb2wgUGxhdGZvcm1X
ZWJWaWV3Ojp2aWV3U3VwcG9ydHNPcHRpb25zKFdLRGljdGlvbmFyeVJlZiBvcHRpb25zKSBjb25z
dAogewotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB1c2VUaWxlZERyYXdpbmdLZXkoQWRv
cHRXSywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRpbGVkRHJhd2luZyIpKTsKLSAg
ICBXS1R5cGVSZWYgdXNlVGlsZWREcmF3aW5nVmFsdWUgPSBXS0RpY3Rpb25hcnlHZXRJdGVtRm9y
S2V5KG9wdGlvbnMsIHVzZVRpbGVkRHJhd2luZ0tleS5nZXQoKSk7Ci0gICAgYm9vbCB1c2VUaWxl
ZERyYXdpbmcgPSB1c2VUaWxlZERyYXdpbmdWYWx1ZSAmJiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0
aWNfY2FzdDxXS0Jvb2xlYW5SZWY+KHVzZVRpbGVkRHJhd2luZ1ZhbHVlKSk7CisgICAgV0tSZXRh
aW5QdHI8V0tTdHJpbmdSZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5nS2V5KEFkb3B0V0ssIFdLU3Ry
aW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUaHJlYWRlZFNjcm9sbGluZyIpKTsKKyAgICBXS1R5
cGVSZWYgdXNlVGhyZWFkZWRTY3JvbGxpbmdWYWx1ZSA9IFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JL
ZXkob3B0aW9ucywgdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkuZ2V0KCkpOworICAgIGJvb2wgdXNl
VGhyZWFkZWRTY3JvbGxpbmcgPSB1c2VUaHJlYWRlZFNjcm9sbGluZ1ZhbHVlICYmIFdLQm9vbGVh
bkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4odXNlVGhyZWFkZWRTY3JvbGxpbmdW
YWx1ZSkpOwogCi0gICAgcmV0dXJuIHVzZVRpbGVkRHJhd2luZyA9PSBbKFRlc3RSdW5uZXJXS1Zp
ZXcgKiltX3ZpZXcgdXNlVGlsZWREcmF3aW5nXTsKKyAgICByZXR1cm4gdXNlVGhyZWFkZWRTY3Jv
bGxpbmcgPT0gWyhUZXN0UnVubmVyV0tWaWV3ICopbV92aWV3IHVzZVRocmVhZGVkU2Nyb2xsaW5n
XTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV1RSCg==
</data>
<flag name="commit-queue"
          id="235460"
          type_id="3"
          status="-"
          setter="eflews.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>213195</attachid>
            <date>2013-10-02 13:51:25 -0700</date>
            <delta_ts>2013-10-02 14:07:49 -0700</delta_ts>
            <desc>patch</desc>
            <filename>dai.diff</filename>
            <type>text/plain</type>
            <size>136654</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiOWZjNWIwLi4yZjgwZmFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDkgQEAKKzIwMTMtMTAt
MDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAgICAgW21h
Y10gU3RvcCB1c2luZyBEcmF3aW5nQXJlYUltcGwgb24gUExBVEZPUk0oTUFDKSAKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTg1OQorICAgICAgICA8
cmRhcjovL3Byb2JsZW0vMTUwNjkzNTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisK
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9i
b2R5LWJhY2tncm91bmQtcGFpbnRlZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3Vu
ZC1za2lwcGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLW92ZXJm
bG93LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9jb21w
b3NpdGluZy9ydGwvcnRsLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgIEFkZCBXZWJLaXQyIHJlc3VsdHMsIGJlY2F1c2Ugd2UgZHVtcCBub24t
d2hpdGUgYmFja2dyb3VuZCBjb2xvciBvbiB0aGUgcm9vdCBsYXllciBub3cuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3JlcGFpbnQvZml4ZWQtYmFja2dyb3VuZC1z
Y3JvbGwtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgTmV3IFdlYktpdDIgcmVzdWx0OyBy
ZXBhaW50IHJlY3RzIGFyZSBzaG93aW5nIHVwIG5vdy4KKyAgICAgICAgCisgICAgICAgICogcGxh
dGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQtb3ZlcmZs
b3ctZXhwZWN0ZWQudHh0OgorICAgICAgICBTbGlnaHRseSBhZGp1c3RlZCByZXN1bHRzLgorCisg
ICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvcm90YXRlZC10aWxl
ZC1jbGFtcGVkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdr
Mi9jb21wb3NpdGluZy90aWxpbmcvcm90YXRlZC10aWxlZC1wcmVzZXJ2ZTNkLWNsYW1wZWQtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5n
L3RpbGluZy90aWxlLWNhY2hlLXpvb21lZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvdGlsaW5nL3RpbGVkLWxheWVyLXJlc2l6ZS1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICBOZXcgV2ViS2l0MiByZXN1bHRzOyB3ZSBzaG93
IHRoZSByb290IHRpbGUgY2FjaGUgaWYgbGF5ZXJUcmVlQXNUZXh0IGlzIGFza2VkIHRvIGR1bXAg
dGlsZSBjYWNoZXMuCisgICAgICAgIAorICAgICAgICAqIHBsYXRmb3JtL21hYy13azIvZWRpdGlu
Zy9pbnB1dC9jYXJldC1hdC10aGUtZWRnZS1vZi1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0
OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2VkaXRpbmcvaW5wdXQvcmV2ZWFs
LWNhcmV0LW9mLW11bHRpbGluZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvYmxvY2svYmFzaWMvMDIwLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2R5bmFtaWMvMDEy
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2R5
bmFtaWMvbGF5ZXItaGl0LXRlc3QtY3Jhc2gtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAg
KiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvcmVwYWludC9sYXllci1oaWRlLXdoZW4tbmVlZHMtbGF5
b3V0LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi9mYXN0
L3RleHQvd2hpdGVzcGFjZS8wMjgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMtd2syL2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2li
aWxpdHktc3VibGF5ZXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9t
YWMtd2syL2Zhc3QvcmVwYWludC9pbnZpc2libGUtb2JqZWN0cy1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICBOZXcgV2ViS2l0MiByZXN1bHRzOyBhZGRpdGlvbmFsIGNvbXBvc2l0aW5nIGxh
eWVycy4KKyAgICAgICAgCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5n
L3dpbmRvdy1zZXJ2ZXItc25hcHNob3RzLXdvcmstZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3dpbmRvdy1zZXJ2
ZXItc25hcHNob3RzLXdvcmsuaHRtbDogQWRkZWQuCisgICAgICAgIE5ldyB0ZXN0IHRvIGVuc3Vy
ZSB0aGF0IHdpbmRvdy1zZXJ2ZXIgc25hcHNob3RzIHdvcmsgd2l0aCB0aWxlZCBkcmF3aW5nLgor
CiAyMDEzLTEwLTAyICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRvYmUuY29tPgogCiAgICAg
ICAgIFtDU1MgUmVnaW9uc10gQWN0aXZhdGUgYWxsIHJlZ2lvbnMgdG8gaGF2ZSBsYXllcnMsIGFz
IENTUyBSZWdpb25zIGNyZWF0ZSBhIG5ldyBzdGFja2luZyBjb250ZXh0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZjFjY2M3MC4uYjMwMGEz
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9UZXN0RXhwZWN0YXRp
b25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvVGVzdEV4cGVjdGF0aW9ucwpA
QCAtMzQ3LDYgKzM0Nyw0OCBAQCB3ZWJraXQub3JnL2IvMTA3MDE4IHN2Zy9hbmltYXRpb25zL2Fu
aW1hdGUtbGluZWFyLWRpc2NyZXRlLWFkZGl0aXZlLWIuc3ZnIFsgSW1hZwogd2Via2l0Lm9yZy9i
LzEwNzAxOCBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWxpbmVhci1kaXNjcmV0ZS1hZGRpdGl2ZS1j
LnN2ZyAgWyBJbWFnZU9ubHlGYWlsdXJlIFBhc3MgXQogd2Via2l0Lm9yZy9iLzEwNzAxOCBzdmcv
YW5pbWF0aW9ucy9tb3ppbGxhL2FuaW1hdGVNb3Rpb24tbXBhdGgtcGF0aExlbmd0aC0xLnN2ZyBb
IEltYWdlT25seUZhaWx1cmUgUGFzcyBdCiAKKyMgUmVnaW9uIG92ZXJmbG93IGRvZXNuJ3QgcXVp
dGUgd29yayB3aXRoIHRpbGVkIGRyYXdpbmcuCit3ZWJraXQub3JnL2IvMTIyMjMzIGZhc3QvcmVn
aW9ucy9wZXJjZW50YWdlLW1hcmdpbnMtbWl4ZWQtbHRyLWRvbWluYW50LXJlZ2lvbnMuaHRtbCBb
IEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEyMjIzMyBmYXN0L3JlZ2lvbnMvcGVy
Y2VudGFnZS1tYXJnaW5zLW1peGVkLXJ0bC1kb21pbmFudC1yZWdpb25zLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzMgZmFzdC9yZWdpb25zL3BlcmNlbnRhZ2Ut
bWFyZ2lucy1ydGwtdmFyaWFibGUtd2lkdGgtcmVnaW9ucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvMTIyMjMzIGZhc3QvcmVnaW9ucy9wZXJjZW50YWdlLW1hcmdpbnMt
dmFyaWFibGUtd2lkdGgtcmVnaW9ucy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQu
b3JnL2IvMTIyMjMzIGZhc3QvcmVnaW9ucy9mcmFtZS12aWV3LW92ZXJmbG93LXNjcm9sbC5odG1s
IFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgQ29sb3Igc3BhY2UgaXNzdWVzIGZyb20gc3dpdGNo
aW5nIHRvIHRpbGVkIGRyYXdpbmcuCit3ZWJraXQub3JnL2IvMTIyMjM0IGZhc3QvY3NzL2NvbXB1
dGVkLWltYWdlLXdpZHRoLXdpdGgtcGVyY2VudC1oZWlnaHQuaHRtbCBbIEltYWdlT25seUZhaWx1
cmUgXQord2Via2l0Lm9yZy9iLzEyMjIzNCBzdmcvZmlsdGVycy9jb2xvci1zcGFjZS1jb252ZXJz
aW9uLnN2ZyAgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzQgc3ZnL21h
c2tpbmcvbWFzay10eXBlLWx1bWluYW5jZS5zdmcgIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJr
aXQub3JnL2IvMTIyMjM0IHN2Zy9tYXNraW5nL21hc2stdHlwZS1ub3Qtc2V0LnN2ZyAgWyBJbWFn
ZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzQgc3ZnL2ZpbHRlcnMvZmVTcGVjdWxh
ckxpZ2h0LXByZW11bHRpcGxpZWQuc3ZnIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3Jn
L2IvMTIyMjM0IHN2Zy9maWx0ZXJzL2ZpbHRlci1jeWNsZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvMTIyMjM0IGNzczMvZmlsdGVycy9udWxsLWVmZmVjdC1jaGVjay5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTIyMjM0IGZhc3QvaW1hZ2Vz
L3BkZi1hcy1pbWFnZS13aXRoLWFubm90YXRpb25zLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0K
K3dlYmtpdC5vcmcvYi8xMjIyMzQgY3NzMy9maWx0ZXJzL2N1c3RvbS9jb21wb3NpdGVkL2N1c3Rv
bS1maWx0ZXItYmxlbmQtbW9kZXMuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9y
Zy9iLzEyMjIzNCBjc3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYS10ZXgtY29vcmQt
b3B0aW9uYWwuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEyMjIzNCBj
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItYXJyYXktdW5pZm9ybS1pbmRpcmVjdC1p
bmRleC5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTIyMjM0IGNzczMv
ZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1hcnJheS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCit3ZWJraXQub3JnL2IvMTIyMjM0IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRl
ci1ibGVuZC1tb2Rlcy5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTIy
MjM0IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1jaGFuZ2UtYmxlbmQtbW9kZS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTIyMjM0IGNzczMvZmlsdGVy
cy9jdXN0b20vY3VzdG9tLWZpbHRlci1jb2xvci5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3
ZWJraXQub3JnL2IvMTIyMjM0IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1kZXRh
Y2hlZC1tZXNoLXdpdGgtbWVzaC1ib3gtdHlwZS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCit3
ZWJraXQub3JnL2IvMTIyMjM0IGNzczMvZmlsdGVycy9jdXN0b20vY3VzdG9tLWZpbHRlci1tYXRO
Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzQgY3NzMy9maWx0
ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLW1lc2gtY29sdW1uLXJvdy1vcmRlci5odG1sIFsgSW1h
Z2VPbmx5RmFpbHVyZSBdCit3ZWJraXQub3JnL2IvMTIyMjM0IGNzczMvZmlsdGVycy9jdXN0b20v
Y3VzdG9tLWZpbHRlci11LW1lc2gtYm94Lmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtp
dC5vcmcvYi8xMjIyMzQgY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXUtbWVzaC1z
aXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzQgY3NzMy9m
aWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXUtdGV4dHVyZS1zaXplLmh0bWwgWyBJbWFnZU9u
bHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzQgY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0
b20tZmlsdGVyLXUtdGlsZS1zaXplLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5v
cmcvYi8xMjIyMzQgY3NzMy9maWx0ZXJzL2N1c3RvbS9jdXN0b20tZmlsdGVyLXVuYXZhaWxhYmxl
LXZhcnlpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0Lm9yZy9iLzEyMjIzNCBj
c3MzL2ZpbHRlcnMvY3VzdG9tL2N1c3RvbS1maWx0ZXItY2xhbXAtY3NzLWNvbG9yLW1hdHJpeC5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCisKKyMgVGlsZWQgYmFja2dyb3VuZCBpbWFnZXMgdGhh
dCBpbnRlcnNlY3QgdGhlIHRpbGVzIGFyZSBnZXR0aW5nIHdlaXJkIGZyaW5naW5nLgord2Via2l0
Lm9yZy9iLzEyMjIzNSBjc3MzL21hc2tpbmcvbWFzay1yZXBlYXQtc3BhY2UtYm9yZGVyLmh0bWwg
WyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzUgY3NzMy9tYXNraW5nL21h
c2stcmVwZWF0LXNwYWNlLXBhZGRpbmcuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQord2Via2l0
Lm9yZy9iLzEyMjIzNSBjc3MzL2JhY2tncm91bmQvYmFja2dyb3VuZC1yZXBlYXQtc3BhY2UtYm9y
ZGVyLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzUgY3NzMy9i
YWNrZ3JvdW5kL2JhY2tncm91bmQtcmVwZWF0LXNwYWNlLXBhZGRpbmcuaHRtbCBbIEltYWdlT25s
eUZhaWx1cmUgXQorCit3ZWJraXQub3JnL2IvMTIyMjM3IFsgRGVidWcgXSBmYXN0L3RhYmxlL2Ny
YXNoLXNlY3Rpb24tbG9naWNhbC1oZWlnaHQtY2hhbmdlZC1uZWVkc0NlbGxSZWNhbGMuaHRtbCBb
IENyYXNoIF0KK3dlYmtpdC5vcmcvYi8xMjIyMzggZmFzdC9sYXllcnMvbm8tY2xpcHBpbmctb3Zl
cmZsb3ctaGlkZGVuLWFkZGVkLWFmdGVyLXRyYW5zZm9ybS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVy
ZSBdCisKICMjIyBFTkQgT0YgKDEpIENsYXNzaWZpZWQgZmFpbHVyZXMgd2l0aCBidWcgcmVwb3J0
cwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1
ZS9ib2R5LWJhY2tncm91bmQtcGFpbnRlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9ib2R5LWJhY2tncm91bmQt
cGFpbnRlZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
MThjMmFjMwotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
Y29tcG9zaXRpbmcvY29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3VuZC1wYWludGVkLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI4IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4w
MCA2MDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3Vu
ZHMgODAwLjAwIDYwMC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGJhY2tn
cm91bmRDb2xvciAjMDAwMEZGKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAgICAgKGNvbnRl
bnRzT3BhcXVlIDEpCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQorICAgICAgICAgIChjaGls
ZHJlbiAyCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAocG9zaXRp
b24gOC4wMCA4LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDIwMC4wMCAyMDAuMDApCisgICAg
ICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICAgICAgKQorICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAg
ICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICApCisgICAgICAgICAgKQor
ICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9ib2R5LWJhY2tn
cm91bmQtc2tpcHBlZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L2NvbXBvc2l0aW5nL2NvbnRlbnRzLW9wYXF1ZS9ib2R5LWJhY2tncm91bmQtc2tpcHBlZC1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjdkMzc5NQotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcv
Y29udGVudHMtb3BhcXVlL2JvZHktYmFja2dyb3VuZC1za2lwcGVkLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDI3IEBACisoR3JhcGhpY3NMYXllcgorICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisg
IChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChib3VuZHMgODAwLjAwIDYw
MC4wMCkKKyAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGJhY2tncm91bmRDb2xvciAj
MDAwMEZGKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAg
ICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQor
ICAgICAgICAgIChjaGlsZHJlbiAyCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAg
ICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDIwMC4w
MCAyMDAuMDApCisgICAgICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgICAgICAg
KQorICAgICAgICAgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgKGJvdW5kcyA4MDAu
MDAgNjAwLjAwKQorICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAp
CisgICAgICAgICAgKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3JlcGFpbnQvZml4
ZWQtYmFja2dyb3VuZC1zY3JvbGwtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjLXdrMi9jb21wb3NpdGluZy9yZXBhaW50L2ZpeGVkLWJhY2tncm91bmQtc2Nyb2xsLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWUzYjAwCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9y
ZXBhaW50L2ZpeGVkLWJhY2tncm91bmQtc2Nyb2xsLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIy
IEBACisocmVwYWludCByZWN0cworICAocmVjdCAwIDAgNzg1IDYwMCkKKykKKyhHcmFwaGljc0xh
eWVyCisgIChib3VuZHMgNzg1LjAwIDIwMjEuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgIChib3VuZHMgNzg1LjAwIDIwMjEuMDApCisgICAgICAoY29udGVudHNP
cGFxdWUgMSkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAg
ICAgICAgKHBvc2l0aW9uIC00LjAwIDk2LjAwKQorICAgICAgICAgIChib3VuZHMgNDI4LjAwIDQy
OC4wMCkKKyAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgKHJlcGFpbnQgcmVj
dHMKKyAgICAgICAgICAgIChyZWN0IDAuMDAgMC4wMCA0MjguMDAgNDI4LjAwKQorICAgICAgICAg
ICkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAgKQorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29sdXRlLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcnRsL3J0
bC1hYnNvbHV0ZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMmY4MGM0YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvY29tcG9zaXRpbmcvcnRsL3J0bC1hYnNvbHV0ZS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NyBAQAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAoY2hpbGRy
ZW4gMQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisg
ICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChiYWNrZ3JvdW5kQ29sb3IgI0ZGMDAwMCkK
KyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBv
c2l0aW9uIDUwLjAwIDUwLjAwKQorICAgICAgICAgIChib3VuZHMgMTAwLjAwIDEwMC4wMCkKKyAg
ICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAgKQorICAgICAgKQorICAgICkKKyAg
KQorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGlu
Zy9ydGwvcnRsLWFic29sdXRlLW92ZXJmbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcnRsL3J0bC1hYnNvbHV0ZS1vdmVyZmxvdy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUwYjVlZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcv
cnRsL3J0bC1hYnNvbHV0ZS1vdmVyZmxvdy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAor
KEdyYXBoaWNzTGF5ZXIKKyAgKHBvc2l0aW9uIC0yMTUuMDAgMC4wMCkKKyAgKGJvdW5kcyAxMDAw
LjAwIDEwMDAuMDApCisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChi
b3VuZHMgMTAwMC4wMCAxMDAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAo
YmFja2dyb3VuZENvbG9yICNGRjAwMDApCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3Jh
cGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiAyNjUuMDAgNTAuMDApCisgICAgICAgICAg
KGJvdW5kcyAxMDAuMDAgMTAwLjAwKQorICAgICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAg
ICAgICApCisgICAgICApCisgICAgKQorICApCispCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3J0bC9ydGwtYWJzb2x1dGUtb3ZlcmZsb3ctc2Ny
b2xsZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3Np
dGluZy9ydGwvcnRsLWFic29sdXRlLW92ZXJmbG93LXNjcm9sbGVkLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTBmYTIzCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWFic29s
dXRlLW92ZXJmbG93LXNjcm9sbGVkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDE4IEBACisoR3Jh
cGhpY3NMYXllcgorICAocG9zaXRpb24gLTIxNS4wMCAwLjAwKQorICAoYm91bmRzIDEwMDAuMDAg
MTAwMC4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5k
cyAxMDAwLjAwIDEwMDAuMDApCisgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChiYWNr
Z3JvdW5kQ29sb3IgI0ZGMDAwMCkKKyAgICAgIChjaGlsZHJlbiAxCisgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDUxLjAwIDUwLjAwKQorICAgICAgICAgIChib3Vu
ZHMgMTAwLjAwIDEwMC4wMCkKKyAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICAg
KQorICAgICAgKQorICAgICkKKyAgKQorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvcnRsL3J0bC1maXhlZC1leHBlY3Rl
ZC50eHQKaW5kZXggYzkwOTJlMy4uNTQyYjFiZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQt
ZXhwZWN0ZWQudHh0CkBAIC00LDYgKzQsNyBAQAogICAgIChHcmFwaGljc0xheWVyCiAgICAgICAo
Ym91bmRzIDgwMC4wMCA2MDAuMDApCiAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgIChi
YWNrZ3JvdW5kQ29sb3IgI0ZGMDAwMCkKICAgICAgIChjaGlsZHJlbiAyCiAgICAgICAgIChHcmFw
aGljc0xheWVyCiAgICAgICAgICAgKHBvc2l0aW9uIDUwLjAwIDUwLjAwKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy9ydGwvcnRsLWZpeGVkLW92
ZXJmbG93LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9z
aXRpbmcvcnRsL3J0bC1maXhlZC1vdmVyZmxvdy1leHBlY3RlZC50eHQKaW5kZXggMDIzYjljZS4u
OTA2OTdjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3Np
dGluZy9ydGwvcnRsLWZpeGVkLW92ZXJmbG93LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3J0bC9ydGwtZml4ZWQtb3ZlcmZsb3ctZXhw
ZWN0ZWQudHh0CkBAIC01LDYgKzUsNyBAQAogICAgIChHcmFwaGljc0xheWVyCiAgICAgICAoYm91
bmRzIDEwMDAuMDAgMTAwMC4wMCkKICAgICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKGJh
Y2tncm91bmRDb2xvciAjRkYwMDAwKQogICAgICAgKGNoaWxkcmVuIDIKICAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKICAgICAgICAgICAocG9zaXRpb24gMjY1LjAwIDUwLjAwKQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvcm90YXRlZC10
aWxlZC1jbGFtcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
Y29tcG9zaXRpbmcvdGlsaW5nL3JvdGF0ZWQtdGlsZWQtY2xhbXBlZC1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M0NzRkNgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvdGlsaW5nL3JvdGF0
ZWQtdGlsZWQtY2xhbXBlZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0OSBAQAorKEdyYXBoaWNz
TGF5ZXIKKyAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAodmlzaWJsZSByZWN0IDAuMDAsIDAu
MDAgODAwLjAwIHggNjAwLjAwKQorICAoY29udGVudHNTY2FsZSAxLjAwKQorICAoY2hpbGRyZW4g
MQorICAgIChHcmFwaGljc0xheWVyCisgICAgICAoYm91bmRzIDgwMC4wMCA2MDAuMDApCisgICAg
ICAoY29udGVudHNPcGFxdWUgMSkKKyAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCA4MDAu
MDAgeCA2MDAuMDApCisgICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgKHRpbGUgY2Fj
aGUgY292ZXJhZ2UgMCwgMCA4MDAgeCA2MDApCisgICAgICAodGlsZSBzaXplIDUxMiB4IDUxMikK
KyAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCAyIHggMikKKyAgICAgIChjaGls
ZHJlbiAxCisgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAgICAgKHBvc2l0aW9uIDU4LjAw
IDUwLjAwKQorICAgICAgICAgIChib3VuZHMgNTAyLjAwIDMwMi4wMCkKKyAgICAgICAgICAodmlz
aWJsZSByZWN0IDAuMDAsIDAuMDAgNTAyLjAwIHggMzAyLjAwKQorICAgICAgICAgIChjb250ZW50
c1NjYWxlIDEuMDApCisgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgIChHcmFwaGlj
c0xheWVyCisgICAgICAgICAgICAgIChwb3NpdGlvbiAxLjAwIDEuMDApCisgICAgICAgICAgICAg
IChib3VuZHMgNTAwLjAwIDMwMC4wMCkKKyAgICAgICAgICAgICAgKGNoaWxkcmVuVHJhbnNmb3Jt
IFsxLjAwIDAuMDAgMC4wMCAwLjAwXSBbMC4wMCAxLjAwIDAuMDAgMC4wMF0gWzAuMDAgMC4wMCAx
LjAwIC0wLjAwXSBbMC4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAgICAgICAgICAgICh2aXNpYmxl
IHJlY3QgMC4wMCwgMC4wMCA1MDAuMDAgeCAzMDAuMDApCisgICAgICAgICAgICAgIChjb250ZW50
c1NjYWxlIDEuMDApCisgICAgICAgICAgICAgIChjaGlsZHJlbiAxCisgICAgICAgICAgICAgICAg
KEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICAgICAgICAgIChwb3NpdGlvbiAtMTI1MC4wMCAwLjAw
KQorICAgICAgICAgICAgICAgICAgKGFuY2hvciAwLjU0IDAuNTApCisgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDI4MDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgKHVzaW5nVGlsZWRM
YXllciAxKQorICAgICAgICAgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAg
ICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAodHJhbnNmb3JtIFsw
LjE3IDAuMDAgLTAuOTggMC4wMF0gWzAuMDAgMS4wMCAwLjAwIDAuMDBdIFswLjk4IDAuMDAgMC4x
NyAwLjAwXSBbMC4wMCAwLjAwIDAuMDAgMS4wMF0pCisgICAgICAgICAgICAgICAgICAodmlzaWJs
ZSByZWN0IDAuMDAsIDAuMDAgMjgwMC4wMCB4IDMwMC4wMCkKKyAgICAgICAgICAgICAgICAgIChj
b250ZW50c1NjYWxlIDEuMDApCisgICAgICAgICAgICAgICAgICAodGlsZSBjYWNoZSBjb3ZlcmFn
ZSAwLCAwIDI3OTkgeCAyOTkpCisgICAgICAgICAgICAgICAgICAodGlsZSBzaXplIDUxMiB4IDUx
MikKKyAgICAgICAgICAgICAgICAgICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCA1IHgg
MSkKKyAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICkKKyAgICAgICAgICAgICkKKyAg
ICAgICAgICApCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvY29tcG9zaXRpbmcvdGlsaW5nL3JvdGF0ZWQt
dGlsZWQtcHJlc2VydmUzZC1jbGFtcGVkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL21hYy13azIvY29tcG9zaXRpbmcvdGlsaW5nL3JvdGF0ZWQtdGlsZWQtcHJlc2VydmUzZC1j
bGFtcGVkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4z
OTBkZWJkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9j
b21wb3NpdGluZy90aWxpbmcvcm90YXRlZC10aWxlZC1wcmVzZXJ2ZTNkLWNsYW1wZWQtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNTcgQEAKKyhHcmFwaGljc0xheWVyCisgIChib3VuZHMgODAwLjAw
IDYwMC4wMCkKKyAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDgwMC4wMCB4IDYwMC4wMCkKKyAg
KGNvbnRlbnRzU2NhbGUgMS4wMCkKKyAgKGNoaWxkcmVuIDEKKyAgICAoR3JhcGhpY3NMYXllcgor
ICAgICAgKGJvdW5kcyA4MDAuMDAgNjAwLjAwKQorICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisg
ICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgODAwLjAwIHggNjAwLjAwKQorICAgICAgKGNv
bnRlbnRzU2NhbGUgMS4wMCkKKyAgICAgICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDAgODAwIHgg
NjAwKQorICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCisgICAgICAodG9wIGxlZnQgdGlsZSAw
LCAwIHRpbGVzIGdyaWQgMiB4IDIpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAoR3JhcGhp
Y3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA1OC4wMCA1MC4wMCkKKyAgICAgICAgICAoYm91
bmRzIDUwMi4wMCAzMDIuMDApCisgICAgICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDUw
Mi4wMCB4IDMwMi4wMCkKKyAgICAgICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgICAg
IChjaGlsZHJlbiAxCisgICAgICAgICAgICAoR3JhcGhpY3NMYXllcgorICAgICAgICAgICAgICAo
cG9zaXRpb24gMS4wMCAxLjAwKQorICAgICAgICAgICAgICAoYm91bmRzIDUwMC4wMCAzMDAuMDAp
CisgICAgICAgICAgICAgIChjaGlsZHJlblRyYW5zZm9ybSBbMS4wMCAwLjAwIDAuMDAgMC4wMF0g
WzAuMDAgMS4wMCAwLjAwIDAuMDBdIFswLjAwIDAuMDAgMS4wMCAtMC4wMF0gWzAuMDAgMC4wMCAw
LjAwIDEuMDBdKQorICAgICAgICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgNTAwLjAw
IHggMzAwLjAwKQorICAgICAgICAgICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAgICAg
ICAgICAoY2hpbGRyZW4gMQorICAgICAgICAgICAgICAgIChHcmFwaGljc0xheWVyCisgICAgICAg
ICAgICAgICAgICAoYm91bmRzIDUwMC4wMCAwLjAwKQorICAgICAgICAgICAgICAgICAgKHByZXNl
cnZlczNEIDEpCisgICAgICAgICAgICAgICAgICAodmlzaWJsZSByZWN0IDAuMDAsIDAuMDAgMC4w
MCB4IDAuMDApCisgICAgICAgICAgICAgICAgICAoY29udGVudHNTY2FsZSAxLjAwKQorICAgICAg
ICAgICAgICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgICAgICAgICAgICAgKEdyYXBoaWNzTGF5
ZXIKKyAgICAgICAgICAgICAgICAgICAgICAocG9zaXRpb24gLTEyNTAuMDAgMC4wMCkKKyAgICAg
ICAgICAgICAgICAgICAgICAoYW5jaG9yIDAuNTQgMC41MCkKKyAgICAgICAgICAgICAgICAgICAg
ICAoYm91bmRzIDI4MDAuMDAgMzAwLjAwKQorICAgICAgICAgICAgICAgICAgICAgICh1c2luZ1Rp
bGVkTGF5ZXIgMSkKKyAgICAgICAgICAgICAgICAgICAgICAoY29udGVudHNPcGFxdWUgMSkKKyAg
ICAgICAgICAgICAgICAgICAgICAoZHJhd3NDb250ZW50IDEpCisgICAgICAgICAgICAgICAgICAg
ICAgKHRyYW5zZm9ybSBbMC4xNyAwLjAwIC0wLjk4IDAuMDBdIFswLjAwIDEuMDAgMC4wMCAwLjAw
XSBbMC45OCAwLjAwIDAuMTcgMC4wMF0gWzAuMDAgMC4wMCAwLjAwIDEuMDBdKQorICAgICAgICAg
ICAgICAgICAgICAgICh2aXNpYmxlIHJlY3QgMC4wMCwgMC4wMCAyODAwLjAwIHggMzAwLjAwKQor
ICAgICAgICAgICAgICAgICAgICAgIChjb250ZW50c1NjYWxlIDEuMDApCisgICAgICAgICAgICAg
ICAgICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCAyNzk5IHggMjk5KQorICAgICAgICAg
ICAgICAgICAgICAgICh0aWxlIHNpemUgNTEyIHggNTEyKQorICAgICAgICAgICAgICAgICAgICAg
ICh0b3AgbGVmdCB0aWxlIDAsIDAgdGlsZXMgZ3JpZCA1IHggMSkKKyAgICAgICAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAgICkKKyAgICAgICAgICAg
ICAgKQorICAgICAgICAgICAgKQorICAgICAgICAgICkKKyAgICAgICAgKQorICAgICAgKQorICAg
ICkKKyAgKQorKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21w
b3NpdGluZy90aWxpbmcvdGlsZS1jYWNoZS16b29tZWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvdGlsZS1jYWNoZS16b29tZWQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc2YWEwZjUK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0
aW5nL3RpbGluZy90aWxlLWNhY2hlLXpvb21lZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBA
QAorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyAxOTMyLjAwIDQxNTAuMDApCisgICh2aXNpYmxl
IHJlY3QgMC4wMCwgMC4wMCA3ODUuMDAgeCA1ODUuMDApCisgIChjb250ZW50c1NjYWxlIDEuMDAp
CisgIChjaGlsZHJlbiAxCisgICAgKEdyYXBoaWNzTGF5ZXIKKyAgICAgIChhbmNob3IgMC4wMCAw
LjAwKQorICAgICAgKGJvdW5kcyAxMjA4LjAwIDI1OTQuMDApCisgICAgICAoY29udGVudHNPcGFx
dWUgMSkKKyAgICAgICh0cmFuc2Zvcm0gWzEuNjAgMC4wMCAwLjAwIDAuMDBdIFswLjAwIDEuNjAg
MC4wMCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMC4wMF0gWzAuMDAgMC4wMCAwLjAwIDEuMDBdKQor
ICAgICAgKHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDQ5MC42MyB4IDM2NS42MykKKyAgICAgIChj
b250ZW50c1NjYWxlIDEuMDApCisgICAgICAodGlsZSBjYWNoZSBjb3ZlcmFnZSAwLCAwIDY0MCB4
IDY0MCkKKyAgICAgICh0aWxlIHNpemUgNTEyIHggNTEyKQorICAgICAgKHRvcCBsZWZ0IHRpbGUg
MCwgMCB0aWxlcyBncmlkIDIgeCAyKQorICAgICAgKGNoaWxkcmVuIDEKKyAgICAgICAgKEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAocG9zaXRpb24gOC4wMCA4LjAwKQorICAgICAgICAgIChib3Vu
ZHMgNzAwLjAwIDI1MDAuMDApCisgICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAg
ICAgKHRyYW5zZm9ybSBbMS4wMCAwLjAwIDAuMDAgMC4wMF0gWzAuMDAgMS4wMCAwLjAwIDAuMDBd
IFswLjAwIDAuMDAgMS4wMCAwLjAwXSBbMC4wMCAwLjAwIDEuMDAgMS4wMF0pCisgICAgICAgICAg
KHZpc2libGUgcmVjdCAwLjAwLCAwLjAwIDQ4Mi42MyB4IDM1Ny42MykKKyAgICAgICAgICAoY29u
dGVudHNTY2FsZSAxLjYwKQorICAgICAgICApCisgICAgICApCisgICAgKQorICApCispCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2NvbXBvc2l0aW5nL3RpbGluZy90
aWxlZC1sYXllci1yZXNpemUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFj
LXdrMi9jb21wb3NpdGluZy90aWxpbmcvdGlsZWQtbGF5ZXItcmVzaXplLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZGZjYjVmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9jb21wb3NpdGluZy90aWxpbmcvdGls
ZWQtbGF5ZXItcmVzaXplLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI1IEBACitUaWxlZCBsYXll
cgorKEdyYXBoaWNzTGF5ZXIKKyAgKGJvdW5kcyA4MDguMDAgMjEyMS4wMCkKKyAgKGNoaWxkcmVu
IDEKKyAgICAoR3JhcGhpY3NMYXllcgorICAgICAgKGJvdW5kcyA4MDguMDAgMjEyMS4wMCkKKyAg
ICAgIChjb250ZW50c09wYXF1ZSAxKQorICAgICAgKHRpbGUgY2FjaGUgY292ZXJhZ2UgMCwgMCA4
MDggeCAxMDI0KQorICAgICAgKHRpbGUgc2l6ZSA1MTIgeCA1MTIpCisgICAgICAodG9wIGxlZnQg
dGlsZSAwLCAwIHRpbGVzIGdyaWQgMiB4IDIpCisgICAgICAoY2hpbGRyZW4gMQorICAgICAgICAo
R3JhcGhpY3NMYXllcgorICAgICAgICAgIChwb3NpdGlvbiA4LjAwIDguMDApCisgICAgICAgICAg
KGJvdW5kcyA4MDAuMDAgMjEwMC4wMCkKKyAgICAgICAgICAodXNpbmdUaWxlZExheWVyIDEpCisg
ICAgICAgICAgKGNvbnRlbnRzT3BhcXVlIDEpCisgICAgICAgICAgKGRyYXdzQ29udGVudCAxKQor
ICAgICAgICAgICh0aWxlIGNhY2hlIGNvdmVyYWdlIDAsIDAgODAwIHggMTAyNCkKKyAgICAgICAg
ICAodGlsZSBzaXplIDUxMiB4IDUxMikKKyAgICAgICAgICAodG9wIGxlZnQgdGlsZSAwLCAwIHRp
bGVzIGdyaWQgMiB4IDIpCisgICAgICAgICkKKyAgICAgICkKKyAgICApCisgICkKKykKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZWRpdGluZy9pbnB1dC9jYXJldC1h
dC10aGUtZWRnZS1vZi1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9lZGl0aW5nL2lucHV0L2NhcmV0LWF0LXRoZS1lZGdlLW9mLWNvbnRl
bnRlZGl0YWJsZS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uYzg2ZTM3MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13
azIvZWRpdGluZy9pbnB1dC9jYXJldC1hdC10aGUtZWRnZS1vZi1jb250ZW50ZWRpdGFibGUtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4
MDB4NzIKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDcyCisgICAgUmVu
ZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTYKKyAgICAgIFJlbmRlckJsb2NrIHtE
SVZ9IGF0ICgwLDApIHNpemUgNzg0eDM2CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDc2OXgzNgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDc2OTog
IldoZW4gdGhlIGNhcmV0IHJlYWNoZXMgdGhlIGVkZ2Ugb2YgdGhlIGlucHV0IGJveCBvciBjb250
ZW50IGVkaXRhYmxlIGRpdiwgb24gdGhlIG5leHQgaW5wdXQgaWYgbXVzdCBqdW1wIHRvIHRoZSBj
ZW50ZXIgb2YgdGhlIgorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA0ODogImNv
bnRyb2wuIgorbGF5ZXIgYXQgKDgsNDQpIHNpemUgODJ4MjAgY2xpcCBhdCAoOSw0NSkgc2l6ZSA4
MHgxOCBzY3JvbGxYIDQyIHNjcm9sbFdpZHRoIDMzNworICBSZW5kZXJCbG9jayB7RElWfSBhdCAo
MCwzNikgc2l6ZSA4MngyMCBbYm9yZGVyOiAoMXB4IHNvbGlkICMwMDAwMDApXQorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDMzNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEs
MSkgd2lkdGggMzM2OiAiMDEyMzQ1Njc4OTAxMDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5
IgorbGF5ZXIgYXQgKDgsNDQpIHNpemUgOHgxOAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e1NQQU59IGF0ICg4LDQ0KSBzaXplIDh4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSA4eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OiAiMCIKK2NhcmV0
OiBwb3NpdGlvbiAxMiBvZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2VkaXRpbmcvaW5wdXQv
cmV2ZWFsLWNhcmV0LW9mLW11bHRpbGluZS1jb250ZW50ZWRpdGFibGUtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1v
Zi1tdWx0aWxpbmUtY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi5iOTg2M2QyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjLXdrMi9lZGl0aW5nL2lucHV0L3JldmVhbC1jYXJldC1vZi1tdWx0aWxp
bmUtY29udGVudGVkaXRhYmxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwOCBAQAorbGF5ZXIg
YXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMTYKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgw
LDApIHNpemUgODAweDIxNgorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0
eDIwMAorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNTk1eDE4CisgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggNTk1OiAiV2hlbiB0aGUgY2FyZXQgaXMgc2Nyb2xsZWQgb3V0
LCBvbiBzdGFydGluZyB0eXBpbmcgaXQgbXVzdCBiZSBicm91Z2h0IHRvIHRoZSBjZW50ZXIgb2Yg
dGhlIGNvbnRyb2wuIgorbGF5ZXIgYXQgKDgsMjYpIHNpemUgNzg0eDE4MiBjbGlwIGF0ICg5LDI3
KSBzaXplIDc2N3gxNjUgc2Nyb2xsWSAyNTIgc2Nyb2xsSGVpZ2h0IDU1OAorICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMCwxOCkgc2l6ZSA3ODR4MTgyIFtib3JkZXI6ICgxcHggc29saWQgIzAwMDAw
MCldCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgMTZ4MTgKKyAgICAgIHRl
eHQgcnVuIGF0ICgxLDEpIHdpZHRoIDE2OiAiMDAiCisgICAgUmVuZGVyQlIge0JSfSBhdCAoMTcs
MSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDE5KSBzaXplIDE2eDE4
CisgICAgICB0ZXh0IHJ1biBhdCAoMSwxOSkgd2lkdGggMTY6ICIwMSIKKyAgICBSZW5kZXJCUiB7
QlJ9IGF0ICgxNywxOSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDM3
KSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSwzNykgd2lkdGggMTY6ICIwMiIKKyAg
ICBSZW5kZXJCUiB7QlJ9IGF0ICgxNywzNykgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDU1KSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMSw1NSkgd2lkdGgg
MTY6ICIwMyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNyw1NSkgc2l6ZSAweDE4CisgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDczKSBzaXplIDE2eDE4CisgICAgICB0ZXh0IHJ1biBhdCAo
MSw3Mykgd2lkdGggMTY6ICIwNCIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNyw3Mykgc2l6ZSAw
eDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDkxKSBzaXplIDE2eDE4CisgICAgICB0
ZXh0IHJ1biBhdCAoMSw5MSkgd2lkdGggMTY6ICIwNSIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgx
Nyw5MSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEwOSkgc2l6ZSAx
NngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMTA5KSB3aWR0aCAxNjogIjA2IgorICAgIFJlbmRl
ckJSIHtCUn0gYXQgKDE3LDEwOSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgxLDEyNykgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMTI3KSB3aWR0aCAxNjog
IjA3IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDEyNykgc2l6ZSAweDE4CisgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgxLDE0NSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEs
MTQ1KSB3aWR0aCAxNjogIjA4IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDE0NSkgc2l6ZSAw
eDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDE2Mykgc2l6ZSAxNngxOAorICAgICAg
dGV4dCBydW4gYXQgKDEsMTYzKSB3aWR0aCAxNjogIjA5IgorICAgIFJlbmRlckJSIHtCUn0gYXQg
KDE3LDE2Mykgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDE4MSkgc2l6
ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMTgxKSB3aWR0aCAxNjogIjEwIgorICAgIFJl
bmRlckJSIHtCUn0gYXQgKDE3LDE4MSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDE5OSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMTk5KSB3aWR0aCAx
NjogIjExIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDE5OSkgc2l6ZSAweDE4CisgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgxLDIxNykgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQg
KDEsMjE3KSB3aWR0aCAxNjogIjEyIgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDIxNykgc2l6
ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDIzNSkgc2l6ZSAxNngxOAorICAg
ICAgdGV4dCBydW4gYXQgKDEsMjM1KSB3aWR0aCAxNjogIjEzIgorICAgIFJlbmRlckJSIHtCUn0g
YXQgKDE3LDIzNSkgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDI1Mykg
c2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMjUzKSB3aWR0aCAxNjogIjE0IgorICAg
IFJlbmRlckJSIHtCUn0gYXQgKDE3LDI1Mykgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgxLDI3MSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMjcxKSB3aWR0
aCAxNjogIjE1IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDI3MSkgc2l6ZSAweDE4CisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDI4OSkgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4g
YXQgKDEsMjg5KSB3aWR0aCAxNjogIjE2IgorICAgIFJlbmRlckJSIHtCUn0gYXQgKDE3LDI4OSkg
c2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDMwNykgc2l6ZSAxNngxOAor
ICAgICAgdGV4dCBydW4gYXQgKDEsMzA3KSB3aWR0aCAxNjogIjE3IgorICAgIFJlbmRlckJSIHtC
Un0gYXQgKDE3LDMwNykgc2l6ZSAweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDMy
NSkgc2l6ZSAyNXgxOAorICAgICAgdGV4dCBydW4gYXQgKDEsMzI1KSB3aWR0aCAyNTogIj4xOCIK
KyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgyNiwzMjUpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMSwzNDMpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDM0Mykg
d2lkdGggMTY6ICIxOSIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNywzNDMpIHNpemUgMHgxOAor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwzNjEpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQg
cnVuIGF0ICgxLDM2MSkgd2lkdGggMTY6ICIyMCIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNywz
NjEpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwzNzkpIHNpemUgMTZ4
MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDM3OSkgd2lkdGggMTY6ICIyMSIKKyAgICBSZW5kZXJC
UiB7QlJ9IGF0ICgxNywzNzkpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MSwzOTcpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDM5Nykgd2lkdGggMTY6ICIy
MiIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNywzOTcpIHNpemUgMHgxOAorICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMSw0MTUpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDQx
NSkgd2lkdGggMTY6ICIyMyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNyw0MTUpIHNpemUgMHgx
OAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSw0MzMpIHNpemUgMTZ4MTgKKyAgICAgIHRl
eHQgcnVuIGF0ICgxLDQzMykgd2lkdGggMTY6ICIyNCIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgx
Nyw0MzMpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSw0NTEpIHNpemUg
MTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDQ1MSkgd2lkdGggMTY6ICIyNSIKKyAgICBSZW5k
ZXJCUiB7QlJ9IGF0ICgxNyw0NTEpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMSw0NjkpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDQ2OSkgd2lkdGggMTY6
ICIyNiIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNyw0NjkpIHNpemUgMHgxOAorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMSw0ODcpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgx
LDQ4Nykgd2lkdGggMTY6ICIyNyIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNyw0ODcpIHNpemUg
MHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSw1MDUpIHNpemUgMTZ4MTgKKyAgICAg
IHRleHQgcnVuIGF0ICgxLDUwNSkgd2lkdGggMTY6ICIyOCIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0
ICgxNyw1MDUpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSw1MjMpIHNp
emUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDUyMykgd2lkdGggMTY6ICIyOSIKKyAgICBS
ZW5kZXJCUiB7QlJ9IGF0ICgxNyw1MjMpIHNpemUgMHgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMSw1NDEpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgxLDU0MSkgd2lkdGgg
MTY6ICIzMCIKKyAgICBSZW5kZXJCUiB7QlJ9IGF0ICgxNyw1NDEpIHNpemUgMHgxOAorbGF5ZXIg
YXQgKDgsMjYpIHNpemUgOHgxOAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge1NQQU59IGF0
ICg4LDI2KSBzaXplIDh4MTgKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4
eDE4CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA4OiAiMCIKK2NhcmV0OiBwb3NpdGlv
biAxIG9mIGNoaWxkIDM2IHsjdGV4dH0gb2YgY2hpbGQgNSB7RElWfSBvZiBib2R5CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvYmxvY2svYmFzaWMvMDIwLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9ibG9jay9iYXNp
Yy8wMjAtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3
MTNlNTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zh
c3QvYmxvY2svYmFzaWMvMDIwLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI0IEBACitsYXllciBh
dCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAK
K2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAs
MCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4
NTc2CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHg1MgorICAgICAg
ICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEyeDE4CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjogIkEiCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxMiwwKSBzaXplIDExeDE4CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTIsMCkgd2lk
dGggMTE6ICJDIgorICAgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMzQpIHNpemUgNzg0eDAK
KyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzQpIHNpemUgNzg0eDE4CisgICAgICAg
ICAgUmVuZGVyQmxvY2sgKGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTAwLDApIHNpemUgMTZ4MTgKKyAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEwMCwwKSB3aWR0aCAxNjogIkEgIgorICAgICAgICAgICAgUmVuZGVy
QmxvY2sgKGZsb2F0aW5nKSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAxMDB4MTAwIFtiZ2NvbG9yPSMw
MDgwMDBdCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDExNiwwKSBzaXplIDEx
eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxMTYsMCkgd2lkdGggMTE6ICJCIgorICAg
ICAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MAorbGF5ZXIgYXQgKDIw
LDgpIHNpemUgMTF4MTgKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtTUEFOfSBhdCAoMjAs
OCkgc2l6ZSAxMXgxOAorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExeDE4
CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTogIkIiCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvZHluYW1pYy8wMTItZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2R5bmFtaWMvMDEyLWV4cGVjdGVkLnR4
dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTQ0YzZiCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2R5bmFtaWMvMDEyLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAw
CisgIFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXpl
IDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAg
IFJlbmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDU4NAorICAgICAgUmVuZGVyQmxv
Y2sge0gyfSBhdCAoMCwwKSBzaXplIDc4NHgyOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAyMTl4MjgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAy
MTk6ICJCbG9jayBDb2xsYXBzZSBEZW1vIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDQ3
KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2
ODd4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAzMDQ6ICJUaGlzIHRhYmxl
IGJlbG93IGhhcyB0aHJlZSBoaWVyYXJjaGljYWwgc2VjdGlvbnMuICIKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMzA0LDApIHdpZHRoIDM4MzogIkNvbGxhcHNpbmcgYSBzZWN0aW9uIHNob3VsZCBj
YXVzZSB0aG9zZSBiZWxvdyBpdCB0byBtb3ZlIHVwLiIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBh
dCAoMCw4MSkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDAp
IHNpemUgNzY1eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNzY1OiAiVGhp
cyB3b3JrcyBvbiB0aGUgbGF0ZXN0IFdpbmRvd3MgSUUgYW5kIE1vemlsbGEgRmlyZWZveCAoV2lu
IGFuZCBNYWMpIGJ1dCBub3Qgb24gU2FmYXJpIDEuMi4zICh2MTI1LjkpIHtvciAyLjAgKDE0Nil9
LiIKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMTUpIHNpemUgNzg0eDE4CisgICAgICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc0N3gxOAorICAgICAgICAgIHRleHQg
cnVuIGF0ICgwLDApIHdpZHRoIDU3OTogIk5vdGUgdGhhdCB0aGUgc2Vjb25kIHNlY3Rpb24gaXMg
Y29sbGFwc2VkIHdoZW4gdGhlIHBhZ2Ugb3BlbnMgYW5kIGV4cGFuZGluZyBpdCB3b3JrcyBmaW5l
LiAiCisgICAgICAgICAgdGV4dCBydW4gYXQgKDU3OSwwKSB3aWR0aCAxNjg6ICJKdXN0IHRoZSBj
b2xsYXBzZSBpcyBicm9rZW4uIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTQ5KSBz
aXplIDc4NHgxNDgKKyAgICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwwKSBzaXplIDc4NHgy
IFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDEwKSBzaXplIDc4NHgyMAorICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgw
LDApIHNpemUgMTZ4MTYKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE2LDIpIHNp
emUgNzV4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNiwyKSB3aWR0aCA3NTogIiBCbG9j
ayBPbmUiCisgICAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDMwKSBzaXplIDc4NHgyMAor
ICAgICAgICAgIFJlbmRlckltYWdlIHtJTUd9IGF0ICgwLDApIHNpemUgMTZ4MTYKKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDE2LDIpIHNpemUgNzh4MTgKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgxNiwyKSB3aWR0aCA3ODogIiBCbG9jayBUd28iCisgICAgICAgIFJlbmRlckJs
b2NrIHtESVZ9IGF0ICgwLDUwKSBzaXplIDc4NHgyMAorICAgICAgICAgIFJlbmRlckltYWdlIHtJ
TUd9IGF0ICgwLDApIHNpemUgMTZ4MTYKKyAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDE2LDIpIHNpemUgODh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxNiwyKSB3aWR0aCA4
ODogIiBCbG9jayBUaHJlZSIKKyAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsNzApIHNp
emUgNzg0eDY4CisgICAgICAgICAgUmVuZGVyVGFibGUge1RBQkxFfSBhdCAoMCwwKSBzaXplIDc4
NHg2OAorICAgICAgICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQgKDAsMCkgc2l6
ZSA3ODR4NjgKKyAgICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBzaXpl
IDc4NHgyMAorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIpIHNp
emUgMzJ4MjAgW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNHgxOAorICAgICAgICAgICAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMSwxKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwg
e1REfSBhdCAoMzYsMikgc2l6ZSA3NDZ4MjAgW3I9MCBjPTEgcnM9MSBjcz0xXQorICAgICAgICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNjV4MTgKKyAgICAgICAg
ICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNjU6ICJUaGlzIGlzIHRoZSIKKyAg
ICAgICAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyNCkgc2l6ZSA3ODR4MjAKKyAg
ICAgICAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiwyNCkgc2l6ZSAzMngyMCBb
cj0xIGM9MCBycz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMSkgc2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEp
IHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgz
NiwyNCkgc2l6ZSA3NDZ4MjAgW3I9MSBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNjl4MTgKKyAgICAgICAgICAgICAgICAg
ICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNjk6ICJjb250ZW50cyBvZiIKKyAgICAgICAgICAg
ICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCw0Nikgc2l6ZSA3ODR4MjAKKyAgICAgICAgICAg
ICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMiw0Nikgc2l6ZSAzMngyMCBbcj0yIGM9MCBy
cz0xIGNzPTFdCisgICAgICAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkg
c2l6ZSA0eDE4CisgICAgICAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDQ6
ICIgIgorICAgICAgICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgzNiw0Nikgc2l6
ZSA3NDZ4MjAgW3I9MiBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNzR4MTgKKyAgICAgICAgICAgICAgICAgICAgdGV4dCBy
dW4gYXQgKDEsMSkgd2lkdGggNzQ6ICJibG9jayB0aHJlZS4iCisgICAgICAgIFJlbmRlckJsb2Nr
IHtIUn0gYXQgKDAsMTQ2KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCld
CitsYXllciBhdCAoOCwxODcpIHNpemUgMTA5eDY4CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoOCwxODcpIHNpemUgMTA5eDY4CisgICAgUmVuZGVyVGFibGUge1RBQkxFfSBh
dCAoMCwwKSBzaXplIDEwOXg2OAorICAgICAgUmVuZGVyVGFibGVTZWN0aW9uIHtUQk9EWX0gYXQg
KDAsMCkgc2l6ZSAxMDl4NjgKKyAgICAgICAgUmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyKSBz
aXplIDEwOXgyMAorICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDIpIHNpemUg
MzJ4MjAgW3I9MCBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgxLDEpIHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0
aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzYsMikgc2l6ZSA3
MXgyMCBbcj0wIGM9MSBycz0xIGNzPTFdCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDEsMSkgc2l6ZSA2NXgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0
aCA2NTogIlRoaXMgaXMgdGhlIgorICAgICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDI0
KSBzaXplIDEwOXgyMAorICAgICAgICAgIFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDI0KSBz
aXplIDMyeDIwIFtyPTEgYz0wIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwxKSBzaXplIDR4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkg
d2lkdGggNDogIiAiCisgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM2LDI0KSBz
aXplIDcxeDIwIFtyPTEgYz0xIHJzPTEgY3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMSwxKSBzaXplIDY5eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEp
IHdpZHRoIDY5OiAiY29udGVudHMgb2YiCisgICAgICAgIFJlbmRlclRhYmxlUm93IHtUUn0gYXQg
KDAsNDYpIHNpemUgMTA5eDIwCisgICAgICAgICAgUmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDIs
NDYpIHNpemUgMzJ4MjAgW3I9MiBjPTAgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNHgxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MSwxKSB3aWR0aCA0OiAiICIKKyAgICAgICAgICBSZW5kZXJUYWJsZUNlbGwge1REfSBhdCAoMzYs
NDYpIHNpemUgNzF4MjAgW3I9MiBjPTEgcnM9MSBjcz0xXQorICAgICAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNjZ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQg
KDEsMSkgd2lkdGggNjY6ICJibG9jayBvbmUuIgorbGF5ZXIgYXQgKDgsMjA3KSBzaXplIDEwOXg2
OAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDgsMjA3KSBzaXplIDEwOXg2
OAorICAgIFJlbmRlclRhYmxlIHtUQUJMRX0gYXQgKDAsMCkgc2l6ZSAxMDl4NjgKKyAgICAgIFJl
bmRlclRhYmxlU2VjdGlvbiB7VEJPRFl9IGF0ICgwLDApIHNpemUgMTA5eDY4CisgICAgICAgIFJl
bmRlclRhYmxlUm93IHtUUn0gYXQgKDAsMikgc2l6ZSAxMDl4MjAKKyAgICAgICAgICBSZW5kZXJU
YWJsZUNlbGwge1REfSBhdCAoMiwyKSBzaXplIDMyeDIwIFtyPTAgYz0wIHJzPTEgY3M9MV0KKyAg
ICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDR4MTgKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNDogIiAiCisgICAgICAgICAgUmVuZGVyVGFi
bGVDZWxsIHtURH0gYXQgKDM2LDIpIHNpemUgNzF4MjAgW3I9MCBjPTEgcnM9MSBjcz0xXQorICAg
ICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgxLDEpIHNpemUgNjV4MTgKKyAgICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNjU6ICJUaGlzIGlzIHRoZSIKKyAgICAgICAg
UmVuZGVyVGFibGVSb3cge1RSfSBhdCAoMCwyNCkgc2l6ZSAxMDl4MjAKKyAgICAgICAgICBSZW5k
ZXJUYWJsZUNlbGwge1REfSBhdCAoMiwyNCkgc2l6ZSAzMngyMCBbcj0xIGM9MCBycz0xIGNzPTFd
CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA0eDE4CisgICAg
ICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDQ6ICIgIgorICAgICAgICAgIFJlbmRl
clRhYmxlQ2VsbCB7VER9IGF0ICgzNiwyNCkgc2l6ZSA3MXgyMCBbcj0xIGM9MSBycz0xIGNzPTFd
CisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDEsMSkgc2l6ZSA2OXgxOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMSwxKSB3aWR0aCA2OTogImNvbnRlbnRzIG9mIgorICAg
ICAgICBSZW5kZXJUYWJsZVJvdyB7VFJ9IGF0ICgwLDQ2KSBzaXplIDEwOXgyMAorICAgICAgICAg
IFJlbmRlclRhYmxlQ2VsbCB7VER9IGF0ICgyLDQ2KSBzaXplIDMyeDIwIFtyPTIgYz0wIHJzPTEg
Y3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDR4MTgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDEsMSkgd2lkdGggNDogIiAiCisgICAgICAgICAg
UmVuZGVyVGFibGVDZWxsIHtURH0gYXQgKDM2LDQ2KSBzaXplIDcxeDIwIFtyPTIgYz0xIHJzPTEg
Y3M9MV0KKyAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMSwxKSBzaXplIDY3eDE4
CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgxLDEpIHdpZHRoIDY3OiAiYmxvY2sgdHdvLiIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9keW5hbWljL2xh
eWVyLWhpdC10ZXN0LWNyYXNoLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy13azIvZmFzdC9keW5hbWljL2xheWVyLWhpdC10ZXN0LWNyYXNoLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjkzZTNiCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2R5bmFtaWMvbGF5ZXItaGl0LXRl
c3QtY3Jhc2gtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMTggQEAKK2xheWVyIGF0ICgwLDApIHNp
emUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRl
eHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDc0NngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDc0NjogIk1vdXNpbmcgb3ZlciB0aGUgeWVsbG93IHNxdWFyZSBiZWxvdyBzaG91
bGQgbm90IGNhdXNlIGFuIGFzc2VydGlvbiBmYWlsdXJlIG9yIGNyYXNoLiBUaGlzIHRlc3RzIGZv
ciByZWdyZXNzaW9ucyBhZ2FpbnN0ICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCww
KSBzaXplIDMyeDE4IFtjb2xvcj0jMDAwMEVFXQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoNzQ2LDApIHNpemUgMzJ4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICg3NDYsMCkg
d2lkdGggMzI6ICI2OTMxIgorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDc3OCwwKSBz
aXplIDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoNzc4LDApIHdpZHRoIDQ6ICIuIgorbGF5
ZXIgYXQgKDUwLDUwKSBzaXplIDIwMHgyMDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHpJ
OiAxIHtESVZ9IGF0ICg1MCw1MCkgc2l6ZSAyMDB4MjAwIFtiZ2NvbG9yPSNGRkZGMDBdCitsYXll
ciBhdCAoNzAsNTApIHNpemUgMTAweDEwMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6
IDUge0RJVn0gYXQgKDIwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jRkYwMDAwXQorY2FyZXQ6
IHBvc2l0aW9uIDEgb2YgY2hpbGQgMiB7I3RleHR9IG9mIGNoaWxkIDEge0RJVn0gb2YgYm9keQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2xheWVycy9sYXll
ci12aXNpYmlsaXR5LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIv
ZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uZDQyOGRjZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9sYXllcnMvbGF5ZXItdmlzaWJpbGl0eS1leHBlY3Rl
ZC50eHQKQEAgLTAsMCArMSwzMjYgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBS
ZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4
NjAwCisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgICBSZW5k
ZXJCb2R5IHtCT0RZfSBhdCAoOCw4KSBzaXplIDc4NHg1ODQKKyAgICAgIFJlbmRlckJsb2NrIChm
bG9hdGluZykge0RJVn0gYXQgKDAsMCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQg
IzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgxMzQsMCkg
c2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJC
bG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgyNjgsMCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgy
cHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0
ICg0MDIsMCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAg
ICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICg1MzYsMCkgc2l6ZSAxMzR4MTA0IFti
b3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcp
IHtESVZ9IGF0ICgwLDEwNCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBG
RildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgxMzQsMTA0KSBzaXpl
IDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2Nr
IChmbG9hdGluZykge0RJVn0gYXQgKDI2OCwxMDQpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4
IHNvbGlkICMwMDAwRkYpXQorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAo
NDAyLDEwNCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAg
ICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICg1MzYsMTA0KSBzaXplIDEzNHgxMDQg
W2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGlu
Zykge0RJVn0gYXQgKDAsMjA4KSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAw
MEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDEzNCwyMDgpIHNp
emUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQorICAgICAgUmVuZGVyQmxv
Y2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMjY4LDIwOCkgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgy
cHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0
ICg0MDIsMjA4KSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAg
ICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDUzNiwyMDgpIHNpemUgMTM0eDEw
NCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0
aW5nKSB7RElWfSBhdCAoMCwzMTIpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMw
MDAwRkYpXQorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoMTM0LDMxMikg
c2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJC
bG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgyNjgsMzEyKSBzaXplIDEzNHgxMDQgW2JvcmRlcjog
KDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0g
YXQgKDQwMiwzMTIpIHNpemUgMTM0eDEwNCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDAwRkYpXQor
ICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBhdCAoNTM2LDMxMikgc2l6ZSAxMzR4
MTA0IFtib3JkZXI6ICgycHggc29saWQgIzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxv
YXRpbmcpIHtESVZ9IGF0ICgwLDQxNikgc2l6ZSAxMzR4MTA0IFtib3JkZXI6ICgycHggc29saWQg
IzAwMDBGRildCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgxMzQsNDE2
KSBzaXplIDEzNHgxMDQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDAwMEZGKV0KKyAgICAgIFJlbmRl
ckJsb2NrIChmbG9hdGluZykge0RJVn0gYXQgKDI2OCw0MTYpIHNpemUgMTM0eDEwNCBbYm9yZGVy
OiAoMnB4IHNvbGlkICMwMDAwRkYpXQorbGF5ZXIgYXQgKDEwLDEwKSBzaXplIDEzMHg0NAorICBS
ZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4
NDQKKyAgICBSZW5kZXJCbG9jayAoYW5vbnltb3VzKSBhdCAoMCwwKSBzaXplIDEzMHgxOAorICAg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgNzl4MTgKKyAgICAgICAgdGV4dCBy
dW4gYXQgKDAsMCkgd2lkdGggNzk6ICIxIGdyZWVuIGJveDoiCisgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDAsMTgpIHNpemUgMTMweDI2IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisg
ICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngyMiBbYm9yZGVyOiAoMnB4
IHNvbGlkICNGRjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6
ZSAzNXgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDM1OiAiZmFpbGVkIgor
bGF5ZXIgYXQgKDE0NCwxMCkgc2l6ZSAxMzB4NjIKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDYyCisgICAgUmVuZGVyQmxvY2sgKGFu
b255bW91cykgYXQgKDAsMCkgc2l6ZSAxMzB4MzYKKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBh
dCAoMCwwKSBzaXplIDEwN3gzNgorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjog
IjIgIgorICAgICAgICB0ZXh0IHJ1biBhdCAoMTIsMCkgd2lkdGggOTU6ICJncmVlbiBib3ggd2l0
aCIKKyAgICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAid29yZCBvazoiCisgICAg
UmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDI2IFtib3JkZXI6ICgycHggc29s
aWQgI0ZGMDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngy
MiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4
dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRo
IDE2OiAib2siCitsYXllciBhdCAoMjc4LDEwKSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAo
cmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDd4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgw
LDApIHdpZHRoIDEwNzogIjMgZ3JlZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwx
OCkgd2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKK2xheWVyIGF0ICgyNzgsNDYpIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChw
b3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xp
ZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngyMiBb
Ym9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJv
ayIKK2xheWVyIGF0ICg0MTIsMTApIHNpemUgMTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2
ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDEwN3gzNgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lk
dGggMTA3OiAiNCBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0
aCA1NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4
MAorbGF5ZXIgYXQgKDQxMiw0Nikgc2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAw
MDApXQorbGF5ZXIgYXQgKDQxNCw0OCkgc2l6ZSAxMjZ4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0
aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDMwIFtib3JkZXI6ICgycHggc29saWQgIzAw
ODAwMCldCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAg
IHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBhdCAoNTQ2LDEwKSBzaXpl
IDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIs
Mikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDd4
MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwNzogIjUgZ3JlZW4gYm94IHdpdGgi
CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg1NDYsNDYpIHNpemUg
MTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAx
MzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMiwyKSBzaXplIDEyNngyNiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAg
ICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBz
b2xpZCAjMDA4MDAwKV0KKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUg
MTZ4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIg
YXQgKDEwLDExNCkgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgMTA3eDM2CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMDc6ICI2
IGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAid29y
ZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBh
dCAoMTAsMTUwKSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0g
YXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCitsYXll
ciBhdCAoMTIsMTUyKSBzaXplIDEyNngzMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJ
Vn0gYXQgKDIsMikgc2l6ZSAxMjZ4MzAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNv
bGlkICMwMDgwMDApXQorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4
MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgx
NDQsMTE0KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRpb25lZCkg
e0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAxMDd4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDEwNzogIjcgZ3Jl
ZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9r
OiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgx
NDQsMTUwKSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCitsYXllciBh
dCAoMTQ2LDE1Mikgc2l6ZSAxMjZ4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9
IGF0ICgyLDIpIHNpemUgMTI2eDMwIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCitsYXll
ciBhdCAoMTQ4LDE1NCkgc2l6ZSAxMjJ4MjYKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgyLDIpIHNpemUgMTIyeDI2IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisg
ICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVu
IGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBhdCAoMjc4LDExNCkgc2l6ZSAxMzB4MzYK
KyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUg
MTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTIyeDM2CisgICAg
ICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMjI6ICI4IGRvdWJsZSBncmVlbiBib3giCisgICAg
ICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggODk6ICJ3aXRoIHdvcmQgb2s6IgorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDI3OCwxNTApIHNpemUg
MTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAx
MzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KK2xheWVyIGF0ICgyODAsMTUyKSBz
aXplIDEyNngzMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6
ZSAxMjZ4MzAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xheWVyIGF0ICgyODIsMTU0
KSBzaXplIDEyMngyNgorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikg
c2l6ZSAxMjJ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lk
dGggMTY6ICJvayIKK2xheWVyIGF0ICg0MTIsMTE0KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMDd4MzYKKyAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDEwNzogIjkgZ3JlZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAo
MCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKK2xheWVyIGF0ICg0MTIsMTUwKSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9j
ayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHgg
c29saWQgI0ZGMDAwMCldCitsYXllciBhdCAoNDE0LDE1Mikgc2l6ZSAxMjZ4MzAKKyAgUmVuZGVy
QmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDMwIFtib3JkZXI6ICgy
cHggc29saWQgI0ZGMDAwMCldCitsYXllciBhdCAoNDE2LDE1NCkgc2l6ZSAxMjJ4MjYKKyAgUmVu
ZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDI2IFtib3JkZXI6
ICgycHggc29saWQgIzAwODAwMCldCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNp
emUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBh
dCAoNTQ2LDExNCkgc2l6ZSAxMzB4MTgKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgODd4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg3OiAiMTAg
Z3JlZW4gYm94OiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xh
eWVyIGF0ICg1NDYsMTMyKSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDAsMTgpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCld
CitsYXllciBhdCAoNTQ4LDEzNCkgc2l6ZSAxMjZ4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDMwIFtib3JkZXI6ICgycHggc29saWQgIzAwODAw
MCldCitsYXllciBhdCAoNTUwLDEzNikgc2l6ZSAxMjJ4MjYKKyAgUmVuZGVyQmxvY2sgKHBvc2l0
aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZG
MDAwMCldCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMzV4MTgKKyAgICAg
IHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDM1OiAiZmFpbGVkIgorbGF5ZXIgYXQgKDEwLDIxOCkg
c2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0
ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MTE1eDM2CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAxMTU6ICIxMSBncmVlbiBib3gg
d2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6IgorICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDEwLDI1NCkg
c2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDM2KSBz
aXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCld
CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAo
MnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikg
c2l6ZSAxNngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCits
YXllciBhdCAoMTQ0LDIxOCkgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBv
c2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMTE1eDM2CisgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAx
MTU6ICIxMiBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCA1
NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAor
bGF5ZXIgYXQgKDE0NCwyNTQpIHNpemUgMTMweDM0CisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAw
KV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngyNiBbYm9yZGVyOiAo
MnB4IHNvbGlkICNGRjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6
ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICAgICAgUmVuZGVyVGV4
dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMiwy
KSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDI3OCwyMTgpIHNpemUgMTMweDE4CisgIFJlbmRl
ckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgxOAor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDg3eDE4CisgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCA4NzogIjEzIGdyZWVuIGJveDoiCisgICAgUmVuZGVyVGV4dCB7I3Rl
eHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMjc4LDIzNikgc2l6ZSAxMzB4MzQKKyAg
UmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDE4KSBzaXplIDEzMHgzNCBbYm9y
ZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIp
IHNpemUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAw
MDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAzNXgxOAorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDM1OiAiZmFpbGVkIgorbGF5ZXIgYXQgKDQx
MiwyMTgpIHNpemUgMTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7
RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDExNXgzNgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTQgZ3Jl
ZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9r
OiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICg0
MTIsMjU0KSBzaXplIDEzMHgzMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQg
KDAsMzYpIHNpemUgMTMweDMwCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMCkgc2l6ZSAx
MzB4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRo
IDE2OiAib2siCitsYXllciBhdCAoNTQ2LDIxOCkgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxvY2sg
KHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAgUmVu
ZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE1eDM2CisgICAgICB0ZXh0IHJ1biBhdCAo
MCwwKSB3aWR0aCAxMTU6ICIxNSBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0ICgw
LDE4KSB3aWR0aCA1NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCww
KSBzaXplIDB4MAorbGF5ZXIgYXQgKDU0NiwyNTQpIHNpemUgMTMweDMwCisgIFJlbmRlckJsb2Nr
IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzAKK2xheWVyIGF0ICg1NDYs
MjU0KSBzaXplIDEzMHgzMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAs
MCkgc2l6ZSAxMzB4MzAgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgdGV4dCBydW4gYXQgKDIsMikg
d2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgxMCwzMjIpIHNpemUgMTMweDM2CisgIFJlbmRlckJs
b2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDEzMHgzNgorICAg
IFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExNXgzNgorICAgICAgdGV4dCBydW4g
YXQgKDAsMCkgd2lkdGggMTE1OiAiMTYgZ3JlZW4gYm94IHdpdGgiCisgICAgICB0ZXh0IHJ1biBh
dCAoMCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQg
KDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxMCwzNTgpIHNpemUgMTMweDM0CisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJw
eCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEy
Nng0OCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMjB4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAyMDogImZhaWwiCisgICAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMiwyNCkgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAwKV0KKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDE0NCwzMjIpIHNpemUg
MTMweDM2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwy
KSBzaXplIDEzMHgzNgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExNXgz
NgorICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMTcgZ3JlZW4gYm94IHdpdGgi
CisgICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgxNDQsMzU4KSBzaXpl
IDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUg
MTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIsMikgc2l6ZSAxMjZ4NDggW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHgg
c29saWQgIzAwODAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXpl
IDE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDI0KSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNv
bGlkICNGRjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAy
MHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDIwOiAiZmFpbCIKK2xheWVy
IGF0ICgyNzgsMzIyKSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAxMTV4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTog
IjE4IGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAi
d29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXll
ciBhdCAoMjc4LDM1OCkgc2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQor
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTI2eDQ4IFtib3JkZXI6ICgycHgg
c29saWQgI0ZGMDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEy
MngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDIsMikgc2l6ZSAyMHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdp
ZHRoIDIwOiAiZmFpbCIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDI0KSBzaXplIDEy
MngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdp
ZHRoIDE2OiAib2siCitsYXllciBhdCAoNDEyLDMyMikgc2l6ZSAxMzB4MzYKKyAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDM2CisgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMTE1eDM2CisgICAgICB0ZXh0IHJ1biBh
dCAoMCwwKSB3aWR0aCAxMTU6ICIxOSBncmVlbiBib3ggd2l0aCIKKyAgICAgIHRleHQgcnVuIGF0
ICgwLDE4KSB3aWR0aCA1NzogIndvcmQgb2s6IgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAo
MCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDQxMiwzNTgpIHNpemUgMTMweDM0CisgIFJlbmRlckJs
b2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCwzNikgc2l6ZSAxMzB4MzQgW2JvcmRlcjogKDJw
eCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEy
NngyNiBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge0RJ
Vn0gYXQgKDIsMikgc2l6ZSAxMjJ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMjB4MTgKKyAgICAgICAgICB0
ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAyMDogImZhaWwiCisgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDIsMjgpIHNpemUgMTI2eDI2IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAg
ICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDEyMngyMiBbYm9yZGVyOiAoMnB4IHNv
bGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAx
NngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBh
dCAoNTQ2LDMyMikgc2l6ZSAxMzB4MTgKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9u
ZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgMTMweDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0
ICgwLDApIHNpemUgODd4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg3OiAiMjAg
Z3JlZW4gYm94OiIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xh
eWVyIGF0ICg1NDYsMzQwKSBzaXplIDEzMHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e0RJVn0gYXQgKDAsMTgpIHNpemUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCld
CisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6ZSAxMjZ4NDggW2JvcmRlcjogKDJw
eCBzb2xpZCAjMDA4MDAwKV0KKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUg
MTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikg
d2lkdGggMTY6ICJvayIKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDI0KSBzaXplIDEy
MngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsj
dGV4dH0gYXQgKDIsMikgc2l6ZSAxNngxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdp
ZHRoIDE2OiAib2siCitsYXllciBhdCAoMTAsNDI2KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9j
ayAocmVsYXRpdmUgcG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBS
ZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxMjR4MzYKKyAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDEyNDogIjIxIHR3byBncmVlbiBib3hlcyIKKyAgICAgIHRleHQgcnVuIGF0
ICgwLDE4KSB3aWR0aCA4OTogIndpdGggd29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMTAsNDYyKSBzaXplIDEzMHgzNAorICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMzYpIHNpemUgMTMweDM0IFtib3JkZXI6
ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsMikgc2l6
ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCld
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAg
ICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKKyAgICBSZW5kZXJCbG9jayB7RElW
fSBhdCAoMiwyOCkgc2l6ZSAxMjZ4MjYgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAg
ICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNpemUgMTIyeDIyIFtib3JkZXI6ICgycHgg
c29saWQgIzAwODAwMCldCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXpl
IDE2eDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMTY6ICJvayIKK2xheWVy
IGF0ICgxNDQsNDI2KSBzaXplIDEzMHgzNgorICBSZW5kZXJCbG9jayAocmVsYXRpdmUgcG9zaXRp
b25lZCkge0RJVn0gYXQgKDIsMikgc2l6ZSAxMzB4MzYKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAxMTV4MzYKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExNTog
IjIyIGdyZWVuIGJveCB3aXRoIgorICAgICAgdGV4dCBydW4gYXQgKDAsMTgpIHdpZHRoIDU3OiAi
d29yZCBvazoiCisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXll
ciBhdCAoMTQ0LDQ2Mikgc2l6ZSAxMzB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtE
SVZ9IGF0ICgwLDM2KSBzaXplIDEzMHgzNCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQor
bGF5ZXIgYXQgKDE0Niw0NjQpIHNpemUgMTI2eDMwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVk
KSB7RElWfSBhdCAoMiwyKSBzaXplIDEyNngzMCBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDAp
XQorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICB0ZXh0
IHJ1biBhdCAoMiwyKSB3aWR0aCAxNjogIm9rIgorbGF5ZXIgYXQgKDI3OCw0MjYpIHNpemUgMTMw
eDM2CisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBz
aXplIDEzMHgzNgorICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDExNXgzNgor
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggMTE1OiAiMjMgZ3JlZW4gYm94IHdpdGgiCisg
ICAgICB0ZXh0IHJ1biBhdCAoMCwxOCkgd2lkdGggNTc6ICJ3b3JkIG9rOiIKKyAgICBSZW5kZXJU
ZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKK2xheWVyIGF0ICgyNzgsNDYyKSBzaXplIDEz
MHgzNAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkgekk6IDEge0RJVn0gYXQgKDAsMzYpIHNp
emUgMTMweDM0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCitsYXllciBhdCAoMjgwLDQ2
NCkgc2l6ZSAxMjZ4MzAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIp
IHNpemUgMTI2eDMwIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCitsYXllciBhdCAoMjgy
LDQ2Nikgc2l6ZSAxMjJ4MjYKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgy
LDIpIHNpemUgMTIyeDI2IFtib3JkZXI6ICgycHggc29saWQgIzAwODAwMCldCisgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgyLDIp
IHdpZHRoIDE2OiAib2siCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L2Zhc3QvbGF5ZXJzL2xheWVyLXZpc2liaWxpdHktc3VibGF5ZXItZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LXN1
YmxheWVyLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j
OTFkYWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9m
YXN0L2xheWVycy9sYXllci12aXNpYmlsaXR5LXN1YmxheWVyLWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDgxIEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAo
MCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJC
bG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0g
YXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUg
MHgxOAorICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwxOCkgc2l6ZSAweDE4CisgICAgICBSZW5k
ZXJCUiB7QlJ9IGF0ICgwLDM2KSBzaXplIDB4MTgKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAs
NTQpIHNpemUgMHgxOAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDcyKSBzaXplIDE4
MHgxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCw3Mikgd2lkdGggMTgwOiAiMjQgZ3JlZW4gYm94
IHdpdGggd29yZCBvazogIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJC
UiB7QlJ9IGF0ICgwLDkwKSBzaXplIDB4MTgKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMTA4
KSBzaXplIDB4MTgKKyAgICAgIFJlbmRlckJSIHtCUn0gYXQgKDAsMTI2KSBzaXplIDB4MTgKKyAg
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxNDQpIHNpemUgMTgweDE4CisgICAgICAgIHRl
eHQgcnVuIGF0ICgwLDE0NCkgd2lkdGggMTgwOiAiMjUgZ3JlZW4gYm94IHdpdGggd29yZCBvazog
IgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5k
ZXJCUiB7QlJ9IGF0ICgwLDApIHNpemUgMHgwCisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDE2
Mikgc2l6ZSAweDE4CisgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDE4MCkgc2l6ZSAweDE4Cisg
ICAgICBSZW5kZXJCUiB7QlJ9IGF0ICgwLDE5OCkgc2l6ZSAweDE4CisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMjE2KSBzaXplIDE4MHgxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwy
MTYpIHdpZHRoIDE4MDogIjI2IGdyZWVuIGJveCB3aXRoIHdvcmQgb2s6ICIKKyAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQlIge0JSfSBhdCAo
MCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwyMzQpIHNpemUgMHgxOAor
ICAgICAgUmVuZGVyQlIge0JSfSBhdCAoMCwyNTIpIHNpemUgMHgxOAorICAgICAgUmVuZGVyQlIg
e0JSfSBhdCAoMCwyNzApIHNpemUgMHgxOAorbGF5ZXIgYXQgKDAsOTgpIHNpemUgODAweDM0Cisg
IFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMCw5OCkgc2l6ZSA4MDB4MzQgW2Jv
cmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwy
KSBzaXplIDc5Nng0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVyQmxv
Y2sge0RJVn0gYXQgKDIsNikgc2l6ZSA3OTZ4MjIgW2JvcmRlcjogKDJweCBzb2xpZCAjMDA4MDAw
KV0KKyAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMiwyKSBzaXplIDE2eDE4CisgICAgICAg
IHRleHQgcnVuIGF0ICgyLDIpIHdpZHRoIDE2OiAib2siCitsYXllciBhdCAoMiwxMDApIHNpemUg
Nzk2eDMwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDc5
NngzMCBbYm9yZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlcklubGluZSB7U1BB
Tn0gYXQgKDAsMCkgc2l6ZSAyN3gxOAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIp
IHNpemUgMjd4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMjc6ICJibGFoIgor
ICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDIsMTAw
KSBzaXplIDc5NngzMAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDIsMikg
c2l6ZSA3OTZ4MzAgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KK2xheWVyIGF0ICgwLDE3
MCkgc2l6ZSA4MDB4MzQKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDE3
MCkgc2l6ZSA4MDB4MzQgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KKyAgICBSZW5kZXJC
bG9jayB7RElWfSBhdCAoMiwyKSBzaXplIDc5Nng0IFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAw
MCldCisgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDIsNikgc2l6ZSA3OTZ4NCBbYm9yZGVyOiAo
MnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDEwKSBzaXpl
IDc5NngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lk
dGggMTY6ICJvayIKK2xheWVyIGF0ICgyLDE3Mikgc2l6ZSA3OTZ4MzAKKyAgUmVuZGVyQmxvY2sg
KHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgNzk2eDMwIFtib3JkZXI6ICgycHggc29s
aWQgI0ZGMDAwMCldCitsYXllciBhdCAoMiwxNzIpIHNpemUgNzk2eDMwCisgIFJlbmRlckJsb2Nr
IChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDc5NngzMCBbYm9yZGVyOiAoMnB4IHNv
bGlkICNGRjAwMDApXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAsMCkgc2l6ZSAyN3gx
OAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMjd4MTgKKyAgICAgICAg
dGV4dCBydW4gYXQgKDIsMikgd2lkdGggMjc6ICJibGFoIgorICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMCwwKSBzaXplIDB4MAorbGF5ZXIgYXQgKDAsMjQyKSBzaXplIDgwMHgzNAorICBSZW5k
ZXJCbG9jayAocG9zaXRpb25lZCkge0RJVn0gYXQgKDAsMjQyKSBzaXplIDgwMHgzNCBbYm9yZGVy
OiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDIpIHNp
emUgNzk2eDIyIFtib3JkZXI6ICgycHggc29saWQgI0ZGMDAwMCldCisgICAgICBSZW5kZXJCbG9j
ayB7RElWfSBhdCAoMiwyKSBzaXplIDc5MngxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0g
YXQgKDAsMCkgc2l6ZSAyN3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDI3
OiAiYmxhaCIKKyAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMiwyNCkgc2l6ZSA3OTZ4NCBbYm9y
ZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgyLDI4
KSBzaXplIDc5NngyMiBbYm9yZGVyOiAoMnB4IHNvbGlkICMwMDgwMDApXQorICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMTZ4MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIs
Mikgd2lkdGggMTY6ICJvayIKK2xheWVyIGF0ICgyLDI0NCkgc2l6ZSA3OTZ4MzAKKyAgUmVuZGVy
QmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgyLDIpIHNpemUgNzk2eDMwIFtib3JkZXI6ICgy
cHggc29saWQgI0ZGMDAwMCldCisgICAgUmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXpl
IDI3eDE4CisgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDIsMikgc2l6ZSAyN3gxOAorICAg
ICAgICB0ZXh0IHJ1biBhdCAoMiwyKSB3aWR0aCAyNzogImJsYWgiCisgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgwLDApIHNpemUgMHgwCitsYXllciBhdCAoMiwyNDQpIHNpemUgNzk2eDMwCisg
IFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMiwyKSBzaXplIDc5NngzMCBbYm9y
ZGVyOiAoMnB4IHNvbGlkICNGRjAwMDApXQorICAgIFJlbmRlcklubGluZSB7U1BBTn0gYXQgKDAs
MCkgc2l6ZSAyN3gxOAorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgyLDIpIHNpemUgMjd4
MTgKKyAgICAgICAgdGV4dCBydW4gYXQgKDIsMikgd2lkdGggMjc6ICJibGFoIgorICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDB4MApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjLXdrMi9mYXN0L3JlcGFpbnQvaW52aXNpYmxlLW9iamVjdHMtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L3JlcGFpbnQvaW52aXNpYmxl
LW9iamVjdHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAu
LjZhMjNjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2sy
L2Zhc3QvcmVwYWludC9pbnZpc2libGUtb2JqZWN0cy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwx
NCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisgIFJlbmRlclZpZXcgYXQgKDAsMCkg
c2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyQmxvY2sg
e0hUTUx9IGF0ICgwLDApIHNpemUgODAweDYwMAorICAgIFJlbmRlckJvZHkge0JPRFl9IGF0ICg4
LDgpIHNpemUgNzg0eDU4NAorbGF5ZXIgYXQgKDgsOCkgc2l6ZSA3ODR4MTgKKyAgUmVuZGVyQmxv
Y2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDE4CisgICAg
UmVuZGVySW5saW5lIHtTUEFOfSBhdCAoMCwwKSBzaXplIDY3eDE4CisgICAgICBSZW5kZXJUZXh0
IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA2N3gxOAorICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3
aWR0aCA2NzogImlzIGludmlzaWJsZSIKKyAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkg
c2l6ZSAweDAKK2xheWVyIGF0ICg4LDI2KSBzaXplIDc4NHgxMDAKKyAgUmVuZGVyQmxvY2sgKHJl
bGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDE4KSBzaXplIDc4NHgxMDAKKyAgICBSZW5k
ZXJCbG9jayB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgxMDAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC9yZXBhaW50L2xheWVyLWhpZGUtd2hlbi1uZWVkcy1s
YXlvdXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi9mYXN0L3Jl
cGFpbnQvbGF5ZXItaGlkZS13aGVuLW5lZWRzLWxheW91dC1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNlMTI0YTMKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvcmVwYWludC9sYXllci1oaWRlLXdoZW4t
bmVlZHMtbGF5b3V0LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEwIEBACitsYXllciBhdCAoMCww
KSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVy
IGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6
ZSA4MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0Cits
YXllciBhdCAoOCw4KSBzaXplIDc4NHgxMDAKKyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0
aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUgNzg0eDEwMAorICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDApIHNpemUgMTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorbGF5ZXIgYXQgKDgsOCkg
c2l6ZSA1MHgxMDAKKyAgUmVuZGVyQmxvY2sgKHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNp
emUgNTB4MTAwIFtiZ2NvbG9yPSNGRjAwMDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9tYWMtd2syL2Zhc3QvdGV4dC93aGl0ZXNwYWNlLzAyOC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL2Zhc3QvdGV4dC93aGl0ZXNwYWNlLzAyOC1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTMwYTA4YQotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvZmFzdC90ZXh0L3doaXRl
c3BhY2UvMDI4LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDEzIEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJCbG9jayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4
MDB4NjAwCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6ZSA3ODR4NTg0CisgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAxNngxOAorICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwwKSB3aWR0aCAxNjogIkEgIgorICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgx
NiwwKSBzaXplIDExeDE4CisgICAgICAgIHRleHQgcnVuIGF0ICgxNiwwKSB3aWR0aCAxMTogIkMi
CitsYXllciBhdCAoMjQsOCkgc2l6ZSAxMXgxOAorICBSZW5kZXJCbG9jayAocG9zaXRpb25lZCkg
e1NQQU59IGF0ICgyNCw4KSBzaXplIDExeDE4CisgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgw
LDApIHNpemUgMTF4MTgKKyAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDExOiAiQiIKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy13azIvdGlsZWQtZHJhd2luZy93aW5k
b3ctc2VydmVyLXNuYXBzaG90cy13b3JrLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvd2luZG93LXNlcnZlci1zbmFwc2hv
dHMtd29yay1leHBlY3RlZC1taXNtYXRjaC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjkwNTMxYTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvd2luZG93LXNlcnZlci1zbmFwc2hvdHMtd29yay1leHBl
Y3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsMiBAQAorPGh0bWw+Cis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvd2luZG93
LXNlcnZlci1zbmFwc2hvdHMtd29yay5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdr
Mi90aWxlZC1kcmF3aW5nL3dpbmRvdy1zZXJ2ZXItc25hcHNob3RzLXdvcmsuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDAzOWM1Ci0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXdrMi90aWxlZC1kcmF3aW5nL3dpbmRvdy1zZXJ2ZXIt
c25hcHNob3RzLXdvcmsuaHRtbApAQCAtMCwwICsxLDUgQEAKKzxodG1sPgorPGJvZHkgc3R5bGU9
ImJhY2tncm91bmQtY29sb3I6IGJsYWNrOyBjb2xvcjogd2hpdGU7Ij4KK0lmIHRoaXMgdGVzdCBw
YXNzZXMgKGlmIFdlYktpdFRlc3RSdW5uZXIncyBzbmFwc2hvdHMgYXJlIHdvcmtpbmcgY29ycmVj
dGx5IHdpdGggdGlsZWQgZHJhd2luZyksIGl0IHdpbGwgbm90IG1hdGNoIHRoZSBwdXJlLXdoaXRl
IG1pc21hdGNoIGV4cGVjdGF0aW9uLgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDMz
NGQ4ZjcuLmFmOTcwMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwzMSBAQAorMjAxMy0xMC0wMiAg
VGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjXSBT
dG9wIHVzaW5nIERyYXdpbmdBcmVhSW1wbCBvbiBQTEFURk9STShNQUMpIAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIxODU5CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8xNTA2OTM1OT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBUZXN0OiBwbGF0Zm9ybS9tYWMtd2syL3RpbGVkLWRyYXdpbmcvd2luZG93
LXNlcnZlci1zbmFwc2hvdHMtd29yay5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OmFkZFRyYWNrZWRSZXBhaW50UmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6OnJlcGFpbnRDb250ZW50UmVjdGFuZ2xlKToK
KyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICBGYWN0b3Igb3V0IHRoZSBjb29y
ZGluYXRlIGNvbnZlcnNpb24gYW5kIGFwcGVuZGluZyBvZiBuZXcgcmVwYWludCByZWN0cyBvbiBG
cmFtZVZpZXcuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0xheWVyLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OmR1bXBQcm9wZXJ0aWVzKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyQmFja2luZzo6c2hvdWxkRHVtcFByb3BlcnR5Rm9yTGF5ZXIpOgorICAg
ICAgICBEb24ndCBkdW1wIHJlcGFpbnQgcmVjdHMgb24gdGhlIHJvb3QgdGlsZSBjYWNoZSwgdGhl
eSdsbCBiZSBpbmNsdWRlZCBhdCB0aGUgdG9wLAorICAgICAgICB3aGVyZSBGcmFtZVZpZXcncyBy
ZXBhaW50cyBhcmUgbm9ybWFsbHkgaW5jbHVkZWQuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2lu
Zzo6c2V0Q29udGVudHNOZWVkRGlzcGxheSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXll
ckJhY2tpbmc6OnNldENvbnRlbnRzTmVlZERpc3BsYXlJblJlY3QpOgorICAgICAgICBQdXNoIHRo
ZSByb290IHRpbGUgY2FjaGUncyB0cmFja2VkIHJlcGFpbnQgcmVjdHMgdG8gRnJhbWVWaWV3IGlu
c3RlYWQuCisKIDIwMTMtMTAtMDEgIFNhbSBXZWluaWcgIDxzYW1Ad2Via2l0Lm9yZz4KIAogICAg
ICAgICBDVFRFOiBET01XcmFwcGVyV29ybGRzIHNob3VsZCBiZSBwYXNzZWQgYXJvdW5kIGJ5IHJl
ZmVyZW5jZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDdkNjBkMDMuLjAxYWQ2OWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTIwNzgsMTcgKzIwNzgsMjMgQEAgSG9z
dFdpbmRvdyogRnJhbWVWaWV3Ojpob3N0V2luZG93KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0K
IAordm9pZCBGcmFtZVZpZXc6OmFkZFRyYWNrZWRSZXBhaW50UmVjdChjb25zdCBJbnRSZWN0JiBy
KQoreworICAgIGlmICghbV9pc1RyYWNraW5nUmVwYWludHMgfHwgci5pc0VtcHR5KCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIEludFJlY3QgcmVwYWludFJlY3QgPSByOworICAgIHJlcGFpbnRS
ZWN0Lm1vdmUoLXNjcm9sbE9mZnNldCgpKTsKKyAgICBtX3RyYWNrZWRSZXBhaW50UmVjdHMuYXBw
ZW5kKHJlcGFpbnRSZWN0KTsKK30KKwogY29uc3QgdW5zaWduZWQgY1JlcGFpbnRSZWN0VW5pb25U
aHJlc2hvbGQgPSAyNTsKIAogdm9pZCBGcmFtZVZpZXc6OnJlcGFpbnRDb250ZW50UmVjdGFuZ2xl
KGNvbnN0IEludFJlY3QmIHIsIGJvb2wgaW1tZWRpYXRlKQogewogICAgIEFTU0VSVCghZnJhbWUo
KS5vd25lckVsZW1lbnQoKSk7CiAKLSAgICBpZiAobV9pc1RyYWNraW5nUmVwYWludHMpIHsKLSAg
ICAgICAgSW50UmVjdCByZXBhaW50UmVjdCA9IHI7Ci0gICAgICAgIHJlcGFpbnRSZWN0Lm1vdmUo
LXNjcm9sbE9mZnNldCgpKTsKLSAgICAgICAgbV90cmFja2VkUmVwYWludFJlY3RzLmFwcGVuZChy
ZXBhaW50UmVjdCk7Ci0gICAgfQorICAgIGFkZFRyYWNrZWRSZXBhaW50UmVjdChyKTsKIAogICAg
IGRvdWJsZSBkZWxheSA9IG1fZGVmZXJyaW5nUmVwYWludHMgPyAwIDogYWRqdXN0ZWREZWZlcnJl
ZFJlcGFpbnREZWxheSgpOwogICAgIGlmICgobV9kZWZlcnJpbmdSZXBhaW50cyB8fCBtX2RlZmVy
cmVkUmVwYWludFRpbWVyLmlzQWN0aXZlKCkgfHwgZGVsYXkpICYmICFpbW1lZGlhdGUpIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDdjMzE4MjQuLmJkMmJjMTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9G
cmFtZVZpZXcuaApAQCAtNDM1LDYgKzQzNSw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpZEFkZFdp
ZGdldFRvUmVuZGVyVHJlZShXaWRnZXQmKTsKICAgICB2b2lkIHdpbGxSZW1vdmVXaWRnZXRGcm9t
UmVuZGVyVHJlZShXaWRnZXQmKTsKIAorICAgIHZvaWQgYWRkVHJhY2tlZFJlcGFpbnRSZWN0KGNv
bnN0IEludFJlY3QmKTsKKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgYm9vbCBzY3JvbGxDb250
ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiBy
ZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBPVkVSUklERTsKICAgICB2aXJ0
dWFsIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRhdGVSZWN0
KSBPVkVSUklERTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L0dyYXBoaWNzTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NMYXllci5jcHAKaW5kZXggMzE0MWY4MS4uNWIyMjY5OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NMYXllci5jcHAKQEAgLTY5Niw3ICs2
OTYsNyBAQCB2b2lkIEdyYXBoaWNzTGF5ZXI6OmR1bXBQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRz
LCBpbnQgaW5kZW50LCBMYXllclRyZWVBc1RleHRCZQogICAgICAgICB0cyA8PCAiKVxuIjsKICAg
ICB9CiAKLSAgICBpZiAoYmVoYXZpb3IgJiBMYXllclRyZWVBc1RleHRJbmNsdWRlUmVwYWludFJl
Y3RzICYmIHJlcGFpbnRSZWN0TWFwKCkuY29udGFpbnModGhpcykgJiYgIXJlcGFpbnRSZWN0TWFw
KCkuZ2V0KHRoaXMpLmlzRW1wdHkoKSkgeworICAgIGlmIChiZWhhdmlvciAmIExheWVyVHJlZUFz
VGV4dEluY2x1ZGVSZXBhaW50UmVjdHMgJiYgcmVwYWludFJlY3RNYXAoKS5jb250YWlucyh0aGlz
KSAmJiAhcmVwYWludFJlY3RNYXAoKS5nZXQodGhpcykuaXNFbXB0eSgpICYmIG1fY2xpZW50LT5z
aG91bGREdW1wUHJvcGVydHlGb3JMYXllcih0aGlzLCAicmVwYWludFJlY3RzIikpIHsKICAgICAg
ICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwogICAgICAgICB0cyA8PCAiKHJlcGFpbnQg
cmVjdHNcbiI7CiAgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVwYWludFJlY3RNYXAo
KS5nZXQodGhpcykuc2l6ZSgpOyArK2kpIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggMjhhODk1My4uZDcxNDNhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTE5MDQs
NiArMTkwNCwxMCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0QmxlbmRNb2RlKEJsZW5k
TW9kZSkKIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjpzZXRDb250ZW50c05lZWREaXNwbGF5KCkK
IHsKICAgICBBU1NFUlQoIXBhaW50c0ludG9Db21wb3NpdGVkQW5jZXN0b3IoKSk7CisKKyAgICBG
cmFtZVZpZXcmIGZyYW1lVmlldyA9IG93bmluZ0xheWVyKCktPnJlbmRlcmVyKCkudmlldygpLmZy
YW1lVmlldygpOworICAgIGlmIChtX2lzTWFpbkZyYW1lUmVuZGVyVmlld0xheWVyICYmIGZyYW1l
Vmlldy5pc1RyYWNraW5nUmVwYWludHMoKSkKKyAgICAgICAgZnJhbWVWaWV3LmFkZFRyYWNrZWRS
ZXBhaW50UmVjdChvd25pbmdMYXllcigpLT5hYnNvbHV0ZUJvdW5kaW5nQm94KCkpOwogICAgIAog
ICAgIGlmIChtX2dyYXBoaWNzTGF5ZXIgJiYgbV9ncmFwaGljc0xheWVyLT5kcmF3c0NvbnRlbnQo
KSkKICAgICAgICAgbV9ncmFwaGljc0xheWVyLT5zZXROZWVkc0Rpc3BsYXkoKTsKQEAgLTE5MjYs
NiArMTkzMCwxMCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6c2V0Q29udGVudHNOZWVkRGlz
cGxheUluUmVjdChjb25zdCBJbnRSZWN0JiByKQogewogICAgIEFTU0VSVCghcGFpbnRzSW50b0Nv
bXBvc2l0ZWRBbmNlc3RvcigpKTsKIAorICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gb3duaW5n
TGF5ZXIoKS0+cmVuZGVyZXIoKS52aWV3KCkuZnJhbWVWaWV3KCk7CisgICAgaWYgKG1faXNNYWlu
RnJhbWVSZW5kZXJWaWV3TGF5ZXIgJiYgZnJhbWVWaWV3LmlzVHJhY2tpbmdSZXBhaW50cygpKQor
ICAgICAgICBmcmFtZVZpZXcuYWRkVHJhY2tlZFJlcGFpbnRSZWN0KHBpeGVsU25hcHBlZEludFJl
Y3QocikpOworCiAgICAgaWYgKG1fZ3JhcGhpY3NMYXllciAmJiBtX2dyYXBoaWNzTGF5ZXItPmRy
YXdzQ29udGVudCgpKSB7CiAgICAgICAgIEludFJlY3QgbGF5ZXJEaXJ0eVJlY3QgPSByOwogICAg
ICAgICBsYXllckRpcnR5UmVjdC5tb3ZlKC1tX2dyYXBoaWNzTGF5ZXItPm9mZnNldEZyb21SZW5k
ZXJlcigpKTsKQEAgLTIxMDYsNiArMjExNCwxMSBAQCBib29sIFJlbmRlckxheWVyQmFja2luZzo6
c2hvdWxkRHVtcFByb3BlcnR5Rm9yTGF5ZXIoY29uc3QgR3JhcGhpY3NMYXllciogbGF5ZXIsCiAg
ICAgICAgIC8vIEJhY2tncm91bmQgY29sb3IgY291bGQgYmUgb2YgaW50ZXJlc3QgdG8gdGVzdHMg
b3Igb3RoZXIgZHVtcGVycyBpZiBpdCdzIG5vbi13aGl0ZS4KICAgICAgICAgaWYgKCFzdHJjbXAo
cHJvcGVydHlOYW1lLCAiYmFja2dyb3VuZENvbG9yIikgJiYgbGF5ZXItPmJhY2tncm91bmRDb2xv
cigpID09IENvbG9yOjp3aGl0ZSkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAg
ICAvLyBUaGUgcm9vdCB0aWxlIGNhY2hlJ3MgcmVwYWludHMgd2lsbCBzaG93IHVwIGF0IHRoZSB0
b3Agd2l0aCBGcmFtZVZpZXcncywKKyAgICAgICAgLy8gc28gZG9uJ3QgZHVtcCB0aGVtIHR3aWNl
LgorICAgICAgICBpZiAoIXN0cmNtcChwcm9wZXJ0eU5hbWUsICJyZXBhaW50UmVjdHMiKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9CiAKICAgICByZXR1cm4gdHJ1ZTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwppbmRleCAwMTY0NTJlLi5mYjU4NTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNTUgQEAKKzIw
MTMtMTAtMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAgICAg
ICAgW21hY10gU3RvcCB1c2luZyBEcmF3aW5nQXJlYUltcGwgb24gUExBVEZPUk0oTUFDKSAKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTg1OQorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMTUwNjkzNTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIE1hYyBwb3J0IHdpbGwgbm93IHVzZSB0aWxlZCBk
cmF3aW5nIGZvciBhbGwgV2ViS2l0MiB2aWV3cy4KKworICAgICAgICAqIFNoYXJlZC9EcmF3aW5n
QXJlYUluZm8uaDoKKyAgICAgICAgRG9uJ3QgaW5jbHVkZSBEcmF3aW5nQXJlYVR5cGVJbXBsIGFz
IGEgdmFsaWQgRHJhd2luZ0FyZWFUeXBlIG9uIE1hYy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbToKKyAgICAgICAgKC1bV0tWaWV3IGRyYXdSZWN0Ol0pOgorICAgICAg
ICBSZW1vdmUgb3VyIGltcGxlbWVudGF0aW9uIG9mIGRyYXdSZWN0IHRoYXQgcGFpbnRzIGZyb20g
RHJhd2luZ0FyZWFJbXBsJ3MgYmFja2luZyBzdG9yZS4KKworICAgICAgICAoLVtXS1ZpZXcgX3No
b3VsZFVzZVRpbGVkRHJhd2luZ0FyZWFdKToKKyAgICAgICAgUmVtb3ZlZC4gQWx3YXlzIHRyZWF0
ZWQgYXMgaWYgaXQgd2VyZSB0cnVlLCBub3cuCisKKyAgICAgICAgKC1bV0tWaWV3IF9jcmVhdGVE
cmF3aW5nQXJlYVByb3h5XSk6CisgICAgICAgIEFsd2F5cyBjcmVhdGUgYSBUaWxlZENvcmVBbmlt
YXRpb25EcmF3aW5nQXJlYVByb3h5IG5vdy4KKworICAgICAgICAoLVtXS1ZpZXcgaW5pdFdpdGhG
cmFtZTpjb250ZXh0UmVmOnBhZ2VHcm91cFJlZjpyZWxhdGVkVG9QYWdlOl0pOgorICAgICAgICAo
LVtXS1ZpZXcgd2FudHNVcGRhdGVMYXllcl0pOgorICAgICAgICBXS1ZpZXcgYWx3YXlzIHdhbnRz
IGEgbGF5ZXIsIGV0Yy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9CYWNraW5nU3RvcmUuaDoKKyAg
ICAgICAgUmVtb3ZlIE1hYy1zcGVjaWZpYyBCYWNraW5nU3RvcmUgY29kZSwgb25seSB1c2VkIGZv
ciBEcmF3aW5nQXJlYUltcGwgb24gTWFjLgorCisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHkuaDoKKyAgICAgICAgUmVtb3ZlIGFuIHVubmVlZGVkIGluY2x1ZGUuCisKKyAgICAg
ICAgKiBVSVByb2Nlc3MvbWFjL0JhY2tpbmdTdG9yZU1hYy5tbTogUmVtb3ZlZC4KKyAgICAgICAg
KiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgIFJlbW92ZSBhIGJ1
bmNoIG9mIGZpbGVzIHdlIGRvbid0IG5lZWQgdG8gYnVpbGQgYW55bW9yZS4KKworICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRy
YXdpbmdBcmVhOjpjcmVhdGUpOgorICAgICAgICBOZXZlciBjcmVhdGUgYSBEcmF3aW5nQXJlYUlt
cGwgb24gTWFjLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1w
bC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhSW1wbDo6dXBkYXRlUHJlZmVyZW5j
ZXMpOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUltcGw6OnJlc3VtZVBhaW50aW5nKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmg6CisgICAgICAg
IFJlbW92ZSBNYWMtc3BlY2lmaWMgRHJhd2luZ0FyZWFJbXBsIGNvZGUuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJUcmVlSG9zdC5jcHA6CisgICAgICAgIChXZWJLaXQ6Okxh
eWVyVHJlZUhvc3Q6OmNyZWF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9M
YXllclRyZWVIb3N0TWFjLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9MYXllclRyZWVIb3N0TWFjLm1tOiBSZW1vdmVkLgorCiAyMDEzLTEwLTAxICBTYW0gV2Vp
bmlnICA8c2FtQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQ1RURTogRE9NV3JhcHBlcldvcmxkcyBz
aG91bGQgYmUgcGFzc2VkIGFyb3VuZCBieSByZWZlcmVuY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUluZm8uaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9E
cmF3aW5nQXJlYUluZm8uaAppbmRleCAwYmRhZTJmLi5mZTllODg0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFJbmZvLmgKKysrIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL0RyYXdpbmdBcmVhSW5mby5oCkBAIC0yOSwxMCArMjksMTEgQEAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogCiBlbnVtIERyYXdpbmdBcmVhVHlwZSB7Ci0gICAgRHJhd2luZ0FyZWFUeXBlSW1w
bCwKICNpZiBQTEFURk9STShNQUMpCiAgICAgRHJhd2luZ0FyZWFUeXBlVGlsZWRDb3JlQW5pbWF0
aW9uLAogICAgIERyYXdpbmdBcmVhVHlwZVJlbW90ZUxheWVyVHJlZSwKKyNlbHNlCisgICAgRHJh
d2luZ0FyZWFUeXBlSW1wbCwKICNlbmRpZgogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9tYWMvV0tWaWV3Lm1tCmluZGV4IGJiYzlhNGYuLmZkOTA4MjYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1dLVmlldy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcubW0KQEAgLTM0LDcgKzM0LDYgQEAKICNpbXBv
cnQgIkF0dHJpYnV0ZWRTdHJpbmcuaCIKICNpbXBvcnQgIkNvbG9yU3BhY2VEYXRhLmgiCiAjaW1w
b3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0ICJEcmF3aW5nQXJlYVByb3h5SW1wbC5oIgog
I2ltcG9ydCAiRWRpdG9yU3RhdGUuaCIKICNpbXBvcnQgIkZpbmRJbmRpY2F0b3IuaCIKICNpbXBv
cnQgIkZpbmRJbmRpY2F0b3JXaW5kb3cuaCIKQEAgLTE0Nyw3ICsxNDYsNiBAQCBzdHJ1Y3QgV0tW
aWV3SW50ZXJwcmV0S2V5RXZlbnRzUGFyYW1ldGVycyB7CiAtICh2b2lkKV9wb3N0RmFrZU1vdXNl
TW92ZWRFdmVudEZvckZsYWdzQ2hhbmdlZEV2ZW50OihOU0V2ZW50ICopZmxhZ3NDaGFuZ2VkRXZl
bnQ7CiAtICh2b2lkKV9zZXREcmF3aW5nQXJlYVNpemU6KE5TU2l6ZSlzaXplOwogLSAodm9pZClf
c2V0UGx1Z2luQ29tcGxleFRleHRJbnB1dFN0YXRlOihQbHVnaW5Db21wbGV4VGV4dElucHV0U3Rh
dGUpcGx1Z2luQ29tcGxleFRleHRJbnB1dFN0YXRlOwotLSAoQk9PTClfc2hvdWxkVXNlVGlsZWRE
cmF3aW5nQXJlYTsKIAogI2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5
MAogLSAodm9pZClfc2V0SXNXaW5kb3dPY2NsdWRlZDooQk9PTClpc1dpbmRvd09jY2x1ZGVkOwpA
QCAtMjExNyw2MCArMjExNSwxMCBAQCBzdGF0aWMgTlNTdHJpbmcgKiBjb25zdCBiYWNraW5nUHJv
cGVydHlPbGRTY2FsZUZhY3RvcktleSA9IEAiTlNCYWNraW5nUHJvcGVydHlPbAogfQogI2VuZGlm
CiAKLXN0YXRpYyB2b2lkIGRyYXdQYWdlQmFja2dyb3VuZChDR0NvbnRleHRSZWYgY29udGV4dCwg
V2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIGlmICghcGFn
ZS0+ZHJhd3NCYWNrZ3JvdW5kKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIENHQ29udGV4dFNh
dmVHU3RhdGUoY29udGV4dCk7Ci0gICAgQ0dDb250ZXh0U2V0QmxlbmRNb2RlKGNvbnRleHQsIGtD
R0JsZW5kTW9kZUNvcHkpOwotCi0gICAgQ0dDb2xvclJlZiBiYWNrZ3JvdW5kQ29sb3I7Ci0gICAg
aWYgKHBhZ2UtPmRyYXdzVHJhbnNwYXJlbnRCYWNrZ3JvdW5kKCkpCi0gICAgICAgIGJhY2tncm91
bmRDb2xvciA9IENHQ29sb3JHZXRDb25zdGFudENvbG9yKGtDR0NvbG9yQ2xlYXIpOwotICAgIGVs
c2UKLSAgICAgICAgYmFja2dyb3VuZENvbG9yID0gQ0dDb2xvckdldENvbnN0YW50Q29sb3Ioa0NH
Q29sb3JXaGl0ZSk7Ci0KLSAgICBDR0NvbnRleHRTZXRGaWxsQ29sb3JXaXRoQ29sb3IoY29udGV4
dCwgYmFja2dyb3VuZENvbG9yKTsKLSAgICBDR0NvbnRleHRGaWxsUmVjdChjb250ZXh0LCByZWN0
KTsKLQotICAgIENHQ29udGV4dFJlc3RvcmVHU3RhdGUoY29udGV4dCk7Ci19Ci0KIC0gKHZvaWQp
ZHJhd1JlY3Q6KE5TUmVjdClyZWN0CiB7CiAgICAgTE9HKFZpZXcsICJkcmF3UmVjdDogeDolZywg
eTolZywgd2lkdGg6JWcsIGhlaWdodDolZyIsIHJlY3Qub3JpZ2luLngsIHJlY3Qub3JpZ2luLnks
IHJlY3Quc2l6ZS53aWR0aCwgcmVjdC5zaXplLmhlaWdodCk7CiAgICAgX2RhdGEtPl9wYWdlLT5l
bmRQcmludGluZygpOwotCi0gICAgaWYgKFtzZWxmIF9zaG91bGRVc2VUaWxlZERyYXdpbmdBcmVh
XSkgewotICAgICAgICAvLyBOb3RoaW5nIHRvIGRvIGhlcmUuCi0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0KLSAgICBDR0NvbnRleHRSZWYgY29udGV4dCA9IHN0YXRpY19jYXN0PENHQ29udGV4dFJl
Zj4oW1tOU0dyYXBoaWNzQ29udGV4dCBjdXJyZW50Q29udGV4dF0gZ3JhcGhpY3NQb3J0XSk7Ci0K
LSAgICBpZiAoRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVhID0gc3RhdGljX2Nhc3Q8
RHJhd2luZ0FyZWFQcm94eUltcGwqPihfZGF0YS0+X3BhZ2UtPmRyYXdpbmdBcmVhKCkpKSB7Ci0g
ICAgICAgIGNvbnN0IE5TUmVjdCAqcmVjdHNCZWluZ0RyYXduOwotICAgICAgICBOU0ludGVnZXIg
bnVtUmVjdHNCZWluZ0RyYXduOwotICAgICAgICBbc2VsZiBnZXRSZWN0c0JlaW5nRHJhd246JnJl
Y3RzQmVpbmdEcmF3biBjb3VudDombnVtUmVjdHNCZWluZ0RyYXduXTsKLSAgICAgICAgZm9yIChO
U0ludGVnZXIgaSA9IDA7IGkgPCBudW1SZWN0c0JlaW5nRHJhd247ICsraSkgewotICAgICAgICAg
ICAgUmVnaW9uIHVucGFpbnRlZFJlZ2lvbjsKLSAgICAgICAgICAgIGRyYXdpbmdBcmVhLT5wYWlu
dChjb250ZXh0LCBlbmNsb3NpbmdJbnRSZWN0KHJlY3RzQmVpbmdEcmF3bltpXSksIHVucGFpbnRl
ZFJlZ2lvbik7Ci0KLSAgICAgICAgICAgIC8vIElmIHRoZSB3aW5kb3cgZG9lc24ndCBoYXZlIGEg
dmFsaWQgYmFja2luZyBzdG9yZSwgd2UgbmVlZCB0byBmaWxsIHRoZSBwYXJ0cyBvZiB0aGUgcGFn
ZSB0aGF0IHdlCi0gICAgICAgICAgICAvLyBkaWRuJ3QgcGFpbnQgd2l0aCB0aGUgYmFja2dyb3Vu
ZCBjb2xvciAod2hpdGUgb3IgY2xlYXIpLCB0byBhdm9pZCBnYXJiYWdlIGluIHRob3NlIGFyZWFz
LgotICAgICAgICAgICAgaWYgKCFfZGF0YS0+X3dpbmRvd0hhc1ZhbGlkQmFja2luZ1N0b3JlIHx8
ICFkcmF3aW5nQXJlYS0+aGFzUmVjZWl2ZWRGaXJzdFVwZGF0ZSgpKSB7Ci0gICAgICAgICAgICAg
ICAgVmVjdG9yPEludFJlY3Q+IHVucGFpbnRlZFJlY3RzID0gdW5wYWludGVkUmVnaW9uLnJlY3Rz
KCk7Ci0gICAgICAgICAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCB1bnBhaW50ZWRSZWN0
cy5zaXplKCk7ICsraSkKLSAgICAgICAgICAgICAgICAgICAgZHJhd1BhZ2VCYWNrZ3JvdW5kKGNv
bnRleHQsIF9kYXRhLT5fcGFnZS5nZXQoKSwgdW5wYWludGVkUmVjdHNbaV0pOwotCi0gICAgICAg
ICAgICAgICAgX2RhdGEtPl93aW5kb3dIYXNWYWxpZEJhY2tpbmdTdG9yZSA9IFlFUzsKLSAgICAg
ICAgICAgIH0KLSAgICAgICAgfQotICAgIH0gZWxzZSAKLSAgICAgICAgZHJhd1BhZ2VCYWNrZ3Jv
dW5kKGNvbnRleHQsIF9kYXRhLT5fcGFnZS5nZXQoKSwgZW5jbG9zaW5nSW50UmVjdChyZWN0KSk7
Ci0KLSAgICBfZGF0YS0+X3BhZ2UtPmRpZERyYXcoKTsKIH0KIAogLSAoQk9PTClpc09wYXF1ZQpA
QCAtMjMzNywxMSArMjI4NSw2IEBAIHN0YXRpYyB2b2lkIGRyYXdQYWdlQmFja2dyb3VuZChDR0Nv
bnRleHRSZWYgY29udGV4dCwgV2ViUGFnZVByb3h5KiBwYWdlLCBjb25zdCBJCiAgICAgX2RhdGEt
Pl9yZXNpemVTY3JvbGxPZmZzZXQgPSBOU1plcm9TaXplOwogfQogCi0tIChCT09MKV9zaG91bGRV
c2VUaWxlZERyYXdpbmdBcmVhCi17Ci0gICAgcmV0dXJuIE5POwotfQotCiAjaWYgX19NQUNfT1Nf
WF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDgwCiAtICh2b2lkKXF1aWNrTG9va1dpdGhFdmVu
dDooTlNFdmVudCAqKWV2ZW50CiB7CkBAIC0yMzY3LDE0ICsyMzEwLDEwIEBAIHN0YXRpYyB2b2lk
IGRyYXdQYWdlQmFja2dyb3VuZChDR0NvbnRleHRSZWYgY29udGV4dCwgV2ViUGFnZVByb3h5KiBw
YWdlLCBjb25zdCBJCiAKIC0gKHN0ZDo6dW5pcXVlX3B0cjxXZWJLaXQ6OkRyYXdpbmdBcmVhUHJv
eHk+KV9jcmVhdGVEcmF3aW5nQXJlYVByb3h5CiB7Ci0gICAgaWYgKFtzZWxmIF9zaG91bGRVc2VU
aWxlZERyYXdpbmdBcmVhXSkgewotICAgICAgICBpZiAoZ2V0ZW52KCJXS19VU0VfUkVNT1RFX0xB
WUVSX1RSRUVfRFJBV0lOR19BUkVBIikpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjptYWtlX3Vu
aXF1ZTxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5PihfZGF0YS0+X3BhZ2UuZ2V0KCkp
OwotCi0gICAgICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPFRpbGVkQ29yZUFuaW1hdGlvbkRy
YXdpbmdBcmVhUHJveHk+KF9kYXRhLT5fcGFnZS5nZXQoKSk7Ci0gICAgfQorICAgIGlmIChnZXRl
bnYoIldLX1VTRV9SRU1PVEVfTEFZRVJfVFJFRV9EUkFXSU5HX0FSRUEiKSkKKyAgICAgICAgcmV0
dXJuIHN0ZDo6bWFrZV91bmlxdWU8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oX2Rh
dGEtPl9wYWdlLmdldCgpKTsKIAotICAgIHJldHVybiBzdGQ6Om1ha2VfdW5pcXVlPERyYXdpbmdB
cmVhUHJveHlJbXBsPihfZGF0YS0+X3BhZ2UuZ2V0KCkpOworICAgIHJldHVybiBzdGQ6Om1ha2Vf
dW5pcXVlPFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHk+KF9kYXRhLT5fcGFnZS5n
ZXQoKSk7CiB9CiAKIC0gKEJPT0wpX2lzRm9jdXNlZApAQCAtMzA4OCwxMiArMzAyNywxMCBAQCBz
dGF0aWMgTlNTdHJpbmcgKnBhdGhXaXRoVW5pcXVlRmlsZW5hbWVGb3JQYXRoKE5TU3RyaW5nICpw
YXRoKQogICAgIAogICAgIFtzZWxmIF9yZWdpc3RlckRyYWdnZWRUeXBlc107CiAKLSAgICBpZiAo
W3NlbGYgX3Nob3VsZFVzZVRpbGVkRHJhd2luZ0FyZWFdKSB7Ci0gICAgICAgIHNlbGYud2FudHNM
YXllciA9IFlFUzsKKyAgICBzZWxmLndhbnRzTGF5ZXIgPSBZRVM7CiAKLSAgICAgICAgLy8gRXhw
bGljaXRseSBzZXQgdGhlIGxheWVyIGNvbnRlbnRzIHBsYWNlbWVudCBzbyBBcHBLaXQgd2lsbCBt
YWtlIHN1cmUgdGhhdCBvdXIgbGF5ZXIgaGFzIG1hc2tzVG9Cb3VuZHMgc2V0IHRvIFlFUy4KLSAg
ICAgICAgc2VsZi5sYXllckNvbnRlbnRzUGxhY2VtZW50ID0gTlNWaWV3TGF5ZXJDb250ZW50c1Bs
YWNlbWVudFRvcExlZnQ7Ci0gICAgfQorICAgIC8vIEV4cGxpY2l0bHkgc2V0IHRoZSBsYXllciBj
b250ZW50cyBwbGFjZW1lbnQgc28gQXBwS2l0IHdpbGwgbWFrZSBzdXJlIHRoYXQgb3VyIGxheWVy
IGhhcyBtYXNrc1RvQm91bmRzIHNldCB0byBZRVMuCisgICAgc2VsZi5sYXllckNvbnRlbnRzUGxh
Y2VtZW50ID0gTlNWaWV3TGF5ZXJDb250ZW50c1BsYWNlbWVudFRvcExlZnQ7CiAKICAgICBXZWJD
b250ZXh0OjpzdGF0aXN0aWNzKCkud2tWaWV3Q291bnQrKzsKIApAQCAtMzEwNiw3ICszMDQzLDcg
QEAgc3RhdGljIE5TU3RyaW5nICpwYXRoV2l0aFVuaXF1ZUZpbGVuYW1lRm9yUGF0aChOU1N0cmlu
ZyAqcGF0aCkKICNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwODAKIC0g
KEJPT0wpd2FudHNVcGRhdGVMYXllcgogewotICAgIHJldHVybiBbc2VsZiBfc2hvdWxkVXNlVGls
ZWREcmF3aW5nQXJlYV07CisgICAgcmV0dXJuIFlFUzsKIH0KIAogLSAodm9pZCl1cGRhdGVMYXll
cgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tpbmdTdG9yZS5oIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0JhY2tpbmdTdG9yZS5oCmluZGV4IGQyYTNiZDQuLjU3
OWRiOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9CYWNraW5nU3RvcmUu
aAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQmFja2luZ1N0b3JlLmgKQEAgLTI5LDEw
ICsyOSw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+CiAjaW5jbHVkZSA8d3RmL05v
bmNvcHlhYmxlLmg+CiAKLSNpZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSA8d3RmL1JldGFpblB0
ci5oPgotI2VuZGlmCi0KICNpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRdEd1aS9RUGFpbnRl
cj4KICNpbmNsdWRlIDxRdEd1aS9RUGl4bWFwPgpAQCAtNTksOSArNTUsNyBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2l6ZSgpIGNvbnN0IHsgcmV0dXJuIG1fc2l6ZTsg
fQogICAgIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKCkgY29uc3QgeyByZXR1cm4gbV9kZXZpY2VT
Y2FsZUZhY3RvcjsgfQogCi0jaWYgUExBVEZPUk0oTUFDKQotICAgIHR5cGVkZWYgQ0dDb250ZXh0
UmVmIFBsYXRmb3JtR3JhcGhpY3NDb250ZXh0OwotI2VsaWYgUExBVEZPUk0oUVQpCisjaWYgUExB
VEZPUk0oUVQpCiAgICAgdHlwZWRlZiBRUGFpbnRlciogUGxhdGZvcm1HcmFwaGljc0NvbnRleHQ7
CiAjZWxpZiBVU0UoQ0FJUk8pCiAgICAgdHlwZWRlZiBjYWlyb190KiBQbGF0Zm9ybUdyYXBoaWNz
Q29udGV4dDsKQEAgLTc4LDIyICs3Miw3IEBAIHByaXZhdGU6CiAgICAgZmxvYXQgbV9kZXZpY2VT
Y2FsZUZhY3RvcjsKICAgICBXZWJQYWdlUHJveHkqIG1fd2ViUGFnZVByb3h5OwogCi0jaWYgUExB
VEZPUk0oTUFDKQotICAgIENHQ29udGV4dFJlZiBiYWNraW5nU3RvcmVDb250ZXh0KCk7Ci0KLSAg
ICB2b2lkIHBlcmZvcm1XaXRoU2Nyb2xsZWRSZWN0VHJhbnNmb3JtKGNvbnN0IFdlYkNvcmU6Oklu
dFJlY3QmLCB2b2lkICheKShjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgY29uc3QgV2ViQ29yZTo6
SW50U2l6ZSYpKTsKLSAgICB2b2lkIHJlc2V0U2Nyb2xsZWRSZWN0KCk7Ci0KLSAgICBSZXRhaW5Q
dHI8Q0dMYXllclJlZj4gbV9jZ0xheWVyOwotICAgIFJldGFpblB0cjxDR0NvbnRleHRSZWY+IG1f
Yml0bWFwQ29udGV4dDsKLQotICAgIC8vIFRoZSByZWN0YW5nZSB0aGF0IHdhcyBzY3JvbGxlZCBt
b3N0IHJlY2VudGx5LgotICAgIFdlYkNvcmU6OkludFJlY3QgbV9zY3JvbGxlZFJlY3Q7Ci0KLSAg
ICAvLyBDb250ZW50cyBvZiBtX3Njcm9sbGVkUmVjdCBhcmUgb2Zmc2V0IGJ5IHRoaXMgYW1vdW50
IChhbmQgd3JhcHBlZCBhcm91bmQpIHdpdGggcmVzcGVjdCB0bwotICAgIC8vIHRoZWlyIG9yaWdp
bmFsIGxvY2F0aW9uLgotICAgIFdlYkNvcmU6OkludFNpemUgbV9zY3JvbGxlZFJlY3RPZmZzZXQ7
Ci0jZWxpZiBQTEFURk9STShRVCkKKyNpZiBQTEFURk9STShRVCkKICAgICBRUGl4bWFwIG1fcGl4
bWFwOwogI2VsaWYgVVNFKENBSVJPKQogICAgIE93blB0cjxXZWJDb3JlOjpXaWRnZXRCYWNraW5n
U3RvcmU+IG1fYmFja2luZ1N0b3JlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmgKaW5kZXggOTNiOWYwYi4uMjExNjAzZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCkBAIC0yNyw3ICsyNyw2IEBACiAjaWZuZGVmIERy
YXdpbmdBcmVhUHJveHlfaAogI2RlZmluZSBEcmF3aW5nQXJlYVByb3h5X2gKIAotI2luY2x1ZGUg
IkJhY2tpbmdTdG9yZS5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhSW5mby5oIgogI2luY2x1ZGUg
Ik1lc3NhZ2VSZWNlaXZlci5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRQb2ludC5oPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9CYWNraW5nU3RvcmVNYWMubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvbWFjL0JhY2tpbmdTdG9yZU1hYy5tbQpkZWxldGVk
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNzI1NmYyZS4uMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvbWFjL0JhY2tpbmdTdG9yZU1hYy5tbQorKysgL2Rldi9udWxsCkBAIC0x
LDIzNSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2ltcG9ydCAiY29uZmlnLmgiCi0jaW1wb3J0ICJC
YWNraW5nU3RvcmUuaCIKLQotI2ltcG9ydCAiQ0dVdGlsaXRpZXMuaCIKLSNpbXBvcnQgIlNoYXJl
YWJsZUJpdG1hcC5oIgotI2ltcG9ydCAiVXBkYXRlSW5mby5oIgotI2ltcG9ydCAiV2ViUGFnZVBy
b3h5LmgiCi0jaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5oPgotI2ltcG9ydCA8V2Vi
Q29yZS9SZWdpb24uaD4KLQotdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7Ci0KLW5hbWVzcGFjZSBX
ZWJLaXQgewotCi12b2lkIEJhY2tpbmdTdG9yZTo6cGVyZm9ybVdpdGhTY3JvbGxlZFJlY3RUcmFu
c2Zvcm0oY29uc3QgSW50UmVjdCYgcmVjdCwgdm9pZCAoXmJsb2NrKShjb25zdCBJbnRSZWN0Jiwg
Y29uc3QgSW50U2l6ZSYpKQotewotICAgIGlmIChtX3Njcm9sbGVkUmVjdC5pc0VtcHR5KCkgfHwg
bV9zY3JvbGxlZFJlY3RPZmZzZXQuaXNaZXJvKCkgfHwgIW1fc2Nyb2xsZWRSZWN0LmludGVyc2Vj
dHMocmVjdCkpIHsKLSAgICAgICAgYmxvY2socmVjdCwgSW50U2l6ZSgpKTsKLSAgICAgICAgcmV0
dXJuOwotICAgIH0KLQotICAgIC8vIFRoZSBwYXJ0IG9mIHJlY3QgdGhhdCdzIG91dHNpZGUgdGhl
IHNjcm9sbGVkIHJlY3QgaXMgbm90IHRyYW5zbGF0ZWQuCi0gICAgUmVnaW9uIHVudHJhbnNsYXRl
ZFJlZ2lvbiA9IHJlY3Q7Ci0gICAgdW50cmFuc2xhdGVkUmVnaW9uLnN1YnRyYWN0KG1fc2Nyb2xs
ZWRSZWN0KTsKLSAgICBWZWN0b3I8SW50UmVjdD4gdW50cmFuc2xhdGVkUmVjdHMgPSB1bnRyYW5z
bGF0ZWRSZWdpb24ucmVjdHMoKTsKLSAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHVudHJhbnNs
YXRlZFJlY3RzLnNpemUoKTsgKytpKQotICAgICAgICBibG9jayh1bnRyYW5zbGF0ZWRSZWN0c1tp
XSwgSW50U2l6ZSgpKTsKLQotICAgIC8vIFRoZSBwYXJ0IG9mIHJlY3QgdGhhdCBpbnRlcnNlY3Rz
IHRoZSBzY3JvbGxlZCByZWN0IGNvbXByaXNlcyB1cCB0byBmb3VyIHBhcnRzLCBlYWNoIHN1Ympl
Y3QKLSAgICAvLyB0byBhIGRpZmZlcmVudCB0cmFuc2xhdGlvbiAoYWxsIHRyYW5zbGF0aW9ucyBh
cmUgZXF1aXZhbGVudCBtb2R1bG8gdGhlIGRpbWVuc2lvbnMgb2YgdGhlCi0gICAgLy8gc2Nyb2xs
ZWQgcmVjdCB0byB0aGUgc2Nyb2xsIG9mZnNldCkuCi0gICAgSW50UmVjdCBpbnRlcnNlY3Rpb24g
PSByZWN0OwotICAgIGludGVyc2VjdGlvbi5pbnRlcnNlY3QobV9zY3JvbGxlZFJlY3QpOwotCi0g
ICAgSW50UmVjdCBzY3JvbGxlZFJlY3QgPSBtX3Njcm9sbGVkUmVjdDsKLSAgICBJbnRTaXplIG9m
ZnNldCA9IG1fc2Nyb2xsZWRSZWN0T2Zmc2V0OwotICAgIHNjcm9sbGVkUmVjdC5tb3ZlKC1vZmZz
ZXQpOwotCi0gICAgSW50UmVjdCBwYXJ0ID0gaW50ZXJzZWN0aW9uOwotICAgIHBhcnQuaW50ZXJz
ZWN0KHNjcm9sbGVkUmVjdCk7Ci0gICAgaWYgKCFwYXJ0LmlzRW1wdHkoKSkKLSAgICAgICAgYmxv
Y2socGFydCwgb2Zmc2V0KTsKLQotICAgIHBhcnQgPSBpbnRlcnNlY3Rpb247Ci0gICAgb2Zmc2V0
ICs9IEludFNpemUoMCwgLW1fc2Nyb2xsZWRSZWN0LmhlaWdodCgpKTsKLSAgICBzY3JvbGxlZFJl
Y3QubW92ZShJbnRTaXplKDAsIG1fc2Nyb2xsZWRSZWN0LmhlaWdodCgpKSk7Ci0gICAgcGFydC5p
bnRlcnNlY3Qoc2Nyb2xsZWRSZWN0KTsKLSAgICBpZiAoIXBhcnQuaXNFbXB0eSgpKQotICAgICAg
ICBibG9jayhwYXJ0LCBvZmZzZXQpOwotCi0gICAgcGFydCA9IGludGVyc2VjdGlvbjsKLSAgICBv
ZmZzZXQgKz0gSW50U2l6ZSgtbV9zY3JvbGxlZFJlY3Qud2lkdGgoKSwgMCk7Ci0gICAgc2Nyb2xs
ZWRSZWN0Lm1vdmUoSW50U2l6ZShtX3Njcm9sbGVkUmVjdC53aWR0aCgpLCAwKSk7Ci0gICAgcGFy
dC5pbnRlcnNlY3Qoc2Nyb2xsZWRSZWN0KTsKLSAgICBpZiAoIXBhcnQuaXNFbXB0eSgpKQotICAg
ICAgICBibG9jayhwYXJ0LCBvZmZzZXQpOwotCi0gICAgcGFydCA9IGludGVyc2VjdGlvbjsKLSAg
ICBvZmZzZXQgKz0gSW50U2l6ZSgwLCBtX3Njcm9sbGVkUmVjdC5oZWlnaHQoKSk7Ci0gICAgc2Ny
b2xsZWRSZWN0Lm1vdmUoSW50U2l6ZSgwLCAtbV9zY3JvbGxlZFJlY3QuaGVpZ2h0KCkpKTsKLSAg
ICBwYXJ0LmludGVyc2VjdChzY3JvbGxlZFJlY3QpOwotICAgIGlmICghcGFydC5pc0VtcHR5KCkp
Ci0gICAgICAgIGJsb2NrKHBhcnQsIG9mZnNldCk7Ci19Ci0KLXZvaWQgQmFja2luZ1N0b3JlOjpy
ZXNldFNjcm9sbGVkUmVjdCgpCi17Ci0gICAgQVNTRVJUKCFtX3Njcm9sbGVkUmVjdC5pc0VtcHR5
KCkpOwotCi0gICAgaWYgKG1fc2Nyb2xsZWRSZWN0T2Zmc2V0LmlzWmVybygpKSB7Ci0gICAgICAg
IG1fc2Nyb2xsZWRSZWN0ID0gSW50UmVjdCgpOwotICAgICAgICByZXR1cm47Ci0gICAgfQotCi0g
ICAgSW50U2l6ZSBzY2FsZWRTaXplID0gbV9zY3JvbGxlZFJlY3Quc2l6ZSgpOwotICAgIHNjYWxl
ZFNpemUuc2NhbGUobV9kZXZpY2VTY2FsZUZhY3Rvcik7Ci0KLSAgICBSZXRhaW5QdHI8Q0dDb2xv
clNwYWNlUmVmPiBjb2xvclNwYWNlID0gYWRvcHRDRihDR0NvbG9yU3BhY2VDcmVhdGVEZXZpY2VS
R0IoKSk7Ci0gICAgUmV0YWluUHRyPENHQ29udGV4dFJlZj4gY29udGV4dCA9IGFkb3B0Q0YoQ0dC
aXRtYXBDb250ZXh0Q3JlYXRlKDAsIHNjYWxlZFNpemUud2lkdGgoKSwgc2NhbGVkU2l6ZS5oZWln
aHQoKSwgOCwgc2NhbGVkU2l6ZS53aWR0aCgpICogNCwgY29sb3JTcGFjZS5nZXQoKSwga0NHSW1h
Z2VBbHBoYVByZW11bHRpcGxpZWRGaXJzdCB8IGtDR0JpdG1hcEJ5dGVPcmRlcjMySG9zdCkpOwot
Ci0gICAgQ0dDb250ZXh0U2NhbGVDVE0oY29udGV4dC5nZXQoKSwgbV9kZXZpY2VTY2FsZUZhY3Rv
ciwgbV9kZXZpY2VTY2FsZUZhY3Rvcik7Ci0KLSAgICBDR0NvbnRleHRTY2FsZUNUTShjb250ZXh0
LmdldCgpLCAxLCAtMSk7Ci0gICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGNvbnRleHQuZ2V0KCks
IC1tX3Njcm9sbGVkUmVjdC54KCksIC1tX3Njcm9sbGVkUmVjdC5tYXhZKCkpOwotICAgIHBhaW50
KGNvbnRleHQuZ2V0KCksIG1fc2Nyb2xsZWRSZWN0KTsKLQotICAgIEludFJlY3Qgc291cmNlUmVj
dChJbnRQb2ludCgpLCBtX3Njcm9sbGVkUmVjdC5zaXplKCkpOwotICAgIHBhaW50Qml0bWFwQ29u
dGV4dChiYWNraW5nU3RvcmVDb250ZXh0KCksIGNvbnRleHQuZ2V0KCksIG1fZGV2aWNlU2NhbGVG
YWN0b3IsIG1fc2Nyb2xsZWRSZWN0LmxvY2F0aW9uKCksIHNvdXJjZVJlY3QpOwotCi0gICAgbV9z
Y3JvbGxlZFJlY3QgPSBJbnRSZWN0KCk7Ci0gICAgbV9zY3JvbGxlZFJlY3RPZmZzZXQgPSBJbnRT
aXplKCk7Ci19Ci0KLXZvaWQgQmFja2luZ1N0b3JlOjpwYWludChQbGF0Zm9ybUdyYXBoaWNzQ29u
dGV4dCBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiByZWN0KQotewotICAgIC8vIEZJWE1FOiBUaGlz
IGlzIGRlZmluZWQgb3V0c2lkZSB0aGUgYmxvY2sgdG8gd29yayBhcm91bmQgYnVncyBpbiBsbHZt
LWdjYyA0LjIuCi0gICAgX19ibG9jayBDR1JlY3Qgc291cmNlOwotICAgIHBlcmZvcm1XaXRoU2Ny
b2xsZWRSZWN0VHJhbnNmb3JtKHJlY3QsIF4oY29uc3QgSW50UmVjdCYgcGFydCwgY29uc3QgSW50
U2l6ZSYgb2Zmc2V0KSB7Ci0gICAgICAgIGlmIChtX2NnTGF5ZXIpIHsKLSAgICAgICAgICAgIENH
Q29udGV4dFNhdmVHU3RhdGUoY29udGV4dCk7Ci0gICAgICAgICAgICBDR0NvbnRleHRDbGlwVG9S
ZWN0KGNvbnRleHQsIHBhcnQpOwotCi0gICAgICAgICAgICBDR0NvbnRleHRTY2FsZUNUTShjb250
ZXh0LCAxLCAtMSk7Ci0gICAgICAgICAgICBDR0NvbnRleHREcmF3TGF5ZXJBdFBvaW50KGNvbnRl
eHQsIENHUG9pbnRNYWtlKC1vZmZzZXQud2lkdGgoKSwgb2Zmc2V0LmhlaWdodCgpIC0gbV9zaXpl
LmhlaWdodCgpKSwgbV9jZ0xheWVyLmdldCgpKTsKLQotICAgICAgICAgICAgQ0dDb250ZXh0UmVz
dG9yZUdTdGF0ZShjb250ZXh0KTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotCi0g
ICAgICAgIEFTU0VSVChtX2JpdG1hcENvbnRleHQpOwotICAgICAgICBzb3VyY2UgPSBwYXJ0Owot
ICAgICAgICBzb3VyY2Uub3JpZ2luLnggKz0gb2Zmc2V0LndpZHRoKCk7Ci0gICAgICAgIHNvdXJj
ZS5vcmlnaW4ueSArPSBvZmZzZXQuaGVpZ2h0KCk7Ci0gICAgICAgIHBhaW50Qml0bWFwQ29udGV4
dChjb250ZXh0LCBtX2JpdG1hcENvbnRleHQuZ2V0KCksIG1fZGV2aWNlU2NhbGVGYWN0b3IsIHBh
cnQubG9jYXRpb24oKSwgc291cmNlKTsKLSAgICB9KTsKLX0KLQotQ0dDb250ZXh0UmVmIEJhY2tp
bmdTdG9yZTo6YmFja2luZ1N0b3JlQ29udGV4dCgpCi17Ci0gICAgaWYgKG1fY2dMYXllcikKLSAg
ICAgICAgcmV0dXJuIENHTGF5ZXJHZXRDb250ZXh0KG1fY2dMYXllci5nZXQoKSk7Ci0KLSAgICAv
LyBUcnkgdG8gY3JlYXRlIGEgbGF5ZXIuCi0gICAgaWYgKENHQ29udGV4dFJlZiBjb250YWluaW5n
V2luZG93Q29udGV4dCA9IG1fd2ViUGFnZVByb3h5LT5jb250YWluaW5nV2luZG93R3JhcGhpY3ND
b250ZXh0KCkpIHsKLSAgICAgICAgbV9jZ0xheWVyID0gYWRvcHRDRihDR0xheWVyQ3JlYXRlV2l0
aENvbnRleHQoY29udGFpbmluZ1dpbmRvd0NvbnRleHQsIG1fc2l6ZSwgMCkpOwotICAgICAgICBD
R0NvbnRleHRSZWYgbGF5ZXJDb250ZXh0ID0gQ0dMYXllckdldENvbnRleHQobV9jZ0xheWVyLmdl
dCgpKTsKLSAgICAgICAgCi0gICAgICAgIENHQ29udGV4dFNldEJsZW5kTW9kZShsYXllckNvbnRl
eHQsIGtDR0JsZW5kTW9kZUNvcHkpOwotCi0gICAgICAgIC8vIFdlIHdhbnQgdGhlIG9yaWdpbiB0
byBiZSBpbiB0aGUgdG9wIGxlZnQgY29ybmVyIHNvIGZsaXAgdGhlIGJhY2tpbmcgc3RvcmUgY29u
dGV4dC4KLSAgICAgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKGxheWVyQ29udGV4dCwgMCwgbV9z
aXplLmhlaWdodCgpKTsKLSAgICAgICAgQ0dDb250ZXh0U2NhbGVDVE0obGF5ZXJDb250ZXh0LCAx
LCAtMSk7Ci0KLSAgICAgICAgaWYgKG1fYml0bWFwQ29udGV4dCkgewotICAgICAgICAgICAgLy8g
UGFpbnQgdGhlIGNvbnRlbnRzIG9mIHRoZSBiaXRtYXAgaW50byB0aGUgbGF5ZXIgY29udGV4dC4K
LSAgICAgICAgICAgIHBhaW50Qml0bWFwQ29udGV4dChsYXllckNvbnRleHQsIG1fYml0bWFwQ29u
dGV4dC5nZXQoKSwgbV9kZXZpY2VTY2FsZUZhY3RvciwgQ0dQb2ludFplcm8sIENHUmVjdE1ha2Uo
MCwgMCwgbV9zaXplLndpZHRoKCksIG1fc2l6ZS5oZWlnaHQoKSkpOwotICAgICAgICAgICAgbV9i
aXRtYXBDb250ZXh0ID0gbnVsbHB0cjsKLSAgICAgICAgfQotCi0gICAgICAgIHJldHVybiBsYXll
ckNvbnRleHQ7Ci0gICAgfQotCi0gICAgaWYgKCFtX2JpdG1hcENvbnRleHQpIHsKLSAgICAgICAg
UmV0YWluUHRyPENHQ29sb3JTcGFjZVJlZj4gY29sb3JTcGFjZSA9IGFkb3B0Q0YoQ0dDb2xvclNw
YWNlQ3JlYXRlRGV2aWNlUkdCKCkpOwotCi0gICAgICAgIEludFNpemUgc2NhbGVkU2l6ZShtX3Np
emUpOwotICAgICAgICBzY2FsZWRTaXplLnNjYWxlKG1fZGV2aWNlU2NhbGVGYWN0b3IpOwotICAg
ICAgICBtX2JpdG1hcENvbnRleHQgPSBhZG9wdENGKENHQml0bWFwQ29udGV4dENyZWF0ZSgwLCBz
Y2FsZWRTaXplLndpZHRoKCksIHNjYWxlZFNpemUuaGVpZ2h0KCksIDgsIHNjYWxlZFNpemUud2lk
dGgoKSAqIDQsIGNvbG9yU3BhY2UuZ2V0KCksIGtDR0ltYWdlQWxwaGFQcmVtdWx0aXBsaWVkRmly
c3QgfCBrQ0dCaXRtYXBCeXRlT3JkZXIzMkhvc3QpKTsKLQotICAgICAgICBDR0NvbnRleHRTZXRC
bGVuZE1vZGUobV9iaXRtYXBDb250ZXh0LmdldCgpLCBrQ0dCbGVuZE1vZGVDb3B5KTsKLQotICAg
ICAgICBDR0NvbnRleHRTY2FsZUNUTShtX2JpdG1hcENvbnRleHQuZ2V0KCksIG1fZGV2aWNlU2Nh
bGVGYWN0b3IsIG1fZGV2aWNlU2NhbGVGYWN0b3IpOwotCi0gICAgICAgIC8vIFdlIHdhbnQgdGhl
IG9yaWdpbiB0byBiZSBpbiB0aGUgdG9wIGxlZnQgY29ybmVyIHNvIGZsaXAgdGhlIGJhY2tpbmcg
c3RvcmUgY29udGV4dC4KLSAgICAgICAgQ0dDb250ZXh0VHJhbnNsYXRlQ1RNKG1fYml0bWFwQ29u
dGV4dC5nZXQoKSwgMCwgbV9zaXplLmhlaWdodCgpKTsKLSAgICAgICAgQ0dDb250ZXh0U2NhbGVD
VE0obV9iaXRtYXBDb250ZXh0LmdldCgpLCAxLCAtMSk7Ci0gICAgfQotCi0gICAgcmV0dXJuIG1f
Yml0bWFwQ29udGV4dC5nZXQoKTsKLX0KLQotdm9pZCBCYWNraW5nU3RvcmU6OmluY29ycG9yYXRl
VXBkYXRlKFNoYXJlYWJsZUJpdG1hcCogYml0bWFwLCBjb25zdCBVcGRhdGVJbmZvJiB1cGRhdGVJ
bmZvKQotewotICAgIENHQ29udGV4dFJlZiBjb250ZXh0ID0gYmFja2luZ1N0b3JlQ29udGV4dCgp
OwotCi0gICAgc2Nyb2xsKHVwZGF0ZUluZm8uc2Nyb2xsUmVjdCwgdXBkYXRlSW5mby5zY3JvbGxP
ZmZzZXQpOwotCi0gICAgSW50UG9pbnQgdXBkYXRlUmVjdExvY2F0aW9uID0gdXBkYXRlSW5mby51
cGRhdGVSZWN0Qm91bmRzLmxvY2F0aW9uKCk7Ci0KLSAgICBHcmFwaGljc0NvbnRleHQgY3R4KGNv
bnRleHQpOwotICAgIF9fYmxvY2sgR3JhcGhpY3NDb250ZXh0KiBncmFwaGljc0NvbnRleHQgPSAm
Y3R4OwotCi0gICAgLy8gUGFpbnQgYWxsIHVwZGF0ZSByZWN0cy4KLSAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IHVwZGF0ZUluZm8udXBkYXRlUmVjdHMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAg
SW50UmVjdCB1cGRhdGVSZWN0ID0gdXBkYXRlSW5mby51cGRhdGVSZWN0c1tpXTsKLSAgICAgICAg
SW50UmVjdCBzcmNSZWN0ID0gdXBkYXRlUmVjdDsKLSAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMg
ZGVmaW5lZCBvdXRzaWRlIHRoZSBibG9jayB0byB3b3JrIGFyb3VuZCBidWdzIGluIGxsdm0tZ2Nj
IDQuMi4KLSAgICAgICAgX19ibG9jayBJbnRSZWN0IHNyY1BhcnQ7Ci0gICAgICAgIHBlcmZvcm1X
aXRoU2Nyb2xsZWRSZWN0VHJhbnNmb3JtKHNyY1JlY3QsIF4oY29uc3QgSW50UmVjdCYgcGFydCwg
Y29uc3QgSW50U2l6ZSYgb2Zmc2V0KSB7Ci0gICAgICAgICAgICBzcmNQYXJ0ID0gcGFydDsKLSAg
ICAgICAgICAgIHNyY1BhcnQubW92ZSgtdXBkYXRlUmVjdExvY2F0aW9uLngoKSwgLXVwZGF0ZVJl
Y3RMb2NhdGlvbi55KCkpOwotICAgICAgICAgICAgYml0bWFwLT5wYWludCgqZ3JhcGhpY3NDb250
ZXh0LCB1cGRhdGVJbmZvLmRldmljZVNjYWxlRmFjdG9yLCBwYXJ0LmxvY2F0aW9uKCkgKyBvZmZz
ZXQsIHNyY1BhcnQpOwotICAgICAgICB9KTsKLSAgICB9Ci19Ci0KLXZvaWQgQmFja2luZ1N0b3Jl
OjpzY3JvbGwoY29uc3QgSW50UmVjdCYgc2Nyb2xsUmVjdCwgY29uc3QgSW50U2l6ZSYgc2Nyb2xs
T2Zmc2V0KQotewotICAgIGlmIChzY3JvbGxPZmZzZXQuaXNaZXJvKCkpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIEFTU0VSVCghc2Nyb2xsUmVjdC5pc0VtcHR5KCkpOwotCi0gICAgaWYgKCFtX3Nj
cm9sbGVkUmVjdC5pc0VtcHR5KCkgJiYgbV9zY3JvbGxlZFJlY3QgIT0gc2Nyb2xsUmVjdCkKLSAg
ICAgICAgcmVzZXRTY3JvbGxlZFJlY3QoKTsKLQotICAgIG1fc2Nyb2xsZWRSZWN0ID0gc2Nyb2xs
UmVjdDsKLQotICAgIGludCB3aWR0aCA9IChtX3Njcm9sbGVkUmVjdE9mZnNldC53aWR0aCgpIC0g
c2Nyb2xsT2Zmc2V0LndpZHRoKCkpICUgbV9zY3JvbGxlZFJlY3Qud2lkdGgoKTsKLSAgICBpZiAo
d2lkdGggPCAwKQotICAgICAgICB3aWR0aCArPSBtX3Njcm9sbGVkUmVjdC53aWR0aCgpOwotICAg
IG1fc2Nyb2xsZWRSZWN0T2Zmc2V0LnNldFdpZHRoKHdpZHRoKTsKLQotICAgIGludCBoZWlnaHQg
PSAobV9zY3JvbGxlZFJlY3RPZmZzZXQuaGVpZ2h0KCkgLSBzY3JvbGxPZmZzZXQuaGVpZ2h0KCkp
ICUgbV9zY3JvbGxlZFJlY3QuaGVpZ2h0KCk7Ci0gICAgaWYgKGhlaWdodCA8IDApCi0gICAgICAg
IGhlaWdodCArPSBtX3Njcm9sbGVkUmVjdC5oZWlnaHQoKTsKLSAgICBtX3Njcm9sbGVkUmVjdE9m
ZnNldC5zZXRIZWlnaHQoaGVpZ2h0KTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
Y2IzNjIyNC4uN2EyOTJkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU1LDE5ICsxNTUsMTIgQEAKIAkJMUE1RTREQTQxMkQz
QkQzRDAwOTlBMkJCIC8qIFRleHRDaGVja2VyU3RhdGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNUU0REEzMTJEM0JEM0QwMDk5QTJCQiAvKiBUZXh0
Q2hlY2tlclN0YXRlLmggKi87IH07CiAJCTFBNjQyMEU0MTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFy
ZWFibGVCaXRtYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE2NDIwRTIxMkRDRTJGRjAwQ0FBRTJDIC8qIFNoYXJlYWJsZUJpdG1hcC5jcHAgKi87
IH07CiAJCTFBNjQyMEU1MTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMEUzMTJEQ0Uy
RkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuaCAqLzsgfTsKLQkJMUE2NDIxODYxMkRDRjQ5
MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlJbXBsLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTY0MjE4NDEyRENGNDkyMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFQcm94eUltcGwuaCAqLzsgfTsKLQkJMUE2NDIxODcxMkRDRjQ5MjAwQ0FBRTJDIC8q
IERyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDFBNjQyMTg1MTJEQ0Y0OTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVBy
b3h5SW1wbC5jcHAgKi87IH07Ci0JCTFBNjQyMUY2MTJEQ0ZCQUIwMENBQUUyQyAvKiBEcmF3aW5n
QXJlYUltcGwuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDFBNjQyMUY0MTJEQ0ZCQUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYUltcGwuaCAqLzsgfTsKLQkJ
MUE2NDIxRjcxMkRDRkJBQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhSW1wbC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTY0MjFGNTEyRENGQkFCMDBD
QUFFMkMgLyogRHJhd2luZ0FyZWFJbXBsLmNwcCAqLzsgfTsKIAkJMUE2NDIyOTkxMkREMDI5MjAw
Q0FBRTJDIC8qIERyYXdpbmdBcmVhTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMjk3MTJERDAyOTIwMENBQUUyQyAv
KiBEcmF3aW5nQXJlYU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFBNjQyMjlBMTJERDAy
OTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTY0MjI5ODEyREQwMjkyMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFNZXNzYWdlcy5oICovOyB9OwogCQkxQTY0MjMwODEyREQwOUVCMDBDQUFFMkMgLyog
RHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTY0MjMwNjEyREQwOUVCMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTFBNjQyMzA5MTJERDA5
RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyMzA3MTJERDA5RUIwMENBQUUyQyAv
KiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCAqLzsgfTsKIAkJMUE2NDI0NUUxMkRFMjlBMTAw
Q0FBRTJDIC8qIFVwZGF0ZUluZm8uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFBNjQyNDVDMTJERTI5QTEwMENBQUUyQyAvKiBVcGRhdGVJbmZvLmggKi87
IH07CiAJCTFBNjQyNDVGMTJERTI5QTEwMENBQUUyQyAvKiBVcGRhdGVJbmZvLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyNDVEMTJERTI5QTEw
MENBQUUyQyAvKiBVcGRhdGVJbmZvLmNwcCAqLzsgfTsKLQkJMUE2NDI1NjgxMkRFNDJFQzAwQ0FB
RTJDIC8qIEJhY2tpbmdTdG9yZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUE2NDI1NjYxMkRFNDJFQzAwQ0FBRTJDIC8qIEJhY2tpbmdTdG9yZS5oICov
OyB9OwotCQkxQTY0MjU2OTEyREU0MkVDMDBDQUFFMkMgLyogQmFja2luZ1N0b3JlLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNjQyNTY3MTJERTQy
RUMwMENBQUUyQyAvKiBCYWNraW5nU3RvcmUuY3BwICovOyB9OwotCQkxQTY0MjkyRDEyREU1Rjk4
MDBDQUFFMkMgLyogQmFja2luZ1N0b3JlTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMUE2NDI5MkMxMkRFNUY5ODAwQ0FBRTJDIC8qIEJhY2tpbmdT
dG9yZU1hYy5tbSAqLzsgfTsKIAkJMUE2NTA2RDIxNzUwMTVFNzAwMTc0NTE4IC8qIE1lc3NhZ2VT
ZW5kZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE2NTA2RDExNzUwMTVFNzAwMTc0NTE4IC8qIE1lc3NhZ2VTZW5kZXIuY3BwICovOyB9OwogCQkx
QTZGOUY5MDExRTEzRUZDMDBEQjEzNzEgLyogQ29tbWFuZExpbmUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBNkY5RjhFMTFFMTNFRkMwMERCMTM3MSAv
KiBDb21tYW5kTGluZS5oICovOyB9OwogCQkxQTZGOUZCNzExRTE0MDg1MDBEQjEzNzEgLyogQ29t
bWFuZExpbmVNYWMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMUE2RjlGQjYxMUUxNDA4NTAwREIxMzcxIC8qIENvbW1hbmRMaW5lTWFjLmNwcCAqLzsg
fTsKQEAgLTIwNCw4ICsxOTcsNiBAQAogCQkxQTkxMDEwQjEyNjhDOENBMDAxODQyRjUgLyogRmlu
ZEluZGljYXRvcldpbmRvdy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDFBOTEwMTA5MTI2OEM4Q0EwMDE4NDJGNSAvKiBGaW5kSW5kaWNhdG9yV2luZG93
Lm1tICovOyB9OwogCQkxQTkyREMxMTEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE5MkRD
MTAxMkY4QkE0NjAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCAqLzsgfTsKIAkJMUE5MkRD
MTMxMkY4QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTkyREMxMjEyRjhCQUI5MDAxN0FG
NjUgLyogTGF5ZXJUcmVlQ29udGV4dE1hYy5tbSAqLzsgfTsKLQkJMUE5N0UwNzYxNkE1RjlFMDAw
MEJDOUU1IC8qIExheWVyVHJlZUhvc3RNYWMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDFBOTdFMDczMTZBNUY1NzgwMDBCQzlFNSAvKiBMYXllclRyZWVI
b3N0TWFjLmggKi87IH07Ci0JCTFBOTdFMDc3MTZBNUY5RTAwMDBCQzlFNSAvKiBMYXllclRyZWVI
b3N0TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MUE5N0UwNzQxNkE1RjU3ODAwMEJDOUU1IC8qIExheWVyVHJlZUhvc3RNYWMubW0gKi87IH07CiAJ
CTFBOUZCQThEMTNGRjA0RTYwMERFRUQ2NyAvKiBQbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBOUZCQThD
MTNGRjA0RTYwMERFRUQ2NyAvKiBQbHVnaW5Db21wbGV4VGV4dElucHV0U3RhdGUuaCAqLzsgfTsK
IAkJMUFBMkU1MUQxMkU0QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQUEyRTUxQjEyRTRDMDVFMDBCQzQ5
NjYgLyogQ0dVdGlsaXRpZXMuaCAqLzsgfTsKIAkJMUFBMkU1MUUxMkU0QzA1RTAwQkM0OTY2IC8q
IENHVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBQTJFNTFDMTJFNEMwNUUwMEJDNDk2NiAvKiBDR1V0aWxpdGllcy5jcHAgKi87IH07
CkBAIC0xNTA3LDEwICsxNDk4LDYgQEAKIAkJMUE1RTREQTMxMkQzQkQzRDAwOTlBMkJCIC8qIFRl
eHRDaGVja2VyU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dENo
ZWNrZXJTdGF0ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTY0MjBFMjEyRENF
MkZGMDBDQUFFMkMgLyogU2hhcmVhYmxlQml0bWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IFNoYXJlYWJsZUJpdG1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFBNjQyMEUzMTJEQ0UyRkYwMENBQUUyQyAvKiBTaGFyZWFibGVCaXRtYXAuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVhYmxlQml0bWFwLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBNjQyMTg0MTJEQ0Y0OTIwMENBQUUyQyAvKiBEcmF3
aW5nQXJlYVByb3h5SW1wbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmF3
aW5nQXJlYVByb3h5SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTY0MjE4
NTEyRENGNDkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRHJhd2luZ0FyZWFQcm94eUltcGwuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTY0MjFGNDEyRENGQkFCMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFJbXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERyYXdpbmdB
cmVhSW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkxQTY0MjFGNTEyRENGQkFC
MDBDQUFFMkMgLyogRHJhd2luZ0FyZWFJbXBsLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERyYXdpbmdBcmVhSW1wbC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBNjQyMjhBMTJERDAyNDcwMENBQUUyQyAvKiBEcmF3aW5nQXJlYS5tZXNzYWdlcy5p
biAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEcmF3aW5nQXJlYS5tZXNzYWdlcy5pbjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE2NDIyOTcxMkREMDI5MjAwQ0FBRTJDIC8qIERyYXdp
bmdBcmVhTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERyYXdpbmdBcmVhTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMUE2NDIyOTgxMkREMDI5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhTWVzc2Fn
ZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRHJhd2luZ0FyZWFNZXNzYWdl
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTUxOSw5ICsxNTA2LDYgQEAKIAkJ
MUE2NDIzMDcxMkREMDlFQjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE2NDI0NUMxMkRFMjlBMTAwQ0FBRTJD
IC8qIFVwZGF0ZUluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVXBkYXRl
SW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTY0MjQ1RDEyREUyOUExMDBD
QUFFMkMgLyogVXBkYXRlSW5mby5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBVcGRhdGVJbmZvLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUE2NDI1
NjYxMkRFNDJFQzAwQ0FBRTJDIC8qIEJhY2tpbmdTdG9yZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBCYWNraW5nU3RvcmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJMUE2NDI1NjcxMkRFNDJFQzAwQ0FBRTJDIC8qIEJhY2tpbmdTdG9yZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBCYWNraW5nU3RvcmUuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwotCQkxQTY0MjkyQzEyREU1Rjk4MDBDQUFFMkMgLyogQmFja2luZ1N0
b3JlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gQmFja2lu
Z1N0b3JlTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTY1MDZEMTE3NTAx
NUU3MDAxNzQ1MTggLyogTWVzc2FnZVNlbmRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBNZXNzYWdlU2VuZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUE2RjlGOEUxMUUxM0VGQzAwREIxMzcxIC8qIENvbW1hbmRMaW5lLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvbW1hbmRMaW5lLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTFBNkY5RkI2MTFFMTQwODUwMERCMTM3MSAvKiBDb21tYW5kTGluZU1hYy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb21tYW5kTGluZU1hYy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNTYxLDggKzE1NDUsNiBAQAogCQkx
QTkxMDEwOTEyNjhDOENBMDAxODQyRjUgLyogRmluZEluZGljYXRvcldpbmRvdy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IEZpbmRJbmRpY2F0b3JXaW5kb3cubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBOTJEQzEwMTJGOEJBNDYwMDE3QUY2NSAv
KiBMYXllclRyZWVDb250ZXh0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IExh
eWVyVHJlZUNvbnRleHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUE5MkRDMTIx
MkY4QkFCOTAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHRNYWMubW0gKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBMYXllclRyZWVDb250ZXh0TWFjLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQkxQTk3RTA3MzE2QTVGNTc4MDAwQkM5RTUgLyogTGF5ZXJU
cmVlSG9zdE1hYy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBMYXllclRyZWVI
b3N0TWFjLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBOTdFMDc0MTZBNUY1Nzgw
MDBCQzlFNSAvKiBMYXllclRyZWVIb3N0TWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBwYXRoID0gTGF5ZXJUcmVlSG9zdE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMUE5RkJBOEMxM0ZGMDRFNjAwREVFRDY3IC8qIFBsdWdpbkNvbXBsZXhUZXh0SW5w
dXRTdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQbHVnaW5Db21wbGV4
VGV4dElucHV0U3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUFBMUM3OUEx
MDBFN0ZDNTAwNzhERUJDIC8qIFdlYkNvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IHBhdGggPSBX
ZWJDb3JlLmZyYW1ld29yazsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJ
MUFBMUM3REUxMDBFODQ2RTAwNzhERUJDIC8qIEphdmFTY3JpcHRDb3JlLmZyYW1ld29yayAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHdyYXBwZXIuZnJh
bWV3b3JrOyBwYXRoID0gSmF2YVNjcmlwdENvcmUuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gQlVJ
TFRfUFJPRFVDVFNfRElSOyB9OwpAQCAtMzc4OSw4ICszNzcxLDYgQEAKIAkJCQlCQzg0NTJBNTEx
NjJDODA5MDBDQUI5QjUgLyogRHJhd2luZ0FyZWEuY3BwICovLAogCQkJCUJDODQ1MkE2MTE2MkM4
MDkwMENBQjlCNSAvKiBEcmF3aW5nQXJlYS5oICovLAogCQkJCTFBNjQyMjhBMTJERDAyNDcwMENB
QUUyQyAvKiBEcmF3aW5nQXJlYS5tZXNzYWdlcy5pbiAqLywKLQkJCQkxQTY0MjFGNTEyRENGQkFC
MDBDQUFFMkMgLyogRHJhd2luZ0FyZWFJbXBsLmNwcCAqLywKLQkJCQkxQTY0MjFGNDEyRENGQkFC
MDBDQUFFMkMgLyogRHJhd2luZ0FyZWFJbXBsLmggKi8sCiAJCQkJOTNGQzY3OUYxMkQzQ0M3NDAw
QTYwNjEwIC8qIEVuY29kZXJBZGFwdGVyLmNwcCAqLywKIAkJCQk5M0ZDNjdBMDEyRDNDQzc0MDBB
NjA2MTAgLyogRW5jb2RlckFkYXB0ZXIuaCAqLywKIAkJCQkxQUE1NzVGODE0OTZCNTI2MDBBNEVF
MDYgLyogRXZlbnREaXNwYXRjaGVyLmNwcCAqLywKQEAgLTM4NDAsMTMgKzM4MjAsOSBAQAogCQkJ
CTMxQTJFQzQwMTQ4OTk3MzcwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25zICovLAogCQkJCTFBRUZD
QzA1MTFEMDFGMzQwMDgyMTlEMyAvKiBQbHVnaW5zICovLAogCQkJCTFBNDRCOTU4MTZCNzNGOEMw
MEI3QkJEOCAvKiBTdG9yYWdlICovLAotCQkJCTFBNjQyNTY3MTJERTQyRUMwMENBQUUyQyAvKiBC
YWNraW5nU3RvcmUuY3BwICovLAotCQkJCTFBNjQyNTY2MTJERTQyRUMwMENBQUUyQyAvKiBCYWNr
aW5nU3RvcmUuaCAqLywKIAkJCQlCQzI2NTIxMjExODI2MDgxMDAyNDNFMTIgLyogRHJhd2luZ0Fy
ZWFQcm94eS5jcHAgKi8sCiAJCQkJQkMyNjUyMTMxMTgyNjA4MTAwMjQzRTEyIC8qIERyYXdpbmdB
cmVhUHJveHkuaCAqLywKIAkJCQkxQTY0MjJGQzEyREQwOEZFMDBDQUFFMkMgLyogRHJhd2luZ0Fy
ZWFQcm94eS5tZXNzYWdlcy5pbiAqLywKLQkJCQkxQTY0MjE4NTEyRENGNDkyMDBDQUFFMkMgLyog
RHJhd2luZ0FyZWFQcm94eUltcGwuY3BwICovLAotCQkJCTFBNjQyMTg0MTJEQ0Y0OTIwMENBQUUy
QyAvKiBEcmF3aW5nQXJlYVByb3h5SW1wbC5oICovLAogCQkJCTFBOTEwMDcwMTI2Njc1QzQwMDE4
NDJGNSAvKiBGaW5kSW5kaWNhdG9yLmNwcCAqLywKIAkJCQkxQTkxMDA2RjEyNjY3NUMzMDAxODQy
RjUgLyogRmluZEluZGljYXRvci5oICovLAogCQkJCUJDMTc3NTNFMTE4QkFCRjAwMDdEOUU5QSAv
KiBHZW5lcmljQ2FsbGJhY2suaCAqLywKQEAgLTQ1MDksOCArNDQ4NSw2IEBACiAJCUJDOTYzRDZD
MTEzREQxOTUwMDU3NEJFMiAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNo
aWxkcmVuID0gKAotCQkJCTFBOTdFMDczMTZBNUY1NzgwMDBCQzlFNSAvKiBMYXllclRyZWVIb3N0
TWFjLmggKi8sCi0JCQkJMUE5N0UwNzQxNkE1RjU3ODAwMEJDOUU1IC8qIExheWVyVHJlZUhvc3RN
YWMubW0gKi8sCiAJCQkJN0M2RDM3RkExNzJGNTU1RjAwOUQyODQ3IC8qIFBhZ2VCYW5uZXJNYWMu
bW0gKi8sCiAJCQkJMUFCMTZBRUMxNjRCNDFFNDAwMjkwRDYyIC8qIFJlbW90ZUdyYXBoaWNzTGF5
ZXIuaCAqLywKIAkJCQkxQUIxNkFFQjE2NEI0MUU0MDAyOTBENjIgLyogUmVtb3RlR3JhcGhpY3NM
YXllci5tbSAqLywKQEAgLTQ2MjUsNyArNDU5OSw2IEBACiAJCUJDQ0YwODVDMTEzRjNCNzUwMEM2
NTBDNSAvKiBtYWMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAot
CQkJCTFBNjQyOTJDMTJERTVGOTgwMENBQUUyQyAvKiBCYWNraW5nU3RvcmVNYWMubW0gKi8sCiAJ
CQkJQjg3OEI2MTMxMzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5oICovLAogCQkJ
CUI4NzhCNjE0MTMzNDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9uUGFuZWwubW0gKi8sCiAJCQkJ
MUFCMTZBRTAxNjQ4NjU2RDAwMjkwRDYyIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHkuaCAqLywKQEAgLTQ5OTksNyArNDk3Miw2IEBACiAJCQkJNTEyRjU4OTkxMkE4ODM4ODAwNjI5
NTMwIC8qIEF1dGhlbnRpY2F0aW9uRGVjaXNpb25MaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTE4RThFRjkxNkIyMDkxQzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4QTMxMkE4ODNBRDAwNjI5NTMwIC8qIEF1dGhlbnRpY2F0
aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKLQkJCQkxQTY0MjU2ODEyREU0MkVD
MDBDQUFFMkMgLyogQmFja2luZ1N0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcwODc3MTE2
RDZDRkU1MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAog
CQkJCUUxNzA4NzZDMTZENkNBNjkwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94eS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNEY2MDE0MzIxNTVDNUFBMjAwMUZCREUwIC8qIEJsb2NraW5nUmVzcG9u
c2VNYXAuaCBpbiBIZWFkZXJzICovLApAQCAtNTAzMSwxMSArNTAwMyw5IEBACiAJCQkJMUFCN0Q2
MUExMjg4QjlEOTAwQ0ZEMDhDIC8qIERvd25sb2FkUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQzUxNzM4ODExMkRGOEY0RjAwRUUzRjQ3IC8qIERyYWdDb250cm9sbGVyQWN0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg0NTJBODExNjJDODA5MDBDQUI5QjUgLyogRHJhd2lu
Z0FyZWEuaCBpbiBIZWFkZXJzICovLAotCQkJCTFBNjQyMUY2MTJEQ0ZCQUIwMENBQUUyQyAvKiBE
cmF3aW5nQXJlYUltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQjY1OTIzMTIwOEI0REIwMDQ0
ODE2QyAvKiBEcmF3aW5nQXJlYUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjQyMjlBMTJE
RDAyOTIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzI2NTIxNzExODI2MDgxMDAyNDNFMTIgLyogRHJhd2luZ0FyZWFQcm94eS5oIGluIEhlYWRl
cnMgKi8sCi0JCQkJMUE2NDIxODYxMkRDRjQ5MjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhUHJveHlJ
bXBsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTY0MjMwOTEyREQwOUVCMDBDQUFFMkMgLyogRHJh
d2luZ0FyZWFQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1REE2RUQwQTE0OTA2
MDY5MDBCNDFEMTIgLyogRHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUE0MUFCNTEyQzAyRUM0MDAyQkU2N0IgLyogRWRpdG9yU3RhdGUuaCBp
biBIZWFkZXJzICovLApAQCAtNTA4Myw3ICs1MDUzLDYgQEAKIAkJCQlCQ0UwOTM3ODE0RkIxMjhD
MDAxMTM4RDkgLyogTGF5ZXJIb3N0aW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE5
MkRDMTExMkY4QkE0NjAwMTdBRjY1IC8qIExheWVyVHJlZUNvbnRleHQuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBMTg2RUVBMTJFRjc2MTgwMDhFNUYzNyAvKiBMYXllclRyZWVIb3N0LmggaW4gSGVh
ZGVycyAqLywKLQkJCQkxQTk3RTA3NjE2QTVGOUUwMDAwQkM5RTUgLyogTGF5ZXJUcmVlSG9zdE1h
Yy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUExRDhCQTIxNzMxQTM2MzAwMTQxREE0IC8qIExvY2Fs
U3RvcmFnZURhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQThDNzI4RDE3Mzg0NzdDMDAw
QTY1NTQgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2VUcmFja2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MUE3RjJGMzEyNUJGODIwMDA4QUVCMUQgLyogTG9nZ2luZy5oIGluIEhlYWRlcnMgKi8sCkBA
IC02MTUzLDggKzYxMjIsNiBAQAogCQkJCTUxOEU4RUY4MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRo
ZW50aWNhdGlvbk1hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTE4RThFRkIxNkIyMDkx
QzAwRTkxNDI5IC8qIEF1dGhlbnRpY2F0aW9uTWFuYWdlci5tYWMubW0gaW4gU291cmNlcyAqLywK
IAkJCQk1MTJGNThBMjEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTFBNjQyNTY5MTJERTQyRUMwMENB
QUUyQyAvKiBCYWNraW5nU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE2NDI5MkQxMkRF
NUY5ODAwQ0FBRTJDIC8qIEJhY2tpbmdTdG9yZU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUUx
NzA4NzcwMTZENkNGRTUwMEY5OTIyNiAvKiBCbG9iUmVnaXN0cmF0aW9uRGF0YS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQlFMTcwODc2QjE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJv
eHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNGMTg2MzgxNjdEMDcxRTAwQTFBODVBIC8qIENh
Y2hlTW9kZWwuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MTg2LDEwICs2MTUzLDggQEAKIAkJCQkx
QUQyNUU5NTE2N0FCMDgxMDBFQTlCQ0QgLyogRG93bmxvYWRQcm94eU1hcC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkxQUI3RDYxOTEyODhCOUQ5MDBDRkQwOEMgLyogRG93bmxvYWRQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzg0NTJBNzExNjJDODA5MDBDQUI5
QjUgLyogRHJhd2luZ0FyZWEuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE2NDIxRjcxMkRDRkJB
QjAwQ0FBRTJDIC8qIERyYXdpbmdBcmVhSW1wbC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTY0
MjI5OTEyREQwMjkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkMyNjUyMTYxMTgyNjA4MTAwMjQzRTEyIC8qIERyYXdpbmdBcmVh
UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUE2NDIxODcxMkRDRjQ5MjAwQ0FBRTJDIC8q
IERyYXdpbmdBcmVhUHJveHlJbXBsLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNjQyMzA4MTJE
RDA5RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTVEQTZFRDBCMTQ5MDYwNjkwMEI0MUQxMiAvKiBEeW5hbWljTGlua2Vy
RW52aXJvbm1lbnRFeHRyYWN0b3IubW0gaW4gU291cmNlcyAqLywKIAkJCQk4Q0ZFQ0U5NDE0OTBG
MTQwMDAyQUFBMzIgLyogRWRpdG9yU3RhdGUuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC02MjM1LDcg
KzYyMDAsNiBAQAogCQkJCUJDRTA5Mzc3MTRGQjEyOEMwMDExMzhEOSAvKiBMYXllckhvc3RpbmdD
b250ZXh0Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5MkRDMTMxMkY4QkFCOTAwMTdBRjY1IC8q
IExheWVyVHJlZUNvbnRleHRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTE4NkVFQjEyRUY3
NjE4MDA4RTVGMzcgLyogTGF5ZXJUcmVlSG9zdC5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQTk3
RTA3NzE2QTVGOUUwMDAwQkM5RTUgLyogTGF5ZXJUcmVlSG9zdE1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTFBMUQ4QkExMTczMUEzNjMwMDE0MURBNCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQThDNzI4QzE3Mzg0NzdDMDAwQTY1NTQgLyogTG9jYWxT
dG9yYWdlRGF0YWJhc2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQTdGMkY1MTI1
QkY4RDQwMDhBRUIxRCAvKiBMb2dnaW5nLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAKaW5kZXggOWVmZjQ2
Mi4uMTg2ZWY0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuY3BwCkBAIC0yNywxMSArMjcsMTEgQEAKICNpbmNsdWRlICJEcmF3aW5nQXJl
YS5oIgogCiAvLyBTdWJjbGFzc2VzCi0jaW5jbHVkZSAiRHJhd2luZ0FyZWFJbXBsLmgiCi0KICNp
ZiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWEuaCIK
ICNpbmNsdWRlICJUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oIgorI2Vsc2UKKyNpbmNs
dWRlICJEcmF3aW5nQXJlYUltcGwuaCIKICNlbmRpZgogCiAjaW5jbHVkZSAiV2ViUGFnZUNyZWF0
aW9uUGFyYW1ldGVycy5oIgpAQCAtNDEsMTMgKzQxLDE0IEBAIG5hbWVzcGFjZSBXZWJLaXQgewog
c3RkOjp1bmlxdWVfcHRyPERyYXdpbmdBcmVhPiBEcmF3aW5nQXJlYTo6Y3JlYXRlKFdlYlBhZ2Uq
IHdlYlBhZ2UsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiB7
CiAgICAgc3dpdGNoIChwYXJhbWV0ZXJzLmRyYXdpbmdBcmVhVHlwZSkgewotICAgIGNhc2UgRHJh
d2luZ0FyZWFUeXBlSW1wbDoKLSAgICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8RHJhd2lu
Z0FyZWFJbXBsPih3ZWJQYWdlLCBwYXJhbWV0ZXJzKTsKICNpZiBQTEFURk9STShNQUMpCiAgICAg
Y2FzZSBEcmF3aW5nQXJlYVR5cGVUaWxlZENvcmVBbmltYXRpb246CiAgICAgICAgIHJldHVybiBz
dGQ6Om1ha2VfdW5pcXVlPFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhPih3ZWJQYWdlLCBw
YXJhbWV0ZXJzKTsKICAgICBjYXNlIERyYXdpbmdBcmVhVHlwZVJlbW90ZUxheWVyVHJlZToKICAg
ICAgICAgcmV0dXJuIHN0ZDo6bWFrZV91bmlxdWU8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWE+
KHdlYlBhZ2UsIHBhcmFtZXRlcnMpOworI2Vsc2UKKyAgICBjYXNlIERyYXdpbmdBcmVhVHlwZUlt
cGw6CisgICAgICAgIHJldHVybiBEcmF3aW5nQXJlYUltcGw6OmNyZWF0ZSh3ZWJQYWdlLCBwYXJh
bWV0ZXJzKTsKICNlbmRpZgogICAgIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhSW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmNwcAppbmRleCBkMDI1MDIzLi45NzIxODFi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWFJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWFJbXBsLmNwcApAQCAtMjU1LDIwICsyNTUsNyBAQCB2b2lkIERyYXdpbmdBcmVhSW1wbDo6
c2V0UGFpbnRpbmdFbmFibGVkKGJvb2wgcGFpbnRpbmdFbmFibGVkKQogCiB2b2lkIERyYXdpbmdB
cmVhSW1wbDo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3Rv
cmUpCiB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIC8vIFNvb24gd2Ugd2FudCBwYWdlcyB3aXRo
IGZpeGVkIHBvc2l0aW9uZWQgZWxlbWVudHMgdG8gYmUgYWJsZSB0byBiZSBzY3JvbGxlZCBieSB0
aGUgU2Nyb2xsaW5nQ29vcmRpbmF0b3IuCi0gICAgLy8gQXMgYSBwYXJ0IG9mIHRoYXQgd29yaywg
d2UgaGF2ZSB0byBjb21wb3NpdGUgZml4ZWQgcG9zaXRpb24gZWxlbWVudHMsIGFuZCB3ZSBoYXZl
IHRvIGFsbG93IHRob3NlCi0gICAgLy8gZWxlbWVudHMgdG8gY3JlYXRlIGEgc3RhY2tpbmcgY29u
dGV4dC4KLSAgICBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc2V0QWNjZWxlcmF0
ZWRDb21wb3NpdGluZ0ZvckZpeGVkUG9zaXRpb25FbmFibGVkKHRydWUpOwotICAgIG1fd2ViUGFn
ZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRGaXhlZFBvc2l0aW9uQ3JlYXRlc1N0YWNraW5n
Q29udGV4dCh0cnVlKTsKLQotICAgIC8vIDxyZGFyOi8vcHJvYmxlbS8xMDY5NzQxNz46IEl0IGlz
IG5lY2Vzc2FyeSB0byBmb3JjZSBjb21wb3NpdGluZyB3aGVuIGFjY2VsZXJhdGUgZHJhd2luZwot
ICAgIC8vIGlzIGVuYWJsZWQgb24gTWFjIHNvIHRoYXQgc2Nyb2xsYmFycyBhcmUgYWx3YXlzIGlu
IHRoZWlyIG93biBsYXllcnMuCi0gICAgaWYgKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGlu
Z3MoKS5hY2NlbGVyYXRlZERyYXdpbmdFbmFibGVkKCkpCi0gICAgICAgIG1fd2ViUGFnZS0+Y29y
ZVBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRGb3JjZUNvbXBvc2l0aW5nTW9kZShMYXllclRyZWVIb3N0
OjpzdXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSk7Ci0gICAgZWxzZQotI2VuZGlmCi0g
ICAgICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5zZXRGb3JjZUNvbXBvc2l0
aW5nTW9kZShzdG9yZS5nZXRCb29sVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OmZvcmNl
Q29tcG9zaXRpbmdNb2RlS2V5KCkpICYmIExheWVyVHJlZUhvc3Q6OnN1cHBvcnRzQWNjZWxlcmF0
ZWRDb21wb3NpdGluZygpKTsKKyAgICBtX3dlYlBhZ2UtPmNvcmVQYWdlKCktPnNldHRpbmdzKCku
c2V0Rm9yY2VDb21wb3NpdGluZ01vZGUoc3RvcmUuZ2V0Qm9vbFZhbHVlRm9yS2V5KFdlYlByZWZl
cmVuY2VzS2V5Ojpmb3JjZUNvbXBvc2l0aW5nTW9kZUtleSgpKSAmJiBMYXllclRyZWVIb3N0Ojpz
dXBwb3J0c0FjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKSk7CiB9CiAKIHZvaWQgRHJhd2luZ0FyZWFJ
bXBsOjpsYXllckhvc3REaWRGbHVzaExheWVycygpCkBAIC00NzgsMTIgKzQ2NSw3IEBAIHZvaWQg
RHJhd2luZ0FyZWFJbXBsOjpyZXN1bWVQYWludGluZygpCiAgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZG4ndCBhbHdheXMgcmVwYWludCBldmVyeXRoaW5nIGhlcmUuCiAgICAgc2V0TmVlZHNEaXNwbGF5
KCk7CiAKLSNpZiBQTEFURk9STShNQUMpCi0gICAgaWYgKG1fd2ViUGFnZS0+d2luZG93SXNWaXNp
YmxlKCkpCi0gICAgICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+cmVzdW1lU2NyaXB0ZWRBbmlt
YXRpb25zKCk7Ci0jZWxzZQogICAgIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+cmVzdW1lU2NyaXB0
ZWRBbmltYXRpb25zKCk7Ci0jZW5kaWYKIH0KIAogdm9pZCBEcmF3aW5nQXJlYUltcGw6OmVudGVy
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikK
QEAgLTcxNiwyMSArNjk4LDQgQEAgdm9pZCBEcmF3aW5nQXJlYUltcGw6OmRpZFJlY2VpdmVDb29y
ZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3QKIH0KICNlbmRpZgog
Ci0jaWYgUExBVEZPUk0oTUFDKQotdm9pZCBEcmF3aW5nQXJlYUltcGw6OnNldExheWVySG9zdGlu
Z01vZGUodWludDMyX3Qgb3BhcXVlTGF5ZXJIb3N0aW5nTW9kZSkKLXsKLSAgICBMYXllckhvc3Rp
bmdNb2RlIGxheWVySG9zdGluZ01vZGUgPSBzdGF0aWNfY2FzdDxMYXllckhvc3RpbmdNb2RlPihv
cGFxdWVMYXllckhvc3RpbmdNb2RlKTsKLSAgICBtX3dlYlBhZ2UtPnNldExheWVySG9zdGluZ01v
ZGUobGF5ZXJIb3N0aW5nTW9kZSk7Ci0KLSAgICBpZiAoIW1fbGF5ZXJUcmVlSG9zdCkKLSAgICAg
ICAgcmV0dXJuOwotCi0gICAgTGF5ZXJUcmVlQ29udGV4dCBvbGRMYXllclRyZWVDb250ZXh0ID0g
bV9sYXllclRyZWVIb3N0LT5sYXllclRyZWVDb250ZXh0KCk7Ci0gICAgbV9sYXllclRyZWVIb3N0
LT5zZXRMYXllckhvc3RpbmdNb2RlKGxheWVySG9zdGluZ01vZGUpOwotCi0gICAgaWYgKG1fbGF5
ZXJUcmVlSG9zdC0+bGF5ZXJUcmVlQ29udGV4dCgpICE9IG9sZExheWVyVHJlZUNvbnRleHQpCi0g
ICAgICAgIG1fd2ViUGFnZS0+c2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWFQcm94eTo6VXBkYXRl
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobV9iYWNraW5nU3RvcmVTdGF0ZUlELCBtX2xheWVy
VHJlZUhvc3QtPmxheWVyVHJlZUNvbnRleHQoKSkpOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0RyYXdpbmdBcmVhSW1wbC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhSW1wbC5oCmluZGV4IDA1OGZhYzguLjc1OGYxMWIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYUltcGwuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWFJbXBsLmgKQEAgLTczLDEw
ICs3Myw2IEBAIHByaXZhdGU6CiAgICAgdmlydHVhbCB2b2lkIHNjaGVkdWxlQ29tcG9zaXRpbmdM
YXllckZsdXNoKCkgT1ZFUlJJREU7CiAjZW5kaWYKIAotI2lmIFBMQVRGT1JNKE1BQykKLSAgICB2
aXJ0dWFsIHZvaWQgc2V0TGF5ZXJIb3N0aW5nTW9kZSh1aW50MzJfdCkgT1ZFUlJJREU7Ci0jZW5k
aWYKLQogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZUNvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdE1lc3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlv
biosIENvcmVJUEM6Ok1lc3NhZ2VEZWNvZGVyJik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllclRyZWVIb3N0LmNwcAppbmRleCBhNGExMDM5
Li41OTNhMWNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
TGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0xheWVyVHJlZUhvc3QuY3BwCkBAIC0yNiwxMCArMjYsNiBAQAogI2luY2x1ZGUgImNvbmZpZy5o
IgogI2luY2x1ZGUgIkxheWVyVHJlZUhvc3QuaCIKIAotI2lmIFBMQVRGT1JNKE1BQykKLSNpbmNs
dWRlICJMYXllclRyZWVIb3N0TWFjLmgiCi0jZW5kaWYKLQogI2lmIFVTRShDT09SRElOQVRFRF9H
UkFQSElDUykKICNpbmNsdWRlICJDb29yZGluYXRlZExheWVyVHJlZUhvc3QuaCIKICNlbmRpZgpA
QCAtNDQsOSArNDAsNyBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogUGFzc1JlZlB0cjxMYXllclRy
ZWVIb3N0PiBMYXllclRyZWVIb3N0OjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKIHsKLSNpZiBQ
TEFURk9STShNQUMpCi0gICAgcmV0dXJuIExheWVyVHJlZUhvc3RNYWM6OmNyZWF0ZSh3ZWJQYWdl
KTsKLSNlbGlmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykKKyNpZiBVU0UoQ09PUkRJTkFURURf
R1JBUEhJQ1MpCiAgICAgcmV0dXJuIENvb3JkaW5hdGVkTGF5ZXJUcmVlSG9zdDo6Y3JlYXRlKHdl
YlBhZ2UpOwogI2VsaWYgUExBVEZPUk0oR1RLKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAg
ICAgcmV0dXJuIExheWVyVHJlZUhvc3RHdGs6OmNyZWF0ZSh3ZWJQYWdlKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvTGF5ZXJUcmVlSG9zdE1hYy5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9MYXllclRyZWVIb3N0TWFj
LmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGE2MmVlYmMuLjAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9MYXllclRyZWVIb3N0TWFjLmgK
KysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpZm5kZWYgTGF5
ZXJUcmVlSG9zdE1hY19oCi0jZGVmaW5lIExheWVyVHJlZUhvc3RNYWNfaAotCi0jaW5jbHVkZSAi
TGF5ZXJUcmVlSG9zdC5oIgotI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllckNsaWVudC5o
PgotI2luY2x1ZGUgPFdlYkNvcmUvTGF5ZXJGbHVzaFNjaGVkdWxlci5oPgotI2luY2x1ZGUgPFdl
YkNvcmUvTGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJLaXQgewotCi1jbGFzcyBMYXllckhvc3RpbmdDb250ZXh0Owot
Y2xhc3MgUGFnZU92ZXJsYXk7Ci0KLWNsYXNzIExheWVyVHJlZUhvc3RNYWMgOiBwdWJsaWMgTGF5
ZXJUcmVlSG9zdCwgcHJpdmF0ZSBXZWJDb3JlOjpHcmFwaGljc0xheWVyQ2xpZW50LCBwcml2YXRl
IFdlYkNvcmU6OkxheWVyRmx1c2hTY2hlZHVsZXJDbGllbnQgewotcHVibGljOgotICAgIHN0YXRp
YyBQYXNzUmVmUHRyPExheWVyVHJlZUhvc3RNYWM+IGNyZWF0ZShXZWJQYWdlKik7Ci0gICAgdmly
dHVhbCB+TGF5ZXJUcmVlSG9zdE1hYygpOwotCi1wcml2YXRlOgotICAgIGV4cGxpY2l0IExheWVy
VHJlZUhvc3RNYWMoV2ViUGFnZSopOwotCi0gICAgLy8gTGF5ZXJUcmVlSG9zdC4KLSAgICB2aXJ0
dWFsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmIGxheWVyVHJlZUNvbnRleHQoKSBPVkVSUklERTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2NoZWR1bGVMYXllckZsdXNoKCkgT1ZFUlJJREU7Ci0gICAgdmly
dHVhbCB2b2lkIHNldExheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZChib29sKSBPVkVSUklERTsK
LSAgICB2aXJ0dWFsIHZvaWQgc2V0U2hvdWxkTm90aWZ5QWZ0ZXJOZXh0U2NoZWR1bGVkTGF5ZXJG
bHVzaChib29sKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5n
TGF5ZXIoV2ViQ29yZTo6R3JhcGhpY3NMYXllciopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9p
ZCBpbnZhbGlkYXRlKCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNldE5vbkNvbXBvc2l0
ZWRDb250ZW50c05lZWREaXNwbGF5KCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHNldE5v
bkNvbXBvc2l0ZWRDb250ZW50c05lZWREaXNwbGF5SW5SZWN0KGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2Nyb2xsTm9uQ29tcG9zaXRlZENvbnRl
bnRzKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHNjcm9sbFJlY3QpIE9WRVJSSURFOwotICAgIHZp
cnR1YWwgdm9pZCBmb3JjZVJlcGFpbnQoKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2l6
ZURpZENoYW5nZShjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBuZXdTaXplKSBPVkVSUklERTsKLSAg
ICB2aXJ0dWFsIHZvaWQgZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JDaGFuZ2VkKCkgT1ZFUlJJREU7
Ci0gICAgdmlydHVhbCB2b2lkIHBhZ2VCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5Q2hhbmdlZCgpIE9W
RVJSSURFOwotCi0gICAgdmlydHVhbCB2b2lkIGRpZEluc3RhbGxQYWdlT3ZlcmxheShQYWdlT3Zl
cmxheSopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBkaWRVbmluc3RhbGxQYWdlT3Zlcmxh
eShQYWdlT3ZlcmxheSopIE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCBzZXRQYWdlT3Zlcmxh
eU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSosIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmKSBPVkVS
UklERTsKLSAgICB2aXJ0dWFsIHZvaWQgc2V0UGFnZU92ZXJsYXlPcGFjaXR5KFBhZ2VPdmVybGF5
KiwgZmxvYXQpIE9WRVJSSURFOwotCi0gICAgdmlydHVhbCB2b2lkIHBhdXNlUmVuZGVyaW5nKCkg
T1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlc3VtZVJlbmRlcmluZygpIE9WRVJSSURFOwot
Ci0gICAgdmlydHVhbCB2b2lkIHNldExheWVySG9zdGluZ01vZGUoTGF5ZXJIb3N0aW5nTW9kZSkg
T1ZFUlJJREU7Ci0KLSAgICAvLyBHcmFwaGljc0xheWVyQ2xpZW50Ci0gICAgdmlydHVhbCB2b2lk
IG5vdGlmeUFuaW1hdGlvblN0YXJ0ZWQoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIGRv
dWJsZSB0aW1lKSBPVkVSUklERTsKLSAgICB2aXJ0dWFsIHZvaWQgbm90aWZ5Rmx1c2hSZXF1aXJl
ZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2
b2lkIHBhaW50Q29udGVudHMoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciosIFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dCYsIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXJQYWludGluZ1BoYXNlLCBj
b25zdCBXZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCkgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcigpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9p
ZCBkaWRDb21taXRDaGFuZ2VzRm9yTGF5ZXIoY29uc3QgV2ViQ29yZTo6R3JhcGhpY3NMYXllciop
IGNvbnN0IE9WRVJSSURFIHsgfQotCi0gICAgLy8gTGF5ZXJGbHVzaFNjaGVkdWxlckNsaWVudAot
ICAgIHZpcnR1YWwgYm9vbCBmbHVzaExheWVycygpOwotCi0gICAgdm9pZCBpbml0aWFsaXplKCk7
Ci0gICAgdm9pZCBwZXJmb3JtU2NoZWR1bGVkTGF5ZXJGbHVzaCgpOwotICAgIGJvb2wgZmx1c2hQ
ZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7Ci0KLSAgICB2b2lkIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIo
UGFnZU92ZXJsYXkqKTsKLSAgICB2b2lkIGRlc3Ryb3lQYWdlT3ZlcmxheUxheWVyKFBhZ2VPdmVy
bGF5Kik7Ci0KLSAgICBib29sIG1faXNWYWxpZDsKLSAgICBib29sIG1fbm90aWZ5QWZ0ZXJTY2hl
ZHVsZWRMYXllckZsdXNoOwotCi0gICAgTGF5ZXJUcmVlQ29udGV4dCBtX2xheWVyVHJlZUNvbnRl
eHQ7Ci0KLSAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4gbV9yb290
TGF5ZXI7Ci0gICAgc3RkOjp1bmlxdWVfcHRyPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI+IG1fbm9u
Q29tcG9zaXRlZENvbnRlbnRMYXllcjsKLSAgICB0eXBlZGVmIEhhc2hNYXA8UGFnZU92ZXJsYXkq
LCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQ29yZTo6R3JhcGhpY3NMYXllcj4+IFBhZ2VPdmVybGF5TGF5
ZXJNYXA7Ci0gICAgUGFnZU92ZXJsYXlMYXllck1hcCBtX3BhZ2VPdmVybGF5TGF5ZXJzOwotCi0g
ICAgc3RkOjp1bmlxdWVfcHRyPExheWVySG9zdGluZ0NvbnRleHQ+IG1fbGF5ZXJIb3N0aW5nQ29u
dGV4dDsKLSAgICBXZWJDb3JlOjpMYXllckZsdXNoU2NoZWR1bGVyIG1fbGF5ZXJGbHVzaFNjaGVk
dWxlcjsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYktpdAotCi0jZW5kaWYgLy8gTGF5ZXJUcmVl
SG9zdE1hY19oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
bWFjL0xheWVyVHJlZUhvc3RNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL0xheWVyVHJlZUhvc3RNYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDNiNzg2ZjAuLjAwMDAwMDAKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L21hYy9MYXllclRyZWVIb3N0TWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNDExICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jaW1wb3J0ICJjb25maWcuaCIKLSNpbXBvcnQgIkxheWVyVHJlZUhvc3RN
YWMuaCIKLQotI2ltcG9ydCAiRHJhd2luZ0FyZWFJbXBsLmgiCi0jaW1wb3J0ICJMYXllckhvc3Rp
bmdDb250ZXh0LmgiCi0jaW1wb3J0ICJXZWJQYWdlLmgiCi0jaW1wb3J0ICJXZWJQcm9jZXNzLmgi
Ci0jaW1wb3J0IDxRdWFydHpDb3JlL0NBVHJhbnNhY3Rpb24uaD4KLSNpbXBvcnQgPFdlYkNvcmUv
RnJhbWVWaWV3Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXJDQS5oPgotI2ltcG9y
dCA8V2ViQ29yZS9NYWluRnJhbWUuaD4KLSNpbXBvcnQgPFdlYkNvcmUvUGxhdGZvcm1DQUxheWVy
Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1NldHRpbmdzLmg+Ci0KLXVzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOwotCi1AaW50ZXJmYWNlIENBVHJhbnNhY3Rpb24gKERldGFpbHMpCi0rICh2b2lkKXN5bmNo
cm9uaXplOwotQGVuZAotCi1uYW1lc3BhY2UgV2ViS2l0IHsKLQotUGFzc1JlZlB0cjxMYXllclRy
ZWVIb3N0TWFjPiBMYXllclRyZWVIb3N0TWFjOjpjcmVhdGUoV2ViUGFnZSogd2ViUGFnZSkKLXsK
LSAgICBSZWZQdHI8TGF5ZXJUcmVlSG9zdE1hYz4gaG9zdCA9IGFkb3B0UmVmKG5ldyBMYXllclRy
ZWVIb3N0TWFjKHdlYlBhZ2UpKTsKLSAgICBob3N0LT5pbml0aWFsaXplKCk7Ci0gICAgcmV0dXJu
IGhvc3QucmVsZWFzZSgpOwotfQotCi1MYXllclRyZWVIb3N0TWFjOjpMYXllclRyZWVIb3N0TWFj
KFdlYlBhZ2UqIHdlYlBhZ2UpCi0gICAgOiBMYXllclRyZWVIb3N0KHdlYlBhZ2UpCi0gICAgLCBt
X2lzVmFsaWQodHJ1ZSkKLSAgICAsIG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXllckZsdXNoKGZh
bHNlKQotICAgICwgbV9sYXllckZsdXNoU2NoZWR1bGVyKHRoaXMpCi17Ci19Ci0KLUxheWVyVHJl
ZUhvc3RNYWM6On5MYXllclRyZWVIb3N0TWFjKCkKLXsKLSAgICBBU1NFUlQoIW1faXNWYWxpZCk7
Ci0gICAgQVNTRVJUKCFtX3Jvb3RMYXllcik7Ci0gICAgQVNTRVJUKCFtX2xheWVySG9zdGluZ0Nv
bnRleHQpOwotfQotCi1jb25zdCBMYXllclRyZWVDb250ZXh0JiBMYXllclRyZWVIb3N0TWFjOjps
YXllclRyZWVDb250ZXh0KCkKLXsKLSAgICByZXR1cm4gbV9sYXllclRyZWVDb250ZXh0OwotfQot
Ci12b2lkIExheWVyVHJlZUhvc3RNYWM6OnNjaGVkdWxlTGF5ZXJGbHVzaCgpCi17Ci0gICAgbV9s
YXllckZsdXNoU2NoZWR1bGVyLnNjaGVkdWxlKCk7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1h
Yzo6c2V0TGF5ZXJGbHVzaFNjaGVkdWxpbmdFbmFibGVkKGJvb2wgbGF5ZXJGbHVzaGluZ0VuYWJs
ZWQpCi17Ci0gICAgaWYgKGxheWVyRmx1c2hpbmdFbmFibGVkKQotICAgICAgICBtX2xheWVyRmx1
c2hTY2hlZHVsZXIucmVzdW1lKCk7Ci0gICAgZWxzZQotICAgICAgICBtX2xheWVyRmx1c2hTY2hl
ZHVsZXIuc3VzcGVuZCgpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OnNldFNob3VsZE5v
dGlmeUFmdGVyTmV4dFNjaGVkdWxlZExheWVyRmx1c2goYm9vbCBub3RpZnlBZnRlclNjaGVkdWxl
ZExheWVyRmx1c2gpCi17Ci0gICAgbV9ub3RpZnlBZnRlclNjaGVkdWxlZExheWVyRmx1c2ggPSBu
b3RpZnlBZnRlclNjaGVkdWxlZExheWVyRmx1c2g7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1h
Yzo6c2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoR3JhcGhpY3NMYXllciogZ3JhcGhpY3NMYXllcikK
LXsKLSAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXItPnJlbW92ZUFsbENoaWxkcmVuKCk7
Ci0KLSAgICAvLyBBZGQgdGhlIGFjY2VsZXJhdGVkIGxheWVyIHRyZWUgaGllcmFyY2h5LgotICAg
IGlmIChncmFwaGljc0xheWVyKQotICAgICAgICBtX25vbkNvbXBvc2l0ZWRDb250ZW50TGF5ZXIt
PmFkZENoaWxkKGdyYXBoaWNzTGF5ZXIpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6Omlu
dmFsaWRhdGUoKQotewotICAgIEFTU0VSVChtX2lzVmFsaWQpOwotCi0gICAgbV9pc1ZhbGlkID0g
ZmFsc2U7Ci0KLSAgICBtX3Jvb3RMYXllciA9IG51bGxwdHI7Ci0KLSAgICBtX2xheWVySG9zdGlu
Z0NvbnRleHQtPmludmFsaWRhdGUoKTsKLSAgICBtX2xheWVySG9zdGluZ0NvbnRleHQgPSBudWxs
cHRyOwotICAgIG1fbGF5ZXJGbHVzaFNjaGVkdWxlci5pbnZhbGlkYXRlKCk7Ci19Ci0KLXZvaWQg
TGF5ZXJUcmVlSG9zdE1hYzo6c2V0Tm9uQ29tcG9zaXRlZENvbnRlbnRzTmVlZERpc3BsYXkoKQot
ewotICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0TmVlZHNEaXNwbGF5KCk7Ci0K
LSAgICBQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBlbmQgPSBtX3BhZ2VPdmVybGF5TGF5
ZXJzLmVuZCgpOwotICAgIGZvciAoUGFnZU92ZXJsYXlMYXllck1hcDo6aXRlcmF0b3IgaXQgPSBt
X3BhZ2VPdmVybGF5TGF5ZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgaXQt
PnZhbHVlLT5zZXROZWVkc0Rpc3BsYXkoKTsKLQotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwot
fQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OnNldE5vbkNvbXBvc2l0ZWRDb250ZW50c05lZWRE
aXNwbGF5SW5SZWN0KGNvbnN0IEludFJlY3QmIHJlY3QpCi17Ci0gICAgbV9ub25Db21wb3NpdGVk
Q29udGVudExheWVyLT5zZXROZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7Ci0KLSAgICBQYWdlT3Zl
cmxheUxheWVyTWFwOjppdGVyYXRvciBlbmQgPSBtX3BhZ2VPdmVybGF5TGF5ZXJzLmVuZCgpOwot
ICAgIGZvciAoUGFnZU92ZXJsYXlMYXllck1hcDo6aXRlcmF0b3IgaXQgPSBtX3BhZ2VPdmVybGF5
TGF5ZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAgICAgICAgaXQtPnZhbHVlLT5zZXRO
ZWVkc0Rpc3BsYXlJblJlY3QocmVjdCk7Ci0KLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0K
LQotdm9pZCBMYXllclRyZWVIb3N0TWFjOjpzY3JvbGxOb25Db21wb3NpdGVkQ29udGVudHMoY29u
c3QgSW50UmVjdCYgc2Nyb2xsUmVjdCkKLXsKLSAgICBzZXROb25Db21wb3NpdGVkQ29udGVudHNO
ZWVkRGlzcGxheUluUmVjdChzY3JvbGxSZWN0KTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFj
Ojpmb3JjZVJlcGFpbnQoKQotewotICAgIHNjaGVkdWxlTGF5ZXJGbHVzaCgpOwotICAgIGZsdXNo
UGVuZGluZ0xheWVyQ2hhbmdlcygpOwotCi0gICAgW0NBVHJhbnNhY3Rpb24gZmx1c2hdOwotICAg
IFtDQVRyYW5zYWN0aW9uIHN5bmNocm9uaXplXTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFj
OjpzaXplRGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIG5ld1NpemUpCi17Ci0gICAgbV9yb290TGF5
ZXItPnNldFNpemUobmV3U2l6ZSk7Ci0KLSAgICAvLyBJZiB0aGUgbmV3U2l6ZSBleHBvc2VzIG5l
dyBhcmVhcyBvZiB0aGUgbm9uLWNvbXBvc2l0ZWQgY29udGVudCBhIHNldE5lZWRzRGlzcGxheSBp
cyBuZWVkZWQKLSAgICAvLyBmb3IgdGhvc2UgbmV3bHkgZXhwb3NlZCBhcmVhcy4KLSAgICBGbG9h
dFNpemUgb2xkU2l6ZSA9IG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2l6ZSgpOwotICAg
IG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0U2l6ZShuZXdTaXplKTsKLQotICAgIGlm
IChuZXdTaXplLndpZHRoKCkgPiBvbGRTaXplLndpZHRoKCkpIHsKLSAgICAgICAgZmxvYXQgaGVp
Z2h0ID0gc3RkOjptaW4oc3RhdGljX2Nhc3Q8ZmxvYXQ+KG5ld1NpemUuaGVpZ2h0KCkpLCBvbGRT
aXplLmhlaWdodCgpKTsKLSAgICAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXRO
ZWVkc0Rpc3BsYXlJblJlY3QoRmxvYXRSZWN0KG9sZFNpemUud2lkdGgoKSwgMCwgbmV3U2l6ZS53
aWR0aCgpIC0gb2xkU2l6ZS53aWR0aCgpLCBoZWlnaHQpKTsKLSAgICB9Ci0KLSAgICBpZiAobmV3
U2l6ZS5oZWlnaHQoKSA+IG9sZFNpemUuaGVpZ2h0KCkpCi0gICAgICAgIG1fbm9uQ29tcG9zaXRl
ZENvbnRlbnRMYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KEZsb2F0UmVjdCgwLCBvbGRTaXpl
LmhlaWdodCgpLCBuZXdTaXplLndpZHRoKCksIG5ld1NpemUuaGVpZ2h0KCkgLSBvbGRTaXplLmhl
aWdodCgpKSk7Ci0KLSAgICBQYWdlT3ZlcmxheUxheWVyTWFwOjppdGVyYXRvciBlbmQgPSBtX3Bh
Z2VPdmVybGF5TGF5ZXJzLmVuZCgpOwotICAgIGZvciAoUGFnZU92ZXJsYXlMYXllck1hcDo6aXRl
cmF0b3IgaXQgPSBtX3BhZ2VPdmVybGF5TGF5ZXJzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkK
LSAgICAgICAgaXQtPnZhbHVlLT5zZXRTaXplKG5ld1NpemUpOwotCi0gICAgc2NoZWR1bGVMYXll
ckZsdXNoKCk7Ci0gICAgZmx1c2hQZW5kaW5nTGF5ZXJDaGFuZ2VzKCk7Ci0KLSAgICBbQ0FUcmFu
c2FjdGlvbiBmbHVzaF07Ci0gICAgW0NBVHJhbnNhY3Rpb24gc3luY2hyb25pemVdOwotfQotCi12
b2lkIExheWVyVHJlZUhvc3RNYWM6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpCi17
Ci0gICAgLy8gT3RoZXIgbGF5ZXJzIGxlYXJuIG9mIHRoZSBzY2FsZSBmYWN0b3IgY2hhbmdlIHZp
YSBXZWJQYWdlOjpzZXREZXZpY2VTY2FsZUZhY3Rvci4KLSAgICBtX25vbkNvbXBvc2l0ZWRDb250
ZW50TGF5ZXItPmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCgpOwotfQotCi12b2lkIExh
eWVyVHJlZUhvc3RNYWM6OnBhZ2VCYWNrZ3JvdW5kVHJhbnNwYXJlbmN5Q2hhbmdlZCgpCi17Ci0g
ICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXRDb250ZW50c09wYXF1ZShtX3dlYlBh
Z2UtPmRyYXdzQmFja2dyb3VuZCgpICYmICFtX3dlYlBhZ2UtPmRyYXdzVHJhbnNwYXJlbnRCYWNr
Z3JvdW5kKCkpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OmRpZEluc3RhbGxQYWdlT3Zl
cmxheShQYWdlT3ZlcmxheSogcGFnZU92ZXJsYXkpCi17Ci0gICAgY3JlYXRlUGFnZU92ZXJsYXlM
YXllcihwYWdlT3ZlcmxheSk7Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQg
TGF5ZXJUcmVlSG9zdE1hYzo6ZGlkVW5pbnN0YWxsUGFnZU92ZXJsYXkoUGFnZU92ZXJsYXkqIHBh
Z2VPdmVybGF5KQotewotICAgIGRlc3Ryb3lQYWdlT3ZlcmxheUxheWVyKHBhZ2VPdmVybGF5KTsK
LSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFjOjpz
ZXRQYWdlT3ZlcmxheU5lZWRzRGlzcGxheShQYWdlT3ZlcmxheSogcGFnZU92ZXJsYXksIGNvbnN0
IEludFJlY3QmIHJlY3QpCi17Ci0gICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBtX3BhZ2VPdmVy
bGF5TGF5ZXJzLmdldChwYWdlT3ZlcmxheSk7Ci0KLSAgICBpZiAoIWxheWVyKQotICAgICAgICBy
ZXR1cm47Ci0KLSAgICBsYXllci0+c2V0TmVlZHNEaXNwbGF5SW5SZWN0KHJlY3QpOwotICAgIHNj
aGVkdWxlTGF5ZXJGbHVzaCgpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OnNldFBhZ2VP
dmVybGF5T3BhY2l0eShQYWdlT3ZlcmxheSogcGFnZU92ZXJsYXksIGZsb2F0IG9wYWNpdHkpCi17
Ci0gICAgR3JhcGhpY3NMYXllciogbGF5ZXIgPSBtX3BhZ2VPdmVybGF5TGF5ZXJzLmdldChwYWdl
T3ZlcmxheSk7Ci0KLSAgICBpZiAoIWxheWVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBsYXll
ci0+c2V0T3BhY2l0eShvcGFjaXR5KTsKLSAgICBzY2hlZHVsZUxheWVyRmx1c2goKTsKLX0KLQot
dm9pZCBMYXllclRyZWVIb3N0TWFjOjpwYXVzZVJlbmRlcmluZygpCi17Ci0gICAgQ0FMYXllciog
cm9vdCA9IG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCk7Ci0gICAgW3Jvb3Qgc2V0VmFsdWU6
KGlkKWtDRkJvb2xlYW5UcnVlIGZvcktleTpAIk5TQ0FWaWV3UmVuZGVyUGF1c2VkIl07Ci0gICAg
W1tOU05vdGlmaWNhdGlvbkNlbnRlciBkZWZhdWx0Q2VudGVyXSBwb3N0Tm90aWZpY2F0aW9uTmFt
ZTpAIk5TQ0FWaWV3UmVuZGVyRGlkUGF1c2VOb3RpZmljYXRpb24iIG9iamVjdDpuaWwgdXNlcklu
Zm86W05TRGljdGlvbmFyeSBkaWN0aW9uYXJ5V2l0aE9iamVjdDpyb290IGZvcktleTpAImxheWVy
Il1dOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OnJlc3VtZVJlbmRlcmluZygpCi17Ci0g
ICAgQ0FMYXllciogcm9vdCA9IG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCk7Ci0gICAgW3Jv
b3Qgc2V0VmFsdWU6KGlkKWtDRkJvb2xlYW5GYWxzZSBmb3JLZXk6QCJOU0NBVmlld1JlbmRlclBh
dXNlZCJdOwotICAgIFtbTlNOb3RpZmljYXRpb25DZW50ZXIgZGVmYXVsdENlbnRlcl0gcG9zdE5v
dGlmaWNhdGlvbk5hbWU6QCJOU0NBVmlld1JlbmRlckRpZFJlc3VtZU5vdGlmaWNhdGlvbiIgb2Jq
ZWN0Om5pbCB1c2VySW5mbzpbTlNEaWN0aW9uYXJ5IGRpY3Rpb25hcnlXaXRoT2JqZWN0OnJvb3Qg
Zm9yS2V5OkAibGF5ZXIiXV07Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6c2V0TGF5ZXJI
b3N0aW5nTW9kZShMYXllckhvc3RpbmdNb2RlIGxheWVySG9zdGluZ01vZGUpCi17Ci0gICAgaWYg
KGxheWVySG9zdGluZ01vZGUgPT0gbV9sYXllckhvc3RpbmdDb250ZXh0LT5sYXllckhvc3RpbmdN
b2RlKCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFRoZSBtb2RlIGhhcyBjaGFuZ2VkLgot
Ci0gICAgLy8gRmlyc3QsIGludmFsaWRhdGUgdGhlIG9sZCBob3N0aW5nIGNvbnRleHQuCi0gICAg
bV9sYXllckhvc3RpbmdDb250ZXh0LT5pbnZhbGlkYXRlKCk7Ci0gICAgbV9sYXllckhvc3RpbmdD
b250ZXh0ID0gbnVsbHB0cjsKLQotICAgIC8vIENyZWF0ZSBhIG5ldyBjb250ZXh0IGFuZCBzZXQg
aXQgdXAuCi0gICAgc3dpdGNoIChsYXllckhvc3RpbmdNb2RlKSB7Ci0gICAgY2FzZSBMYXllckhv
c3RpbmdNb2RlRGVmYXVsdDoKLSAgICAgICAgbV9sYXllckhvc3RpbmdDb250ZXh0ID0gTGF5ZXJI
b3N0aW5nQ29udGV4dDo6Y3JlYXRlRm9yUG9ydChXZWJQcm9jZXNzOjpzaGFyZWQoKS5jb21wb3Np
dGluZ1JlbmRlclNlcnZlclBvcnQoKSk7Ci0gICAgICAgIGJyZWFrOwotI2lmIEhBVkUoTEFZRVJf
SE9TVElOR19JTl9XSU5ET1dfU0VSVkVSKQotICAgIGNhc2UgTGF5ZXJIb3N0aW5nTW9kZUluV2lu
ZG93U2VydmVyOgotICAgICAgICBtX2xheWVySG9zdGluZ0NvbnRleHQgPSBMYXllckhvc3RpbmdD
b250ZXh0OjpjcmVhdGVGb3JXaW5kb3dTZXJ2ZXIoKTsgICAgICAgIAotICAgICAgICBicmVhazsK
LSNlbmRpZgotICAgIH0KLQotICAgIG1fbGF5ZXJIb3N0aW5nQ29udGV4dC0+c2V0Um9vdExheWVy
KG1fcm9vdExheWVyLT5wbGF0Zm9ybUxheWVyKCkpOwotICAgIG1fbGF5ZXJUcmVlQ29udGV4dC5j
b250ZXh0SUQgPSBtX2xheWVySG9zdGluZ0NvbnRleHQtPmNvbnRleHRJRCgpOwotCi0gICAgc2No
ZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6bm90aWZ5QW5p
bWF0aW9uU3RhcnRlZChjb25zdCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKiwgZG91YmxlIHRpbWUp
Ci17Ci19Ci0KLXZvaWQgTGF5ZXJUcmVlSG9zdE1hYzo6bm90aWZ5Rmx1c2hSZXF1aXJlZChjb25z
dCBXZWJDb3JlOjpHcmFwaGljc0xheWVyKikKLXsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFj
OjpwYWludENvbnRlbnRzKGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGdyYXBoaWNzTGF5ZXIsIEdyYXBo
aWNzQ29udGV4dCYgZ3JhcGhpY3NDb250ZXh0LCBHcmFwaGljc0xheWVyUGFpbnRpbmdQaGFzZSwg
Y29uc3QgSW50UmVjdCYgY2xpcFJlY3QpCi17Ci0gICAgaWYgKGdyYXBoaWNzTGF5ZXIgPT0gbV9u
b25Db21wb3NpdGVkQ29udGVudExheWVyLmdldCgpKSB7Ci0gICAgICAgIG1fd2ViUGFnZS0+ZHJh
d1JlY3QoZ3JhcGhpY3NDb250ZXh0LCBjbGlwUmVjdCk7Ci0gICAgICAgIHJldHVybjsKLSAgICB9
Ci0KLSAgICBmb3IgKGF1dG8mIHBhZ2VPdmVybGF5TGF5ZXIgOiBtX3BhZ2VPdmVybGF5TGF5ZXJz
KSB7Ci0gICAgICAgIGlmIChwYWdlT3ZlcmxheUxheWVyLnZhbHVlLmdldCgpID09IGdyYXBoaWNz
TGF5ZXIpIHsKLSAgICAgICAgICAgIG1fd2ViUGFnZS0+ZHJhd1BhZ2VPdmVybGF5KHBhZ2VPdmVy
bGF5TGF5ZXIua2V5LCBncmFwaGljc0NvbnRleHQsIGNsaXBSZWN0KTsKLSAgICAgICAgICAgIGJy
ZWFrOwotICAgICAgICB9Ci0gICAgfQotfQotCi1mbG9hdCBMYXllclRyZWVIb3N0TWFjOjpkZXZp
Y2VTY2FsZUZhY3RvcigpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIG1fd2ViUGFnZS0+Y29yZVBhZ2Uo
KS0+ZGV2aWNlU2NhbGVGYWN0b3IoKTsKLX0KLQotYm9vbCBMYXllclRyZWVIb3N0TWFjOjpmbHVz
aExheWVycygpCi17Ci0gICAgcGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKTsKLSAgICByZXR1
cm4gdHJ1ZTsKLX0KLQotdm9pZCBMYXllclRyZWVIb3N0TWFjOjppbml0aWFsaXplKCkKLXsKLSAg
ICAvLyBDcmVhdGUgYSByb290IGxheWVyLgotICAgIG1fcm9vdExheWVyID0gR3JhcGhpY3NMYXll
cjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksIHRoaXMpOwotI2lmbmRlZiBOREVCVUcK
LSAgICBtX3Jvb3RMYXllci0+c2V0TmFtZSgiTGF5ZXJUcmVlSG9zdCByb290IGxheWVyIik7Ci0j
ZW5kaWYKLSAgICBtX3Jvb3RMYXllci0+c2V0RHJhd3NDb250ZW50KGZhbHNlKTsKLSAgICBtX3Jv
b3RMYXllci0+c2V0U2l6ZShtX3dlYlBhZ2UtPnNpemUoKSk7Ci0gICAgc3RhdGljX2Nhc3Q8R3Jh
cGhpY3NMYXllckNBKj4obV9yb290TGF5ZXIuZ2V0KCkpLT5wbGF0Zm9ybUNBTGF5ZXIoKS0+c2V0
R2VvbWV0cnlGbGlwcGVkKHRydWUpOwotCi0gICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVy
ID0gR3JhcGhpY3NMYXllcjo6Y3JlYXRlKGdyYXBoaWNzTGF5ZXJGYWN0b3J5KCksIHRoaXMpOwot
ICAgIHN0YXRpY19jYXN0PEdyYXBoaWNzTGF5ZXJDQSo+KG1fbm9uQ29tcG9zaXRlZENvbnRlbnRM
YXllci5nZXQoKSktPnNldEFsbG93VGlsZWRMYXllcihmYWxzZSk7Ci0jaWZuZGVmIE5ERUJVRwot
ICAgIG1fbm9uQ29tcG9zaXRlZENvbnRlbnRMYXllci0+c2V0TmFtZSgiTGF5ZXJUcmVlSG9zdCBu
b24tY29tcG9zaXRlZCBjb250ZW50Iik7Ci0jZW5kaWYKLSAgICBtX25vbkNvbXBvc2l0ZWRDb250
ZW50TGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKLSAgICBtX25vbkNvbXBvc2l0ZWRDb250
ZW50TGF5ZXItPnNldENvbnRlbnRzT3BhcXVlKG1fd2ViUGFnZS0+ZHJhd3NCYWNrZ3JvdW5kKCkg
JiYgIW1fd2ViUGFnZS0+ZHJhd3NUcmFuc3BhcmVudEJhY2tncm91bmQoKSk7Ci0gICAgbV9ub25D
b21wb3NpdGVkQ29udGVudExheWVyLT5zZXRTaXplKG1fd2ViUGFnZS0+c2l6ZSgpKTsKLSAgICBp
ZiAobV93ZWJQYWdlLT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLmFjY2VsZXJhdGVkRHJhd2luZ0Vu
YWJsZWQoKSkKLSAgICAgICAgbV9ub25Db21wb3NpdGVkQ29udGVudExheWVyLT5zZXRBY2NlbGVy
YXRlc0RyYXdpbmcodHJ1ZSk7Ci0KLSAgICBtX3Jvb3RMYXllci0+YWRkQ2hpbGQobV9ub25Db21w
b3NpdGVkQ29udGVudExheWVyLmdldCgpKTsKLQotICAgIGlmIChtX3dlYlBhZ2UtPmhhc1BhZ2VP
dmVybGF5KCkpIHsKLSAgICAgICAgUGFnZU92ZXJsYXlMaXN0JiBwYWdlT3ZlcmxheXMgPSBtX3dl
YlBhZ2UtPnBhZ2VPdmVybGF5cygpOwotICAgICAgICBQYWdlT3ZlcmxheUxpc3Q6Oml0ZXJhdG9y
IGVuZCA9IHBhZ2VPdmVybGF5cy5lbmQoKTsKLSAgICAgICAgZm9yIChQYWdlT3ZlcmxheUxpc3Q6
Oml0ZXJhdG9yIGl0ID0gcGFnZU92ZXJsYXlzLmJlZ2luKCk7IGl0ICE9IGVuZDsgKytpdCkKLSAg
ICAgICAgICAgIGNyZWF0ZVBhZ2VPdmVybGF5TGF5ZXIoaXQtPmdldCgpKTsKLSAgICB9Ci0KLSAg
ICBzd2l0Y2ggKG1fd2ViUGFnZS0+bGF5ZXJIb3N0aW5nTW9kZSgpKSB7Ci0gICAgICAgIGNhc2Ug
TGF5ZXJIb3N0aW5nTW9kZURlZmF1bHQ6Ci0gICAgICAgICAgICBtX2xheWVySG9zdGluZ0NvbnRl
eHQgPSBMYXllckhvc3RpbmdDb250ZXh0OjpjcmVhdGVGb3JQb3J0KFdlYlByb2Nlc3M6OnNoYXJl
ZCgpLmNvbXBvc2l0aW5nUmVuZGVyU2VydmVyUG9ydCgpKTsKLSAgICAgICAgICAgIGJyZWFrOwot
I2lmIEhBVkUoTEFZRVJfSE9TVElOR19JTl9XSU5ET1dfU0VSVkVSKQotICAgICAgICBjYXNlIExh
eWVySG9zdGluZ01vZGVJbldpbmRvd1NlcnZlcjoKLSAgICAgICAgICAgIG1fbGF5ZXJIb3N0aW5n
Q29udGV4dCA9IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvcldpbmRvd1NlcnZlcigpOwot
ICAgICAgICAgICAgYnJlYWs7Ci0jZW5kaWYKLSAgICB9Ci0KLSAgICBtX2xheWVySG9zdGluZ0Nv
bnRleHQtPnNldFJvb3RMYXllcihtX3Jvb3RMYXllci0+cGxhdGZvcm1MYXllcigpKTsKLSAgICBt
X2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0gbV9sYXllckhvc3RpbmdDb250ZXh0LT5jb250
ZXh0SUQoKTsKLQotICAgIHNldExheWVyRmx1c2hTY2hlZHVsaW5nRW5hYmxlZCghbV93ZWJQYWdl
LT5kcmF3aW5nQXJlYSgpIHx8ICFtX3dlYlBhZ2UtPmRyYXdpbmdBcmVhKCktPmxheWVyVHJlZVN0
YXRlSXNGcm96ZW4oKSk7Ci0gICAgc2NoZWR1bGVMYXllckZsdXNoKCk7Ci19Ci0KLXZvaWQgTGF5
ZXJUcmVlSG9zdE1hYzo6cGVyZm9ybVNjaGVkdWxlZExheWVyRmx1c2goKQotewotICAgIHsKLSAg
ICAgICAgUmVmPExheWVyVHJlZUhvc3RNYWM+IHByb3RlY3QoKnRoaXMpOwotICAgICAgICBtX3dl
YlBhZ2UtPmxheW91dElmTmVlZGVkKCk7Ci0KLSAgICAgICAgaWYgKCFtX2lzVmFsaWQpCi0gICAg
ICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAgaWYgKCFmbHVzaFBlbmRpbmdMYXllckNoYW5n
ZXMoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRM
YXllckZsdXNoKSB7Ci0gICAgICAgIC8vIExldCB0aGUgZHJhd2luZyBhcmVhIGtub3cgdGhhdCB3
ZSd2ZSBkb25lIGEgZmx1c2ggb2YgdGhlIGxheWVyIGNoYW5nZXMuCi0gICAgICAgIHN0YXRpY19j
YXN0PERyYXdpbmdBcmVhSW1wbCo+KG1fd2ViUGFnZS0+ZHJhd2luZ0FyZWEoKSktPmxheWVySG9z
dERpZEZsdXNoTGF5ZXJzKCk7Ci0gICAgICAgIG1fbm90aWZ5QWZ0ZXJTY2hlZHVsZWRMYXllckZs
dXNoID0gZmFsc2U7Ci0gICAgfQotfQotCi1ib29sIExheWVyVHJlZUhvc3RNYWM6OmZsdXNoUGVu
ZGluZ0xheWVyQ2hhbmdlcygpCi17Ci0gICAgaWYgKG1fbGF5ZXJGbHVzaFNjaGVkdWxlci5pc1N1
c3BlbmRlZCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBtX3Jvb3RMYXllci0+Zmx1
c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwotICAgIG1fbm9uQ29tcG9zaXRl
ZENvbnRlbnRMYXllci0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwot
Ci0gICAgUGFnZU92ZXJsYXlMYXllck1hcDo6aXRlcmF0b3IgZW5kID0gbV9wYWdlT3ZlcmxheUxh
eWVycy5lbmQoKTsKLSAgICBmb3IgKFBhZ2VPdmVybGF5TGF5ZXJNYXA6Oml0ZXJhdG9yIGl0ID0g
bV9wYWdlT3ZlcmxheUxheWVycy5iZWdpbigpOyBpdCAhPSBlbmQ7ICsraXQpCi0gICAgICAgIGl0
LT52YWx1ZS0+Zmx1c2hDb21wb3NpdGluZ1N0YXRlRm9yVGhpc0xheWVyT25seSgpOwotCi0gICAg
cmV0dXJuIG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+bWFpbkZyYW1lKCkudmlldygpLT5mbHVzaENv
bXBvc2l0aW5nU3RhdGVJbmNsdWRpbmdTdWJmcmFtZXMoKTsKLX0KLQotdm9pZCBMYXllclRyZWVI
b3N0TWFjOjpjcmVhdGVQYWdlT3ZlcmxheUxheWVyKFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkK
LXsKLSAgICBzdGQ6OnVuaXF1ZV9wdHI8R3JhcGhpY3NMYXllcj4gbGF5ZXIgPSBHcmFwaGljc0xh
eWVyOjpjcmVhdGUoZ3JhcGhpY3NMYXllckZhY3RvcnkoKSwgdGhpcyk7Ci0jaWZuZGVmIE5ERUJV
RwotICAgIGxheWVyLT5zZXROYW1lKCJMYXllclRyZWVIb3N0IHBhZ2Ugb3ZlcmxheSBjb250ZW50
Iik7Ci0jZW5kaWYKLQotICAgIGxheWVyLT5zZXRBY2NlbGVyYXRlc0RyYXdpbmcobV93ZWJQYWdl
LT5jb3JlUGFnZSgpLT5zZXR0aW5ncygpLmFjY2VsZXJhdGVkRHJhd2luZ0VuYWJsZWQoKSk7Ci0g
ICAgbGF5ZXItPnNldERyYXdzQ29udGVudCh0cnVlKTsKLSAgICBsYXllci0+c2V0U2l6ZShtX3dl
YlBhZ2UtPnNpemUoKSk7Ci0gICAgbGF5ZXItPnNldFNob3dEZWJ1Z0JvcmRlcihtX3dlYlBhZ2Ut
PmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc2hvd0RlYnVnQm9yZGVycygpKTsKLSAgICBsYXllci0+
c2V0U2hvd1JlcGFpbnRDb3VudGVyKG1fd2ViUGFnZS0+Y29yZVBhZ2UoKS0+c2V0dGluZ3MoKS5z
aG93UmVwYWludENvdW50ZXIoKSk7Ci0KLSAgICBtX3Jvb3RMYXllci0+YWRkQ2hpbGQobGF5ZXIu
Z2V0KCkpOwotCi0gICAgbV9wYWdlT3ZlcmxheUxheWVycy5hZGQocGFnZU92ZXJsYXksIHN0ZDo6
bW92ZShsYXllcikpOwotfQotCi12b2lkIExheWVyVHJlZUhvc3RNYWM6OmRlc3Ryb3lQYWdlT3Zl
cmxheUxheWVyKFBhZ2VPdmVybGF5KiBwYWdlT3ZlcmxheSkKLXsKLSAgICBzdGQ6OnVuaXF1ZV9w
dHI8R3JhcGhpY3NMYXllcj4gbGF5ZXIgPSBtX3BhZ2VPdmVybGF5TGF5ZXJzLnRha2UocGFnZU92
ZXJsYXkpOwotICAgIEFTU0VSVChsYXllcik7Ci0KLSAgICBsYXllci0+cmVtb3ZlRnJvbVBhcmVu
dCgpOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5n
ZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBkMWZiMTZmLi5mZjc5N2NkIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAK
KzIwMTMtMTAtMDIgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisKKyAg
ICAgICAgW21hY10gU3RvcCB1c2luZyBEcmF3aW5nQXJlYUltcGwgb24gUExBVEZPUk0oTUFDKSAK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyMTg1OQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vMTUwNjkzNTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0
aW9uLmNwcDoKKyAgICAgICAgKFdUUjo6c2hvdWxkVXNlVGhyZWFkZWRTY3JvbGxpbmcpOgorICAg
ICAgICAoV1RSOjp1cGRhdGVUaHJlYWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KToKKyAgICAg
ICAgKFdUUjo6VGVzdEludm9jYXRpb246Omludm9rZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9tYWMvUGxhdGZvcm1XZWJWaWV3TWFjLm1tOgorICAgICAgICAoLVtUZXN0UnVubmVyV0tW
aWV3IGluaXRXaXRoRnJhbWU6Y29udGV4dFJlZjpwYWdlR3JvdXBSZWY6cmVsYXRlZFRvUGFnZTp1
c2VUaHJlYWRlZFNjcm9sbGluZzpdKToKKyAgICAgICAgKFdUUjo6UGxhdGZvcm1XZWJWaWV3OjpQ
bGF0Zm9ybVdlYlZpZXcpOgorICAgICAgICAoV1RSOjpQbGF0Zm9ybVdlYlZpZXc6OnZpZXdTdXBw
b3J0c09wdGlvbnMpOgorICAgICAgICBSZW5hbWUgdGhlIHRpbGVkIGRyYXdpbmcgc3dpdGNoIHRv
IHRocmVhZGVkIHNjcm9sbGluZywgc2luY2UgdGhhdCdzIHJlYWxseQorICAgICAgICBhbGwgaXQg
c3dpdGNoZXMgbm93IHRoYXQgd2UgdXNlIHRpbGVkIGRyYXdpbmcgZXZlcnl3aGVyZS4KKworICAg
ICAgICBVc2UgYW4gdW5idWZmZXJlZCB3aW5kb3csIGFzIHdlbGwsIHRvIGF2b2lkIHNuYXBzaG90
dGluZyBpc3N1ZXMgb24gc29tZSBwbGF0Zm9ybXMKKyAgICAgICAgYW5kIHRvIG1vcmUgY2xvc2Vs
eSBtYXRjaCB0aGUgY2FzZSB3ZSdyZSBpbnRlcmVzdGVkIGluIHRlc3RpbmcuCisKIDIwMTMtMTAt
MDIgIMOBZMOhbSBLYWxsYWkgIDxrYWRhbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgUmVt
b3ZlIFF0IGJvdHMgYW5kIEVXUyBmcm9tIHRydW5rLgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RJbnZvY2F0aW9uLmNwcAppbmRleCA3MjI5YTg0Li5iNjEyMWQzIDEwMDY0NAotLS0gYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcApAQCAtMTUwLDE5ICsxNTAsMTkgQEAgc3RhdGlj
IGJvb2wgc2hvdWxkT3BlbldlYkluc3BlY3Rvcihjb25zdCBjaGFyKiBwYXRoT3JVUkwpCiAjZW5k
aWYKIAogI2lmIFBMQVRGT1JNKE1BQykKLXN0YXRpYyBib29sIHNob3VsZFVzZVRpbGVkRHJhd2lu
Zyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCitzdGF0aWMgYm9vbCBzaG91bGRVc2VUaHJlYWRlZFNj
cm9sbGluZyhjb25zdCBjaGFyKiBwYXRoT3JVUkwpCiB7CiAgICAgcmV0dXJuIHN0cnN0cihwYXRo
T3JVUkwsICJ0aWxlZC1kcmF3aW5nLyIpIHx8IHN0cnN0cihwYXRoT3JVUkwsICJ0aWxlZC1kcmF3
aW5nXFwiKTsKIH0KICNlbmRpZgogCi1zdGF0aWMgdm9pZCB1cGRhdGVUaWxlZERyYXdpbmdGb3JD
dXJyZW50VGVzdChjb25zdCBjaGFyKiBwYXRoT3JVUkwpCitzdGF0aWMgdm9pZCB1cGRhdGVUaHJl
YWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KGNvbnN0IGNoYXIqIHBhdGhPclVSTCkKIHsKICNp
ZiBQTEFURk9STShNQUMpCiAgICAgV0tSZXRhaW5QdHI8V0tNdXRhYmxlRGljdGlvbmFyeVJlZj4g
dmlld09wdGlvbnMgPSBhZG9wdFdLKFdLTXV0YWJsZURpY3Rpb25hcnlDcmVhdGUoKSk7Ci0gICAg
V0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVzZVRpbGVkRHJhd2luZ0tleSA9IGFkb3B0V0soV0tT
dHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRpbGVkRHJhd2luZyIpKTsKLSAgICBXS1JldGFp
blB0cjxXS0Jvb2xlYW5SZWY+IHVzZVRpbGVkRHJhd2luZ1ZhbHVlID0gYWRvcHRXSyhXS0Jvb2xl
YW5DcmVhdGUoc2hvdWxkVXNlVGlsZWREcmF3aW5nKHBhdGhPclVSTCkpKTsKLSAgICBXS0RpY3Rp
b25hcnlBZGRJdGVtKHZpZXdPcHRpb25zLmdldCgpLCB1c2VUaWxlZERyYXdpbmdLZXkuZ2V0KCks
IHVzZVRpbGVkRHJhd2luZ1ZhbHVlLmdldCgpKTsKKyAgICBXS1JldGFpblB0cjxXS1N0cmluZ1Jl
Zj4gdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkgPSBhZG9wdFdLKFdLU3RyaW5nQ3JlYXRlV2l0aFVU
RjhDU3RyaW5nKCJUaHJlYWRlZFNjcm9sbGluZyIpKTsKKyAgICBXS1JldGFpblB0cjxXS0Jvb2xl
YW5SZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0
ZShzaG91bGRVc2VUaHJlYWRlZFNjcm9sbGluZyhwYXRoT3JVUkwpKSk7CisgICAgV0tEaWN0aW9u
YXJ5QWRkSXRlbSh2aWV3T3B0aW9ucy5nZXQoKSwgdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkuZ2V0
KCksIHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUuZ2V0KCkpOwogCiAgICAgVGVzdENvbnRyb2xs
ZXI6OnNoYXJlZCgpLmVuc3VyZVZpZXdTdXBwb3J0c09wdGlvbnModmlld09wdGlvbnMuZ2V0KCkp
OwogI2Vsc2UKQEAgLTIwMSw3ICsyMDEsNyBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjppbnZva2Uo
KQogICAgIFRlc3RDb250cm9sbGVyOjpUaW1lb3V0RHVyYXRpb24gdGltZW91dFRvVXNlID0gVGVz
dENvbnRyb2xsZXI6OkxvbmdUaW1lb3V0OwogICAgIHNpemVXZWJWaWV3Rm9yQ3VycmVudFRlc3Qo
bV9wYXRoT3JVUkwuY19zdHIoKSk7CiAgICAgdXBkYXRlTGF5b3V0VHlwZShtX3BhdGhPclVSTC5j
X3N0cigpKTsKLSAgICB1cGRhdGVUaWxlZERyYXdpbmdGb3JDdXJyZW50VGVzdChtX3BhdGhPclVS
TC5jX3N0cigpKTsKKyAgICB1cGRhdGVUaHJlYWRlZFNjcm9sbGluZ0ZvckN1cnJlbnRUZXN0KG1f
cGF0aE9yVVJMLmNfc3RyKCkpOwogCiAgICAgbV90ZXh0T3V0cHV0LmNsZWFyKCk7CiAKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbSBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQppbmRleCBh
ZWI4MjQ0Li5mM2E5MTRlIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9Q
bGF0Zm9ybVdlYlZpZXdNYWMubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxh
dGZvcm1XZWJWaWV3TWFjLm1tCkBAIC0zNSw2ICszNSwxMCBAQAogCiB1c2luZyBuYW1lc3BhY2Ug
V1RSOwogCitlbnVtIHsKKyAgICBfTlNCYWNraW5nU3RvcmVVbmJ1ZmZlcmVkID0gMworfTsKKwog
QGludGVyZmFjZSBXZWJLaXRUZXN0UnVubmVyV2luZG93IDogTlNXaW5kb3cgewogICAgIFBsYXRm
b3JtV2ViVmlldyogX3BsYXRmb3JtV2ViVmlldzsKICAgICBOU1BvaW50IF9mYWtlT3JpZ2luOwpA
QCAtNDMsMjkgKzQ3LDI0IEBAIHVzaW5nIG5hbWVzcGFjZSBXVFI7CiBAZW5kCiAKIEBpbnRlcmZh
Y2UgVGVzdFJ1bm5lcldLVmlldyA6IFdLVmlldyB7Ci0gICAgQk9PTCBfdXNlVGlsZWREcmF3aW5n
OworICAgIEJPT0wgX3VzZVRocmVhZGVkU2Nyb2xsaW5nOwogfQogCi0tIChpZClpbml0V2l0aEZy
YW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNvbnRleHQgcGFnZUdy
b3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXAgcmVsYXRlZFRvUGFnZTooV0tQYWdlUmVm
KXJlbGF0ZWRQYWdlIHVzZVRpbGVkRHJhd2luZzooQk9PTCl1c2VUaWxlZERyYXdpbmc7CistIChp
ZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjooV0tDb250ZXh0UmVmKWNv
bnRleHQgcGFnZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3JvdXAgcmVsYXRlZFRvUGFn
ZTooV0tQYWdlUmVmKXJlbGF0ZWRQYWdlIHVzZVRocmVhZGVkU2Nyb2xsaW5nOihCT09MKXVzZVRo
cmVhZGVkU2Nyb2xsaW5nOwogCi1AcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCT09MIHVz
ZVRpbGVkRHJhd2luZzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgdXNlVGhy
ZWFkZWRTY3JvbGxpbmc7CiBAZW5kCiAKIEBpbXBsZW1lbnRhdGlvbiBUZXN0UnVubmVyV0tWaWV3
CiAKLUBzeW50aGVzaXplIHVzZVRpbGVkRHJhd2luZyA9IF91c2VUaWxlZERyYXdpbmc7CitAc3lu
dGhlc2l6ZSB1c2VUaHJlYWRlZFNjcm9sbGluZyA9IF91c2VUaHJlYWRlZFNjcm9sbGluZzsKIAot
LSAoaWQpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIGNvbnRleHRSZWY6KFdLQ29udGV4dFJl
Ziljb250ZXh0IHBhZ2VHcm91cFJlZjooV0tQYWdlR3JvdXBSZWYpcGFnZUdyb3VwIHJlbGF0ZWRU
b1BhZ2U6KFdLUGFnZVJlZilyZWxhdGVkUGFnZSB1c2VUaWxlZERyYXdpbmc6KEJPT0wpdXNlVGls
ZWREcmF3aW5nCistIChpZClpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJhbWUgY29udGV4dFJlZjoo
V0tDb250ZXh0UmVmKWNvbnRleHQgcGFnZUdyb3VwUmVmOihXS1BhZ2VHcm91cFJlZilwYWdlR3Jv
dXAgcmVsYXRlZFRvUGFnZTooV0tQYWdlUmVmKXJlbGF0ZWRQYWdlIHVzZVRocmVhZGVkU2Nyb2xs
aW5nOihCT09MKXVzZVRocmVhZGVkU2Nyb2xsaW5nCiB7Ci0gICAgX3VzZVRpbGVkRHJhd2luZyA9
IHVzZVRpbGVkRHJhd2luZzsKKyAgICBfdXNlVGhyZWFkZWRTY3JvbGxpbmcgPSB1c2VUaHJlYWRl
ZFNjcm9sbGluZzsKICAgICByZXR1cm4gW3N1cGVyIGluaXRXaXRoRnJhbWU6ZnJhbWUgY29udGV4
dFJlZjpjb250ZXh0IHBhZ2VHcm91cFJlZjpwYWdlR3JvdXAgcmVsYXRlZFRvUGFnZTpyZWxhdGVk
UGFnZV07CiB9CiAKLS0gKEJPT0wpX3Nob3VsZFVzZVRpbGVkRHJhd2luZ0FyZWEKLXsKLSAgICBy
ZXR1cm4gX3VzZVRpbGVkRHJhd2luZzsKLX0KLQogLSAodm9pZClkcmFnSW1hZ2U6KE5TSW1hZ2Ug
KilhbkltYWdlIGF0OihOU1BvaW50KXZpZXdMb2NhdGlvbiBvZmZzZXQ6KE5TU2l6ZSlpbml0aWFs
T2Zmc2V0IGV2ZW50OihOU0V2ZW50ICopZXZlbnQgcGFzdGVib2FyZDooTlNQYXN0ZWJvYXJkICop
cGJvYXJkIHNvdXJjZTooaWQpc291cmNlT2JqIHNsaWRlQmFjazooQk9PTClzbGlkZUZsYWcKIHsK
ICAgICBSZXRhaW5QdHI8V2ViS2l0VGVzdFJ1bm5lckRyYWdnaW5nSW5mbz4gZHJhZ2dpbmdJbmZv
ID0gYWRvcHROUyhbW1dlYktpdFRlc3RSdW5uZXJEcmFnZ2luZ0luZm8gYWxsb2NdIGluaXRXaXRo
SW1hZ2U6YW5JbWFnZSBvZmZzZXQ6aW5pdGlhbE9mZnNldCBwYXN0ZWJvYXJkOnBib2FyZCBzb3Vy
Y2U6c291cmNlT2JqXSk7CkBAIC0xMTksMjAgKzExOCwyMCBAQCBQbGF0Zm9ybVdlYlZpZXc6OlBs
YXRmb3JtV2ViVmlldyhXS0NvbnRleHRSZWYgY29udGV4dFJlZiwgV0tQYWdlR3JvdXBSZWYgcGFn
ZUdybwogICAgIDogbV93aW5kb3dJc0tleSh0cnVlKQogICAgICwgbV9vcHRpb25zKG9wdGlvbnMp
CiB7Ci0gICAgV0tSZXRhaW5QdHI8V0tTdHJpbmdSZWY+IHVzZVRpbGVkRHJhd2luZ0tleShBZG9w
dFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVGlsZWREcmF3aW5nIikpOwotICAg
IFdLVHlwZVJlZiB1c2VUaWxlZERyYXdpbmdWYWx1ZSA9IG9wdGlvbnMgPyBXS0RpY3Rpb25hcnlH
ZXRJdGVtRm9yS2V5KG9wdGlvbnMsIHVzZVRpbGVkRHJhd2luZ0tleS5nZXQoKSkgOiBOVUxMOwot
ICAgIGJvb2wgdXNlVGlsZWREcmF3aW5nID0gdXNlVGlsZWREcmF3aW5nVmFsdWUgJiYgV0tCb29s
ZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPih1c2VUaWxlZERyYXdpbmdWYWx1
ZSkpOworICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB1c2VUaHJlYWRlZFNjcm9sbGluZ0tl
eShBZG9wdFdLLCBXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVGhyZWFkZWRTY3JvbGxp
bmciKSk7CisgICAgV0tUeXBlUmVmIHVzZVRocmVhZGVkU2Nyb2xsaW5nVmFsdWUgPSBvcHRpb25z
ID8gV0tEaWN0aW9uYXJ5R2V0SXRlbUZvcktleShvcHRpb25zLCB1c2VUaHJlYWRlZFNjcm9sbGlu
Z0tleS5nZXQoKSkgOiBOVUxMOworICAgIGJvb2wgdXNlVGhyZWFkZWRTY3JvbGxpbmcgPSB1c2VU
aHJlYWRlZFNjcm9sbGluZ1ZhbHVlICYmIFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdL
Qm9vbGVhblJlZj4odXNlVGhyZWFkZWRTY3JvbGxpbmdWYWx1ZSkpOwogCiAgICAgLy8gVGhlIHRp
bGVkIGRyYXdpbmcgc3BlY2lmaWMgdGVzdHMgYWxzbyBkZXBlbmQgb24gdGhyZWFkZWQgc2Nyb2xs
aW5nLgogICAgIFdLUHJlZmVyZW5jZXNSZWYgcHJlZmVyZW5jZXMgPSBXS1BhZ2VHcm91cEdldFBy
ZWZlcmVuY2VzKHBhZ2VHcm91cFJlZik7Ci0gICAgV0tQcmVmZXJlbmNlc1NldFRocmVhZGVkU2Ny
b2xsaW5nRW5hYmxlZChwcmVmZXJlbmNlcywgdXNlVGlsZWREcmF3aW5nKTsKKyAgICBXS1ByZWZl
cmVuY2VzU2V0VGhyZWFkZWRTY3JvbGxpbmdFbmFibGVkKHByZWZlcmVuY2VzLCB1c2VUaHJlYWRl
ZFNjcm9sbGluZyk7CiAKICAgICBOU1JlY3QgcmVjdCA9IE5TTWFrZVJlY3QoMCwgMCwgVGVzdENv
bnRyb2xsZXI6OnZpZXdXaWR0aCwgVGVzdENvbnRyb2xsZXI6OnZpZXdIZWlnaHQpOwotICAgIG1f
dmlldyA9IFtbVGVzdFJ1bm5lcldLVmlldyBhbGxvY10gaW5pdFdpdGhGcmFtZTpyZWN0IGNvbnRl
eHRSZWY6Y29udGV4dFJlZiBwYWdlR3JvdXBSZWY6cGFnZUdyb3VwUmVmIHJlbGF0ZWRUb1BhZ2U6
cmVsYXRlZFBhZ2UgdXNlVGlsZWREcmF3aW5nOnVzZVRpbGVkRHJhd2luZ107CisgICAgbV92aWV3
ID0gW1tUZXN0UnVubmVyV0tWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOnJlY3QgY29udGV4dFJl
Zjpjb250ZXh0UmVmIHBhZ2VHcm91cFJlZjpwYWdlR3JvdXBSZWYgcmVsYXRlZFRvUGFnZTpyZWxh
dGVkUGFnZSB1c2VUaHJlYWRlZFNjcm9sbGluZzp1c2VUaHJlYWRlZFNjcm9sbGluZ107CiAgICAg
W21fdmlldyBzZXRXaW5kb3dPY2NsdXNpb25EZXRlY3Rpb25FbmFibGVkOk5PXTsKIAogICAgIE5T
UmVjdCB3aW5kb3dSZWN0ID0gTlNPZmZzZXRSZWN0KHJlY3QsIC0xMDAwMCwgWyhOU1NjcmVlbiAq
KVtbTlNTY3JlZW4gc2NyZWVuc10gb2JqZWN0QXRJbmRleDowXSBmcmFtZV0uc2l6ZS5oZWlnaHQg
LSByZWN0LnNpemUuaGVpZ2h0ICsgMTAwMDApOwotICAgIG1fd2luZG93ID0gW1tXZWJLaXRUZXN0
UnVubmVyV2luZG93IGFsbG9jXSBpbml0V2l0aENvbnRlbnRSZWN0OndpbmRvd1JlY3Qgc3R5bGVN
YXNrOk5TQm9yZGVybGVzc1dpbmRvd01hc2sgYmFja2luZzpOU0JhY2tpbmdTdG9yZUJ1ZmZlcmVk
IGRlZmVyOllFU107CisgICAgbV93aW5kb3cgPSBbW1dlYktpdFRlc3RSdW5uZXJXaW5kb3cgYWxs
b2NdIGluaXRXaXRoQ29udGVudFJlY3Q6d2luZG93UmVjdCBzdHlsZU1hc2s6TlNCb3JkZXJsZXNz
V2luZG93TWFzayBiYWNraW5nOl9OU0JhY2tpbmdTdG9yZVVuYnVmZmVyZWQgZGVmZXI6WUVTXTsK
ICAgICBtX3dpbmRvdy5wbGF0Zm9ybVdlYlZpZXcgPSB0aGlzOwogICAgIFttX3dpbmRvdyBzZXRD
b2xvclNwYWNlOltbTlNTY3JlZW4gbWFpblNjcmVlbl0gY29sb3JTcGFjZV1dOwogICAgIFttX3dp
bmRvdyBzZXRDb2xsZWN0aW9uQmVoYXZpb3I6TlNXaW5kb3dDb2xsZWN0aW9uQmVoYXZpb3JTdGF0
aW9uYXJ5XTsKQEAgLTIzMCwxMSArMjI5LDExIEBAIFdLUmV0YWluUHRyPFdLSW1hZ2VSZWY+IFBs
YXRmb3JtV2ViVmlldzo6d2luZG93U25hcHNob3RJbWFnZSgpCiAKIGJvb2wgUGxhdGZvcm1XZWJW
aWV3Ojp2aWV3U3VwcG9ydHNPcHRpb25zKFdLRGljdGlvbmFyeVJlZiBvcHRpb25zKSBjb25zdAog
ewotICAgIFdLUmV0YWluUHRyPFdLU3RyaW5nUmVmPiB1c2VUaWxlZERyYXdpbmdLZXkoQWRvcHRX
SywgV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlRpbGVkRHJhd2luZyIpKTsKLSAgICBX
S1R5cGVSZWYgdXNlVGlsZWREcmF3aW5nVmFsdWUgPSBXS0RpY3Rpb25hcnlHZXRJdGVtRm9yS2V5
KG9wdGlvbnMsIHVzZVRpbGVkRHJhd2luZ0tleS5nZXQoKSk7Ci0gICAgYm9vbCB1c2VUaWxlZERy
YXdpbmcgPSB1c2VUaWxlZERyYXdpbmdWYWx1ZSAmJiBXS0Jvb2xlYW5HZXRWYWx1ZShzdGF0aWNf
Y2FzdDxXS0Jvb2xlYW5SZWY+KHVzZVRpbGVkRHJhd2luZ1ZhbHVlKSk7CisgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IHVzZVRocmVhZGVkU2Nyb2xsaW5nS2V5KEFkb3B0V0ssIFdLU3RyaW5n
Q3JlYXRlV2l0aFVURjhDU3RyaW5nKCJUaHJlYWRlZFNjcm9sbGluZyIpKTsKKyAgICBXS1R5cGVS
ZWYgdXNlVGhyZWFkZWRTY3JvbGxpbmdWYWx1ZSA9IFdLRGljdGlvbmFyeUdldEl0ZW1Gb3JLZXko
b3B0aW9ucywgdXNlVGhyZWFkZWRTY3JvbGxpbmdLZXkuZ2V0KCkpOworICAgIGJvb2wgdXNlVGhy
ZWFkZWRTY3JvbGxpbmcgPSB1c2VUaHJlYWRlZFNjcm9sbGluZ1ZhbHVlICYmIFdLQm9vbGVhbkdl
dFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4odXNlVGhyZWFkZWRTY3JvbGxpbmdWYWx1
ZSkpOwogCi0gICAgcmV0dXJuIHVzZVRpbGVkRHJhd2luZyA9PSBbKFRlc3RSdW5uZXJXS1ZpZXcg
KiltX3ZpZXcgdXNlVGlsZWREcmF3aW5nXTsKKyAgICByZXR1cm4gdXNlVGhyZWFkZWRTY3JvbGxp
bmcgPT0gWyhUZXN0UnVubmVyV0tWaWV3ICopbV92aWV3IHVzZVRocmVhZGVkU2Nyb2xsaW5nXTsK
IH0KIAogfSAvLyBuYW1lc3BhY2UgV1RSCg==
</data>
<flag name="review"
          id="235523"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>