<?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>211156</bug_id>
          
          <creation_ts>2020-04-28 17:07:33 -0700</creation_ts>
          <short_desc>[WebGL2] Implement multiple render target entry points</short_desc>
          <delta_ts>2020-07-24 20:56:17 -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>WebGL</component>
          <version>WebKit 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>126994</dependson>
    
    <dependson>170325</dependson>
    
    <dependson>210994</dependson>
    
    <dependson>214642</dependson>
          <blocked>126404</blocked>
    
    <blocked>214780</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kenneth Russell">kbr</reporter>
          <assigned_to name="Kenneth Russell">kbr</assigned_to>
          <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>dino</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>graouts</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>hta</cc>
    
    <cc>jdarpinian</cc>
    
    <cc>jer.noble</cc>
    
    <cc>justin_fan</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>noam</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>tommyw</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1646769</commentid>
    <comment_count>0</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-04-28 17:07:33 -0700</bug_when>
    <thetext>In Bug 126994 support was supposedly added for multiple render targets, including the following entry points:

drawBuffers
clearBufferfv
clearBufferiv
clearBufferuiv
clearBufferfi

but the implementations were no-op&apos;ed. This leads to at least one conformance test failure.

It&apos;s not clear to me how many layout tests&apos; results will be changed as a result of fixing this, so splitting it off from other bugs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1672680</commentid>
    <comment_count>1</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-17 15:35:24 -0700</bug_when>
    <thetext>Taking this bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673333</commentid>
    <comment_count>2</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-20 17:50:55 -0700</bug_when>
    <thetext>While fixing this, have been referring to this bug fix in Chromium: http://crbug.com/828262

and the associated WebGL conformance test added in:
https://github.com/KhronosGroup/WebGL/pull/2628

which is available online at:
https://www.khronos.org/registry/webgl/sdk/tests/conformance2/rendering/clearbuffer-and-draw.html

(this isn&apos;t in WebKit&apos;s 2.0.0 conformance test snapshot - it was added in 2.0.1.)

This conformance test passes with the fix, as does another one that&apos;s already in WebKit&apos;s conformance test snapshot: webgl/2.0.0/conformance2/reading/read-pixels-from-fbo-test.html .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673492</commentid>
    <comment_count>3</comment_count>
      <attachid>404833</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 10:27:55 -0700</bug_when>
    <thetext>Created attachment 404833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673554</commentid>
    <comment_count>4</comment_count>
      <attachid>404833</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 12:03:45 -0700</bug_when>
    <thetext>Comment on attachment 404833
Patch

Note: the ios-wk2 and api-gtk test failures are unrelated to this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673677</commentid>
    <comment_count>5</comment_count>
      <attachid>404833</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2020-07-21 16:56:04 -0700</bug_when>
    <thetext>Comment on attachment 404833
Patch

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

&gt; Source/WebCore/html/canvas/WebGL2RenderingContext.h:321
&gt; +    enum ClearBufferCaller {

enum class ClearBufferCaller : uint8_t

&gt; Source/WebCore/html/canvas/WebGLFramebuffer.cpp:-649
&gt; -#if ENABLE(WEBGL2)
&gt; -    // FIXME: The logic here seems wrong. If we don&apos;t have WebGL 2 enabled at all, then
&gt; -    // we skip the m_webglDrawBuffers check. But if we do have WebGL 2 enabled, then we
&gt; -    // perform this check, for WebGL 1 contexts only.
&gt; -    if (!context()-&gt;m_webglDrawBuffers &amp;&amp; !context()-&gt;isWebGL2())
&gt; -        return;
&gt; -#endif
&gt; -    bool reset = force;
&gt; -    // This filtering works around graphics driver bugs on Mac OS X.
&gt; -    for (size_t i = 0; i &lt; m_drawBuffers.size(); ++i) {
&gt; -        if (m_drawBuffers[i] != GraphicsContextGL::NONE &amp;&amp; getAttachment(m_drawBuffers[i])) {
&gt; -            if (m_filteredDrawBuffers[i] != m_drawBuffers[i]) {
&gt; -                m_filteredDrawBuffers[i] = m_drawBuffers[i];
&gt; -                reset = true;
&gt; +    if (context()-&gt;isWebGL2() || context()-&gt;m_webglDrawBuffers) {
&gt; +        bool reset = force;
&gt; +        // This filtering works around graphics driver bugs on Mac OS X.
&gt; +        for (size_t i = 0; i &lt; m_drawBuffers.size(); ++i) {
&gt; +            if (m_drawBuffers[i] != GraphicsContextGL::NONE &amp;&amp; getAttachment(m_drawBuffers[i])) {
&gt; +                if (m_filteredDrawBuffers[i] != m_drawBuffers[i]) {
&gt; +                    m_filteredDrawBuffers[i] = m_drawBuffers[i];
&gt; +                    reset = true;
&gt; +                }
&gt; +            } else {
&gt; +                if (m_filteredDrawBuffers[i] != GraphicsContextGL::NONE) {
&gt; +                    m_filteredDrawBuffers[i] = GraphicsContextGL::NONE;
&gt; +                    reset = true;
&gt; +                }
&gt;              }
&gt; -        } else {
&gt; -            if (m_filteredDrawBuffers[i] != GraphicsContextGL::NONE) {
&gt; -                m_filteredDrawBuffers[i] = GraphicsContextGL::NONE;
&gt; -                reset = true;
&gt; +        }
&gt; +        if (reset) {
&gt; +            if (context()-&gt;isWebGL2()) {
&gt; +                context()-&gt;graphicsContextGL()-&gt;drawBuffers(
&gt; +                    m_filteredDrawBuffers.size(), m_filteredDrawBuffers.data());
&gt; +            } else {
&gt; +                context()-&gt;graphicsContextGL()-&gt;getExtensions().drawBuffersEXT(
&gt; +                    m_filteredDrawBuffers.size(), m_filteredDrawBuffers.data());
&gt;              }
&gt;          }
&gt;      }
&gt; -    if (reset) {
&gt; -        context()-&gt;graphicsContextGL()-&gt;getExtensions().drawBuffersEXT(
&gt; -            m_filteredDrawBuffers.size(), m_filteredDrawBuffers.data());
&gt; -    }

Dean will have to review this for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673686</commentid>
    <comment_count>6</comment_count>
      <attachid>404833</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 17:15:03 -0700</bug_when>
    <thetext>Comment on attachment 404833
Patch

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

Thanks Myles for being willing to review this on short notice - further patches depend on these correctness fixes. Revising this patch now with your review feedback.

&gt;&gt; Source/WebCore/html/canvas/WebGL2RenderingContext.h:321
&gt;&gt; +    enum ClearBufferCaller {
&gt; 
&gt; enum class ClearBufferCaller : uint8_t

Done.

&gt;&gt; Source/WebCore/html/canvas/WebGLFramebuffer.cpp:-649
&gt;&gt; -    }
&gt; 
&gt; Dean will have to review this for me.

I&apos;ll make sure to ask Dean to review this entire patch tomorrow, especially this section.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673687</commentid>
    <comment_count>7</comment_count>
      <attachid>404883</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 17:16:08 -0700</bug_when>
    <thetext>Created attachment 404883
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673689</commentid>
    <comment_count>8</comment_count>
      <attachid>404883</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 17:17:20 -0700</bug_when>
    <thetext>Comment on attachment 404883
Patch

Addressed Myles&apos; review feedback. CQ&apos;ing now to be able to build on this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673721</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-21 19:13:22 -0700</bug_when>
    <thetext>Found 1 new test failure: fast/mediastream/captureStream/canvas3d.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673735</commentid>
    <comment_count>10</comment_count>
      <attachid>404883</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-21 20:48:48 -0700</bug_when>
    <thetext>Comment on attachment 404883
Patch

I&apos;m pretty sure that test failure is an unrelated flake. Re-CQ&apos;ing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673737</commentid>
    <comment_count>11</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-21 21:08:03 -0700</bug_when>
    <thetext>Committed r264691: &lt;https://trac.webkit.org/changeset/264691&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404883.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673738</commentid>
    <comment_count>12</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2020-07-21 21:09:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/65918197&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673838</commentid>
    <comment_count>13</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 09:17:58 -0700</bug_when>
    <thetext>Unfortunately, it&apos;s pretty clear this patch regressed fast/mediastream/captureStream/canvas3d.html .

https://results.webkit.org/?suite=layout-tests&amp;test=fast%2Fmediastream%2FcaptureStream%2Fcanvas3d.html

Reopening and attempting a revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673850</commentid>
    <comment_count>14</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 09:28:41 -0700</bug_when>
    <thetext>Reverted in r264700, Bug 214642. Investigating the test failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673894</commentid>
    <comment_count>15</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 11:25:30 -0700</bug_when>
    <thetext>The earlier patch for this bug regressed the fix for Bug 170325.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673947</commentid>
    <comment_count>16</comment_count>
      <attachid>404955</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 13:15:14 -0700</bug_when>
    <thetext>Created attachment 404955
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673948</commentid>
    <comment_count>17</comment_count>
      <attachid>404955</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 13:16:24 -0700</bug_when>
    <thetext>Comment on attachment 404955
Patch

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

&gt; Source/WebCore/platform/graphics/GraphicsContextGL.h:1122
&gt; +    virtual void enablePreserveDrawingBuffer();

This is the first non-pure virtual in GraphicsContextGL, and it&apos;s necessary because m_attrs is private in this class. Is this OK from an architectural standpoint?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1673990</commentid>
    <comment_count>18</comment_count>
      <attachid>404955</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2020-07-22 14:59:15 -0700</bug_when>
    <thetext>Comment on attachment 404955
Patch

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

&gt; Source/WebCore/html/canvas/WebGLFramebuffer.cpp:626
&gt; +        // This filtering works around graphics driver bugs on Mac OS X.

Nit: macOS

&gt;&gt; Source/WebCore/platform/graphics/GraphicsContextGL.h:1122
&gt;&gt; +    virtual void enablePreserveDrawingBuffer();
&gt; 
&gt; This is the first non-pure virtual in GraphicsContextGL, and it&apos;s necessary because m_attrs is private in this class. Is this OK from an architectural standpoint?

This is probably ok. The alternative would be to use GraphicsContextGL::setContextAttributes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674025</commentid>
    <comment_count>19</comment_count>
      <attachid>404955</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 15:51:45 -0700</bug_when>
    <thetext>Comment on attachment 404955
Patch

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

&gt;&gt; Source/WebCore/html/canvas/WebGLFramebuffer.cpp:626
&gt;&gt; +        // This filtering works around graphics driver bugs on Mac OS X.
&gt; 
&gt; Nit: macOS

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674026</commentid>
    <comment_count>20</comment_count>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 15:53:04 -0700</bug_when>
    <thetext>The win and ios-wk2 failures of https://bugs.webkit.org/attachment.cgi?id=404955&amp;action=edit are unrelated to this patch.

Want to get this relanded in order to continue with other patches on top, so revising and CQ&apos;ing the result now - mac-debug-wk1 is a bit slow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674027</commentid>
    <comment_count>21</comment_count>
      <attachid>404988</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 15:53:50 -0700</bug_when>
    <thetext>Created attachment 404988
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674028</commentid>
    <comment_count>22</comment_count>
      <attachid>404989</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 15:55:04 -0700</bug_when>
    <thetext>Created attachment 404989
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674029</commentid>
    <comment_count>23</comment_count>
      <attachid>404989</attachid>
    <who name="Kenneth Russell">kbr</who>
    <bug_when>2020-07-22 15:55:27 -0700</bug_when>
    <thetext>Comment on attachment 404989
Patch

CQ&apos;ing this version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1674040</commentid>
    <comment_count>24</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-07-22 16:39:03 -0700</bug_when>
    <thetext>Committed r264733: &lt;https://trac.webkit.org/changeset/264733&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 404989.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404833</attachid>
            <date>2020-07-21 10:27:55 -0700</date>
            <delta_ts>2020-07-21 17:16:06 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211156-20200721102755.patch</filename>
            <type>text/plain</type>
            <size>46407</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjU5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYWU1ZTczZDc1YTg3MzY4
MDkzZGUyMjZhN2YyYTVkMTg4NTVlMjVhZC4uMTNkNTJkNjQxNDI3NDdhMTA3NzE0YjliYjBiNGM1
MGQ4NmI0NjRmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA3LTIxICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJHTDJdIEltcGxl
bWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0IGVudHJ5IHBvaW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBkcmF3QnVmZmVy
cyBhbmQgY2xlYXJCdWZmZXIgZW50cnkgcG9pbnRzLiBJbnRlZ3JhdGUKKyAgICAgICAgdGhlIGNs
ZWFyQnVmZmVyIEFQSXMgd2l0aCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6ZmFsc2UncworICAgICAg
ICBhdXRvLWNsZWFyaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgV2ViR0wgY29u
Zm9ybWFuY2UgdGVzdHMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdD
b250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRy
YXdCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNs
ZWFyQnVmZmVyaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
Y2xlYXJCdWZmZXJ1aXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6Y2xlYXJCdWZmZXJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250
ZXh0OjpjbGVhckJ1ZmZlcmZpKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0Nv
bnRleHQ6OnZhbGlkYXRlQ2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAgKiBodG1s
L2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMv
V2ViR0xGcmFtZWJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVy
OjpkcmF3QnVmZmVyc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmNsZWFySWZDb21wb3NpdGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9HcmFwaGljc0NvbnRleHRHTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Fu
Z2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQpOgorICAgICAgICAoV2ViQ29y
ZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcnVpdik6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y2xlYXJCdWZmZXJmdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y2xlYXJCdWZmZXJmaSk6Cisg
ICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNldEJ1
ZmZlcnNUb0F1dG9DbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6c2V0QnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpnZXRCdWZmZXJzVG9BdXRvQ2xlYXIgY29uc3QpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENv
bW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFy
a0xheWVyQ29tcG9zaXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9w
ZW5HTDo6ZHJhd0J1ZmZlcnMpOgorCiAyMDIwLTA3LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVA
YXBwbGUuY29tPgogCiAgICAgICAgIFtDb2NvYV0gQWRvcHQgVlRSZWdpc3RlclN1cHBsZW1lbnRh
bFZpZGVvRGVjb2RlcklmQXZhaWxhYmxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IGJjNmI1MjEzOTg0YjFkYWUx
ZDM0ZmNiOWQxMGU4M2RmZjBmMzMzNTMuLmM0Njc1NDgxNTA2OTY0YmIyNTJlMzdkMDQ3MzgzYWIz
ZWM0Njk4NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJl
bmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdM
MlJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0xNzU5LDcgKzE3NTksNyBAQCB2b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQ0dMZW51bT4mIGJ1ZmZl
cnMpCiAgICAgICAgIH0KICAgICAgICAgLy8gQmVjYXVzZSB0aGUgYmFja2J1ZmZlciBpcyBzaW11
bGF0ZWQgb24gYWxsIGN1cnJlbnQgV2ViS2l0IHBvcnRzLCB3ZSBuZWVkIHRvIGNoYW5nZSBCQUNL
IHRvIENPTE9SX0FUVEFDSE1FTlQwLgogICAgICAgICBHQ0dMZW51bSB2YWx1ZSA9IChidWZzWzBd
ID09IEdyYXBoaWNzQ29udGV4dEdMOjpCQUNLKSA/IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUl9B
VFRBQ0hNRU5UMCA6IEdyYXBoaWNzQ29udGV4dEdMOjpOT05FOwotICAgICAgICBncmFwaGljc0Nv
bnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuZHJhd0J1ZmZlcnNFWFQoMSwgJnZhbHVlKTsKKyAg
ICAgICAgbV9jb250ZXh0LT5kcmF3QnVmZmVycygxLCAmdmFsdWUpOwogICAgICAgICBzZXRCYWNr
RHJhd0J1ZmZlcihidWZzWzBdKTsKICAgICB9IGVsc2UgewogICAgICAgICBpZiAobiA+IGdldE1h
eERyYXdCdWZmZXJzKCkpIHsKQEAgLTE3NzYsOTIgKzE3NzYsNDggQEAgdm9pZCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0OjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZmZXJz
KQogICAgIH0KIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcml2
KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBJbnQzMkxpc3QmJiwgR0NHTHVp
bnQpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyaXYoR0NHTGVudW0g
YnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEludDMyTGlzdCYmIHZhbHVlcywgR0NHTHVpbnQg
c3JjT2Zmc2V0KQogewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBkcmF3YnVmZmVy
ID49IGdldE1heERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9y
KEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJpdiIsICJidWZm
ZXIgaW5kZXggb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcml2LCByZXF1aXJlcyBnbDMuaCBhbmQg
RVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1RF
TkNJTDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJpdiIs
ICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcml2LCByZXF1aXJlcyBnbDMuaCBh
bmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
REVQVEg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfU1RFTkNJTDoKLSAgICBk
ZWZhdWx0OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5W
QUxJRF9PUEVSQVRJT04sICJjbGVhckJ1ZmZlcml2IiwgImJ1ZmZlciBhcmd1bWVudCBtdXN0IGJl
IENPTE9SIG9yIFNURU5DSUwiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQorICAgIGlmIChpc0Nv
bnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlQ2xlYXJCdWZmZXIoImNsZWFyQnVmZmVy
aXYiLCBidWZmZXIsIHZhbHVlcy5sZW5ndGgoKSwgc3JjT2Zmc2V0KSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZlcml2KGJ1ZmZlciwgZHJhd2J1ZmZlciwgdmFs
dWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICB1cGRhdGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xl
YXJCdWZmZXJpdiwgYnVmZmVyLCBkcmF3YnVmZmVyKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1
ZmZlciwgVWludDMyTGlzdCYmLCBHQ0dMdWludCkKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6Y2xlYXJCdWZmZXJ1aXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIFVp
bnQzMkxpc3QmJiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkKIHsKLSAgICBzd2l0Y2ggKGJ1
ZmZlcikgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SOgotICAgICAgICBpZiAo
ZHJhd2J1ZmZlciA8IDAgfHwgZHJhd2J1ZmZlciA+PSBnZXRNYXhEcmF3QnVmZmVycygpKSB7Ci0g
ICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9W
QUxVRSwgImNsZWFyQnVmZmVydWl2IiwgImJ1ZmZlciBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFy
QnVmZmVydWl2LCByZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6U1RFTkNJTDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9TVEVOQ0lM
OgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVydWl2IiwgImJ1ZmZlciBhcmd1bWVu
dCBtdXN0IGJlIENPTE9SIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICBpZiAoaXNDb250
ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZUNsZWFyQnVmZmVyKCJjbGVhckJ1ZmZlcnVp
diIsIGJ1ZmZlciwgdmFsdWVzLmxlbmd0aCgpLCBzcmNPZmZzZXQpKQorICAgICAgICByZXR1cm47
CisKKyAgICBtX2NvbnRleHQtPmNsZWFyQnVmZmVydWl2KGJ1ZmZlciwgZHJhd2J1ZmZlciwgdmFs
dWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICB1cGRhdGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xl
YXJCdWZmZXJ1aXYsIGJ1ZmZlciwgZHJhd2J1ZmZlcik7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVy
aW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJmdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1
ZmZlciwgRmxvYXQzMkxpc3QmJiwgR0NHTHVpbnQpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRl
eHQ6OmNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEZs
b2F0MzJMaXN0JiYgdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpCiB7Ci0gICAgc3dpdGNoIChi
dWZmZXIpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUjoKLSAgICAgICAgaWYg
KGRyYXdidWZmZXIgPCAwIHx8IGRyYXdidWZmZXIgPj0gZ2V0TWF4RHJhd0J1ZmZlcnMoKSkgewot
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURf
VkFMVUUsICJjbGVhckJ1ZmZlcmZ2IiwgImJ1ZmZlciBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKLSAg
ICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFy
QnVmZmVyZnYsIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIp
IHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZB
TElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJmdiIsICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0g
ICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVh
ckJ1ZmZlcmZ2LCByZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0g
ICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTDoKLSAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpERVBUSF9TVEVOQ0lMOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVH
TEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVy
ZnYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgQ09MT1IgT1IgREVQVEgiKTsKLSAgICAgICAg
YnJlYWs7Ci0gICAgfQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlk
YXRlQ2xlYXJCdWZmZXIoImNsZWFyQnVmZmVyZnYiLCBidWZmZXIsIHZhbHVlcy5sZW5ndGgoKSwg
c3JjT2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZl
cmZ2KGJ1ZmZlciwgZHJhd2J1ZmZlciwgdmFsdWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICAv
LyBjbGVhckJ1ZmZlcml2IGFuZCBjbGVhckJ1ZmZlcnVpdiB3aWxsIGN1cnJlbnRseSBnZW5lcmF0
ZSBhbiBlcnJvcgorICAgIC8vIGlmIHRoZXkncmUgY2FsbGVkIGFnYWluc3QgdGhlIGRlZmF1bHQg
YmFjayBidWZmZXIuIElmIHN1cHBvcnQgZm9yCisgICAgLy8gZXh0ZW5kZWQgY2FudmFzIGNvbG9y
IHNwYWNlcyBpcyBhZGRlZCwgdGhpcyBjYWxsIG1pZ2h0IG5lZWQgdG8gYmUKKyAgICAvLyBhZGRl
ZCB0byB0aGUgb3RoZXIgdmVyc2lvbnMuCisgICAgbWFya0NvbnRleHRDaGFuZ2VkKCk7CisgICAg
dXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENsZWFyQnVmZmVyZnYsIGJ1ZmZlciwgZHJhd2J1ZmZl
cik7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJmaShHQ0dM
ZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgR0NHTGZsb2F0LCBHQ0dMaW50KQordm9p
ZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZpKEdDR0xlbnVtIGJ1ZmZlciwg
R0NHTGludCBkcmF3YnVmZmVyLCBHQ0dMZmxvYXQgZGVwdGgsIEdDR0xpbnQgc3RlbmNpbCkKIHsK
LSAgICBzd2l0Y2ggKGJ1ZmZlcikgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRI
X1NURU5DSUw6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyKSB7Ci0gICAgICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVy
ZnYiLCAiYnVmZmVyIGluZGV4IG11c3QgYmUgMCIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAg
ICAgICB9Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJmaSwgcmVxdWlyZXMgZ2wz
LmggYW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
R0w6OkNPTE9SOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIOgotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUw6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJC
dWZmZXJmdiIsICJidWZmZXIgYXJndW1lbnQgbXVzdCBiZSBERVBUSF9TVEVOQ0lMIik7Ci0gICAg
ICAgIGJyZWFrOwotICAgIH0KKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQorICAg
ICAgICByZXR1cm47CisKKyAgICBtX2NvbnRleHQtPmNsZWFyQnVmZmVyZmkoYnVmZmVyLCBkcmF3
YnVmZmVyLCBkZXB0aCwgc3RlbmNpbCk7CisgICAgLy8gVGhpcyBtaWdodCBoYXZlIGJlZW4gdXNl
ZCB0byBjbGVhciB0aGUgZGVwdGggYW5kIHN0ZW5jaWwgYnVmZmVycworICAgIC8vIG9mIHRoZSBk
ZWZhdWx0IGJhY2sgYnVmZmVyLgorICAgIG1hcmtDb250ZXh0Q2hhbmdlZCgpOworICAgIHVwZGF0
ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlcmZpLCBidWZmZXIsIGRyYXdidWZmZXIpOwog
fQogCiBSZWZQdHI8V2ViR0xRdWVyeT4gV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y3JlYXRlUXVl
cnkoKQpAQCAtMzMwMCw2ICszMjU2LDM1IEBAIGJvb2wgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
dmFsaWRhdGVDYXBhYmlsaXR5KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTGVuCiAgICAg
fQogfQogCitib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQ2xlYXJCdWZmZXIo
Y29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQ0dMZW51bSBidWZmZXIsIHNpemVfdCBzaXplLCBH
Q0dMdWludCBzcmNPZmZzZXQpCit7CisgICAgQ2hlY2tlZDxHTHNpemVpLCBSZWNvcmRPdmVyZmxv
dz4gY2hlY2tlZFNpemUoc2l6ZSk7CisgICAgY2hlY2tlZFNpemUgLT0gc3JjT2Zmc2V0OworICAg
IGlmIChjaGVja2VkU2l6ZS5oYXNPdmVyZmxvd2VkKCkpIHsKKyAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsIGZ1bmN0aW9uTmFtZSwgImlu
dmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldCIpOworICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorICAgIHN3aXRjaCAoYnVmZmVyKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
Q09MT1I6CisgICAgICAgIGlmIChjaGVja2VkU2l6ZS51bnNhZmVHZXQoKSA8IDQpIHsKKyAgICAg
ICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVF
LCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNPZmZzZXQiKTsKKyAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAgICBicmVhazsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpT
VEVOQ0lMOgorICAgICAgICBpZiAoY2hlY2tlZFNpemUudW5zYWZlR2V0KCkgPCAxKSB7CisgICAg
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxV
RSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0Iik7CisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgZGVm
YXVsdDoKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFM
SURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBidWZmZXIiKTsKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogdm9pZCBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0Ojp1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0aW9uKiBsb2NhdGlvbiwgRmxv
YXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50IHNyY0xlbmd0aCkKIHsKICAg
ICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZVVuaWZvcm1QYXJhbWV0
ZXJzKCJ1bmlmb3JtMWZ2IiwgbG9jYXRpb24sIGRhdGEsIDEsIHNyY09mZnNldCwgc3JjTGVuZ3Ro
KSkKQEAgLTM0NTcsNiArMzQ0Miw3NCBAQCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVu
Y2FjaGVEZWxldGVkQnVmZmVyKFdlYkdMQnVmZmVyKiBidWZmZXIpCiAKICN1bmRlZiBSRU1PVkVf
QlVGRkVSX0ZST01fQklORElORwogCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVwZGF0
ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlckNhbGxlciBjYWxsZXIsIEdDR0xlbnVtIGJ1
ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyKQoreworICAgIC8vIFRoaXMgbWV0aG9kIG1ha2VzIHN1
cmUgdGhhdCB3ZSBkb24ndCBhdXRvLWNsZWFyIGFueSBidWZmZXJzIHdoaWNoIHRoZQorICAgIC8v
IHVzZXIgaGFzIG1hbnVhbGx5IGNsZWFyZWQgdXNpbmcgdGhlIG5ldyBFUyAzLjAgY2xlYXJCdWZm
ZXIqIEFQSXMuCisKKyAgICAvLyBJZiB0aGUgdXNlciBoYXMgYSBmcmFtZWJ1ZmZlciBib3VuZCwg
ZG9uJ3QgdXBkYXRlIHRoZSBhdXRvLWNsZWFyCisgICAgLy8gc3RhdGUgb2YgdGhlIGJ1aWx0LWlu
IGJhY2sgYnVmZmVyLgorICAgIGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZykKKyAgICAgICAgcmV0
dXJuOworCisgICAgLy8gSWYgdGhlIHNjaXNzb3IgdGVzdCBpcyBvbiwgYXNzdW1lIHRoYXQgd2Ug
Y2FuJ3Qgc2hvcnQtY2lyY3VpdAorICAgIC8vIHRoZXNlIGNsZWFycy4KKyAgICBpZiAobV9zY2lz
c29yRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gVGhlIGRlZmF1bHQgYmFjayBi
dWZmZXIgb25seSBoYXMgb25lIGNvbG9yIGF0dGFjaG1lbnQuCisgICAgaWYgKGRyYXdidWZmZXIp
CisgICAgICAgIHJldHVybjsKKworICAgIC8vIElmIHRoZSBjYWxsIHRvIHRoZSBkcml2ZXIgZ2Vu
ZXJhdGVkIGFuIGVycm9yLCBkb24ndCBjbGFpbSB0aGF0CisgICAgLy8gd2UndmUgYXV0by1jbGVh
cmVkIHRoZXNlIGJ1ZmZlcnMuIFRoZSBlYXJseSByZXR1cm5zIGJlbG93IGFyZSBmb3IKKyAgICAv
LyBjYXNlcyB3aGVyZSBlcnJvcnMgd2lsbCBiZSBwcm9kdWNlZC4KKworICAgIC8vIFRoZSBkZWZh
dWx0IGJhY2sgYnVmZmVyIGlzIGN1cnJlbnRseSBhbHdheXMgUkdCKEEpOCwgd2hpY2gKKyAgICAv
LyByZXN0cmljdHMgdGhlIHZhcmlhbnRzIHdoaWNoIGNhbiBsZWdhbGx5IGJlIHVzZWQgdG8gY2xl
YXIgdGhlCisgICAgLy8gY29sb3IgYnVmZmVyLiBUT0RPKGNyYnVnLmNvbS84Mjk2MzIpOiB0aGlz
IG5lZWRzIHRvIGJlCisgICAgLy8gZ2VuZXJhbGl6ZWQuCisgICAgc3dpdGNoIChjYWxsZXIpIHsK
KyAgICBjYXNlIENsZWFyQnVmZmVyaXY6CisgICAgICAgIGlmIChidWZmZXIgIT0gR3JhcGhpY3ND
b250ZXh0R0w6OlNURU5DSUwpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgQ2xlYXJCdWZmZXJmdjoKKyAgICAgICAgaWYgKGJ1ZmZlciAhPSBHcmFwaGljc0Nv
bnRleHRHTDo6Q09MT1IgJiYgYnVmZmVyICE9IEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSCkKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBDbGVhckJ1ZmZlcnVp
djoKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQ2xlYXJCdWZmZXJmaToKKyAgICAgICAgaWYg
KGJ1ZmZlciAhPSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfU1RFTkNJTCkKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgYnJlYWs7CisgICAgfQorCisgICAgR0NHTGJpdGZpZWxkIGJ1ZmZl
cnNUb0NsZWFyID0gMDsKKworICAgIC8vIFR1cm4gaXQgaW50byBhIGJpdGZpZWxkIGFuZCBtYXNr
IGl0IG9mZi4KKyAgICBzd2l0Y2ggKGJ1ZmZlcikgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
R0w6OkNPTE9SOgorICAgICAgICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpD
T0xPUl9CVUZGRVJfQklUOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpERVBUSDoKKyAgICAgICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6
REVQVEhfQlVGRkVSX0JJVDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6U1RFTkNJTDoKKyAgICAgICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRH
TDo6U1RFTkNJTF9CVUZGRVJfQklUOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNz
Q29udGV4dEdMOjpERVBUSF9TVEVOQ0lMOgorICAgICAgICBidWZmZXJzVG9DbGVhciA9IEdyYXBo
aWNzQ29udGV4dEdMOjpERVBUSF9CVUZGRVJfQklUIHwgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5D
SUxfQlVGRkVSX0JJVDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLy8g
SWxsZWdhbCB2YWx1ZS4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fY29udGV4dC0+
c2V0QnVmZmVyc1RvQXV0b0NsZWFyKG1fY29udGV4dC0+Z2V0QnVmZmVyc1RvQXV0b0NsZWFyKCkg
JiAofmJ1ZmZlcnNUb0NsZWFyKSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJHTCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaAppbmRleCAwNDIwZDc3NjYxOGU3MmUzOWUxZjg1NTY4
N2I1ZTMzNDU4YzVkODhhLi42MGU3M2M5MmIzNmQwZjhiZjNiYmFkZGIyMTI4YjVmMDc0MDRlYjQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdD
b250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5n
Q29udGV4dC5oCkBAIC0yOTEsNiArMjkxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHZhbGlkYXRl
SW5kZXhBcnJheUNvbnNlcnZhdGl2ZShHQ0dMZW51bSB0eXBlLCB1bnNpZ25lZCYgbnVtRWxlbWVu
dHNSZXF1aXJlZCkgZmluYWw7CiAgICAgYm9vbCB2YWxpZGF0ZUJsZW5kRXF1YXRpb24oY29uc3Qg
Y2hhciogZnVuY3Rpb25OYW1lLCBHQ0dMZW51bSBtb2RlKSBmaW5hbDsKICAgICBib29sIHZhbGlk
YXRlQ2FwYWJpbGl0eShjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGNhcCkgZmlu
YWw7CisgICAgYm9vbCB2YWxpZGF0ZUNsZWFyQnVmZmVyKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
ZSwgR0NHTGVudW0gYnVmZmVyLCBzaXplX3QsIEdDR0x1aW50IHNyY09mZnNldCk7CiAgICAgYm9v
bCB2YWxpZGF0ZUZyYW1lYnVmZmVyVGFyZ2V0KEdDR0xlbnVtIHRhcmdldCkgZmluYWw7CiAgICAg
V2ViR0xGcmFtZWJ1ZmZlciogZ2V0RnJhbWVidWZmZXJCaW5kaW5nKEdDR0xlbnVtIHRhcmdldCkg
ZmluYWw7CiAgICAgV2ViR0xGcmFtZWJ1ZmZlciogZ2V0UmVhZEZyYW1lYnVmZmVyQmluZGluZygp
IGZpbmFsOwpAQCAtMzE3LDYgKzMxOCwxNCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1bmNhY2hl
RGVsZXRlZEJ1ZmZlcihXZWJHTEJ1ZmZlciopIGZpbmFsOwogCisgICAgZW51bSBDbGVhckJ1ZmZl
ckNhbGxlciB7CisgICAgICAgIENsZWFyQnVmZmVyaXYsCisgICAgICAgIENsZWFyQnVmZmVydWl2
LAorICAgICAgICBDbGVhckJ1ZmZlcmZ2LAorICAgICAgICBDbGVhckJ1ZmZlcmZpCisgICAgfTsK
KyAgICB2b2lkIHVwZGF0ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlckNhbGxlciwgR0NH
TGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIpOworCiAgICAgUmVmUHRyPFdlYkdMRnJh
bWVidWZmZXI+IG1fcmVhZEZyYW1lYnVmZmVyQmluZGluZzsKICAgICBSZWZQdHI8V2ViR0xUcmFu
c2Zvcm1GZWVkYmFjaz4gbV9ib3VuZFRyYW5zZm9ybUZlZWRiYWNrOwogICAgIFJlZlB0cjxXZWJH
TFRyYW5zZm9ybUZlZWRiYWNrPiBtX2RlZmF1bHRUcmFuc2Zvcm1GZWVkYmFjazsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAKaW5kZXggNGJjOTNl
YmJlZjBkNThmZjI0MzM2M2M1NmM5Njc2MTAzZTdiNWUxYy4uZmEzMzM0YmU4ZGVjMWZiZWM2MGEz
NzE1YzYwM2Q2Y2Y0ZWFlMWRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52
YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0xGcmFtZWJ1ZmZlci5jcHAKQEAgLTYyMSwzMiArNjIxLDMyIEBAIHZvaWQgV2ViR0xGcmFt
ZWJ1ZmZlcjo6ZHJhd0J1ZmZlcnMoY29uc3QgVmVjdG9yPEdDR0xlbnVtPiYgYnVmcykKIAogdm9p
ZCBXZWJHTEZyYW1lYnVmZmVyOjpkcmF3QnVmZmVyc0lmTmVjZXNzYXJ5KGJvb2wgZm9yY2UpCiB7
Ci0jaWYgRU5BQkxFKFdFQkdMMikKLSAgICAvLyBGSVhNRTogVGhlIGxvZ2ljIGhlcmUgc2VlbXMg
d3JvbmcuIElmIHdlIGRvbid0IGhhdmUgV2ViR0wgMiBlbmFibGVkIGF0IGFsbCwgdGhlbgotICAg
IC8vIHdlIHNraXAgdGhlIG1fd2ViZ2xEcmF3QnVmZmVycyBjaGVjay4gQnV0IGlmIHdlIGRvIGhh
dmUgV2ViR0wgMiBlbmFibGVkLCB0aGVuIHdlCi0gICAgLy8gcGVyZm9ybSB0aGlzIGNoZWNrLCBm
b3IgV2ViR0wgMSBjb250ZXh0cyBvbmx5LgotICAgIGlmICghY29udGV4dCgpLT5tX3dlYmdsRHJh
d0J1ZmZlcnMgJiYgIWNvbnRleHQoKS0+aXNXZWJHTDIoKSkKLSAgICAgICAgcmV0dXJuOwotI2Vu
ZGlmCi0gICAgYm9vbCByZXNldCA9IGZvcmNlOwotICAgIC8vIFRoaXMgZmlsdGVyaW5nIHdvcmtz
IGFyb3VuZCBncmFwaGljcyBkcml2ZXIgYnVncyBvbiBNYWMgT1MgWC4KLSAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG1fZHJhd0J1ZmZlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1f
ZHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkUgJiYgZ2V0QXR0YWNobWVu
dChtX2RyYXdCdWZmZXJzW2ldKSkgewotICAgICAgICAgICAgaWYgKG1fZmlsdGVyZWREcmF3QnVm
ZmVyc1tpXSAhPSBtX2RyYXdCdWZmZXJzW2ldKSB7Ci0gICAgICAgICAgICAgICAgbV9maWx0ZXJl
ZERyYXdCdWZmZXJzW2ldID0gbV9kcmF3QnVmZmVyc1tpXTsKLSAgICAgICAgICAgICAgICByZXNl
dCA9IHRydWU7CisgICAgaWYgKGNvbnRleHQoKS0+aXNXZWJHTDIoKSB8fCBjb250ZXh0KCktPm1f
d2ViZ2xEcmF3QnVmZmVycykgeworICAgICAgICBib29sIHJlc2V0ID0gZm9yY2U7CisgICAgICAg
IC8vIFRoaXMgZmlsdGVyaW5nIHdvcmtzIGFyb3VuZCBncmFwaGljcyBkcml2ZXIgYnVncyBvbiBN
YWMgT1MgWC4KKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2RyYXdCdWZmZXJzLnNp
emUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAobV9kcmF3QnVmZmVyc1tpXSAhPSBHcmFwaGlj
c0NvbnRleHRHTDo6Tk9ORSAmJiBnZXRBdHRhY2htZW50KG1fZHJhd0J1ZmZlcnNbaV0pKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSAhPSBtX2RyYXdCdWZm
ZXJzW2ldKSB7CisgICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSA9
IG1fZHJhd0J1ZmZlcnNbaV07CisgICAgICAgICAgICAgICAgICAgIHJlc2V0ID0gdHJ1ZTsKKyAg
ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIGlm
IChtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkUpIHsK
KyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldID0gR3JhcGhpY3ND
b250ZXh0R0w6Ok5PTkU7CisgICAgICAgICAgICAgICAgICAgIHJlc2V0ID0gdHJ1ZTsKKyAgICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAg
ICBpZiAobV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29udGV4dEdMOjpOT05F
KSB7Ci0gICAgICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldID0gR3JhcGhpY3ND
b250ZXh0R0w6Ok5PTkU7Ci0gICAgICAgICAgICAgICAgcmVzZXQgPSB0cnVlOworICAgICAgICB9
CisgICAgICAgIGlmIChyZXNldCkgeworICAgICAgICAgICAgaWYgKGNvbnRleHQoKS0+aXNXZWJH
TDIoKSkgeworICAgICAgICAgICAgICAgIGNvbnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0R0woKS0+
ZHJhd0J1ZmZlcnMoCisgICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVycy5z
aXplKCksIG1fZmlsdGVyZWREcmF3QnVmZmVycy5kYXRhKCkpOworICAgICAgICAgICAgfSBlbHNl
IHsKKyAgICAgICAgICAgICAgICBjb250ZXh0KCktPmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4
dGVuc2lvbnMoKS5kcmF3QnVmZmVyc0VYVCgKKyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJl
ZERyYXdCdWZmZXJzLnNpemUoKSwgbV9maWx0ZXJlZERyYXdCdWZmZXJzLmRhdGEoKSk7CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKHJlc2V0KSB7Ci0gICAgICAgIGNv
bnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0R0woKS0+Z2V0RXh0ZW5zaW9ucygpLmRyYXdCdWZmZXJz
RVhUKAotICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzLnNpemUoKSwgbV9maWx0ZXJl
ZERyYXdCdWZmZXJzLmRhdGEoKSk7Ci0gICAgfQogfQogCiBHQ0dMZW51bSBXZWJHTEZyYW1lYnVm
ZmVyOjpnZXREcmF3QnVmZmVyKEdDR0xlbnVtIGRyYXdCdWZmZXIpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCmlu
ZGV4IGEyMzAzZjU4ZjM3NTA5N2E2MGI3NjRjMzg5YzYyYmRlZDU1OGNjMzkuLjc1N2E0N2VjMDEy
M2RiOGIzODVlOTYxNDUzYmFlOGZkMWYwNDVmMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCkBAIC0xMTAw
LDEzICsxMTAwLDE3IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2xlYXJJZkNv
bXBvc2l0ZWQoR0NHTGJpdGZpZWxkIG1hc2spCiAgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRp
bmcoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFtX2NvbnRleHQtPmxheWVy
Q29tcG9zaXRlZCgpIHx8IG1fbGF5ZXJDbGVhcmVkCi0gICAgICAgIHx8IG1fYXR0cmlidXRlcy5w
cmVzZXJ2ZURyYXdpbmdCdWZmZXIgfHwgKG1hc2sgJiYgbV9mcmFtZWJ1ZmZlckJpbmRpbmcpCi0g
ICAgICAgIHx8IG1fcHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9yKQorICAgIGlmICghbV9j
b250ZXh0LT5sYXllckNvbXBvc2l0ZWQoKSB8fCBtX2xheWVyQ2xlYXJlZCB8fCBtX3ByZXZlbnRC
dWZmZXJDbGVhckZvckluc3BlY3RvcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgYXV0
byBjb250ZXh0QXR0cmlidXRlcyA9IGdldENvbnRleHRBdHRyaWJ1dGVzKCk7Ci0gICAgQVNTRVJU
KGNvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBHQ0dMYml0ZmllbGQgYnVmZmVyc05lZWRpbmdDbGVh
cmluZyA9IG1fY29udGV4dC0+Z2V0QnVmZmVyc1RvQXV0b0NsZWFyKCk7CisKKyAgICBpZiAoIWJ1
ZmZlcnNOZWVkaW5nQ2xlYXJpbmcgfHwgKG1hc2sgJiYgbV9mcmFtZWJ1ZmZlckJpbmRpbmcpKQor
ICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBVc2UgdGhlIHVuZGVybHlpbmcgR3JhcGhp
Y3NDb250ZXh0M0QncyBhdHRyaWJ1dGVzIHRvIHRha2UgaW50bworICAgIC8vIGFjY291bnQgKGZv
ciBleGFtcGxlKSBwYWNrZWQgZGVwdGgvc3RlbmNpbCBidWZmZXJzLgorICAgIGF1dG8gY29udGV4
dEF0dHJpYnV0ZXMgPSBtX2NvbnRleHQtPmNvbnRleHRBdHRyaWJ1dGVzKCk7CiAKICAgICAvLyBE
ZXRlcm1pbmUgaWYgaXQncyBwb3NzaWJsZSB0byBjb21iaW5lIHRoZSBjbGVhciB0aGUgdXNlciBh
c2tlZCBmb3IgYW5kIHRoaXMgY2xlYXIuCiAgICAgYm9vbCBjb21iaW5lZENsZWFyID0gbWFzayAm
JiAhbV9zY2lzc29yRW5hYmxlZDsKQEAgLTExMjEsMTMgKzExMjUsMTMgQEAgYm9vbCBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhcklmQ29tcG9zaXRlZChHQ0dMYml0ZmllbGQgbWFzaykK
ICAgICAgICAgbV9jb250ZXh0LT5jbGVhckNvbG9yKDAsIDAsIDAsIDApOwogICAgIG1fY29udGV4
dC0+Y29sb3JNYXNrKHRydWUsIHRydWUsIHRydWUsIHRydWUpOwogICAgIEdDR0xiaXRmaWVsZCBj
bGVhck1hc2sgPSBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1JfQlVGRkVSX0JJVDsKLSAgICBpZiAo
Y29udGV4dEF0dHJpYnV0ZXMtPmRlcHRoKSB7CisgICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzLmRl
cHRoKSB7CiAgICAgICAgIGlmICghY29tYmluZWRDbGVhciB8fCAhbV9kZXB0aE1hc2sgfHwgISht
YXNrICYgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQpKQogICAgICAgICAgICAg
bV9jb250ZXh0LT5jbGVhckRlcHRoKDEuMGYpOwogICAgICAgICBjbGVhck1hc2sgfD0gR3JhcGhp
Y3NDb250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQ7CiAgICAgICAgIG1fY29udGV4dC0+ZGVwdGhN
YXNrKHRydWUpOwogICAgIH0KLSAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMtPnN0ZW5jaWwpIHsK
KyAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMuc3RlbmNpbCkgewogICAgICAgICBpZiAoY29tYmlu
ZWRDbGVhciAmJiAobWFzayAmIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JVRkZFUl9CSVQp
KQogICAgICAgICAgICAgbV9jb250ZXh0LT5jbGVhclN0ZW5jaWwobV9jbGVhclN0ZW5jaWwgJiBt
X3N0ZW5jaWxNYXNrKTsKICAgICAgICAgZWxzZQpAQCAtMTEzNSwxMSArMTEzOSwxNSBAQCBib29s
IFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFySWZDb21wb3NpdGVkKEdDR0xiaXRmaWVs
ZCBtYXNrKQogICAgICAgICBjbGVhck1hc2sgfD0gR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxf
QlVGRkVSX0JJVDsKICAgICAgICAgbV9jb250ZXh0LT5zdGVuY2lsTWFza1NlcGFyYXRlKEdyYXBo
aWNzQ29udGV4dEdMOjpGUk9OVCwgMHhGRkZGRkZGRik7CiAgICAgfQotICAgIAorCiAgICAgR0NH
TGVudW0gYmluZGluZ1BvaW50ID0gaXNXZWJHTDIoKSA/IEdyYXBoaWNzQ29udGV4dEdMOjpEUkFX
X0ZSQU1FQlVGRkVSIDogR3JhcGhpY3NDb250ZXh0R0w6OkZSQU1FQlVGRkVSOwogICAgIGlmICht
X2ZyYW1lYnVmZmVyQmluZGluZykKICAgICAgICAgbV9jb250ZXh0LT5iaW5kRnJhbWVidWZmZXIo
YmluZGluZ1BvaW50LCAwKTsKLSAgICBtX2NvbnRleHQtPmNsZWFyKGNsZWFyTWFzayk7CisgICAg
Ly8gSWYgdGhlIFdlYkdMIDIuMCBjbGVhckJ1ZmZlciBBUElzIGFscmVhZHkgaGF2ZSBiZWVuIHVz
ZWQgdG8KKyAgICAvLyBzZWxlY3RpdmVseSBjbGVhciBzb21lIG9mIHRoZSBidWZmZXJzLCBkb24n
dCBkZXN0cm95IHRob3NlCisgICAgLy8gcmVzdWx0cy4KKyAgICBtX2NvbnRleHQtPmNsZWFyKGNs
ZWFyTWFzayAmIGJ1ZmZlcnNOZWVkaW5nQ2xlYXJpbmcpOworICAgIG1fY29udGV4dC0+c2V0QnVm
ZmVyc1RvQXV0b0NsZWFyKDApOwogCiAgICAgcmVzdG9yZVN0YXRlQWZ0ZXJDbGVhcigpOwogICAg
IGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oCmluZGV4IDdiNjdiNjc5MTFhYzg3ODdj
YWI2ZTkwNWZiYjlmMDMwYjE5MzQ0NGUuLjE0OTcyOTFhMjgyNTg1Y2M1NmYyNmQyNDNmMjMyYzdl
MjgxOGZkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dy
YXBoaWNzQ29udGV4dEdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0R0wuaApAQCAtMTE4Niw3ICsxMTg2LDcgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0x1aW50IHN0
YXJ0LCBHQ0dMdWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0gdHlwZSwgR0NHTGlu
dHB0ciBvZmZzZXQpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3QnVmZmVycyhjb25zdCBW
ZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdCdWZm
ZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgPSAwOwogICAgIHZpcnR1YWwg
dm9pZCBjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBj
b25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZl
ciwgY29uc3QgR0NHTHVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdi
dWZmZXIsIGNvbnN0IEdDR0xmbG9hdCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpID0gMDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBo
aWNzQ29udGV4dEdMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
YW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXggZDI3NDdjNTJmYzUyZWQ3N2Rj
YTFlOTQ3NmFlZTNiMzA0ODlkNTQwZi4uNzI1ZTkzMjEzZWFlOWJkMzY4ZjQwNDAxMDA5YTA5ZWVm
MDVjZDk3YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5n
bGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAgLTE4OTksNiAr
MTg5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtDb250ZXh0Q2hhbmdl
ZCgpCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjptYXJrTGF5ZXJDb21wb3NpdGVkKCkK
IHsKICAgICBtX2xheWVyQ29tcG9zaXRlZCA9IHRydWU7CisgICAgcmVzZXRCdWZmZXJzVG9BdXRv
Q2xlYXIoKTsKIAogICAgIGZvciAoYXV0byogY2xpZW50IDogY29weVRvVmVjdG9yKG1fY2xpZW50
cykpCiAgICAgICAgIGNsaWVudC0+ZGlkQ29tcG9zaXRlKCk7CkBAIC0yMzAwLDQxICsyMzAxLDI5
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdSYW5nZUVsZW1lbnRzKEdDR0xl
bnVtIG1vZGUsIEdDR0x1aW50IHN0YXJ0LCBHCiAgICAgZ2w6OkRyYXdSYW5nZUVsZW1lbnRzKG1v
ZGUsIHN0YXJ0LCBlbmQsIGNvdW50LCB0eXBlLCByZWludGVycHJldF9jYXN0PHZvaWQqPihvZmZz
ZXQpKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1ZmZlcnMoY29u
c3QgVmVjdG9yPEdDR0xlbnVtPiYgYnVmZmVycykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVu
R0w6OmRyYXdCdWZmZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykKIHsKLSAg
ICBVTlVTRURfUEFSQU0oYnVmZmVycyk7CisgICAgZ2w6OkRyYXdCdWZmZXJzKG4sIGJ1ZnMpOwog
fQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVt
IGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1
aW50IHNyY09mZnNldCkKIHsKLSAgICBVTlVTRURfUEFSQU0oYnVmZmVyKTsKLSAgICBVTlVTRURf
UEFSQU0oZHJhd2J1ZmZlcik7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgVU5VU0VE
X1BBUkFNKHNyY09mZnNldCk7CisgICAgZ2w6OkNsZWFyQnVmZmVyaXYoYnVmZmVyLCBkcmF3YnVm
ZmVyLCB2YWx1ZXMgKyBzcmNPZmZzZXQpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwg
Y29uc3QgR0NHTHVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KQogewotICAgIFVOVVNF
RF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBVTlVT
RURfUEFSQU0odmFsdWVzKTsKLSAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBnbDo6
Q2xlYXJCdWZmZXJ1aXYoYnVmZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMgKyBzcmNPZmZzZXQpOwog
fQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcmZ2KEdDR0xlbnVt
IGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMZmxvYXQqIHZhbHVlcywgR0NH
THVpbnQgc3JjT2Zmc2V0KQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNF
RF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICBVTlVT
RURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJmdihidWZmZXIsIGRyYXdi
dWZmZXIsIHZhbHVlcyArIHNyY09mZnNldCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OmNsZWFyQnVmZmVyZmkoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIs
IEdDR0xmbG9hdCBkZXB0aCwgR0NHTGludCBzdGVuY2lsKQogewotICAgIFVOVVNFRF9QQVJBTShi
dWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0o
ZGVwdGgpOwotICAgIFVOVVNFRF9QQVJBTShzdGVuY2lsKTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJm
aShidWZmZXIsIGRyYXdidWZmZXIsIGRlcHRoLCBzdGVuY2lsKTsKIH0KIAogdm9pZCBHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6ZGVsZXRlUXVlcnkoUGxhdGZvcm1HTE9iamVjdCBxdWVyeSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwCmluZGV4IDMzZGI5OGJhNTdmNzM3OGJm
YmEzYmYyZjEyYTkwZTQ0YTgzNDVlMWQuLjg0ODgxNzFkOGFlN2Y1YTMwZWUxZWE2MmNhNDAzODUy
YzZlM2ZjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmNwcApAQCAtMjcx
LDYgKzI3MSwzNCBAQCBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdCBnZXREYXRhRm9ybWF0
KEdDR0xlbnVtIGRlc3RpbmF0aW9uRm9ybWF0LCBHQ0dMZW51bQogCiB9IC8vIGFub255bW91cyBu
YW1lc3BhY2UKIAordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzZXRCdWZmZXJzVG9B
dXRvQ2xlYXIoKQoreworICAgIEdDR0x1aW50IGJ1ZmZlcnMgPSBHcmFwaGljc0NvbnRleHRHTDo6
Q09MT1JfQlVGRkVSX0JJVDsKKyAgICAvLyBUaGUgR3JhcGhpY3NDb250ZXh0R0wncyBhdHRyaWJ1
dGVzIChhcyBvcHBvc2VkIHRvCisgICAgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0J3MpIGluZGlj
YXRlIHdoZXRoZXIgdGhlcmUgaXMgYW4KKyAgICAvLyBpbXBsaWNpdGx5LWFsbG9jYXRlZCBzdGVu
Y2lsIGJ1ZmZlciwgZm9yIGV4YW1wbGUuCisgICAgYXV0byBhdHRycyA9IGNvbnRleHRBdHRyaWJ1
dGVzKCk7CisgICAgaWYgKGF0dHJzLmRlcHRoKQorICAgICAgICBidWZmZXJzIHw9IEdyYXBoaWNz
Q29udGV4dEdMOjpERVBUSF9CVUZGRVJfQklUOworICAgIGlmIChhdHRycy5zdGVuY2lsKQorICAg
ICAgICBidWZmZXJzIHw9IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JVRkZFUl9CSVQ7Cisg
ICAgc2V0QnVmZmVyc1RvQXV0b0NsZWFyKGJ1ZmZlcnMpOworfQorCit2b2lkIEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMOjpzZXRCdWZmZXJzVG9BdXRvQ2xlYXIoR0NHTGJpdGZpZWxkIGJ1ZmZlcnMp
Cit7CisgICAgYXV0byBhdHRycyA9IGNvbnRleHRBdHRyaWJ1dGVzKCk7CisgICAgaWYgKCFhdHRy
cy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIpCisgICAgICAgIG1fYnVmZmVyc1RvQXV0b0NsZWFyID0g
YnVmZmVyczsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVCghbV9idWZmZXJzVG9BdXRvQ2xlYXIp
OworfQorCitHQ0dMYml0ZmllbGQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmdldEJ1ZmZlcnNU
b0F1dG9DbGVhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVmZmVyc1RvQXV0b0NsZWFyOwor
fQorCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp0ZXhJbWFnZTJEUmVzb3VyY2VTYWZl
KEdDR0xlbnVtIHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGVudW0gaW50ZXJuYWxmb3JtYXQs
IEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGludCBib3JkZXIsIEdDR0xl
bnVtIGZvcm1hdCwgR0NHTGVudW0gdHlwZSwgR0NHTGludCB1bnBhY2tBbGlnbm1lbnQpCiB7CiAg
ICAgQVNTRVJUKHVucGFja0FsaWdubWVudCA9PSAxIHx8IHVucGFja0FsaWdubWVudCA9PSAyIHx8
IHVucGFja0FsaWdubWVudCA9PSA0IHx8IHVucGFja0FsaWdubWVudCA9PSA4KTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggNGUxMzFiZjgzYjY1M2ZlZjcwODFhNGRlMjgx
MmU0ZDgxMGY3YzI0MC4uN2Y1MzJhZWE2ZWUwYmRjMDU4OGViZjY0NDc4ZjlkZjQ4NjhjZmRlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQzMyw3ICs0MzMsNyBAQCBw
dWJsaWM6CiAKICAgICB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0x1
aW50IHN0YXJ0LCBHQ0dMdWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0gdHlwZSwg
R0NHTGludHB0ciBvZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBkcmF3QnVmZmVycyhjb25zdCBW
ZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKSBmaW5hbDsKKyAgICB2b2lkIGRyYXdCdWZmZXJzKEdD
R0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgZmluYWw7CiAgICAgdm9pZCBjbGVhckJ1
ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50
KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgZmluYWw7CiAgICAgdm9pZCBjbGVhckJ1ZmZl
cnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29uc3QgR0NHTHVpbnQq
IHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSBmaW5hbDsKICAgICB2b2lkIGNsZWFyQnVmZmVy
ZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xmbG9hdCog
dmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpIGZpbmFsOwpAQCAtNTIzLDYgKzUyMywxMyBAQCBw
dWJsaWM6CiAgICAgdm9pZCBmb3JjZUNvbnRleHRMb3N0KCk7CiAgICAgdm9pZCByZWN5Y2xlQ29u
dGV4dCgpOwogCisgICAgLy8gTWFpbnRlbmFuY2Ugb2YgYXV0by1jbGVhcmluZyBvZiBjb2xvci9k
ZXB0aC9zdGVuY2lsIGJ1ZmZlcnMuIFRoZQorICAgIC8vIHJlc2V0IG1ldGhvZCBpcyBwcmVzZW50
IHRvIGtlZXAgY2FsbGluZyBjb2RlIHNpbXBsZXIsIHNvIGl0CisgICAgLy8gZG9lc24ndCBoYXZl
IHRvIGtub3cgd2hpY2ggYnVmZmVycyB3ZXJlIGFsbG9jYXRlZC4KKyAgICB2b2lkIHJlc2V0QnVm
ZmVyc1RvQXV0b0NsZWFyKCk7CisgICAgdm9pZCBzZXRCdWZmZXJzVG9BdXRvQ2xlYXIoR0NHTGJp
dGZpZWxkKTsKKyAgICBHQ0dMYml0ZmllbGQgZ2V0QnVmZmVyc1RvQXV0b0NsZWFyKCkgY29uc3Q7
CisKICAgICB2b2lkIGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRpb24oKTsKICAgICB2
b2lkIHNpbXVsYXRlQ29udGV4dENoYW5nZWQoKTsKIApAQCAtODY0LDYgKzg3MSwxMSBAQCBwcml2
YXRlOgogICAgIEdDR0x1aW50IG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyRkJPIHsgMCB9OwogI2Vu
ZGlmCiAKKyAgICAvLyBBIGJpdG1hc2sgb2YgR0wgYnVmZmVyIGJpdHMgKEdMX0NPTE9SX0JVRkZF
Ul9CSVQsCisgICAgLy8gR0xfREVQVEhfQlVGRkVSX0JJVCwgR0xfU1RFTkNJTF9CVUZGRVJfQklU
KSB3aGljaCBuZWVkIHRvIGJlCisgICAgLy8gYXV0by1jbGVhcmVkLgorICAgIEdDR0xiaXRmaWVs
ZCBtX2J1ZmZlcnNUb0F1dG9DbGVhciB7IDAgfTsKKwogICAgIC8vIEVycm9ycyByYWlzZWQgYnkg
c3ludGhlc2l6ZUdMRXJyb3IoKS4KICAgICBMaXN0SGFzaFNldDxHQ0dMZW51bT4gbV9zeW50aGV0
aWNFcnJvcnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24u
Y3BwCmluZGV4IDJmNzUyODIxZGZkODZkZTk4NTY4YjJjM2U2MTRiYTljZGEyOTY3NTYuLmVlNTlh
NjM3Nzk3MTU1NjVmZjc1NjdkY2JiYzUwNTgzMGUxZDJmM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENv
bW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dEdMT3BlbkdMQ29tbW9uLmNwcApAQCAtMjAxOSw2ICsyMDE5LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0NvbnRleHRDaGFuZ2VkKCkKIHZvaWQgR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQoKQogewogICAgIG1fbGF5
ZXJDb21wb3NpdGVkID0gdHJ1ZTsKKyAgICByZXNldEJ1ZmZlcnNUb0F1dG9DbGVhcigpOwogCiAg
ICAgZm9yIChhdXRvKiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9jbGllbnRzKSkKICAgICAgICAg
Y2xpZW50LT5kaWRDb21wb3NpdGUoKTsKQEAgLTI0MjQsOSArMjQyNSwxMCBAQCB2b2lkIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3UmFuZ2VFbGVtZW50cyhHQ0dMZW51bSBtb2RlLCBHQ0dM
dWludCBzdGFydCwgRwogICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBi
dWZmZXJzKQordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1ZmZlcnMoR0NHTHNp
emVpIG4sIGNvbnN0IEdDR0xlbnVtKiBidWZzKQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXJz
KTsKKyAgICBVTlVTRURfUEFSQU0obik7CisgICAgVU5VU0VEX1BBUkFNKGJ1ZnMpOwogfQogCiB2
b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZl
ciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNy
Y09mZnNldCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA1OWNhMTBmYWEzYjI1NmQ3MTY4ZGFlOTU3YjY2MDE0ZTg4NjY4ODFm
Li4wNTY2NjBhM2U5MWZjOGM2NGQ3ZGM5ZWNhMTZkNmIzNjRjMGU4ZTJjIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMjAtMDctMjEgIEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+
CisKKyAgICAgICAgW1dlYkdMMl0gSW1wbGVtZW50IG11bHRpcGxlIHJlbmRlciB0YXJnZXQgZW50
cnkgcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMTExNTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBSZWJhc2VsaW5lIG9uZSBsYXlvdXQgdGVzdCB3aGljaCBpcyBub3cgZnVsbHkgcGFzc2luZywg
YW5kIGFub3RoZXIKKyAgICAgICAgd2hpY2ggbm93IHByb3Blcmx5IGRldGVjdHMgZXJyb3JzLgor
CisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3NlcXVlbmNlcy1leHBlY3RlZC50
eHQ6CisgICAgICAgICogd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhl
bHMtZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDctMjEgIFphbGFuIEJ1anRh
cyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAgICBbVUkgRXZlbnRzXSBNYWtlIG1vdXNlbW92
ZSBjYW5jZWxhYmxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93
ZWJnbDIvc2VxdWVuY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3dlYmdsMi9zZXF1ZW5jZXMtZXhwZWN0ZWQudHh0CmluZGV4IGMzZjAyNWRjYmJjMDVmZmYx
NDUzOTMxYzFiNTIwYWE2YmQ4NWM0ZmQuLjU1MGZhZmU2NjU1YWM5ZmZhMGFlOWNiNGQzODc1Mzdj
NTAxM2I2YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmds
Mi9zZXF1ZW5jZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dl
YmdsL3dlYmdsMi9zZXF1ZW5jZXMtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsMTIgQEAgQ09OU09M
RSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogdmVydGV4QXR0cmliSTRpdjogYXJyYXkg
dG9vIHNtYWxsCiBDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiB2ZXJ0ZXhB
dHRyaWJJNGl2OiBhcnJheSB0b28gc21hbGwKIENPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFM
SURfVkFMVUU6IHZlcnRleEF0dHJpYkk0dWl2OiBhcnJheSB0b28gc21hbGwKIENPTlNPTEUgTUVT
U0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IHZlcnRleEF0dHJpYkk0dWl2OiBhcnJheSB0b28g
c21hbGwKK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVy
aXY6IGludmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAorQ09OU09MRSBNRVNTQUdFOiBXZWJH
TDogSU5WQUxJRF9WQUxVRTogY2xlYXJCdWZmZXJpdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3Jj
T2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZl
cnVpdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdl
YkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcnVpdjogaW52YWxpZCBhcnJheSBzaXplIC8g
c3JjT2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1
ZmZlcmZ2OiBpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNPZmZzZXQKK0NPTlNPTEUgTUVTU0FHRTog
V2ViR0w6IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVyZnY6IGludmFsaWQgYXJyYXkgc2l6ZSAv
IHNyY09mZnNldAogCiBQQVNTIHVuaWZvcm0xdWl2IGRhdGEgd2l0aCB0eXBlZCBhcnJheSBvZiB0
eXBlIHVpIAogUEFTUyB1bmlmb3JtMXVpdiBkYXRhIHdpdGggc2VxdWVuY2Ugb2YgdHlwZSB1aSAK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5n
L3JlYWQtcGl4ZWxzLWZyb20tZmJvLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2Vi
Z2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1l
eHBlY3RlZC50eHQKaW5kZXggZGY0ZjUxZjcwYjFiYjljN2JjOWNjZmYyODM0MWUzNDYyMzRmNWUw
ZS4uNmQ1ZjkxZjQ5YzM5NzM5YzNiNjVjNTEyOGEzMGU4OGM4ZDhhOGQ2ZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMt
ZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAv
Y29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50
eHQKQEAgLTEsMjAwICsxLDUgQEAKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3Rl
ZCBiZWxvdyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAu
Li8uLi9yZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFk
LXBpeGVscy1mcm9tLWZiby10ZXN0Lmh0bWwKLVsgMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyA0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1b
IDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjogUEFTUyBdIENvbG9yIHJlYWQgYmFj
ayBhcyBleHBlY3RlZAotWyA3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9y
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDEwOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAyNTAsMCwwLDAsIHdhcyA9IDAsMCwwLDEK
LVsgMTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTI6IEZBSUwgXSBFeHBlY3RlZCBj
b2xvciA9IDI1MCwwLDAsMCwgd2FzID0gMAotWyAxMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDE2OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2LDAsMCww
LCB3YXMgPSAwLDAsMCwxCi1bIDE3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4OiBG
QUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2LDAsMCwwLCB3YXMgPSAwCi1bIDE5OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMjE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjI6IEZBSUwgXSBFeHBlY3RlZCBj
b2xvciA9IDMwMDAxLDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDIzOiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDI0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAzMDAwMSwwLDAsMCwgd2Fz
ID0gMAotWyAyNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjY6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDI3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDI4
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTQxODksMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsg
Mjk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzA6IEZBSUwgXSBFeHBlY3RlZCBjb2xv
ciA9IC0xNDE4OSwwLDAsMCwgd2FzID0gMAotWyAzMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMzI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDMzOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDM0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxMjY3MjYsMCww
LDAsIHdhcyA9IDAsMCwwLDEKLVsgMzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzY6
IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDEyNjcyNiwwLDAsMCwgd2FzID0gMAotWyAzNzogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZi
byBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDM5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDQwOiBGQUlMIF0gRXhwZWN0
ZWQgY29sb3IgPSAtMTI2NzI2LDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDQxOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDQyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2NzI2LDAs
MCwwLCB3YXMgPSAwCi1bIDQzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA0NDog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xv
ciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgNDY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNDc6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNDg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhw
ZWN0ZWQKLVsgNDk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDUwOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3Vs
ZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1
MjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA1MzogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyA1NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAot
WyA1NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0
aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNTY6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDU3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDU4OiBQQVNT
IF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDU5OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDYwOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDYxOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2MjogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgNjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjQ6IFBBU1MgXSBDb2xv
ciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgNjY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNjc6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDY4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyA2OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFk
UGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3MDogUEFTUyBdIENvbG9yIHJlYWQg
YmFjayBhcyBleHBlY3RlZAotWyA3MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3Mjog
UEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA3MzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgNzQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc1OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFz
IGV4cGVjdGVkCi1bIDc3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc4OiBQQVNTIF0g
Q29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDc5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA4MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODE6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgODI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0
ZWQKLVsgODM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
cmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODQ6IFBBU1MgXSBDb2xvciBy
ZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgODU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDg2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENs
ZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4NzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyA4ODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA4
OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4
ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5MDogUEFTUyBdIENvbG9yIHJlYWQgYmFj
ayBhcyBleHBlY3RlZAotWyA5MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgOTI6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29s
b3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDkzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDk0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDk1OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDk2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4
cGVjdGVkCi1bIDk3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5ODogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgOTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MTAwOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEwMTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAxMDI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0
ZWQKLVsgMTAzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDQ6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDEwNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAx
MDY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTA3OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDEwODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3Rl
ZAotWyAxMDk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDExMDogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgMTExOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEx
MjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMTM6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgMTE0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVk
Ci1bIDExNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBT
ZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE2OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAxMTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE4
OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDExOTogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAxMjA6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQK
LVsgMTIxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNl
dHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjI6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDEyMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjQ6
IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTI1OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDEyNjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAot
WyAxMjc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0
dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEyODogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgMTI5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEzMDog
UEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMzE6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTMyOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1b
IDEzMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0
aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTM0OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAxMzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTM2OiBQ
QVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEzNzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyAxMzg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsg
MTM5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRp
bmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDA6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDE0MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDI6IFBB
U1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTQzOiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDE0NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAx
NDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGlu
ZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0NjogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTQ3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0ODogRkFJ
TCBdIEV4cGVjdGVkIGNvbG9yID0gMTI3LDAsMjU1LDE3OCwgd2FzID0gMCwwLDAsMAotWyAxNDk6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTUwOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3Ig
PSAxMjcsMCwyNTUsMTc4LCB3YXMgPSAwLDAsMCwwCi1bIDE1MTogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTUyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTM6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTU0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAt
NTUsNTYsODAsMTI3LCB3YXMgPSAwLDAsMCwwCi1bIDE1NTogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxNTY6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC01NSw1Niw4MCwxMjcsIHdhcyA9
IDAsMCwwLDAKLVsgMTU3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTg6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Ig
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxNjA6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE3OCwwLDEyNywzLCB3YXMgPSAwLDAs
MCwwCi1bIDE2MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNjI6IEZBSUwgXSBFeHBl
Y3RlZCBjb2xvciA9IDE3OCwwLDEyNywzLCB3YXMgPSAwLDAsMCwwCi1bIDE2MzogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTY0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTY2OiBGQUlMIF0gRXhwZWN0ZWQg
Y29sb3IgPSAxNDE4OSw2NzM1LDAsMTksIHdhcyA9IDAsMCwwLDAKLVsgMTY3OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDE2ODogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTQxODksNjcz
NSwwLDE5LCB3YXMgPSAwLDAsMCwwCi1bIDE2OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTcwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzE6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgMTcyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxNDE4OSwtNjcz
NSwwLDE5LCB3YXMgPSAwLDAsMCwwCi1bIDE3MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNzQ6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE0MTg5LC02NzM1LDAsMTksIHdhcyA9IDAs
MCwwLDAKLVsgMTc1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzY6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE3NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNzg6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDEyNjcyNiw2NzI2LDk4NzY1LDIwMTUsIHdh
cyA9IDAsMCwwLDAKLVsgMTc5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4MDogRkFJ
TCBdIEV4cGVjdGVkIGNvbG9yID0gMTI2NzI2LDY3MjYsOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAs
MAotWyAxODE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4MjogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgMTgzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4
NDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTI2NzI2LC02NzI2LC05ODc2NSwyMDE1LCB3YXMg
PSAwLDAsMCwwCi1bIDE4NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODY6IEZBSUwg
XSBFeHBlY3RlZCBjb2xvciA9IDEyNjcyNiwtNjcyNiwtOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAs
MAotWyAxODc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4ODogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgMTg5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE5
MDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxOTE6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgMTkyOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVk
Ci1bIDE5MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxOTQ6IFBBU1MgXSBDb2xvciBy
ZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTk1OiBQQVNTIF0gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKLVsgRkFJTCBdIDI2IGZhaWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwgdGVzdHMg
cGFzc2VkCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404883</attachid>
            <date>2020-07-21 17:16:08 -0700</date>
            <delta_ts>2020-07-22 13:15:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211156-20200721171607.patch</filename>
            <type>text/plain</type>
            <size>46671</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM5ZjZiMjBmYmMzMWJm
MDJkYTlhNTRkZjMxYmUzMGFhOWE0MjhlZi4uZmYwMjI1ZjhjODEyMmUxZDc5NGYyMmYyODE0MDYx
ODZkYmYwNWEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ2IEBACisyMDIwLTA3LTIxICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJHTDJdIEltcGxl
bWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0IGVudHJ5IHBvaW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTXlsZXMgQy4gTWF4ZmllbGQuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBkcmF3QnVm
ZmVycyBhbmQgY2xlYXJCdWZmZXIgZW50cnkgcG9pbnRzLiBJbnRlZ3JhdGUKKyAgICAgICAgdGhl
IGNsZWFyQnVmZmVyIEFQSXMgd2l0aCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6ZmFsc2UncworICAg
ICAgICBhdXRvLWNsZWFyaW5nLgorCisgICAgICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgV2ViR0wg
Y29uZm9ybWFuY2UgdGVzdHMuCisKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJp
bmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OmRyYXdCdWZmZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6
OmNsZWFyQnVmZmVyaXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4
dDo6Y2xlYXJCdWZmZXJ1aXYpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29u
dGV4dDo6Y2xlYXJCdWZmZXJmdik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdD
b250ZXh0OjpjbGVhckJ1ZmZlcmZpKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmlu
Z0NvbnRleHQ6OnZhbGlkYXRlQ2xlYXJCdWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6dXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAgKiBo
dG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0Lmg6CisgICAgICAgICogaHRtbC9jYW52
YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVm
ZmVyOjpkcmF3QnVmZmVyc0lmTmVjZXNzYXJ5KToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVy
aW5nQ29udGV4dEJhc2U6OmNsZWFySWZDb21wb3NpdGVkKToKKyAgICAgICAgKiBwbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNz
L2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKToKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcnVpdik6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y2xlYXJCdWZmZXJmdik6Cisg
ICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y2xlYXJCdWZmZXJmaSk6
CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNl
dEJ1ZmZlcnNUb0F1dG9DbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6c2V0QnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dEdMT3BlbkdMOjpnZXRCdWZmZXJzVG9BdXRvQ2xlYXIgY29uc3QpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5H
TENvbW1vbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
bWFya0xheWVyQ29tcG9zaXRlZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6ZHJhd0J1ZmZlcnMpOgorCiAyMDIwLTA3LTIxICBFcmljIENhcmxzb24gIDxlcmlj
LmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFVzZSBBVlJvdXRlUGlja2VyVmlldyB3aGVu
IGF2YWlsYWJsZSBmb3IgY2hvb3NpbmcgQWlyUGxheSBkZXZpY2VzCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCmluZGV4IDJj
MWJkZjQ3OWQ3Njk5YTAzNmMwYzQ2NzdmN2Y0ZWZiNGU5NTI4YjQuLjljY2FkYzNjNDY1MWE4NTli
N2NlOGUyNzdhYTEwMDYzZDUwMDBhMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwCkBAIC0xNzU5LDcgKzE3NTksNyBA
QCB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxH
Q0dMZW51bT4mIGJ1ZmZlcnMpCiAgICAgICAgIH0KICAgICAgICAgLy8gQmVjYXVzZSB0aGUgYmFj
a2J1ZmZlciBpcyBzaW11bGF0ZWQgb24gYWxsIGN1cnJlbnQgV2ViS2l0IHBvcnRzLCB3ZSBuZWVk
IHRvIGNoYW5nZSBCQUNLIHRvIENPTE9SX0FUVEFDSE1FTlQwLgogICAgICAgICBHQ0dMZW51bSB2
YWx1ZSA9IChidWZzWzBdID09IEdyYXBoaWNzQ29udGV4dEdMOjpCQUNLKSA/IEdyYXBoaWNzQ29u
dGV4dEdMOjpDT0xPUl9BVFRBQ0hNRU5UMCA6IEdyYXBoaWNzQ29udGV4dEdMOjpOT05FOwotICAg
ICAgICBncmFwaGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuZHJhd0J1ZmZlcnNFWFQo
MSwgJnZhbHVlKTsKKyAgICAgICAgbV9jb250ZXh0LT5kcmF3QnVmZmVycygxLCAmdmFsdWUpOwog
ICAgICAgICBzZXRCYWNrRHJhd0J1ZmZlcihidWZzWzBdKTsKICAgICB9IGVsc2UgewogICAgICAg
ICBpZiAobiA+IGdldE1heERyYXdCdWZmZXJzKCkpIHsKQEAgLTE3NzYsOTIgKzE3NzYsNDggQEAg
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NH
TGVudW0+JiBidWZmZXJzKQogICAgIH0KIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0
OjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBJbnQz
Mkxpc3QmJiwgR0NHTHVpbnQpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVm
ZmVyaXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEludDMyTGlzdCYmIHZh
bHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KQogewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwg
MCB8fCBkcmF3YnVmZmVyID49IGdldE1heERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJC
dWZmZXJpdiIsICJidWZmZXIgaW5kZXggb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1
cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcml2LCByZXF1
aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGlj
c0NvbnRleHRHTDo6U1RFTkNJTDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIpIHsKLSAgICAgICAg
ICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAi
Y2xlYXJCdWZmZXJpdiIsICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0gICAgICAgICAgICBy
ZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcml2LCBy
ZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFw
aGljc0NvbnRleHRHTDo6REVQVEg6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhf
U1RFTkNJTDoKLSAgICBkZWZhdWx0OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGlj
c0NvbnRleHRHTDo6SU5WQUxJRF9PUEVSQVRJT04sICJjbGVhckJ1ZmZlcml2IiwgImJ1ZmZlciBh
cmd1bWVudCBtdXN0IGJlIENPTE9SIG9yIFNURU5DSUwiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAg
fQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlQ2xlYXJCdWZm
ZXIoImNsZWFyQnVmZmVyaXYiLCBidWZmZXIsIHZhbHVlcy5sZW5ndGgoKSwgc3JjT2Zmc2V0KSkK
KyAgICAgICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZlcml2KGJ1ZmZlciwg
ZHJhd2J1ZmZlciwgdmFsdWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICB1cGRhdGVCdWZmZXJz
VG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVmZmVyaXYsIGJ1ZmZlciwgZHJh
d2J1ZmZlcik7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJ1
aXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIFVpbnQzMkxpc3QmJiwgR0NH
THVpbnQpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVydWl2KEdDR0xl
bnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0JiYgdmFsdWVzLCBHQ0dM
dWludCBzcmNPZmZzZXQpCiB7Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAgICBjYXNlIEdyYXBo
aWNzQ29udGV4dEdMOjpDT0xPUjoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIgPCAwIHx8IGRyYXdi
dWZmZXIgPj0gZ2V0TWF4RHJhd0J1ZmZlcnMoKSkgewotICAgICAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZlcnVpdiIs
ICJidWZmZXIgaW5kZXggb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcnVpdiwgcmVxdWlyZXMgZ2wz
LmggYW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
R0w6OkRFUFRIOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUw6Ci0gICAgY2Fz
ZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfU1RFTkNJTDoKLSAgICBkZWZhdWx0OgotICAgICAg
ICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9PUEVSQVRJT04s
ICJjbGVhckJ1ZmZlcnVpdiIsICJidWZmZXIgYXJndW1lbnQgbXVzdCBiZSBDT0xPUiIpOwotICAg
ICAgICBicmVhazsKLSAgICB9CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAh
dmFsaWRhdGVDbGVhckJ1ZmZlcigiY2xlYXJCdWZmZXJ1aXYiLCBidWZmZXIsIHZhbHVlcy5sZW5n
dGgoKSwgc3JjT2Zmc2V0KSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVh
ckJ1ZmZlcnVpdihidWZmZXIsIGRyYXdidWZmZXIsIHZhbHVlcy5kYXRhKCksIHNyY09mZnNldCk7
CisgICAgdXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1
ZmZlcnVpdiwgYnVmZmVyLCBkcmF3YnVmZmVyKTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdD
b250ZXh0OjpjbGVhckJ1ZmZlcmZ2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVy
LCBGbG9hdDMyTGlzdCYmLCBHQ0dMdWludCkKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
Y2xlYXJCdWZmZXJmdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgRmxvYXQz
Mkxpc3QmJiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkKIHsKLSAgICBzd2l0Y2ggKGJ1ZmZl
cikgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SOgotICAgICAgICBpZiAoZHJh
d2J1ZmZlciA8IDAgfHwgZHJhd2J1ZmZlciA+PSBnZXRNYXhEcmF3QnVmZmVycygpKSB7Ci0gICAg
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxV
RSwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVyIGluZGV4IG91dCBvZiByYW5nZSIpOwotICAgICAg
ICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZm
ZXJmdiwgcmVxdWlyZXMgZ2wzLmggYW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNh
c2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIOgotICAgICAgICBpZiAoZHJhd2J1ZmZlcikgewot
ICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURf
VkFMVUUsICJjbGVhckJ1ZmZlcmZ2IiwgImJ1ZmZlciBpbmRleCBtdXN0IGJlIDAiKTsKLSAgICAg
ICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVm
ZmVyZnYsIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBj
YXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0
R0w6OkRFUFRIX1NURU5DSUw6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJmdiIs
ICJidWZmZXIgYXJndW1lbnQgbXVzdCBiZSBDT0xPUiBPUiBERVBUSCIpOwotICAgICAgICBicmVh
azsKLSAgICB9CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVD
bGVhckJ1ZmZlcigiY2xlYXJCdWZmZXJmdiIsIGJ1ZmZlciwgdmFsdWVzLmxlbmd0aCgpLCBzcmNP
ZmZzZXQpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NvbnRleHQtPmNsZWFyQnVmZmVyZnYo
YnVmZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMuZGF0YSgpLCBzcmNPZmZzZXQpOworICAgIC8vIGNs
ZWFyQnVmZmVyaXYgYW5kIGNsZWFyQnVmZmVydWl2IHdpbGwgY3VycmVudGx5IGdlbmVyYXRlIGFu
IGVycm9yCisgICAgLy8gaWYgdGhleSdyZSBjYWxsZWQgYWdhaW5zdCB0aGUgZGVmYXVsdCBiYWNr
IGJ1ZmZlci4gSWYgc3VwcG9ydCBmb3IKKyAgICAvLyBleHRlbmRlZCBjYW52YXMgY29sb3Igc3Bh
Y2VzIGlzIGFkZGVkLCB0aGlzIGNhbGwgbWlnaHQgbmVlZCB0byBiZQorICAgIC8vIGFkZGVkIHRv
IHRoZSBvdGhlciB2ZXJzaW9ucy4KKyAgICBtYXJrQ29udGV4dENoYW5nZWQoKTsKKyAgICB1cGRh
dGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVmZmVyZnYsIGJ1
ZmZlciwgZHJhd2J1ZmZlcik7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xl
YXJCdWZmZXJmaShHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgR0NHTGZsb2F0
LCBHQ0dMaW50KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZpKEdD
R0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBHQ0dMZmxvYXQgZGVwdGgsIEdDR0xp
bnQgc3RlbmNpbCkKIHsKLSAgICBzd2l0Y2ggKGJ1ZmZlcikgewotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkRFUFRIX1NURU5DSUw6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyKSB7Ci0gICAg
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxV
RSwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVyIGluZGV4IG11c3QgYmUgMCIpOwotICAgICAgICAg
ICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJm
aSwgcmVxdWlyZXMgZ2wzLmggYW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRF
UFRIOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUw6Ci0gICAgZGVmYXVsdDoK
LSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BF
UkFUSU9OLCAiY2xlYXJCdWZmZXJmdiIsICJidWZmZXIgYXJndW1lbnQgbXVzdCBiZSBERVBUSF9T
VEVOQ0lMIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICBpZiAoaXNDb250ZXh0TG9zdE9y
UGVuZGluZygpKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NvbnRleHQtPmNsZWFyQnVmZmVy
ZmkoYnVmZmVyLCBkcmF3YnVmZmVyLCBkZXB0aCwgc3RlbmNpbCk7CisgICAgLy8gVGhpcyBtaWdo
dCBoYXZlIGJlZW4gdXNlZCB0byBjbGVhciB0aGUgZGVwdGggYW5kIHN0ZW5jaWwgYnVmZmVycwor
ICAgIC8vIG9mIHRoZSBkZWZhdWx0IGJhY2sgYnVmZmVyLgorICAgIG1hcmtDb250ZXh0Q2hhbmdl
ZCgpOworICAgIHVwZGF0ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlckNhbGxlcjo6Q2xl
YXJCdWZmZXJmaSwgYnVmZmVyLCBkcmF3YnVmZmVyKTsKIH0KIAogUmVmUHRyPFdlYkdMUXVlcnk+
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNyZWF0ZVF1ZXJ5KCkKQEAgLTMzMDcsNiArMzI2Mywz
NSBAQCBib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQ2FwYWJpbGl0eShjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbgogICAgIH0KIH0KIAorYm9vbCBXZWJHTDJSZW5k
ZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNsZWFyQnVmZmVyKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFt
ZSwgR0NHTGVudW0gYnVmZmVyLCBzaXplX3Qgc2l6ZSwgR0NHTHVpbnQgc3JjT2Zmc2V0KQorewor
ICAgIENoZWNrZWQ8R0xzaXplaSwgUmVjb3JkT3ZlcmZsb3c+IGNoZWNrZWRTaXplKHNpemUpOwor
ICAgIGNoZWNrZWRTaXplIC09IHNyY09mZnNldDsKKyAgICBpZiAoY2hlY2tlZFNpemUuaGFzT3Zl
cmZsb3dlZCgpKSB7CisgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdM
OjpJTlZBTElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNP
ZmZzZXQiKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBzd2l0Y2ggKGJ1ZmZl
cikgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SOgorICAgICAgICBpZiAoY2hl
Y2tlZFNpemUudW5zYWZlR2V0KCkgPCA0KSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgZnVuY3Rpb25OYW1lLCAiaW52YWxp
ZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0Iik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIH0KKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQ
VEg6CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTDoKKyAgICAgICAgaWYgKGNo
ZWNrZWRTaXplLnVuc2FmZUdldCgpIDwgMSkgeworICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJy
b3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsIGZ1bmN0aW9uTmFtZSwgImludmFs
aWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldCIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICB9CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX0VOVU0sIGZ1bmN0aW9uTmFtZSwg
ImludmFsaWQgYnVmZmVyIik7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgcmV0
dXJuIHRydWU7Cit9CisKIHZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dW5pZm9ybTFmdihX
ZWJHTFVuaWZvcm1Mb2NhdGlvbiogbG9jYXRpb24sIEZsb2F0MzJMaXN0IGRhdGEsIEdMdWludCBz
cmNPZmZzZXQsIEdMdWludCBzcmNMZW5ndGgpCiB7CiAgICAgaWYgKGlzQ29udGV4dExvc3RPclBl
bmRpbmcoKSB8fCAhdmFsaWRhdGVVbmlmb3JtUGFyYW1ldGVycygidW5pZm9ybTFmdiIsIGxvY2F0
aW9uLCBkYXRhLCAxLCBzcmNPZmZzZXQsIHNyY0xlbmd0aCkpCkBAIC0zNDY0LDYgKzM0NDksNzQg
QEAgdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmNhY2hlRGVsZXRlZEJ1ZmZlcihXZWJH
TEJ1ZmZlciogYnVmZmVyKQogCiAjdW5kZWYgUkVNT1ZFX0JVRkZFUl9GUk9NX0JJTkRJTkcKIAor
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1cGRhdGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xl
YXJCdWZmZXJDYWxsZXIgY2FsbGVyLCBHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZl
cikKK3sKKyAgICAvLyBUaGlzIG1ldGhvZCBtYWtlcyBzdXJlIHRoYXQgd2UgZG9uJ3QgYXV0by1j
bGVhciBhbnkgYnVmZmVycyB3aGljaCB0aGUKKyAgICAvLyB1c2VyIGhhcyBtYW51YWxseSBjbGVh
cmVkIHVzaW5nIHRoZSBuZXcgRVMgMy4wIGNsZWFyQnVmZmVyKiBBUElzLgorCisgICAgLy8gSWYg
dGhlIHVzZXIgaGFzIGEgZnJhbWVidWZmZXIgYm91bmQsIGRvbid0IHVwZGF0ZSB0aGUgYXV0by1j
bGVhcgorICAgIC8vIHN0YXRlIG9mIHRoZSBidWlsdC1pbiBiYWNrIGJ1ZmZlci4KKyAgICBpZiAo
bV9mcmFtZWJ1ZmZlckJpbmRpbmcpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIElmIHRoZSBz
Y2lzc29yIHRlc3QgaXMgb24sIGFzc3VtZSB0aGF0IHdlIGNhbid0IHNob3J0LWNpcmN1aXQKKyAg
ICAvLyB0aGVzZSBjbGVhcnMuCisgICAgaWYgKG1fc2Npc3NvckVuYWJsZWQpCisgICAgICAgIHJl
dHVybjsKKworICAgIC8vIFRoZSBkZWZhdWx0IGJhY2sgYnVmZmVyIG9ubHkgaGFzIG9uZSBjb2xv
ciBhdHRhY2htZW50LgorICAgIGlmIChkcmF3YnVmZmVyKQorICAgICAgICByZXR1cm47CisKKyAg
ICAvLyBJZiB0aGUgY2FsbCB0byB0aGUgZHJpdmVyIGdlbmVyYXRlZCBhbiBlcnJvciwgZG9uJ3Qg
Y2xhaW0gdGhhdAorICAgIC8vIHdlJ3ZlIGF1dG8tY2xlYXJlZCB0aGVzZSBidWZmZXJzLiBUaGUg
ZWFybHkgcmV0dXJucyBiZWxvdyBhcmUgZm9yCisgICAgLy8gY2FzZXMgd2hlcmUgZXJyb3JzIHdp
bGwgYmUgcHJvZHVjZWQuCisKKyAgICAvLyBUaGUgZGVmYXVsdCBiYWNrIGJ1ZmZlciBpcyBjdXJy
ZW50bHkgYWx3YXlzIFJHQihBKTgsIHdoaWNoCisgICAgLy8gcmVzdHJpY3RzIHRoZSB2YXJpYW50
cyB3aGljaCBjYW4gbGVnYWxseSBiZSB1c2VkIHRvIGNsZWFyIHRoZQorICAgIC8vIGNvbG9yIGJ1
ZmZlci4gVE9ETyhjcmJ1Zy5jb20vODI5NjMyKTogdGhpcyBuZWVkcyB0byBiZQorICAgIC8vIGdl
bmVyYWxpemVkLgorICAgIHN3aXRjaCAoY2FsbGVyKSB7CisgICAgY2FzZSBDbGVhckJ1ZmZlckNh
bGxlcjo6Q2xlYXJCdWZmZXJpdjoKKyAgICAgICAgaWYgKGJ1ZmZlciAhPSBHcmFwaGljc0NvbnRl
eHRHTDo6U1RFTkNJTCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBDbGVhckJ1ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJmdjoKKyAgICAgICAgaWYgKGJ1ZmZl
ciAhPSBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1IgJiYgYnVmZmVyICE9IEdyYXBoaWNzQ29udGV4
dEdMOjpERVBUSCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBDbGVhckJ1ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJ1aXY6CisgICAgICAgIHJldHVybjsKKyAg
ICBjYXNlIENsZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZlcmZpOgorICAgICAgICBpZiAoYnVm
ZmVyICE9IEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9TVEVOQ0lMKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICBHQ0dMYml0ZmllbGQgYnVmZmVyc1Rv
Q2xlYXIgPSAwOworCisgICAgLy8gVHVybiBpdCBpbnRvIGEgYml0ZmllbGQgYW5kIG1hc2sgaXQg
b2ZmLgorICAgIHN3aXRjaCAoYnVmZmVyKSB7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
Q09MT1I6CisgICAgICAgIGJ1ZmZlcnNUb0NsZWFyID0gR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9S
X0JVRkZFUl9CSVQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkRFUFRIOgorICAgICAgICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpERVBU
SF9CVUZGRVJfQklUOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdM
OjpTVEVOQ0lMOgorICAgICAgICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpT
VEVOQ0lMX0JVRkZFUl9CSVQ7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkRFUFRIX1NURU5DSUw6CisgICAgICAgIGJ1ZmZlcnNUb0NsZWFyID0gR3JhcGhpY3ND
b250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQgfCBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9C
VUZGRVJfQklUOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICAvLyBJbGxl
Z2FsIHZhbHVlLgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9jb250ZXh0LT5zZXRC
dWZmZXJzVG9BdXRvQ2xlYXIobV9jb250ZXh0LT5nZXRCdWZmZXJzVG9BdXRvQ2xlYXIoKSAmICh+
YnVmZmVyc1RvQ2xlYXIpKTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCiAjZW5kaWYg
Ly8gRU5BQkxFKFdFQkdMKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMv
V2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dC5oCmluZGV4IDA0MjBkNzc2NjE4ZTcyZTM5ZTFmODU1Njg3YjVl
MzM0NThjNWQ4OGEuLmMxNmQ2YTdiYzQ0OGM0MTNkNGVjZGU1ZjdhOTJmOWI0NWY0MWNkMDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRl
eHQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmgKQEAgLTI5MSw2ICsyOTEsNyBAQCBwcml2YXRlOgogICAgIGJvb2wgdmFsaWRhdGVJbmRl
eEFycmF5Q29uc2VydmF0aXZlKEdDR0xlbnVtIHR5cGUsIHVuc2lnbmVkJiBudW1FbGVtZW50c1Jl
cXVpcmVkKSBmaW5hbDsKICAgICBib29sIHZhbGlkYXRlQmxlbmRFcXVhdGlvbihjb25zdCBjaGFy
KiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIG1vZGUpIGZpbmFsOwogICAgIGJvb2wgdmFsaWRhdGVD
YXBhYmlsaXR5KGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTGVudW0gY2FwKSBmaW5hbDsK
KyAgICBib29sIHZhbGlkYXRlQ2xlYXJCdWZmZXIoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBH
Q0dMZW51bSBidWZmZXIsIHNpemVfdCwgR0NHTHVpbnQgc3JjT2Zmc2V0KTsKICAgICBib29sIHZh
bGlkYXRlRnJhbWVidWZmZXJUYXJnZXQoR0NHTGVudW0gdGFyZ2V0KSBmaW5hbDsKICAgICBXZWJH
TEZyYW1lYnVmZmVyKiBnZXRGcmFtZWJ1ZmZlckJpbmRpbmcoR0NHTGVudW0gdGFyZ2V0KSBmaW5h
bDsKICAgICBXZWJHTEZyYW1lYnVmZmVyKiBnZXRSZWFkRnJhbWVidWZmZXJCaW5kaW5nKCkgZmlu
YWw7CkBAIC0zMTcsNiArMzE4LDE0IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVuY2FjaGVEZWxl
dGVkQnVmZmVyKFdlYkdMQnVmZmVyKikgZmluYWw7CiAKKyAgICBlbnVtIGNsYXNzIENsZWFyQnVm
ZmVyQ2FsbGVyIDogdWludDhfdCB7CisgICAgICAgIENsZWFyQnVmZmVyaXYsCisgICAgICAgIENs
ZWFyQnVmZmVydWl2LAorICAgICAgICBDbGVhckJ1ZmZlcmZ2LAorICAgICAgICBDbGVhckJ1ZmZl
cmZpCisgICAgfTsKKyAgICB2b2lkIHVwZGF0ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZl
ckNhbGxlciwgR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIpOworCiAgICAgUmVm
UHRyPFdlYkdMRnJhbWVidWZmZXI+IG1fcmVhZEZyYW1lYnVmZmVyQmluZGluZzsKICAgICBSZWZQ
dHI8V2ViR0xUcmFuc2Zvcm1GZWVkYmFjaz4gbV9ib3VuZFRyYW5zZm9ybUZlZWRiYWNrOwogICAg
IFJlZlB0cjxXZWJHTFRyYW5zZm9ybUZlZWRiYWNrPiBtX2RlZmF1bHRUcmFuc2Zvcm1GZWVkYmFj
azsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZm
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAK
aW5kZXggNGJjOTNlYmJlZjBkNThmZjI0MzM2M2M1NmM5Njc2MTAzZTdiNWUxYy4uZmEzMzM0YmU4
ZGVjMWZiZWM2MGEzNzE1YzYwM2Q2Y2Y0ZWFlMWRkNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAKQEAgLTYyMSwzMiArNjIxLDMyIEBAIHZv
aWQgV2ViR0xGcmFtZWJ1ZmZlcjo6ZHJhd0J1ZmZlcnMoY29uc3QgVmVjdG9yPEdDR0xlbnVtPiYg
YnVmcykKIAogdm9pZCBXZWJHTEZyYW1lYnVmZmVyOjpkcmF3QnVmZmVyc0lmTmVjZXNzYXJ5KGJv
b2wgZm9yY2UpCiB7Ci0jaWYgRU5BQkxFKFdFQkdMMikKLSAgICAvLyBGSVhNRTogVGhlIGxvZ2lj
IGhlcmUgc2VlbXMgd3JvbmcuIElmIHdlIGRvbid0IGhhdmUgV2ViR0wgMiBlbmFibGVkIGF0IGFs
bCwgdGhlbgotICAgIC8vIHdlIHNraXAgdGhlIG1fd2ViZ2xEcmF3QnVmZmVycyBjaGVjay4gQnV0
IGlmIHdlIGRvIGhhdmUgV2ViR0wgMiBlbmFibGVkLCB0aGVuIHdlCi0gICAgLy8gcGVyZm9ybSB0
aGlzIGNoZWNrLCBmb3IgV2ViR0wgMSBjb250ZXh0cyBvbmx5LgotICAgIGlmICghY29udGV4dCgp
LT5tX3dlYmdsRHJhd0J1ZmZlcnMgJiYgIWNvbnRleHQoKS0+aXNXZWJHTDIoKSkKLSAgICAgICAg
cmV0dXJuOwotI2VuZGlmCi0gICAgYm9vbCByZXNldCA9IGZvcmNlOwotICAgIC8vIFRoaXMgZmls
dGVyaW5nIHdvcmtzIGFyb3VuZCBncmFwaGljcyBkcml2ZXIgYnVncyBvbiBNYWMgT1MgWC4KLSAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZHJhd0J1ZmZlcnMuc2l6ZSgpOyArK2kpIHsKLSAg
ICAgICAgaWYgKG1fZHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkUgJiYg
Z2V0QXR0YWNobWVudChtX2RyYXdCdWZmZXJzW2ldKSkgewotICAgICAgICAgICAgaWYgKG1fZmls
dGVyZWREcmF3QnVmZmVyc1tpXSAhPSBtX2RyYXdCdWZmZXJzW2ldKSB7Ci0gICAgICAgICAgICAg
ICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldID0gbV9kcmF3QnVmZmVyc1tpXTsKLSAgICAgICAg
ICAgICAgICByZXNldCA9IHRydWU7CisgICAgaWYgKGNvbnRleHQoKS0+aXNXZWJHTDIoKSB8fCBj
b250ZXh0KCktPm1fd2ViZ2xEcmF3QnVmZmVycykgeworICAgICAgICBib29sIHJlc2V0ID0gZm9y
Y2U7CisgICAgICAgIC8vIFRoaXMgZmlsdGVyaW5nIHdvcmtzIGFyb3VuZCBncmFwaGljcyBkcml2
ZXIgYnVncyBvbiBNYWMgT1MgWC4KKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBtX2Ry
YXdCdWZmZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgICAgICBpZiAobV9kcmF3QnVmZmVyc1tp
XSAhPSBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORSAmJiBnZXRBdHRhY2htZW50KG1fZHJhd0J1ZmZl
cnNbaV0pKSB7CisgICAgICAgICAgICAgICAgaWYgKG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSAh
PSBtX2RyYXdCdWZmZXJzW2ldKSB7CisgICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3
QnVmZmVyc1tpXSA9IG1fZHJhd0J1ZmZlcnNbaV07CisgICAgICAgICAgICAgICAgICAgIHJlc2V0
ID0gdHJ1ZTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAg
ICAgICAgICAgIGlmIChtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3NDb250ZXh0
R0w6Ok5PTkUpIHsKKyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzW2ld
ID0gR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkU7CisgICAgICAgICAgICAgICAgICAgIHJlc2V0ID0g
dHJ1ZTsKKyAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9Ci0gICAgICAgIH0gZWxzZSB7
Ci0gICAgICAgICAgICBpZiAobV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29u
dGV4dEdMOjpOT05FKSB7Ci0gICAgICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzW2ld
ID0gR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkU7Ci0gICAgICAgICAgICAgICAgcmVzZXQgPSB0cnVl
OworICAgICAgICB9CisgICAgICAgIGlmIChyZXNldCkgeworICAgICAgICAgICAgaWYgKGNvbnRl
eHQoKS0+aXNXZWJHTDIoKSkgeworICAgICAgICAgICAgICAgIGNvbnRleHQoKS0+Z3JhcGhpY3ND
b250ZXh0R0woKS0+ZHJhd0J1ZmZlcnMoCisgICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWRE
cmF3QnVmZmVycy5zaXplKCksIG1fZmlsdGVyZWREcmF3QnVmZmVycy5kYXRhKCkpOworICAgICAg
ICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0KCktPmdyYXBoaWNzQ29udGV4
dEdMKCktPmdldEV4dGVuc2lvbnMoKS5kcmF3QnVmZmVyc0VYVCgKKyAgICAgICAgICAgICAgICAg
ICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzLnNpemUoKSwgbV9maWx0ZXJlZERyYXdCdWZmZXJzLmRh
dGEoKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Ci0gICAgaWYgKHJlc2V0KSB7
Ci0gICAgICAgIGNvbnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0R0woKS0+Z2V0RXh0ZW5zaW9ucygp
LmRyYXdCdWZmZXJzRVhUKAotICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzLnNpemUo
KSwgbV9maWx0ZXJlZERyYXdCdWZmZXJzLmRhdGEoKSk7Ci0gICAgfQogfQogCiBHQ0dMZW51bSBX
ZWJHTEZyYW1lYnVmZmVyOjpnZXREcmF3QnVmZmVyKEdDR0xlbnVtIGRyYXdCdWZmZXIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4
dEJhc2UuY3BwCmluZGV4IGEyMzAzZjU4ZjM3NTA5N2E2MGI3NjRjMzg5YzYyYmRlZDU1OGNjMzku
Ljc1N2E0N2VjMDEyM2RiOGIzODVlOTYxNDUzYmFlOGZkMWYwNDVmMGIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2Uu
Y3BwCkBAIC0xMTAwLDEzICsxMTAwLDE3IEBAIGJvb2wgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFz
ZTo6Y2xlYXJJZkNvbXBvc2l0ZWQoR0NHTGJpdGZpZWxkIG1hc2spCiAgICAgaWYgKGlzQ29udGV4
dExvc3RPclBlbmRpbmcoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgaWYgKCFtX2Nv
bnRleHQtPmxheWVyQ29tcG9zaXRlZCgpIHx8IG1fbGF5ZXJDbGVhcmVkCi0gICAgICAgIHx8IG1f
YXR0cmlidXRlcy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIgfHwgKG1hc2sgJiYgbV9mcmFtZWJ1ZmZl
ckJpbmRpbmcpCi0gICAgICAgIHx8IG1fcHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9yKQor
ICAgIGlmICghbV9jb250ZXh0LT5sYXllckNvbXBvc2l0ZWQoKSB8fCBtX2xheWVyQ2xlYXJlZCB8
fCBtX3ByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3RvcikKICAgICAgICAgcmV0dXJuIGZhbHNl
OwogCi0gICAgYXV0byBjb250ZXh0QXR0cmlidXRlcyA9IGdldENvbnRleHRBdHRyaWJ1dGVzKCk7
Ci0gICAgQVNTRVJUKGNvbnRleHRBdHRyaWJ1dGVzKTsKKyAgICBHQ0dMYml0ZmllbGQgYnVmZmVy
c05lZWRpbmdDbGVhcmluZyA9IG1fY29udGV4dC0+Z2V0QnVmZmVyc1RvQXV0b0NsZWFyKCk7CisK
KyAgICBpZiAoIWJ1ZmZlcnNOZWVkaW5nQ2xlYXJpbmcgfHwgKG1hc2sgJiYgbV9mcmFtZWJ1ZmZl
ckJpbmRpbmcpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAvLyBVc2UgdGhlIHVuZGVy
bHlpbmcgR3JhcGhpY3NDb250ZXh0M0QncyBhdHRyaWJ1dGVzIHRvIHRha2UgaW50bworICAgIC8v
IGFjY291bnQgKGZvciBleGFtcGxlKSBwYWNrZWQgZGVwdGgvc3RlbmNpbCBidWZmZXJzLgorICAg
IGF1dG8gY29udGV4dEF0dHJpYnV0ZXMgPSBtX2NvbnRleHQtPmNvbnRleHRBdHRyaWJ1dGVzKCk7
CiAKICAgICAvLyBEZXRlcm1pbmUgaWYgaXQncyBwb3NzaWJsZSB0byBjb21iaW5lIHRoZSBjbGVh
ciB0aGUgdXNlciBhc2tlZCBmb3IgYW5kIHRoaXMgY2xlYXIuCiAgICAgYm9vbCBjb21iaW5lZENs
ZWFyID0gbWFzayAmJiAhbV9zY2lzc29yRW5hYmxlZDsKQEAgLTExMjEsMTMgKzExMjUsMTMgQEAg
Ym9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhcklmQ29tcG9zaXRlZChHQ0dMYml0
ZmllbGQgbWFzaykKICAgICAgICAgbV9jb250ZXh0LT5jbGVhckNvbG9yKDAsIDAsIDAsIDApOwog
ICAgIG1fY29udGV4dC0+Y29sb3JNYXNrKHRydWUsIHRydWUsIHRydWUsIHRydWUpOwogICAgIEdD
R0xiaXRmaWVsZCBjbGVhck1hc2sgPSBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1JfQlVGRkVSX0JJ
VDsKLSAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMtPmRlcHRoKSB7CisgICAgaWYgKGNvbnRleHRB
dHRyaWJ1dGVzLmRlcHRoKSB7CiAgICAgICAgIGlmICghY29tYmluZWRDbGVhciB8fCAhbV9kZXB0
aE1hc2sgfHwgIShtYXNrICYgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQpKQog
ICAgICAgICAgICAgbV9jb250ZXh0LT5jbGVhckRlcHRoKDEuMGYpOwogICAgICAgICBjbGVhck1h
c2sgfD0gR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQ7CiAgICAgICAgIG1fY29u
dGV4dC0+ZGVwdGhNYXNrKHRydWUpOwogICAgIH0KLSAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMt
PnN0ZW5jaWwpIHsKKyAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMuc3RlbmNpbCkgewogICAgICAg
ICBpZiAoY29tYmluZWRDbGVhciAmJiAobWFzayAmIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lM
X0JVRkZFUl9CSVQpKQogICAgICAgICAgICAgbV9jb250ZXh0LT5jbGVhclN0ZW5jaWwobV9jbGVh
clN0ZW5jaWwgJiBtX3N0ZW5jaWxNYXNrKTsKICAgICAgICAgZWxzZQpAQCAtMTEzNSwxMSArMTEz
OSwxNSBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFySWZDb21wb3NpdGVk
KEdDR0xiaXRmaWVsZCBtYXNrKQogICAgICAgICBjbGVhck1hc2sgfD0gR3JhcGhpY3NDb250ZXh0
R0w6OlNURU5DSUxfQlVGRkVSX0JJVDsKICAgICAgICAgbV9jb250ZXh0LT5zdGVuY2lsTWFza1Nl
cGFyYXRlKEdyYXBoaWNzQ29udGV4dEdMOjpGUk9OVCwgMHhGRkZGRkZGRik7CiAgICAgfQotICAg
IAorCiAgICAgR0NHTGVudW0gYmluZGluZ1BvaW50ID0gaXNXZWJHTDIoKSA/IEdyYXBoaWNzQ29u
dGV4dEdMOjpEUkFXX0ZSQU1FQlVGRkVSIDogR3JhcGhpY3NDb250ZXh0R0w6OkZSQU1FQlVGRkVS
OwogICAgIGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZykKICAgICAgICAgbV9jb250ZXh0LT5iaW5k
RnJhbWVidWZmZXIoYmluZGluZ1BvaW50LCAwKTsKLSAgICBtX2NvbnRleHQtPmNsZWFyKGNsZWFy
TWFzayk7CisgICAgLy8gSWYgdGhlIFdlYkdMIDIuMCBjbGVhckJ1ZmZlciBBUElzIGFscmVhZHkg
aGF2ZSBiZWVuIHVzZWQgdG8KKyAgICAvLyBzZWxlY3RpdmVseSBjbGVhciBzb21lIG9mIHRoZSBi
dWZmZXJzLCBkb24ndCBkZXN0cm95IHRob3NlCisgICAgLy8gcmVzdWx0cy4KKyAgICBtX2NvbnRl
eHQtPmNsZWFyKGNsZWFyTWFzayAmIGJ1ZmZlcnNOZWVkaW5nQ2xlYXJpbmcpOworICAgIG1fY29u
dGV4dC0+c2V0QnVmZmVyc1RvQXV0b0NsZWFyKDApOwogCiAgICAgcmVzdG9yZVN0YXRlQWZ0ZXJD
bGVhcigpOwogICAgIGlmIChtX2ZyYW1lYnVmZmVyQmluZGluZykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oCmluZGV4IDdiNjdi
Njc5MTFhYzg3ODdjYWI2ZTkwNWZiYjlmMDMwYjE5MzQ0NGUuLjE0OTcyOTFhMjgyNTg1Y2M1NmYy
NmQyNDNmMjMyYzdlMjgxOGZkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuaApAQCAtMTE4Niw3ICsxMTg2LDcgQEAgcHVi
bGljOgogCiAgICAgdmlydHVhbCB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUs
IEdDR0x1aW50IHN0YXJ0LCBHQ0dMdWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0g
dHlwZSwgR0NHTGludHB0ciBvZmZzZXQpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3QnVm
ZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKSA9IDA7CisgICAgdmlydHVhbCB2
b2lkIGRyYXdCdWZmZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgPSAwOwog
ICAgIHZpcnR1YWwgdm9pZCBjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBk
cmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgPSAw
OwogICAgIHZpcnR1YWwgdm9pZCBjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xp
bnQgZHJhd2J1ZmZlciwgY29uc3QgR0NHTHVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBH
Q0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xmbG9hdCogdmFsdWVzLCBHQ0dMdWludCBzcmNP
ZmZzZXQpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXggY2MxMGMx
ZTA0MjAyNTMwNTUzNDRkNWYwMGUyMWI3ZDNhODhkZTRjZC4uMjk0ZDExOWMwYmMwZWFiYWRlOWU5
MTBhYTE2YjYwNzA4Y2NiMzVmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAK
QEAgLTE4OTksNiArMTg5OSw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtD
b250ZXh0Q2hhbmdlZCgpCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjptYXJrTGF5ZXJD
b21wb3NpdGVkKCkKIHsKICAgICBtX2xheWVyQ29tcG9zaXRlZCA9IHRydWU7CisgICAgcmVzZXRC
dWZmZXJzVG9BdXRvQ2xlYXIoKTsKIAogICAgIGZvciAoYXV0byogY2xpZW50IDogY29weVRvVmVj
dG9yKG1fY2xpZW50cykpCiAgICAgICAgIGNsaWVudC0+ZGlkQ29tcG9zaXRlKCk7CkBAIC0yMzA3
LDQxICsyMzA4LDI5IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdSYW5nZUVs
ZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0x1aW50IHN0YXJ0LCBHCiAgICAgZ2w6OkRyYXdSYW5n
ZUVsZW1lbnRzKG1vZGUsIHN0YXJ0LCBlbmQsIGNvdW50LCB0eXBlLCByZWludGVycHJldF9jYXN0
PHZvaWQqPihvZmZzZXQpKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJh
d0J1ZmZlcnMoY29uc3QgVmVjdG9yPEdDR0xlbnVtPiYgYnVmZmVycykKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSog
YnVmcykKIHsKLSAgICBVTlVTRURfUEFSQU0oYnVmZmVycyk7CisgICAgZ2w6OkRyYXdCdWZmZXJz
KG4sIGJ1ZnMpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZl
cml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2
YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkKIHsKLSAgICBVTlVTRURfUEFSQU0oYnVmZmVyKTsK
LSAgICBVTlVTRURfUEFSQU0oZHJhd2J1ZmZlcik7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlcyk7
Ci0gICAgVU5VU0VEX1BBUkFNKHNyY09mZnNldCk7CisgICAgZ2w6OkNsZWFyQnVmZmVyaXYoYnVm
ZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMgKyBzcmNPZmZzZXQpOwogfQogCiB2b2lkIEdyYXBoaWNz
Q29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQg
ZHJhd2J1ZmZlciwgY29uc3QgR0NHTHVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KQog
ewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVy
KTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0
KTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJ1aXYoYnVmZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMgKyBz
cmNPZmZzZXQpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZl
cmZ2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMZmxvYXQq
IHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIp
OwotICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVz
KTsKLSAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJmdihi
dWZmZXIsIGRyYXdidWZmZXIsIHZhbHVlcyArIHNyY09mZnNldCk7CiB9CiAKIHZvaWQgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyZmkoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50
IGRyYXdidWZmZXIsIEdDR0xmbG9hdCBkZXB0aCwgR0NHTGludCBzdGVuY2lsKQogewotICAgIFVO
VVNFRF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBV
TlVTRURfUEFSQU0oZGVwdGgpOwotICAgIFVOVVNFRF9QQVJBTShzdGVuY2lsKTsKKyAgICBnbDo6
Q2xlYXJCdWZmZXJmaShidWZmZXIsIGRyYXdidWZmZXIsIGRlcHRoLCBzdGVuY2lsKTsKIH0KIAog
dm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZGVsZXRlUXVlcnkoUGxhdGZvcm1HTE9iamVj
dCBxdWVyeSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29w
ZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwCmluZGV4IDMzZGI5
OGJhNTdmNzM3OGJmYmEzYmYyZjEyYTkwZTQ0YTgzNDVlMWQuLjg0ODgxNzFkOGFlN2Y1YTMwZWUx
ZWE2MmNhNDAzODUyYzZlM2ZjYWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdM
LmNwcApAQCAtMjcxLDYgKzI3MSwzNCBAQCBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdCBn
ZXREYXRhRm9ybWF0KEdDR0xlbnVtIGRlc3RpbmF0aW9uRm9ybWF0LCBHQ0dMZW51bQogCiB9IC8v
IGFub255bW91cyBuYW1lc3BhY2UKIAordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVz
ZXRCdWZmZXJzVG9BdXRvQ2xlYXIoKQoreworICAgIEdDR0x1aW50IGJ1ZmZlcnMgPSBHcmFwaGlj
c0NvbnRleHRHTDo6Q09MT1JfQlVGRkVSX0JJVDsKKyAgICAvLyBUaGUgR3JhcGhpY3NDb250ZXh0
R0wncyBhdHRyaWJ1dGVzIChhcyBvcHBvc2VkIHRvCisgICAgLy8gV2ViR0xSZW5kZXJpbmdDb250
ZXh0J3MpIGluZGljYXRlIHdoZXRoZXIgdGhlcmUgaXMgYW4KKyAgICAvLyBpbXBsaWNpdGx5LWFs
bG9jYXRlZCBzdGVuY2lsIGJ1ZmZlciwgZm9yIGV4YW1wbGUuCisgICAgYXV0byBhdHRycyA9IGNv
bnRleHRBdHRyaWJ1dGVzKCk7CisgICAgaWYgKGF0dHJzLmRlcHRoKQorICAgICAgICBidWZmZXJz
IHw9IEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9CVUZGRVJfQklUOworICAgIGlmIChhdHRycy5z
dGVuY2lsKQorICAgICAgICBidWZmZXJzIHw9IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JV
RkZFUl9CSVQ7CisgICAgc2V0QnVmZmVyc1RvQXV0b0NsZWFyKGJ1ZmZlcnMpOworfQorCit2b2lk
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpzZXRCdWZmZXJzVG9BdXRvQ2xlYXIoR0NHTGJpdGZp
ZWxkIGJ1ZmZlcnMpCit7CisgICAgYXV0byBhdHRycyA9IGNvbnRleHRBdHRyaWJ1dGVzKCk7Cisg
ICAgaWYgKCFhdHRycy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIpCisgICAgICAgIG1fYnVmZmVyc1Rv
QXV0b0NsZWFyID0gYnVmZmVyczsKKyAgICBlbHNlCisgICAgICAgIEFTU0VSVCghbV9idWZmZXJz
VG9BdXRvQ2xlYXIpOworfQorCitHQ0dMYml0ZmllbGQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OmdldEJ1ZmZlcnNUb0F1dG9DbGVhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVmZmVyc1Rv
QXV0b0NsZWFyOworfQorCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp0ZXhJbWFnZTJE
UmVzb3VyY2VTYWZlKEdDR0xlbnVtIHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGVudW0gaW50
ZXJuYWxmb3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGludCBi
b3JkZXIsIEdDR0xlbnVtIGZvcm1hdCwgR0NHTGVudW0gdHlwZSwgR0NHTGludCB1bnBhY2tBbGln
bm1lbnQpCiB7CiAgICAgQVNTRVJUKHVucGFja0FsaWdubWVudCA9PSAxIHx8IHVucGFja0FsaWdu
bWVudCA9PSAyIHx8IHVucGFja0FsaWdubWVudCA9PSA0IHx8IHVucGFja0FsaWdubWVudCA9PSA4
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggNGUxMzFiZjgzYjY1M2Zl
ZjcwODFhNGRlMjgxMmU0ZDgxMGY3YzI0MC4uN2Y1MzJhZWE2ZWUwYmRjMDU4OGViZjY0NDc4Zjlk
ZjQ4NjhjZmRlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQzMyw3
ICs0MzMsNyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVt
IG1vZGUsIEdDR0x1aW50IHN0YXJ0LCBHQ0dMdWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NH
TGVudW0gdHlwZSwgR0NHTGludHB0ciBvZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBkcmF3QnVm
ZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKSBmaW5hbDsKKyAgICB2b2lkIGRy
YXdCdWZmZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgZmluYWw7CiAgICAg
dm9pZCBjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBj
b25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgZmluYWw7CiAgICAgdm9p
ZCBjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29u
c3QgR0NHTHVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSBmaW5hbDsKICAgICB2b2lk
IGNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0
IEdDR0xmbG9hdCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpIGZpbmFsOwpAQCAtNTIzLDYg
KzUyMywxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBmb3JjZUNvbnRleHRMb3N0KCk7CiAgICAgdm9p
ZCByZWN5Y2xlQ29udGV4dCgpOwogCisgICAgLy8gTWFpbnRlbmFuY2Ugb2YgYXV0by1jbGVhcmlu
ZyBvZiBjb2xvci9kZXB0aC9zdGVuY2lsIGJ1ZmZlcnMuIFRoZQorICAgIC8vIHJlc2V0IG1ldGhv
ZCBpcyBwcmVzZW50IHRvIGtlZXAgY2FsbGluZyBjb2RlIHNpbXBsZXIsIHNvIGl0CisgICAgLy8g
ZG9lc24ndCBoYXZlIHRvIGtub3cgd2hpY2ggYnVmZmVycyB3ZXJlIGFsbG9jYXRlZC4KKyAgICB2
b2lkIHJlc2V0QnVmZmVyc1RvQXV0b0NsZWFyKCk7CisgICAgdm9pZCBzZXRCdWZmZXJzVG9BdXRv
Q2xlYXIoR0NHTGJpdGZpZWxkKTsKKyAgICBHQ0dMYml0ZmllbGQgZ2V0QnVmZmVyc1RvQXV0b0Ns
ZWFyKCkgY29uc3Q7CisKICAgICB2b2lkIGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRp
b24oKTsKICAgICB2b2lkIHNpbXVsYXRlQ29udGV4dENoYW5nZWQoKTsKIApAQCAtODY0LDYgKzg3
MSwxMSBAQCBwcml2YXRlOgogICAgIEdDR0x1aW50IG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyRkJP
IHsgMCB9OwogI2VuZGlmCiAKKyAgICAvLyBBIGJpdG1hc2sgb2YgR0wgYnVmZmVyIGJpdHMgKEdM
X0NPTE9SX0JVRkZFUl9CSVQsCisgICAgLy8gR0xfREVQVEhfQlVGRkVSX0JJVCwgR0xfU1RFTkNJ
TF9CVUZGRVJfQklUKSB3aGljaCBuZWVkIHRvIGJlCisgICAgLy8gYXV0by1jbGVhcmVkLgorICAg
IEdDR0xiaXRmaWVsZCBtX2J1ZmZlcnNUb0F1dG9DbGVhciB7IDAgfTsKKwogICAgIC8vIEVycm9y
cyByYWlzZWQgYnkgc3ludGhlc2l6ZUdMRXJyb3IoKS4KICAgICBMaXN0SGFzaFNldDxHQ0dMZW51
bT4gbV9zeW50aGV0aWNFcnJvcnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0xDb21tb24uY3BwCmluZGV4IDJmNzUyODIxZGZkODZkZTk4NTY4YjJjM2U2MTRiYTljZGEy
OTY3NTYuLmVlNTlhNjM3Nzk3MTU1NjVmZjc1NjdkY2JiYzUwNTgzMGUxZDJmM2QgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRl
eHRHTE9wZW5HTENvbW1vbi5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29tbW9uLmNwcApAQCAtMjAxOSw2ICsy
MDE5LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0NvbnRleHRDaGFuZ2Vk
KCkKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQoKQog
ewogICAgIG1fbGF5ZXJDb21wb3NpdGVkID0gdHJ1ZTsKKyAgICByZXNldEJ1ZmZlcnNUb0F1dG9D
bGVhcigpOwogCiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9jbGllbnRz
KSkKICAgICAgICAgY2xpZW50LT5kaWRDb21wb3NpdGUoKTsKQEAgLTI0MjQsOSArMjQyNSwxMCBA
QCB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3UmFuZ2VFbGVtZW50cyhHQ0dMZW51
bSBtb2RlLCBHQ0dMdWludCBzdGFydCwgRwogICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8
R0NHTGVudW0+JiBidWZmZXJzKQordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1
ZmZlcnMoR0NHTHNpemVpIG4sIGNvbnN0IEdDR0xlbnVtKiBidWZzKQogewotICAgIFVOVVNFRF9Q
QVJBTShidWZmZXJzKTsKKyAgICBVTlVTRURfUEFSQU0obik7CisgICAgVU5VU0VEX1BBUkFNKGJ1
ZnMpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KEdD
R0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2YWx1ZXMs
IEdDR0x1aW50IHNyY09mZnNldCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBkNzM4MzZkMmZmMDY2OTg0NDBmMzc1YzQ1OWNm
MjNiZjUwNzgyMzY3Li44Y2QwODBhZjM3NTFhY2IzNTJkOGIxNDg4NzBkZjA3Y2JjYWQxYjhkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjAtMDctMjEgIEtlbm5ldGggUnVzc2VsbCAgPGtickBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgW1dlYkdMMl0gSW1wbGVtZW50IG11bHRpcGxlIHJlbmRl
ciB0YXJnZXQgZW50cnkgcG9pbnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMTExNTYKKworICAgICAgICBSZXZpZXdlZCBieSBNeWxlcyBDLiBNYXhm
aWVsZC4KKworICAgICAgICBSZWJhc2VsaW5lIG9uZSBsYXlvdXQgdGVzdCB3aGljaCBpcyBub3cg
ZnVsbHkgcGFzc2luZywgYW5kIGFub3RoZXIKKyAgICAgICAgd2hpY2ggbm93IHByb3Blcmx5IGRl
dGVjdHMgZXJyb3JzLgorCisgICAgICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3NlcXVl
bmNlcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3Jl
YWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDct
MjEgIFNpaHVpIExpdSAgPHNpaHVpX2xpdUBhcHBlLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9O
KHIyNjQ0ODYpOiBBU1NFUlRJT04gRkFJTEVEOiBBU1NFUlRfTk9UX1JFQUNIRUQoKSBpbiBOZXR3
b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQmxvYlJlZ2lzdHJ5CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDIvc2VxdWVuY2VzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi9zZXF1ZW5jZXMt
ZXhwZWN0ZWQudHh0CmluZGV4IGMzZjAyNWRjYmJjMDVmZmYxNDUzOTMxYzFiNTIwYWE2YmQ4NWM0
ZmQuLjU1MGZhZmU2NjU1YWM5ZmZhMGFlOWNiNGQzODc1MzdjNTAxM2I2YWMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi9zZXF1ZW5jZXMtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi9zZXF1ZW5jZXMt
ZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsMTIgQEAgQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5W
QUxJRF9WQUxVRTogdmVydGV4QXR0cmliSTRpdjogYXJyYXkgdG9vIHNtYWxsCiBDT05TT0xFIE1F
U1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiB2ZXJ0ZXhBdHRyaWJJNGl2OiBhcnJheSB0b28g
c21hbGwKIENPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IHZlcnRleEF0dHJp
Ykk0dWl2OiBhcnJheSB0b28gc21hbGwKIENPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURf
VkFMVUU6IHZlcnRleEF0dHJpYkk0dWl2OiBhcnJheSB0b28gc21hbGwKK0NPTlNPTEUgTUVTU0FH
RTogV2ViR0w6IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVyaXY6IGludmFsaWQgYXJyYXkgc2l6
ZSAvIHNyY09mZnNldAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogY2xl
YXJCdWZmZXJpdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1FU1NB
R0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcnVpdjogaW52YWxpZCBhcnJheSBz
aXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBj
bGVhckJ1ZmZlcnVpdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1F
U1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcmZ2OiBpbnZhbGlkIGFycmF5
IHNpemUgLyBzcmNPZmZzZXQKK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6
IGNsZWFyQnVmZmVyZnY6IGludmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAogCiBQQVNTIHVu
aWZvcm0xdWl2IGRhdGEgd2l0aCB0eXBlZCBhcnJheSBvZiB0eXBlIHVpIAogUEFTUyB1bmlmb3Jt
MXVpdiBkYXRhIHdpdGggc2VxdWVuY2Ugb2YgdHlwZSB1aSAKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20tZmJv
LXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2Uy
L3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQKaW5kZXggZGY0
ZjUxZjcwYjFiYjljN2JjOWNjZmYyODM0MWUzNDYyMzRmNWUwZS4uNmQ1ZjkxZjQ5YzM5NzM5YzNi
NjVjNTEyOGEzMGU4OGM4ZDhhOGQ2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvd2ViZ2wvMi4w
LjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3Rl
ZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcv
cmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQKQEAgLTEsMjAwICsxLDUgQEAK
IFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxvdyBpbiBhbiBpZnJhbWUg
YW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9yZXNvdXJjZXMvd2ViZ2xf
dGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1mcm9tLWZiby10ZXN0
Lmh0bWwKLVsgMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA0OiBQ
QVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDU6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgNjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyA5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEwOiBGQUlMIF0gRXhwZWN0
ZWQgY29sb3IgPSAyNTAsMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsgMTE6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDI1MCwwLDAsMCwgd2Fz
ID0gMAotWyAxMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTQ6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE2
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2LDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDE3
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhl
bHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3Ig
PSAtMTI2LDAsMCwwLCB3YXMgPSAwCi1bIDE5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBD
bGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjE6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMjI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDMwMDAxLDAsMCwwLCB3
YXMgPSAwLDAsMCwxCi1bIDIzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDI0OiBGQUlM
IF0gRXhwZWN0ZWQgY29sb3IgPSAzMDAwMSwwLDAsMCwgd2FzID0gMAotWyAyNTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1b
IDI3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDI4OiBGQUlMIF0gRXhwZWN0ZWQgY29s
b3IgPSAtMTQxODksMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsgMjk6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgMzA6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC0xNDE4OSwwLDAsMCwgd2Fz
ID0gMAotWyAzMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzI6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDMzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDM0
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxMjY3MjYsMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsg
MzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzY6IEZBSUwgXSBFeHBlY3RlZCBjb2xv
ciA9IDEyNjcyNiwwLDAsMCwgd2FzID0gMAotWyAzNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMzg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDM5OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDQwOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2NzI2LDAs
MCwwLCB3YXMgPSAwLDAsMCwxCi1bIDQxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDQy
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2NzI2LDAsMCwwLCB3YXMgPSAwCi1bIDQzOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA0NDogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgNDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNDY6IFBBU1MgXSBDb2xv
ciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgNDg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNDk6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDUwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyA1MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFk
UGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1MjogUEFTUyBdIENvbG9yIHJlYWQg
YmFjayBhcyBleHBlY3RlZAotWyA1MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1NDog
UEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA1NTogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgNTY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDU3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDU4OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFz
IGV4cGVjdGVkCi1bIDU5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDYwOiBQQVNTIF0g
Q29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDYxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA2MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjM6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgNjQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0
ZWQKLVsgNjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
cmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjY6IFBBU1MgXSBDb2xvciBy
ZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNjc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDY4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENs
ZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2OTogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyA3MDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA3
MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4
ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3MjogUEFTUyBdIENvbG9yIHJlYWQgYmFj
ayBhcyBleHBlY3RlZAotWyA3MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNzQ6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29s
b3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDc2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDc3OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc4OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4
cGVjdGVkCi1bIDc5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4MDogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
ODI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgODM6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgODQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQK
LVsgODU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0
dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDg2OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyA4NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4ODogUEFT
UyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA4OTogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA5MDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA5MTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVw
IGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgOTI6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDkzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDk0OiBQQVNTIF0gQ29s
b3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDk1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDk2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDk3OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5ODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgOTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTAwOiBQQVNTIF0gQ29sb3IgcmVh
ZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEwMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAx
MDI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTAzOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3Vs
ZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1b
IDEwNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFk
UGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDY6IFBBU1MgXSBDb2xvciByZWFk
IGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTA3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEw
ODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMDk6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDExMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MTExOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDExMjogUEFTUyBdIENvbG9yIHJlYWQg
YmFjayBhcyBleHBlY3RlZAotWyAxMTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE0
OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDExNTogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAx
MTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE4OiBQQVNTIF0gQ29sb3IgcmVhZCBi
YWNrIGFzIGV4cGVjdGVkCi1bIDExOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjA6
IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTIxOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAxMjI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEy
MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4
ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjQ6IFBBU1MgXSBDb2xvciByZWFkIGJh
Y2sgYXMgZXhwZWN0ZWQKLVsgMTI1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEyNjog
UEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMjc6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDEyODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTI5
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhl
bHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEzMDogUEFTUyBdIENvbG9yIHJlYWQgYmFj
ayBhcyBleHBlY3RlZAotWyAxMzE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTMyOiBQ
QVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEzMzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgMTM0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMzU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTM2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNr
IGFzIGV4cGVjdGVkCi1bIDEzNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMzg6IFBB
U1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTM5OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAxNDA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0MTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxz
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sg
YXMgZXhwZWN0ZWQKLVsgMTQzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0NDogUEFT
UyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxNDU6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDE0NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTQ3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0ODogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0g
MTI3LDAsMjU1LDE3OCwgd2FzID0gMCwwLDAsMAotWyAxNDk6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTUwOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxMjcsMCwyNTUsMTc4LCB3YXMg
PSAwLDAsMCwwCi1bIDE1MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTUyOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9y
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTU0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtNTUsNTYsODAsMTI3LCB3YXMgPSAw
LDAsMCwwCi1bIDE1NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTY6IEZBSUwgXSBF
eHBlY3RlZCBjb2xvciA9IC01NSw1Niw4MCwxMjcsIHdhcyA9IDAsMCwwLDAKLVsgMTU3OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJv
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDE1OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNjA6IEZBSUwgXSBFeHBl
Y3RlZCBjb2xvciA9IDE3OCwwLDEyNywzLCB3YXMgPSAwLDAsMCwwCi1bIDE2MTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAxNjI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE3OCwwLDEy
NywzLCB3YXMgPSAwLDAsMCwwCi1bIDE2MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMTY0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENs
ZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNjU6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTY2OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxNDE4OSw2NzM1LDAs
MTksIHdhcyA9IDAsMCwwLDAKLVsgMTY3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE2
ODogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTQxODksNjczNSwwLDE5LCB3YXMgPSAwLDAsMCww
Ci1bIDE2OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBT
ZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTcwOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAxNzE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTcy
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxNDE4OSwtNjczNSwwLDE5LCB3YXMgPSAwLDAsMCww
Ci1bIDE3MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzQ6IEZBSUwgXSBFeHBlY3Rl
ZCBjb2xvciA9IDE0MTg5LC02NzM1LDAsMTksIHdhcyA9IDAsMCwwLDAKLVsgMTc1OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDE3NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzg6IEZBSUwgXSBFeHBlY3Rl
ZCBjb2xvciA9IDEyNjcyNiw2NzI2LDk4NzY1LDIwMTUsIHdhcyA9IDAsMCwwLDAKLVsgMTc5OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4MDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0g
MTI2NzI2LDY3MjYsOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAsMAotWyAxODE6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MTgzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4NDogRkFJTCBdIEV4cGVjdGVkIGNv
bG9yID0gMTI2NzI2LC02NzI2LC05ODc2NSwyMDE1LCB3YXMgPSAwLDAsMCwwCi1bIDE4NTogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODY6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDEy
NjcyNiwtNjcyNiwtOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAsMAotWyAxODc6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4ODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MTg5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE5MDogUEFTUyBdIENvbG9yIHJlYWQg
YmFjayBhcyBleHBlY3RlZAotWyAxOTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTky
OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDE5MzogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAxOTQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQK
LVsgMTk1OiBQQVNTIF0gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKLVsgRkFJTCBdIDI2IGZh
aWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwgdGVzdHMgcGFzc2VkCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404955</attachid>
            <date>2020-07-22 13:15:14 -0700</date>
            <delta_ts>2020-07-22 15:53:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211156-20200722131513.patch</filename>
            <type>text/plain</type>
            <size>51873</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFiZjc3OWM4MzZlMmNl
ZDU1ODQwMWFjZmY1NzNkMzMxMmIzMjEyNS4uYTU4ZThmMTIzYzFhMjQ2Njg0NzVkMDYxMzcwNWU0
ZjI4YWMzMmUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIwLTA3LTIyICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJHTDJdIEltcGxl
bWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0IGVudHJ5IHBvaW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBkcmF3QnVmZmVy
cyBhbmQgY2xlYXJCdWZmZXIgZW50cnkgcG9pbnRzLgorCisgICAgICAgIEludGVncmF0ZSB0aGUg
Y2xlYXJCdWZmZXIgQVBJcyB3aXRoIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjpmYWxzZSdzCisgICAg
ICAgIGF1dG8tY2xlYXJpbmcuIE1vdmUgc29tZSBhdXRvLWNsZWFyaW5nIHN0YXRlIGZyb20KKyAg
ICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSB0byBHcmFwaGljc0NvbnRleHRHTCBhbmQK
KyAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuCisKKyAgICAgICAgUmVuYW1lIHNldFBy
ZXNlcnZlRHJhd2luZ0J1ZmZlciB0byBlbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIgdG8KKyAg
ICAgICAgbWFrZSBpdCBjbGVhciB0aGF0IGFyYml0cmFyeSBjaGFuZ2VzIG9mIHByZXNlcnZlRHJh
d2luZ0J1ZmZlciBhcmUKKyAgICAgICAgbm90IHN1cHBvcnRlZC4gc2V0UHJlc2VydmVEcmF3aW5n
QnVmZmVyIHdhcyBwcmV2aW91c2x5IGFkZGVkIGZvcgorICAgICAgICBjYXB0dXJlIG9mIHByZXNl
cnZlRHJhd2luZ0J1ZmZlcjpmYWxzZSBXZWJHTCBjYW52YXNlcy4KKworICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIFdlYkdMIGNvbmZvcm1hbmNlIHRlc3RzIGFuZCBjYW52YXMgY2FwdHVyZQor
ICAgICAgICBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0Nh
bnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpTb3VyY2U6OmNhbnZhc0NoYW5nZWQpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0J1ZmZlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJpdik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZmkpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVDbGVhckJ1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1cGRhdGVCdWZm
ZXJzVG9BdXRvQ2xlYXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6OmRyYXdCdWZmZXJzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2xlYXJJZkNvbXBv
c2l0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZW5h
YmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpzZXRQcmVzZXJ2ZURyYXdpbmdCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMOjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0xheWVyQ29tcG9zaXRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1ZmZl
cnMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVm
ZmVyaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFy
QnVmZmVydWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpj
bGVhckJ1ZmZlcmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
OjpjbGVhckJ1ZmZlcmZpKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnJlc2V0QnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpzZXRCdWZmZXJzVG9BdXRvQ2xlYXIpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmdldEJ1ZmZlcnNUb0F1dG9DbGVh
ciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZW5h
YmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKToK
KwogMjAyMC0wNy0yMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjIwNTgyNik6IG5hcnJvd05vQnJlYWtTcGFjZSAoVSsyMDJG
KSBoYXMgemVybyB3aWR0aCwgcmVnYXJkbGVzcyBvZiBmb250CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IGU3NjNmOWIzZDFjMTljMDZhNjg4OTJkZDAyOTQ5YzBl
MWRmMTU3NDMuLjg0NjdhZWUwMWMzZWQyNzcwMDI5OGRkOTkxMDFmZDNkYTY4YTE5ZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAg
dm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpjYW52YXNDaGFuZ2Vk
KENhbnZhc0Jhc2UmIGNhbnZhcywgY28KICAgICAgICAgYXV0byYgY29udGV4dCA9IGRvd25jYXN0
PFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+KCpjYW52YXMucmVuZGVyaW5nQ29udGV4dCgpKTsK
ICAgICAgICAgaWYgKCFjb250ZXh0LmlzUHJlc2VydmluZ0RyYXdpbmdCdWZmZXIoKSkgewogICAg
ICAgICAgICAgY2FudmFzLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIlR1cm5pbmcgZHJh
d2luZyBidWZmZXIgcHJlc2VydmF0aW9uIGZvciB0aGUgV2ViR0wgY2FudmFzIGJlaW5nIGNhcHR1
cmVkIl9zKTsKLSAgICAgICAgICAgIGNvbnRleHQuc2V0UHJlc2VydmVEcmF3aW5nQnVmZmVyKHRy
dWUpOworICAgICAgICAgICAgY29udGV4dC5lbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsK
ICAgICAgICAgfQogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA2ZjE4Y2Q3ODBhNDM1ZWNk
ZGVhNWUwZTM3YmUyMjE2OTk1MWU1YTYzLi5lZTMwNWY2YzQ4MDc3YmViMjI1YmQzY2Q4YzAwZmIw
MjMzNGY4NGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJS
ZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TDJSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMTc1OSw3ICsxNzU5LDcgQEAgdm9pZCBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0OjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZm
ZXJzKQogICAgICAgICB9CiAgICAgICAgIC8vIEJlY2F1c2UgdGhlIGJhY2tidWZmZXIgaXMgc2lt
dWxhdGVkIG9uIGFsbCBjdXJyZW50IFdlYktpdCBwb3J0cywgd2UgbmVlZCB0byBjaGFuZ2UgQkFD
SyB0byBDT0xPUl9BVFRBQ0hNRU5UMC4KICAgICAgICAgR0NHTGVudW0gdmFsdWUgPSAoYnVmc1sw
XSA9PSBHcmFwaGljc0NvbnRleHRHTDo6QkFDSykgPyBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1Jf
QVRUQUNITUVOVDAgOiBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORTsKLSAgICAgICAgZ3JhcGhpY3ND
b250ZXh0R0woKS0+Z2V0RXh0ZW5zaW9ucygpLmRyYXdCdWZmZXJzRVhUKDEsICZ2YWx1ZSk7Cisg
ICAgICAgIG1fY29udGV4dC0+ZHJhd0J1ZmZlcnMoMSwgJnZhbHVlKTsKICAgICAgICAgc2V0QmFj
a0RyYXdCdWZmZXIoYnVmc1swXSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKG4gPiBnZXRN
YXhEcmF3QnVmZmVycygpKSB7CkBAIC0xNzc2LDkyICsxNzc2LDQ4IEBAIHZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6ZHJhd0J1ZmZlcnMoY29uc3QgVmVjdG9yPEdDR0xlbnVtPiYgYnVmZmVy
cykKICAgICB9CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJp
dihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgSW50MzJMaXN0JiYsIEdDR0x1
aW50KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVt
IGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBJbnQzMkxpc3QmJiB2YWx1ZXMsIEdDR0x1aW50
IHNyY09mZnNldCkKIHsKLSAgICBzd2l0Y2ggKGJ1ZmZlcikgewotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkNPTE9SOgotICAgICAgICBpZiAoZHJhd2J1ZmZlciA8IDAgfHwgZHJhd2J1ZmZl
ciA+PSBnZXRNYXhEcmF3QnVmZmVycygpKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyaXYiLCAiYnVm
ZmVyIGluZGV4IG91dCBvZiByYW5nZSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJpdiwgcmVxdWlyZXMgZ2wzLmggYW5k
IEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNU
RU5DSUw6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyaXYi
LCAiYnVmZmVyIGluZGV4IG11c3QgYmUgMCIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJpdiwgcmVxdWlyZXMgZ2wzLmgg
YW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkRFUFRIOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX1NURU5DSUw6Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklO
VkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJpdiIsICJidWZmZXIgYXJndW1lbnQgbXVzdCBi
ZSBDT0xPUiBvciBTVEVOQ0lMIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICBpZiAoaXND
b250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZUNsZWFyQnVmZmVyKCJjbGVhckJ1ZmZl
cml2IiwgYnVmZmVyLCB2YWx1ZXMubGVuZ3RoKCksIHNyY09mZnNldCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fY29udGV4dC0+Y2xlYXJCdWZmZXJpdihidWZmZXIsIGRyYXdidWZmZXIsIHZh
bHVlcy5kYXRhKCksIHNyY09mZnNldCk7CisgICAgdXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENs
ZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZlcml2LCBidWZmZXIsIGRyYXdidWZmZXIpOwogfQog
Ci12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVydWl2KEdDR0xlbnVtIGJ1
ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0JiYsIEdDR0x1aW50KQordm9pZCBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdD
R0xpbnQgZHJhd2J1ZmZlciwgVWludDMyTGlzdCYmIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0
KQogewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBkcmF3YnVmZmVyID49IGdldE1h
eERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJ1aXYiLCAiYnVmZmVyIGluZGV4
IG91dCBvZiByYW5nZSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAg
IC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJ1aXYsIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wu
aAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkRFUFRIX1NURU5DSUw6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJ1
aXYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgQ09MT1IiKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlQ2xlYXJC
dWZmZXIoImNsZWFyQnVmZmVydWl2IiwgYnVmZmVyLCB2YWx1ZXMubGVuZ3RoKCksIHNyY09mZnNl
dCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY29udGV4dC0+Y2xlYXJCdWZmZXJ1aXYoYnVm
ZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMuZGF0YSgpLCBzcmNPZmZzZXQpOworICAgIHVwZGF0ZUJ1
ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJ1aXYsIGJ1ZmZl
ciwgZHJhd2J1ZmZlcik7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJC
dWZmZXJmdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgRmxvYXQzMkxpc3Qm
JiwgR0NHTHVpbnQpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZnYo
R0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEZsb2F0MzJMaXN0JiYgdmFsdWVz
LCBHQ0dMdWludCBzcmNPZmZzZXQpCiB7Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUjoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIgPCAwIHx8
IGRyYXdidWZmZXIgPj0gZ2V0TWF4RHJhd0J1ZmZlcnMoKSkgewotICAgICAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZl
cmZ2IiwgImJ1ZmZlciBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyZnYsIHJlcXVpcmVz
IGdsMy5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpERVBUSDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIpIHsKLSAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJC
dWZmZXJmdiIsICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcmZ2LCByZXF1aXJl
cyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6U1RFTkNJTDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9TVEVO
Q0lMOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVyIGFyZ3Vt
ZW50IG11c3QgYmUgQ09MT1IgT1IgREVQVEgiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQorICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlQ2xlYXJCdWZmZXIoImNs
ZWFyQnVmZmVyZnYiLCBidWZmZXIsIHZhbHVlcy5sZW5ndGgoKSwgc3JjT2Zmc2V0KSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZlcmZ2KGJ1ZmZlciwgZHJhd2J1
ZmZlciwgdmFsdWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICAvLyBjbGVhckJ1ZmZlcml2IGFu
ZCBjbGVhckJ1ZmZlcnVpdiB3aWxsIGN1cnJlbnRseSBnZW5lcmF0ZSBhbiBlcnJvcgorICAgIC8v
IGlmIHRoZXkncmUgY2FsbGVkIGFnYWluc3QgdGhlIGRlZmF1bHQgYmFjayBidWZmZXIuIElmIHN1
cHBvcnQgZm9yCisgICAgLy8gZXh0ZW5kZWQgY2FudmFzIGNvbG9yIHNwYWNlcyBpcyBhZGRlZCwg
dGhpcyBjYWxsIG1pZ2h0IG5lZWQgdG8gYmUKKyAgICAvLyBhZGRlZCB0byB0aGUgb3RoZXIgdmVy
c2lvbnMuCisgICAgbWFya0NvbnRleHRDaGFuZ2VkKCk7CisgICAgdXBkYXRlQnVmZmVyc1RvQXV0
b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZlcmZ2LCBidWZmZXIsIGRyYXdidWZm
ZXIpOwogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZmkoR0NH
TGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEdDR0xmbG9hdCwgR0NHTGludCkKK3Zv
aWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJmaShHQ0dMZW51bSBidWZmZXIs
IEdDR0xpbnQgZHJhd2J1ZmZlciwgR0NHTGZsb2F0IGRlcHRoLCBHQ0dMaW50IHN0ZW5jaWwpCiB7
Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBU
SF9TVEVOQ0lMOgotICAgICAgICBpZiAoZHJhd2J1ZmZlcikgewotICAgICAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZl
cmZ2IiwgImJ1ZmZlciBpbmRleCBtdXN0IGJlIDAiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyZmksIHJlcXVpcmVzIGds
My5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpDT0xPUjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFy
QnVmZmVyZnYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgREVQVEhfU1RFTkNJTCIpOwotICAg
ICAgICBicmVhazsKLSAgICB9CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZlcmZpKGJ1ZmZlciwgZHJh
d2J1ZmZlciwgZGVwdGgsIHN0ZW5jaWwpOworICAgIC8vIFRoaXMgbWlnaHQgaGF2ZSBiZWVuIHVz
ZWQgdG8gY2xlYXIgdGhlIGRlcHRoIGFuZCBzdGVuY2lsIGJ1ZmZlcnMKKyAgICAvLyBvZiB0aGUg
ZGVmYXVsdCBiYWNrIGJ1ZmZlci4KKyAgICBtYXJrQ29udGV4dENoYW5nZWQoKTsKKyAgICB1cGRh
dGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVmZmVyZmksIGJ1
ZmZlciwgZHJhd2J1ZmZlcik7CiB9CiAKIFJlZlB0cjxXZWJHTFF1ZXJ5PiBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0OjpjcmVhdGVRdWVyeSgpCkBAIC0zMzA3LDYgKzMyNjMsMzUgQEAgYm9vbCBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNhcGFiaWxpdHkoY29uc3QgY2hhciogZnVuY3Rp
b25OYW1lLCBHQ0dMZW4KICAgICB9CiB9CiAKK2Jvb2wgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
dmFsaWRhdGVDbGVhckJ1ZmZlcihjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGJ1
ZmZlciwgc2l6ZV90IHNpemUsIEdDR0x1aW50IHNyY09mZnNldCkKK3sKKyAgICBDaGVja2VkPEdM
c2l6ZWksIFJlY29yZE92ZXJmbG93PiBjaGVja2VkU2l6ZShzaXplKTsKKyAgICBjaGVja2VkU2l6
ZSAtPSBzcmNPZmZzZXQ7CisgICAgaWYgKGNoZWNrZWRTaXplLmhhc092ZXJmbG93ZWQoKSkgewor
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxV
RSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0Iik7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgc3dpdGNoIChidWZmZXIpIHsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUjoKKyAgICAgICAgaWYgKGNoZWNrZWRTaXplLnVuc2Fm
ZUdldCgpIDwgNCkgeworICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0R0w6OklOVkFMSURfVkFMVUUsIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgYXJyYXkgc2l6ZSAv
IHNyY09mZnNldCIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIOgorICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUw6CisgICAgICAgIGlmIChjaGVja2VkU2l6ZS51bnNh
ZmVHZXQoKSA8IDEpIHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dEdMOjpJTlZBTElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGFycmF5IHNpemUg
LyBzcmNPZmZzZXQiKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGJ1ZmZl
ciIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQor
CiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24qIGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKQogewogICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZh
bGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0xZnYiLCBsb2NhdGlvbiwgZGF0YSwgMSwg
c3JjT2Zmc2V0LCBzcmNMZW5ndGgpKQpAQCAtMzQ2NCw2ICszNDQ5LDc0IEBAIHZvaWQgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6dW5jYWNoZURlbGV0ZWRCdWZmZXIoV2ViR0xCdWZmZXIqIGJ1ZmZl
cikKIAogI3VuZGVmIFJFTU9WRV9CVUZGRVJfRlJPTV9CSU5ESU5HCiAKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVy
IGNhbGxlciwgR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIpCit7CisgICAgLy8g
VGhpcyBtZXRob2QgbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGF1dG8tY2xlYXIgYW55IGJ1ZmZl
cnMgd2hpY2ggdGhlCisgICAgLy8gdXNlciBoYXMgbWFudWFsbHkgY2xlYXJlZCB1c2luZyB0aGUg
bmV3IEVTIDMuMCBjbGVhckJ1ZmZlciogQVBJcy4KKworICAgIC8vIElmIHRoZSB1c2VyIGhhcyBh
IGZyYW1lYnVmZmVyIGJvdW5kLCBkb24ndCB1cGRhdGUgdGhlIGF1dG8tY2xlYXIKKyAgICAvLyBz
dGF0ZSBvZiB0aGUgYnVpbHQtaW4gYmFjayBidWZmZXIuCisgICAgaWYgKG1fZnJhbWVidWZmZXJC
aW5kaW5nKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiB0aGUgc2Npc3NvciB0ZXN0IGlz
IG9uLCBhc3N1bWUgdGhhdCB3ZSBjYW4ndCBzaG9ydC1jaXJjdWl0CisgICAgLy8gdGhlc2UgY2xl
YXJzLgorICAgIGlmIChtX3NjaXNzb3JFbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICAv
LyBUaGUgZGVmYXVsdCBiYWNrIGJ1ZmZlciBvbmx5IGhhcyBvbmUgY29sb3IgYXR0YWNobWVudC4K
KyAgICBpZiAoZHJhd2J1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gSWYgdGhlIGNh
bGwgdG8gdGhlIGRyaXZlciBnZW5lcmF0ZWQgYW4gZXJyb3IsIGRvbid0IGNsYWltIHRoYXQKKyAg
ICAvLyB3ZSd2ZSBhdXRvLWNsZWFyZWQgdGhlc2UgYnVmZmVycy4gVGhlIGVhcmx5IHJldHVybnMg
YmVsb3cgYXJlIGZvcgorICAgIC8vIGNhc2VzIHdoZXJlIGVycm9ycyB3aWxsIGJlIHByb2R1Y2Vk
LgorCisgICAgLy8gVGhlIGRlZmF1bHQgYmFjayBidWZmZXIgaXMgY3VycmVudGx5IGFsd2F5cyBS
R0IoQSk4LCB3aGljaAorICAgIC8vIHJlc3RyaWN0cyB0aGUgdmFyaWFudHMgd2hpY2ggY2FuIGxl
Z2FsbHkgYmUgdXNlZCB0byBjbGVhciB0aGUKKyAgICAvLyBjb2xvciBidWZmZXIuIFRPRE8oY3Ji
dWcuY29tLzgyOTYzMik6IHRoaXMgbmVlZHMgdG8gYmUKKyAgICAvLyBnZW5lcmFsaXplZC4KKyAg
ICBzd2l0Y2ggKGNhbGxlcikgeworICAgIGNhc2UgQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVm
ZmVyaXY6CisgICAgICAgIGlmIChidWZmZXIgIT0gR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUwp
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2xlYXJCdWZm
ZXJDYWxsZXI6OkNsZWFyQnVmZmVyZnY6CisgICAgICAgIGlmIChidWZmZXIgIT0gR3JhcGhpY3ND
b250ZXh0R0w6OkNPTE9SICYmIGJ1ZmZlciAhPSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEgpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2xlYXJCdWZmZXJD
YWxsZXI6OkNsZWFyQnVmZmVydWl2OgorICAgICAgICByZXR1cm47CisgICAgY2FzZSBDbGVhckJ1
ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJmaToKKyAgICAgICAgaWYgKGJ1ZmZlciAhPSBHcmFwaGlj
c0NvbnRleHRHTDo6REVQVEhfU1RFTkNJTCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgR0NHTGJpdGZpZWxkIGJ1ZmZlcnNUb0NsZWFyID0gMDsKKwor
ICAgIC8vIFR1cm4gaXQgaW50byBhIGJpdGZpZWxkIGFuZCBtYXNrIGl0IG9mZi4KKyAgICBzd2l0
Y2ggKGJ1ZmZlcikgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SOgorICAgICAg
ICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUl9CVUZGRVJfQklUOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKKyAgICAg
ICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfQlVGRkVSX0JJVDsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTDoKKyAg
ICAgICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9CVUZGRVJf
QklUOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9T
VEVOQ0lMOgorICAgICAgICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpERVBU
SF9CVUZGRVJfQklUIHwgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfQlVGRkVSX0JJVDsKKyAg
ICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLy8gSWxsZWdhbCB2YWx1ZS4KKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fY29udGV4dC0+c2V0QnVmZmVyc1RvQXV0b0Ns
ZWFyKG1fY29udGV4dC0+Z2V0QnVmZmVyc1RvQXV0b0NsZWFyKCkgJiAofmJ1ZmZlcnNUb0NsZWFy
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmlu
Z0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHQuaAppbmRleCAwNDIwZDc3NjYxOGU3MmUzOWUxZjg1NTY4N2I1ZTMzNDU4YzVkODhhLi5j
MTZkNmE3YmM0NDhjNDEzZDRlY2RlNWY3YTkyZjliNDVmNDFjZDA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOTEs
NiArMjkxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHZhbGlkYXRlSW5kZXhBcnJheUNvbnNlcnZh
dGl2ZShHQ0dMZW51bSB0eXBlLCB1bnNpZ25lZCYgbnVtRWxlbWVudHNSZXF1aXJlZCkgZmluYWw7
CiAgICAgYm9vbCB2YWxpZGF0ZUJsZW5kRXF1YXRpb24oY29uc3QgY2hhciogZnVuY3Rpb25OYW1l
LCBHQ0dMZW51bSBtb2RlKSBmaW5hbDsKICAgICBib29sIHZhbGlkYXRlQ2FwYWJpbGl0eShjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGNhcCkgZmluYWw7CisgICAgYm9vbCB2YWxp
ZGF0ZUNsZWFyQnVmZmVyKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTGVudW0gYnVmZmVy
LCBzaXplX3QsIEdDR0x1aW50IHNyY09mZnNldCk7CiAgICAgYm9vbCB2YWxpZGF0ZUZyYW1lYnVm
ZmVyVGFyZ2V0KEdDR0xlbnVtIHRhcmdldCkgZmluYWw7CiAgICAgV2ViR0xGcmFtZWJ1ZmZlciog
Z2V0RnJhbWVidWZmZXJCaW5kaW5nKEdDR0xlbnVtIHRhcmdldCkgZmluYWw7CiAgICAgV2ViR0xG
cmFtZWJ1ZmZlciogZ2V0UmVhZEZyYW1lYnVmZmVyQmluZGluZygpIGZpbmFsOwpAQCAtMzE3LDYg
KzMxOCwxNCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1bmNhY2hlRGVsZXRlZEJ1ZmZlcihXZWJH
TEJ1ZmZlciopIGZpbmFsOwogCisgICAgZW51bSBjbGFzcyBDbGVhckJ1ZmZlckNhbGxlciA6IHVp
bnQ4X3QgeworICAgICAgICBDbGVhckJ1ZmZlcml2LAorICAgICAgICBDbGVhckJ1ZmZlcnVpdiwK
KyAgICAgICAgQ2xlYXJCdWZmZXJmdiwKKyAgICAgICAgQ2xlYXJCdWZmZXJmaQorICAgIH07Cisg
ICAgdm9pZCB1cGRhdGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXIsIEdDR0xl
bnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyKTsKKwogICAgIFJlZlB0cjxXZWJHTEZyYW1l
YnVmZmVyPiBtX3JlYWRGcmFtZWJ1ZmZlckJpbmRpbmc7CiAgICAgUmVmUHRyPFdlYkdMVHJhbnNm
b3JtRmVlZGJhY2s+IG1fYm91bmRUcmFuc2Zvcm1GZWVkYmFjazsKICAgICBSZWZQdHI8V2ViR0xU
cmFuc2Zvcm1GZWVkYmFjaz4gbV9kZWZhdWx0VHJhbnNmb3JtRmVlZGJhY2s7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwCmluZGV4IDRiYzkzZWJi
ZWYwZDU4ZmYyNDMzNjNjNTZjOTY3NjEwM2U3YjVlMWMuLmZhMzMzNGJlOGRlYzFmYmVjNjBhMzcx
NWM2MDNkNmNmNGVhZTFkZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRnJhbWVidWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMRnJhbWVidWZmZXIuY3BwCkBAIC02MjEsMzIgKzYyMSwzMiBAQCB2b2lkIFdlYkdMRnJhbWVi
dWZmZXI6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQ0dMZW51bT4mIGJ1ZnMpCiAKIHZvaWQg
V2ViR0xGcmFtZWJ1ZmZlcjo6ZHJhd0J1ZmZlcnNJZk5lY2Vzc2FyeShib29sIGZvcmNlKQogewot
I2lmIEVOQUJMRShXRUJHTDIpCi0gICAgLy8gRklYTUU6IFRoZSBsb2dpYyBoZXJlIHNlZW1zIHdy
b25nLiBJZiB3ZSBkb24ndCBoYXZlIFdlYkdMIDIgZW5hYmxlZCBhdCBhbGwsIHRoZW4KLSAgICAv
LyB3ZSBza2lwIHRoZSBtX3dlYmdsRHJhd0J1ZmZlcnMgY2hlY2suIEJ1dCBpZiB3ZSBkbyBoYXZl
IFdlYkdMIDIgZW5hYmxlZCwgdGhlbiB3ZQotICAgIC8vIHBlcmZvcm0gdGhpcyBjaGVjaywgZm9y
IFdlYkdMIDEgY29udGV4dHMgb25seS4KLSAgICBpZiAoIWNvbnRleHQoKS0+bV93ZWJnbERyYXdC
dWZmZXJzICYmICFjb250ZXh0KCktPmlzV2ViR0wyKCkpCi0gICAgICAgIHJldHVybjsKLSNlbmRp
ZgotICAgIGJvb2wgcmVzZXQgPSBmb3JjZTsKLSAgICAvLyBUaGlzIGZpbHRlcmluZyB3b3JrcyBh
cm91bmQgZ3JhcGhpY3MgZHJpdmVyIGJ1Z3Mgb24gTWFjIE9TIFguCi0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX2RyYXdCdWZmZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX2Ry
YXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29udGV4dEdMOjpOT05FICYmIGdldEF0dGFjaG1lbnQo
bV9kcmF3QnVmZmVyc1tpXSkpIHsKLSAgICAgICAgICAgIGlmIChtX2ZpbHRlcmVkRHJhd0J1ZmZl
cnNbaV0gIT0gbV9kcmF3QnVmZmVyc1tpXSkgewotICAgICAgICAgICAgICAgIG1fZmlsdGVyZWRE
cmF3QnVmZmVyc1tpXSA9IG1fZHJhd0J1ZmZlcnNbaV07Ci0gICAgICAgICAgICAgICAgcmVzZXQg
PSB0cnVlOworICAgIGlmIChjb250ZXh0KCktPmlzV2ViR0wyKCkgfHwgY29udGV4dCgpLT5tX3dl
YmdsRHJhd0J1ZmZlcnMpIHsKKyAgICAgICAgYm9vbCByZXNldCA9IGZvcmNlOworICAgICAgICAv
LyBUaGlzIGZpbHRlcmluZyB3b3JrcyBhcm91bmQgZ3JhcGhpY3MgZHJpdmVyIGJ1Z3Mgb24gTWFj
IE9TIFguCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9kcmF3QnVmZmVycy5zaXpl
KCk7ICsraSkgeworICAgICAgICAgICAgaWYgKG1fZHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3ND
b250ZXh0R0w6Ok5PTkUgJiYgZ2V0QXR0YWNobWVudChtX2RyYXdCdWZmZXJzW2ldKSkgeworICAg
ICAgICAgICAgICAgIGlmIChtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gIT0gbV9kcmF3QnVmZmVy
c1tpXSkgeworICAgICAgICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gPSBt
X2RyYXdCdWZmZXJzW2ldOworICAgICAgICAgICAgICAgICAgICByZXNldCA9IHRydWU7CisgICAg
ICAgICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAo
bV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29udGV4dEdMOjpOT05FKSB7Cisg
ICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSA9IEdyYXBoaWNzQ29u
dGV4dEdMOjpOT05FOworICAgICAgICAgICAgICAgICAgICByZXNldCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg
aWYgKG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSAhPSBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORSkg
ewotICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSA9IEdyYXBoaWNzQ29u
dGV4dEdMOjpOT05FOwotICAgICAgICAgICAgICAgIHJlc2V0ID0gdHJ1ZTsKKyAgICAgICAgfQor
ICAgICAgICBpZiAocmVzZXQpIHsKKyAgICAgICAgICAgIGlmIChjb250ZXh0KCktPmlzV2ViR0wy
KCkpIHsKKyAgICAgICAgICAgICAgICBjb250ZXh0KCktPmdyYXBoaWNzQ29udGV4dEdMKCktPmRy
YXdCdWZmZXJzKAorICAgICAgICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnMuc2l6
ZSgpLCBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnMuZGF0YSgpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7
CisgICAgICAgICAgICAgICAgY29udGV4dCgpLT5ncmFwaGljc0NvbnRleHRHTCgpLT5nZXRFeHRl
bnNpb25zKCkuZHJhd0J1ZmZlcnNFWFQoCisgICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWRE
cmF3QnVmZmVycy5zaXplKCksIG1fZmlsdGVyZWREcmF3QnVmZmVycy5kYXRhKCkpOwogICAgICAg
ICAgICAgfQogICAgICAgICB9CiAgICAgfQotICAgIGlmIChyZXNldCkgewotICAgICAgICBjb250
ZXh0KCktPmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5kcmF3QnVmZmVyc0VY
VCgKLSAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVycy5zaXplKCksIG1fZmlsdGVyZWRE
cmF3QnVmZmVycy5kYXRhKCkpOwotICAgIH0KIH0KIAogR0NHTGVudW0gV2ViR0xGcmFtZWJ1ZmZl
cjo6Z2V0RHJhd0J1ZmZlcihHQ0dMZW51bSBkcmF3QnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRl
eCA3ZDA5YjViMmE5MjAyYzQyZTM4YTBhODc1MjQyMTJjMjFjMWM0ZTk5Li5kMWQzMTdjYjY2Mjk2
MjE2MjcwZmE2ZTRhYTM4NDNiNDZmMjRkMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTEwMCwx
MyArMTEwMCwxNyBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFySWZDb21w
b3NpdGVkKEdDR0xiaXRmaWVsZCBtYXNrKQogICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5n
KCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghbV9jb250ZXh0LT5sYXllckNv
bXBvc2l0ZWQoKSB8fCBtX2xheWVyQ2xlYXJlZAotICAgICAgICB8fCBtX2F0dHJpYnV0ZXMucHJl
c2VydmVEcmF3aW5nQnVmZmVyIHx8IChtYXNrICYmIG1fZnJhbWVidWZmZXJCaW5kaW5nKQotICAg
ICAgICB8fCBtX3ByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3RvcikKKyAgICBpZiAoIW1fY29u
dGV4dC0+bGF5ZXJDb21wb3NpdGVkKCkgfHwgbV9sYXllckNsZWFyZWQgfHwgbV9wcmV2ZW50QnVm
ZmVyQ2xlYXJGb3JJbnNwZWN0b3IpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8g
Y29udGV4dEF0dHJpYnV0ZXMgPSBnZXRDb250ZXh0QXR0cmlidXRlcygpOwotICAgIEFTU0VSVChj
b250ZXh0QXR0cmlidXRlcyk7CisgICAgR0NHTGJpdGZpZWxkIGJ1ZmZlcnNOZWVkaW5nQ2xlYXJp
bmcgPSBtX2NvbnRleHQtPmdldEJ1ZmZlcnNUb0F1dG9DbGVhcigpOworCisgICAgaWYgKCFidWZm
ZXJzTmVlZGluZ0NsZWFyaW5nIHx8IChtYXNrICYmIG1fZnJhbWVidWZmZXJCaW5kaW5nKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gVXNlIHRoZSB1bmRlcmx5aW5nIEdyYXBoaWNz
Q29udGV4dDNEJ3MgYXR0cmlidXRlcyB0byB0YWtlIGludG8KKyAgICAvLyBhY2NvdW50IChmb3Ig
ZXhhbXBsZSkgcGFja2VkIGRlcHRoL3N0ZW5jaWwgYnVmZmVycy4KKyAgICBhdXRvIGNvbnRleHRB
dHRyaWJ1dGVzID0gbV9jb250ZXh0LT5jb250ZXh0QXR0cmlidXRlcygpOwogCiAgICAgLy8gRGV0
ZXJtaW5lIGlmIGl0J3MgcG9zc2libGUgdG8gY29tYmluZSB0aGUgY2xlYXIgdGhlIHVzZXIgYXNr
ZWQgZm9yIGFuZCB0aGlzIGNsZWFyLgogICAgIGJvb2wgY29tYmluZWRDbGVhciA9IG1hc2sgJiYg
IW1fc2Npc3NvckVuYWJsZWQ7CkBAIC0xMTIxLDEzICsxMTI1LDEzIEBAIGJvb2wgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6Y2xlYXJJZkNvbXBvc2l0ZWQoR0NHTGJpdGZpZWxkIG1hc2spCiAg
ICAgICAgIG1fY29udGV4dC0+Y2xlYXJDb2xvcigwLCAwLCAwLCAwKTsKICAgICBtX2NvbnRleHQt
PmNvbG9yTWFzayh0cnVlLCB0cnVlLCB0cnVlLCB0cnVlKTsKICAgICBHQ0dMYml0ZmllbGQgY2xl
YXJNYXNrID0gR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SX0JVRkZFUl9CSVQ7Ci0gICAgaWYgKGNv
bnRleHRBdHRyaWJ1dGVzLT5kZXB0aCkgeworICAgIGlmIChjb250ZXh0QXR0cmlidXRlcy5kZXB0
aCkgewogICAgICAgICBpZiAoIWNvbWJpbmVkQ2xlYXIgfHwgIW1fZGVwdGhNYXNrIHx8ICEobWFz
ayAmIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9CVUZGRVJfQklUKSkKICAgICAgICAgICAgIG1f
Y29udGV4dC0+Y2xlYXJEZXB0aCgxLjBmKTsKICAgICAgICAgY2xlYXJNYXNrIHw9IEdyYXBoaWNz
Q29udGV4dEdMOjpERVBUSF9CVUZGRVJfQklUOwogICAgICAgICBtX2NvbnRleHQtPmRlcHRoTWFz
ayh0cnVlKTsKICAgICB9Ci0gICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzLT5zdGVuY2lsKSB7Cisg
ICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzLnN0ZW5jaWwpIHsKICAgICAgICAgaWYgKGNvbWJpbmVk
Q2xlYXIgJiYgKG1hc2sgJiBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9CVUZGRVJfQklUKSkK
ICAgICAgICAgICAgIG1fY29udGV4dC0+Y2xlYXJTdGVuY2lsKG1fY2xlYXJTdGVuY2lsICYgbV9z
dGVuY2lsTWFzayk7CiAgICAgICAgIGVsc2UKQEAgLTExMzUsMTEgKzExMzksMTUgQEAgYm9vbCBX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhcklmQ29tcG9zaXRlZChHQ0dMYml0ZmllbGQg
bWFzaykKICAgICAgICAgY2xlYXJNYXNrIHw9IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JV
RkZFUl9CSVQ7CiAgICAgICAgIG1fY29udGV4dC0+c3RlbmNpbE1hc2tTZXBhcmF0ZShHcmFwaGlj
c0NvbnRleHRHTDo6RlJPTlQsIDB4RkZGRkZGRkYpOwogICAgIH0KLSAgICAKKwogICAgIEdDR0xl
bnVtIGJpbmRpbmdQb2ludCA9IGlzV2ViR0wyKCkgPyBHcmFwaGljc0NvbnRleHRHTDo6RFJBV19G
UkFNRUJVRkZFUiA6IEdyYXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUjsKICAgICBpZiAobV9m
cmFtZWJ1ZmZlckJpbmRpbmcpCiAgICAgICAgIG1fY29udGV4dC0+YmluZEZyYW1lYnVmZmVyKGJp
bmRpbmdQb2ludCwgMCk7Ci0gICAgbV9jb250ZXh0LT5jbGVhcihjbGVhck1hc2spOworICAgIC8v
IElmIHRoZSBXZWJHTCAyLjAgY2xlYXJCdWZmZXIgQVBJcyBhbHJlYWR5IGhhdmUgYmVlbiB1c2Vk
IHRvCisgICAgLy8gc2VsZWN0aXZlbHkgY2xlYXIgc29tZSBvZiB0aGUgYnVmZmVycywgZG9uJ3Qg
ZGVzdHJveSB0aG9zZQorICAgIC8vIHJlc3VsdHMuCisgICAgbV9jb250ZXh0LT5jbGVhcihjbGVh
ck1hc2sgJiBidWZmZXJzTmVlZGluZ0NsZWFyaW5nKTsKKyAgICBtX2NvbnRleHQtPnNldEJ1ZmZl
cnNUb0F1dG9DbGVhcigwKTsKIAogICAgIHJlc3RvcmVTdGF0ZUFmdGVyQ2xlYXIoKTsKICAgICBp
ZiAobV9mcmFtZWJ1ZmZlckJpbmRpbmcpCkBAIC0zNjg4LDYgKzM2OTYsMTQgQEAgYm9vbCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJiBu
YW1lKQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRC
YXNlOjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKQoreworICAgIEFTU0VSVCghbV9hdHRy
aWJ1dGVzLnByZXNlcnZlRHJhd2luZ0J1ZmZlcik7CisgICAgbV9hdHRyaWJ1dGVzLnByZXNlcnZl
RHJhd2luZ0J1ZmZlciA9IHRydWU7CisgICAgLy8gTXVzdCBzZW5kIHRoaXMgbm90aWZpY2F0aW9u
IGRvd24gdG8gdGhlIEdyYXBoaWNzQ29udGV4dEdMIGFzIHdlbGwuCisgICAgbV9jb250ZXh0LT5l
bmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsKK30KKwogR0NHTGJvb2xlYW4gV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6aXNCdWZmZXIoV2ViR0xCdWZmZXIqIGJ1ZmZlcikKIHsKICAgICBp
ZiAoIWJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXgg
OWMwOWEwNTQ2ZjI4YzRiZjM2N2RhNmU5YWVjMTg0OWRlODRkN2IzZi4uZjEwN2ZhYWE4OTMwZTFh
MmNmZDUxM2ZiOTBlMTE4NTMyNjc4MzcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtMjE1LDcgKzIxNSwx
MCBAQCBwdWJsaWM6CiAgICAgYm9vbCBleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJik7
CiAKICAgICBib29sIGlzUHJlc2VydmluZ0RyYXdpbmdCdWZmZXIoKSBjb25zdCB7IHJldHVybiBt
X2F0dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5nQnVmZmVyOyB9Ci0gICAgdm9pZCBzZXRQcmVzZXJ2
ZURyYXdpbmdCdWZmZXIoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5n
QnVmZmVyID0gdmFsdWU7IH0KKyAgICAvLyBDb25jZXNzaW9uIHRvIGNhbnZhcyBjYXB0dXJlIEFQ
SSwgd2hpY2ggbXVzdCBkeW5hbWljYWxseSBlbmFibGUKKyAgICAvLyBwcmVzZXJ2ZURyYXdpbmdC
dWZmZXIuIFRoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UsIHdoZW4KKyAgICAvLyBpc1ByZXNl
cnZpbmdEcmF3aW5nQnVmZmVyKCkgcmV0dXJucyBmYWxzZS4KKyAgICB2b2lkIGVuYWJsZVByZXNl
cnZlRHJhd2luZ0J1ZmZlcigpOwogCiAgICAgYm9vbCBwcmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNw
ZWN0b3IoKSBjb25zdCB7IHJldHVybiBtX3ByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3Rvcjsg
fQogICAgIHZvaWQgc2V0UHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9yKGJvb2wgdmFsdWUp
IHsgbV9wcmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNwZWN0b3IgPSB2YWx1ZTsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3Bw
CmluZGV4IDlhNzQyNjllNjVmN2JlMzI0OTE1NzAzYjM1ZDQ5ZWE3MzRlZGJjM2QuLjE2Y2MxMGM3
N2UyZjY2ZGUwYWE3OTgwMzliNzgzNjRlYTk2ZGY4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKQEAgLTQwLDYg
KzQwLDEzIEBAIEdyYXBoaWNzQ29udGV4dEdMOjpHcmFwaGljc0NvbnRleHRHTChHcmFwaGljc0Nv
bnRleHRHTEF0dHJpYnV0ZXMgYXR0cnMsIERlc3RpbmF0CiB7CiB9CiAKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0R0w6OmVuYWJsZVByZXNlcnZlRHJhd2luZ0J1ZmZlcigpCit7CisgICAgLy8gQ2FudmFz
IGNhcHR1cmUgc2hvdWxkIG5vdCBjYWxsIHRoaXMgdW5sZXNzIG5lY2Vzc2FyeS4KKyAgICBBU1NF
UlQoIW1fYXR0cnMucHJlc2VydmVEcmF3aW5nQnVmZmVyKTsKKyAgICBtX2F0dHJzLnByZXNlcnZl
RHJhd2luZ0J1ZmZlciA9IHRydWU7Cit9CisKIHVuc2lnbmVkIEdyYXBoaWNzQ29udGV4dEdMOjpn
ZXRDbGVhckJpdHNCeUF0dGFjaG1lbnRUeXBlKEdDR0xlbnVtIGF0dGFjaG1lbnQpCiB7CiAgICAg
c3dpdGNoIChhdHRhY2htZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuaAppbmRleCA3YjY3YjY3OTExYWM4Nzg3Y2FiNmU5
MDVmYmI5ZjAzMGIxOTM0NDRlLi4xOWVhNzE5MzY1Yzg1ZmE2MDNmYTE3ZTdkYjdhYTIyNDg5YWE3
ODg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGlj
c0NvbnRleHRHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dEdMLmgKQEAgLTExMTYsNiArMTExNiwxMCBAQCBwdWJsaWM6CiAKICAgICBHcmFw
aGljc0NvbnRleHRHTEF0dHJpYnV0ZXMgY29udGV4dEF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVy
biBtX2F0dHJzOyB9CiAgICAgdm9pZCBzZXRDb250ZXh0QXR0cmlidXRlcyhjb25zdCBHcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJzKSB7IG1fYXR0cnMgPSBhdHRyczsgfQorICAgIC8v
IENvbmNlc3Npb24gdG8gQ2FudmFzIGNhcHR1cmVTdHJlYW0sIHdoaWNoIG5lZWRzIHRvIGR5bmFt
aWNhbGx5IHNldAorICAgIC8vIHByZXNlcnZlRHJhd2luZ0J1ZmZlciB0byB0cnVlIGluIG9yZGVy
IHRvIGF2b2lkIGltcGxpY2l0IGNsZWFycy4KKyAgICAvLyBJbXBsZW1lbnRhdGlvbnMgZ2VuZXJh
bGx5IGRvIG5vdCBzdXBwb3J0IHRvZ2dsaW5nIHRoaXMgYml0IGFyYml0cmFyaWx5LgorICAgIHZp
cnR1YWwgdm9pZCBlbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsKIAogICAgIC8vIFZlcnRl
eEFycmF5T2plY3QgY2FsbHMKICAgICB2aXJ0dWFsIFBsYXRmb3JtR0xPYmplY3QgY3JlYXRlVmVy
dGV4QXJyYXkoKSA9IDA7CkBAIC0xMTg2LDcgKzExOTAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIHZvaWQgZHJhd1JhbmdlRWxlbWVudHMoR0NHTGVudW0gbW9kZSwgR0NHTHVpbnQgc3RhcnQs
IEdDR0x1aW50IGVuZCwgR0NHTHNpemVpIGNvdW50LCBHQ0dMZW51bSB0eXBlLCBHQ0dMaW50cHRy
IG9mZnNldCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGRyYXdCdWZmZXJzKGNvbnN0IFZlY3Rv
cjxHQ0dMZW51bT4mIGJ1ZmZlcnMpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0J1ZmZlcnMo
R0NHTHNpemVpIG4sIGNvbnN0IEdDR0xlbnVtKiBidWZzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGNsZWFyQnVmZmVyaXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0
IEdDR0xpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNsZWFyQnVmZmVydWl2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBj
b25zdCBHQ0dMdWludCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpID0gMDsKICAgICB2aXJ0
dWFsIHZvaWQgY2xlYXJCdWZmZXJmdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZl
ciwgY29uc3QgR0NHTGZsb2F0KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgPSAwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3ND
b250ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmds
ZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCBjYzEwYzFlMDQyMDI1MzA1NTM0NGQ1
ZjAwZTIxYjdkM2E4OGRlNGNkLi4yOTRkMTE5YzBiYzBlYWJhZGU5ZTkxMGFhMTZiNjA3MDhjY2Iz
NWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9H
cmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtMTg5OSw2ICsxODk5
LDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0NvbnRleHRDaGFuZ2VkKCkK
IHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQoKQogewog
ICAgIG1fbGF5ZXJDb21wb3NpdGVkID0gdHJ1ZTsKKyAgICByZXNldEJ1ZmZlcnNUb0F1dG9DbGVh
cigpOwogCiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9jbGllbnRzKSkK
ICAgICAgICAgY2xpZW50LT5kaWRDb21wb3NpdGUoKTsKQEAgLTIzMDcsNDEgKzIzMDgsMjkgQEAg
dm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd1JhbmdlRWxlbWVudHMoR0NHTGVudW0g
bW9kZSwgR0NHTHVpbnQgc3RhcnQsIEcKICAgICBnbDo6RHJhd1JhbmdlRWxlbWVudHMobW9kZSwg
c3RhcnQsIGVuZCwgY291bnQsIHR5cGUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KG9mZnNldCkp
OwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhjb25zdCBW
ZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKQordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
ZHJhd0J1ZmZlcnMoR0NHTHNpemVpIG4sIGNvbnN0IEdDR0xlbnVtKiBidWZzKQogewotICAgIFVO
VVNFRF9QQVJBTShidWZmZXJzKTsKKyAgICBnbDo6RHJhd0J1ZmZlcnMobiwgYnVmcyk7CiB9CiAK
IHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyaXYoR0NHTGVudW0gYnVm
ZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xpbnQqIHZhbHVlcywgR0NHTHVpbnQg
c3JjT2Zmc2V0KQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNFRF9QQVJB
TShkcmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICBVTlVTRURfUEFS
QU0oc3JjT2Zmc2V0KTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJpdihidWZmZXIsIGRyYXdidWZmZXIs
IHZhbHVlcyArIHNyY09mZnNldCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6
OmNsZWFyQnVmZmVydWl2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25z
dCBHQ0dMdWludCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpCiB7Ci0gICAgVU5VU0VEX1BB
UkFNKGJ1ZmZlcik7Ci0gICAgVU5VU0VEX1BBUkFNKGRyYXdidWZmZXIpOwotICAgIFVOVVNFRF9Q
QVJBTSh2YWx1ZXMpOwotICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIGdsOjpDbGVh
ckJ1ZmZlcnVpdihidWZmZXIsIGRyYXdidWZmZXIsIHZhbHVlcyArIHNyY09mZnNldCk7CiB9CiAK
IHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVm
ZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xmbG9hdCogdmFsdWVzLCBHQ0dMdWlu
dCBzcmNPZmZzZXQpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcik7Ci0gICAgVU5VU0VEX1BB
UkFNKGRyYXdidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIFVOVVNFRF9Q
QVJBTShzcmNPZmZzZXQpOworICAgIGdsOjpDbGVhckJ1ZmZlcmZ2KGJ1ZmZlciwgZHJhd2J1ZmZl
ciwgdmFsdWVzICsgc3JjT2Zmc2V0KTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5H
TDo6Y2xlYXJCdWZmZXJmaShHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgR0NH
TGZsb2F0IGRlcHRoLCBHQ0dMaW50IHN0ZW5jaWwpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGJ1ZmZl
cik7Ci0gICAgVU5VU0VEX1BBUkFNKGRyYXdidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkZXB0
aCk7Ci0gICAgVU5VU0VEX1BBUkFNKHN0ZW5jaWwpOworICAgIGdsOjpDbGVhckJ1ZmZlcmZpKGJ1
ZmZlciwgZHJhd2J1ZmZlciwgZGVwdGgsIHN0ZW5jaWwpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMOjpkZWxldGVRdWVyeShQbGF0Zm9ybUdMT2JqZWN0IHF1ZXJ5KQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5jcHAKaW5kZXggMzNkYjk4YmE1N2Y3Mzc4YmZiYTNi
ZjJmMTJhOTBlNDRhODM0NWUxZC4uMmMwYTY2NzFhMjZlNDE3YjBmZjY3MWU1N2UxM2Y0OWZjZDVj
ZmYxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwCkBAIC0yNzEsNiAr
MjcxLDQyIEBAIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0IGdldERhdGFGb3JtYXQoR0NH
TGVudW0gZGVzdGluYXRpb25Gb3JtYXQsIEdDR0xlbnVtCiAKIH0gLy8gYW5vbnltb3VzIG5hbWVz
cGFjZQogCit2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNldEJ1ZmZlcnNUb0F1dG9D
bGVhcigpCit7CisgICAgR0NHTHVpbnQgYnVmZmVycyA9IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xP
Ul9CVUZGRVJfQklUOworICAgIC8vIFRoZSBHcmFwaGljc0NvbnRleHRHTCdzIGF0dHJpYnV0ZXMg
KGFzIG9wcG9zZWQgdG8KKyAgICAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQncykgaW5kaWNhdGUg
d2hldGhlciB0aGVyZSBpcyBhbgorICAgIC8vIGltcGxpY2l0bHktYWxsb2NhdGVkIHN0ZW5jaWwg
YnVmZmVyLCBmb3IgZXhhbXBsZS4KKyAgICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMo
KTsKKyAgICBpZiAoYXR0cnMuZGVwdGgpCisgICAgICAgIGJ1ZmZlcnMgfD0gR3JhcGhpY3NDb250
ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQ7CisgICAgaWYgKGF0dHJzLnN0ZW5jaWwpCisgICAgICAg
IGJ1ZmZlcnMgfD0gR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfQlVGRkVSX0JJVDsKKyAgICBz
ZXRCdWZmZXJzVG9BdXRvQ2xlYXIoYnVmZmVycyk7Cit9CisKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
R0xPcGVuR0w6OnNldEJ1ZmZlcnNUb0F1dG9DbGVhcihHQ0dMYml0ZmllbGQgYnVmZmVycykKK3sK
KyAgICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKKyAgICBpZiAoIWF0dHJzLnBy
ZXNlcnZlRHJhd2luZ0J1ZmZlcikKKyAgICAgICAgbV9idWZmZXJzVG9BdXRvQ2xlYXIgPSBidWZm
ZXJzOworICAgIGVsc2UKKyAgICAgICAgQVNTRVJUKCFtX2J1ZmZlcnNUb0F1dG9DbGVhcik7Cit9
CisKK0dDR0xiaXRmaWVsZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Z2V0QnVmZmVyc1RvQXV0
b0NsZWFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9idWZmZXJzVG9BdXRvQ2xlYXI7Cit9CisK
K3ZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmVuYWJsZVByZXNlcnZlRHJhd2luZ0J1ZmZl
cigpCit7CisgICAgR3JhcGhpY3NDb250ZXh0R0w6OmVuYWJsZVByZXNlcnZlRHJhd2luZ0J1ZmZl
cigpOworICAgIC8vIEFmdGVyIGR5bmFtaWNhbGx5IHRyYW5zaXRpb25pbmcgdG8gcHJlc2VydmVE
cmF3aW5nQnVmZmVyOnRydWUKKyAgICAvLyBmb3IgY2FudmFzIGNhcHR1cmUsIGNsZWFyIG91dCBh
bnkgYnVmZmVyIGF1dG8tY2xlYXJpbmcgc3RhdGUuCisgICAgbV9idWZmZXJzVG9BdXRvQ2xlYXIg
PSAwOworfQorCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp0ZXhJbWFnZTJEUmVzb3Vy
Y2VTYWZlKEdDR0xlbnVtIHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGVudW0gaW50ZXJuYWxm
b3JtYXQsIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGludCBib3JkZXIs
IEdDR0xlbnVtIGZvcm1hdCwgR0NHTGVudW0gdHlwZSwgR0NHTGludCB1bnBhY2tBbGlnbm1lbnQp
CiB7CiAgICAgQVNTRVJUKHVucGFja0FsaWdubWVudCA9PSAxIHx8IHVucGFja0FsaWdubWVudCA9
PSAyIHx8IHVucGFja0FsaWdubWVudCA9PSA0IHx8IHVucGFja0FsaWdubWVudCA9PSA4KTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGlj
c0NvbnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggNGUxMzFiZjgzYjY1M2ZlZjcwODFh
NGRlMjgxMmU0ZDgxMGY3YzI0MC4uNjU5ODc0ZjI0YmZkZDk4MTc5YTQ0ODcwZjM0NjM5ZDBkNGY2
M2I5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQzMyw3ICs0MzMs
NyBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUs
IEdDR0x1aW50IHN0YXJ0LCBHQ0dMdWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0g
dHlwZSwgR0NHTGludHB0ciBvZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBkcmF3QnVmZmVycyhj
b25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKSBmaW5hbDsKKyAgICB2b2lkIGRyYXdCdWZm
ZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgZmluYWw7CiAgICAgdm9pZCBj
bGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBH
Q0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgZmluYWw7CiAgICAgdm9pZCBjbGVh
ckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29uc3QgR0NH
THVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSBmaW5hbDsKICAgICB2b2lkIGNsZWFy
QnVmZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xm
bG9hdCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpIGZpbmFsOwpAQCAtNTIzLDYgKzUyMywx
NCBAQCBwdWJsaWM6CiAgICAgdm9pZCBmb3JjZUNvbnRleHRMb3N0KCk7CiAgICAgdm9pZCByZWN5
Y2xlQ29udGV4dCgpOwogCisgICAgLy8gTWFpbnRlbmFuY2Ugb2YgYXV0by1jbGVhcmluZyBvZiBj
b2xvci9kZXB0aC9zdGVuY2lsIGJ1ZmZlcnMuIFRoZQorICAgIC8vIHJlc2V0IG1ldGhvZCBpcyBw
cmVzZW50IHRvIGtlZXAgY2FsbGluZyBjb2RlIHNpbXBsZXIsIHNvIGl0CisgICAgLy8gZG9lc24n
dCBoYXZlIHRvIGtub3cgd2hpY2ggYnVmZmVycyB3ZXJlIGFsbG9jYXRlZC4KKyAgICB2b2lkIHJl
c2V0QnVmZmVyc1RvQXV0b0NsZWFyKCk7CisgICAgdm9pZCBzZXRCdWZmZXJzVG9BdXRvQ2xlYXIo
R0NHTGJpdGZpZWxkKTsKKyAgICBHQ0dMYml0ZmllbGQgZ2V0QnVmZmVyc1RvQXV0b0NsZWFyKCkg
Y29uc3Q7CisgICAgdm9pZCBlbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKSBvdmVycmlkZTsK
KwogICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZE5vdGlmaWNhdGlvbigpOwogICAgIHZv
aWQgc2ltdWxhdGVDb250ZXh0Q2hhbmdlZCgpOwogCkBAIC04NjQsNiArODcyLDExIEBAIHByaXZh
dGU6CiAgICAgR0NHTHVpbnQgbV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJGQk8geyAwIH07CiAjZW5k
aWYKIAorICAgIC8vIEEgYml0bWFzayBvZiBHTCBidWZmZXIgYml0cyAoR0xfQ09MT1JfQlVGRkVS
X0JJVCwKKyAgICAvLyBHTF9ERVBUSF9CVUZGRVJfQklULCBHTF9TVEVOQ0lMX0JVRkZFUl9CSVQp
IHdoaWNoIG5lZWQgdG8gYmUKKyAgICAvLyBhdXRvLWNsZWFyZWQuCisgICAgR0NHTGJpdGZpZWxk
IG1fYnVmZmVyc1RvQXV0b0NsZWFyIHsgMCB9OworCiAgICAgLy8gRXJyb3JzIHJhaXNlZCBieSBz
eW50aGVzaXplR0xFcnJvcigpLgogICAgIExpc3RIYXNoU2V0PEdDR0xlbnVtPiBtX3N5bnRoZXRp
Y0Vycm9yczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
b3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5j
cHAKaW5kZXggMmY3NTI4MjFkZmQ4NmRlOTg1NjhiMmMzZTYxNGJhOWNkYTI5Njc1Ni4uZWU1OWE2
Mzc3OTcxNTU2NWZmNzU2N2RjYmJjNTA1ODMwZTFkMmYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29t
bW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwCkBAIC0yMDE5LDYgKzIwMTksNyBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjptYXJrQ29udGV4dENoYW5nZWQoKQogdm9pZCBHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0xheWVyQ29tcG9zaXRlZCgpCiB7CiAgICAgbV9sYXll
ckNvbXBvc2l0ZWQgPSB0cnVlOworICAgIHJlc2V0QnVmZmVyc1RvQXV0b0NsZWFyKCk7CiAKICAg
ICBmb3IgKGF1dG8qIGNsaWVudCA6IGNvcHlUb1ZlY3RvcihtX2NsaWVudHMpKQogICAgICAgICBj
bGllbnQtPmRpZENvbXBvc2l0ZSgpOwpAQCAtMjQyNCw5ICsyNDI1LDEwIEBAIHZvaWQgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6OmRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0x1
aW50IHN0YXJ0LCBHCiAgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiB9CiAKLXZvaWQgR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQ0dMZW51bT4mIGJ1
ZmZlcnMpCit2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhHQ0dMc2l6
ZWkgbiwgY29uc3QgR0NHTGVudW0qIGJ1ZnMpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcnMp
OworICAgIFVOVVNFRF9QQVJBTShuKTsKKyAgICBVTlVTRURfUEFSQU0oYnVmcyk7CiB9CiAKIHZv
aWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyaXYoR0NHTGVudW0gYnVmZmVy
LCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3Jj
T2Zmc2V0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDA5ZjgyNTI5MjU2NjdmYjEzYzEzZGQ3OTQ4OTQ0MjFjY2EzZmI1OTMu
LmQwOTZjMzZiMWZkN2NlN2Q0ZDIzOTkyMmE1ZGIwODY1ZmJhZTc1ZWIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxNiBAQAorMjAyMC0wNy0yMiAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGNocm9taXVtLm9yZz4K
KworICAgICAgICBbV2ViR0wyXSBJbXBsZW1lbnQgbXVsdGlwbGUgcmVuZGVyIHRhcmdldCBlbnRy
eSBwb2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTIxMTE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFJlYmFzZWxpbmUgb25lIGxheW91dCB0ZXN0IHdoaWNoIGlzIG5vdyBmdWxseSBwYXNzaW5nLCBh
bmQgYW5vdGhlcgorICAgICAgICB3aGljaCBub3cgcHJvcGVybHkgZGV0ZWN0cyBlcnJvcnMuCisK
KyAgICAgICAgKiBmYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDIvc2VxdWVuY2VzLWV4cGVjdGVkLnR4
dDoKKyAgICAgICAgKiB3ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVs
cy1mcm9tLWZiby10ZXN0LWV4cGVjdGVkLnR4dDoKKwogMjAyMC0wNy0yMiAgU2ltb24gRnJhc2Vy
ICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBjb21wb3NpdGluZy9yZXBhaW50
L2lmcmFtZXMvY29tcG9zaXRpbmctaWZyYW1lLXNjcm9sbC1yZXBhaW50Lmh0bWwgZmFpbHMgb24g
TW9qYXZlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDIv
c2VxdWVuY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dl
YmdsMi9zZXF1ZW5jZXMtZXhwZWN0ZWQudHh0CmluZGV4IGMzZjAyNWRjYmJjMDVmZmYxNDUzOTMx
YzFiNTIwYWE2YmQ4NWM0ZmQuLjU1MGZhZmU2NjU1YWM5ZmZhMGFlOWNiNGQzODc1MzdjNTAxM2I2
YWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi9zZXF1
ZW5jZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dl
YmdsMi9zZXF1ZW5jZXMtZXhwZWN0ZWQudHh0CkBAIC0yLDYgKzIsMTIgQEAgQ09OU09MRSBNRVNT
QUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogdmVydGV4QXR0cmliSTRpdjogYXJyYXkgdG9vIHNt
YWxsCiBDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiB2ZXJ0ZXhBdHRyaWJJ
NGl2OiBhcnJheSB0b28gc21hbGwKIENPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFM
VUU6IHZlcnRleEF0dHJpYkk0dWl2OiBhcnJheSB0b28gc21hbGwKIENPTlNPTEUgTUVTU0FHRTog
V2ViR0w6IElOVkFMSURfVkFMVUU6IHZlcnRleEF0dHJpYkk0dWl2OiBhcnJheSB0b28gc21hbGwK
K0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVyaXY6IGlu
dmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5W
QUxJRF9WQUxVRTogY2xlYXJCdWZmZXJpdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0
CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcnVpdjog
aW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJ
TlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcnVpdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zm
c2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcmZ2
OiBpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNPZmZzZXQKK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6
IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVyZnY6IGludmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09m
ZnNldAogCiBQQVNTIHVuaWZvcm0xdWl2IGRhdGEgd2l0aCB0eXBlZCBhcnJheSBvZiB0eXBlIHVp
IAogUEFTUyB1bmlmb3JtMXVpdiBkYXRhIHdpdGggc2VxdWVuY2Ugb2YgdHlwZSB1aSAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQt
cGl4ZWxzLWZyb20tZmJvLXRlc3QtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4w
LjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3Rl
ZC50eHQKaW5kZXggZGY0ZjUxZjcwYjFiYjljN2JjOWNjZmYyODM0MWUzNDYyMzRmNWUwZS4uNmQ1
ZjkxZjQ5YzM5NzM5YzNiNjVjNTEyOGEzMGU4OGM4ZDhhOGQ2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1m
Ym8tdGVzdC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9y
bWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQKQEAg
LTEsMjAwICsxLDUgQEAKIFRoaXMgdGVzdCBydW5zIHRoZSBXZWJHTCBUZXN0IGxpc3RlZCBiZWxv
dyBpbiBhbiBpZnJhbWUgYW5kIHJlcG9ydHMgUEFTUyBvciBGQUlMLgogCiBUZXN0OiAuLi8uLi9y
ZXNvdXJjZXMvd2ViZ2xfdGVzdF9maWxlcy9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVs
cy1mcm9tLWZiby10ZXN0Lmh0bWwKLVsgMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVh
ciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDU6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBl
eHBlY3RlZAotWyA3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3Vs
ZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEw
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAyNTAsMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsgMTE6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9
IDI1MCwwLDAsMCwgd2FzID0gMAotWyAxMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMTQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xl
YXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDE2OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2LDAsMCwwLCB3YXMg
PSAwLDAsMCwxCi1bIDE3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4OiBGQUlMIF0g
RXhwZWN0ZWQgY29sb3IgPSAtMTI2LDAsMCwwLCB3YXMgPSAwCi1bIDE5OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAyMDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjE6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9
IDMwMDAxLDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDIzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDI0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAzMDAwMSwwLDAsMCwgd2FzID0gMAot
WyAyNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0
aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjY6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDI3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDI4OiBGQUlM
IF0gRXhwZWN0ZWQgY29sb3IgPSAtMTQxODksMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsgMjk6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzA6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC0x
NDE4OSwwLDAsMCwgd2FzID0gMAotWyAzMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMzI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xl
YXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDMzOiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDM0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxMjY3MjYsMCwwLDAsIHdh
cyA9IDAsMCwwLDEKLVsgMzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzY6IEZBSUwg
XSBFeHBlY3RlZCBjb2xvciA9IDEyNjcyNiwwLDAsMCwgd2FzID0gMAotWyAzNzogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1b
IDM5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDQwOiBGQUlMIF0gRXhwZWN0ZWQgY29s
b3IgPSAtMTI2NzI2LDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDQxOiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDQyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTI2NzI2LDAsMCwwLCB3
YXMgPSAwCi1bIDQzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA0NDogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
NDY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNDc6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgNDg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQK
LVsgNDk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0
dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDUwOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyA1MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1MjogUEFT
UyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA1MzogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA1NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA1NTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVw
IGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNTY6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDU3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDU4OiBQQVNTIF0gQ29s
b3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDU5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDYwOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDYxOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgNjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjQ6IFBBU1MgXSBDb2xvciByZWFk
IGJhY2sgYXMgZXhwZWN0ZWQKLVsgNjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjY6
IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNjc6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDY4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2OTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxz
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3MDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBh
cyBleHBlY3RlZAotWyA3MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3MjogUEFTUyBd
IENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA3MzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgNzQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc1OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDc2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVj
dGVkCi1bIDc3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDc4OiBQQVNTIF0gQ29sb3Ig
cmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDc5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyA4MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBD
bGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODE6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgODI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsg
ODM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODQ6IFBBU1MgXSBDb2xvciByZWFkIGJh
Y2sgYXMgZXhwZWN0ZWQKLVsgODU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDg2
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNv
bG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4NzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyA4ODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA4OTogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5MDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBl
eHBlY3RlZAotWyA5MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgOTI6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDkzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1b
IDk0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDk1OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDk2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVk
Ci1bIDk3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNl
dHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5ODogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgOTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTAwOiBQ
QVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEwMTogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyAxMDI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsg
MTAzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRp
bmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDQ6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDEwNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDY6IFBB
U1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTA3OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDEwODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAx
MDk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGlu
ZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDExMDogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTExOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDExMjogUEFT
UyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMTM6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgMTE0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEx
NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5n
IHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE2OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyAxMTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTE4OiBQQVNT
IF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDExOTogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyAxMjA6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTIx
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcg
dXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjI6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDEyMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjQ6IFBBU1Mg
XSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTI1OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDEyNjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMjc6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1
cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEyODogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgMTI5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEzMDogUEFTUyBd
IENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMzE6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTMyOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEzMzog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVw
IGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTM0OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyAxMzU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTM2OiBQQVNTIF0g
Q29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEzNzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxMzg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTM5OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDA6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDE0MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDI6IFBBU1MgXSBD
b2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTQzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDE0NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxNDU6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBm
Ym8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0NjogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTQ3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0ODogRkFJTCBdIEV4
cGVjdGVkIGNvbG9yID0gMTI3LDAsMjU1LDE3OCwgd2FzID0gMCwwLDAsMAotWyAxNDk6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTUwOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxMjcs
MCwyNTUsMTc4LCB3YXMgPSAwLDAsMCwwCi1bIDE1MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTUyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTM6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgMTU0OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtNTUsNTYs
ODAsMTI3LCB3YXMgPSAwLDAsMCwwCi1bIDE1NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNTY6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC01NSw1Niw4MCwxMjcsIHdhcyA9IDAsMCww
LDAKLVsgMTU3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTg6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAx
NjA6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE3OCwwLDEyNywzLCB3YXMgPSAwLDAsMCwwCi1b
IDE2MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFk
UGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNjI6IEZBSUwgXSBFeHBlY3RlZCBj
b2xvciA9IDE3OCwwLDEyNywzLCB3YXMgPSAwLDAsMCwwCi1bIDE2MzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgMTY0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNjU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTY2OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3Ig
PSAxNDE4OSw2NzM1LDAsMTksIHdhcyA9IDAsMCwwLDAKLVsgMTY3OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDE2ODogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTQxODksNjczNSwwLDE5
LCB3YXMgPSAwLDAsMCwwCi1bIDE2OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MTcwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFy
IGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzE6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgMTcyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxNDE4OSwtNjczNSwwLDE5
LCB3YXMgPSAwLDAsMCwwCi1bIDE3MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzQ6
IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE0MTg5LC02NzM1LDAsMTksIHdhcyA9IDAsMCwwLDAK
LVsgMTc1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNl
dHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzY6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDE3NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzg6
IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDEyNjcyNiw2NzI2LDk4NzY1LDIwMTUsIHdhcyA9IDAs
MCwwLDAKLVsgMTc5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4MDogRkFJTCBdIEV4
cGVjdGVkIGNvbG9yID0gMTI2NzI2LDY3MjYsOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAsMAotWyAx
ODE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGlu
ZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4MjogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTgzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4NDogRkFJ
TCBdIEV4cGVjdGVkIGNvbG9yID0gMTI2NzI2LC02NzI2LC05ODc2NSwyMDE1LCB3YXMgPSAwLDAs
MCwwCi1bIDE4NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODY6IEZBSUwgXSBFeHBl
Y3RlZCBjb2xvciA9IDEyNjcyNiwtNjcyNiwtOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAsMAotWyAx
ODc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGlu
ZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4ODogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTg5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE5MDogUEFT
UyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxOTE6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgMTkyOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDE5
MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4
ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxOTQ6IFBBU1MgXSBDb2xvciByZWFkIGJh
Y2sgYXMgZXhwZWN0ZWQKLVsgMTk1OiBQQVNTIF0gc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
LVsgRkFJTCBdIDI2IGZhaWx1cmVzIHJlcG9ydGVkCitbIFBBU1MgXSBBbGwgdGVzdHMgcGFzc2Vk
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404988</attachid>
            <date>2020-07-22 15:53:50 -0700</date>
            <delta_ts>2020-07-22 15:55:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211156-20200722155349.patch</filename>
            <type>text/plain</type>
            <size>51868</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFiZjc3OWM4MzZlMmNl
ZDU1ODQwMWFjZmY1NzNkMzMxMmIzMjEyNS4uYTU4ZThmMTIzYzFhMjQ2Njg0NzVkMDYxMzcwNWU0
ZjI4YWMzMmUxZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIwLTA3LTIyICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJHTDJdIEltcGxl
bWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0IGVudHJ5IHBvaW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgSW1wbGVtZW50IHRoZSBkcmF3QnVmZmVy
cyBhbmQgY2xlYXJCdWZmZXIgZW50cnkgcG9pbnRzLgorCisgICAgICAgIEludGVncmF0ZSB0aGUg
Y2xlYXJCdWZmZXIgQVBJcyB3aXRoIHByZXNlcnZlRHJhd2luZ0J1ZmZlcjpmYWxzZSdzCisgICAg
ICAgIGF1dG8tY2xlYXJpbmcuIE1vdmUgc29tZSBhdXRvLWNsZWFyaW5nIHN0YXRlIGZyb20KKyAg
ICAgICAgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZSB0byBHcmFwaGljc0NvbnRleHRHTCBhbmQK
KyAgICAgICAgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuCisKKyAgICAgICAgUmVuYW1lIHNldFBy
ZXNlcnZlRHJhd2luZ0J1ZmZlciB0byBlbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIgdG8KKyAg
ICAgICAgbWFrZSBpdCBjbGVhciB0aGF0IGFyYml0cmFyeSBjaGFuZ2VzIG9mIHByZXNlcnZlRHJh
d2luZ0J1ZmZlciBhcmUKKyAgICAgICAgbm90IHN1cHBvcnRlZC4gc2V0UHJlc2VydmVEcmF3aW5n
QnVmZmVyIHdhcyBwcmV2aW91c2x5IGFkZGVkIGZvcgorICAgICAgICBjYXB0dXJlIG9mIHByZXNl
cnZlRHJhd2luZ0J1ZmZlcjpmYWxzZSBXZWJHTCBjYW52YXNlcy4KKworICAgICAgICBDb3ZlcmVk
IGJ5IGV4aXN0aW5nIFdlYkdMIGNvbmZvcm1hbmNlIHRlc3RzIGFuZCBjYW52YXMgY2FwdHVyZQor
ICAgICAgICBsYXlvdXQgdGVzdHMuCisKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL0Nh
bnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkNhbnZh
c0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrOjpTb3VyY2U6OmNhbnZhc0NoYW5nZWQpOgorICAgICAg
ICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6ZHJhd0J1ZmZlcnMpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJpdik6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZ2KToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZmkpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVDbGVhckJ1ZmZl
cik6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1cGRhdGVCdWZm
ZXJzVG9BdXRvQ2xlYXIpOgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHQuaDoKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMRnJhbWVidWZmZXI6OmRyYXdCdWZmZXJzSWZOZWNlc3Nhcnkp
OgorICAgICAgICAqIGh0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2xlYXJJZkNvbXBv
c2l0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6ZW5h
YmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJHTFJlbmRlcmluZ0Nv
bnRleHRCYXNlOjpzZXRQcmVzZXJ2ZURyYXdpbmdCdWZmZXIpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dEdMOjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmg6CisgICAgICAgICog
cGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0xheWVyQ29tcG9zaXRl
ZCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1ZmZl
cnMpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVm
ZmVyaXYpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFy
QnVmZmVydWl2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpj
bGVhckJ1ZmZlcmZ2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdM
OjpjbGVhckJ1ZmZlcmZpKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250
ZXh0R0xPcGVuR0w6OnJlc2V0QnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpzZXRCdWZmZXJzVG9BdXRvQ2xlYXIpOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmdldEJ1ZmZlcnNUb0F1dG9DbGVh
ciBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZW5h
YmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9v
cGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwOgorICAgICAgICAo
V2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQpOgor
ICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKToK
KwogMjAyMC0wNy0yMiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjIwNTgyNik6IG5hcnJvd05vQnJlYWtTcGFjZSAoVSsyMDJG
KSBoYXMgemVybyB3aWR0aCwgcmVnYXJkbGVzcyBvZiBmb250CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2suY3BwCmluZGV4IGU3NjNmOWIzZDFjMTljMDZhNjg4OTJkZDAyOTQ5YzBl
MWRmMTU3NDMuLjg0NjdhZWUwMWMzZWQyNzcwMDI5OGRkOTkxMDFmZDNkYTY4YTE5ZmQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vQ2FudmFzQ2FwdHVyZU1l
ZGlhU3RyZWFtVHJhY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2suY3BwCkBAIC0xNjEsNyArMTYxLDcgQEAg
dm9pZCBDYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpjYW52YXNDaGFuZ2Vk
KENhbnZhc0Jhc2UmIGNhbnZhcywgY28KICAgICAgICAgYXV0byYgY29udGV4dCA9IGRvd25jYXN0
PFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U+KCpjYW52YXMucmVuZGVyaW5nQ29udGV4dCgpKTsK
ICAgICAgICAgaWYgKCFjb250ZXh0LmlzUHJlc2VydmluZ0RyYXdpbmdCdWZmZXIoKSkgewogICAg
ICAgICAgICAgY2FudmFzLnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKS0+YWRkQ29uc29sZU1lc3Nh
Z2UoTWVzc2FnZVNvdXJjZTo6SlMsIE1lc3NhZ2VMZXZlbDo6V2FybmluZywgIlR1cm5pbmcgZHJh
d2luZyBidWZmZXIgcHJlc2VydmF0aW9uIGZvciB0aGUgV2ViR0wgY2FudmFzIGJlaW5nIGNhcHR1
cmVkIl9zKTsKLSAgICAgICAgICAgIGNvbnRleHQuc2V0UHJlc2VydmVEcmF3aW5nQnVmZmVyKHRy
dWUpOworICAgICAgICAgICAgY29udGV4dC5lbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsK
ICAgICAgICAgfQogICAgIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRt
bC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcAppbmRleCA2ZjE4Y2Q3ODBhNDM1ZWNk
ZGVhNWUwZTM3YmUyMjE2OTk1MWU1YTYzLi5lZTMwNWY2YzQ4MDc3YmViMjI1YmQzY2Q4YzAwZmIw
MjMzNGY4NGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJS
ZW5kZXJpbmdDb250ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TDJSZW5kZXJpbmdDb250ZXh0LmNwcApAQCAtMTc1OSw3ICsxNzU5LDcgQEAgdm9pZCBXZWJHTDJS
ZW5kZXJpbmdDb250ZXh0OjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZm
ZXJzKQogICAgICAgICB9CiAgICAgICAgIC8vIEJlY2F1c2UgdGhlIGJhY2tidWZmZXIgaXMgc2lt
dWxhdGVkIG9uIGFsbCBjdXJyZW50IFdlYktpdCBwb3J0cywgd2UgbmVlZCB0byBjaGFuZ2UgQkFD
SyB0byBDT0xPUl9BVFRBQ0hNRU5UMC4KICAgICAgICAgR0NHTGVudW0gdmFsdWUgPSAoYnVmc1sw
XSA9PSBHcmFwaGljc0NvbnRleHRHTDo6QkFDSykgPyBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1Jf
QVRUQUNITUVOVDAgOiBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORTsKLSAgICAgICAgZ3JhcGhpY3ND
b250ZXh0R0woKS0+Z2V0RXh0ZW5zaW9ucygpLmRyYXdCdWZmZXJzRVhUKDEsICZ2YWx1ZSk7Cisg
ICAgICAgIG1fY29udGV4dC0+ZHJhd0J1ZmZlcnMoMSwgJnZhbHVlKTsKICAgICAgICAgc2V0QmFj
a0RyYXdCdWZmZXIoYnVmc1swXSk7CiAgICAgfSBlbHNlIHsKICAgICAgICAgaWYgKG4gPiBnZXRN
YXhEcmF3QnVmZmVycygpKSB7CkBAIC0xNzc2LDkyICsxNzc2LDQ4IEBAIHZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6ZHJhd0J1ZmZlcnMoY29uc3QgVmVjdG9yPEdDR0xlbnVtPiYgYnVmZmVy
cykKICAgICB9CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJp
dihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgSW50MzJMaXN0JiYsIEdDR0x1
aW50KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVt
IGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBJbnQzMkxpc3QmJiB2YWx1ZXMsIEdDR0x1aW50
IHNyY09mZnNldCkKIHsKLSAgICBzd2l0Y2ggKGJ1ZmZlcikgewotICAgIGNhc2UgR3JhcGhpY3ND
b250ZXh0R0w6OkNPTE9SOgotICAgICAgICBpZiAoZHJhd2J1ZmZlciA8IDAgfHwgZHJhd2J1ZmZl
ciA+PSBnZXRNYXhEcmF3QnVmZmVycygpKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJv
cihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyaXYiLCAiYnVm
ZmVyIGluZGV4IG91dCBvZiByYW5nZSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJpdiwgcmVxdWlyZXMgZ2wzLmggYW5k
IEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNU
RU5DSUw6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXpl
R0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVyaXYi
LCAiYnVmZmVyIGluZGV4IG11c3QgYmUgMCIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAg
ICB9Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJpdiwgcmVxdWlyZXMgZ2wzLmgg
YW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6
OkRFUFRIOgotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX1NURU5DSUw6Ci0gICAg
ZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklO
VkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJpdiIsICJidWZmZXIgYXJndW1lbnQgbXVzdCBi
ZSBDT0xPUiBvciBTVEVOQ0lMIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICBpZiAoaXND
b250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZUNsZWFyQnVmZmVyKCJjbGVhckJ1ZmZl
cml2IiwgYnVmZmVyLCB2YWx1ZXMubGVuZ3RoKCksIHNyY09mZnNldCkpCisgICAgICAgIHJldHVy
bjsKKworICAgIG1fY29udGV4dC0+Y2xlYXJCdWZmZXJpdihidWZmZXIsIGRyYXdidWZmZXIsIHZh
bHVlcy5kYXRhKCksIHNyY09mZnNldCk7CisgICAgdXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENs
ZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZlcml2LCBidWZmZXIsIGRyYXdidWZmZXIpOwogfQog
Ci12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVydWl2KEdDR0xlbnVtIGJ1
ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBVaW50MzJMaXN0JiYsIEdDR0x1aW50KQordm9pZCBX
ZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdD
R0xpbnQgZHJhd2J1ZmZlciwgVWludDMyTGlzdCYmIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0
KQogewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6
Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBkcmF3YnVmZmVyID49IGdldE1h
eERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNz
Q29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJ1aXYiLCAiYnVmZmVyIGluZGV4
IG91dCBvZiByYW5nZSIpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0gICAgICAg
IC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJ1aXYsIHJlcXVpcmVzIGdsMy5oIGFuZCBFUzMvZ2wu
aAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKLSAg
ICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMOgotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OkRFUFRIX1NURU5DSUw6Ci0gICAgZGVmYXVsdDoKLSAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfT1BFUkFUSU9OLCAiY2xlYXJCdWZmZXJ1
aXYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgQ09MT1IiKTsKLSAgICAgICAgYnJlYWs7Ci0g
ICAgfQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlQ2xlYXJC
dWZmZXIoImNsZWFyQnVmZmVydWl2IiwgYnVmZmVyLCB2YWx1ZXMubGVuZ3RoKCksIHNyY09mZnNl
dCkpCisgICAgICAgIHJldHVybjsKKworICAgIG1fY29udGV4dC0+Y2xlYXJCdWZmZXJ1aXYoYnVm
ZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMuZGF0YSgpLCBzcmNPZmZzZXQpOworICAgIHVwZGF0ZUJ1
ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJ1aXYsIGJ1ZmZl
ciwgZHJhd2J1ZmZlcik7CiB9CiAKLXZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJC
dWZmZXJmdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgRmxvYXQzMkxpc3Qm
JiwgR0NHTHVpbnQpCit2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZnYo
R0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEZsb2F0MzJMaXN0JiYgdmFsdWVz
LCBHQ0dMdWludCBzcmNPZmZzZXQpCiB7Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUjoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIgPCAwIHx8
IGRyYXdidWZmZXIgPj0gZ2V0TWF4RHJhd0J1ZmZlcnMoKSkgewotICAgICAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZl
cmZ2IiwgImJ1ZmZlciBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgICAgIHJldHVybjsK
LSAgICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyZnYsIHJlcXVpcmVz
IGdsMy5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpERVBUSDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIpIHsKLSAgICAgICAgICAgIHN5
bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJC
dWZmZXJmdiIsICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0gICAgICAgICAgICByZXR1cm47
Ci0gICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcmZ2LCByZXF1aXJl
cyBnbDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0Nv
bnRleHRHTDo6U1RFTkNJTDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9TVEVO
Q0lMOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVyZnYiLCAiYnVmZmVyIGFyZ3Vt
ZW50IG11c3QgYmUgQ09MT1IgT1IgREVQVEgiKTsKLSAgICAgICAgYnJlYWs7Ci0gICAgfQorICAg
IGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZhbGlkYXRlQ2xlYXJCdWZmZXIoImNs
ZWFyQnVmZmVyZnYiLCBidWZmZXIsIHZhbHVlcy5sZW5ndGgoKSwgc3JjT2Zmc2V0KSkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZlcmZ2KGJ1ZmZlciwgZHJhd2J1
ZmZlciwgdmFsdWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICAvLyBjbGVhckJ1ZmZlcml2IGFu
ZCBjbGVhckJ1ZmZlcnVpdiB3aWxsIGN1cnJlbnRseSBnZW5lcmF0ZSBhbiBlcnJvcgorICAgIC8v
IGlmIHRoZXkncmUgY2FsbGVkIGFnYWluc3QgdGhlIGRlZmF1bHQgYmFjayBidWZmZXIuIElmIHN1
cHBvcnQgZm9yCisgICAgLy8gZXh0ZW5kZWQgY2FudmFzIGNvbG9yIHNwYWNlcyBpcyBhZGRlZCwg
dGhpcyBjYWxsIG1pZ2h0IG5lZWQgdG8gYmUKKyAgICAvLyBhZGRlZCB0byB0aGUgb3RoZXIgdmVy
c2lvbnMuCisgICAgbWFya0NvbnRleHRDaGFuZ2VkKCk7CisgICAgdXBkYXRlQnVmZmVyc1RvQXV0
b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZlcmZ2LCBidWZmZXIsIGRyYXdidWZm
ZXIpOwogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZmkoR0NH
TGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEdDR0xmbG9hdCwgR0NHTGludCkKK3Zv
aWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJmaShHQ0dMZW51bSBidWZmZXIs
IEdDR0xpbnQgZHJhd2J1ZmZlciwgR0NHTGZsb2F0IGRlcHRoLCBHQ0dMaW50IHN0ZW5jaWwpCiB7
Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBU
SF9TVEVOQ0lMOgotICAgICAgICBpZiAoZHJhd2J1ZmZlcikgewotICAgICAgICAgICAgc3ludGhl
c2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZl
cmZ2IiwgImJ1ZmZlciBpbmRleCBtdXN0IGJlIDAiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAg
ICAgICAgfQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyZmksIHJlcXVpcmVzIGds
My5oIGFuZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpDT0xPUjoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKLSAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRo
ZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFy
QnVmZmVyZnYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUgREVQVEhfU1RFTkNJTCIpOwotICAg
ICAgICBicmVhazsKLSAgICB9CisgICAgaWYgKGlzQ29udGV4dExvc3RPclBlbmRpbmcoKSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgbV9jb250ZXh0LT5jbGVhckJ1ZmZlcmZpKGJ1ZmZlciwgZHJh
d2J1ZmZlciwgZGVwdGgsIHN0ZW5jaWwpOworICAgIC8vIFRoaXMgbWlnaHQgaGF2ZSBiZWVuIHVz
ZWQgdG8gY2xlYXIgdGhlIGRlcHRoIGFuZCBzdGVuY2lsIGJ1ZmZlcnMKKyAgICAvLyBvZiB0aGUg
ZGVmYXVsdCBiYWNrIGJ1ZmZlci4KKyAgICBtYXJrQ29udGV4dENoYW5nZWQoKTsKKyAgICB1cGRh
dGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVmZmVyZmksIGJ1
ZmZlciwgZHJhd2J1ZmZlcik7CiB9CiAKIFJlZlB0cjxXZWJHTFF1ZXJ5PiBXZWJHTDJSZW5kZXJp
bmdDb250ZXh0OjpjcmVhdGVRdWVyeSgpCkBAIC0zMzA3LDYgKzMyNjMsMzUgQEAgYm9vbCBXZWJH
TDJSZW5kZXJpbmdDb250ZXh0Ojp2YWxpZGF0ZUNhcGFiaWxpdHkoY29uc3QgY2hhciogZnVuY3Rp
b25OYW1lLCBHQ0dMZW4KICAgICB9CiB9CiAKK2Jvb2wgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6
dmFsaWRhdGVDbGVhckJ1ZmZlcihjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGJ1
ZmZlciwgc2l6ZV90IHNpemUsIEdDR0x1aW50IHNyY09mZnNldCkKK3sKKyAgICBDaGVja2VkPEdM
c2l6ZWksIFJlY29yZE92ZXJmbG93PiBjaGVja2VkU2l6ZShzaXplKTsKKyAgICBjaGVja2VkU2l6
ZSAtPSBzcmNPZmZzZXQ7CisgICAgaWYgKGNoZWNrZWRTaXplLmhhc092ZXJmbG93ZWQoKSkgewor
ICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxV
RSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0Iik7CisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgc3dpdGNoIChidWZmZXIpIHsKKyAgICBjYXNl
IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUjoKKyAgICAgICAgaWYgKGNoZWNrZWRTaXplLnVuc2Fm
ZUdldCgpIDwgNCkgeworICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250
ZXh0R0w6OklOVkFMSURfVkFMVUUsIGZ1bmN0aW9uTmFtZSwgImludmFsaWQgYXJyYXkgc2l6ZSAv
IHNyY09mZnNldCIpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICB9CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIOgorICAgIGNhc2Ug
R3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUw6CisgICAgICAgIGlmIChjaGVja2VkU2l6ZS51bnNh
ZmVHZXQoKSA8IDEpIHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29u
dGV4dEdMOjpJTlZBTElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGFycmF5IHNpemUg
LyBzcmNPZmZzZXQiKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFw
aGljc0NvbnRleHRHTDo6SU5WQUxJRF9FTlVNLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGJ1ZmZl
ciIpOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQor
CiB2b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnVuaWZvcm0xZnYoV2ViR0xVbmlmb3JtTG9j
YXRpb24qIGxvY2F0aW9uLCBGbG9hdDMyTGlzdCBkYXRhLCBHTHVpbnQgc3JjT2Zmc2V0LCBHTHVp
bnQgc3JjTGVuZ3RoKQogewogICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkgfHwgIXZh
bGlkYXRlVW5pZm9ybVBhcmFtZXRlcnMoInVuaWZvcm0xZnYiLCBsb2NhdGlvbiwgZGF0YSwgMSwg
c3JjT2Zmc2V0LCBzcmNMZW5ndGgpKQpAQCAtMzQ2NCw2ICszNDQ5LDc0IEBAIHZvaWQgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6dW5jYWNoZURlbGV0ZWRCdWZmZXIoV2ViR0xCdWZmZXIqIGJ1ZmZl
cikKIAogI3VuZGVmIFJFTU9WRV9CVUZGRVJfRlJPTV9CSU5ESU5HCiAKK3ZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6dXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVy
IGNhbGxlciwgR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIpCit7CisgICAgLy8g
VGhpcyBtZXRob2QgbWFrZXMgc3VyZSB0aGF0IHdlIGRvbid0IGF1dG8tY2xlYXIgYW55IGJ1ZmZl
cnMgd2hpY2ggdGhlCisgICAgLy8gdXNlciBoYXMgbWFudWFsbHkgY2xlYXJlZCB1c2luZyB0aGUg
bmV3IEVTIDMuMCBjbGVhckJ1ZmZlciogQVBJcy4KKworICAgIC8vIElmIHRoZSB1c2VyIGhhcyBh
IGZyYW1lYnVmZmVyIGJvdW5kLCBkb24ndCB1cGRhdGUgdGhlIGF1dG8tY2xlYXIKKyAgICAvLyBz
dGF0ZSBvZiB0aGUgYnVpbHQtaW4gYmFjayBidWZmZXIuCisgICAgaWYgKG1fZnJhbWVidWZmZXJC
aW5kaW5nKQorICAgICAgICByZXR1cm47CisKKyAgICAvLyBJZiB0aGUgc2Npc3NvciB0ZXN0IGlz
IG9uLCBhc3N1bWUgdGhhdCB3ZSBjYW4ndCBzaG9ydC1jaXJjdWl0CisgICAgLy8gdGhlc2UgY2xl
YXJzLgorICAgIGlmIChtX3NjaXNzb3JFbmFibGVkKQorICAgICAgICByZXR1cm47CisKKyAgICAv
LyBUaGUgZGVmYXVsdCBiYWNrIGJ1ZmZlciBvbmx5IGhhcyBvbmUgY29sb3IgYXR0YWNobWVudC4K
KyAgICBpZiAoZHJhd2J1ZmZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gSWYgdGhlIGNh
bGwgdG8gdGhlIGRyaXZlciBnZW5lcmF0ZWQgYW4gZXJyb3IsIGRvbid0IGNsYWltIHRoYXQKKyAg
ICAvLyB3ZSd2ZSBhdXRvLWNsZWFyZWQgdGhlc2UgYnVmZmVycy4gVGhlIGVhcmx5IHJldHVybnMg
YmVsb3cgYXJlIGZvcgorICAgIC8vIGNhc2VzIHdoZXJlIGVycm9ycyB3aWxsIGJlIHByb2R1Y2Vk
LgorCisgICAgLy8gVGhlIGRlZmF1bHQgYmFjayBidWZmZXIgaXMgY3VycmVudGx5IGFsd2F5cyBS
R0IoQSk4LCB3aGljaAorICAgIC8vIHJlc3RyaWN0cyB0aGUgdmFyaWFudHMgd2hpY2ggY2FuIGxl
Z2FsbHkgYmUgdXNlZCB0byBjbGVhciB0aGUKKyAgICAvLyBjb2xvciBidWZmZXIuIFRPRE8oY3Ji
dWcuY29tLzgyOTYzMik6IHRoaXMgbmVlZHMgdG8gYmUKKyAgICAvLyBnZW5lcmFsaXplZC4KKyAg
ICBzd2l0Y2ggKGNhbGxlcikgeworICAgIGNhc2UgQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVm
ZmVyaXY6CisgICAgICAgIGlmIChidWZmZXIgIT0gR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUwp
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2xlYXJCdWZm
ZXJDYWxsZXI6OkNsZWFyQnVmZmVyZnY6CisgICAgICAgIGlmIChidWZmZXIgIT0gR3JhcGhpY3ND
b250ZXh0R0w6OkNPTE9SICYmIGJ1ZmZlciAhPSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEgpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgQ2xlYXJCdWZmZXJD
YWxsZXI6OkNsZWFyQnVmZmVydWl2OgorICAgICAgICByZXR1cm47CisgICAgY2FzZSBDbGVhckJ1
ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJmaToKKyAgICAgICAgaWYgKGJ1ZmZlciAhPSBHcmFwaGlj
c0NvbnRleHRHTDo6REVQVEhfU1RFTkNJTCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorCisgICAgR0NHTGJpdGZpZWxkIGJ1ZmZlcnNUb0NsZWFyID0gMDsKKwor
ICAgIC8vIFR1cm4gaXQgaW50byBhIGJpdGZpZWxkIGFuZCBtYXNrIGl0IG9mZi4KKyAgICBzd2l0
Y2ggKGJ1ZmZlcikgeworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SOgorICAgICAg
ICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUl9CVUZGRVJfQklUOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKKyAgICAg
ICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfQlVGRkVSX0JJVDsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTDoKKyAg
ICAgICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9CVUZGRVJf
QklUOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9T
VEVOQ0lMOgorICAgICAgICBidWZmZXJzVG9DbGVhciA9IEdyYXBoaWNzQ29udGV4dEdMOjpERVBU
SF9CVUZGRVJfQklUIHwgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfQlVGRkVSX0JJVDsKKyAg
ICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgLy8gSWxsZWdhbCB2YWx1ZS4KKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fY29udGV4dC0+c2V0QnVmZmVyc1RvQXV0b0Ns
ZWFyKG1fY29udGV4dC0+Z2V0QnVmZmVyc1RvQXV0b0NsZWFyKCkgJiAofmJ1ZmZlcnNUb0NsZWFy
KSk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJH
TCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmlu
Z0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0Nv
bnRleHQuaAppbmRleCAwNDIwZDc3NjYxOGU3MmUzOWUxZjg1NTY4N2I1ZTMzNDU4YzVkODhhLi5j
MTZkNmE3YmM0NDhjNDEzZDRlY2RlNWY3YTkyZjliNDVmNDFjZDA2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oCkBAIC0yOTEs
NiArMjkxLDcgQEAgcHJpdmF0ZToKICAgICBib29sIHZhbGlkYXRlSW5kZXhBcnJheUNvbnNlcnZh
dGl2ZShHQ0dMZW51bSB0eXBlLCB1bnNpZ25lZCYgbnVtRWxlbWVudHNSZXF1aXJlZCkgZmluYWw7
CiAgICAgYm9vbCB2YWxpZGF0ZUJsZW5kRXF1YXRpb24oY29uc3QgY2hhciogZnVuY3Rpb25OYW1l
LCBHQ0dMZW51bSBtb2RlKSBmaW5hbDsKICAgICBib29sIHZhbGlkYXRlQ2FwYWJpbGl0eShjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGNhcCkgZmluYWw7CisgICAgYm9vbCB2YWxp
ZGF0ZUNsZWFyQnVmZmVyKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwgR0NHTGVudW0gYnVmZmVy
LCBzaXplX3QsIEdDR0x1aW50IHNyY09mZnNldCk7CiAgICAgYm9vbCB2YWxpZGF0ZUZyYW1lYnVm
ZmVyVGFyZ2V0KEdDR0xlbnVtIHRhcmdldCkgZmluYWw7CiAgICAgV2ViR0xGcmFtZWJ1ZmZlciog
Z2V0RnJhbWVidWZmZXJCaW5kaW5nKEdDR0xlbnVtIHRhcmdldCkgZmluYWw7CiAgICAgV2ViR0xG
cmFtZWJ1ZmZlciogZ2V0UmVhZEZyYW1lYnVmZmVyQmluZGluZygpIGZpbmFsOwpAQCAtMzE3LDYg
KzMxOCwxNCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCB1bmNhY2hlRGVsZXRlZEJ1ZmZlcihXZWJH
TEJ1ZmZlciopIGZpbmFsOwogCisgICAgZW51bSBjbGFzcyBDbGVhckJ1ZmZlckNhbGxlciA6IHVp
bnQ4X3QgeworICAgICAgICBDbGVhckJ1ZmZlcml2LAorICAgICAgICBDbGVhckJ1ZmZlcnVpdiwK
KyAgICAgICAgQ2xlYXJCdWZmZXJmdiwKKyAgICAgICAgQ2xlYXJCdWZmZXJmaQorICAgIH07Cisg
ICAgdm9pZCB1cGRhdGVCdWZmZXJzVG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXIsIEdDR0xl
bnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyKTsKKwogICAgIFJlZlB0cjxXZWJHTEZyYW1l
YnVmZmVyPiBtX3JlYWRGcmFtZWJ1ZmZlckJpbmRpbmc7CiAgICAgUmVmUHRyPFdlYkdMVHJhbnNm
b3JtRmVlZGJhY2s+IG1fYm91bmRUcmFuc2Zvcm1GZWVkYmFjazsKICAgICBSZWZQdHI8V2ViR0xU
cmFuc2Zvcm1GZWVkYmFjaz4gbV9kZWZhdWx0VHJhbnNmb3JtRmVlZGJhY2s7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMRnJhbWVidWZmZXIuY3BwCmluZGV4IDRiYzkzZWJi
ZWYwZDU4ZmYyNDMzNjNjNTZjOTY3NjEwM2U3YjVlMWMuLjU0M2JkNzdmYTBmYzYxZjYyZGM1MGEw
MGI2MWZlYmRjNmU2MTBhMTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFz
L1dlYkdMRnJhbWVidWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dl
YkdMRnJhbWVidWZmZXIuY3BwCkBAIC02MjEsMzIgKzYyMSwzMiBAQCB2b2lkIFdlYkdMRnJhbWVi
dWZmZXI6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQ0dMZW51bT4mIGJ1ZnMpCiAKIHZvaWQg
V2ViR0xGcmFtZWJ1ZmZlcjo6ZHJhd0J1ZmZlcnNJZk5lY2Vzc2FyeShib29sIGZvcmNlKQogewot
I2lmIEVOQUJMRShXRUJHTDIpCi0gICAgLy8gRklYTUU6IFRoZSBsb2dpYyBoZXJlIHNlZW1zIHdy
b25nLiBJZiB3ZSBkb24ndCBoYXZlIFdlYkdMIDIgZW5hYmxlZCBhdCBhbGwsIHRoZW4KLSAgICAv
LyB3ZSBza2lwIHRoZSBtX3dlYmdsRHJhd0J1ZmZlcnMgY2hlY2suIEJ1dCBpZiB3ZSBkbyBoYXZl
IFdlYkdMIDIgZW5hYmxlZCwgdGhlbiB3ZQotICAgIC8vIHBlcmZvcm0gdGhpcyBjaGVjaywgZm9y
IFdlYkdMIDEgY29udGV4dHMgb25seS4KLSAgICBpZiAoIWNvbnRleHQoKS0+bV93ZWJnbERyYXdC
dWZmZXJzICYmICFjb250ZXh0KCktPmlzV2ViR0wyKCkpCi0gICAgICAgIHJldHVybjsKLSNlbmRp
ZgotICAgIGJvb2wgcmVzZXQgPSBmb3JjZTsKLSAgICAvLyBUaGlzIGZpbHRlcmluZyB3b3JrcyBh
cm91bmQgZ3JhcGhpY3MgZHJpdmVyIGJ1Z3Mgb24gTWFjIE9TIFguCi0gICAgZm9yIChzaXplX3Qg
aSA9IDA7IGkgPCBtX2RyYXdCdWZmZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmIChtX2Ry
YXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29udGV4dEdMOjpOT05FICYmIGdldEF0dGFjaG1lbnQo
bV9kcmF3QnVmZmVyc1tpXSkpIHsKLSAgICAgICAgICAgIGlmIChtX2ZpbHRlcmVkRHJhd0J1ZmZl
cnNbaV0gIT0gbV9kcmF3QnVmZmVyc1tpXSkgewotICAgICAgICAgICAgICAgIG1fZmlsdGVyZWRE
cmF3QnVmZmVyc1tpXSA9IG1fZHJhd0J1ZmZlcnNbaV07Ci0gICAgICAgICAgICAgICAgcmVzZXQg
PSB0cnVlOworICAgIGlmIChjb250ZXh0KCktPmlzV2ViR0wyKCkgfHwgY29udGV4dCgpLT5tX3dl
YmdsRHJhd0J1ZmZlcnMpIHsKKyAgICAgICAgYm9vbCByZXNldCA9IGZvcmNlOworICAgICAgICAv
LyBUaGlzIGZpbHRlcmluZyB3b3JrcyBhcm91bmQgZ3JhcGhpY3MgZHJpdmVyIGJ1Z3Mgb24gbWFj
T1MuCisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbV9kcmF3QnVmZmVycy5zaXplKCk7
ICsraSkgeworICAgICAgICAgICAgaWYgKG1fZHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3NDb250
ZXh0R0w6Ok5PTkUgJiYgZ2V0QXR0YWNobWVudChtX2RyYXdCdWZmZXJzW2ldKSkgeworICAgICAg
ICAgICAgICAgIGlmIChtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gIT0gbV9kcmF3QnVmZmVyc1tp
XSkgeworICAgICAgICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gPSBtX2Ry
YXdCdWZmZXJzW2ldOworICAgICAgICAgICAgICAgICAgICByZXNldCA9IHRydWU7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICBpZiAobV9m
aWx0ZXJlZERyYXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29udGV4dEdMOjpOT05FKSB7CisgICAg
ICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSA9IEdyYXBoaWNzQ29udGV4
dEdMOjpOT05FOworICAgICAgICAgICAgICAgICAgICByZXNldCA9IHRydWU7CisgICAgICAgICAg
ICAgICAgfQogICAgICAgICAgICAgfQotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgaWYg
KG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSAhPSBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORSkgewot
ICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVyc1tpXSA9IEdyYXBoaWNzQ29udGV4
dEdMOjpOT05FOwotICAgICAgICAgICAgICAgIHJlc2V0ID0gdHJ1ZTsKKyAgICAgICAgfQorICAg
ICAgICBpZiAocmVzZXQpIHsKKyAgICAgICAgICAgIGlmIChjb250ZXh0KCktPmlzV2ViR0wyKCkp
IHsKKyAgICAgICAgICAgICAgICBjb250ZXh0KCktPmdyYXBoaWNzQ29udGV4dEdMKCktPmRyYXdC
dWZmZXJzKAorICAgICAgICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnMuc2l6ZSgp
LCBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnMuZGF0YSgpKTsKKyAgICAgICAgICAgIH0gZWxzZSB7Cisg
ICAgICAgICAgICAgICAgY29udGV4dCgpLT5ncmFwaGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNp
b25zKCkuZHJhd0J1ZmZlcnNFWFQoCisgICAgICAgICAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3
QnVmZmVycy5zaXplKCksIG1fZmlsdGVyZWREcmF3QnVmZmVycy5kYXRhKCkpOwogICAgICAgICAg
ICAgfQogICAgICAgICB9CiAgICAgfQotICAgIGlmIChyZXNldCkgewotICAgICAgICBjb250ZXh0
KCktPmdyYXBoaWNzQ29udGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5kcmF3QnVmZmVyc0VYVCgK
LSAgICAgICAgICAgIG1fZmlsdGVyZWREcmF3QnVmZmVycy5zaXplKCksIG1fZmlsdGVyZWREcmF3
QnVmZmVycy5kYXRhKCkpOwotICAgIH0KIH0KIAogR0NHTGVudW0gV2ViR0xGcmFtZWJ1ZmZlcjo6
Z2V0RHJhd0J1ZmZlcihHQ0dMZW51bSBkcmF3QnVmZmVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAppbmRleCA3
ZDA5YjViMmE5MjAyYzQyZTM4YTBhODc1MjQyMTJjMjFjMWM0ZTk5Li5kMWQzMTdjYjY2Mjk2MjE2
MjcwZmE2ZTRhYTM4NDNiNDZmMjRkMmY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcApAQCAtMTEwMCwxMyAr
MTEwMCwxNyBAQCBib29sIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFySWZDb21wb3Np
dGVkKEdDR0xiaXRmaWVsZCBtYXNrKQogICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkp
CiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGlmICghbV9jb250ZXh0LT5sYXllckNvbXBv
c2l0ZWQoKSB8fCBtX2xheWVyQ2xlYXJlZAotICAgICAgICB8fCBtX2F0dHJpYnV0ZXMucHJlc2Vy
dmVEcmF3aW5nQnVmZmVyIHx8IChtYXNrICYmIG1fZnJhbWVidWZmZXJCaW5kaW5nKQotICAgICAg
ICB8fCBtX3ByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3RvcikKKyAgICBpZiAoIW1fY29udGV4
dC0+bGF5ZXJDb21wb3NpdGVkKCkgfHwgbV9sYXllckNsZWFyZWQgfHwgbV9wcmV2ZW50QnVmZmVy
Q2xlYXJGb3JJbnNwZWN0b3IpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgIGF1dG8gY29u
dGV4dEF0dHJpYnV0ZXMgPSBnZXRDb250ZXh0QXR0cmlidXRlcygpOwotICAgIEFTU0VSVChjb250
ZXh0QXR0cmlidXRlcyk7CisgICAgR0NHTGJpdGZpZWxkIGJ1ZmZlcnNOZWVkaW5nQ2xlYXJpbmcg
PSBtX2NvbnRleHQtPmdldEJ1ZmZlcnNUb0F1dG9DbGVhcigpOworCisgICAgaWYgKCFidWZmZXJz
TmVlZGluZ0NsZWFyaW5nIHx8IChtYXNrICYmIG1fZnJhbWVidWZmZXJCaW5kaW5nKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gVXNlIHRoZSB1bmRlcmx5aW5nIEdyYXBoaWNzQ29u
dGV4dDNEJ3MgYXR0cmlidXRlcyB0byB0YWtlIGludG8KKyAgICAvLyBhY2NvdW50IChmb3IgZXhh
bXBsZSkgcGFja2VkIGRlcHRoL3N0ZW5jaWwgYnVmZmVycy4KKyAgICBhdXRvIGNvbnRleHRBdHRy
aWJ1dGVzID0gbV9jb250ZXh0LT5jb250ZXh0QXR0cmlidXRlcygpOwogCiAgICAgLy8gRGV0ZXJt
aW5lIGlmIGl0J3MgcG9zc2libGUgdG8gY29tYmluZSB0aGUgY2xlYXIgdGhlIHVzZXIgYXNrZWQg
Zm9yIGFuZCB0aGlzIGNsZWFyLgogICAgIGJvb2wgY29tYmluZWRDbGVhciA9IG1hc2sgJiYgIW1f
c2Npc3NvckVuYWJsZWQ7CkBAIC0xMTIxLDEzICsxMTI1LDEzIEBAIGJvb2wgV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6Y2xlYXJJZkNvbXBvc2l0ZWQoR0NHTGJpdGZpZWxkIG1hc2spCiAgICAg
ICAgIG1fY29udGV4dC0+Y2xlYXJDb2xvcigwLCAwLCAwLCAwKTsKICAgICBtX2NvbnRleHQtPmNv
bG9yTWFzayh0cnVlLCB0cnVlLCB0cnVlLCB0cnVlKTsKICAgICBHQ0dMYml0ZmllbGQgY2xlYXJN
YXNrID0gR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SX0JVRkZFUl9CSVQ7Ci0gICAgaWYgKGNvbnRl
eHRBdHRyaWJ1dGVzLT5kZXB0aCkgeworICAgIGlmIChjb250ZXh0QXR0cmlidXRlcy5kZXB0aCkg
ewogICAgICAgICBpZiAoIWNvbWJpbmVkQ2xlYXIgfHwgIW1fZGVwdGhNYXNrIHx8ICEobWFzayAm
IEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9CVUZGRVJfQklUKSkKICAgICAgICAgICAgIG1fY29u
dGV4dC0+Y2xlYXJEZXB0aCgxLjBmKTsKICAgICAgICAgY2xlYXJNYXNrIHw9IEdyYXBoaWNzQ29u
dGV4dEdMOjpERVBUSF9CVUZGRVJfQklUOwogICAgICAgICBtX2NvbnRleHQtPmRlcHRoTWFzayh0
cnVlKTsKICAgICB9Ci0gICAgaWYgKGNvbnRleHRBdHRyaWJ1dGVzLT5zdGVuY2lsKSB7CisgICAg
aWYgKGNvbnRleHRBdHRyaWJ1dGVzLnN0ZW5jaWwpIHsKICAgICAgICAgaWYgKGNvbWJpbmVkQ2xl
YXIgJiYgKG1hc2sgJiBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9CVUZGRVJfQklUKSkKICAg
ICAgICAgICAgIG1fY29udGV4dC0+Y2xlYXJTdGVuY2lsKG1fY2xlYXJTdGVuY2lsICYgbV9zdGVu
Y2lsTWFzayk7CiAgICAgICAgIGVsc2UKQEAgLTExMzUsMTEgKzExMzksMTUgQEAgYm9vbCBXZWJH
TFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhcklmQ29tcG9zaXRlZChHQ0dMYml0ZmllbGQgbWFz
aykKICAgICAgICAgY2xlYXJNYXNrIHw9IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JVRkZF
Ul9CSVQ7CiAgICAgICAgIG1fY29udGV4dC0+c3RlbmNpbE1hc2tTZXBhcmF0ZShHcmFwaGljc0Nv
bnRleHRHTDo6RlJPTlQsIDB4RkZGRkZGRkYpOwogICAgIH0KLSAgICAKKwogICAgIEdDR0xlbnVt
IGJpbmRpbmdQb2ludCA9IGlzV2ViR0wyKCkgPyBHcmFwaGljc0NvbnRleHRHTDo6RFJBV19GUkFN
RUJVRkZFUiA6IEdyYXBoaWNzQ29udGV4dEdMOjpGUkFNRUJVRkZFUjsKICAgICBpZiAobV9mcmFt
ZWJ1ZmZlckJpbmRpbmcpCiAgICAgICAgIG1fY29udGV4dC0+YmluZEZyYW1lYnVmZmVyKGJpbmRp
bmdQb2ludCwgMCk7Ci0gICAgbV9jb250ZXh0LT5jbGVhcihjbGVhck1hc2spOworICAgIC8vIElm
IHRoZSBXZWJHTCAyLjAgY2xlYXJCdWZmZXIgQVBJcyBhbHJlYWR5IGhhdmUgYmVlbiB1c2VkIHRv
CisgICAgLy8gc2VsZWN0aXZlbHkgY2xlYXIgc29tZSBvZiB0aGUgYnVmZmVycywgZG9uJ3QgZGVz
dHJveSB0aG9zZQorICAgIC8vIHJlc3VsdHMuCisgICAgbV9jb250ZXh0LT5jbGVhcihjbGVhck1h
c2sgJiBidWZmZXJzTmVlZGluZ0NsZWFyaW5nKTsKKyAgICBtX2NvbnRleHQtPnNldEJ1ZmZlcnNU
b0F1dG9DbGVhcigwKTsKIAogICAgIHJlc3RvcmVTdGF0ZUFmdGVyQ2xlYXIoKTsKICAgICBpZiAo
bV9mcmFtZWJ1ZmZlckJpbmRpbmcpCkBAIC0zNjg4LDYgKzM2OTYsMTQgQEAgYm9vbCBXZWJHTFJl
bmRlcmluZ0NvbnRleHRCYXNlOjpleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJiBuYW1l
KQogICAgIHJldHVybiBmYWxzZTsKIH0KIAordm9pZCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNl
OjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKQoreworICAgIEFTU0VSVCghbV9hdHRyaWJ1
dGVzLnByZXNlcnZlRHJhd2luZ0J1ZmZlcik7CisgICAgbV9hdHRyaWJ1dGVzLnByZXNlcnZlRHJh
d2luZ0J1ZmZlciA9IHRydWU7CisgICAgLy8gTXVzdCBzZW5kIHRoaXMgbm90aWZpY2F0aW9uIGRv
d24gdG8gdGhlIEdyYXBoaWNzQ29udGV4dEdMIGFzIHdlbGwuCisgICAgbV9jb250ZXh0LT5lbmFi
bGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsKK30KKwogR0NHTGJvb2xlYW4gV2ViR0xSZW5kZXJp
bmdDb250ZXh0QmFzZTo6aXNCdWZmZXIoV2ViR0xCdWZmZXIqIGJ1ZmZlcikKIHsKICAgICBpZiAo
IWJ1ZmZlciB8fCBpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKaW5kZXggOWMw
OWEwNTQ2ZjI4YzRiZjM2N2RhNmU5YWVjMTg0OWRlODRkN2IzZi4uZjEwN2ZhYWE4OTMwZTFhMmNm
ZDUxM2ZiOTBlMTE4NTMyNjc4MzcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaApAQCAtMjE1LDcgKzIxNSwxMCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBleHRlbnNpb25Jc0VuYWJsZWQoY29uc3QgU3RyaW5nJik7CiAK
ICAgICBib29sIGlzUHJlc2VydmluZ0RyYXdpbmdCdWZmZXIoKSBjb25zdCB7IHJldHVybiBtX2F0
dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5nQnVmZmVyOyB9Ci0gICAgdm9pZCBzZXRQcmVzZXJ2ZURy
YXdpbmdCdWZmZXIoYm9vbCB2YWx1ZSkgeyBtX2F0dHJpYnV0ZXMucHJlc2VydmVEcmF3aW5nQnVm
ZmVyID0gdmFsdWU7IH0KKyAgICAvLyBDb25jZXNzaW9uIHRvIGNhbnZhcyBjYXB0dXJlIEFQSSwg
d2hpY2ggbXVzdCBkeW5hbWljYWxseSBlbmFibGUKKyAgICAvLyBwcmVzZXJ2ZURyYXdpbmdCdWZm
ZXIuIFRoaXMgY2FuIG9ubHkgYmUgY2FsbGVkIG9uY2UsIHdoZW4KKyAgICAvLyBpc1ByZXNlcnZp
bmdEcmF3aW5nQnVmZmVyKCkgcmV0dXJucyBmYWxzZS4KKyAgICB2b2lkIGVuYWJsZVByZXNlcnZl
RHJhd2luZ0J1ZmZlcigpOwogCiAgICAgYm9vbCBwcmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNwZWN0
b3IoKSBjb25zdCB7IHJldHVybiBtX3ByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3RvcjsgfQog
ICAgIHZvaWQgc2V0UHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9yKGJvb2wgdmFsdWUpIHsg
bV9wcmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNwZWN0b3IgPSB2YWx1ZTsgfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCmlu
ZGV4IDlhNzQyNjllNjVmN2JlMzI0OTE1NzAzYjM1ZDQ5ZWE3MzRlZGJjM2QuLjE2Y2MxMGM3N2Uy
ZjY2ZGUwYWE3OTgwMzliNzgzNjRlYTk2ZGY4NzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKQEAgLTQwLDYgKzQw
LDEzIEBAIEdyYXBoaWNzQ29udGV4dEdMOjpHcmFwaGljc0NvbnRleHRHTChHcmFwaGljc0NvbnRl
eHRHTEF0dHJpYnV0ZXMgYXR0cnMsIERlc3RpbmF0CiB7CiB9CiAKK3ZvaWQgR3JhcGhpY3NDb250
ZXh0R0w6OmVuYWJsZVByZXNlcnZlRHJhd2luZ0J1ZmZlcigpCit7CisgICAgLy8gQ2FudmFzIGNh
cHR1cmUgc2hvdWxkIG5vdCBjYWxsIHRoaXMgdW5sZXNzIG5lY2Vzc2FyeS4KKyAgICBBU1NFUlQo
IW1fYXR0cnMucHJlc2VydmVEcmF3aW5nQnVmZmVyKTsKKyAgICBtX2F0dHJzLnByZXNlcnZlRHJh
d2luZ0J1ZmZlciA9IHRydWU7Cit9CisKIHVuc2lnbmVkIEdyYXBoaWNzQ29udGV4dEdMOjpnZXRD
bGVhckJpdHNCeUF0dGFjaG1lbnRUeXBlKEdDR0xlbnVtIGF0dGFjaG1lbnQpCiB7CiAgICAgc3dp
dGNoIChhdHRhY2htZW50KSB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuaAppbmRleCA3YjY3YjY3OTExYWM4Nzg3Y2FiNmU5MDVm
YmI5ZjAzMGIxOTM0NDRlLi4xOWVhNzE5MzY1Yzg1ZmE2MDNmYTE3ZTdkYjdhYTIyNDg5YWE3ODg1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHRHTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNz
Q29udGV4dEdMLmgKQEAgLTExMTYsNiArMTExNiwxMCBAQCBwdWJsaWM6CiAKICAgICBHcmFwaGlj
c0NvbnRleHRHTEF0dHJpYnV0ZXMgY29udGV4dEF0dHJpYnV0ZXMoKSBjb25zdCB7IHJldHVybiBt
X2F0dHJzOyB9CiAgICAgdm9pZCBzZXRDb250ZXh0QXR0cmlidXRlcyhjb25zdCBHcmFwaGljc0Nv
bnRleHRHTEF0dHJpYnV0ZXMmIGF0dHJzKSB7IG1fYXR0cnMgPSBhdHRyczsgfQorICAgIC8vIENv
bmNlc3Npb24gdG8gQ2FudmFzIGNhcHR1cmVTdHJlYW0sIHdoaWNoIG5lZWRzIHRvIGR5bmFtaWNh
bGx5IHNldAorICAgIC8vIHByZXNlcnZlRHJhd2luZ0J1ZmZlciB0byB0cnVlIGluIG9yZGVyIHRv
IGF2b2lkIGltcGxpY2l0IGNsZWFycy4KKyAgICAvLyBJbXBsZW1lbnRhdGlvbnMgZ2VuZXJhbGx5
IGRvIG5vdCBzdXBwb3J0IHRvZ2dsaW5nIHRoaXMgYml0IGFyYml0cmFyaWx5LgorICAgIHZpcnR1
YWwgdm9pZCBlbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsKIAogICAgIC8vIFZlcnRleEFy
cmF5T2plY3QgY2FsbHMKICAgICB2aXJ0dWFsIFBsYXRmb3JtR0xPYmplY3QgY3JlYXRlVmVydGV4
QXJyYXkoKSA9IDA7CkBAIC0xMTg2LDcgKzExOTAsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IHZvaWQgZHJhd1JhbmdlRWxlbWVudHMoR0NHTGVudW0gbW9kZSwgR0NHTHVpbnQgc3RhcnQsIEdD
R0x1aW50IGVuZCwgR0NHTHNpemVpIGNvdW50LCBHQ0dMZW51bSB0eXBlLCBHQ0dMaW50cHRyIG9m
ZnNldCkgPSAwOwogCi0gICAgdmlydHVhbCB2b2lkIGRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxH
Q0dMZW51bT4mIGJ1ZmZlcnMpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZHJhd0J1ZmZlcnMoR0NH
THNpemVpIG4sIGNvbnN0IEdDR0xlbnVtKiBidWZzKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGNs
ZWFyQnVmZmVyaXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdD
R0xpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSA9IDA7CiAgICAgdmlydHVhbCB2b2lk
IGNsZWFyQnVmZmVydWl2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25z
dCBHQ0dMdWludCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpID0gMDsKICAgICB2aXJ0dWFs
IHZvaWQgY2xlYXJCdWZmZXJmdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwg
Y29uc3QgR0NHTGZsb2F0KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhpY3NDb250
ZXh0R0xBTkdMRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9H
cmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcAppbmRleCBjYzEwYzFlMDQyMDI1MzA1NTM0NGQ1ZjAw
ZTIxYjdkM2E4OGRlNGNkLi4yOTRkMTE5YzBiYzBlYWJhZGU5ZTkxMGFhMTZiNjA3MDhjY2IzNWZl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hbmdsZS9HcmFw
aGljc0NvbnRleHRHTEFOR0xFLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9hbmdsZS9HcmFwaGljc0NvbnRleHRHTEFOR0xFLmNwcApAQCAtMTg5OSw2ICsxODk5LDcg
QEAgdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0NvbnRleHRDaGFuZ2VkKCkKIHZv
aWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQoKQogewogICAg
IG1fbGF5ZXJDb21wb3NpdGVkID0gdHJ1ZTsKKyAgICByZXNldEJ1ZmZlcnNUb0F1dG9DbGVhcigp
OwogCiAgICAgZm9yIChhdXRvKiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9jbGllbnRzKSkKICAg
ICAgICAgY2xpZW50LT5kaWRDb21wb3NpdGUoKTsKQEAgLTIzMDcsNDEgKzIzMDgsMjkgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd1JhbmdlRWxlbWVudHMoR0NHTGVudW0gbW9k
ZSwgR0NHTHVpbnQgc3RhcnQsIEcKICAgICBnbDo6RHJhd1JhbmdlRWxlbWVudHMobW9kZSwgc3Rh
cnQsIGVuZCwgY291bnQsIHR5cGUsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9pZCo+KG9mZnNldCkpOwog
fQogCi12b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhjb25zdCBWZWN0
b3I8R0NHTGVudW0+JiBidWZmZXJzKQordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJh
d0J1ZmZlcnMoR0NHTHNpemVpIG4sIGNvbnN0IEdDR0xlbnVtKiBidWZzKQogewotICAgIFVOVVNF
RF9QQVJBTShidWZmZXJzKTsKKyAgICBnbDo6RHJhd0J1ZmZlcnMobiwgYnVmcyk7CiB9CiAKIHZv
aWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyaXYoR0NHTGVudW0gYnVmZmVy
LCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3Jj
T2Zmc2V0KQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShk
cmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICBVTlVTRURfUEFSQU0o
c3JjT2Zmc2V0KTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJpdihidWZmZXIsIGRyYXdidWZmZXIsIHZh
bHVlcyArIHNyY09mZnNldCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNs
ZWFyQnVmZmVydWl2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBH
Q0dMdWludCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpCiB7Ci0gICAgVU5VU0VEX1BBUkFN
KGJ1ZmZlcik7Ci0gICAgVU5VU0VEX1BBUkFNKGRyYXdidWZmZXIpOwotICAgIFVOVVNFRF9QQVJB
TSh2YWx1ZXMpOwotICAgIFVOVVNFRF9QQVJBTShzcmNPZmZzZXQpOworICAgIGdsOjpDbGVhckJ1
ZmZlcnVpdihidWZmZXIsIGRyYXdidWZmZXIsIHZhbHVlcyArIHNyY09mZnNldCk7CiB9CiAKIHZv
aWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVmZmVy
LCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xmbG9hdCogdmFsdWVzLCBHQ0dMdWludCBz
cmNPZmZzZXQpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcik7Ci0gICAgVU5VU0VEX1BBUkFN
KGRyYXdidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTSh2YWx1ZXMpOwotICAgIFVOVVNFRF9QQVJB
TShzcmNPZmZzZXQpOworICAgIGdsOjpDbGVhckJ1ZmZlcmZ2KGJ1ZmZlciwgZHJhd2J1ZmZlciwg
dmFsdWVzICsgc3JjT2Zmc2V0KTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
Y2xlYXJCdWZmZXJmaShHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgR0NHTGZs
b2F0IGRlcHRoLCBHQ0dMaW50IHN0ZW5jaWwpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcik7
Ci0gICAgVU5VU0VEX1BBUkFNKGRyYXdidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkZXB0aCk7
Ci0gICAgVU5VU0VEX1BBUkFNKHN0ZW5jaWwpOworICAgIGdsOjpDbGVhckJ1ZmZlcmZpKGJ1ZmZl
ciwgZHJhd2J1ZmZlciwgZGVwdGgsIHN0ZW5jaWwpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpkZWxldGVRdWVyeShQbGF0Zm9ybUdMT2JqZWN0IHF1ZXJ5KQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4
dEdMT3BlbkdMLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTC5jcHAKaW5kZXggMzNkYjk4YmE1N2Y3Mzc4YmZiYTNiZjJm
MTJhOTBlNDRhODM0NWUxZC4uMmMwYTY2NzFhMjZlNDE3YjBmZjY3MWU1N2UxM2Y0OWZjZDVjZmYx
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dEdMT3BlbkdMLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwCkBAIC0yNzEsNiArMjcx
LDQyIEBAIEdyYXBoaWNzQ29udGV4dEdMOjpEYXRhRm9ybWF0IGdldERhdGFGb3JtYXQoR0NHTGVu
dW0gZGVzdGluYXRpb25Gb3JtYXQsIEdDR0xlbnVtCiAKIH0gLy8gYW5vbnltb3VzIG5hbWVzcGFj
ZQogCit2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpyZXNldEJ1ZmZlcnNUb0F1dG9DbGVh
cigpCit7CisgICAgR0NHTHVpbnQgYnVmZmVycyA9IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUl9C
VUZGRVJfQklUOworICAgIC8vIFRoZSBHcmFwaGljc0NvbnRleHRHTCdzIGF0dHJpYnV0ZXMgKGFz
IG9wcG9zZWQgdG8KKyAgICAvLyBXZWJHTFJlbmRlcmluZ0NvbnRleHQncykgaW5kaWNhdGUgd2hl
dGhlciB0aGVyZSBpcyBhbgorICAgIC8vIGltcGxpY2l0bHktYWxsb2NhdGVkIHN0ZW5jaWwgYnVm
ZmVyLCBmb3IgZXhhbXBsZS4KKyAgICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsK
KyAgICBpZiAoYXR0cnMuZGVwdGgpCisgICAgICAgIGJ1ZmZlcnMgfD0gR3JhcGhpY3NDb250ZXh0
R0w6OkRFUFRIX0JVRkZFUl9CSVQ7CisgICAgaWYgKGF0dHJzLnN0ZW5jaWwpCisgICAgICAgIGJ1
ZmZlcnMgfD0gR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfQlVGRkVSX0JJVDsKKyAgICBzZXRC
dWZmZXJzVG9BdXRvQ2xlYXIoYnVmZmVycyk7Cit9CisKK3ZvaWQgR3JhcGhpY3NDb250ZXh0R0xP
cGVuR0w6OnNldEJ1ZmZlcnNUb0F1dG9DbGVhcihHQ0dMYml0ZmllbGQgYnVmZmVycykKK3sKKyAg
ICBhdXRvIGF0dHJzID0gY29udGV4dEF0dHJpYnV0ZXMoKTsKKyAgICBpZiAoIWF0dHJzLnByZXNl
cnZlRHJhd2luZ0J1ZmZlcikKKyAgICAgICAgbV9idWZmZXJzVG9BdXRvQ2xlYXIgPSBidWZmZXJz
OworICAgIGVsc2UKKyAgICAgICAgQVNTRVJUKCFtX2J1ZmZlcnNUb0F1dG9DbGVhcik7Cit9CisK
K0dDR0xiaXRmaWVsZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Z2V0QnVmZmVyc1RvQXV0b0Ns
ZWFyKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9idWZmZXJzVG9BdXRvQ2xlYXI7Cit9CisKK3Zv
aWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmVuYWJsZVByZXNlcnZlRHJhd2luZ0J1ZmZlcigp
Cit7CisgICAgR3JhcGhpY3NDb250ZXh0R0w6OmVuYWJsZVByZXNlcnZlRHJhd2luZ0J1ZmZlcigp
OworICAgIC8vIEFmdGVyIGR5bmFtaWNhbGx5IHRyYW5zaXRpb25pbmcgdG8gcHJlc2VydmVEcmF3
aW5nQnVmZmVyOnRydWUKKyAgICAvLyBmb3IgY2FudmFzIGNhcHR1cmUsIGNsZWFyIG91dCBhbnkg
YnVmZmVyIGF1dG8tY2xlYXJpbmcgc3RhdGUuCisgICAgbV9idWZmZXJzVG9BdXRvQ2xlYXIgPSAw
OworfQorCiBib29sIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjp0ZXhJbWFnZTJEUmVzb3VyY2VT
YWZlKEdDR0xlbnVtIHRhcmdldCwgR0NHTGludCBsZXZlbCwgR0NHTGVudW0gaW50ZXJuYWxmb3Jt
YXQsIEdDR0xzaXplaSB3aWR0aCwgR0NHTHNpemVpIGhlaWdodCwgR0NHTGludCBib3JkZXIsIEdD
R0xlbnVtIGZvcm1hdCwgR0NHTGVudW0gdHlwZSwgR0NHTGludCB1bnBhY2tBbGlnbm1lbnQpCiB7
CiAgICAgQVNTRVJUKHVucGFja0FsaWdubWVudCA9PSAxIHx8IHVucGFja0FsaWdubWVudCA9PSAy
IHx8IHVucGFja0FsaWdubWVudCA9PSA0IHx8IHVucGFja0FsaWdubWVudCA9PSA4KTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0Nv
bnRleHRHTE9wZW5HTC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Blbmds
L0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKaW5kZXggNGUxMzFiZjgzYjY1M2ZlZjcwODFhNGRl
MjgxMmU0ZDgxMGY3YzI0MC4uNjU5ODc0ZjI0YmZkZDk4MTc5YTQ0ODcwZjM0NjM5ZDBkNGY2M2I5
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dy
YXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmgKQEAgLTQzMyw3ICs0MzMsNyBA
QCBwdWJsaWM6CiAKICAgICB2b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdD
R0x1aW50IHN0YXJ0LCBHQ0dMdWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0gdHlw
ZSwgR0NHTGludHB0ciBvZmZzZXQpIGZpbmFsOwogCi0gICAgdm9pZCBkcmF3QnVmZmVycyhjb25z
dCBWZWN0b3I8R0NHTGVudW0+JiBidWZmZXJzKSBmaW5hbDsKKyAgICB2b2lkIGRyYXdCdWZmZXJz
KEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgZmluYWw7CiAgICAgdm9pZCBjbGVh
ckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dM
aW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgZmluYWw7CiAgICAgdm9pZCBjbGVhckJ1
ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29uc3QgR0NHTHVp
bnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSBmaW5hbDsKICAgICB2b2lkIGNsZWFyQnVm
ZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xmbG9h
dCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpIGZpbmFsOwpAQCAtNTIzLDYgKzUyMywxNCBA
QCBwdWJsaWM6CiAgICAgdm9pZCBmb3JjZUNvbnRleHRMb3N0KCk7CiAgICAgdm9pZCByZWN5Y2xl
Q29udGV4dCgpOwogCisgICAgLy8gTWFpbnRlbmFuY2Ugb2YgYXV0by1jbGVhcmluZyBvZiBjb2xv
ci9kZXB0aC9zdGVuY2lsIGJ1ZmZlcnMuIFRoZQorICAgIC8vIHJlc2V0IG1ldGhvZCBpcyBwcmVz
ZW50IHRvIGtlZXAgY2FsbGluZyBjb2RlIHNpbXBsZXIsIHNvIGl0CisgICAgLy8gZG9lc24ndCBo
YXZlIHRvIGtub3cgd2hpY2ggYnVmZmVycyB3ZXJlIGFsbG9jYXRlZC4KKyAgICB2b2lkIHJlc2V0
QnVmZmVyc1RvQXV0b0NsZWFyKCk7CisgICAgdm9pZCBzZXRCdWZmZXJzVG9BdXRvQ2xlYXIoR0NH
TGJpdGZpZWxkKTsKKyAgICBHQ0dMYml0ZmllbGQgZ2V0QnVmZmVyc1RvQXV0b0NsZWFyKCkgY29u
c3Q7CisgICAgdm9pZCBlbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKSBvdmVycmlkZTsKKwog
ICAgIHZvaWQgZGlzcGF0Y2hDb250ZXh0Q2hhbmdlZE5vdGlmaWNhdGlvbigpOwogICAgIHZvaWQg
c2ltdWxhdGVDb250ZXh0Q2hhbmdlZCgpOwogCkBAIC04NjQsNiArODcyLDExIEBAIHByaXZhdGU6
CiAgICAgR0NHTHVpbnQgbV9wcmVzZXJ2ZURyYXdpbmdCdWZmZXJGQk8geyAwIH07CiAjZW5kaWYK
IAorICAgIC8vIEEgYml0bWFzayBvZiBHTCBidWZmZXIgYml0cyAoR0xfQ09MT1JfQlVGRkVSX0JJ
VCwKKyAgICAvLyBHTF9ERVBUSF9CVUZGRVJfQklULCBHTF9TVEVOQ0lMX0JVRkZFUl9CSVQpIHdo
aWNoIG5lZWQgdG8gYmUKKyAgICAvLyBhdXRvLWNsZWFyZWQuCisgICAgR0NHTGJpdGZpZWxkIG1f
YnVmZmVyc1RvQXV0b0NsZWFyIHsgMCB9OworCiAgICAgLy8gRXJyb3JzIHJhaXNlZCBieSBzeW50
aGVzaXplR0xFcnJvcigpLgogICAgIExpc3RIYXNoU2V0PEdDR0xlbnVtPiBtX3N5bnRoZXRpY0Vy
cm9yczsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29tbW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAK
aW5kZXggMmY3NTI4MjFkZmQ4NmRlOTg1NjhiMmMzZTYxNGJhOWNkYTI5Njc1Ni4uZWU1OWE2Mzc3
OTcxNTU2NWZmNzU2N2RjYmJjNTA1ODMwZTFkMmYzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29tbW9u
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhp
Y3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwCkBAIC0yMDE5LDYgKzIwMTksNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMOjptYXJrQ29udGV4dENoYW5nZWQoKQogdm9pZCBHcmFwaGlj
c0NvbnRleHRHTE9wZW5HTDo6bWFya0xheWVyQ29tcG9zaXRlZCgpCiB7CiAgICAgbV9sYXllckNv
bXBvc2l0ZWQgPSB0cnVlOworICAgIHJlc2V0QnVmZmVyc1RvQXV0b0NsZWFyKCk7CiAKICAgICBm
b3IgKGF1dG8qIGNsaWVudCA6IGNvcHlUb1ZlY3RvcihtX2NsaWVudHMpKQogICAgICAgICBjbGll
bnQtPmRpZENvbXBvc2l0ZSgpOwpAQCAtMjQyNCw5ICsyNDI1LDEwIEBAIHZvaWQgR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OmRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0x1aW50
IHN0YXJ0LCBHCiAgICAgVU5VU0VEX1BBUkFNKG9mZnNldCk7CiB9CiAKLXZvaWQgR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQ0dMZW51bT4mIGJ1ZmZl
cnMpCit2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhHQ0dMc2l6ZWkg
biwgY29uc3QgR0NHTGVudW0qIGJ1ZnMpCiB7Ci0gICAgVU5VU0VEX1BBUkFNKGJ1ZmZlcnMpOwor
ICAgIFVOVVNFRF9QQVJBTShuKTsKKyAgICBVTlVTRURfUEFSQU0oYnVmcyk7CiB9CiAKIHZvaWQg
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNsZWFyQnVmZmVyaXYoR0NHTGVudW0gYnVmZmVyLCBH
Q0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0xpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zm
c2V0KQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDA5ZjgyNTI5MjU2NjdmYjEzYzEzZGQ3OTQ4OTQ0MjFjY2EzZmI1OTMuLjk1
ZDExZDk4MzBiY2FiOGJiMTBhNGYwZjJhY2UyYzI0ZWYwZTZmM2MgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAyMC0wNy0yMiAgS2VubmV0aCBSdXNzZWxsICA8a2JyQGNocm9taXVtLm9yZz4KKwor
ICAgICAgICBbV2ViR0wyXSBJbXBsZW1lbnQgbXVsdGlwbGUgcmVuZGVyIHRhcmdldCBlbnRyeSBw
b2ludHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIx
MTE1NgorCisgICAgICAgIFJldmlld2VkIGJ5IERlYW4gSmFja3Nvbi4KKworICAgICAgICBSZWJh
c2VsaW5lIG9uZSBsYXlvdXQgdGVzdCB3aGljaCBpcyBub3cgZnVsbHkgcGFzc2luZywgYW5kIGFu
b3RoZXIKKyAgICAgICAgd2hpY2ggbm93IHByb3Blcmx5IGRldGVjdHMgZXJyb3JzLgorCisgICAg
ICAgICogZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3NlcXVlbmNlcy1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJv
bS1mYm8tdGVzdC1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDctMjIgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgY29tcG9zaXRpbmcvcmVwYWludC9pZnJh
bWVzL2NvbXBvc2l0aW5nLWlmcmFtZS1zY3JvbGwtcmVwYWludC5odG1sIGZhaWxzIG9uIE1vamF2
ZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3NlcXVl
bmNlcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDIv
c2VxdWVuY2VzLWV4cGVjdGVkLnR4dAppbmRleCBjM2YwMjVkY2JiYzA1ZmZmMTQ1MzkzMWMxYjUy
MGFhNmJkODVjNGZkLi41NTBmYWZlNjY1NWFjOWZmYTBhZTljYjRkMzg3NTM3YzUwMTNiNmFjIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDIvc2VxdWVuY2Vz
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2NhbnZhcy93ZWJnbC93ZWJnbDIv
c2VxdWVuY2VzLWV4cGVjdGVkLnR4dApAQCAtMiw2ICsyLDEyIEBAIENPTlNPTEUgTUVTU0FHRTog
V2ViR0w6IElOVkFMSURfVkFMVUU6IHZlcnRleEF0dHJpYkk0aXY6IGFycmF5IHRvbyBzbWFsbAog
Q09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogdmVydGV4QXR0cmliSTRpdjog
YXJyYXkgdG9vIHNtYWxsCiBDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiB2
ZXJ0ZXhBdHRyaWJJNHVpdjogYXJyYXkgdG9vIHNtYWxsCiBDT05TT0xFIE1FU1NBR0U6IFdlYkdM
OiBJTlZBTElEX1ZBTFVFOiB2ZXJ0ZXhBdHRyaWJJNHVpdjogYXJyYXkgdG9vIHNtYWxsCitDT05T
T0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZBTFVFOiBjbGVhckJ1ZmZlcml2OiBpbnZhbGlk
IGFycmF5IHNpemUgLyBzcmNPZmZzZXQKK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURf
VkFMVUU6IGNsZWFyQnVmZmVyaXY6IGludmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAorQ09O
U09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogY2xlYXJCdWZmZXJ1aXY6IGludmFs
aWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJ
RF9WQUxVRTogY2xlYXJCdWZmZXJ1aXY6IGludmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAor
Q09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogY2xlYXJCdWZmZXJmdjogaW52
YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZB
TElEX1ZBTFVFOiBjbGVhckJ1ZmZlcmZ2OiBpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNPZmZzZXQK
IAogUEFTUyB1bmlmb3JtMXVpdiBkYXRhIHdpdGggdHlwZWQgYXJyYXkgb2YgdHlwZSB1aSAKIFBB
U1MgdW5pZm9ybTF1aXYgZGF0YSB3aXRoIHNlcXVlbmNlIG9mIHR5cGUgdWkgCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVs
cy1mcm9tLWZiby10ZXN0LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2Nv
bmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20tZmJvLXRlc3QtZXhwZWN0ZWQudHh0
CmluZGV4IGRmNGY1MWY3MGIxYmI5YzdiYzljY2ZmMjgzNDFlMzQ2MjM0ZjVlMGUuLjZkNWY5MWY0
OWMzOTczOWMzYjY1YzUxMjhhMzBlODhjOGQ4YThkNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20tZmJvLXRl
c3QtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3dlYmdsLzIuMC4wL2NvbmZvcm1hbmNl
Mi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20tZmJvLXRlc3QtZXhwZWN0ZWQudHh0CkBAIC0xLDIw
MCArMSw1IEBACiBUaGlzIHRlc3QgcnVucyB0aGUgV2ViR0wgVGVzdCBsaXN0ZWQgYmVsb3cgaW4g
YW4gaWZyYW1lIGFuZCByZXBvcnRzIFBBU1Mgb3IgRkFJTC4KIAogVGVzdDogLi4vLi4vcmVzb3Vy
Y2VzL3dlYmdsX3Rlc3RfZmlsZXMvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMtZnJv
bS1mYm8tdGVzdC5odG1sCi1bIDE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDI6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29s
b3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgNDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA1OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0
ZWQKLVsgNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBT
ZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDogRkFJ
TCBdIEV4cGVjdGVkIGNvbG9yID0gMjUwLDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDExOiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAyNTAs
MCwwLDAsIHdhcyA9IDAKLVsgMTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNv
bG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNTogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxNjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gLTEyNiwwLDAsMCwgd2FzID0gMCww
LDAsMQotWyAxNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODogRkFJTCBdIEV4cGVj
dGVkIGNvbG9yID0gLTEyNiwwLDAsMCwgd2FzID0gMAotWyAxOTogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMjA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDIxOiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDIyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAzMDAw
MSwwLDAsMCwgd2FzID0gMCwwLDAsMQotWyAyMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAyNDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMzAwMDEsMCwwLDAsIHdhcyA9IDAKLVsgMjU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1
cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDI2OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyAyNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAyODogRkFJTCBdIEV4
cGVjdGVkIGNvbG9yID0gLTE0MTg5LDAsMCwwLCB3YXMgPSAwLDAsMCwxCi1bIDI5OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDMwOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtMTQxODks
MCwwLDAsIHdhcyA9IDAKLVsgMzE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDMy
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNv
bG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAzMzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAzNDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTI2NzI2LDAsMCwwLCB3YXMgPSAw
LDAsMCwxCi1bIDM1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDM2OiBGQUlMIF0gRXhw
ZWN0ZWQgY29sb3IgPSAxMjY3MjYsMCwwLDAsIHdhcyA9IDAKLVsgMzc6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDM4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAzOTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxz
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA0MDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0g
LTEyNjcyNiwwLDAsMCwgd2FzID0gMCwwLDAsMQotWyA0MTogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyA0MjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gLTEyNjcyNiwwLDAsMCwgd2FzID0g
MAotWyA0MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBT
ZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNDQ6IFBBU1MgXSBnZXRF
cnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDQ1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDQ2OiBQ
QVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDQ3OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDQ4OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDQ5
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcg
dXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1MDogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgNTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNTI6IFBBU1MgXSBD
b2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgNTQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNTU6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8g
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDU2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyA1NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1ODogUEFTUyBdIENvbG9yIHJl
YWQgYmFjayBhcyBleHBlY3RlZAotWyA1OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2
YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2
MDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA2MTogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgNjI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDYz
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhl
bHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDY0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNr
IGFzIGV4cGVjdGVkCi1bIDY1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDY2OiBQQVNT
IF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDY3OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyA2ODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjk6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNzA6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhw
ZWN0ZWQKLVsgNzE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNzI6IFBBU1MgXSBDb2xv
ciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNzM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDc0OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3NTogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyA3NjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAot
WyA3NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFk
UGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA3ODogUEFTUyBdIENvbG9yIHJlYWQg
YmFjayBhcyBleHBlY3RlZAotWyA3OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
ODA6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIg
Y29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDgxOiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDgyOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDgzOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDg0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFz
IGV4cGVjdGVkCi1bIDg1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4NjogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgODg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgODk6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQg
Z2VuZXJhdGUgbm8gZXJyb3IKLVsgOTA6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0
ZWQKLVsgOTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
U2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDkyOiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyA5MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1
ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5NDog
UEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA5NTogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyA5NjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA5
NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5n
IHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgOTg6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDk5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEwMDogUEFTUyBd
IENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMDE6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTAyOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEwMzog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVw
IGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTA0OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyAxMDU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTA2OiBQQVNTIF0g
Q29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEwNzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxMDg6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTA5OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMTA6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDExMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMTI6IFBBU1MgXSBD
b2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTEzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDExNDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMTU6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBm
Ym8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDExNjogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTE3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDExODogUEFTUyBdIENv
bG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTIwOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEyMTogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZi
byBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTIyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxMjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTI0OiBQQVNTIF0gQ29s
b3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEyNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxMjY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTI3OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJv
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDEyOTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMzA6IFBBU1MgXSBDb2xv
ciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTMxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDEzMjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMzM6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8g
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEzNDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTM1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEzNjogUEFTUyBdIENvbG9y
IHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMzc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMTM4OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEzOTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTQwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxNDE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
cmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTQyOiBQQVNTIF0gQ29sb3Ig
cmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDE0MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNDQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTQ1OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDE0NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDg6IEZBSUwgXSBFeHBlY3Rl
ZCBjb2xvciA9IDEyNywwLDI1NSwxNzgsIHdhcyA9IDAsMCwwLDAKLVsgMTQ5OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDE1MDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTI3LDAsMjU1
LDE3OCwgd2FzID0gMCwwLDAsMAotWyAxNTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDE1MjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBD
bGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTUzOiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDE1NDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gLTU1LDU2LDgwLDEy
Nywgd2FzID0gMCwwLDAsMAotWyAxNTU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTU2
OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAtNTUsNTYsODAsMTI3LCB3YXMgPSAwLDAsMCwwCi1b
IDE1NzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0
aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTU4OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAxNTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTYwOiBG
QUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxNzgsMCwxMjcsMywgd2FzID0gMCwwLDAsMAotWyAxNjE6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVs
cyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTYyOiBGQUlMIF0gRXhwZWN0ZWQgY29sb3Ig
PSAxNzgsMCwxMjcsMywgd2FzID0gMCwwLDAsMAotWyAxNjM6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDE2NDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTY1OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE2NjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTQx
ODksNjczNSwwLDE5LCB3YXMgPSAwLDAsMCwwCi1bIDE2NzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxNjg6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE0MTg5LDY3MzUsMCwxOSwgd2Fz
ID0gMCwwLDAsMAotWyAxNjk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE3MDog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xv
ciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTcxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDE3MjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMTQxODksLTY3MzUsMCwxOSwgd2Fz
ID0gMCwwLDAsMAotWyAxNzM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTc0OiBGQUlM
IF0gRXhwZWN0ZWQgY29sb3IgPSAxNDE4OSwtNjczNSwwLDE5LCB3YXMgPSAwLDAsMCwwCi1bIDE3
NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5n
IHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTc2OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyAxNzc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTc4OiBGQUlM
IF0gRXhwZWN0ZWQgY29sb3IgPSAxMjY3MjYsNjcyNiw5ODc2NSwyMDE1LCB3YXMgPSAwLDAsMCww
Ci1bIDE3OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODA6IEZBSUwgXSBFeHBlY3Rl
ZCBjb2xvciA9IDEyNjcyNiw2NzI2LDk4NzY1LDIwMTUsIHdhcyA9IDAsMCwwLDAKLVsgMTgxOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODI6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDE4MzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODQ6IEZBSUwgXSBF
eHBlY3RlZCBjb2xvciA9IDEyNjcyNiwtNjcyNiwtOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAsMAot
WyAxODU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTg2OiBGQUlMIF0gRXhwZWN0ZWQg
Y29sb3IgPSAxMjY3MjYsLTY3MjYsLTk4NzY1LDIwMTUsIHdhcyA9IDAsMCwwLDAKLVsgMTg3OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxODg6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDE4OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxOTA6IFBBU1MgXSBD
b2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTkxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDE5MjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxOTM6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTk0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFz
IGV4cGVjdGVkCi1bIDE5NTogUEFTUyBdIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCi1bIEZB
SUwgXSAyNiBmYWlsdXJlcyByZXBvcnRlZAorWyBQQVNTIF0gQWxsIHRlc3RzIHBhc3NlZAogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>404989</attachid>
            <date>2020-07-22 15:55:04 -0700</date>
            <delta_ts>2020-07-22 16:39:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-211156-20200722155503.patch</filename>
            <type>text/plain</type>
            <size>51866</size>
            <attacher name="Kenneth Russell">kbr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjY0NzE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTFiZjc3OWM4MzZlMmNl
ZDU1ODQwMWFjZmY1NzNkMzMxMmIzMjEyNS4uYWJjMDUzZWQ1NTc5NmI4NGEwMGQ4Y2MyMmZiZjNl
MDEzNmU0NWUzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDYzIEBACisyMDIwLTA3LTIyICBLZW5u
ZXRoIFJ1c3NlbGwgIDxrYnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtXZWJHTDJdIEltcGxl
bWVudCBtdWx0aXBsZSByZW5kZXIgdGFyZ2V0IGVudHJ5IHBvaW50cworICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjExMTU2CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgRGVhbiBKYWNrc29uLgorCisgICAgICAgIEltcGxlbWVudCB0aGUgZHJhd0J1ZmZlcnMg
YW5kIGNsZWFyQnVmZmVyIGVudHJ5IHBvaW50cy4KKworICAgICAgICBJbnRlZ3JhdGUgdGhlIGNs
ZWFyQnVmZmVyIEFQSXMgd2l0aCBwcmVzZXJ2ZURyYXdpbmdCdWZmZXI6ZmFsc2UncworICAgICAg
ICBhdXRvLWNsZWFyaW5nLiBNb3ZlIHNvbWUgYXV0by1jbGVhcmluZyBzdGF0ZSBmcm9tCisgICAg
ICAgIFdlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UgdG8gR3JhcGhpY3NDb250ZXh0R0wgYW5kCisg
ICAgICAgIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMLgorCisgICAgICAgIFJlbmFtZSBzZXRQcmVz
ZXJ2ZURyYXdpbmdCdWZmZXIgdG8gZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyIHRvCisgICAg
ICAgIG1ha2UgaXQgY2xlYXIgdGhhdCBhcmJpdHJhcnkgY2hhbmdlcyBvZiBwcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgYXJlCisgICAgICAgIG5vdCBzdXBwb3J0ZWQuIHNldFByZXNlcnZlRHJhd2luZ0J1
ZmZlciB3YXMgcHJldmlvdXNseSBhZGRlZCBmb3IKKyAgICAgICAgY2FwdHVyZSBvZiBwcmVzZXJ2
ZURyYXdpbmdCdWZmZXI6ZmFsc2UgV2ViR0wgY2FudmFzZXMuCisKKyAgICAgICAgQ292ZXJlZCBi
eSBleGlzdGluZyBXZWJHTCBjb25mb3JtYW5jZSB0ZXN0cyBhbmQgY2FudmFzIGNhcHR1cmUKKyAg
ICAgICAgbGF5b3V0IHRlc3RzLgorCisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52
YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDYW52YXND
YXB0dXJlTWVkaWFTdHJlYW1UcmFjazo6U291cmNlOjpjYW52YXNDaGFuZ2VkKToKKyAgICAgICAg
KiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250ZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmRyYXdCdWZmZXJzKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyaXYpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJ1aXYpOgorICAgICAgICAo
V2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJmdik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZpKToKKyAgICAg
ICAgKFdlYkNvcmU6OldlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZhbGlkYXRlQ2xlYXJCdWZmZXIp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6dXBkYXRlQnVmZmVy
c1RvQXV0b0NsZWFyKToKKyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250
ZXh0Lmg6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJHTEZyYW1lYnVmZmVyOjpkcmF3QnVmZmVyc0lmTmVjZXNzYXJ5KToK
KyAgICAgICAgKiBodG1sL2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmNsZWFySWZDb21wb3Np
dGVkKToKKyAgICAgICAgKFdlYkNvcmU6OldlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2U6OmVuYWJs
ZVByZXNlcnZlRHJhd2luZ0J1ZmZlcik6CisgICAgICAgICogaHRtbC9jYW52YXMvV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViR0xSZW5kZXJpbmdDb250
ZXh0QmFzZTo6c2V0UHJlc2VydmVEcmF3aW5nQnVmZmVyKTogRGVsZXRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpHcmFwaGljc0NvbnRleHRHTDo6ZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKToKKyAgICAg
ICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5oOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4dEdMQU5HTEUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQp
OgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdCdWZmZXJz
KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZl
cml2KToKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1
ZmZlcnVpdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6Y2xl
YXJCdWZmZXJmdik6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6
Y2xlYXJCdWZmZXJmaSk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBo
aWNzQ29udGV4dEdMT3BlbkdMLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dEdMT3BlbkdMOjpyZXNldEJ1ZmZlcnNUb0F1dG9DbGVhcik6CisgICAgICAgIChXZWJDb3JlOjpH
cmFwaGljc0NvbnRleHRHTE9wZW5HTDo6c2V0QnVmZmVyc1RvQXV0b0NsZWFyKToKKyAgICAgICAg
KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpnZXRCdWZmZXJzVG9BdXRvQ2xlYXIg
Y29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmVuYWJs
ZVByZXNlcnZlRHJhd2luZ0J1ZmZlcik6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mvb3Bl
bmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhp
Y3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMQ29tbW9uLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjptYXJrTGF5ZXJDb21wb3NpdGVkKToKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyk6CisK
IDIwMjAtMDctMjIgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OKHIyMDU4MjYpOiBuYXJyb3dOb0JyZWFrU3BhY2UgKFUrMjAyRikg
aGFzIHplcm8gd2lkdGgsIHJlZ2FyZGxlc3Mgb2YgZm9udApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9DYW52YXNDYXB0dXJlTWVkaWFTdHJlYW1UcmFjay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcAppbmRleCBlNzYzZjliM2QxYzE5YzA2YTY4ODkyZGQwMjk0OWMwZTFk
ZjE1NzQzLi44NDY3YWVlMDFjM2VkMjc3MDAyOThkZDk5MTAxZmQzZGE2OGExOWZkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL0NhbnZhc0NhcHR1cmVNZWRp
YVN0cmVhbVRyYWNrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L0NhbnZhc0NhcHR1cmVNZWRpYVN0cmVhbVRyYWNrLmNwcApAQCAtMTYxLDcgKzE2MSw3IEBAIHZv
aWQgQ2FudmFzQ2FwdHVyZU1lZGlhU3RyZWFtVHJhY2s6OlNvdXJjZTo6Y2FudmFzQ2hhbmdlZChD
YW52YXNCYXNlJiBjYW52YXMsIGNvCiAgICAgICAgIGF1dG8mIGNvbnRleHQgPSBkb3duY2FzdDxX
ZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlPigqY2FudmFzLnJlbmRlcmluZ0NvbnRleHQoKSk7CiAg
ICAgICAgIGlmICghY29udGV4dC5pc1ByZXNlcnZpbmdEcmF3aW5nQnVmZmVyKCkpIHsKICAgICAg
ICAgICAgIGNhbnZhcy5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPmFkZENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VTb3VyY2U6OkpTLCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJUdXJuaW5nIGRyYXdp
bmcgYnVmZmVyIHByZXNlcnZhdGlvbiBmb3IgdGhlIFdlYkdMIGNhbnZhcyBiZWluZyBjYXB0dXJl
ZCJfcyk7Ci0gICAgICAgICAgICBjb250ZXh0LnNldFByZXNlcnZlRHJhd2luZ0J1ZmZlcih0cnVl
KTsKKyAgICAgICAgICAgIGNvbnRleHQuZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKCk7CiAg
ICAgICAgIH0KICAgICB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
Y2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5jcHAKaW5kZXggNmYxOGNkNzgwYTQzNWVjZGRl
YTVlMGUzN2JlMjIxNjk5NTFlNWE2My4uZWUzMDVmNmM0ODA3N2JlYjIyNWJkM2NkOGMwMGZiMDIz
MzRmODRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wy
UmVuZGVyaW5nQ29udGV4dC5jcHAKQEAgLTE3NTksNyArMTc1OSw3IEBAIHZvaWQgV2ViR0wyUmVu
ZGVyaW5nQ29udGV4dDo6ZHJhd0J1ZmZlcnMoY29uc3QgVmVjdG9yPEdDR0xlbnVtPiYgYnVmZmVy
cykKICAgICAgICAgfQogICAgICAgICAvLyBCZWNhdXNlIHRoZSBiYWNrYnVmZmVyIGlzIHNpbXVs
YXRlZCBvbiBhbGwgY3VycmVudCBXZWJLaXQgcG9ydHMsIHdlIG5lZWQgdG8gY2hhbmdlIEJBQ0sg
dG8gQ09MT1JfQVRUQUNITUVOVDAuCiAgICAgICAgIEdDR0xlbnVtIHZhbHVlID0gKGJ1ZnNbMF0g
PT0gR3JhcGhpY3NDb250ZXh0R0w6OkJBQ0spID8gR3JhcGhpY3NDb250ZXh0R0w6OkNPTE9SX0FU
VEFDSE1FTlQwIDogR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkU7Ci0gICAgICAgIGdyYXBoaWNzQ29u
dGV4dEdMKCktPmdldEV4dGVuc2lvbnMoKS5kcmF3QnVmZmVyc0VYVCgxLCAmdmFsdWUpOworICAg
ICAgICBtX2NvbnRleHQtPmRyYXdCdWZmZXJzKDEsICZ2YWx1ZSk7CiAgICAgICAgIHNldEJhY2tE
cmF3QnVmZmVyKGJ1ZnNbMF0pOwogICAgIH0gZWxzZSB7CiAgICAgICAgIGlmIChuID4gZ2V0TWF4
RHJhd0J1ZmZlcnMoKSkgewpAQCAtMTc3Niw5MiArMTc3Niw0OCBAQCB2b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OmRyYXdCdWZmZXJzKGNvbnN0IFZlY3RvcjxHQ0dMZW51bT4mIGJ1ZmZlcnMp
CiAgICAgfQogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyaXYo
R0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEludDMyTGlzdCYmLCBHQ0dMdWlu
dCkKK3ZvaWQgV2ViR0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJpdihHQ0dMZW51bSBi
dWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgSW50MzJMaXN0JiYgdmFsdWVzLCBHQ0dMdWludCBz
cmNPZmZzZXQpCiB7Ci0gICAgc3dpdGNoIChidWZmZXIpIHsKLSAgICBjYXNlIEdyYXBoaWNzQ29u
dGV4dEdMOjpDT0xPUjoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIgPCAwIHx8IGRyYXdidWZmZXIg
Pj0gZ2V0TWF4RHJhd0J1ZmZlcnMoKSkgewotICAgICAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3Io
R3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZlcml2IiwgImJ1ZmZl
ciBpbmRleCBvdXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQot
ICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyaXYsIHJlcXVpcmVzIGdsMy5oIGFuZCBF
UzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpTVEVO
Q0lMOgotICAgICAgICBpZiAoZHJhd2J1ZmZlcikgewotICAgICAgICAgICAgc3ludGhlc2l6ZUdM
RXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUsICJjbGVhckJ1ZmZlcml2Iiwg
ImJ1ZmZlciBpbmRleCBtdXN0IGJlIDAiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
fQotICAgICAgICAvLyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVyaXYsIHJlcXVpcmVzIGdsMy5oIGFu
ZCBFUzMvZ2wuaAotICAgICAgICBicmVhazsKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpE
RVBUSDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSF9TVEVOQ0lMOgotICAgIGRl
ZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZB
TElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVyaXYiLCAiYnVmZmVyIGFyZ3VtZW50IG11c3QgYmUg
Q09MT1Igb3IgU1RFTkNJTCIpOwotICAgICAgICBicmVhazsKLSAgICB9CisgICAgaWYgKGlzQ29u
dGV4dExvc3RPclBlbmRpbmcoKSB8fCAhdmFsaWRhdGVDbGVhckJ1ZmZlcigiY2xlYXJCdWZmZXJp
diIsIGJ1ZmZlciwgdmFsdWVzLmxlbmd0aCgpLCBzcmNPZmZzZXQpKQorICAgICAgICByZXR1cm47
CisKKyAgICBtX2NvbnRleHQtPmNsZWFyQnVmZmVyaXYoYnVmZmVyLCBkcmF3YnVmZmVyLCB2YWx1
ZXMuZGF0YSgpLCBzcmNPZmZzZXQpOworICAgIHVwZGF0ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVh
ckJ1ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJpdiwgYnVmZmVyLCBkcmF3YnVmZmVyKTsKIH0KIAot
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZm
ZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgVWludDMyTGlzdCYmLCBHQ0dMdWludCkKK3ZvaWQgV2Vi
R0wyUmVuZGVyaW5nQ29udGV4dDo6Y2xlYXJCdWZmZXJ1aXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dM
aW50IGRyYXdidWZmZXIsIFVpbnQzMkxpc3QmJiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkK
IHsKLSAgICBzd2l0Y2ggKGJ1ZmZlcikgewotICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OkNP
TE9SOgotICAgICAgICBpZiAoZHJhd2J1ZmZlciA8IDAgfHwgZHJhd2J1ZmZlciA+PSBnZXRNYXhE
cmF3QnVmZmVycygpKSB7Ci0gICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0Nv
bnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVmZmVydWl2IiwgImJ1ZmZlciBpbmRleCBv
dXQgb2YgcmFuZ2UiKTsKLSAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgfQotICAgICAgICAv
LyBUT0RPOiBDYWxsIGNsZWFyQnVmZmVydWl2LCByZXF1aXJlcyBnbDMuaCBhbmQgRVMzL2dsLmgK
LSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEg6Ci0gICAg
Y2FzZSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTDoKLSAgICBjYXNlIEdyYXBoaWNzQ29udGV4
dEdMOjpERVBUSF9TVEVOQ0lMOgotICAgIGRlZmF1bHQ6Ci0gICAgICAgIHN5bnRoZXNpemVHTEVy
cm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX09QRVJBVElPTiwgImNsZWFyQnVmZmVydWl2
IiwgImJ1ZmZlciBhcmd1bWVudCBtdXN0IGJlIENPTE9SIik7Ci0gICAgICAgIGJyZWFrOwotICAg
IH0KKyAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZUNsZWFyQnVm
ZmVyKCJjbGVhckJ1ZmZlcnVpdiIsIGJ1ZmZlciwgdmFsdWVzLmxlbmd0aCgpLCBzcmNPZmZzZXQp
KQorICAgICAgICByZXR1cm47CisKKyAgICBtX2NvbnRleHQtPmNsZWFyQnVmZmVydWl2KGJ1ZmZl
ciwgZHJhd2J1ZmZlciwgdmFsdWVzLmRhdGEoKSwgc3JjT2Zmc2V0KTsKKyAgICB1cGRhdGVCdWZm
ZXJzVG9BdXRvQ2xlYXIoQ2xlYXJCdWZmZXJDYWxsZXI6OkNsZWFyQnVmZmVydWl2LCBidWZmZXIs
IGRyYXdidWZmZXIpOwogfQogCi12b2lkIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVm
ZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEZsb2F0MzJMaXN0JiYs
IEdDR0x1aW50KQordm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZ2KEdD
R0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBGbG9hdDMyTGlzdCYmIHZhbHVlcywg
R0NHTHVpbnQgc3JjT2Zmc2V0KQogewotICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHRHTDo6Q09MT1I6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyIDwgMCB8fCBk
cmF3YnVmZmVyID49IGdldE1heERyYXdCdWZmZXJzKCkpIHsKLSAgICAgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJm
diIsICJidWZmZXIgaW5kZXggb3V0IG9mIHJhbmdlIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0g
ICAgICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcmZ2LCByZXF1aXJlcyBn
bDMuaCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRl
eHRHTDo6REVQVEg6Ci0gICAgICAgIGlmIChkcmF3YnVmZmVyKSB7Ci0gICAgICAgICAgICBzeW50
aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9WQUxVRSwgImNsZWFyQnVm
ZmVyZnYiLCAiYnVmZmVyIGluZGV4IG11c3QgYmUgMCIpOwotICAgICAgICAgICAgcmV0dXJuOwot
ICAgICAgICB9Ci0gICAgICAgIC8vIFRPRE86IENhbGwgY2xlYXJCdWZmZXJmdiwgcmVxdWlyZXMg
Z2wzLmggYW5kIEVTMy9nbC5oCi0gICAgICAgIGJyZWFrOwotICAgIGNhc2UgR3JhcGhpY3NDb250
ZXh0R0w6OlNURU5DSUw6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfU1RFTkNJ
TDoKLSAgICBkZWZhdWx0OgotICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHRHTDo6SU5WQUxJRF9PUEVSQVRJT04sICJjbGVhckJ1ZmZlcmZ2IiwgImJ1ZmZlciBhcmd1bWVu
dCBtdXN0IGJlIENPTE9SIE9SIERFUFRIIik7Ci0gICAgICAgIGJyZWFrOwotICAgIH0KKyAgICBp
ZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxpZGF0ZUNsZWFyQnVmZmVyKCJjbGVh
ckJ1ZmZlcmZ2IiwgYnVmZmVyLCB2YWx1ZXMubGVuZ3RoKCksIHNyY09mZnNldCkpCisgICAgICAg
IHJldHVybjsKKworICAgIG1fY29udGV4dC0+Y2xlYXJCdWZmZXJmdihidWZmZXIsIGRyYXdidWZm
ZXIsIHZhbHVlcy5kYXRhKCksIHNyY09mZnNldCk7CisgICAgLy8gY2xlYXJCdWZmZXJpdiBhbmQg
Y2xlYXJCdWZmZXJ1aXYgd2lsbCBjdXJyZW50bHkgZ2VuZXJhdGUgYW4gZXJyb3IKKyAgICAvLyBp
ZiB0aGV5J3JlIGNhbGxlZCBhZ2FpbnN0IHRoZSBkZWZhdWx0IGJhY2sgYnVmZmVyLiBJZiBzdXBw
b3J0IGZvcgorICAgIC8vIGV4dGVuZGVkIGNhbnZhcyBjb2xvciBzcGFjZXMgaXMgYWRkZWQsIHRo
aXMgY2FsbCBtaWdodCBuZWVkIHRvIGJlCisgICAgLy8gYWRkZWQgdG8gdGhlIG90aGVyIHZlcnNp
b25zLgorICAgIG1hcmtDb250ZXh0Q2hhbmdlZCgpOworICAgIHVwZGF0ZUJ1ZmZlcnNUb0F1dG9D
bGVhcihDbGVhckJ1ZmZlckNhbGxlcjo6Q2xlYXJCdWZmZXJmdiwgYnVmZmVyLCBkcmF3YnVmZmVy
KTsKIH0KIAotdm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0OjpjbGVhckJ1ZmZlcmZpKEdDR0xl
bnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBHQ0dMZmxvYXQsIEdDR0xpbnQpCit2b2lk
IFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OmNsZWFyQnVmZmVyZmkoR0NHTGVudW0gYnVmZmVyLCBH
Q0dMaW50IGRyYXdidWZmZXIsIEdDR0xmbG9hdCBkZXB0aCwgR0NHTGludCBzdGVuY2lsKQogewot
ICAgIHN3aXRjaCAoYnVmZmVyKSB7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhf
U1RFTkNJTDoKLSAgICAgICAgaWYgKGRyYXdidWZmZXIpIHsKLSAgICAgICAgICAgIHN5bnRoZXNp
emVHTEVycm9yKEdyYXBoaWNzQ29udGV4dEdMOjpJTlZBTElEX1ZBTFVFLCAiY2xlYXJCdWZmZXJm
diIsICJidWZmZXIgaW5kZXggbXVzdCBiZSAwIik7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAg
ICAgIH0KLSAgICAgICAgLy8gVE9ETzogQ2FsbCBjbGVhckJ1ZmZlcmZpLCByZXF1aXJlcyBnbDMu
aCBhbmQgRVMzL2dsLmgKLSAgICAgICAgYnJlYWs7Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRH
TDo6Q09MT1I6Ci0gICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEg6Ci0gICAgY2FzZSBH
cmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTDoKLSAgICBkZWZhdWx0OgotICAgICAgICBzeW50aGVz
aXplR0xFcnJvcihHcmFwaGljc0NvbnRleHRHTDo6SU5WQUxJRF9PUEVSQVRJT04sICJjbGVhckJ1
ZmZlcmZ2IiwgImJ1ZmZlciBhcmd1bWVudCBtdXN0IGJlIERFUFRIX1NURU5DSUwiKTsKLSAgICAg
ICAgYnJlYWs7Ci0gICAgfQorICAgIGlmIChpc0NvbnRleHRMb3N0T3JQZW5kaW5nKCkpCisgICAg
ICAgIHJldHVybjsKKworICAgIG1fY29udGV4dC0+Y2xlYXJCdWZmZXJmaShidWZmZXIsIGRyYXdi
dWZmZXIsIGRlcHRoLCBzdGVuY2lsKTsKKyAgICAvLyBUaGlzIG1pZ2h0IGhhdmUgYmVlbiB1c2Vk
IHRvIGNsZWFyIHRoZSBkZXB0aCBhbmQgc3RlbmNpbCBidWZmZXJzCisgICAgLy8gb2YgdGhlIGRl
ZmF1bHQgYmFjayBidWZmZXIuCisgICAgbWFya0NvbnRleHRDaGFuZ2VkKCk7CisgICAgdXBkYXRl
QnVmZmVyc1RvQXV0b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZlcmZpLCBidWZm
ZXIsIGRyYXdidWZmZXIpOwogfQogCiBSZWZQdHI8V2ViR0xRdWVyeT4gV2ViR0wyUmVuZGVyaW5n
Q29udGV4dDo6Y3JlYXRlUXVlcnkoKQpAQCAtMzMwNyw2ICszMjYzLDM1IEBAIGJvb2wgV2ViR0wy
UmVuZGVyaW5nQ29udGV4dDo6dmFsaWRhdGVDYXBhYmlsaXR5KGNvbnN0IGNoYXIqIGZ1bmN0aW9u
TmFtZSwgR0NHTGVuCiAgICAgfQogfQogCitib29sIFdlYkdMMlJlbmRlcmluZ0NvbnRleHQ6OnZh
bGlkYXRlQ2xlYXJCdWZmZXIoY29uc3QgY2hhciogZnVuY3Rpb25OYW1lLCBHQ0dMZW51bSBidWZm
ZXIsIHNpemVfdCBzaXplLCBHQ0dMdWludCBzcmNPZmZzZXQpCit7CisgICAgQ2hlY2tlZDxHTHNp
emVpLCBSZWNvcmRPdmVyZmxvdz4gY2hlY2tlZFNpemUoc2l6ZSk7CisgICAgY2hlY2tlZFNpemUg
LT0gc3JjT2Zmc2V0OworICAgIGlmIChjaGVja2VkU2l6ZS5oYXNPdmVyZmxvd2VkKCkpIHsKKyAg
ICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhpY3NDb250ZXh0R0w6OklOVkFMSURfVkFMVUUs
IGZ1bmN0aW9uTmFtZSwgImludmFsaWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldCIpOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIHN3aXRjaCAoYnVmZmVyKSB7CisgICAgY2FzZSBH
cmFwaGljc0NvbnRleHRHTDo6Q09MT1I6CisgICAgICAgIGlmIChjaGVja2VkU2l6ZS51bnNhZmVH
ZXQoKSA8IDQpIHsKKyAgICAgICAgICAgIHN5bnRoZXNpemVHTEVycm9yKEdyYXBoaWNzQ29udGV4
dEdMOjpJTlZBTElEX1ZBTFVFLCBmdW5jdGlvbk5hbWUsICJpbnZhbGlkIGFycmF5IHNpemUgLyBz
cmNPZmZzZXQiKTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgfQorICAgICAg
ICBicmVhazsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpERVBUSDoKKyAgICBjYXNlIEdy
YXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMOgorICAgICAgICBpZiAoY2hlY2tlZFNpemUudW5zYWZl
R2V0KCkgPCAxKSB7CisgICAgICAgICAgICBzeW50aGVzaXplR0xFcnJvcihHcmFwaGljc0NvbnRl
eHRHTDo6SU5WQUxJRF9WQUxVRSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBhcnJheSBzaXplIC8g
c3JjT2Zmc2V0Iik7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIH0KKyAgICAg
ICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgc3ludGhlc2l6ZUdMRXJyb3IoR3JhcGhp
Y3NDb250ZXh0R0w6OklOVkFMSURfRU5VTSwgZnVuY3Rpb25OYW1lLCAiaW52YWxpZCBidWZmZXIi
KTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICByZXR1cm4gdHJ1ZTsKK30KKwog
dm9pZCBXZWJHTDJSZW5kZXJpbmdDb250ZXh0Ojp1bmlmb3JtMWZ2KFdlYkdMVW5pZm9ybUxvY2F0
aW9uKiBsb2NhdGlvbiwgRmxvYXQzMkxpc3QgZGF0YSwgR0x1aW50IHNyY09mZnNldCwgR0x1aW50
IHNyY0xlbmd0aCkKIHsKICAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpIHx8ICF2YWxp
ZGF0ZVVuaWZvcm1QYXJhbWV0ZXJzKCJ1bmlmb3JtMWZ2IiwgbG9jYXRpb24sIGRhdGEsIDEsIHNy
Y09mZnNldCwgc3JjTGVuZ3RoKSkKQEAgLTM0NjQsNiArMzQ0OSw3NCBAQCB2b2lkIFdlYkdMMlJl
bmRlcmluZ0NvbnRleHQ6OnVuY2FjaGVEZWxldGVkQnVmZmVyKFdlYkdMQnVmZmVyKiBidWZmZXIp
CiAKICN1bmRlZiBSRU1PVkVfQlVGRkVSX0ZST01fQklORElORwogCit2b2lkIFdlYkdMMlJlbmRl
cmluZ0NvbnRleHQ6OnVwZGF0ZUJ1ZmZlcnNUb0F1dG9DbGVhcihDbGVhckJ1ZmZlckNhbGxlciBj
YWxsZXIsIEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyKQoreworICAgIC8vIFRo
aXMgbWV0aG9kIG1ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCBhdXRvLWNsZWFyIGFueSBidWZmZXJz
IHdoaWNoIHRoZQorICAgIC8vIHVzZXIgaGFzIG1hbnVhbGx5IGNsZWFyZWQgdXNpbmcgdGhlIG5l
dyBFUyAzLjAgY2xlYXJCdWZmZXIqIEFQSXMuCisKKyAgICAvLyBJZiB0aGUgdXNlciBoYXMgYSBm
cmFtZWJ1ZmZlciBib3VuZCwgZG9uJ3QgdXBkYXRlIHRoZSBhdXRvLWNsZWFyCisgICAgLy8gc3Rh
dGUgb2YgdGhlIGJ1aWx0LWluIGJhY2sgYnVmZmVyLgorICAgIGlmIChtX2ZyYW1lYnVmZmVyQmlu
ZGluZykKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8gSWYgdGhlIHNjaXNzb3IgdGVzdCBpcyBv
biwgYXNzdW1lIHRoYXQgd2UgY2FuJ3Qgc2hvcnQtY2lyY3VpdAorICAgIC8vIHRoZXNlIGNsZWFy
cy4KKyAgICBpZiAobV9zY2lzc29yRW5hYmxlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgLy8g
VGhlIGRlZmF1bHQgYmFjayBidWZmZXIgb25seSBoYXMgb25lIGNvbG9yIGF0dGFjaG1lbnQuCisg
ICAgaWYgKGRyYXdidWZmZXIpCisgICAgICAgIHJldHVybjsKKworICAgIC8vIElmIHRoZSBjYWxs
IHRvIHRoZSBkcml2ZXIgZ2VuZXJhdGVkIGFuIGVycm9yLCBkb24ndCBjbGFpbSB0aGF0CisgICAg
Ly8gd2UndmUgYXV0by1jbGVhcmVkIHRoZXNlIGJ1ZmZlcnMuIFRoZSBlYXJseSByZXR1cm5zIGJl
bG93IGFyZSBmb3IKKyAgICAvLyBjYXNlcyB3aGVyZSBlcnJvcnMgd2lsbCBiZSBwcm9kdWNlZC4K
KworICAgIC8vIFRoZSBkZWZhdWx0IGJhY2sgYnVmZmVyIGlzIGN1cnJlbnRseSBhbHdheXMgUkdC
KEEpOCwgd2hpY2gKKyAgICAvLyByZXN0cmljdHMgdGhlIHZhcmlhbnRzIHdoaWNoIGNhbiBsZWdh
bGx5IGJlIHVzZWQgdG8gY2xlYXIgdGhlCisgICAgLy8gY29sb3IgYnVmZmVyLiBUT0RPKGNyYnVn
LmNvbS84Mjk2MzIpOiB0aGlzIG5lZWRzIHRvIGJlCisgICAgLy8gZ2VuZXJhbGl6ZWQuCisgICAg
c3dpdGNoIChjYWxsZXIpIHsKKyAgICBjYXNlIENsZWFyQnVmZmVyQ2FsbGVyOjpDbGVhckJ1ZmZl
cml2OgorICAgICAgICBpZiAoYnVmZmVyICE9IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMKQor
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENsZWFyQnVmZmVy
Q2FsbGVyOjpDbGVhckJ1ZmZlcmZ2OgorICAgICAgICBpZiAoYnVmZmVyICE9IEdyYXBoaWNzQ29u
dGV4dEdMOjpDT0xPUiAmJiBidWZmZXIgIT0gR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBicmVhazsKKyAgICBjYXNlIENsZWFyQnVmZmVyQ2Fs
bGVyOjpDbGVhckJ1ZmZlcnVpdjoKKyAgICAgICAgcmV0dXJuOworICAgIGNhc2UgQ2xlYXJCdWZm
ZXJDYWxsZXI6OkNsZWFyQnVmZmVyZmk6CisgICAgICAgIGlmIChidWZmZXIgIT0gR3JhcGhpY3ND
b250ZXh0R0w6OkRFUFRIX1NURU5DSUwpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGJy
ZWFrOworICAgIH0KKworICAgIEdDR0xiaXRmaWVsZCBidWZmZXJzVG9DbGVhciA9IDA7CisKKyAg
ICAvLyBUdXJuIGl0IGludG8gYSBiaXRmaWVsZCBhbmQgbWFzayBpdCBvZmYuCisgICAgc3dpdGNo
IChidWZmZXIpIHsKKyAgICBjYXNlIEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUjoKKyAgICAgICAg
YnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1JfQlVGRkVSX0JJVDsKKyAg
ICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEg6CisgICAgICAg
IGJ1ZmZlcnNUb0NsZWFyID0gR3JhcGhpY3NDb250ZXh0R0w6OkRFUFRIX0JVRkZFUl9CSVQ7Cisg
ICAgICAgIGJyZWFrOworICAgIGNhc2UgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUw6CisgICAg
ICAgIGJ1ZmZlcnNUb0NsZWFyID0gR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfQlVGRkVSX0JJ
VDsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhfU1RF
TkNJTDoKKyAgICAgICAgYnVmZmVyc1RvQ2xlYXIgPSBHcmFwaGljc0NvbnRleHRHTDo6REVQVEhf
QlVGRkVSX0JJVCB8IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JVRkZFUl9CSVQ7CisgICAg
ICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAgIC8vIElsbGVnYWwgdmFsdWUuCisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX2NvbnRleHQtPnNldEJ1ZmZlcnNUb0F1dG9DbGVh
cihtX2NvbnRleHQtPmdldEJ1ZmZlcnNUb0F1dG9DbGVhcigpICYgKH5idWZmZXJzVG9DbGVhcikp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCR0wp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdD
b250ZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTDJSZW5kZXJpbmdDb250
ZXh0LmgKaW5kZXggMDQyMGQ3NzY2MThlNzJlMzllMWY4NTU2ODdiNWUzMzQ1OGM1ZDg4YS4uYzE2
ZDZhN2JjNDQ4YzQxM2Q0ZWNkZTVmN2E5MmY5YjQ1ZjQxY2QwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0wyUmVuZGVyaW5nQ29udGV4dC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvY2FudmFzL1dlYkdMMlJlbmRlcmluZ0NvbnRleHQuaApAQCAtMjkxLDYg
KzI5MSw3IEBAIHByaXZhdGU6CiAgICAgYm9vbCB2YWxpZGF0ZUluZGV4QXJyYXlDb25zZXJ2YXRp
dmUoR0NHTGVudW0gdHlwZSwgdW5zaWduZWQmIG51bUVsZW1lbnRzUmVxdWlyZWQpIGZpbmFsOwog
ICAgIGJvb2wgdmFsaWRhdGVCbGVuZEVxdWF0aW9uKGNvbnN0IGNoYXIqIGZ1bmN0aW9uTmFtZSwg
R0NHTGVudW0gbW9kZSkgZmluYWw7CiAgICAgYm9vbCB2YWxpZGF0ZUNhcGFiaWxpdHkoY29uc3Qg
Y2hhciogZnVuY3Rpb25OYW1lLCBHQ0dMZW51bSBjYXApIGZpbmFsOworICAgIGJvb2wgdmFsaWRh
dGVDbGVhckJ1ZmZlcihjb25zdCBjaGFyKiBmdW5jdGlvbk5hbWUsIEdDR0xlbnVtIGJ1ZmZlciwg
c2l6ZV90LCBHQ0dMdWludCBzcmNPZmZzZXQpOwogICAgIGJvb2wgdmFsaWRhdGVGcmFtZWJ1ZmZl
clRhcmdldChHQ0dMZW51bSB0YXJnZXQpIGZpbmFsOwogICAgIFdlYkdMRnJhbWVidWZmZXIqIGdl
dEZyYW1lYnVmZmVyQmluZGluZyhHQ0dMZW51bSB0YXJnZXQpIGZpbmFsOwogICAgIFdlYkdMRnJh
bWVidWZmZXIqIGdldFJlYWRGcmFtZWJ1ZmZlckJpbmRpbmcoKSBmaW5hbDsKQEAgLTMxNyw2ICsz
MTgsMTQgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgdW5jYWNoZURlbGV0ZWRCdWZmZXIoV2ViR0xC
dWZmZXIqKSBmaW5hbDsKIAorICAgIGVudW0gY2xhc3MgQ2xlYXJCdWZmZXJDYWxsZXIgOiB1aW50
OF90IHsKKyAgICAgICAgQ2xlYXJCdWZmZXJpdiwKKyAgICAgICAgQ2xlYXJCdWZmZXJ1aXYsCisg
ICAgICAgIENsZWFyQnVmZmVyZnYsCisgICAgICAgIENsZWFyQnVmZmVyZmkKKyAgICB9OworICAg
IHZvaWQgdXBkYXRlQnVmZmVyc1RvQXV0b0NsZWFyKENsZWFyQnVmZmVyQ2FsbGVyLCBHQ0dMZW51
bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlcik7CisKICAgICBSZWZQdHI8V2ViR0xGcmFtZWJ1
ZmZlcj4gbV9yZWFkRnJhbWVidWZmZXJCaW5kaW5nOwogICAgIFJlZlB0cjxXZWJHTFRyYW5zZm9y
bUZlZWRiYWNrPiBtX2JvdW5kVHJhbnNmb3JtRmVlZGJhY2s7CiAgICAgUmVmUHRyPFdlYkdMVHJh
bnNmb3JtRmVlZGJhY2s+IG1fZGVmYXVsdFRyYW5zZm9ybUZlZWRiYWNrOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9jYW52YXMvV2ViR0xGcmFtZWJ1ZmZlci5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9odG1sL2NhbnZhcy9XZWJHTEZyYW1lYnVmZmVyLmNwcAppbmRleCA0YmM5M2ViYmVm
MGQ1OGZmMjQzMzYzYzU2Yzk2NzYxMDNlN2I1ZTFjLi41NDNiZDc3ZmEwZmM2MWY2MmRjNTBhMDBi
NjFmZWJkYzZlNjEwYTE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9X
ZWJHTEZyYW1lYnVmZmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL2NhbnZhcy9XZWJH
TEZyYW1lYnVmZmVyLmNwcApAQCAtNjIxLDMyICs2MjEsMzIgQEAgdm9pZCBXZWJHTEZyYW1lYnVm
ZmVyOjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZzKQogCiB2b2lkIFdl
YkdMRnJhbWVidWZmZXI6OmRyYXdCdWZmZXJzSWZOZWNlc3NhcnkoYm9vbCBmb3JjZSkKIHsKLSNp
ZiBFTkFCTEUoV0VCR0wyKQotICAgIC8vIEZJWE1FOiBUaGUgbG9naWMgaGVyZSBzZWVtcyB3cm9u
Zy4gSWYgd2UgZG9uJ3QgaGF2ZSBXZWJHTCAyIGVuYWJsZWQgYXQgYWxsLCB0aGVuCi0gICAgLy8g
d2Ugc2tpcCB0aGUgbV93ZWJnbERyYXdCdWZmZXJzIGNoZWNrLiBCdXQgaWYgd2UgZG8gaGF2ZSBX
ZWJHTCAyIGVuYWJsZWQsIHRoZW4gd2UKLSAgICAvLyBwZXJmb3JtIHRoaXMgY2hlY2ssIGZvciBX
ZWJHTCAxIGNvbnRleHRzIG9ubHkuCi0gICAgaWYgKCFjb250ZXh0KCktPm1fd2ViZ2xEcmF3QnVm
ZmVycyAmJiAhY29udGV4dCgpLT5pc1dlYkdMMigpKQotICAgICAgICByZXR1cm47Ci0jZW5kaWYK
LSAgICBib29sIHJlc2V0ID0gZm9yY2U7Ci0gICAgLy8gVGhpcyBmaWx0ZXJpbmcgd29ya3MgYXJv
dW5kIGdyYXBoaWNzIGRyaXZlciBidWdzIG9uIE1hYyBPUyBYLgotICAgIGZvciAoc2l6ZV90IGkg
PSAwOyBpIDwgbV9kcmF3QnVmZmVycy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAobV9kcmF3
QnVmZmVyc1tpXSAhPSBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORSAmJiBnZXRBdHRhY2htZW50KG1f
ZHJhd0J1ZmZlcnNbaV0pKSB7Ci0gICAgICAgICAgICBpZiAobV9maWx0ZXJlZERyYXdCdWZmZXJz
W2ldICE9IG1fZHJhd0J1ZmZlcnNbaV0pIHsKLSAgICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJh
d0J1ZmZlcnNbaV0gPSBtX2RyYXdCdWZmZXJzW2ldOwotICAgICAgICAgICAgICAgIHJlc2V0ID0g
dHJ1ZTsKKyAgICBpZiAoY29udGV4dCgpLT5pc1dlYkdMMigpIHx8IGNvbnRleHQoKS0+bV93ZWJn
bERyYXdCdWZmZXJzKSB7CisgICAgICAgIGJvb2wgcmVzZXQgPSBmb3JjZTsKKyAgICAgICAgLy8g
VGhpcyBmaWx0ZXJpbmcgd29ya3MgYXJvdW5kIGdyYXBoaWNzIGRyaXZlciBidWdzIG9uIG1hY09T
LgorICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG1fZHJhd0J1ZmZlcnMuc2l6ZSgpOyAr
K2kpIHsKKyAgICAgICAgICAgIGlmIChtX2RyYXdCdWZmZXJzW2ldICE9IEdyYXBoaWNzQ29udGV4
dEdMOjpOT05FICYmIGdldEF0dGFjaG1lbnQobV9kcmF3QnVmZmVyc1tpXSkpIHsKKyAgICAgICAg
ICAgICAgICBpZiAobV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldICE9IG1fZHJhd0J1ZmZlcnNbaV0p
IHsKKyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzW2ldID0gbV9kcmF3
QnVmZmVyc1tpXTsKKyAgICAgICAgICAgICAgICAgICAgcmVzZXQgPSB0cnVlOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgICAgaWYgKG1fZmls
dGVyZWREcmF3QnVmZmVyc1tpXSAhPSBHcmFwaGljc0NvbnRleHRHTDo6Tk9ORSkgeworICAgICAg
ICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gPSBHcmFwaGljc0NvbnRleHRH
TDo6Tk9ORTsKKyAgICAgICAgICAgICAgICAgICAgcmVzZXQgPSB0cnVlOworICAgICAgICAgICAg
ICAgIH0KICAgICAgICAgICAgIH0KLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGlmICht
X2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gIT0gR3JhcGhpY3NDb250ZXh0R0w6Ok5PTkUpIHsKLSAg
ICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnNbaV0gPSBHcmFwaGljc0NvbnRleHRH
TDo6Tk9ORTsKLSAgICAgICAgICAgICAgICByZXNldCA9IHRydWU7CisgICAgICAgIH0KKyAgICAg
ICAgaWYgKHJlc2V0KSB7CisgICAgICAgICAgICBpZiAoY29udGV4dCgpLT5pc1dlYkdMMigpKSB7
CisgICAgICAgICAgICAgICAgY29udGV4dCgpLT5ncmFwaGljc0NvbnRleHRHTCgpLT5kcmF3QnVm
ZmVycygKKyAgICAgICAgICAgICAgICAgICAgbV9maWx0ZXJlZERyYXdCdWZmZXJzLnNpemUoKSwg
bV9maWx0ZXJlZERyYXdCdWZmZXJzLmRhdGEoKSk7CisgICAgICAgICAgICB9IGVsc2UgeworICAg
ICAgICAgICAgICAgIGNvbnRleHQoKS0+Z3JhcGhpY3NDb250ZXh0R0woKS0+Z2V0RXh0ZW5zaW9u
cygpLmRyYXdCdWZmZXJzRVhUKAorICAgICAgICAgICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1
ZmZlcnMuc2l6ZSgpLCBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnMuZGF0YSgpKTsKICAgICAgICAgICAg
IH0KICAgICAgICAgfQogICAgIH0KLSAgICBpZiAocmVzZXQpIHsKLSAgICAgICAgY29udGV4dCgp
LT5ncmFwaGljc0NvbnRleHRHTCgpLT5nZXRFeHRlbnNpb25zKCkuZHJhd0J1ZmZlcnNFWFQoCi0g
ICAgICAgICAgICBtX2ZpbHRlcmVkRHJhd0J1ZmZlcnMuc2l6ZSgpLCBtX2ZpbHRlcmVkRHJhd0J1
ZmZlcnMuZGF0YSgpKTsKLSAgICB9CiB9CiAKIEdDR0xlbnVtIFdlYkdMRnJhbWVidWZmZXI6Omdl
dERyYXdCdWZmZXIoR0NHTGVudW0gZHJhd0J1ZmZlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvY2FudmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuY3BwIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKaW5kZXggN2Qw
OWI1YjJhOTIwMmM0MmUzOGEwYTg3NTI0MjEyYzIxYzFjNGU5OS4uZDFkMzE3Y2I2NjI5NjIxNjI3
MGZhNmU0YWEzODQzYjQ2ZjI0ZDJmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9j
YW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5jcHAKQEAgLTExMDAsMTMgKzEx
MDAsMTcgQEAgYm9vbCBXZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlOjpjbGVhcklmQ29tcG9zaXRl
ZChHQ0dMYml0ZmllbGQgbWFzaykKICAgICBpZiAoaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQog
ICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBpZiAoIW1fY29udGV4dC0+bGF5ZXJDb21wb3Np
dGVkKCkgfHwgbV9sYXllckNsZWFyZWQKLSAgICAgICAgfHwgbV9hdHRyaWJ1dGVzLnByZXNlcnZl
RHJhd2luZ0J1ZmZlciB8fCAobWFzayAmJiBtX2ZyYW1lYnVmZmVyQmluZGluZykKLSAgICAgICAg
fHwgbV9wcmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNwZWN0b3IpCisgICAgaWYgKCFtX2NvbnRleHQt
PmxheWVyQ29tcG9zaXRlZCgpIHx8IG1fbGF5ZXJDbGVhcmVkIHx8IG1fcHJldmVudEJ1ZmZlckNs
ZWFyRm9ySW5zcGVjdG9yKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBhdXRvIGNvbnRl
eHRBdHRyaWJ1dGVzID0gZ2V0Q29udGV4dEF0dHJpYnV0ZXMoKTsKLSAgICBBU1NFUlQoY29udGV4
dEF0dHJpYnV0ZXMpOworICAgIEdDR0xiaXRmaWVsZCBidWZmZXJzTmVlZGluZ0NsZWFyaW5nID0g
bV9jb250ZXh0LT5nZXRCdWZmZXJzVG9BdXRvQ2xlYXIoKTsKKworICAgIGlmICghYnVmZmVyc05l
ZWRpbmdDbGVhcmluZyB8fCAobWFzayAmJiBtX2ZyYW1lYnVmZmVyQmluZGluZykpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIC8vIFVzZSB0aGUgdW5kZXJseWluZyBHcmFwaGljc0NvbnRl
eHQzRCdzIGF0dHJpYnV0ZXMgdG8gdGFrZSBpbnRvCisgICAgLy8gYWNjb3VudCAoZm9yIGV4YW1w
bGUpIHBhY2tlZCBkZXB0aC9zdGVuY2lsIGJ1ZmZlcnMuCisgICAgYXV0byBjb250ZXh0QXR0cmli
dXRlcyA9IG1fY29udGV4dC0+Y29udGV4dEF0dHJpYnV0ZXMoKTsKIAogICAgIC8vIERldGVybWlu
ZSBpZiBpdCdzIHBvc3NpYmxlIHRvIGNvbWJpbmUgdGhlIGNsZWFyIHRoZSB1c2VyIGFza2VkIGZv
ciBhbmQgdGhpcyBjbGVhci4KICAgICBib29sIGNvbWJpbmVkQ2xlYXIgPSBtYXNrICYmICFtX3Nj
aXNzb3JFbmFibGVkOwpAQCAtMTEyMSwxMyArMTEyNSwxMyBAQCBib29sIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmNsZWFySWZDb21wb3NpdGVkKEdDR0xiaXRmaWVsZCBtYXNrKQogICAgICAg
ICBtX2NvbnRleHQtPmNsZWFyQ29sb3IoMCwgMCwgMCwgMCk7CiAgICAgbV9jb250ZXh0LT5jb2xv
ck1hc2sodHJ1ZSwgdHJ1ZSwgdHJ1ZSwgdHJ1ZSk7CiAgICAgR0NHTGJpdGZpZWxkIGNsZWFyTWFz
ayA9IEdyYXBoaWNzQ29udGV4dEdMOjpDT0xPUl9CVUZGRVJfQklUOwotICAgIGlmIChjb250ZXh0
QXR0cmlidXRlcy0+ZGVwdGgpIHsKKyAgICBpZiAoY29udGV4dEF0dHJpYnV0ZXMuZGVwdGgpIHsK
ICAgICAgICAgaWYgKCFjb21iaW5lZENsZWFyIHx8ICFtX2RlcHRoTWFzayB8fCAhKG1hc2sgJiBH
cmFwaGljc0NvbnRleHRHTDo6REVQVEhfQlVGRkVSX0JJVCkpCiAgICAgICAgICAgICBtX2NvbnRl
eHQtPmNsZWFyRGVwdGgoMS4wZik7CiAgICAgICAgIGNsZWFyTWFzayB8PSBHcmFwaGljc0NvbnRl
eHRHTDo6REVQVEhfQlVGRkVSX0JJVDsKICAgICAgICAgbV9jb250ZXh0LT5kZXB0aE1hc2sodHJ1
ZSk7CiAgICAgfQotICAgIGlmIChjb250ZXh0QXR0cmlidXRlcy0+c3RlbmNpbCkgeworICAgIGlm
IChjb250ZXh0QXR0cmlidXRlcy5zdGVuY2lsKSB7CiAgICAgICAgIGlmIChjb21iaW5lZENsZWFy
ICYmIChtYXNrICYgR3JhcGhpY3NDb250ZXh0R0w6OlNURU5DSUxfQlVGRkVSX0JJVCkpCiAgICAg
ICAgICAgICBtX2NvbnRleHQtPmNsZWFyU3RlbmNpbChtX2NsZWFyU3RlbmNpbCAmIG1fc3RlbmNp
bE1hc2spOwogICAgICAgICBlbHNlCkBAIC0xMTM1LDExICsxMTM5LDE1IEBAIGJvb2wgV2ViR0xS
ZW5kZXJpbmdDb250ZXh0QmFzZTo6Y2xlYXJJZkNvbXBvc2l0ZWQoR0NHTGJpdGZpZWxkIG1hc2sp
CiAgICAgICAgIGNsZWFyTWFzayB8PSBHcmFwaGljc0NvbnRleHRHTDo6U1RFTkNJTF9CVUZGRVJf
QklUOwogICAgICAgICBtX2NvbnRleHQtPnN0ZW5jaWxNYXNrU2VwYXJhdGUoR3JhcGhpY3NDb250
ZXh0R0w6OkZST05ULCAweEZGRkZGRkZGKTsKICAgICB9Ci0gICAgCisKICAgICBHQ0dMZW51bSBi
aW5kaW5nUG9pbnQgPSBpc1dlYkdMMigpID8gR3JhcGhpY3NDb250ZXh0R0w6OkRSQVdfRlJBTUVC
VUZGRVIgOiBHcmFwaGljc0NvbnRleHRHTDo6RlJBTUVCVUZGRVI7CiAgICAgaWYgKG1fZnJhbWVi
dWZmZXJCaW5kaW5nKQogICAgICAgICBtX2NvbnRleHQtPmJpbmRGcmFtZWJ1ZmZlcihiaW5kaW5n
UG9pbnQsIDApOwotICAgIG1fY29udGV4dC0+Y2xlYXIoY2xlYXJNYXNrKTsKKyAgICAvLyBJZiB0
aGUgV2ViR0wgMi4wIGNsZWFyQnVmZmVyIEFQSXMgYWxyZWFkeSBoYXZlIGJlZW4gdXNlZCB0bwor
ICAgIC8vIHNlbGVjdGl2ZWx5IGNsZWFyIHNvbWUgb2YgdGhlIGJ1ZmZlcnMsIGRvbid0IGRlc3Ry
b3kgdGhvc2UKKyAgICAvLyByZXN1bHRzLgorICAgIG1fY29udGV4dC0+Y2xlYXIoY2xlYXJNYXNr
ICYgYnVmZmVyc05lZWRpbmdDbGVhcmluZyk7CisgICAgbV9jb250ZXh0LT5zZXRCdWZmZXJzVG9B
dXRvQ2xlYXIoMCk7CiAKICAgICByZXN0b3JlU3RhdGVBZnRlckNsZWFyKCk7CiAgICAgaWYgKG1f
ZnJhbWVidWZmZXJCaW5kaW5nKQpAQCAtMzY4OCw2ICszNjk2LDE0IEBAIGJvb2wgV2ViR0xSZW5k
ZXJpbmdDb250ZXh0QmFzZTo6ZXh0ZW5zaW9uSXNFbmFibGVkKGNvbnN0IFN0cmluZyYgbmFtZSkK
ICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK3ZvaWQgV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZTo6
ZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKCkKK3sKKyAgICBBU1NFUlQoIW1fYXR0cmlidXRl
cy5wcmVzZXJ2ZURyYXdpbmdCdWZmZXIpOworICAgIG1fYXR0cmlidXRlcy5wcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgPSB0cnVlOworICAgIC8vIE11c3Qgc2VuZCB0aGlzIG5vdGlmaWNhdGlvbiBkb3du
IHRvIHRoZSBHcmFwaGljc0NvbnRleHRHTCBhcyB3ZWxsLgorICAgIG1fY29udGV4dC0+ZW5hYmxl
UHJlc2VydmVEcmF3aW5nQnVmZmVyKCk7Cit9CisKIEdDR0xib29sZWFuIFdlYkdMUmVuZGVyaW5n
Q29udGV4dEJhc2U6OmlzQnVmZmVyKFdlYkdMQnVmZmVyKiBidWZmZXIpCiB7CiAgICAgaWYgKCFi
dWZmZXIgfHwgaXNDb250ZXh0TG9zdE9yUGVuZGluZygpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9jYW52YXMvV2ViR0xSZW5kZXJpbmdDb250ZXh0QmFzZS5oCmluZGV4IDljMDlh
MDU0NmYyOGM0YmYzNjdkYTZlOWFlYzE4NDlkZTg0ZDdiM2YuLmYxMDdmYWFhODkzMGUxYTJjZmQ1
MTNmYjkwZTExODUzMjY3ODM3MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvY2Fu
dmFzL1dlYkdMUmVuZGVyaW5nQ29udGV4dEJhc2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L2NhbnZhcy9XZWJHTFJlbmRlcmluZ0NvbnRleHRCYXNlLmgKQEAgLTIxNSw3ICsyMTUsMTAgQEAg
cHVibGljOgogICAgIGJvb2wgZXh0ZW5zaW9uSXNFbmFibGVkKGNvbnN0IFN0cmluZyYpOwogCiAg
ICAgYm9vbCBpc1ByZXNlcnZpbmdEcmF3aW5nQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9hdHRy
aWJ1dGVzLnByZXNlcnZlRHJhd2luZ0J1ZmZlcjsgfQotICAgIHZvaWQgc2V0UHJlc2VydmVEcmF3
aW5nQnVmZmVyKGJvb2wgdmFsdWUpIHsgbV9hdHRyaWJ1dGVzLnByZXNlcnZlRHJhd2luZ0J1ZmZl
ciA9IHZhbHVlOyB9CisgICAgLy8gQ29uY2Vzc2lvbiB0byBjYW52YXMgY2FwdHVyZSBBUEksIHdo
aWNoIG11c3QgZHluYW1pY2FsbHkgZW5hYmxlCisgICAgLy8gcHJlc2VydmVEcmF3aW5nQnVmZmVy
LiBUaGlzIGNhbiBvbmx5IGJlIGNhbGxlZCBvbmNlLCB3aGVuCisgICAgLy8gaXNQcmVzZXJ2aW5n
RHJhd2luZ0J1ZmZlcigpIHJldHVybnMgZmFsc2UuCisgICAgdm9pZCBlbmFibGVQcmVzZXJ2ZURy
YXdpbmdCdWZmZXIoKTsKIAogICAgIGJvb2wgcHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9y
KCkgY29uc3QgeyByZXR1cm4gbV9wcmV2ZW50QnVmZmVyQ2xlYXJGb3JJbnNwZWN0b3I7IH0KICAg
ICB2b2lkIHNldFByZXZlbnRCdWZmZXJDbGVhckZvckluc3BlY3Rvcihib29sIHZhbHVlKSB7IG1f
cHJldmVudEJ1ZmZlckNsZWFyRm9ySW5zcGVjdG9yID0gdmFsdWU7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dEdMLmNwcAppbmRl
eCA5YTc0MjY5ZTY1ZjdiZTMyNDkxNTcwM2IzNWQ0OWVhNzM0ZWRiYzNkLi4xNmNjMTBjNzdlMmY2
NmRlMGFhNzk4MDM5Yjc4MzY0ZWE5NmRmODc5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRHTC5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuY3BwCkBAIC00MCw2ICs0MCwx
MyBAQCBHcmFwaGljc0NvbnRleHRHTDo6R3JhcGhpY3NDb250ZXh0R0woR3JhcGhpY3NDb250ZXh0
R0xBdHRyaWJ1dGVzIGF0dHJzLCBEZXN0aW5hdAogewogfQogCit2b2lkIEdyYXBoaWNzQ29udGV4
dEdMOjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKQoreworICAgIC8vIENhbnZhcyBjYXB0
dXJlIHNob3VsZCBub3QgY2FsbCB0aGlzIHVubGVzcyBuZWNlc3NhcnkuCisgICAgQVNTRVJUKCFt
X2F0dHJzLnByZXNlcnZlRHJhd2luZ0J1ZmZlcik7CisgICAgbV9hdHRycy5wcmVzZXJ2ZURyYXdp
bmdCdWZmZXIgPSB0cnVlOworfQorCiB1bnNpZ25lZCBHcmFwaGljc0NvbnRleHRHTDo6Z2V0Q2xl
YXJCaXRzQnlBdHRhY2htZW50VHlwZShHQ0dMZW51bSBhdHRhY2htZW50KQogewogICAgIHN3aXRj
aCAoYXR0YWNobWVudCkgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvR3JhcGhpY3NDb250ZXh0R0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL0dyYXBoaWNzQ29udGV4dEdMLmgKaW5kZXggN2I2N2I2NzkxMWFjODc4N2NhYjZlOTA1ZmJi
OWYwMzBiMTkzNDQ0ZS4uMTllYTcxOTM2NWM4NWZhNjAzZmExN2U3ZGI3YWEyMjQ4OWFhNzg4NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250
ZXh0R0wuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0Nv
bnRleHRHTC5oCkBAIC0xMTE2LDYgKzExMTYsMTAgQEAgcHVibGljOgogCiAgICAgR3JhcGhpY3ND
b250ZXh0R0xBdHRyaWJ1dGVzIGNvbnRleHRBdHRyaWJ1dGVzKCkgY29uc3QgeyByZXR1cm4gbV9h
dHRyczsgfQogICAgIHZvaWQgc2V0Q29udGV4dEF0dHJpYnV0ZXMoY29uc3QgR3JhcGhpY3NDb250
ZXh0R0xBdHRyaWJ1dGVzJiBhdHRycykgeyBtX2F0dHJzID0gYXR0cnM7IH0KKyAgICAvLyBDb25j
ZXNzaW9uIHRvIENhbnZhcyBjYXB0dXJlU3RyZWFtLCB3aGljaCBuZWVkcyB0byBkeW5hbWljYWxs
eSBzZXQKKyAgICAvLyBwcmVzZXJ2ZURyYXdpbmdCdWZmZXIgdG8gdHJ1ZSBpbiBvcmRlciB0byBh
dm9pZCBpbXBsaWNpdCBjbGVhcnMuCisgICAgLy8gSW1wbGVtZW50YXRpb25zIGdlbmVyYWxseSBk
byBub3Qgc3VwcG9ydCB0b2dnbGluZyB0aGlzIGJpdCBhcmJpdHJhcmlseS4KKyAgICB2aXJ0dWFs
IHZvaWQgZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKCk7CiAKICAgICAvLyBWZXJ0ZXhBcnJh
eU9qZWN0IGNhbGxzCiAgICAgdmlydHVhbCBQbGF0Zm9ybUdMT2JqZWN0IGNyZWF0ZVZlcnRleEFy
cmF5KCkgPSAwOwpAQCAtMTE4Niw3ICsxMTkwLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCB2
b2lkIGRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUsIEdDR0x1aW50IHN0YXJ0LCBHQ0dM
dWludCBlbmQsIEdDR0xzaXplaSBjb3VudCwgR0NHTGVudW0gdHlwZSwgR0NHTGludHB0ciBvZmZz
ZXQpID0gMDsKIAotICAgIHZpcnR1YWwgdm9pZCBkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NH
TGVudW0+JiBidWZmZXJzKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRyYXdCdWZmZXJzKEdDR0xz
aXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBjbGVh
ckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dM
aW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBj
bGVhckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29uc3Qg
R0NHTHVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGNsZWFyQnVmZmVyZnYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNv
bnN0IEdDR0xmbG9hdCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpID0gMDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2FuZ2xlL0dyYXBoaWNzQ29udGV4
dEdMQU5HTEUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3Jh
cGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKaW5kZXggY2MxMGMxZTA0MjAyNTMwNTUzNDRkNWYwMGUy
MWI3ZDNhODhkZTRjZC4uMjk0ZDExOWMwYmMwZWFiYWRlOWU5MTBhYTE2YjYwNzA4Y2NiMzVmZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYW5nbGUvR3JhcGhp
Y3NDb250ZXh0R0xBTkdMRS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvYW5nbGUvR3JhcGhpY3NDb250ZXh0R0xBTkdMRS5jcHAKQEAgLTE4OTksNiArMTg5OSw3IEBA
IHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6Om1hcmtDb250ZXh0Q2hhbmdlZCgpCiB2b2lk
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjptYXJrTGF5ZXJDb21wb3NpdGVkKCkKIHsKICAgICBt
X2xheWVyQ29tcG9zaXRlZCA9IHRydWU7CisgICAgcmVzZXRCdWZmZXJzVG9BdXRvQ2xlYXIoKTsK
IAogICAgIGZvciAoYXV0byogY2xpZW50IDogY29weVRvVmVjdG9yKG1fY2xpZW50cykpCiAgICAg
ICAgIGNsaWVudC0+ZGlkQ29tcG9zaXRlKCk7CkBAIC0yMzA3LDQxICsyMzA4LDI5IEBAIHZvaWQg
R3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdSYW5nZUVsZW1lbnRzKEdDR0xlbnVtIG1vZGUs
IEdDR0x1aW50IHN0YXJ0LCBHCiAgICAgZ2w6OkRyYXdSYW5nZUVsZW1lbnRzKG1vZGUsIHN0YXJ0
LCBlbmQsIGNvdW50LCB0eXBlLCByZWludGVycHJldF9jYXN0PHZvaWQqPihvZmZzZXQpKTsKIH0K
IAotdm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1ZmZlcnMoY29uc3QgVmVjdG9y
PEdDR0xlbnVtPiYgYnVmZmVycykKK3ZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmRyYXdC
dWZmZXJzKEdDR0xzaXplaSBuLCBjb25zdCBHQ0dMZW51bSogYnVmcykKIHsKLSAgICBVTlVTRURf
UEFSQU0oYnVmZmVycyk7CisgICAgZ2w6OkRyYXdCdWZmZXJzKG4sIGJ1ZnMpOwogfQogCiB2b2lk
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwg
R0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09m
ZnNldCkKIHsKLSAgICBVTlVTRURfUEFSQU0oYnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0oZHJh
d2J1ZmZlcik7Ci0gICAgVU5VU0VEX1BBUkFNKHZhbHVlcyk7Ci0gICAgVU5VU0VEX1BBUkFNKHNy
Y09mZnNldCk7CisgICAgZ2w6OkNsZWFyQnVmZmVyaXYoYnVmZmVyLCBkcmF3YnVmZmVyLCB2YWx1
ZXMgKyBzcmNPZmZzZXQpOwogfQogCiB2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVh
ckJ1ZmZlcnVpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29uc3QgR0NH
THVpbnQqIHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KQogewotICAgIFVOVVNFRF9QQVJBTShi
dWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0o
dmFsdWVzKTsKLSAgICBVTlVTRURfUEFSQU0oc3JjT2Zmc2V0KTsKKyAgICBnbDo6Q2xlYXJCdWZm
ZXJ1aXYoYnVmZmVyLCBkcmF3YnVmZmVyLCB2YWx1ZXMgKyBzcmNPZmZzZXQpOwogfQogCiB2b2lk
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcmZ2KEdDR0xlbnVtIGJ1ZmZlciwg
R0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMZmxvYXQqIHZhbHVlcywgR0NHTHVpbnQgc3Jj
T2Zmc2V0KQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOwotICAgIFVOVVNFRF9QQVJBTShk
cmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0odmFsdWVzKTsKLSAgICBVTlVTRURfUEFSQU0o
c3JjT2Zmc2V0KTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJmdihidWZmZXIsIGRyYXdidWZmZXIsIHZh
bHVlcyArIHNyY09mZnNldCk7CiB9CiAKIHZvaWQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmNs
ZWFyQnVmZmVyZmkoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIEdDR0xmbG9h
dCBkZXB0aCwgR0NHTGludCBzdGVuY2lsKQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXIpOwot
ICAgIFVOVVNFRF9QQVJBTShkcmF3YnVmZmVyKTsKLSAgICBVTlVTRURfUEFSQU0oZGVwdGgpOwot
ICAgIFVOVVNFRF9QQVJBTShzdGVuY2lsKTsKKyAgICBnbDo6Q2xlYXJCdWZmZXJmaShidWZmZXIs
IGRyYXdidWZmZXIsIGRlcHRoLCBzdGVuY2lsKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHRH
TE9wZW5HTDo6ZGVsZXRlUXVlcnkoUGxhdGZvcm1HTE9iamVjdCBxdWVyeSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRH
TE9wZW5HTC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3Jh
cGhpY3NDb250ZXh0R0xPcGVuR0wuY3BwCmluZGV4IDMzZGI5OGJhNTdmNzM3OGJmYmEzYmYyZjEy
YTkwZTQ0YTgzNDVlMWQuLjJjMGE2NjcxYTI2ZTQxN2IwZmY2NzFlNTdlMTNmNDlmY2Q1Y2ZmMTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3Mvb3BlbmdsL0dyYXBoaWNzQ29udGV4dEdMT3BlbkdMLmNwcApAQCAtMjcxLDYgKzI3MSw0
MiBAQCBHcmFwaGljc0NvbnRleHRHTDo6RGF0YUZvcm1hdCBnZXREYXRhRm9ybWF0KEdDR0xlbnVt
IGRlc3RpbmF0aW9uRm9ybWF0LCBHQ0dMZW51bQogCiB9IC8vIGFub255bW91cyBuYW1lc3BhY2UK
IAordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6cmVzZXRCdWZmZXJzVG9BdXRvQ2xlYXIo
KQoreworICAgIEdDR0x1aW50IGJ1ZmZlcnMgPSBHcmFwaGljc0NvbnRleHRHTDo6Q09MT1JfQlVG
RkVSX0JJVDsKKyAgICAvLyBUaGUgR3JhcGhpY3NDb250ZXh0R0wncyBhdHRyaWJ1dGVzIChhcyBv
cHBvc2VkIHRvCisgICAgLy8gV2ViR0xSZW5kZXJpbmdDb250ZXh0J3MpIGluZGljYXRlIHdoZXRo
ZXIgdGhlcmUgaXMgYW4KKyAgICAvLyBpbXBsaWNpdGx5LWFsbG9jYXRlZCBzdGVuY2lsIGJ1ZmZl
ciwgZm9yIGV4YW1wbGUuCisgICAgYXV0byBhdHRycyA9IGNvbnRleHRBdHRyaWJ1dGVzKCk7Cisg
ICAgaWYgKGF0dHJzLmRlcHRoKQorICAgICAgICBidWZmZXJzIHw9IEdyYXBoaWNzQ29udGV4dEdM
OjpERVBUSF9CVUZGRVJfQklUOworICAgIGlmIChhdHRycy5zdGVuY2lsKQorICAgICAgICBidWZm
ZXJzIHw9IEdyYXBoaWNzQ29udGV4dEdMOjpTVEVOQ0lMX0JVRkZFUl9CSVQ7CisgICAgc2V0QnVm
ZmVyc1RvQXV0b0NsZWFyKGJ1ZmZlcnMpOworfQorCit2b2lkIEdyYXBoaWNzQ29udGV4dEdMT3Bl
bkdMOjpzZXRCdWZmZXJzVG9BdXRvQ2xlYXIoR0NHTGJpdGZpZWxkIGJ1ZmZlcnMpCit7CisgICAg
YXV0byBhdHRycyA9IGNvbnRleHRBdHRyaWJ1dGVzKCk7CisgICAgaWYgKCFhdHRycy5wcmVzZXJ2
ZURyYXdpbmdCdWZmZXIpCisgICAgICAgIG1fYnVmZmVyc1RvQXV0b0NsZWFyID0gYnVmZmVyczsK
KyAgICBlbHNlCisgICAgICAgIEFTU0VSVCghbV9idWZmZXJzVG9BdXRvQ2xlYXIpOworfQorCitH
Q0dMYml0ZmllbGQgR3JhcGhpY3NDb250ZXh0R0xPcGVuR0w6OmdldEJ1ZmZlcnNUb0F1dG9DbGVh
cigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fYnVmZmVyc1RvQXV0b0NsZWFyOworfQorCit2b2lk
IEdyYXBoaWNzQ29udGV4dEdMT3BlbkdMOjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKQor
eworICAgIEdyYXBoaWNzQ29udGV4dEdMOjplbmFibGVQcmVzZXJ2ZURyYXdpbmdCdWZmZXIoKTsK
KyAgICAvLyBBZnRlciBkeW5hbWljYWxseSB0cmFuc2l0aW9uaW5nIHRvIHByZXNlcnZlRHJhd2lu
Z0J1ZmZlcjp0cnVlCisgICAgLy8gZm9yIGNhbnZhcyBjYXB0dXJlLCBjbGVhciBvdXQgYW55IGJ1
ZmZlciBhdXRvLWNsZWFyaW5nIHN0YXRlLgorICAgIG1fYnVmZmVyc1RvQXV0b0NsZWFyID0gMDsK
K30KKwogYm9vbCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6dGV4SW1hZ2UyRFJlc291cmNlU2Fm
ZShHQ0dMZW51bSB0YXJnZXQsIEdDR0xpbnQgbGV2ZWwsIEdDR0xlbnVtIGludGVybmFsZm9ybWF0
LCBHQ0dMc2l6ZWkgd2lkdGgsIEdDR0xzaXplaSBoZWlnaHQsIEdDR0xpbnQgYm9yZGVyLCBHQ0dM
ZW51bSBmb3JtYXQsIEdDR0xlbnVtIHR5cGUsIEdDR0xpbnQgdW5wYWNrQWxpZ25tZW50KQogewog
ICAgIEFTU0VSVCh1bnBhY2tBbGlnbm1lbnQgPT0gMSB8fCB1bnBhY2tBbGlnbm1lbnQgPT0gMiB8
fCB1bnBhY2tBbGlnbm1lbnQgPT0gNCB8fCB1bnBhY2tBbGlnbm1lbnQgPT0gOCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250
ZXh0R0xPcGVuR0wuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9H
cmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCmluZGV4IDRlMTMxYmY4M2I2NTNmZWY3MDgxYTRkZTI4
MTJlNGQ4MTBmN2MyNDAuLjY1OTg3NGYyNGJmZGQ5ODE3OWE0NDg3MGYzNDYzOWQwZDRmNjNiOTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFw
aGljc0NvbnRleHRHTE9wZW5HTC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTC5oCkBAIC00MzMsNyArNDMzLDcgQEAg
cHVibGljOgogCiAgICAgdm9pZCBkcmF3UmFuZ2VFbGVtZW50cyhHQ0dMZW51bSBtb2RlLCBHQ0dM
dWludCBzdGFydCwgR0NHTHVpbnQgZW5kLCBHQ0dMc2l6ZWkgY291bnQsIEdDR0xlbnVtIHR5cGUs
IEdDR0xpbnRwdHIgb2Zmc2V0KSBmaW5hbDsKIAotICAgIHZvaWQgZHJhd0J1ZmZlcnMoY29uc3Qg
VmVjdG9yPEdDR0xlbnVtPiYgYnVmZmVycykgZmluYWw7CisgICAgdm9pZCBkcmF3QnVmZmVycyhH
Q0dMc2l6ZWkgbiwgY29uc3QgR0NHTGVudW0qIGJ1ZnMpIGZpbmFsOwogICAgIHZvaWQgY2xlYXJC
dWZmZXJpdihHQ0dMZW51bSBidWZmZXIsIEdDR0xpbnQgZHJhd2J1ZmZlciwgY29uc3QgR0NHTGlu
dCogdmFsdWVzLCBHQ0dMdWludCBzcmNPZmZzZXQpIGZpbmFsOwogICAgIHZvaWQgY2xlYXJCdWZm
ZXJ1aXYoR0NHTGVudW0gYnVmZmVyLCBHQ0dMaW50IGRyYXdidWZmZXIsIGNvbnN0IEdDR0x1aW50
KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNldCkgZmluYWw7CiAgICAgdm9pZCBjbGVhckJ1ZmZl
cmZ2KEdDR0xlbnVtIGJ1ZmZlciwgR0NHTGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMZmxvYXQq
IHZhbHVlcywgR0NHTHVpbnQgc3JjT2Zmc2V0KSBmaW5hbDsKQEAgLTUyMyw2ICs1MjMsMTQgQEAg
cHVibGljOgogICAgIHZvaWQgZm9yY2VDb250ZXh0TG9zdCgpOwogICAgIHZvaWQgcmVjeWNsZUNv
bnRleHQoKTsKIAorICAgIC8vIE1haW50ZW5hbmNlIG9mIGF1dG8tY2xlYXJpbmcgb2YgY29sb3Iv
ZGVwdGgvc3RlbmNpbCBidWZmZXJzLiBUaGUKKyAgICAvLyByZXNldCBtZXRob2QgaXMgcHJlc2Vu
dCB0byBrZWVwIGNhbGxpbmcgY29kZSBzaW1wbGVyLCBzbyBpdAorICAgIC8vIGRvZXNuJ3QgaGF2
ZSB0byBrbm93IHdoaWNoIGJ1ZmZlcnMgd2VyZSBhbGxvY2F0ZWQuCisgICAgdm9pZCByZXNldEJ1
ZmZlcnNUb0F1dG9DbGVhcigpOworICAgIHZvaWQgc2V0QnVmZmVyc1RvQXV0b0NsZWFyKEdDR0xi
aXRmaWVsZCk7CisgICAgR0NHTGJpdGZpZWxkIGdldEJ1ZmZlcnNUb0F1dG9DbGVhcigpIGNvbnN0
OworICAgIHZvaWQgZW5hYmxlUHJlc2VydmVEcmF3aW5nQnVmZmVyKCkgb3ZlcnJpZGU7CisKICAg
ICB2b2lkIGRpc3BhdGNoQ29udGV4dENoYW5nZWROb3RpZmljYXRpb24oKTsKICAgICB2b2lkIHNp
bXVsYXRlQ29udGV4dENoYW5nZWQoKTsKIApAQCAtODY0LDYgKzg3MiwxMSBAQCBwcml2YXRlOgog
ICAgIEdDR0x1aW50IG1fcHJlc2VydmVEcmF3aW5nQnVmZmVyRkJPIHsgMCB9OwogI2VuZGlmCiAK
KyAgICAvLyBBIGJpdG1hc2sgb2YgR0wgYnVmZmVyIGJpdHMgKEdMX0NPTE9SX0JVRkZFUl9CSVQs
CisgICAgLy8gR0xfREVQVEhfQlVGRkVSX0JJVCwgR0xfU1RFTkNJTF9CVUZGRVJfQklUKSB3aGlj
aCBuZWVkIHRvIGJlCisgICAgLy8gYXV0by1jbGVhcmVkLgorICAgIEdDR0xiaXRmaWVsZCBtX2J1
ZmZlcnNUb0F1dG9DbGVhciB7IDAgfTsKKwogICAgIC8vIEVycm9ycyByYWlzZWQgYnkgc3ludGhl
c2l6ZUdMRXJyb3IoKS4KICAgICBMaXN0SGFzaFNldDxHQ0dMZW51bT4gbV9zeW50aGV0aWNFcnJv
cnM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW5n
bC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVuZ2wvR3JhcGhpY3NDb250ZXh0R0xPcGVuR0xDb21tb24uY3BwCmlu
ZGV4IDJmNzUyODIxZGZkODZkZTk4NTY4YjJjM2U2MTRiYTljZGEyOTY3NTYuLmVlNTlhNjM3Nzk3
MTU1NjVmZjc1NjdkY2JiYzUwNTgzMGUxZDJmM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL29wZW5nbC9HcmFwaGljc0NvbnRleHRHTE9wZW5HTENvbW1vbi5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbmdsL0dyYXBoaWNz
Q29udGV4dEdMT3BlbkdMQ29tbW9uLmNwcApAQCAtMjAxOSw2ICsyMDE5LDcgQEAgdm9pZCBHcmFw
aGljc0NvbnRleHRHTE9wZW5HTDo6bWFya0NvbnRleHRDaGFuZ2VkKCkKIHZvaWQgR3JhcGhpY3ND
b250ZXh0R0xPcGVuR0w6Om1hcmtMYXllckNvbXBvc2l0ZWQoKQogewogICAgIG1fbGF5ZXJDb21w
b3NpdGVkID0gdHJ1ZTsKKyAgICByZXNldEJ1ZmZlcnNUb0F1dG9DbGVhcigpOwogCiAgICAgZm9y
IChhdXRvKiBjbGllbnQgOiBjb3B5VG9WZWN0b3IobV9jbGllbnRzKSkKICAgICAgICAgY2xpZW50
LT5kaWRDb21wb3NpdGUoKTsKQEAgLTI0MjQsOSArMjQyNSwxMCBAQCB2b2lkIEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMOjpkcmF3UmFuZ2VFbGVtZW50cyhHQ0dMZW51bSBtb2RlLCBHQ0dMdWludCBz
dGFydCwgRwogICAgIFVOVVNFRF9QQVJBTShvZmZzZXQpOwogfQogCi12b2lkIEdyYXBoaWNzQ29u
dGV4dEdMT3BlbkdMOjpkcmF3QnVmZmVycyhjb25zdCBWZWN0b3I8R0NHTGVudW0+JiBidWZmZXJz
KQordm9pZCBHcmFwaGljc0NvbnRleHRHTE9wZW5HTDo6ZHJhd0J1ZmZlcnMoR0NHTHNpemVpIG4s
IGNvbnN0IEdDR0xlbnVtKiBidWZzKQogewotICAgIFVOVVNFRF9QQVJBTShidWZmZXJzKTsKKyAg
ICBVTlVTRURfUEFSQU0obik7CisgICAgVU5VU0VEX1BBUkFNKGJ1ZnMpOwogfQogCiB2b2lkIEdy
YXBoaWNzQ29udGV4dEdMT3BlbkdMOjpjbGVhckJ1ZmZlcml2KEdDR0xlbnVtIGJ1ZmZlciwgR0NH
TGludCBkcmF3YnVmZmVyLCBjb25zdCBHQ0dMaW50KiB2YWx1ZXMsIEdDR0x1aW50IHNyY09mZnNl
dCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCAwOWY4MjUyOTI1NjY3ZmIxM2MxM2RkNzk0ODk0NDIxY2NhM2ZiNTkzLi45NWQx
MWQ5ODMwYmNhYjhiYjEwYTRmMGYyYWNlMmMyNGVmMGU2ZjNjIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMjAtMDctMjIgIEtlbm5ldGggUnVzc2VsbCAgPGtickBjaHJvbWl1bS5vcmc+CisKKyAg
ICAgICAgW1dlYkdMMl0gSW1wbGVtZW50IG11bHRpcGxlIHJlbmRlciB0YXJnZXQgZW50cnkgcG9p
bnRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTEx
NTYKKworICAgICAgICBSZXZpZXdlZCBieSBEZWFuIEphY2tzb24uCisKKyAgICAgICAgUmViYXNl
bGluZSBvbmUgbGF5b3V0IHRlc3Qgd2hpY2ggaXMgbm93IGZ1bGx5IHBhc3NpbmcsIGFuZCBhbm90
aGVyCisgICAgICAgIHdoaWNoIG5vdyBwcm9wZXJseSBkZXRlY3RzIGVycm9ycy4KKworICAgICAg
ICAqIGZhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi9zZXF1ZW5jZXMtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYmdsLzIuMC4wL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20t
ZmJvLXRlc3QtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTA3LTIyICBTaW1vbiBGcmFzZXIgIDxzaW1v
bi5mcmFzZXJAYXBwbGUuY29tPgogCiAgICAgICAgIGNvbXBvc2l0aW5nL3JlcGFpbnQvaWZyYW1l
cy9jb21wb3NpdGluZy1pZnJhbWUtc2Nyb2xsLXJlcGFpbnQuaHRtbCBmYWlscyBvbiBNb2phdmUK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY2FudmFzL3dlYmdsL3dlYmdsMi9zZXF1ZW5j
ZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3Nl
cXVlbmNlcy1leHBlY3RlZC50eHQKaW5kZXggYzNmMDI1ZGNiYmMwNWZmZjE0NTM5MzFjMWI1MjBh
YTZiZDg1YzRmZC4uNTUwZmFmZTY2NTVhYzlmZmEwYWU5Y2I0ZDM4NzUzN2M1MDEzYjZhYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3NlcXVlbmNlcy1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jYW52YXMvd2ViZ2wvd2ViZ2wyL3Nl
cXVlbmNlcy1leHBlY3RlZC50eHQKQEAgLTIsNiArMiwxMiBAQCBDT05TT0xFIE1FU1NBR0U6IFdl
YkdMOiBJTlZBTElEX1ZBTFVFOiB2ZXJ0ZXhBdHRyaWJJNGl2OiBhcnJheSB0b28gc21hbGwKIENP
TlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IHZlcnRleEF0dHJpYkk0aXY6IGFy
cmF5IHRvbyBzbWFsbAogQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogdmVy
dGV4QXR0cmliSTR1aXY6IGFycmF5IHRvbyBzbWFsbAogQ09OU09MRSBNRVNTQUdFOiBXZWJHTDog
SU5WQUxJRF9WQUxVRTogdmVydGV4QXR0cmliSTR1aXY6IGFycmF5IHRvbyBzbWFsbAorQ09OU09M
RSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJRF9WQUxVRTogY2xlYXJCdWZmZXJpdjogaW52YWxpZCBh
cnJheSBzaXplIC8gc3JjT2Zmc2V0CitDT05TT0xFIE1FU1NBR0U6IFdlYkdMOiBJTlZBTElEX1ZB
TFVFOiBjbGVhckJ1ZmZlcml2OiBpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNPZmZzZXQKK0NPTlNP
TEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVydWl2OiBpbnZhbGlk
IGFycmF5IHNpemUgLyBzcmNPZmZzZXQKK0NPTlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURf
VkFMVUU6IGNsZWFyQnVmZmVydWl2OiBpbnZhbGlkIGFycmF5IHNpemUgLyBzcmNPZmZzZXQKK0NP
TlNPTEUgTUVTU0FHRTogV2ViR0w6IElOVkFMSURfVkFMVUU6IGNsZWFyQnVmZmVyZnY6IGludmFs
aWQgYXJyYXkgc2l6ZSAvIHNyY09mZnNldAorQ09OU09MRSBNRVNTQUdFOiBXZWJHTDogSU5WQUxJ
RF9WQUxVRTogY2xlYXJCdWZmZXJmdjogaW52YWxpZCBhcnJheSBzaXplIC8gc3JjT2Zmc2V0CiAK
IFBBU1MgdW5pZm9ybTF1aXYgZGF0YSB3aXRoIHR5cGVkIGFycmF5IG9mIHR5cGUgdWkgCiBQQVNT
IHVuaWZvcm0xdWl2IGRhdGEgd2l0aCBzZXF1ZW5jZSBvZiB0eXBlIHVpIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvd2ViZ2wvMi4wLjAvY29uZm9ybWFuY2UyL3JlYWRpbmcvcmVhZC1waXhlbHMt
ZnJvbS1mYm8tdGVzdC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25m
b3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1mcm9tLWZiby10ZXN0LWV4cGVjdGVkLnR4dApp
bmRleCBkZjRmNTFmNzBiMWJiOWM3YmM5Y2NmZjI4MzQxZTM0NjIzNGY1ZTBlLi42ZDVmOTFmNDlj
Mzk3MzljM2I2NWM1MTI4YTMwZTg4YzhkOGE4ZDZlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy93
ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIvcmVhZGluZy9yZWFkLXBpeGVscy1mcm9tLWZiby10ZXN0
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy93ZWJnbC8yLjAuMC9jb25mb3JtYW5jZTIv
cmVhZGluZy9yZWFkLXBpeGVscy1mcm9tLWZiby10ZXN0LWV4cGVjdGVkLnR4dApAQCAtMSwyMDAg
KzEsNSBAQAogVGhpcyB0ZXN0IHJ1bnMgdGhlIFdlYkdMIFRlc3QgbGlzdGVkIGJlbG93IGluIGFu
IGlmcmFtZSBhbmQgcmVwb3J0cyBQQVNTIG9yIEZBSUwuCiAKIFRlc3Q6IC4uLy4uL3Jlc291cmNl
cy93ZWJnbF90ZXN0X2ZpbGVzL2NvbmZvcm1hbmNlMi9yZWFkaW5nL3JlYWQtcGl4ZWxzLWZyb20t
ZmJvLXRlc3QuaHRtbAotWyAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAyOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9y
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyA2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVk
Ci1bIDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0
dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDg6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVy
YXRlIG5vIGVycm9yCi1bIDk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5P
X0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTA6IEZBSUwg
XSBFeHBlY3RlZCBjb2xvciA9IDI1MCwwLDAsMCwgd2FzID0gMCwwLDAsMQotWyAxMTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMjUwLDAs
MCwwLCB3YXMgPSAwCi1bIDEzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNDog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xv
ciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTY6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC0xMjYsMCwwLDAsIHdhcyA9IDAsMCww
LDEKLVsgMTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
cmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTg6IEZBSUwgXSBFeHBlY3Rl
ZCBjb2xvciA9IC0xMjYsMCwwLDAsIHdhcyA9IDAKLVsgMTk6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRl
IG5vIGVycm9yCi1bIDIwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAyMTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAyMjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gMzAwMDEs
MCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsgMjM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MjQ6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDMwMDAxLDAsMCwwLCB3YXMgPSAwCi1bIDI1OiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAg
ZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAyNjogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMjc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMjg6IEZBSUwgXSBFeHBl
Y3RlZCBjb2xvciA9IC0xNDE4OSwwLDAsMCwgd2FzID0gMCwwLDAsMQotWyAyOTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBn
ZW5lcmF0ZSBubyBlcnJvcgotWyAzMDogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gLTE0MTg5LDAs
MCwwLCB3YXMgPSAwCi1bIDMxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAzMjog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xv
ciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMzQ6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDEyNjcyNiwwLDAsMCwgd2FzID0gMCww
LDAsMQotWyAzNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAzNjogRkFJTCBdIEV4cGVj
dGVkIGNvbG9yID0gMTI2NzI2LDAsMCwwLCB3YXMgPSAwCi1bIDM3OiBQQVNTIF0gZ2V0RXJyb3Ig
d2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAzODogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMzk6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNDA6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC0x
MjY3MjYsMCwwLDAsIHdhcyA9IDAsMCwwLDEKLVsgNDE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgNDI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC0xMjY3MjYsMCwwLDAsIHdhcyA9IDAK
LVsgNDM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0
dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDQ0OiBQQVNTIF0gZ2V0RXJy
b3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyA0NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTog
Tk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA0NjogUEFT
UyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA0NzogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA0ODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA0OTog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVw
IGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNTA6IFBBU1MgXSBnZXRFcnJvciB3YXMg
ZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5v
IGVycm9yCi1bIDUxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDUyOiBQQVNTIF0gQ29s
b3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDUzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDU0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDU1OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA1NjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgNTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNTg6IFBBU1MgXSBDb2xvciByZWFk
IGJhY2sgYXMgZXhwZWN0ZWQKLVsgNTk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFs
dWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNjA6
IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgNjE6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDYyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2Mzog
UEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxz
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBh
cyBleHBlY3RlZAotWyA2NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9f
RVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA2NjogUEFTUyBd
IENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA2NzogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgNjg6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDY5OiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxk
IGdlbmVyYXRlIG5vIGVycm9yCi1bIDcwOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVj
dGVkCi1bIDcxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDcyOiBQQVNTIF0gQ29sb3Ig
cmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDczOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyA3NDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBD
bGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNzU6IFBBU1MgXSBnZXRFcnJv
ciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgNzY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsg
Nzc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBp
eGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgNzg6IFBBU1MgXSBDb2xvciByZWFkIGJh
Y2sgYXMgZXhwZWN0ZWQKLVsgNzk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDgw
OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNv
bG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4MTogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyA4MjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyA4MzogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA4NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBl
eHBlY3RlZAotWyA4NTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiBTZXR0aW5nIHVwIGZibyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgODY6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDg3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1b
IDg4OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDg5OiBQQVNTIF0gZ2V0
RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdl
bmVyYXRlIG5vIGVycm9yCi1bIDkwOiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVk
Ci1bIDkxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNl
dHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyA5MjogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2Vu
ZXJhdGUgbm8gZXJyb3IKLVsgOTM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6
IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgOTQ6IFBB
U1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgOTU6IFBBU1MgXSBnZXRFcnJvciB3
YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgOTY6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgOTc6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1
cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDk4OiBQQVNTIF0gZ2V0RXJyb3Igd2Fz
IGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyA5OTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJS
T1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMDA6IFBBU1MgXSBD
b2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTAxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDEwMjogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMDM6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBm
Ym8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEwNDogUEFTUyBdIGdldEVycm9yIHdhcyBl
eHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8g
ZXJyb3IKLVsgMTA1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJP
UiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEwNjogUEFTUyBdIENv
bG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTA4OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEwOTogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZi
byBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTEwOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxMTE6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTEyOiBQQVNTIF0gQ29s
b3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDExMzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxMTQ6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTE1OiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJv
IHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMTY6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVy
cm9yCi1bIDExNzogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1Ig
OiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMTg6IFBBU1MgXSBDb2xv
ciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTE5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDEyMDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMjE6IFBBU1Mg
XSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8g
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEyMjogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTIzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6
IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDEyNDogUEFTUyBdIENvbG9y
IHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMjU6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMTI2OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEyNzogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBz
aG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTI4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVj
dGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxMjk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDog
cmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTMwOiBQQVNTIF0gQ29sb3Ig
cmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDEzMTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxMzI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTMzOiBQQVNTIF0g
Z2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNo
b3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMzQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0
ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9y
Ci1bIDEzNTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBy
ZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxMzY6IFBBU1MgXSBDb2xvciBy
ZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTM3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1b
IDEzODogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBleHBlY3RlZAotWyAxMzk6IFBBU1MgXSBn
ZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1cCBmYm8gc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0MDogUEFTUyBdIGdldEVycm9yIHdhcyBleHBlY3Rl
ZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IK
LVsgMTQxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJl
YWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE0MjogUEFTUyBdIENvbG9yIHJl
YWQgYmFjayBhcyBleHBlY3RlZAotWyAxNDM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQg
dmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsg
MTQ0OiBQQVNTIF0gQ29sb3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDE0NTogUEFTUyBdIGdl
dEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZibyBzaG91
bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTQ2OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVk
IHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNDc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTQ4OiBGQUlMIF0gRXhwZWN0ZWQg
Y29sb3IgPSAxMjcsMCwyNTUsMTc4LCB3YXMgPSAwLDAsMCwwCi1bIDE0OTogUEFTUyBdIGdldEVy
cm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5l
cmF0ZSBubyBlcnJvcgotWyAxNTA6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDEyNywwLDI1NSwx
NzgsIHdhcyA9IDAsMCwwLDAKLVsgMTUxOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZh
bHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgot
WyAxNTI6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xl
YXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1MzogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0
ZSBubyBlcnJvcgotWyAxNTQ6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IC01NSw1Niw4MCwxMjcs
IHdhcyA9IDAsMCwwLDAKLVsgMTU1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVl
OiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1Njog
RkFJTCBdIEV4cGVjdGVkIGNvbG9yID0gLTU1LDU2LDgwLDEyNywgd2FzID0gMCwwLDAsMAotWyAx
NTc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGlu
ZyB1cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE1ODogUEFTUyBdIGdldEVycm9y
IHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJh
dGUgbm8gZXJyb3IKLVsgMTU5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBO
T19FUlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE2MDogRkFJ
TCBdIEV4cGVjdGVkIGNvbG9yID0gMTc4LDAsMTI3LDMsIHdhcyA9IDAsMCwwLDAKLVsgMTYxOiBQ
QVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMg
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE2MjogRkFJTCBdIEV4cGVjdGVkIGNvbG9yID0g
MTc4LDAsMTI3LDMsIHdhcyA9IDAsMCwwLDAKLVsgMTYzOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBu
byBlcnJvcgotWyAxNjQ6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VS
Uk9SIDogQ2xlYXIgY29sb3Igc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE2NTogUEFTUyBd
IGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3Vs
ZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNjY6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE0MTg5
LDY3MzUsMCwxOSwgd2FzID0gMCwwLDAsMAotWyAxNjc6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhw
ZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJy
b3IKLVsgMTY4OiBGQUlMIF0gRXhwZWN0ZWQgY29sb3IgPSAxNDE4OSw2NzM1LDAsMTksIHdhcyA9
IDAsMCwwLDAKLVsgMTY5OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IFNldHRpbmcgdXAgZmJvIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJvcgotWyAxNzA6IFBB
U1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogQ2xlYXIgY29sb3Ig
c2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE3MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxNzI6IEZBSUwgXSBFeHBlY3RlZCBjb2xvciA9IDE0MTg5LC02NzM1LDAsMTksIHdhcyA9
IDAsMCwwLDAKLVsgMTczOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE3NDogRkFJTCBd
IEV4cGVjdGVkIGNvbG9yID0gMTQxODksLTY3MzUsMCwxOSwgd2FzID0gMCwwLDAsMAotWyAxNzU6
IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogU2V0dGluZyB1
cCBmYm8gc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE3NjogUEFTUyBdIGdldEVycm9yIHdh
cyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBDbGVhciBjb2xvciBzaG91bGQgZ2VuZXJhdGUg
bm8gZXJyb3IKLVsgMTc3OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19F
UlJPUiA6IHJlYWRQaXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE3ODogRkFJTCBd
IEV4cGVjdGVkIGNvbG9yID0gMTI2NzI2LDY3MjYsOTg3NjUsMjAxNSwgd2FzID0gMCwwLDAsMAot
WyAxNzk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9SIDogcmVh
ZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTgwOiBGQUlMIF0gRXhwZWN0ZWQg
Y29sb3IgPSAxMjY3MjYsNjcyNiw5ODc2NSwyMDE1LCB3YXMgPSAwLDAsMCwwCi1bIDE4MTogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZi
byBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTgyOiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxODM6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTg0OiBGQUlMIF0gRXhw
ZWN0ZWQgY29sb3IgPSAxMjY3MjYsLTY3MjYsLTk4NzY1LDIwMTUsIHdhcyA9IDAsMCwwLDAKLVsg
MTg1OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQ
aXhlbHMgc2hvdWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE4NjogRkFJTCBdIEV4cGVjdGVkIGNv
bG9yID0gMTI2NzI2LC02NzI2LC05ODc2NSwyMDE1LCB3YXMgPSAwLDAsMCwwCi1bIDE4NzogUEFT
UyBdIGdldEVycm9yIHdhcyBleHBlY3RlZCB2YWx1ZTogTk9fRVJST1IgOiBTZXR0aW5nIHVwIGZi
byBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTg4OiBQQVNTIF0gZ2V0RXJyb3Igd2FzIGV4
cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IENsZWFyIGNvbG9yIHNob3VsZCBnZW5lcmF0ZSBubyBl
cnJvcgotWyAxODk6IFBBU1MgXSBnZXRFcnJvciB3YXMgZXhwZWN0ZWQgdmFsdWU6IE5PX0VSUk9S
IDogcmVhZFBpeGVscyBzaG91bGQgZ2VuZXJhdGUgbm8gZXJyb3IKLVsgMTkwOiBQQVNTIF0gQ29s
b3IgcmVhZCBiYWNrIGFzIGV4cGVjdGVkCi1bIDE5MTogUEFTUyBdIGdldEVycm9yIHdhcyBleHBl
Y3RlZCB2YWx1ZTogTk9fRVJST1IgOiByZWFkUGl4ZWxzIHNob3VsZCBnZW5lcmF0ZSBubyBlcnJv
cgotWyAxOTI6IFBBU1MgXSBDb2xvciByZWFkIGJhY2sgYXMgZXhwZWN0ZWQKLVsgMTkzOiBQQVNT
IF0gZ2V0RXJyb3Igd2FzIGV4cGVjdGVkIHZhbHVlOiBOT19FUlJPUiA6IHJlYWRQaXhlbHMgc2hv
dWxkIGdlbmVyYXRlIG5vIGVycm9yCi1bIDE5NDogUEFTUyBdIENvbG9yIHJlYWQgYmFjayBhcyBl
eHBlY3RlZAotWyAxOTU6IFBBU1MgXSBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQotWyBGQUlM
IF0gMjYgZmFpbHVyZXMgcmVwb3J0ZWQKK1sgUEFTUyBdIEFsbCB0ZXN0cyBwYXNzZWQKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>