<?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>231123</bug_id>
          
          <creation_ts>2021-10-02 15:04:32 -0700</creation_ts>
          <short_desc>[WebXR] Stubs for WebXR Hand Input Module</short_desc>
          <delta_ts>2021-10-18 01:05:34 -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>New Bugs</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1799771</commentid>
    <comment_count>0</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-02 15:04:32 -0700</bug_when>
    <thetext>[WebXR] Stubs for WebXR Hands Input Module</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799772</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-10-02 15:05:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/83802135&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799773</commentid>
    <comment_count>2</comment_count>
      <attachid>439974</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-02 15:12:59 -0700</bug_when>
    <thetext>Created attachment 439974
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799814</commentid>
    <comment_count>3</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-10-02 20:26:07 -0700</bug_when>
    <thetext>Probably not ready for review, so removing the r? flag given all the red.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799857</commentid>
    <comment_count>4</comment_count>
      <attachid>440005</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 09:57:11 -0700</bug_when>
    <thetext>Created attachment 440005
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799858</commentid>
    <comment_count>5</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 09:57:39 -0700</bug_when>
    <thetext>I think it was a missing header file (not sure how it built locally).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799859</commentid>
    <comment_count>6</comment_count>
      <attachid>440005</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 10:04:56 -0700</bug_when>
    <thetext>Comment on attachment 440005
Patch

ugh</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799860</commentid>
    <comment_count>7</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 10:08:50 -0700</bug_when>
    <thetext>GTK doesn&apos;t seem to be generating one of the derived sources:

CMake Error at Source/cmake/WebKitMacros.cmake:125 (add_library):
  Cannot find source file:
    /app/webkit/WebKitBuild/Release/WebCore/DerivedSources/JSWebXRHand.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799863</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 10:12:06 -0700</bug_when>
    <thetext>/Volumes/Data/worker/macOS-Catalina-Release-Build-EWS/build/WebKitBuild/Release/DerivedSources/WebCore/JSDOMWindow.cpp:6172:188: error: no member named &apos;webXR&apos; in &apos;WebCore::Settings::Values&apos;
    if ((jsCast&lt;JSDOMGlobalObject*&gt;(globalObject())-&gt;scriptExecutionContext()-&gt;isSecureContext() &amp;&amp; jsCast&lt;JSDOMGlobalObject*&gt;(globalObject())-&gt;scriptExecutionContext()-&gt;settingsValues().webXR))
                                                                                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^

Hmm... that should be webXREnabled, not just webXR.

How is that being generated differently for Release and Debug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799868</commentid>
    <comment_count>9</comment_count>
      <attachid>440006</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 10:37:43 -0700</bug_when>
    <thetext>Created attachment 440006
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799871</commentid>
    <comment_count>10</comment_count>
      <attachid>440007</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-03 11:04:00 -0700</bug_when>
    <thetext>Created attachment 440007
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1799893</commentid>
    <comment_count>11</comment_count>
      <attachid>440007</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-10-03 13:28:48 -0700</bug_when>
    <thetext>Comment on attachment 440007
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +

Given all the issues we have had with GC in this part of the project, can you write out what the ownership semantics are for the new interfaces in this module?

&gt; Source/WTF/wtf/PlatformEnableCocoa.h:632
&gt; +#if !defined(ENABLE_WEBXR_HANDS)
&gt; +#define ENABLE_WEBXR_HANDS 1
&gt; +#endif

You should probably also make this require ENABLE_WEBXR. 

#if !defined(ENABLE_WEBXR_HANDS) &amp;&amp; ENABLE(WEBXR)


(or alternatively, add a macro assertion somewhere that WEBXR_HANDS requires WEBXR. See the bottom of PlatformEnable.h for examples of the macro assertions).


Please also add ENABLE_WEBXR_HANDS to PlatformEnable.h, which has a section for default values. In this case, it should be off by default.

&gt; Source/WebCore/Modules/webxr/WebXRFrame.cpp:249
&gt; +#if ENABLE(WEBXR_HANDS)
&gt; +// https://immersive-web.github.io/webxr-hand-input/#dom-xrframe-getjointpose
&gt; +ExceptionOr&lt;RefPtr&lt;WebXRJointPose&gt;&gt; WebXRFrame::getJointPose(const Document&amp;, const WebXRJointSpace&amp; joint, const WebXRSpace&amp; baseSpace)

Missing newline after #if ENABLE(WEBXR_HANDS)

&gt; Source/WebCore/Modules/webxr/WebXRFrame.cpp:270
&gt; +#endif
&gt; +
&gt; +

Extra newlines.

&gt; Source/WebCore/Modules/webxr/WebXRFrame.idl:41
&gt; +    [Conditional=WEBXR_HANDS, CallWith=Document] WebXRJointPose? getJointPose(WebXRJointSpace joint, WebXRSpace baseSpace);
&gt; +    [Conditional=WEBXR_HANDS, CallWith=Document] boolean fillJointRadii(sequence&lt;WebXRJointSpace&gt; jointSpaces, Float32Array radii);
&gt; +    [Conditional=WEBXR_HANDS, CallWith=Document] boolean fillPoses(sequence&lt;WebXRSpace&gt; spaces, WebXRSpace baseSpace, Float32Array transforms);

What is the document for? 

These should be in their own file, using a partial interface like in the spec. The naming pattern we use would make it called WebXRFrame+Hand.idl (the +Hand could be something like +HandInput, as long as we are consistent).

These also need EnabledBySetting=WebXRHandInputEnabled. (once you move them to their own partial interface, the whole partial interface can have that).

&gt; Source/WebCore/Modules/webxr/WebXRHand.idl:27
&gt; +    EnabledBySetting=WebXREnabled,

This should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled

&gt; Source/WebCore/Modules/webxr/WebXRInputSource.idl:45
&gt; +    // https://immersive-web.github.io/webxr-hand-input/#xrinputsource-interface
&gt; +    [Conditional=WEBXR_HANDS, SameObject] readonly attribute WebXRHand? hand;

This also should be in its own IDL file and needs to have EnabledBySetting=WebXRHandInputEnabled

&gt; Source/WebCore/Modules/webxr/WebXRJointPose.idl:27
&gt; +    EnabledBySetting=WebXREnabled,

This should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled

&gt; Source/WebCore/Modules/webxr/WebXRJointPose.idl:33
&gt; +] interface WebXRJointPose {

The spec says this should inherit from XRPose.

&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.idl:27
&gt; +    EnabledBySetting=WebXREnabled,

This should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled

&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.idl:33
&gt; +] interface WebXRJointSpace: WebXRSpace {

Missing space after WebXRJointSpace.

&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.idl:34
&gt; +  readonly attribute XRHandJoint jointName;

Please use 4 spaces here.

&gt; Source/WebCore/Modules/webxr/XRHandJoint.idl:27
&gt; +    EnabledBySetting=WebXREnabled,

Enums don&apos;t really need EnabledBySetting (it doesn&apos;t do anything). I should look into making this an error. But, if you want to keep it, this should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled.

&gt; Source/WebCore/Modules/webxr/XRHandJoint.idl:31
&gt; +  &quot;wrist&quot;,

Please use 4 spaces.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800066</commentid>
    <comment_count>12</comment_count>
      <attachid>440007</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-04 08:21:29 -0700</bug_when>
    <thetext>Comment on attachment 440007
Patch

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

&gt;&gt; Source/WTF/wtf/PlatformEnableCocoa.h:632
&gt;&gt; +#endif
&gt; 
&gt; You should probably also make this require ENABLE_WEBXR. 
&gt; 
&gt; #if !defined(ENABLE_WEBXR_HANDS) &amp;&amp; ENABLE(WEBXR)
&gt; 
&gt; 
&gt; (or alternatively, add a macro assertion somewhere that WEBXR_HANDS requires WEBXR. See the bottom of PlatformEnable.h for examples of the macro assertions).
&gt; 
&gt; 
&gt; Please also add ENABLE_WEBXR_HANDS to PlatformEnable.h, which has a section for default values. In this case, it should be off by default.

Done

&gt;&gt; Source/WebCore/Modules/webxr/WebXRFrame.cpp:249
&gt;&gt; +ExceptionOr&lt;RefPtr&lt;WebXRJointPose&gt;&gt; WebXRFrame::getJointPose(const Document&amp;, const WebXRJointSpace&amp; joint, const WebXRSpace&amp; baseSpace)
&gt; 
&gt; Missing newline after #if ENABLE(WEBXR_HANDS)

👍

&gt;&gt; Source/WebCore/Modules/webxr/WebXRFrame.cpp:270
&gt;&gt; +
&gt; 
&gt; Extra newlines.

👍

&gt;&gt; Source/WebCore/Modules/webxr/WebXRFrame.idl:41
&gt;&gt; +    [Conditional=WEBXR_HANDS, CallWith=Document] boolean fillPoses(sequence&lt;WebXRSpace&gt; spaces, WebXRSpace baseSpace, Float32Array transforms);
&gt; 
&gt; What is the document for? 
&gt; 
&gt; These should be in their own file, using a partial interface like in the spec. The naming pattern we use would make it called WebXRFrame+Hand.idl (the +Hand could be something like +HandInput, as long as we are consistent).
&gt; 
&gt; These also need EnabledBySetting=WebXRHandInputEnabled. (once you move them to their own partial interface, the whole partial interface can have that).

Removed document.

Moved into WebXRFrame+HandInput.idl (and put the EnabledBy onto the partial)

&gt;&gt; Source/WebCore/Modules/webxr/WebXRHand.idl:27
&gt;&gt; +    EnabledBySetting=WebXREnabled,
&gt; 
&gt; This should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled

Done

&gt;&gt; Source/WebCore/Modules/webxr/WebXRInputSource.idl:45
&gt;&gt; +    [Conditional=WEBXR_HANDS, SameObject] readonly attribute WebXRHand? hand;
&gt; 
&gt; This also should be in its own IDL file and needs to have EnabledBySetting=WebXRHandInputEnabled

Done. WebXRInputSource+HandInput.idl

&gt;&gt; Source/WebCore/Modules/webxr/WebXRJointPose.idl:27
&gt;&gt; +    EnabledBySetting=WebXREnabled,
&gt; 
&gt; This should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled

Done.

&gt;&gt; Source/WebCore/Modules/webxr/WebXRJointPose.idl:33
&gt;&gt; +] interface WebXRJointPose {
&gt; 
&gt; The spec says this should inherit from XRPose.

Done

&gt;&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.idl:27
&gt;&gt; +    EnabledBySetting=WebXREnabled,
&gt; 
&gt; This should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled

Done.

&gt;&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.idl:33
&gt;&gt; +] interface WebXRJointSpace: WebXRSpace {
&gt; 
&gt; Missing space after WebXRJointSpace.

Done.

&gt;&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.idl:34
&gt;&gt; +  readonly attribute XRHandJoint jointName;
&gt; 
&gt; Please use 4 spaces here.

Done.

&gt;&gt; Source/WebCore/Modules/webxr/XRHandJoint.idl:27
&gt;&gt; +    EnabledBySetting=WebXREnabled,
&gt; 
&gt; Enums don&apos;t really need EnabledBySetting (it doesn&apos;t do anything). I should look into making this an error. But, if you want to keep it, this should probably be EnabledBySetting=WebXREnabled&amp;WebXRHandInputEnabled.

I removed the Enabled. I also moved the enum values in the .h into Platform assuming we&apos;ll want it at that level.

&gt;&gt; Source/WebCore/Modules/webxr/XRHandJoint.idl:31
&gt;&gt; +  &quot;wrist&quot;,
&gt; 
&gt; Please use 4 spaces.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800105</commentid>
    <comment_count>13</comment_count>
      <attachid>440072</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-04 10:16:33 -0700</bug_when>
    <thetext>Created attachment 440072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1800113</commentid>
    <comment_count>14</comment_count>
      <attachid>440072</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-10-04 10:32:46 -0700</bug_when>
    <thetext>Comment on attachment 440072
Patch

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

&gt; Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:1591
&gt; +WebXRHandInputEnabled:

In https://bugs.webkit.org/show_bug.cgi?id=231149, I established the convention for submodules of WebXR*ModuleEnabled. Can you rename this to WebXRHandInputModuleEnabled?

&gt; Source/WTF/Scripts/Preferences/WebPreferencesExperimental.yaml:1598
&gt; +      default: WebKit::defaultWebXREnabled() # Follows WebXREnabled

I don&apos;t think these comments are needed.l

&gt; Source/WebCore/DerivedSources-input.xcfilelist:592
&gt; +$(PROJECT_DIR)/Modules/webxr/WebXRHand.idl

This isn&apos;t new, but what determines if a class is prefixed with WebXR or just XR?

&gt; Source/WebCore/Modules/webxr/WebXRHand.idl:33
&gt; +] interface WebXRHand {

Does this wrapper get properly kept alive by the owning input source? I would guess it would need some marking / GenerateIsReachable or something.  Since this is observable, you really should have a test for this.

&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.h:64
&gt; +    Ref&lt;WebXRSession&gt; m_session;

I think this is a circular reference / leak, since:

WebXRSession owns WebXRInputSourceArray, which own WebXRInputSource, which owns WebXRHand, which owns WebXRJointSpace.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1801832</commentid>
    <comment_count>15</comment_count>
      <attachid>440072</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-07 15:48:10 -0700</bug_when>
    <thetext>Comment on attachment 440072
Patch

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

&gt;&gt; Source/WebCore/DerivedSources-input.xcfilelist:592
&gt;&gt; +$(PROJECT_DIR)/Modules/webxr/WebXRHand.idl
&gt; 
&gt; This isn&apos;t new, but what determines if a class is prefixed with WebXR or just XR?

I&apos;m not sure but it seems to be the classes are prefixed if there will be a platform version of them.

&gt;&gt; Source/WebCore/Modules/webxr/WebXRHand.idl:33
&gt;&gt; +] interface WebXRHand {
&gt; 
&gt; Does this wrapper get properly kept alive by the owning input source? I would guess it would need some marking / GenerateIsReachable or something.  Since this is observable, you really should have a test for this.

I&apos;ve added a GenerateIsReaachable, but I haven&apos;t worked out how to write a test yet.

&gt;&gt; Source/WebCore/Modules/webxr/WebXRJointSpace.h:64
&gt;&gt; +    Ref&lt;WebXRSession&gt; m_session;
&gt; 
&gt; I think this is a circular reference / leak, since:
&gt; 
&gt; WebXRSession owns WebXRInputSourceArray, which own WebXRInputSource, which owns WebXRHand, which owns WebXRJointSpace.

This is very annoying because WebXRSpace requires implementation of a virtual method to retrieve the WebXRSession, so all the subclasses keep a Ref.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805392</commentid>
    <comment_count>16</comment_count>
      <attachid>441539</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-17 09:48:09 -0700</bug_when>
    <thetext>Created attachment 441539
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805396</commentid>
    <comment_count>17</comment_count>
      <attachid>441540</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-17 10:43:11 -0700</bug_when>
    <thetext>Created attachment 441540
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805397</commentid>
    <comment_count>18</comment_count>
      <attachid>441541</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-17 11:46:57 -0700</bug_when>
    <thetext>Created attachment 441541
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805402</commentid>
    <comment_count>19</comment_count>
      <attachid>441544</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-17 12:40:05 -0700</bug_when>
    <thetext>Created attachment 441544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805416</commentid>
    <comment_count>20</comment_count>
      <attachid>441548</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-17 13:56:38 -0700</bug_when>
    <thetext>Created attachment 441548
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805417</commentid>
    <comment_count>21</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-17 13:58:25 -0700</bug_when>
    <thetext>Hopefully the GTK/Win failures were because ENABLE(WEBXR) is false there. I forgot to wrap JSWebXRSessionCustom with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805419</commentid>
    <comment_count>22</comment_count>
      <attachid>441548</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-10-17 14:11:26 -0700</bug_when>
    <thetext>Comment on attachment 441548
Patch

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

&gt; Source/WebCore/Modules/webxr/WebXRFrame+HandInput.idl:26
&gt; +[

Please add a spec link matching the other idl files.

&gt; Source/WebCore/Modules/webxr/WebXRHand.h:49
&gt; +    unsigned long size() { return m_size; }

This should just be an &apos;unsigned&apos;. The name &apos;unsigned long&apos; in WebIDL maps to our &apos;unsigned&apos;.

&gt; Source/WebCore/Modules/webxr/WebXRHand.h:70
&gt; +    unsigned long m_size { 0 };

Same as above. &apos;unsigned&apos;.

&gt; Source/WebCore/Modules/webxr/WebXRInputSource+HandInput.idl:30
&gt; +    // https://immersive-web.github.io/webxr-hand-input/#xrinputsource-interface

Please put the spec link above the extended attributes matching the other IDLs.

&gt; Source/WebCore/Modules/webxr/XRHandJoint.idl:26
&gt; +[

Please add spec link.

&gt; LayoutTests/ChangeLog:9
&gt; +        New test that checks an XRHand object can survive garbage collection.

Be good to have tests for WebXRJointSpace as well, but that can happen in time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1805476</commentid>
    <comment_count>23</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2021-10-18 01:05:34 -0700</bug_when>
    <thetext>Committed r284347 (243139@main): &lt;https://commits.webkit.org/243139@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>439974</attachid>
            <date>2021-10-02 15:12:59 -0700</date>
            <delta_ts>2021-10-03 09:57:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211003091257.patch</filename>
            <type>text/plain</type>
            <size>51227</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgxMDRkM2I1ZGE3NzJjODI2MDcyODBj
NmU2ZjJmNmRhZDEwYjk5Y2MuLmJhYTZjNGE4MzYxODE0MmFiM2FjMjE0MzdlMmMwMDMwMDMwYjM2
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDIgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmRzIElucHV0
IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gRU5BQkxFX1dFQlhSX0hB
TkRTLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0wOS0z
MCAgRWRkeSBXb25nICA8ZWRkeV93b25nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBwcmVz
ZW50YXRpb25TY2VuZUlkZW50aWZpZXJGb3JQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIg
ZGVsZWdhdGUgY2FsbCBmcm9tIFBhc3NLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZjRlMjI4ZmIyOTRkZThh
MTVjM2Q1ZWFhZWIzMGQxZGQ3NTgxOGMxLi5iOTE0NTQ0YjBhZWQwNDlmYzZjNTFkNTdjYmQ1Yzcz
M2QzZGUyYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEtMTAtMDIgIERlYW4g
SmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdl
YlhSIEhhbmRzIElucHV0IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhl
IElETCBhbmQgc3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5k
IElucHV0IG1vZHVsZToKKyAgICAgICAgaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93
ZWJ4ci1oYW5kLWlucHV0LworCisgICAgICAgIE5vdGhpbmcgaXMgYWN0dWFsbHkgaW1wbGVtZW50
ZWQgeWV0IHNvIHRoZXJlIHNob3VsZAorICAgICAgICBiZSBubyBjaGFuZ2UgdG8gdGVzdHMuCisK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYlhSRnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1l
OjpmaWxsUG9zZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGw6IEFkZCBtZXRob2RzIGZvciBjYWxj
dWxhdGluZyBoYW5kIGpvaW50IGluZm9ybWF0aW9uLgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6V2ViWFJIYW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSGFuZDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6
Okl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6Om5leHQp
OgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmg6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkhhbmQ6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpjcmVhdGVJ
dGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oOiBBZGQgYGhhbmRgIGFjY2Vzc29y
LgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6aGFuZCBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbDogQWRkIGBoYW5kYCBhdHRy
aWJ1dGUuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSm9pbnRQb3NlOjpXZWJYUkpvaW50UG9zZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkpvaW50UG9zZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBvc2U6OnJh
ZGl1cyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJK
b2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6Ompv
aW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oOiBBZGQgYSB2aXJ0dWFs
IG1ldGhvZCB0byBpZGVudGlmeSBoYW5kIGpvaW50IHNwYWNlcy4KKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSU3BhY2U6OmlzSm9pbnRTcGFjZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9YUkhhbmRKb2ludC5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRs
OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
Lmg6IEFkZCBuYW1lIG1hcHBpbmdzIGZvciB0aGUgdGhpbmdzCisgICAgICAgIHRoYXQgYXJlIGV4
cG9zZWQgd2l0aG91dCB0aGUgIldlYlhSIiBwcmVmaXguCisKIDIwMjEtMDktMzAgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUENNOiBUYWtlIGFwcCBidW5k
bGUgSUQgaW50byBjb25zaWRlcmF0aW9uIHdoZW4gbWF0Y2hpbmcgdHJpZ2dlcmluZyBldmVudHMg
d2l0aCBwZW5kaW5nIGNsaWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4
IDg3YjJiMWNjZWNiOTVlNmVhMjI2N2NiMzViZjZhMTJlMmU2YTc1OWEuLjAzZTBhZDMxYWIzODZh
MGQxYTk2MTkwMDcxZmUyMTAwMmJmYjBmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmgKQEAgLTYyNyw2ICs2MjcsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRp
ZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VC
WFJfSEFORFMgMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKQogI2RlZmluZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0
NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2NjEwNDljMy4uODU2ZDUyMGNhYTkxNjQ5M2IzNGU0
OTYxMmZiYTg5Y2MwYzM3YWJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01ODQsOCArNTg0LDExIEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YnhyL05hdmlnYXRvcitXZWJYUi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2Vi
WFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSRnJhbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlBvc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNl
U3BhY2UuaWRsCkBAIC02MDEsNiArNjA0LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9XZWJYUldlYkdMTGF5ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRW52
aXJvbm1lbnRCbGVuZE1vZGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRXll
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNr
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGI2MGE0OWMxNTJkOGY5
MmFiMjU1MjJhOTkyOWEyM2EwY2E1YmZhZWUuLjJlZGY3NGZiMGFlMjBlMTkyOWEzMjRiZWNjMjIw
ZWE5YWNkMzRlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0yNTIxLDEwICsyNTIxLDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSGFuZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJIYW5kLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJj
ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
SW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFBvc2UuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSm9pbnRQb3NlLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFNw
YWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAtMjYyNSw2ICsyNjMxLDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkV5ZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJFeWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVz
dENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpvaW50LmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kZWRuZXNzLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRlZG5lc3MuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUklucHV0U291
cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhMzUyMjkzNjFh
MGRhNTRiM2UxMmI3MmI0NTlmYzYyMzBjN2E2Yzk1Li5mYjM0M2Q3MjM0YmY0MTAyYmU2MDEyNTdk
YTQ5ZjEwYzYyNWY1MjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ4NSw4
ICs0ODUsMTEgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYnhyL1dlYlhSRnJhbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2Vi
WFJIYW5kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291
cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlkbCBcCkBAIC01MDIsNiArNTA1LDcgQEAgSlNf
QklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJFbnZpcm9u
bWVudEJsZW5kTW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkV5ZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNr
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKaW5kZXggN2U3ZjY5ZGM1YTg1
NjliNDYzNzQxZTY3MDRkNWFlNjYwMDNhZTg1NS4uZWM0ZjRlNTY4Mjk4Y2FmNjYwYzZmMTc2ZmZh
ZGRmNzI5NzRmZWViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCkBAIC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxFKFdFQlhSKQogCiAjaW5jbHVkZSAi
V2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50UG9zZS5o
IgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgogI2luY2x1ZGUgIldlYlhSUmVmZXJlbmNl
U3BhY2UuaCIKICNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKICNpbmNsdWRlICJXZWJYUlZpZXdl
clBvc2UuaCIKQEAgLTI0Miw2ICsyNDQsMzAgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggV2ViWFJG
cmFtZTo6bWF0cml4RnJvbVBvc2UoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNlOjpGcmFtZUQKICAg
ICByZXR1cm4gbWF0cml4OwogfQogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorLy8gaHR0cHM6
Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1n
ZXRqb2ludHBvc2UKK0V4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpvaW50UG9zZT4+IFdlYlhSRnJh
bWU6OmdldEpvaW50UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSSm9pbnRTcGFjZSYg
am9pbnQsIGNvbnN0IFdlYlhSU3BhY2UmIGJhc2VTcGFjZSkKK3sKKyAgICBVTlVTRURfUEFSQU0o
am9pbnQpOworICAgIFVOVVNFRF9QQVJBTShiYXNlU3BhY2UpOworICAgIHJldHVybiBudWxscHRy
OworfQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5w
dXQvI2RvbS14cmZyYW1lLWZpbGxqb2ludHJhZGlpCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZy
YW1lOjpmaWxsSm9pbnRSYWRpaShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
V2ViWFJKb2ludFNwYWNlPj4sIGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKy8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1p
bnB1dC8jZG9tLXhyZnJhbWUtZmlsbHBvc2VzCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZyYW1l
OjpmaWxsUG9zZXMoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3Bh
Y2U+PiwgY29uc3QgV2ViWFJTcGFjZSYsIGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKyNlbmRpZgorCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lLmgKaW5kZXggZmE5MDBkYzIyZjY5MTU5Zjc5MjdjNzIxYzI1ZDBkYzc2NDA5MDc2Yy4uYmI3
ZTRhNWZiYmE5ODQ1YjA4MzBhODhjNmFkOGNiMWNmY2I2NmQ4YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJE
T01IaWdoUmVzVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzgsNiArMzksOCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFdlYlhSSm9pbnRQb3NlOworY2xhc3MgV2Vi
WFJKb2ludFNwYWNlOwogY2xhc3MgV2ViWFJQb3NlOwogY2xhc3MgV2ViWFJSZWZlcmVuY2VTcGFj
ZTsKIGNsYXNzIFdlYlhSU2Vzc2lvbjsKQEAgLTU2LDYgKzU5LDEyIEBAIHB1YmxpYzoKICAgICBF
eGNlcHRpb25PcjxSZWZQdHI8V2ViWFJWaWV3ZXJQb3NlPj4gZ2V0Vmlld2VyUG9zZShjb25zdCBE
b2N1bWVudCYsIGNvbnN0IFdlYlhSUmVmZXJlbmNlU3BhY2UmKTsKICAgICBFeGNlcHRpb25PcjxS
ZWZQdHI8V2ViWFJQb3NlPj4gZ2V0UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSU3Bh
Y2UmLCBjb25zdCBXZWJYUlNwYWNlJik7CiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAg
RXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSSm9pbnRQb3NlPj4gZ2V0Sm9pbnRQb3NlKGNvbnN0IERv
Y3VtZW50JiwgY29uc3QgV2ViWFJKb2ludFNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOworICAg
IEV4Y2VwdGlvbk9yPGJvb2w+IGZpbGxKb2ludFJhZGlpKGNvbnN0IERvY3VtZW50JiwgY29uc3Qg
VmVjdG9yPFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5Jik7Cisg
ICAgRXhjZXB0aW9uT3I8Ym9vbD4gZmlsbFBvc2VzKGNvbnN0IERvY3VtZW50JiwgY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJYUlNwYWNlPj4sIGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBGbG9hdDMy
QXJyYXkmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRUaW1lKERPTUhpZ2hSZXNUaW1lU3RhbXAg
dGltZSkgeyBtX3RpbWUgPSB0aW1lOyB9CiAKICAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2
ZSkgeyBtX2FjdGl2ZSA9IGFjdGl2ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJGcmFtZS5pZGwKaW5kZXggZWI5OTgzNDJlM2YwNjg4NzkxYTAxY2RlNTY1NmUxNjg1MTZj
NTNkYS4uNTg3MDMwM2NlNTJhM2UxMTEwMzQ5ZWE2YmNlOWNiOTJhYWY3MTE4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsCkBAIC0zNSw0ICszNSw4IEBA
CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFdlYlhSVmlld2VyUG9zZT8gZ2V0Vmlld2VyUG9z
ZShXZWJYUlJlZmVyZW5jZVNwYWNlIHJlZmVyZW5jZVNwYWNlKTsKICAgICBbQ2FsbFdpdGg9RG9j
dW1lbnRdIFdlYlhSUG9zZT8gZ2V0UG9zZShXZWJYUlNwYWNlIHNwYWNlLCBXZWJYUlNwYWNlIGJh
c2VTcGFjZSk7CisKKyAgICBbQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3Vt
ZW50XSBXZWJYUkpvaW50UG9zZT8gZ2V0Sm9pbnRQb3NlKFdlYlhSSm9pbnRTcGFjZSBqb2ludCwg
V2ViWFJTcGFjZSBiYXNlU3BhY2UpOworICAgIFtDb25kaXRpb25hbD1XRUJYUl9IQU5EUywgQ2Fs
bFdpdGg9RG9jdW1lbnRdIGJvb2xlYW4gZmlsbEpvaW50UmFkaWkoc2VxdWVuY2U8V2ViWFJKb2lu
dFNwYWNlPiBqb2ludFNwYWNlcywgRmxvYXQzMkFycmF5IHJhZGlpKTsKKyAgICBbQ29uZGl0aW9u
YWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3VtZW50XSBib29sZWFuIGZpbGxQb3NlcyhzZXF1
ZW5jZTxXZWJYUlNwYWNlPiBzcGFjZXMsIFdlYlhSU3BhY2UgYmFzZVNwYWNlLCBGbG9hdDMyQXJy
YXkgdHJhbnNmb3Jtcyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUkhhbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhh
bmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM4NDNmNjJjOTYzZTc2YzEyNGJiNzY2YjY5Y2NlZjdkNWI5MDlj
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
SGFuZC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViWFJIYW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSGFu
ZCk7CisKK1JlZjxXZWJYUkhhbmQ+IFdlYlhSSGFuZDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YlhSSGFuZChkb2N1bWVudCwgc2Vzc2lvbikpOworfQorCitXZWJYUkhhbmQ6OldlYlhSSGFuZChE
b2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpCit7Cit9CisKK1dlYlhSSGFuZDo6fldlYlhSSGFuZCgp
ID0gZGVmYXVsdDsKKworUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJIYW5kOjpnZXQoY29u
c3QgWFJIYW5kSm9pbnQmIGtleSkKK3sKKyAgICBVTlVTRURfUEFSQU0oa2V5KTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworV2ViWFJIYW5kOjpJdGVyYXRvcjo6SXRlcmF0b3IoV2ViWFJIYW5k
JiBoYW5kKQorICAgIDogbV9oYW5kKGhhbmQpCit7Cit9CisKK3N0ZDo6b3B0aW9uYWw8V1RGOjpL
ZXlWYWx1ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gV2ViWFJI
YW5kOjpJdGVyYXRvcjo6bmV4dCgpCit7CisgICAgaWYgKG1faW5kZXggPiBtX2hhbmQtPm1fam9p
bnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTY2ODU2MGViZGU4YzU0ODA1ZTYyZmJlZTJlMmEx
YzcwZGI0OTk1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUkpv
aW50U3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJYUkhhbmRK
b2ludC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViWFJIYW5kIDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViWFJIYW5kPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUkhhbmQpOwor
cHVibGljOgorCisgICAgc3RhdGljIFJlZjxXZWJYUkhhbmQ+IGNyZWF0ZShEb2N1bWVudCYsIFdl
YlhSU2Vzc2lvbiYpOworICAgIH5XZWJYUkhhbmQoKTsKKworICAgIHVuc2lnbmVkIGxvbmcgc2l6
ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorCisgICAgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0
KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpOworCisgICAgY2xhc3MgSXRlcmF0b3IgeworICAgIHB1
YmxpYzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3IoV2ViWFJIYW5kJik7CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpv
aW50U3BhY2U+Pj4gbmV4dCgpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVmPFdlYlhSSGFu
ZD4gbV9oYW5kOworICAgICAgICBzaXplX3QgbV9pbmRleCB7IDAgfTsKKyAgICB9OworICAgIEl0
ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CisKK3By
aXZhdGU6CisgICAgV2ViWFJIYW5kKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisKKyAgICB1
bnNpZ25lZCBsb25nIG1fc2l6ZSB7IDAgfTsKKyAgICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFw
ID0gSGFzaE1hcDxYUkhhbmRKb2ludCwgUmVmPFdlYlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNo
PHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
OworICAgIEhhbmRKb2ludFRvU3BhY2VNYXAgbV9qb2ludHM7Cit9OworCit9CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTQ4
M2ZhNWJkMGYxYmE0NTQ2MzIxMTc4OWY0ZTcwNzhlZTMyNmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFIsCisgICAgQ29u
ZGl0aW9uYWw9V0VCWFJfSEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdp
bmRvdywKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9
WFJIYW5kCitdIGludGVyZmFjZSBXZWJYUkhhbmQgeworICAgIGl0ZXJhYmxlPFhSSGFuZEpvaW50
LCBXZWJYUkpvaW50U3BhY2U+OworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgc2l6ZTsKKyAgICBXZWJYUkpvaW50U3BhY2UgZ2V0KFhSSGFuZEpvaW50IGtleSk7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAppbmRl
eCA4OGZhNTJmNWQ4ODBkZDQ2NDcwNzI1YTgxZTNkZTkxZWY5YjM0MTE3Li41ZmJmOWI4MzExNTI2
OGE1YjNlODEyZmI2NzQyMjE5NjFiZjlhNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICs0MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShX
RUJYUl9IQU5EUykKKyNpbmNsdWRlICJXZWJYUkhhbmQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKQEAgLTY3LDEwICs3MiwxNCBAQCBwdWJs
aWM6CiAgICAgY29uc3QgR2FtZXBhZCogZ2FtZXBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2FtZXBh
ZC5wdHIoKTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgY29uc3Qg
V2ViWFJIYW5kKiBoYW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kLmdldCgpOyB9CisjZW5kaWYK
KwogICAgIHZvaWQgdXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGNvbnN0IElucHV0U291cmNlJik7
CiAgICAgYm9vbCByZXF1aXJlc0lucHV0U291cmNlQ2hhbmdlKGNvbnN0IElucHV0U291cmNlJik7
CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgCisKICAgICB2b2lkIHBvbGxFdmVudHMoVmVj
dG9yPFJlZjxYUklucHV0U291cmNlRXZlbnQ+PiYpOwogCiAgICAgLy8gRm9yIEdDIHJlYWNoYWJs
aXRpeS4KQEAgLTg5LDYgKzk4LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPEdhbWVwYWQ+IG1fZ2Ft
ZXBhZDsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIFJlZlB0cjxXZWJY
UkhhbmQ+IG1faGFuZDsKKyNlbmRpZgorCiAgICAgYm9vbCBtX3NlbGVjdFN0YXJ0ZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zcXVlZXplU3RhcnRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKaW5kZXggYmVj
ZmYzZGZlMTA0MjNmZDU1MDNiYWQ3MjA5ZGIzNDRhOWZlMzM5Ny4uNTE2YzViNTE2YjJlYWFhYmFl
MTA2MTFkYzkwMGI0YjQwMjkwNTFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsCkBAIC00MCw0ICs0MCw3IEBACiAKICAgICAvLyBo
dHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWdhbWVwYWRzLW1vZHVsZS8jeHJp
bnB1dHNvdXJjZS1pbnRlcmZhY2UKICAgICBbQ29uZGl0aW9uYWw9R0FNRVBBRCwgU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIEdhbWVwYWQ/IGdhbWVwYWQ7CisKKyAgICAvLyBodHRwczov
L2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2Ut
aW50ZXJmYWNlCisgICAgW0NvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLCBTYW1lT2JqZWN0XSByZWFk
b25seSBhdHRyaWJ1dGUgV2ViWFJIYW5kPyBoYW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE1ZTk2MjBmZDk0
MjAyNDQxYzkyM2UxODJhNzg3YWEyMTgwYmQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQ
b3NlLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhS
Sm9pbnRQb3NlPiBXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgV2Vi
WFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSSm9p
bnRQb3NlKGRvY3VtZW50LCBzZXNzaW9uKSk7Cit9CisKK1dlYlhSSm9pbnRQb3NlOjpXZWJYUkpv
aW50UG9zZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpCit7Cit9CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDMzY2YxZGI5YzU2YTA5OWY3NjVkM2UwZDliZGQ3ZTFhNmUxNzdjMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaApAQCAt
MCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdF
QlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFdlYlhSSm9pbnRQb3NlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJK
b2ludFBvc2U+IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRQb3NlKTsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9pbnRQb3NlPiBjcmVhdGUoRG9jdW1lbnQm
LCBXZWJYUlNlc3Npb24mKTsKKyAgICB+V2ViWFJKb2ludFBvc2UoKSA9IGRlZmF1bHQ7CisKKyAg
ICBmbG9hdCByYWRpdXMoKSBjb25zdCB7IHJldHVybiBtX3JhZGl1czsgfQorCitwcml2YXRlOgor
ICAgIFdlYlhSSm9pbnRQb3NlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisKKyAgICBmbG9h
dCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2NWQ5MDc2NzRm
MGQxZTZkNzU4MWY0ZDNlZTRkYzJhNTlkMmYzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSLAorICAgIENvbmRp
dGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5k
b3csCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhS
Sm9pbnRQb3NlCitdIGludGVyZmFjZSBXZWJYUkpvaW50UG9zZSB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGZsb2F0IHJhZGl1czsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzA2NGU5ZTQyMDQ2NmI3YWQwZmFj
N2JhODMwMmQ1OTU1MTIzMzVlNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcApAQCAtMCwwICsxLDU3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
KworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSA8
d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJKb2ludFNwYWNlKTsKKworUmVmPFdlYlhSSm9pbnRT
cGFjZT4gV2ViWFJKb2ludFNwYWNlOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNl
c3Npb24mIHNlc3Npb24pCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFNw
YWNlKGRvY3VtZW50LCBzZXNzaW9uKSk7Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6V2ViWFJKb2lu
dFNwYWNlKERvY3VtZW50JiBkb2N1bWVudCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQorICAgIDog
V2ViWFJTcGFjZShkb2N1bWVudCwgV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCkpCisgICAg
LCBtX3Nlc3Npb24oc2Vzc2lvbikKK3sKK30KKworV2ViWFJKb2ludFNwYWNlOjp+V2ViWFJKb2lu
dFNwYWNlKCkgPSBkZWZhdWx0OworCitUcmFuc2Zvcm1hdGlvbk1hdHJpeCBXZWJYUkpvaW50U3Bh
Y2U6Om5hdGl2ZU9yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHsgfTsKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjhkYWZkZjg1YzA1ZDIwMmIwYzE2NmUzMTM0NGU5YWJlZmQ0MmM3ZjQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRT
cGFjZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5o
IgorI2luY2x1ZGUgIldlYlhSU3BhY2UuaCIKKyNpbmNsdWRlICJYUkhhbmRKb2ludC5oIgorI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgV2ViWFJKb2ludFNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
WFJKb2ludFNwYWNlPiwgcHVibGljIFdlYlhSU3BhY2UgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoV2ViWFJKb2ludFNwYWNlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9p
bnRTcGFjZT4gY3JlYXRlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisgICAgdmlydHVhbCB+
V2ViWFJKb2ludFNwYWNlKCk7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFj
ZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT46OmRlcmVmOwor
CisgICAgWFJIYW5kSm9pbnQgam9pbnROYW1lKCkgY29uc3QgeyByZXR1cm4gWFJIYW5kSm9pbnQ6
OldyaXN0OyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiwgV2Vi
WFJTZXNzaW9uJik7CisKKyAgICBXZWJYUlNlc3Npb24mIHNlc3Npb24oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Nlc3Npb24uZ2V0KCk7IH0KKyAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBuYXRp
dmVPcmlnaW4oKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5h
bCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigp
OyB9CisKKyAgICBib29sIGlzSm9pbnRTcGFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7
IH0KKworICAgIFJlZjxXZWJYUlNlc3Npb24+IG1fc2Vzc2lvbjsKK307CisKK30KKworU1BFQ0lB
TElaRV9UWVBFX1RSQUlUU19XRUJYUlNQQUNFKFdlYlhSSm9pbnRTcGFjZSwgaXNKb2ludFNwYWNl
KCkpCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkpvaW50U3BhY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpv
aW50U3BhY2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1Njg0ZDgwZDgzNGQzYWE5YjkwZGZjNjFkMmRlZTMw
NmQxNGE2OWUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSSm9pbnRTcGFjZS5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisg
ICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUiwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUywK
KyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBF
eHBvc2VkPVdpbmRvdywKKyAgICBJbnRlcmZhY2VOYW1lPVhSSm9pbnRTcGFjZQorXSBpbnRlcmZh
Y2UgV2ViWFJKb2ludFNwYWNlOiBXZWJYUlNwYWNlIHsKKyAgcmVhZG9ubHkgYXR0cmlidXRlIFhS
SGFuZEpvaW50IGpvaW50TmFtZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSU3BhY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJTcGFjZS5oCmluZGV4IGQ4Zjg4ZWE1OGI5NTg0NTE4ZDQ3NjU0MGVkYzhkZGRiMTk2NzlkYjQu
LjNmNGFhOWJmYjY4MjIyMjczYmNmMGQ3MDYxNWM1ZDY4ZGM3MTBjMTAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oCkBAIC01MSw2ICs1MSw5IEBAIHB1YmxpYzoK
IAogICAgIHZpcnR1YWwgYm9vbCBpc1JlZmVyZW5jZVNwYWNlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KICAgICB2aXJ0dWFsIGJvb2wgaXNCb3VuZGVkUmVmZXJlbmNlU3BhY2UoKSBjb25zdCB7
IHJldHVybiBmYWxzZTsgfQorI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICB2aXJ0dWFsIGJv
b2wgaXNKb2ludFNwYWNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNlbmRpZgogCiBwcm90
ZWN0ZWQ6CiAgICAgV2ViWFJTcGFjZShEb2N1bWVudCYsIFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3Jt
PiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9p
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mOWYwNjJiNWVjYjU1NjdlZWVkYTg0N2QwZTg2OTM2N2RhMDgzMWNkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oCkBAIC0w
LDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VC
WFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIFhSSGFuZEpvaW50IDogdW5zaWduZWQgeworICAgIFdyaXN0LAorICAgIFRodW1iTWV0
YWNhcnBhbCwKKyAgICBUaHVtYlBoYWxhbnhQcm94aW1hbCwKKyAgICBUaHVtYlBoYWxhbnhEaXN0
YWwsCisgICAgVGh1bWJUaXAsCisgICAgSW5kZXhGaW5nZXJNZXRhY2FycGFsLAorICAgIEluZGV4
RmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIEluZGV4RmluZ2VyUGhhbGFueEludGVybWVkaWF0
ZSwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgSW5kZXhGaW5nZXJUaXAsCisg
ICAgTWlkZGxlRmluZ2VyTWV0YWNhcnBhbCwKKyAgICBNaWRkbGVGaW5nZXJQaGFsYW54UHJveGlt
YWwsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAgICBNaWRkbGVGaW5n
ZXJQaGFsYW54RGlzdGFsLAorICAgIE1pZGRsZUZpbmdlclRpcCwKKyAgICBSaW5nRmluZ2VyTWV0
YWNhcnBhbCwKKyAgICBSaW5nRmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIFJpbmdGaW5nZXJQ
aGFsYW54SW50ZXJtZWRpYXRlLAorICAgIFJpbmdGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIFJp
bmdGaW5nZXJUaXAsCisgICAgUGlua3lGaW5nZXJNZXRhY2FycGFsLAorICAgIFBpbmt5RmluZ2Vy
UGhhbGFueFByb3hpbWFsLAorICAgIFBpbmt5RmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAg
ICBQaW5reUZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgUGlua3lGaW5nZXJUaXAKK307CisKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFu
ZEpvaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjZiYmUzMTc5MjRjYzZlZjU4ZGE4MjRmNDQ1OWU3OGZiNjllYjBiMzYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50
LmlkbApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0
aW5nPVdlYlhSLAorICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIEV4cG9ydE1hY3Jv
PVdFQkNPUkVfRVhQT1JUCitdIGVudW0gWFJIYW5kSm9pbnQgeworICAid3Jpc3QiLAorCisgICJ0
aHVtYi1tZXRhY2FycGFsIiwKKyAgInRodW1iLXBoYWxhbngtcHJveGltYWwiLAorICAidGh1bWIt
cGhhbGFueC1kaXN0YWwiLAorICAidGh1bWItdGlwIiwKKworICAiaW5kZXgtZmluZ2VyLW1ldGFj
YXJwYWwiLAorICAiaW5kZXgtZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAorICAiaW5kZXgtZmlu
Z2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgImluZGV4LWZpbmdlci1waGFsYW54LWRpc3Rh
bCIsCisgICJpbmRleC1maW5nZXItdGlwIiwKKworICAibWlkZGxlLWZpbmdlci1tZXRhY2FycGFs
IiwKKyAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICJtaWRkbGUtZmluZ2Vy
LXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1kaXN0YWwi
LAorICAibWlkZGxlLWZpbmdlci10aXAiLAorCisgICJyaW5nLWZpbmdlci1tZXRhY2FycGFsIiwK
KyAgInJpbmctZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAorICAicmluZy1maW5nZXItcGhhbGFu
eC1pbnRlcm1lZGlhdGUiLAorICAicmluZy1maW5nZXItcGhhbGFueC1kaXN0YWwiLAorICAicmlu
Zy1maW5nZXItdGlwIiwKKworICAicGlua3ktZmluZ2VyLW1ldGFjYXJwYWwiLAorICAicGlua3kt
ZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAorICAicGlua3ktZmluZ2VyLXBoYWxhbngtaW50ZXJt
ZWRpYXRlIiwKKyAgInBpbmt5LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICJwaW5reS1maW5n
ZXItdGlwIgorfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlNDNhZmRjYWVmMjBkZmM0M2E1ZjA2OWNk
NGFkMmRhYTE2ZDljOWVjLi42YzAxZWY1ODg1YTg2ZmM3OTE5NzAwMjQyYzlhMzg3MGRkMDIyNzll
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Tb3VyY2VzLnR4dApAQCAtMzU0LDkgKzM1NCwxMiBAQCBNb2R1bGVzL3dlYnhyL05hdmln
YXRvcldlYlhSLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5j
cHAKIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJHYW1l
cGFkLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhS
SW5wdXRTb3VyY2UuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAK
IE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNwYWNlLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkpv
aW50UG9zZS5jcHAKK01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcAogTW9kdWxlcy93
ZWJ4ci9XZWJYUkxheWVyLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVy
LmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUlBvc2UuY3BwCkBAIC0zNzYzLDggKzM3NjYsMTEgQEAg
SlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCiBKU1dlYlNvY2tldC5jcHAKIEpTV2ViWFJCb3Vu
ZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiBKU1dlYlhSRnJhbWUuY3BwCitKU1dlYlhSSGFuZC5jcHAK
IEpTV2ViWFJJbnB1dFNvdXJjZS5jcHAKIEpTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmNwcAorSlNX
ZWJYUkpvaW50UG9zZS5jcHAKK0pTV2ViWFJKb2ludFNwYWNlLmNwcAogSlNXZWJYUkxheWVyLmNw
cAogSlNXZWJYUlBvc2UuY3BwCiBKU1dlYlhSUmVmZXJlbmNlU3BhY2UuY3BwCkBAIC0zODA2LDYg
KzM4MTIsNyBAQCBKU1hQYXRoUmVzdWx0LmNwcAogSlNYUkVudmlyb25tZW50QmxlbmRNb2RlLmNw
cAogSlNYUkV5ZS5jcHAKIEpTWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5jcHAKK0pTWFJIYW5kSm9p
bnQuY3BwCiBKU1hSSGFuZGVkbmVzcy5jcHAKIEpTWFJJbnB1dFNvdXJjZUV2ZW50LmNwcAogSlNY
UklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDAyZDg0MTViNDYwYjI3NTAxNjU0YTE1
NzQyOTEyYjVjNGZkYjEyNWEuLjhkMGFmNjU0ZGFmN2VkNTlhYTNkNGMxMTAxMzNjYTZkMzM5OTk4
NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKQEAgLTEwMDYsNiArMTAwNiwxMCBAQAogCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUg
LyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNp
dGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjNFMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktp
dEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUMwRkYzQTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVu
dC5oICovOyB9OwogCQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDMxQzBGRjNDMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oICov
OyB9OworCQkzMUQ5MkE5RjI3MDdENURFMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDkyQTlDMjcwN0Q1RDAw
MEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovOyB9OworCQkzMUQ5MkFBMzI3MDdENjk2MDBBRDAx
RDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmggKi87IH07CisJ
CTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDkyQUE1MjcwN0U4QjMwMEFE
MDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAqLzsgfTsKKwkJMzFEOTJBQUIyNzA4RDIwMTAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUQ5MkFBODI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
aCAqLzsgfTsKIAkJMzFERUE0NTYxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJhY2tkcm9w
TGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
REVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLmggKi87IH07
CiAJCTMxRUFGOTdFMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUFGOTdDMTIx
NDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCAqLzsgfTsKIAkJMzFFQjU0
REYxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVCNTRERDFFN0RDNzQ0
MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCAqLzsgfTsKQEAgLTc3MTcs
NiArNzcyMSwxNyBAQAogCQkzMUQyNkJDNDFGODZEMjY2MDA4RkYyNTUgLyogSlNJbWFnZUJpdG1h
cE9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFn
ZUJpdG1hcE9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQyNkJD
NTFGODZEMjY4MDA4RkYyNTUgLyogSlNJbWFnZUJpdG1hcE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFnZUJpdG1hcE9wdGlvbnMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzFEMjZCQzYxRjg2RDI2OTAwOEZGMjU1IC8qIEpTSW1hZ2VCaXRt
YXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZUJpdG1h
cC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQTlDMjcwN0Q1RDAwMEFE
MDFEMCAvKiBYUkhhbmRKb2ludC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBYUkhhbmRKb2ludC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkE5RTI3MDdENUQxMDBBRDAxRDAgLyogWFJI
YW5kSm9pbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IFhSSGFuZEpvaW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMzFEOTJBQTAyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJYUkhhbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlhSSGFuZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMjI3MDdE
NjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJYUkhhbmQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBNDI3MDdFODNBMDBBRDAxRDAgLyogV2ViWFJK
b2ludFNwYWNlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBXZWJYUkpvaW50U3BhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUQ5MkFBNTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSm9pbnRTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUQ5MkFBNjI3MDdFOTUxMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSm9pbnRTcGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxRDkyQUE4MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9z
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJYUkpvaW50UG9zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkzMUQ5MkFBOTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IFdlYlhSSm9pbnRQb3NlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFEOTJBQUEyNzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFERUE0NTMxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJTeXN0ZW1CYWNrZHJv
cExheWVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMURFQTQ1NDFCMzlGNEQ5
MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTMxRUFGOTdDMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGll
bnRJT1MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ2xp
ZW50SU9TLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yODk4OCw2ICsyOTAwMyw5
IEBACiAJCQkJRTE5NDkwODgyNDM0RjE1OTAwNDE2QTk5IC8qIFdlYlhSRnJhbWUuaWRsICovLAog
CQkJCTExRTUxNjNCMjYxRTFBMTQwMEU2OUYyNSAvKiBXZWJYUkdhbWVwYWQuY3BwICovLAogCQkJ
CTExRTUxNjNBMjYxRTFBMTQwMEU2OUYyNSAvKiBXZWJYUkdhbWVwYWQuaCAqLywKKwkJCQkzMUQ5
MkFBMDI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmNwcCAqLywKKwkJCQkzMUQ5MkFBMTI3
MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmggKi8sCisJCQkJMzFEOTJBQTIyNzA3RDY4RDAw
QUQwMUQwIC8qIFdlYlhSSGFuZC5pZGwgKi8sCiAJCQkJRTFFRThCMEQyNDEyQjE3MDAwRTc5NEQ2
IC8qIFdlYlhSSW5wdXRTb3VyY2UuY3BwICovLAogCQkJCUUxRUU4QjE3MjQxMkIxNzAwMEU3OTRE
NiAvKiBXZWJYUklucHV0U291cmNlLmggKi8sCiAJCQkJRTE5NDkwODkyNDM0RjE1QTAwNDE2QTk5
IC8qIFdlYlhSSW5wdXRTb3VyY2UuaWRsICovLApAQCAtMjg5OTYsNiArMjkwMTQsMTIgQEAKIAkJ
CQlFMTk0OTA5MzI0MzRGMTYwMDA0MTZBOTkgLyogV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbCAq
LywKIAkJCQkxMUU1MTYzNzI2MUUxQTA1MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmNwcCAq
LywKIAkJCQkxMUU1MTYzNTI2MUUxQTA1MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmggKi8s
CisJCQkJMzFEOTJBQUEyNzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmNwcCAqLywK
KwkJCQkzMUQ5MkFBODI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLywKKwkJ
CQkzMUQ5MkFBOTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaWRsICovLAorCQkJ
CTMxRDkyQUE2MjcwN0U5NTEwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuY3BwICovLAorCQkJ
CTMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAqLywKKwkJCQkz
MUQ5MkFBNDI3MDdFODNBMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmlkbCAqLywKIAkJCQlF
MTJGREFGQjI0QTBGRDFDMDA3MDIzNkUgLyogV2ViWFJMYXllci5jcHAgKi8sCiAJCQkJRTEyRkRB
RkQyNEEwRkQxRTAwNzAyMzZFIC8qIFdlYlhSTGF5ZXIuaCAqLywKIAkJCQlFMTJGREFGRTI0QTBG
RDFGMDA3MDIzNkUgLyogV2ViWFJMYXllci5pZGwgKi8sCkBAIC0yOTA0Miw2ICsyOTA2Niw4IEBA
CiAJCQkJRTFFRThBRkIyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2su
aWRsICovLAogCQkJCUUxRUU4QUVFMjQxMkIxNzAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaCAq
LywKIAkJCQlFMUVFOEIwNzI0MTJCMTcwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmlkbCAqLywK
KwkJCQkzMUQ5MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAqLywKKwkJCQkz
MUQ5MkE5RTI3MDdENUQxMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaWRsICovLAogCQkJCUUxRUU4
QUNDMjQxMkIxNzAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuY3BwICovLAogCQkJCUUx
RUU4QjA5MjQxMkIxNzAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaCAqLywKIAkJCQlF
MUVFOEIwMDI0MTJCMTcwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmlkbCAqLywKQEAg
LTM1OTAzLDkgKzM1OTI5LDEyIEBACiAJCQkJRTFFRThCN0UyNDEzMTkxRjAwRTc5NEQ2IC8qIFdl
YlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4QTI0
MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFFNTE2
M0MyNjFFMUExNTAwRTY5RjI1IC8qIFdlYlhSR2FtZXBhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MzFEOTJBQTMyNzA3RDY5NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRTFFRThCQTgyNDEzMTk2MzAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRTb3VyY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxRUU4Qjg2MjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNl
QXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJCTExRTUxNjM4MjYxRTFBMDYwMEU2OUYyNSAvKiBX
ZWJYUklucHV0U3BhY2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUFCMjcwOEQyMDEwMEFE
MDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQTcyNzA3
RTk1OTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEy
RkRCMDAyNEEwRkQyMDAwNzAyMzZFIC8qIFdlYlhSTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTMxNEYxNjlGMjY0MEJDNDEwMDY2M0VDRSAvKiBXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMUVFOEI4ODI0MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJQb3NlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTM2MDI0LDYgKzM2MDUzLDcgQEAKIAkJCQlFMUVFOEI5NzI0MTMx
OTUwMDBFNzk0RDYgLyogWFJFeWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QjhGMjQxMzE5
NTAwMEU3OTRENiAvKiBYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEI5MjI0MTMxOTUwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmggaW4gSGVhZGVycyAq
LywKKwkJCQkzMUQ5MkE5RjI3MDdENURFMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxRUU4QjlGMjQxMzE5NTAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZl
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4Qjk5MjQxMzE5NTAwMEU3OTRENiAvKiBYUklu
cHV0U291cmNlc0NoYW5nZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJBOUY0QTI0OEE5
OUUyMDAzRjA2QzggLyogWFJJbnRlcmFjdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDli
OGExOGI0Yzk5ZjM2OGU3NzBjY2UwNmI5NjQ1MDYxZGU0ZDdiN2MuLmY2YmIwNWY3YjM0Y2FjMDk3
N2JkNmYzMzBmMzVhMDAxMTQ4NGU1M2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTMwMywxMCArMzAzLDEzIEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyhYTUxIdHRwUmVxdWVzdCkgXAogICAgIG1hY3JvKFhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlKSBcCiAgICAgbWFjcm8oWFJGcmFtZSkgXAorICAgIG1hY3JvKFhS
SGFuZCkgXAogICAgIG1hY3JvKFhSSW5wdXRTb3VyY2UpIFwKICAgICBtYWNybyhYUklucHV0U291
cmNlQXJyYXkpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlRXZlbnQpIFwKICAgICBtYWNybyhY
UklucHV0U291cmNlc0NoYW5nZUV2ZW50KSBcCisgICAgbWFjcm8oWFJKb2ludFBvc2UpIFwKKyAg
ICBtYWNybyhYUkpvaW50U3BhY2UpIFwKICAgICBtYWNybyhYUkxheWVyKSBcCiAgICAgbWFjcm8o
WFJQb3NlKSBcCiAgICAgbWFjcm8oWFJSZWZlcmVuY2VTcGFjZSkgXAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440005</attachid>
            <date>2021-10-03 09:57:11 -0700</date>
            <delta_ts>2021-10-03 10:49:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211004035709.patch</filename>
            <type>text/plain</type>
            <size>51261</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgxMDRkM2I1ZGE3NzJjODI2MDcyODBj
NmU2ZjJmNmRhZDEwYjk5Y2MuLmJhYTZjNGE4MzYxODE0MmFiM2FjMjE0MzdlMmMwMDMwMDMwYjM2
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDIgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmRzIElucHV0
IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gRU5BQkxFX1dFQlhSX0hB
TkRTLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0wOS0z
MCAgRWRkeSBXb25nICA8ZWRkeV93b25nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBwcmVz
ZW50YXRpb25TY2VuZUlkZW50aWZpZXJGb3JQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIg
ZGVsZWdhdGUgY2FsbCBmcm9tIFBhc3NLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZjRlMjI4ZmIyOTRkZThh
MTVjM2Q1ZWFhZWIzMGQxZGQ3NTgxOGMxLi5iOTE0NTQ0YjBhZWQwNDlmYzZjNTFkNTdjYmQ1Yzcz
M2QzZGUyYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEtMTAtMDIgIERlYW4g
SmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdl
YlhSIEhhbmRzIElucHV0IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhl
IElETCBhbmQgc3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5k
IElucHV0IG1vZHVsZToKKyAgICAgICAgaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93
ZWJ4ci1oYW5kLWlucHV0LworCisgICAgICAgIE5vdGhpbmcgaXMgYWN0dWFsbHkgaW1wbGVtZW50
ZWQgeWV0IHNvIHRoZXJlIHNob3VsZAorICAgICAgICBiZSBubyBjaGFuZ2UgdG8gdGVzdHMuCisK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYlhSRnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1l
OjpmaWxsUG9zZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGw6IEFkZCBtZXRob2RzIGZvciBjYWxj
dWxhdGluZyBoYW5kIGpvaW50IGluZm9ybWF0aW9uLgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6V2ViWFJIYW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSGFuZDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6
Okl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6Om5leHQp
OgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmg6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkhhbmQ6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpjcmVhdGVJ
dGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oOiBBZGQgYGhhbmRgIGFjY2Vzc29y
LgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6aGFuZCBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbDogQWRkIGBoYW5kYCBhdHRy
aWJ1dGUuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSm9pbnRQb3NlOjpXZWJYUkpvaW50UG9zZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkpvaW50UG9zZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBvc2U6OnJh
ZGl1cyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJK
b2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6Ompv
aW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oOiBBZGQgYSB2aXJ0dWFs
IG1ldGhvZCB0byBpZGVudGlmeSBoYW5kIGpvaW50IHNwYWNlcy4KKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSU3BhY2U6OmlzSm9pbnRTcGFjZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9YUkhhbmRKb2ludC5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRs
OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
Lmg6IEFkZCBuYW1lIG1hcHBpbmdzIGZvciB0aGUgdGhpbmdzCisgICAgICAgIHRoYXQgYXJlIGV4
cG9zZWQgd2l0aG91dCB0aGUgIldlYlhSIiBwcmVmaXguCisKIDIwMjEtMDktMzAgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUENNOiBUYWtlIGFwcCBidW5k
bGUgSUQgaW50byBjb25zaWRlcmF0aW9uIHdoZW4gbWF0Y2hpbmcgdHJpZ2dlcmluZyBldmVudHMg
d2l0aCBwZW5kaW5nIGNsaWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4
IDg3YjJiMWNjZWNiOTVlNmVhMjI2N2NiMzViZjZhMTJlMmU2YTc1OWEuLjAzZTBhZDMxYWIzODZh
MGQxYTk2MTkwMDcxZmUyMTAwMmJmYjBmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmgKQEAgLTYyNyw2ICs2MjcsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRp
ZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VC
WFJfSEFORFMgMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKQogI2RlZmluZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0
NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2NjEwNDljMy4uODU2ZDUyMGNhYTkxNjQ5M2IzNGU0
OTYxMmZiYTg5Y2MwYzM3YWJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01ODQsOCArNTg0LDExIEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YnhyL05hdmlnYXRvcitXZWJYUi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2Vi
WFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSRnJhbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlBvc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNl
U3BhY2UuaWRsCkBAIC02MDEsNiArNjA0LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9XZWJYUldlYkdMTGF5ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRW52
aXJvbm1lbnRCbGVuZE1vZGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRXll
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNr
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGI2MGE0OWMxNTJkOGY5
MmFiMjU1MjJhOTkyOWEyM2EwY2E1YmZhZWUuLjJlZGY3NGZiMGFlMjBlMTkyOWEzMjRiZWNjMjIw
ZWE5YWNkMzRlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0yNTIxLDEwICsyNTIxLDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSGFuZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJIYW5kLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJj
ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
SW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFBvc2UuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSm9pbnRQb3NlLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFNw
YWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAtMjYyNSw2ICsyNjMxLDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkV5ZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJFeWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVz
dENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpvaW50LmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kZWRuZXNzLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRlZG5lc3MuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUklucHV0U291
cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhMzUyMjkzNjFh
MGRhNTRiM2UxMmI3MmI0NTlmYzYyMzBjN2E2Yzk1Li5mYjM0M2Q3MjM0YmY0MTAyYmU2MDEyNTdk
YTQ5ZjEwYzYyNWY1MjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ4NSw4
ICs0ODUsMTEgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYnhyL1dlYlhSRnJhbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2Vi
WFJIYW5kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291
cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlkbCBcCkBAIC01MDIsNiArNTA1LDcgQEAgSlNf
QklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJFbnZpcm9u
bWVudEJsZW5kTW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkV5ZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNr
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKaW5kZXggN2U3ZjY5ZGM1YTg1
NjliNDYzNzQxZTY3MDRkNWFlNjYwMDNhZTg1NS4uZWM0ZjRlNTY4Mjk4Y2FmNjYwYzZmMTc2ZmZh
ZGRmNzI5NzRmZWViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCkBAIC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxFKFdFQlhSKQogCiAjaW5jbHVkZSAi
V2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50UG9zZS5o
IgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgogI2luY2x1ZGUgIldlYlhSUmVmZXJlbmNl
U3BhY2UuaCIKICNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKICNpbmNsdWRlICJXZWJYUlZpZXdl
clBvc2UuaCIKQEAgLTI0Miw2ICsyNDQsMzAgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggV2ViWFJG
cmFtZTo6bWF0cml4RnJvbVBvc2UoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNlOjpGcmFtZUQKICAg
ICByZXR1cm4gbWF0cml4OwogfQogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorLy8gaHR0cHM6
Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1n
ZXRqb2ludHBvc2UKK0V4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpvaW50UG9zZT4+IFdlYlhSRnJh
bWU6OmdldEpvaW50UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSSm9pbnRTcGFjZSYg
am9pbnQsIGNvbnN0IFdlYlhSU3BhY2UmIGJhc2VTcGFjZSkKK3sKKyAgICBVTlVTRURfUEFSQU0o
am9pbnQpOworICAgIFVOVVNFRF9QQVJBTShiYXNlU3BhY2UpOworICAgIHJldHVybiBudWxscHRy
OworfQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5w
dXQvI2RvbS14cmZyYW1lLWZpbGxqb2ludHJhZGlpCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZy
YW1lOjpmaWxsSm9pbnRSYWRpaShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
V2ViWFJKb2ludFNwYWNlPj4sIGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKy8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1p
bnB1dC8jZG9tLXhyZnJhbWUtZmlsbHBvc2VzCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZyYW1l
OjpmaWxsUG9zZXMoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3Bh
Y2U+PiwgY29uc3QgV2ViWFJTcGFjZSYsIGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKyNlbmRpZgorCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lLmgKaW5kZXggZmE5MDBkYzIyZjY5MTU5Zjc5MjdjNzIxYzI1ZDBkYzc2NDA5MDc2Yy4uYmI3
ZTRhNWZiYmE5ODQ1YjA4MzBhODhjNmFkOGNiMWNmY2I2NmQ4YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJE
T01IaWdoUmVzVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzgsNiArMzksOCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFdlYlhSSm9pbnRQb3NlOworY2xhc3MgV2Vi
WFJKb2ludFNwYWNlOwogY2xhc3MgV2ViWFJQb3NlOwogY2xhc3MgV2ViWFJSZWZlcmVuY2VTcGFj
ZTsKIGNsYXNzIFdlYlhSU2Vzc2lvbjsKQEAgLTU2LDYgKzU5LDEyIEBAIHB1YmxpYzoKICAgICBF
eGNlcHRpb25PcjxSZWZQdHI8V2ViWFJWaWV3ZXJQb3NlPj4gZ2V0Vmlld2VyUG9zZShjb25zdCBE
b2N1bWVudCYsIGNvbnN0IFdlYlhSUmVmZXJlbmNlU3BhY2UmKTsKICAgICBFeGNlcHRpb25PcjxS
ZWZQdHI8V2ViWFJQb3NlPj4gZ2V0UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSU3Bh
Y2UmLCBjb25zdCBXZWJYUlNwYWNlJik7CiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAg
RXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSSm9pbnRQb3NlPj4gZ2V0Sm9pbnRQb3NlKGNvbnN0IERv
Y3VtZW50JiwgY29uc3QgV2ViWFJKb2ludFNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOworICAg
IEV4Y2VwdGlvbk9yPGJvb2w+IGZpbGxKb2ludFJhZGlpKGNvbnN0IERvY3VtZW50JiwgY29uc3Qg
VmVjdG9yPFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5Jik7Cisg
ICAgRXhjZXB0aW9uT3I8Ym9vbD4gZmlsbFBvc2VzKGNvbnN0IERvY3VtZW50JiwgY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJYUlNwYWNlPj4sIGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBGbG9hdDMy
QXJyYXkmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRUaW1lKERPTUhpZ2hSZXNUaW1lU3RhbXAg
dGltZSkgeyBtX3RpbWUgPSB0aW1lOyB9CiAKICAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2
ZSkgeyBtX2FjdGl2ZSA9IGFjdGl2ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJGcmFtZS5pZGwKaW5kZXggZWI5OTgzNDJlM2YwNjg4NzkxYTAxY2RlNTY1NmUxNjg1MTZj
NTNkYS4uNTg3MDMwM2NlNTJhM2UxMTEwMzQ5ZWE2YmNlOWNiOTJhYWY3MTE4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsCkBAIC0zNSw0ICszNSw4IEBA
CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFdlYlhSVmlld2VyUG9zZT8gZ2V0Vmlld2VyUG9z
ZShXZWJYUlJlZmVyZW5jZVNwYWNlIHJlZmVyZW5jZVNwYWNlKTsKICAgICBbQ2FsbFdpdGg9RG9j
dW1lbnRdIFdlYlhSUG9zZT8gZ2V0UG9zZShXZWJYUlNwYWNlIHNwYWNlLCBXZWJYUlNwYWNlIGJh
c2VTcGFjZSk7CisKKyAgICBbQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3Vt
ZW50XSBXZWJYUkpvaW50UG9zZT8gZ2V0Sm9pbnRQb3NlKFdlYlhSSm9pbnRTcGFjZSBqb2ludCwg
V2ViWFJTcGFjZSBiYXNlU3BhY2UpOworICAgIFtDb25kaXRpb25hbD1XRUJYUl9IQU5EUywgQ2Fs
bFdpdGg9RG9jdW1lbnRdIGJvb2xlYW4gZmlsbEpvaW50UmFkaWkoc2VxdWVuY2U8V2ViWFJKb2lu
dFNwYWNlPiBqb2ludFNwYWNlcywgRmxvYXQzMkFycmF5IHJhZGlpKTsKKyAgICBbQ29uZGl0aW9u
YWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3VtZW50XSBib29sZWFuIGZpbGxQb3NlcyhzZXF1
ZW5jZTxXZWJYUlNwYWNlPiBzcGFjZXMsIFdlYlhSU3BhY2UgYmFzZVNwYWNlLCBGbG9hdDMyQXJy
YXkgdHJhbnNmb3Jtcyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUkhhbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhh
bmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM4NDNmNjJjOTYzZTc2YzEyNGJiNzY2YjY5Y2NlZjdkNWI5MDlj
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
SGFuZC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViWFJIYW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSGFu
ZCk7CisKK1JlZjxXZWJYUkhhbmQ+IFdlYlhSSGFuZDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YlhSSGFuZChkb2N1bWVudCwgc2Vzc2lvbikpOworfQorCitXZWJYUkhhbmQ6OldlYlhSSGFuZChE
b2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpCit7Cit9CisKK1dlYlhSSGFuZDo6fldlYlhSSGFuZCgp
ID0gZGVmYXVsdDsKKworUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJIYW5kOjpnZXQoY29u
c3QgWFJIYW5kSm9pbnQmIGtleSkKK3sKKyAgICBVTlVTRURfUEFSQU0oa2V5KTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworV2ViWFJIYW5kOjpJdGVyYXRvcjo6SXRlcmF0b3IoV2ViWFJIYW5k
JiBoYW5kKQorICAgIDogbV9oYW5kKGhhbmQpCit7Cit9CisKK3N0ZDo6b3B0aW9uYWw8V1RGOjpL
ZXlWYWx1ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gV2ViWFJI
YW5kOjpJdGVyYXRvcjo6bmV4dCgpCit7CisgICAgaWYgKG1faW5kZXggPiBtX2hhbmQtPm1fam9p
bnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTY2ODU2MGViZGU4YzU0ODA1ZTYyZmJlZTJlMmEx
YzcwZGI0OTk1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUkpv
aW50U3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJYUkhhbmRK
b2ludC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViWFJIYW5kIDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViWFJIYW5kPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUkhhbmQpOwor
cHVibGljOgorCisgICAgc3RhdGljIFJlZjxXZWJYUkhhbmQ+IGNyZWF0ZShEb2N1bWVudCYsIFdl
YlhSU2Vzc2lvbiYpOworICAgIH5XZWJYUkhhbmQoKTsKKworICAgIHVuc2lnbmVkIGxvbmcgc2l6
ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorCisgICAgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0
KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpOworCisgICAgY2xhc3MgSXRlcmF0b3IgeworICAgIHB1
YmxpYzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3IoV2ViWFJIYW5kJik7CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpv
aW50U3BhY2U+Pj4gbmV4dCgpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVmPFdlYlhSSGFu
ZD4gbV9oYW5kOworICAgICAgICBzaXplX3QgbV9pbmRleCB7IDAgfTsKKyAgICB9OworICAgIEl0
ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CisKK3By
aXZhdGU6CisgICAgV2ViWFJIYW5kKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisKKyAgICB1
bnNpZ25lZCBsb25nIG1fc2l6ZSB7IDAgfTsKKyAgICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFw
ID0gSGFzaE1hcDxYUkhhbmRKb2ludCwgUmVmPFdlYlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNo
PHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
OworICAgIEhhbmRKb2ludFRvU3BhY2VNYXAgbV9qb2ludHM7Cit9OworCit9CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTQ4
M2ZhNWJkMGYxYmE0NTQ2MzIxMTc4OWY0ZTcwNzhlZTMyNmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFIsCisgICAgQ29u
ZGl0aW9uYWw9V0VCWFJfSEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdp
bmRvdywKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9
WFJIYW5kCitdIGludGVyZmFjZSBXZWJYUkhhbmQgeworICAgIGl0ZXJhYmxlPFhSSGFuZEpvaW50
LCBXZWJYUkpvaW50U3BhY2U+OworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgc2l6ZTsKKyAgICBXZWJYUkpvaW50U3BhY2UgZ2V0KFhSSGFuZEpvaW50IGtleSk7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAppbmRl
eCA4OGZhNTJmNWQ4ODBkZDQ2NDcwNzI1YTgxZTNkZTkxZWY5YjM0MTE3Li41ZmJmOWI4MzExNTI2
OGE1YjNlODEyZmI2NzQyMjE5NjFiZjlhNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICs0MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShX
RUJYUl9IQU5EUykKKyNpbmNsdWRlICJXZWJYUkhhbmQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKQEAgLTY3LDEwICs3MiwxNCBAQCBwdWJs
aWM6CiAgICAgY29uc3QgR2FtZXBhZCogZ2FtZXBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2FtZXBh
ZC5wdHIoKTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgY29uc3Qg
V2ViWFJIYW5kKiBoYW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kLmdldCgpOyB9CisjZW5kaWYK
KwogICAgIHZvaWQgdXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGNvbnN0IElucHV0U291cmNlJik7
CiAgICAgYm9vbCByZXF1aXJlc0lucHV0U291cmNlQ2hhbmdlKGNvbnN0IElucHV0U291cmNlJik7
CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgCisKICAgICB2b2lkIHBvbGxFdmVudHMoVmVj
dG9yPFJlZjxYUklucHV0U291cmNlRXZlbnQ+PiYpOwogCiAgICAgLy8gRm9yIEdDIHJlYWNoYWJs
aXRpeS4KQEAgLTg5LDYgKzk4LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPEdhbWVwYWQ+IG1fZ2Ft
ZXBhZDsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIFJlZlB0cjxXZWJY
UkhhbmQ+IG1faGFuZDsKKyNlbmRpZgorCiAgICAgYm9vbCBtX3NlbGVjdFN0YXJ0ZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zcXVlZXplU3RhcnRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKaW5kZXggYmVj
ZmYzZGZlMTA0MjNmZDU1MDNiYWQ3MjA5ZGIzNDRhOWZlMzM5Ny4uNTE2YzViNTE2YjJlYWFhYmFl
MTA2MTFkYzkwMGI0YjQwMjkwNTFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsCkBAIC00MCw0ICs0MCw3IEBACiAKICAgICAvLyBo
dHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWdhbWVwYWRzLW1vZHVsZS8jeHJp
bnB1dHNvdXJjZS1pbnRlcmZhY2UKICAgICBbQ29uZGl0aW9uYWw9R0FNRVBBRCwgU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIEdhbWVwYWQ/IGdhbWVwYWQ7CisKKyAgICAvLyBodHRwczov
L2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2Ut
aW50ZXJmYWNlCisgICAgW0NvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLCBTYW1lT2JqZWN0XSByZWFk
b25seSBhdHRyaWJ1dGUgV2ViWFJIYW5kPyBoYW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE1ZTk2MjBmZDk0
MjAyNDQxYzkyM2UxODJhNzg3YWEyMTgwYmQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQ
b3NlLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhS
Sm9pbnRQb3NlPiBXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgV2Vi
WFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSSm9p
bnRQb3NlKGRvY3VtZW50LCBzZXNzaW9uKSk7Cit9CisKK1dlYlhSSm9pbnRQb3NlOjpXZWJYUkpv
aW50UG9zZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpCit7Cit9CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDMzY2YxZGI5YzU2YTA5OWY3NjVkM2UwZDliZGQ3ZTFhNmUxNzdjMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaApAQCAt
MCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdF
QlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFdlYlhSSm9pbnRQb3NlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJK
b2ludFBvc2U+IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRQb3NlKTsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9pbnRQb3NlPiBjcmVhdGUoRG9jdW1lbnQm
LCBXZWJYUlNlc3Npb24mKTsKKyAgICB+V2ViWFJKb2ludFBvc2UoKSA9IGRlZmF1bHQ7CisKKyAg
ICBmbG9hdCByYWRpdXMoKSBjb25zdCB7IHJldHVybiBtX3JhZGl1czsgfQorCitwcml2YXRlOgor
ICAgIFdlYlhSSm9pbnRQb3NlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisKKyAgICBmbG9h
dCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2NWQ5MDc2NzRm
MGQxZTZkNzU4MWY0ZDNlZTRkYzJhNTlkMmYzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSLAorICAgIENvbmRp
dGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5k
b3csCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhS
Sm9pbnRQb3NlCitdIGludGVyZmFjZSBXZWJYUkpvaW50UG9zZSB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGZsb2F0IHJhZGl1czsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgyYTdmN2NhMTNhMGUzNWQzZjcx
MmY5MGE0NDczMGE1M2JjZDkzMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
KworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAi
V2ViWFJSaWdpZFRyYW5zZm9ybS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdl
YlhSSm9pbnRTcGFjZSk7CisKK1JlZjxXZWJYUkpvaW50U3BhY2U+IFdlYlhSSm9pbnRTcGFjZTo6
Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSSm9pbnRTcGFjZShkb2N1bWVudCwgc2Vzc2lvbikp
OworfQorCitXZWJYUkpvaW50U3BhY2U6OldlYlhSSm9pbnRTcGFjZShEb2N1bWVudCYgZG9jdW1l
bnQsIFdlYlhSU2Vzc2lvbiYgc2Vzc2lvbikKKyAgICA6IFdlYlhSU3BhY2UoZG9jdW1lbnQsIFdl
YlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgpKQorICAgICwgbV9zZXNzaW9uKHNlc3Npb24pCit7
Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6fldlYlhSSm9pbnRTcGFjZSgpID0gZGVmYXVsdDsKKwor
VHJhbnNmb3JtYXRpb25NYXRyaXggV2ViWFJKb2ludFNwYWNlOjpuYXRpdmVPcmlnaW4oKSBjb25z
dAoreworICAgIHJldHVybiB7IH07Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGFmZGY4NWMw
NWQyMDJiMGMxNjZlMzEzNDRlOWFiZWZkNDJjN2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApAQCAtMCwwICsxLDcxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFC
TEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJXZWJYUlNwYWNl
LmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+
CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhS
Sm9pbnRTcGFjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT4sIHB1YmxpYyBX
ZWJYUlNwYWNlIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRTcGFjZSk7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJYUkpvaW50U3BhY2U+IGNyZWF0ZShEb2N1bWVu
dCYsIFdlYlhSU2Vzc2lvbiYpOworICAgIHZpcnR1YWwgfldlYlhSSm9pbnRTcGFjZSgpOworCisg
ICAgdXNpbmcgUmVmQ291bnRlZDxXZWJYUkpvaW50U3BhY2U+OjpyZWY7CisgICAgdXNpbmcgUmVm
Q291bnRlZDxXZWJYUkpvaW50U3BhY2U+OjpkZXJlZjsKKworICAgIFhSSGFuZEpvaW50IGpvaW50
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIFhSSGFuZEpvaW50OjpXcmlzdDsgfQorCitwcml2YXRlOgor
ICAgIFdlYlhSSm9pbnRTcGFjZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpOworCisgICAgV2Vi
WFJTZXNzaW9uJiBzZXNzaW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uLmdldCgp
OyB9CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbmF0aXZlT3JpZ2luKCkgY29uc3QgZmluYWw7
CisKKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQg
ZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgYm9vbCBpc0pvaW50
U3BhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWY8V2ViWFJTZXNz
aW9uPiBtX3Nlc3Npb247Cit9OworCit9CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfV0VCWFJT
UEFDRShXZWJYUkpvaW50U3BhY2UsIGlzSm9pbnRTcGFjZSgpKQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNTY4NGQ4MGQ4MzRkM2FhOWI5MGRmYzYxZDJkZWUzMDZkMTRhNjllCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
WFIsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZl
T2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW50
ZXJmYWNlTmFtZT1YUkpvaW50U3BhY2UKK10gaW50ZXJmYWNlIFdlYlhSSm9pbnRTcGFjZTogV2Vi
WFJTcGFjZSB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBYUkhhbmRKb2ludCBqb2ludE5hbWU7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3BhY2UuaAppbmRleCBkOGY4OGVh
NThiOTU4NDUxOGQ0NzY1NDBlZGM4ZGRkYjE5Njc5ZGI0Li4zZjRhYTliZmI2ODIyMjI3M2JjZjBk
NzA2MTVjNWQ2OGRjNzEwYzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
U3BhY2UuaApAQCAtNTEsNiArNTEsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNS
ZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzQm91bmRlZFJlZmVyZW5jZVNwYWNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBF
TkFCTEUoV0VCWFJfSEFORFMpCisgICAgdmlydHVhbCBib29sIGlzSm9pbnRTcGFjZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKIAogcHJvdGVjdGVkOgogICAgIFdlYlhSU3BhY2Uo
RG9jdW1lbnQmLCBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4mJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjlmMDYyYjVlY2I1NTY3ZWVl
ZGE4NDdkMGU4NjkzNjdkYTA4MzFjZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFO
RFMpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBYUkhhbmRKb2ludCA6IHVu
c2lnbmVkIHsKKyAgICBXcmlzdCwKKyAgICBUaHVtYk1ldGFjYXJwYWwsCisgICAgVGh1bWJQaGFs
YW54UHJveGltYWwsCisgICAgVGh1bWJQaGFsYW54RGlzdGFsLAorICAgIFRodW1iVGlwLAorICAg
IEluZGV4RmluZ2VyTWV0YWNhcnBhbCwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhQcm94aW1hbCwK
KyAgICBJbmRleEZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUsCisgICAgSW5kZXhGaW5nZXJQaGFs
YW54RGlzdGFsLAorICAgIEluZGV4RmluZ2VyVGlwLAorICAgIE1pZGRsZUZpbmdlck1ldGFjYXJw
YWwsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIE1pZGRsZUZpbmdlclBo
YWxhbnhJbnRlcm1lZGlhdGUsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBN
aWRkbGVGaW5nZXJUaXAsCisgICAgUmluZ0Zpbmdlck1ldGFjYXJwYWwsCisgICAgUmluZ0Zpbmdl
clBoYWxhbnhQcm94aW1hbCwKKyAgICBSaW5nRmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAg
ICBSaW5nRmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBSaW5nRmluZ2VyVGlwLAorICAgIFBpbmt5
RmluZ2VyTWV0YWNhcnBhbCwKKyAgICBQaW5reUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBQ
aW5reUZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUsCisgICAgUGlua3lGaW5nZXJQaGFsYW54RGlz
dGFsLAorICAgIFBpbmt5RmluZ2VyVGlwCit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmJlMzE3OTI0
Y2M2ZWY1OGRhODI0ZjQ0NTllNzhmYjY5ZWIwYjM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKQEAgLTAsMCArMSw2MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUiwKKyAgICBDb25kaXRp
b25hbD1XRUJYUl9IQU5EUywKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVAorXSBlbnVt
IFhSSGFuZEpvaW50IHsKKyAgIndyaXN0IiwKKworICAidGh1bWItbWV0YWNhcnBhbCIsCisgICJ0
aHVtYi1waGFsYW54LXByb3hpbWFsIiwKKyAgInRodW1iLXBoYWxhbngtZGlzdGFsIiwKKyAgInRo
dW1iLXRpcCIsCisKKyAgImluZGV4LWZpbmdlci1tZXRhY2FycGFsIiwKKyAgImluZGV4LWZpbmdl
ci1waGFsYW54LXByb3hpbWFsIiwKKyAgImluZGV4LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0
ZSIsCisgICJpbmRleC1maW5nZXItcGhhbGFueC1kaXN0YWwiLAorICAiaW5kZXgtZmluZ2VyLXRp
cCIsCisKKyAgIm1pZGRsZS1maW5nZXItbWV0YWNhcnBhbCIsCisgICJtaWRkbGUtZmluZ2VyLXBo
YWxhbngtcHJveGltYWwiLAorICAibWlkZGxlLWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIs
CisgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgIm1pZGRsZS1maW5nZXItdGlw
IiwKKworICAicmluZy1maW5nZXItbWV0YWNhcnBhbCIsCisgICJyaW5nLWZpbmdlci1waGFsYW54
LXByb3hpbWFsIiwKKyAgInJpbmctZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgInJp
bmctZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgInJpbmctZmluZ2VyLXRpcCIsCisKKyAgInBp
bmt5LWZpbmdlci1tZXRhY2FycGFsIiwKKyAgInBpbmt5LWZpbmdlci1waGFsYW54LXByb3hpbWFs
IiwKKyAgInBpbmt5LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisgICJwaW5reS1maW5n
ZXItcGhhbGFueC1kaXN0YWwiLAorICAicGlua3ktZmluZ2VyLXRpcCIKK307CisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggZTQzYWZkY2FlZjIwZGZjNDNhNWYwNjljZDRhZDJkYWExNmQ5YzllYy4uNmMwMWVm
NTg4NWE4NmZjNzkxOTcwMDI0MmM5YTM4NzBkZDAyMjc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTM1
NCw5ICszNTQsMTIgQEAgTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3JXZWJYUi5jcHAKIE1vZHVsZXMv
d2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhS
RnJhbWUuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSR2FtZXBhZC5jcHAKK01vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcAogTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5w
dXRTcGFjZS5jcHAKK01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCitNb2R1bGVzL3dl
YnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJMYXllci5jcHAKIE1v
ZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAKIE1vZHVsZXMvd2VieHIvV2Vi
WFJQb3NlLmNwcApAQCAtMzc2Myw4ICszNzY2LDExIEBAIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcAogSlNXZWJTb2NrZXQuY3BwCiBKU1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAog
SlNXZWJYUkZyYW1lLmNwcAorSlNXZWJYUkhhbmQuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2UuY3Bw
CiBKU1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKK0pTV2ViWFJKb2ludFBvc2UuY3BwCitKU1dl
YlhSSm9pbnRTcGFjZS5jcHAKIEpTV2ViWFJMYXllci5jcHAKIEpTV2ViWFJQb3NlLmNwcAogSlNX
ZWJYUlJlZmVyZW5jZVNwYWNlLmNwcApAQCAtMzgwNiw2ICszODEyLDcgQEAgSlNYUGF0aFJlc3Vs
dC5jcHAKIEpTWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5jcHAKIEpTWFJFeWUuY3BwCiBKU1hSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2suY3BwCitKU1hSSGFuZEpvaW50LmNwcAogSlNYUkhhbmRlZG5lc3Mu
Y3BwCiBKU1hSSW5wdXRTb3VyY2VFdmVudC5jcHAKIEpTWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAwMmQ4NDE1YjQ2MGIyNzUwMTY1NGExNTc0MjkxMmI1YzRmZGIxMjVhLi44ZDBh
ZjY1NGRhZjdlZDU5YWEzZDRjMTEwMTMzY2E2ZDMzOTk5ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDA2LDYgKzEwMDYs
MTAgQEAKIAkJMzFDMEZGMjUwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZG
MUYwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkz
MUMwRkYzRTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGM0EwRTRDRUZB
QzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNDAw
RTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYzQzBFNENFRkFDMDA3RDZG
RTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKKwkJMzFEOTJBOUYyNzA3RDVE
RTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQu
aCAqLzsgfTsKKwkJMzFEOTJBQTMyNzA3RDY5NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTEyNzA3RDY4
RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oICovOyB9OworCQkzMUQ5MkFBNzI3MDdFOTU5MDBBRDAx
RDAgLyogV2ViWFJKb2ludFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUQ5MkFBNTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNl
LmggKi87IH07CisJCTMxRDkyQUFCMjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTgy
NzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggKi87IH07CiAJCTMxREVBNDU2MUIz
OUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzgg
LyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oICovOyB9OwogCQkzMUVBRjk3RTEyMTQzNUE0MDBF
N0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBRjk3QzEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNl
TW90aW9uQ2xpZW50SU9TLmggKi87IH07CiAJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBS
VENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFFQjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5z
Y2VpdmVyRGlyZWN0aW9uLmggKi87IH07CkBAIC03NzE3LDYgKzc3MjEsMTcgQEAKIAkJMzFEMjZC
QzQxRjg2RDI2NjAwOEZGMjU1IC8qIEpTSW1hZ2VCaXRtYXBPcHRpb25zLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VCaXRtYXBPcHRpb25zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFEMjZCQzUxRjg2RDI2ODAwOEZGMjU1IC8qIEpT
SW1hZ2VCaXRtYXBPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
SW1hZ2VCaXRtYXBPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRDI2
QkM2MUY4NkQyNjkwMDhGRjI1NSAvKiBKU0ltYWdlQml0bWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VCaXRtYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUQ5MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gWFJIYW5kSm9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzFEOTJBOUUyNzA3RDVEMTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYUkhh
bmRKb2ludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUEwMjcwN0Q2
OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJIYW5k
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTEyNzA3RDY4RDAwQUQw
MUQwIC8qIFdlYlhSSGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJYUkhhbmQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFu
ZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gV2ViWFJIYW5kLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFEOTJBQTQyNzA3RTgzQTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2Vi
WFJKb2ludFNwYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTUy
NzA3RThCMzAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJY
UkpvaW50U3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTYyNzA3
RTk1MTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJYUkpvaW50U3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFB
ODI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
WFJKb2ludFBvc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTkyNzA4
RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJYUkpvaW50UG9zZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUFBMjcwOEQxRkIwMEFEMDFE
MCAvKiBXZWJYUkpvaW50UG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJYUkpvaW50UG9z
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxREVBNDUzMUIzOUY0RDkwMEY3
NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzFERUE0NTQxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJh
Y2tkcm9wTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVt
QmFja2Ryb3BMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUVBRjk3QzEy
MTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudElPUy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjg5ODgsNiArMjkwMDMsOSBAQAogCQkJCUUxOTQ5MDg4MjQzNEYx
NTkwMDQxNkE5OSAvKiBXZWJYUkZyYW1lLmlkbCAqLywKIAkJCQkxMUU1MTYzQjI2MUUxQTE0MDBF
NjlGMjUgLyogV2ViWFJHYW1lcGFkLmNwcCAqLywKIAkJCQkxMUU1MTYzQTI2MUUxQTE0MDBFNjlG
MjUgLyogV2ViWFJHYW1lcGFkLmggKi8sCisJCQkJMzFEOTJBQTAyNzA3RDY4RDAwQUQwMUQwIC8q
IFdlYlhSSGFuZC5jcHAgKi8sCisJCQkJMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhS
SGFuZC5oICovLAorCQkJCTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaWRs
ICovLAogCQkJCUUxRUU4QjBEMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlLmNw
cCAqLywKIAkJCQlFMUVFOEIxNzI0MTJCMTcwMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZS5o
ICovLAogCQkJCUUxOTQ5MDg5MjQzNEYxNUEwMDQxNkE5OSAvKiBXZWJYUklucHV0U291cmNlLmlk
bCAqLywKQEAgLTI4OTk2LDYgKzI5MDE0LDEyIEBACiAJCQkJRTE5NDkwOTMyNDM0RjE2MDAwNDE2
QTk5IC8qIFdlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwgKi8sCiAJCQkJMTFFNTE2MzcyNjFFMUEw
NTAwRTY5RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5jcHAgKi8sCiAJCQkJMTFFNTE2MzUyNjFFMUEw
NTAwRTY5RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5oICovLAorCQkJCTMxRDkyQUFBMjcwOEQxRkIw
MEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5jcHAgKi8sCisJCQkJMzFEOTJBQTgyNzA4RDFGQjAw
QUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggKi8sCisJCQkJMzFEOTJBQTkyNzA4RDFGQjAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmlkbCAqLywKKwkJCQkzMUQ5MkFBNjI3MDdFOTUxMDBBRDAx
RDAgLyogV2ViWFJKb2ludFNwYWNlLmNwcCAqLywKKwkJCQkzMUQ5MkFBNTI3MDdFOEIzMDBBRDAx
RDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi8sCisJCQkJMzFEOTJBQTQyNzA3RTgzQTAwQUQwMUQw
IC8qIFdlYlhSSm9pbnRTcGFjZS5pZGwgKi8sCiAJCQkJRTEyRkRBRkIyNEEwRkQxQzAwNzAyMzZF
IC8qIFdlYlhSTGF5ZXIuY3BwICovLAogCQkJCUUxMkZEQUZEMjRBMEZEMUUwMDcwMjM2RSAvKiBX
ZWJYUkxheWVyLmggKi8sCiAJCQkJRTEyRkRBRkUyNEEwRkQxRjAwNzAyMzZFIC8qIFdlYlhSTGF5
ZXIuaWRsICovLApAQCAtMjkwNDIsNiArMjkwNjYsOCBAQAogCQkJCUUxRUU4QUZCMjQxMkIxNzAw
MEU3OTRENiAvKiBYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbCAqLywKIAkJCQlFMUVFOEFFRTI0
MTJCMTcwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmggKi8sCiAJCQkJRTFFRThCMDcyNDEyQjE3
MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5pZGwgKi8sCisJCQkJMzFEOTJBOUMyNzA3RDVEMDAw
QUQwMUQwIC8qIFhSSGFuZEpvaW50LmggKi8sCisJCQkJMzFEOTJBOUUyNzA3RDVEMTAwQUQwMUQw
IC8qIFhSSGFuZEpvaW50LmlkbCAqLywKIAkJCQlFMUVFOEFDQzI0MTJCMTcwMDBFNzk0RDYgLyog
WFJJbnB1dFNvdXJjZUV2ZW50LmNwcCAqLywKIAkJCQlFMUVFOEIwOTI0MTJCMTcwMDBFNzk0RDYg
LyogWFJJbnB1dFNvdXJjZUV2ZW50LmggKi8sCiAJCQkJRTFFRThCMDAyNDEyQjE3MDAwRTc5NEQ2
IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5pZGwgKi8sCkBAIC0zNTkwMyw5ICszNTkyOSwxMiBAQAog
CQkJCUUxRUU4QjdFMjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEEyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhS
RnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTExRTUxNjNDMjYxRTFBMTUwMEU2OUYyNSAvKiBX
ZWJYUkdhbWVwYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUEzMjcwN0Q2OTYwMEFEMDFE
MCAvKiBXZWJYUkhhbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QkE4MjQxMzE5NjMwMEU3
OTRENiAvKiBXZWJYUklucHV0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4NjI0
MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZUFycmF5LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxMUU1MTYzODI2MUUxQTA2MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkzMUQ5MkFBQjI3MDhEMjAxMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAvKiBXZWJYUkpv
aW50U3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkZEQjAwMjRBMEZEMjAwMDcwMjM2RSAv
KiBXZWJYUkxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTRGMTY5RjI2NDBCQzQxMDA2NjNF
Q0UgLyogV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThC
ODgyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSUG9zZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjAy
NCw2ICszNjA1Myw3IEBACiAJCQkJRTFFRThCOTcyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSRXllLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4RjI0MTMxOTUwMDBFNzk0RDYgLyogWFJGcmFtZVJl
cXVlc3RDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOTIyNDEzMTk1MDAwRTc5
NEQ2IC8qIFhSSGFuZGVkbmVzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBOUYyNzA3RDVE
RTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI5RjI0
MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEI5OTI0MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyQTlGNEEyNDhBOTlFMjAwM0YwNkM4IC8qIFhSSW50ZXJh
Y3Rpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA5YjhhMThiNGM5OWYzNjhlNzcwY2NlMDZi
OTY0NTA2MWRlNGQ3YjdjLi5mNmJiMDVmN2IzNGNhYzA5NzdiZDZmMzMwZjM1YTAwMTE0ODRlNTNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCkBAIC0zMDMsMTAgKzMwMywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
WE1MSHR0cFJlcXVlc3QpIFwKICAgICBtYWNybyhYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZSkgXAog
ICAgIG1hY3JvKFhSRnJhbWUpIFwKKyAgICBtYWNybyhYUkhhbmQpIFwKICAgICBtYWNybyhYUklu
cHV0U291cmNlKSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZUFycmF5KSBcCiAgICAgbWFjcm8o
WFJJbnB1dFNvdXJjZUV2ZW50KSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVu
dCkgXAorICAgIG1hY3JvKFhSSm9pbnRQb3NlKSBcCisgICAgbWFjcm8oWFJKb2ludFNwYWNlKSBc
CiAgICAgbWFjcm8oWFJMYXllcikgXAogICAgIG1hY3JvKFhSUG9zZSkgXAogICAgIG1hY3JvKFhS
UmVmZXJlbmNlU3BhY2UpIFwK
</data>
<flag name="commit-queue"
          id="463824"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440006</attachid>
            <date>2021-10-03 10:37:43 -0700</date>
            <delta_ts>2021-10-03 11:05:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211004043740.patch</filename>
            <type>text/plain</type>
            <size>51261</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzMzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDgxMDRkM2I1ZGE3NzJjODI2MDcyODBj
NmU2ZjJmNmRhZDEwYjk5Y2MuLmJhYTZjNGE4MzYxODE0MmFiM2FjMjE0MzdlMmMwMDMwMDMwYjM2
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTAtMDIgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmRzIElucHV0
IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gRU5BQkxFX1dFQlhSX0hB
TkRTLgorCisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0wOS0z
MCAgRWRkeSBXb25nICA8ZWRkeV93b25nQGFwcGxlLmNvbT4KIAogICAgICAgICBBZG9wdCBwcmVz
ZW50YXRpb25TY2VuZUlkZW50aWZpZXJGb3JQYXltZW50QXV0aG9yaXphdGlvbkNvbnRyb2xsZXIg
ZGVsZWdhdGUgY2FsbCBmcm9tIFBhc3NLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ZjRlMjI4ZmIyOTRkZThh
MTVjM2Q1ZWFhZWIzMGQxZGQ3NTgxOGMxLi5iOTE0NTQ0YjBhZWQwNDlmYzZjNTFkNTdjYmQ1Yzcz
M2QzZGUyYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEtMTAtMDIgIERlYW4g
SmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdl
YlhSIEhhbmRzIElucHV0IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhl
IElETCBhbmQgc3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5k
IElucHV0IG1vZHVsZToKKyAgICAgICAgaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93
ZWJ4ci1oYW5kLWlucHV0LworCisgICAgICAgIE5vdGhpbmcgaXMgYWN0dWFsbHkgaW1wbGVtZW50
ZWQgeWV0IHNvIHRoZXJlIHNob3VsZAorICAgICAgICBiZSBubyBjaGFuZ2UgdG8gdGVzdHMuCisK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OldlYlhSRnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1l
OjpmaWxsUG9zZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgorICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGw6IEFkZCBtZXRob2RzIGZvciBjYWxj
dWxhdGluZyBoYW5kIGpvaW50IGluZm9ybWF0aW9uLgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6V2ViWFJIYW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSGFuZDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6
Okl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6Om5leHQp
OgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmg6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkhhbmQ6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpjcmVhdGVJ
dGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oOiBBZGQgYGhhbmRgIGFjY2Vzc29y
LgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6aGFuZCBjb25zdCk6CisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbDogQWRkIGBoYW5kYCBhdHRy
aWJ1dGUuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSm9pbnRQb3NlOjpXZWJYUkpvaW50UG9zZSk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkpvaW50UG9zZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBvc2U6OnJh
ZGl1cyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGw6
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJK
b2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6Ompv
aW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oOiBBZGQgYSB2aXJ0dWFs
IG1ldGhvZCB0byBpZGVudGlmeSBoYW5kIGpvaW50IHNwYWNlcy4KKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSU3BhY2U6OmlzSm9pbnRTcGFjZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9YUkhhbmRKb2ludC5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRs
OgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVz
Lmg6IEFkZCBuYW1lIG1hcHBpbmdzIGZvciB0aGUgdGhpbmdzCisgICAgICAgIHRoYXQgYXJlIGV4
cG9zZWQgd2l0aG91dCB0aGUgIldlYlhSIiBwcmVmaXguCisKIDIwMjEtMDktMzAgIEpvaG4gV2ls
YW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAgUENNOiBUYWtlIGFwcCBidW5k
bGUgSUQgaW50byBjb25zaWRlcmF0aW9uIHdoZW4gbWF0Y2hpbmcgdHJpZ2dlcmluZyBldmVudHMg
d2l0aCBwZW5kaW5nIGNsaWNrcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4
IDg3YjJiMWNjZWNiOTVlNmVhMjI2N2NiMzViZjZhMTJlMmU2YTc1OWEuLjAzZTBhZDMxYWIzODZh
MGQxYTk2MTkwMDcxZmUyMTAwMmJmYjBmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmgKQEAgLTYyNyw2ICs2MjcsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRp
ZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VC
WFJfSEFORFMgMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNU
SUNTKQogI2RlZmluZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZDFmYjY0
NzFhYTRiNzZhMWQ1YWEwODQyMGNiNmVjOGY2NjEwNDljMy4uODU2ZDUyMGNhYTkxNjQ5M2IzNGU0
OTYxMmZiYTg5Y2MwYzM3YWJhMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01ODQsOCArNTg0LDExIEBAICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dl
YnhyL05hdmlnYXRvcitXZWJYUi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2Vi
WFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSRnJhbWUuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbAorJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlBvc2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNl
U3BhY2UuaWRsCkBAIC02MDEsNiArNjA0LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9XZWJYUldlYkdMTGF5ZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRW52
aXJvbm1lbnRCbGVuZE1vZGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRXll
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNr
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuaWRsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGI2MGE0OWMxNTJkOGY5
MmFiMjU1MjJhOTkyOWEyM2EwY2E1YmZhZWUuLjJlZGY3NGZiMGFlMjBlMTkyOWEzMjRiZWNjMjIw
ZWE5YWNkMzRlMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CkBAIC0yNTIxLDEwICsyNTIxLDE2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSGFuZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJIYW5kLmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJj
ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
SW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFBvc2UuY3BwCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSm9pbnRQb3NlLmgKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFNw
YWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNX
ZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAtMjYyNSw2ICsyNjMxLDggQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkV5ZS5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJFeWUuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVz
dENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpvaW50LmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kZWRuZXNzLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRlZG5lc3MuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUklucHV0U291
cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5t
YWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBhMzUyMjkzNjFh
MGRhNTRiM2UxMmI3MmI0NTlmYzYyMzBjN2E2Yzk1Li5mYjM0M2Q3MjM0YmY0MTAyYmU2MDEyNTdk
YTQ5ZjEwYzYyNWY1MjQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTQ4NSw4
ICs0ODUsMTEgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYnhyL1dlYlhSRnJhbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2Vi
WFJIYW5kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2VBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291
cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlkbCBcCkBAIC01MDIsNiArNTA1LDcgQEAgSlNf
QklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJFbnZpcm9u
bWVudEJsZW5kTW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkV5ZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNr
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKaW5kZXggN2U3ZjY5ZGM1YTg1
NjliNDYzNzQxZTY3MDRkNWFlNjYwMDNhZTg1NS4uZWM0ZjRlNTY4Mjk4Y2FmNjYwYzZmMTc2ZmZh
ZGRmNzI5NzRmZWViNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCkBAIC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxFKFdFQlhSKQogCiAjaW5jbHVkZSAi
V2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50UG9zZS5o
IgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgogI2luY2x1ZGUgIldlYlhSUmVmZXJlbmNl
U3BhY2UuaCIKICNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKICNpbmNsdWRlICJXZWJYUlZpZXdl
clBvc2UuaCIKQEAgLTI0Miw2ICsyNDQsMzAgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggV2ViWFJG
cmFtZTo6bWF0cml4RnJvbVBvc2UoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNlOjpGcmFtZUQKICAg
ICByZXR1cm4gbWF0cml4OwogfQogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorLy8gaHR0cHM6
Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1n
ZXRqb2ludHBvc2UKK0V4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpvaW50UG9zZT4+IFdlYlhSRnJh
bWU6OmdldEpvaW50UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSSm9pbnRTcGFjZSYg
am9pbnQsIGNvbnN0IFdlYlhSU3BhY2UmIGJhc2VTcGFjZSkKK3sKKyAgICBVTlVTRURfUEFSQU0o
am9pbnQpOworICAgIFVOVVNFRF9QQVJBTShiYXNlU3BhY2UpOworICAgIHJldHVybiBudWxscHRy
OworfQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5w
dXQvI2RvbS14cmZyYW1lLWZpbGxqb2ludHJhZGlpCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZy
YW1lOjpmaWxsSm9pbnRSYWRpaShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8
V2ViWFJKb2ludFNwYWNlPj4sIGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKKy8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1p
bnB1dC8jZG9tLXhyZnJhbWUtZmlsbHBvc2VzCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZyYW1l
OjpmaWxsUG9zZXMoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3Bh
Y2U+PiwgY29uc3QgV2ViWFJTcGFjZSYsIGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0
dXJuIHRydWU7Cit9CisKKyNlbmRpZgorCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lLmgKaW5kZXggZmE5MDBkYzIyZjY5MTU5Zjc5MjdjNzIxYzI1ZDBkYzc2NDA5MDc2Yy4uYmI3
ZTRhNWZiYmE5ODQ1YjA4MzBhODhjNmFkOGNiMWNmY2I2NmQ4YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJE
T01IaWdoUmVzVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRl
ICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+
CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzgsNiArMzksOCBAQAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFdlYlhSSm9pbnRQb3NlOworY2xhc3MgV2Vi
WFJKb2ludFNwYWNlOwogY2xhc3MgV2ViWFJQb3NlOwogY2xhc3MgV2ViWFJSZWZlcmVuY2VTcGFj
ZTsKIGNsYXNzIFdlYlhSU2Vzc2lvbjsKQEAgLTU2LDYgKzU5LDEyIEBAIHB1YmxpYzoKICAgICBF
eGNlcHRpb25PcjxSZWZQdHI8V2ViWFJWaWV3ZXJQb3NlPj4gZ2V0Vmlld2VyUG9zZShjb25zdCBE
b2N1bWVudCYsIGNvbnN0IFdlYlhSUmVmZXJlbmNlU3BhY2UmKTsKICAgICBFeGNlcHRpb25PcjxS
ZWZQdHI8V2ViWFJQb3NlPj4gZ2V0UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSU3Bh
Y2UmLCBjb25zdCBXZWJYUlNwYWNlJik7CiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAg
RXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSSm9pbnRQb3NlPj4gZ2V0Sm9pbnRQb3NlKGNvbnN0IERv
Y3VtZW50JiwgY29uc3QgV2ViWFJKb2ludFNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOworICAg
IEV4Y2VwdGlvbk9yPGJvb2w+IGZpbGxKb2ludFJhZGlpKGNvbnN0IERvY3VtZW50JiwgY29uc3Qg
VmVjdG9yPFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5Jik7Cisg
ICAgRXhjZXB0aW9uT3I8Ym9vbD4gZmlsbFBvc2VzKGNvbnN0IERvY3VtZW50JiwgY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJYUlNwYWNlPj4sIGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBGbG9hdDMy
QXJyYXkmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRUaW1lKERPTUhpZ2hSZXNUaW1lU3RhbXAg
dGltZSkgeyBtX3RpbWUgPSB0aW1lOyB9CiAKICAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2
ZSkgeyBtX2FjdGl2ZSA9IGFjdGl2ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJGcmFtZS5pZGwKaW5kZXggZWI5OTgzNDJlM2YwNjg4NzkxYTAxY2RlNTY1NmUxNjg1MTZj
NTNkYS4uNTg3MDMwM2NlNTJhM2UxMTEwMzQ5ZWE2YmNlOWNiOTJhYWY3MTE4MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsCkBAIC0zNSw0ICszNSw4IEBA
CiAKICAgICBbQ2FsbFdpdGg9RG9jdW1lbnRdIFdlYlhSVmlld2VyUG9zZT8gZ2V0Vmlld2VyUG9z
ZShXZWJYUlJlZmVyZW5jZVNwYWNlIHJlZmVyZW5jZVNwYWNlKTsKICAgICBbQ2FsbFdpdGg9RG9j
dW1lbnRdIFdlYlhSUG9zZT8gZ2V0UG9zZShXZWJYUlNwYWNlIHNwYWNlLCBXZWJYUlNwYWNlIGJh
c2VTcGFjZSk7CisKKyAgICBbQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3Vt
ZW50XSBXZWJYUkpvaW50UG9zZT8gZ2V0Sm9pbnRQb3NlKFdlYlhSSm9pbnRTcGFjZSBqb2ludCwg
V2ViWFJTcGFjZSBiYXNlU3BhY2UpOworICAgIFtDb25kaXRpb25hbD1XRUJYUl9IQU5EUywgQ2Fs
bFdpdGg9RG9jdW1lbnRdIGJvb2xlYW4gZmlsbEpvaW50UmFkaWkoc2VxdWVuY2U8V2ViWFJKb2lu
dFNwYWNlPiBqb2ludFNwYWNlcywgRmxvYXQzMkFycmF5IHJhZGlpKTsKKyAgICBbQ29uZGl0aW9u
YWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3VtZW50XSBib29sZWFuIGZpbGxQb3NlcyhzZXF1
ZW5jZTxXZWJYUlNwYWNlPiBzcGFjZXMsIFdlYlhSU3BhY2UgYmFzZVNwYWNlLCBGbG9hdDMyQXJy
YXkgdHJhbnNmb3Jtcyk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUkhhbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhh
bmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM4NDNmNjJjOTYzZTc2YzEyNGJiNzY2YjY5Y2NlZjdkNWI5MDlj
NTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
SGFuZC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViWFJIYW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSGFu
ZCk7CisKK1JlZjxXZWJYUkhhbmQ+IFdlYlhSSGFuZDo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdl
YlhSSGFuZChkb2N1bWVudCwgc2Vzc2lvbikpOworfQorCitXZWJYUkhhbmQ6OldlYlhSSGFuZChE
b2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpCit7Cit9CisKK1dlYlhSSGFuZDo6fldlYlhSSGFuZCgp
ID0gZGVmYXVsdDsKKworUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJIYW5kOjpnZXQoY29u
c3QgWFJIYW5kSm9pbnQmIGtleSkKK3sKKyAgICBVTlVTRURfUEFSQU0oa2V5KTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworV2ViWFJIYW5kOjpJdGVyYXRvcjo6SXRlcmF0b3IoV2ViWFJIYW5k
JiBoYW5kKQorICAgIDogbV9oYW5kKGhhbmQpCit7Cit9CisKK3N0ZDo6b3B0aW9uYWw8V1RGOjpL
ZXlWYWx1ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gV2ViWFJI
YW5kOjpJdGVyYXRvcjo6bmV4dCgpCit7CisgICAgaWYgKG1faW5kZXggPiBtX2hhbmQtPm1fam9p
bnRzLnNpemUoKSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHJldHVybiBz
dGQ6Om51bGxvcHQ7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MTY2ODU2MGViZGU4YzU0ODA1ZTYyZmJlZTJlMmEx
YzcwZGI0OTk1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRl
ICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUkpv
aW50U3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJYUkhhbmRK
b2ludC5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViWFJIYW5kIDogcHVibGljIFJlZkNvdW50
ZWQ8V2ViWFJIYW5kPiB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUkhhbmQpOwor
cHVibGljOgorCisgICAgc3RhdGljIFJlZjxXZWJYUkhhbmQ+IGNyZWF0ZShEb2N1bWVudCYsIFdl
YlhSU2Vzc2lvbiYpOworICAgIH5XZWJYUkhhbmQoKTsKKworICAgIHVuc2lnbmVkIGxvbmcgc2l6
ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorCisgICAgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0
KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpOworCisgICAgY2xhc3MgSXRlcmF0b3IgeworICAgIHB1
YmxpYzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3IoV2ViWFJIYW5kJik7CisgICAgICAgIHN0
ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpv
aW50U3BhY2U+Pj4gbmV4dCgpOworCisgICAgcHJpdmF0ZToKKyAgICAgICAgUmVmPFdlYlhSSGFu
ZD4gbV9oYW5kOworICAgICAgICBzaXplX3QgbV9pbmRleCB7IDAgfTsKKyAgICB9OworICAgIEl0
ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CisKK3By
aXZhdGU6CisgICAgV2ViWFJIYW5kKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisKKyAgICB1
bnNpZ25lZCBsb25nIG1fc2l6ZSB7IDAgfTsKKyAgICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFw
ID0gSGFzaE1hcDxYUkhhbmRKb2ludCwgUmVmPFdlYlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNo
PHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+
OworICAgIEhhbmRKb2ludFRvU3BhY2VNYXAgbV9qb2ludHM7Cit9OworCit9CisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZTQ4
M2ZhNWJkMGYxYmE0NTQ2MzIxMTc4OWY0ZTcwNzhlZTMyNmE0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCkBAIC0wLDAgKzEsMzgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFIsCisgICAgQ29u
ZGl0aW9uYWw9V0VCWFJfSEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdp
bmRvdywKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9
WFJIYW5kCitdIGludGVyZmFjZSBXZWJYUkhhbmQgeworICAgIGl0ZXJhYmxlPFhSSGFuZEpvaW50
LCBXZWJYUkpvaW50U3BhY2U+OworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgc2l6ZTsKKyAgICBXZWJYUkpvaW50U3BhY2UgZ2V0KFhSSGFuZEpvaW50IGtleSk7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAppbmRl
eCA4OGZhNTJmNWQ4ODBkZDQ2NDcwNzI1YTgxZTNkZTkxZWY5YjM0MTE3Li41ZmJmOWI4MzExNTI2
OGE1YjNlODEyZmI2NzQyMjE5NjFiZjlhNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICs0MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShX
RUJYUl9IQU5EUykKKyNpbmNsdWRlICJXZWJYUkhhbmQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKQEAgLTY3LDEwICs3MiwxNCBAQCBwdWJs
aWM6CiAgICAgY29uc3QgR2FtZXBhZCogZ2FtZXBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2FtZXBh
ZC5wdHIoKTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgY29uc3Qg
V2ViWFJIYW5kKiBoYW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kLmdldCgpOyB9CisjZW5kaWYK
KwogICAgIHZvaWQgdXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGNvbnN0IElucHV0U291cmNlJik7
CiAgICAgYm9vbCByZXF1aXJlc0lucHV0U291cmNlQ2hhbmdlKGNvbnN0IElucHV0U291cmNlJik7
CiAgICAgdm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgCisKICAgICB2b2lkIHBvbGxFdmVudHMoVmVj
dG9yPFJlZjxYUklucHV0U291cmNlRXZlbnQ+PiYpOwogCiAgICAgLy8gRm9yIEdDIHJlYWNoYWJs
aXRpeS4KQEAgLTg5LDYgKzk4LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPEdhbWVwYWQ+IG1fZ2Ft
ZXBhZDsKICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIFJlZlB0cjxXZWJY
UkhhbmQ+IG1faGFuZDsKKyNlbmRpZgorCiAgICAgYm9vbCBtX3NlbGVjdFN0YXJ0ZWQgeyBmYWxz
ZSB9OwogICAgIGJvb2wgbV9zcXVlZXplU3RhcnRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKaW5kZXggYmVj
ZmYzZGZlMTA0MjNmZDU1MDNiYWQ3MjA5ZGIzNDRhOWZlMzM5Ny4uNTE2YzViNTE2YjJlYWFhYmFl
MTA2MTFkYzkwMGI0YjQwMjkwNTFmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsCkBAIC00MCw0ICs0MCw3IEBACiAKICAgICAvLyBo
dHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWdhbWVwYWRzLW1vZHVsZS8jeHJp
bnB1dHNvdXJjZS1pbnRlcmZhY2UKICAgICBbQ29uZGl0aW9uYWw9R0FNRVBBRCwgU2FtZU9iamVj
dF0gcmVhZG9ubHkgYXR0cmlidXRlIEdhbWVwYWQ/IGdhbWVwYWQ7CisKKyAgICAvLyBodHRwczov
L2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2Ut
aW50ZXJmYWNlCisgICAgW0NvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLCBTYW1lT2JqZWN0XSByZWFk
b25seSBhdHRyaWJ1dGUgV2ViWFJIYW5kPyBoYW5kOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmE1ZTk2MjBmZDk0
MjAyNDQxYzkyM2UxODJhNzg3YWEyMTgwYmQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQ
b3NlLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhS
Sm9pbnRQb3NlPiBXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgV2Vi
WFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSSm9p
bnRQb3NlKGRvY3VtZW50LCBzZXNzaW9uKSk7Cit9CisKK1dlYlhSSm9pbnRQb3NlOjpXZWJYUkpv
aW50UG9zZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpCit7Cit9CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDMzY2YxZGI5YzU2YTA5OWY3NjVkM2UwZDliZGQ3ZTFhNmUxNzdjMQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaApAQCAt
MCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdF
QlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2lu
Y2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRl
IDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIFdlYlhSSm9pbnRQb3NlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJK
b2ludFBvc2U+IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRQb3NlKTsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9pbnRQb3NlPiBjcmVhdGUoRG9jdW1lbnQm
LCBXZWJYUlNlc3Npb24mKTsKKyAgICB+V2ViWFJKb2ludFBvc2UoKSA9IGRlZmF1bHQ7CisKKyAg
ICBmbG9hdCByYWRpdXMoKSBjb25zdCB7IHJldHVybiBtX3JhZGl1czsgfQorCitwcml2YXRlOgor
ICAgIFdlYlhSSm9pbnRQb3NlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisKKyAgICBmbG9h
dCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg2NWQ5MDc2NzRm
MGQxZTZkNzU4MWY0ZDNlZTRkYzJhNTlkMmYzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSLAorICAgIENvbmRp
dGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5k
b3csCisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhS
Sm9pbnRQb3NlCitdIGludGVyZmFjZSBXZWJYUkpvaW50UG9zZSB7CisgICAgcmVhZG9ubHkgYXR0
cmlidXRlIGZsb2F0IHJhZGl1czsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgyYTdmN2NhMTNhMGUzNWQzZjcx
MmY5MGE0NDczMGE1M2JjZDkzMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
KworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAi
V2ViWFJSaWdpZFRyYW5zZm9ybS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdl
YlhSSm9pbnRTcGFjZSk7CisKK1JlZjxXZWJYUkpvaW50U3BhY2U+IFdlYlhSSm9pbnRTcGFjZTo6
Y3JlYXRlKERvY3VtZW50JiBkb2N1bWVudCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhSSm9pbnRTcGFjZShkb2N1bWVudCwgc2Vzc2lvbikp
OworfQorCitXZWJYUkpvaW50U3BhY2U6OldlYlhSSm9pbnRTcGFjZShEb2N1bWVudCYgZG9jdW1l
bnQsIFdlYlhSU2Vzc2lvbiYgc2Vzc2lvbikKKyAgICA6IFdlYlhSU3BhY2UoZG9jdW1lbnQsIFdl
YlhSUmlnaWRUcmFuc2Zvcm06OmNyZWF0ZSgpKQorICAgICwgbV9zZXNzaW9uKHNlc3Npb24pCit7
Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6fldlYlhSSm9pbnRTcGFjZSgpID0gZGVmYXVsdDsKKwor
VHJhbnNmb3JtYXRpb25NYXRyaXggV2ViWFJKb2ludFNwYWNlOjpuYXRpdmVPcmlnaW4oKSBjb25z
dAoreworICAgIHJldHVybiB7IH07Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGFmZGY4NWMw
NWQyMDJiMGMxNjZlMzEzNDRlOWFiZWZkNDJjN2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApAQCAtMCwwICsxLDcxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFC
TEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRm
b3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJXZWJYUlNwYWNl
LmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+
CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5j
bHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhS
Sm9pbnRTcGFjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT4sIHB1YmxpYyBX
ZWJYUlNwYWNlIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRTcGFjZSk7
CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJYUkpvaW50U3BhY2U+IGNyZWF0ZShEb2N1bWVu
dCYsIFdlYlhSU2Vzc2lvbiYpOworICAgIHZpcnR1YWwgfldlYlhSSm9pbnRTcGFjZSgpOworCisg
ICAgdXNpbmcgUmVmQ291bnRlZDxXZWJYUkpvaW50U3BhY2U+OjpyZWY7CisgICAgdXNpbmcgUmVm
Q291bnRlZDxXZWJYUkpvaW50U3BhY2U+OjpkZXJlZjsKKworICAgIFhSSGFuZEpvaW50IGpvaW50
TmFtZSgpIGNvbnN0IHsgcmV0dXJuIFhSSGFuZEpvaW50OjpXcmlzdDsgfQorCitwcml2YXRlOgor
ICAgIFdlYlhSSm9pbnRTcGFjZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpOworCisgICAgV2Vi
WFJTZXNzaW9uJiBzZXNzaW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uLmdldCgp
OyB9CisgICAgVHJhbnNmb3JtYXRpb25NYXRyaXggbmF0aXZlT3JpZ2luKCkgY29uc3QgZmluYWw7
CisKKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQg
ZGVyZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgYm9vbCBpc0pvaW50
U3BhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWY8V2ViWFJTZXNz
aW9uPiBtX3Nlc3Npb247Cit9OworCit9CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfV0VCWFJT
UEFDRShXZWJYUkpvaW50U3BhY2UsIGlzSm9pbnRTcGFjZSgpKQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li4yNTY4NGQ4MGQ4MzRkM2FhOWI5MGRmYzYxZDJkZWUzMDZkMTRhNjllCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCkBA
IC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2Vi
WFIsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZl
T2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW50
ZXJmYWNlTmFtZT1YUkpvaW50U3BhY2UKK10gaW50ZXJmYWNlIFdlYlhSSm9pbnRTcGFjZTogV2Vi
WFJTcGFjZSB7CisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBYUkhhbmRKb2ludCBqb2ludE5hbWU7Cit9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3BhY2UuaAppbmRleCBkOGY4OGVh
NThiOTU4NDUxOGQ0NzY1NDBlZGM4ZGRkYjE5Njc5ZGI0Li4zZjRhYTliZmI2ODIyMjI3M2JjZjBk
NzA2MTVjNWQ2OGRjNzEwYzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
U3BhY2UuaApAQCAtNTEsNiArNTEsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNS
ZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29s
IGlzQm91bmRlZFJlZmVyZW5jZVNwYWNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBF
TkFCTEUoV0VCWFJfSEFORFMpCisgICAgdmlydHVhbCBib29sIGlzSm9pbnRTcGFjZSgpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKIAogcHJvdGVjdGVkOgogICAgIFdlYlhSU3BhY2Uo
RG9jdW1lbnQmLCBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4mJik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjlmMDYyYjVlY2I1NTY3ZWVl
ZGE4NDdkMGU4NjkzNjdkYTA4MzFjZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaApAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFO
RFMpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBYUkhhbmRKb2ludCA6IHVu
c2lnbmVkIHsKKyAgICBXcmlzdCwKKyAgICBUaHVtYk1ldGFjYXJwYWwsCisgICAgVGh1bWJQaGFs
YW54UHJveGltYWwsCisgICAgVGh1bWJQaGFsYW54RGlzdGFsLAorICAgIFRodW1iVGlwLAorICAg
IEluZGV4RmluZ2VyTWV0YWNhcnBhbCwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhQcm94aW1hbCwK
KyAgICBJbmRleEZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUsCisgICAgSW5kZXhGaW5nZXJQaGFs
YW54RGlzdGFsLAorICAgIEluZGV4RmluZ2VyVGlwLAorICAgIE1pZGRsZUZpbmdlck1ldGFjYXJw
YWwsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIE1pZGRsZUZpbmdlclBo
YWxhbnhJbnRlcm1lZGlhdGUsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBN
aWRkbGVGaW5nZXJUaXAsCisgICAgUmluZ0Zpbmdlck1ldGFjYXJwYWwsCisgICAgUmluZ0Zpbmdl
clBoYWxhbnhQcm94aW1hbCwKKyAgICBSaW5nRmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAg
ICBSaW5nRmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBSaW5nRmluZ2VyVGlwLAorICAgIFBpbmt5
RmluZ2VyTWV0YWNhcnBhbCwKKyAgICBQaW5reUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBQ
aW5reUZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUsCisgICAgUGlua3lGaW5nZXJQaGFsYW54RGlz
dGFsLAorICAgIFBpbmt5RmluZ2VyVGlwCit9OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42YmJlMzE3OTI0
Y2M2ZWY1OGRhODI0ZjQ0NTllNzhmYjY5ZWIwYjM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKQEAgLTAsMCArMSw2MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUiwKKyAgICBDb25kaXRp
b25hbD1XRUJYUl9IQU5EUywKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVAorXSBlbnVt
IFhSSGFuZEpvaW50IHsKKyAgIndyaXN0IiwKKworICAidGh1bWItbWV0YWNhcnBhbCIsCisgICJ0
aHVtYi1waGFsYW54LXByb3hpbWFsIiwKKyAgInRodW1iLXBoYWxhbngtZGlzdGFsIiwKKyAgInRo
dW1iLXRpcCIsCisKKyAgImluZGV4LWZpbmdlci1tZXRhY2FycGFsIiwKKyAgImluZGV4LWZpbmdl
ci1waGFsYW54LXByb3hpbWFsIiwKKyAgImluZGV4LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0
ZSIsCisgICJpbmRleC1maW5nZXItcGhhbGFueC1kaXN0YWwiLAorICAiaW5kZXgtZmluZ2VyLXRp
cCIsCisKKyAgIm1pZGRsZS1maW5nZXItbWV0YWNhcnBhbCIsCisgICJtaWRkbGUtZmluZ2VyLXBo
YWxhbngtcHJveGltYWwiLAorICAibWlkZGxlLWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIs
CisgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgIm1pZGRsZS1maW5nZXItdGlw
IiwKKworICAicmluZy1maW5nZXItbWV0YWNhcnBhbCIsCisgICJyaW5nLWZpbmdlci1waGFsYW54
LXByb3hpbWFsIiwKKyAgInJpbmctZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgInJp
bmctZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgInJpbmctZmluZ2VyLXRpcCIsCisKKyAgInBp
bmt5LWZpbmdlci1tZXRhY2FycGFsIiwKKyAgInBpbmt5LWZpbmdlci1waGFsYW54LXByb3hpbWFs
IiwKKyAgInBpbmt5LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisgICJwaW5reS1maW5n
ZXItcGhhbGFueC1kaXN0YWwiLAorICAicGlua3ktZmluZ2VyLXRpcCIKK307CisKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50
eHQKaW5kZXggZTQzYWZkY2FlZjIwZGZjNDNhNWYwNjljZDRhZDJkYWExNmQ5YzllYy4uNmMwMWVm
NTg4NWE4NmZjNzkxOTcwMDI0MmM5YTM4NzBkZDAyMjc5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTM1
NCw5ICszNTQsMTIgQEAgTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3JXZWJYUi5jcHAKIE1vZHVsZXMv
d2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhS
RnJhbWUuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSR2FtZXBhZC5jcHAKK01vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcAogTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5w
dXRTcGFjZS5jcHAKK01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCitNb2R1bGVzL3dl
YnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJMYXllci5jcHAKIE1v
ZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5jcHAKIE1vZHVsZXMvd2VieHIvV2Vi
WFJQb3NlLmNwcApAQCAtMzc2Myw4ICszNzY2LDExIEBAIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50
LmNwcAogSlNXZWJTb2NrZXQuY3BwCiBKU1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAog
SlNXZWJYUkZyYW1lLmNwcAorSlNXZWJYUkhhbmQuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2UuY3Bw
CiBKU1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKK0pTV2ViWFJKb2ludFBvc2UuY3BwCitKU1dl
YlhSSm9pbnRTcGFjZS5jcHAKIEpTV2ViWFJMYXllci5jcHAKIEpTV2ViWFJQb3NlLmNwcAogSlNX
ZWJYUlJlZmVyZW5jZVNwYWNlLmNwcApAQCAtMzgwNiw2ICszODEyLDcgQEAgSlNYUGF0aFJlc3Vs
dC5jcHAKIEpTWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5jcHAKIEpTWFJFeWUuY3BwCiBKU1hSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2suY3BwCitKU1hSSGFuZEpvaW50LmNwcAogSlNYUkhhbmRlZG5lc3Mu
Y3BwCiBKU1hSSW5wdXRTb3VyY2VFdmVudC5jcHAKIEpTWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVu
dC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCAwMmQ4NDE1YjQ2MGIyNzUwMTY1NGExNTc0MjkxMmI1YzRmZGIxMjVhLi44ZDBh
ZjY1NGRhZjdlZDU5YWEzZDRjMTEwMTMzY2E2ZDMzOTk5ODQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDA2LDYgKzEwMDYs
MTAgQEAKIAkJMzFDMEZGMjUwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZG
MUYwRTRDRUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkz
MUMwRkYzRTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGM0EwRTRDRUZB
QzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNDAw
RTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYzQzBFNENFRkFDMDA3RDZG
RTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKKwkJMzFEOTJBOUYyNzA3RDVE
RTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQu
aCAqLzsgfTsKKwkJMzFEOTJBQTMyNzA3RDY5NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTEyNzA3RDY4
RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oICovOyB9OworCQkzMUQ5MkFBNzI3MDdFOTU5MDBBRDAx
RDAgLyogV2ViWFJKb2ludFNwYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUQ5MkFBNTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNl
LmggKi87IH07CisJCTMxRDkyQUFCMjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTgy
NzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggKi87IH07CiAJCTMxREVBNDU2MUIz
OUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzgg
LyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oICovOyB9OwogCQkzMUVBRjk3RTEyMTQzNUE0MDBF
N0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVBRjk3QzEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNl
TW90aW9uQ2xpZW50SU9TLmggKi87IH07CiAJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBS
VENSdHBUcmFuc2NlaXZlckRpcmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFFQjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5z
Y2VpdmVyRGlyZWN0aW9uLmggKi87IH07CkBAIC03NzE3LDYgKzc3MjEsMTcgQEAKIAkJMzFEMjZC
QzQxRjg2RDI2NjAwOEZGMjU1IC8qIEpTSW1hZ2VCaXRtYXBPcHRpb25zLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VCaXRtYXBPcHRpb25zLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFEMjZCQzUxRjg2RDI2ODAwOEZGMjU1IC8qIEpT
SW1hZ2VCaXRtYXBPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
SW1hZ2VCaXRtYXBPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRDI2
QkM2MUY4NkQyNjkwMDhGRjI1NSAvKiBKU0ltYWdlQml0bWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSW1hZ2VCaXRtYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUQ5MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gWFJIYW5kSm9pbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMzFEOTJBOUUyNzA3RDVEMTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYUkhh
bmRKb2ludC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUEwMjcwN0Q2
OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJIYW5k
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTEyNzA3RDY4RDAwQUQw
MUQwIC8qIFdlYlhSSGFuZC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJYUkhhbmQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFu
ZC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gV2ViWFJIYW5kLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MzFEOTJBQTQyNzA3RTgzQTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2Vi
WFJKb2ludFNwYWNlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTUy
NzA3RThCMzAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJY
UkpvaW50U3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTYyNzA3
RTk1MTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBX
ZWJYUkpvaW50U3BhY2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFB
ODI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
WFJKb2ludFBvc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTkyNzA4
RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJYUkpvaW50UG9zZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUFBMjcwOEQxRkIwMEFEMDFE
MCAvKiBXZWJYUkpvaW50UG9zZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJYUkpvaW50UG9z
ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxREVBNDUzMUIzOUY0RDkwMEY3
NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJMzFERUE0NTQxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJh
Y2tkcm9wTGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVt
QmFja2Ryb3BMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUVBRjk3QzEy
MTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudElPUy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwpAQCAtMjg5ODgsNiArMjkwMDMsOSBAQAogCQkJCUUxOTQ5MDg4MjQzNEYx
NTkwMDQxNkE5OSAvKiBXZWJYUkZyYW1lLmlkbCAqLywKIAkJCQkxMUU1MTYzQjI2MUUxQTE0MDBF
NjlGMjUgLyogV2ViWFJHYW1lcGFkLmNwcCAqLywKIAkJCQkxMUU1MTYzQTI2MUUxQTE0MDBFNjlG
MjUgLyogV2ViWFJHYW1lcGFkLmggKi8sCisJCQkJMzFEOTJBQTAyNzA3RDY4RDAwQUQwMUQwIC8q
IFdlYlhSSGFuZC5jcHAgKi8sCisJCQkJMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhS
SGFuZC5oICovLAorCQkJCTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaWRs
ICovLAogCQkJCUUxRUU4QjBEMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlLmNw
cCAqLywKIAkJCQlFMUVFOEIxNzI0MTJCMTcwMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZS5o
ICovLAogCQkJCUUxOTQ5MDg5MjQzNEYxNUEwMDQxNkE5OSAvKiBXZWJYUklucHV0U291cmNlLmlk
bCAqLywKQEAgLTI4OTk2LDYgKzI5MDE0LDEyIEBACiAJCQkJRTE5NDkwOTMyNDM0RjE2MDAwNDE2
QTk5IC8qIFdlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwgKi8sCiAJCQkJMTFFNTE2MzcyNjFFMUEw
NTAwRTY5RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5jcHAgKi8sCiAJCQkJMTFFNTE2MzUyNjFFMUEw
NTAwRTY5RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5oICovLAorCQkJCTMxRDkyQUFBMjcwOEQxRkIw
MEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5jcHAgKi8sCisJCQkJMzFEOTJBQTgyNzA4RDFGQjAw
QUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggKi8sCisJCQkJMzFEOTJBQTkyNzA4RDFGQjAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmlkbCAqLywKKwkJCQkzMUQ5MkFBNjI3MDdFOTUxMDBBRDAx
RDAgLyogV2ViWFJKb2ludFNwYWNlLmNwcCAqLywKKwkJCQkzMUQ5MkFBNTI3MDdFOEIzMDBBRDAx
RDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi8sCisJCQkJMzFEOTJBQTQyNzA3RTgzQTAwQUQwMUQw
IC8qIFdlYlhSSm9pbnRTcGFjZS5pZGwgKi8sCiAJCQkJRTEyRkRBRkIyNEEwRkQxQzAwNzAyMzZF
IC8qIFdlYlhSTGF5ZXIuY3BwICovLAogCQkJCUUxMkZEQUZEMjRBMEZEMUUwMDcwMjM2RSAvKiBX
ZWJYUkxheWVyLmggKi8sCiAJCQkJRTEyRkRBRkUyNEEwRkQxRjAwNzAyMzZFIC8qIFdlYlhSTGF5
ZXIuaWRsICovLApAQCAtMjkwNDIsNiArMjkwNjYsOCBAQAogCQkJCUUxRUU4QUZCMjQxMkIxNzAw
MEU3OTRENiAvKiBYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbCAqLywKIAkJCQlFMUVFOEFFRTI0
MTJCMTcwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmggKi8sCiAJCQkJRTFFRThCMDcyNDEyQjE3
MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5pZGwgKi8sCisJCQkJMzFEOTJBOUMyNzA3RDVEMDAw
QUQwMUQwIC8qIFhSSGFuZEpvaW50LmggKi8sCisJCQkJMzFEOTJBOUUyNzA3RDVEMTAwQUQwMUQw
IC8qIFhSSGFuZEpvaW50LmlkbCAqLywKIAkJCQlFMUVFOEFDQzI0MTJCMTcwMDBFNzk0RDYgLyog
WFJJbnB1dFNvdXJjZUV2ZW50LmNwcCAqLywKIAkJCQlFMUVFOEIwOTI0MTJCMTcwMDBFNzk0RDYg
LyogWFJJbnB1dFNvdXJjZUV2ZW50LmggKi8sCiAJCQkJRTFFRThCMDAyNDEyQjE3MDAwRTc5NEQ2
IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5pZGwgKi8sCkBAIC0zNTkwMyw5ICszNTkyOSwxMiBAQAog
CQkJCUUxRUU4QjdFMjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEEyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhS
RnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTExRTUxNjNDMjYxRTFBMTUwMEU2OUYyNSAvKiBX
ZWJYUkdhbWVwYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUEzMjcwN0Q2OTYwMEFEMDFE
MCAvKiBXZWJYUkhhbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QkE4MjQxMzE5NjMwMEU3
OTRENiAvKiBXZWJYUklucHV0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4NjI0
MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZUFycmF5LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxMUU1MTYzODI2MUUxQTA2MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkzMUQ5MkFBQjI3MDhEMjAxMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAvKiBXZWJYUkpv
aW50U3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkZEQjAwMjRBMEZEMjAwMDcwMjM2RSAv
KiBXZWJYUkxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTRGMTY5RjI2NDBCQzQxMDA2NjNF
Q0UgLyogV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThC
ODgyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSUG9zZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjAy
NCw2ICszNjA1Myw3IEBACiAJCQkJRTFFRThCOTcyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSRXllLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4RjI0MTMxOTUwMDBFNzk0RDYgLyogWFJGcmFtZVJl
cXVlc3RDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOTIyNDEzMTk1MDAwRTc5
NEQ2IC8qIFhSSGFuZGVkbmVzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBOUYyNzA3RDVE
RTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI5RjI0
MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEI5OTI0MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyQTlGNEEyNDhBOTlFMjAwM0YwNkM4IC8qIFhSSW50ZXJh
Y3Rpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA5YjhhMThiNGM5OWYzNjhlNzcwY2NlMDZi
OTY0NTA2MWRlNGQ3YjdjLi5mNmJiMDVmN2IzNGNhYzA5NzdiZDZmMzMwZjM1YTAwMTE0ODRlNTNl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1l
cy5oCkBAIC0zMDMsMTAgKzMwMywxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
WE1MSHR0cFJlcXVlc3QpIFwKICAgICBtYWNybyhYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZSkgXAog
ICAgIG1hY3JvKFhSRnJhbWUpIFwKKyAgICBtYWNybyhYUkhhbmQpIFwKICAgICBtYWNybyhYUklu
cHV0U291cmNlKSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZUFycmF5KSBcCiAgICAgbWFjcm8o
WFJJbnB1dFNvdXJjZUV2ZW50KSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVu
dCkgXAorICAgIG1hY3JvKFhSSm9pbnRQb3NlKSBcCisgICAgbWFjcm8oWFJKb2ludFNwYWNlKSBc
CiAgICAgbWFjcm8oWFJMYXllcikgXAogICAgIG1hY3JvKFhSUG9zZSkgXAogICAgIG1hY3JvKFhS
UmVmZXJlbmNlU3BhY2UpIFwK
</data>
<flag name="commit-queue"
          id="463827"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440007</attachid>
            <date>2021-10-03 11:04:00 -0700</date>
            <delta_ts>2021-10-04 10:16:26 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211004050358.patch</filename>
            <type>text/plain</type>
            <size>53423</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU1ODkxNzZkZDQ3MzM5MGRiNzYyYTFm
NTdhYzNmOWRkYzdjODlmNGIuLmM4NGE0ODJlODEwZWUwZjg4NmZlOGQxMTk4MjFjZWZlYmM2Yzk0
ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMDIgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmRzIElucHV0
IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gRU5BQkxFX1dFQlhSX0hB
TkRTIGNvbXBpbGUgdGltZSBmbGFnIGFuZCBhIFdlYlhSSGFuZHNFbmFibGVkIHByZWZlcmVuY2Uu
CisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oOgorICAgICAgICAqIFNjcmlw
dHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwogMjAyMS0x
MC0wMyAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CiAKICAgICAgICAg
RW5hYmxlIHJlbGVhc2UgbG9nIHRvIHN0ZGVycgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ2NTRmODZiNDA1ZGYy
YzE4MWE0YzMyOGM5YzgwNmFmNTZmYjA0MDQuLjljZTAzNGRkNDJkYmQ4NWY5ZDVjYjYyOWU5MTg4
OWIyYjYzYjIzOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2MiBAQAorMjAyMS0xMC0wMiAgRGVh
biBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlhSXSBTdHVicyBmb3Ig
V2ViWFIgSGFuZHMgSW5wdXQgTW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0
aGUgSURMIGFuZCBzdHViIGltcGxlbWVudGF0aW9ucyBmb3IgdGhlIFdlYlhSCisgICAgICAgIEhh
bmQgSW5wdXQgbW9kdWxlOgorICAgICAgICBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlv
L3dlYnhyLWhhbmQtaW5wdXQvCisKKyAgICAgICAgTm90aGluZyBpcyBhY3R1YWxseSBpbXBsZW1l
bnRlZCB5ZXQgc28gdGhlcmUgc2hvdWxkCisgICAgICAgIGJlIG5vIGNoYW5nZSB0byB0ZXN0cy4K
KworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJj
ZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViWFJGcmFtZTo6Z2V0Sm9pbnRQb3NlKToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSRnJhbWU6OmZpbGxKb2ludFJhZGlpKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSRnJh
bWU6OmZpbGxQb3Nlcyk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmg6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbDogQWRkIG1ldGhvZHMgZm9yIGNh
bGN1bGF0aW5nIGhhbmQgam9pbnQgaW5mb3JtYXRpb24uCisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpjcmVhdGUpOgor
ICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpXZWJYUkhhbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJIYW5kOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpJdGVyYXRv
cjo6SXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpJdGVyYXRvcjo6bmV4
dCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSSGFuZDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0
ZUl0ZXJhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGw6CisgICAg
ICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmg6IEFkZCBgaGFuZGAgYWNjZXNz
b3IuCisgICAgICAgIChXZWJDb3JlOjpXZWJYUklucHV0U291cmNlOjpoYW5kIGNvbnN0KToKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsOiBBZGQgYGhhbmRgIGF0
dHJpYnV0ZS4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OldlYlhSSm9pbnRQb3NlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJKb2ludFBvc2U6OldlYlhSSm9pbnRQb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnhyL1dlYlhSSm9pbnRQb3NlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6
cmFkaXVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkpvaW50U3BhY2U6OldlYlhSSm9pbnRTcGFjZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJY
UkpvaW50U3BhY2U6Om5hdGl2ZU9yaWdpbiBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkpvaW50U3BhY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSm9pbnRTcGFjZTo6
am9pbnROYW1lIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFj
ZS5pZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmg6IEFkZCBhIHZpcnR1
YWwgbWV0aG9kIHRvIGlkZW50aWZ5IGhhbmQgam9pbnQgc3BhY2VzLgorICAgICAgICAoV2ViQ29y
ZTo6V2ViWFJTcGFjZTo6aXNKb2ludFNwYWNlIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnhyL1hSSGFuZEpvaW50Lmg6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5p
ZGw6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDogQWRkIG5hbWUgbWFwcGluZ3MgZm9yIHRoZSB0aGluZ3MKKyAgICAgICAgdGhhdCBhcmUg
ZXhwb3NlZCB3aXRob3V0IHRoZSAiV2ViWFIiIHByZWZpeC4KKwogMjAyMS0xMC0wMyAgU2ltb24g
RnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJDb3JlOjpMZW5n
dGggaW5jb3JyZWN0bHkgdXNlcyBtZW1jcHkoKSBmb3IgY29weSBjb25zdHJ1Y3RvcnMvb3BlcmF0
b3IgYW5kIElQQyBlbmNvZGluZy9kZWNvZGluZwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwgYi9Tb3VyY2Uv
V1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbApp
bmRleCA1OTMwNjBiZWJmMzMyMzg4YzQxNmI0NjZhZjhiMmQ2NjA3NWU3NTViLi4yNDU5OGFmZGEy
ZjVmNWQzNjFiNzViODQ3ODIwM2Y5OWNlMmVmNDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL1Nj
cmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbAorKysgYi9T
b3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwu
eWFtbApAQCAtMTU4OCw2ICsxNTg4LDE5IEBAIFdlYlhSRW5hYmxlZDoKICAgICBXZWJDb3JlOgog
ICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViWFJIYW5kSW5wdXRFbmFibGVkOgorICB0eXBlOiBi
b29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViWFIgSGFuZCBJbnB1dCBNb2R1bGUiCisgIGh1
bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkFkZHMgc3VwcG9ydCBmb3IgdGhlIEhhbmRzIElucHV0
IE1vZHVsZSBmb3IgV2ViWFIiCisgIGNvbmRpdGlvbjogRU5BQkxFKFdFQlhSX0hBTkRTKQorICBk
ZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDogV2ViS2l0Ojpk
ZWZhdWx0V2ViWFJFbmFibGVkKCkgIyBGb2xsb3dzIFdlYlhSRW5hYmxlZAorICAgIFdlYktpdDoK
KyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYlhSRW5hYmxlZCgpICMgRm9sbG93cyBX
ZWJYUkVuYWJsZWQKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogV2hlZWxF
dmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmc6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFk
YWJsZU5hbWU6ICJXaGVlbCBFdmVudCBnZXN0dXJlcyBiZWNvbWUgbm9uLWJsb2NraW5nIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oIGIvU291cmNlL1dU
Ri93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IGNjNWM3ZTFlM2Y0NzU0MjY2ZDlkZmVh
YjUwNzE5MGQ2M2NiOGE3ODUuLjllOTY2YzU5OThiZjg1NzRlMmVlN2ExNjVjYjk3NjBiOTM2ZjQ4
OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAorKysg
Yi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTYyNyw2ICs2MjcsMTAg
QEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxF
X1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VCWFJfSEFORFMgMQorI2VuZGlmCisKICNp
ZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKQogI2RlZmluZSBFTkFCTEVfV0VC
X0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwYWM0Mjg4
MjBmYTVmODkwNGU3NjRiMTMwMmE3NGQxMDZkMTI5Y2M3Li40NDg1YzhkYmY0YTlmODVhNTI4MjBj
ZjI0YWU5OTViMDdlYjZmMjMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTQwNiw4ICsxNDA2
LDExIEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVz
L3dlYnhyL05hdmlnYXRvcitXZWJYUi5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSQm91bmRl
ZFJlZmVyZW5jZVNwYWNlLmlkbAogICAgIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKKyAg
ICBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5w
dXRTb3VyY2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRs
CisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhy
L1dlYlhSSm9pbnRTcGFjZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAg
ICAgTW9kdWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUlJl
ZmVyZW5jZVNwYWNlLmlkbApAQCAtMTQyMyw2ICsxNDI2LDcgQEAgbGlzdChBUFBFTkQgV2ViQ29y
ZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5k
TW9kZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1hSRXllLmlkbAogICAgIE1vZHVsZXMvd2VieHIv
WFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50
LmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogICAgIE1vZHVsZXMvd2Vi
eHIvWFJJbnB1dFNvdXJjZUV2ZW50LmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJj
ZXNDaGFuZ2VFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CmluZGV4IDk4MmRmYTYzNWU1NmFlMmJhOTM1NTIxOWQ1ODZmMjc3MGNjMzlk
N2MuLjdlZWQ3Y2UwYjUxNTZlMmNjNjRhODI2ZTRhNmYyZGY4NGY5ZDNiYjUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtNTg4LDggKzU4
OCwxMSBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3IrV2ViWFIuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSSW5wdXRTb3VyY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhS
SW5wdXRTb3VyY2VBcnJheS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJK
b2ludFBvc2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFj
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJMYXllci5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJQb3NlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlkbApAQCAtNjA1LDYgKzYwOCw3IEBAICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbAogJChQUk9KRUNU
X0RJUikvTW9kdWxlcy93ZWJ4ci9YUkV5ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
eHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
eHIvWFJIYW5kSm9pbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVk
bmVzcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZUV2ZW50
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2
ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdAppbmRleCAyNmNhZjU4NjQwNTg4ZWY1M2ZhMzQ0Yjk0MWEyYTNkNGM0MzUyYjcyLi4zZGU0
M2M2MmNhMDZjN2NmNmRiNWMzNTFjZGZiNzMxOGMxNzY5NGZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjUyOSwxMCArMjUyOSwx
NiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
Qm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUuY3BwCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUuaAor
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkhhbmQu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
SGFuZC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dl
YlhSSW5wdXRTb3VyY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlQXJyYXkuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2VBcnJh
eS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
Sm9pbnRQb3NlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJYUkpvaW50UG9zZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1dlYlhSSm9pbnRTcGFjZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFNwYWNlLmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJMYXllci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJMYXllci5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSUG9zZS5jcHAK
QEAgLTI2MzMsNiArMjYzOSw4IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTWFJFeWUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1hSRXllLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5oCisk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpvaW50
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhh
bmRKb2ludC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1hSSGFuZGVkbmVzcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTWFJIYW5kZWRuZXNzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTWFJJbnB1dFNvdXJjZUV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggNDMxOTFiNmJlNzQzZTc2OGVmNTU2MmE4N2EzMTg2MzE4YTBjZTA2MS4u
YzVlZTRmNTk3NmIwNTU2NWNiMDYwYzllZDlkMjE4YTYwZjQ3ZjlkYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC00ODksOCArNDg5LDExIEBAIEpTX0JJTkRJTkdfSURMUyA6PSBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL05hdmlnYXRvcitXZWJYUi5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9k
dWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUkpvaW50U3BhY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2Vi
WFJMYXllci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJSZWZlcmVuY2VTcGFjZS5pZGwg
XApAQCAtNTA2LDYgKzUwOSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYnhyL1hSRW52aXJvbm1lbnRCbGVuZE1vZGUuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2VieHIvWFJFeWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJ4ci9YUkhhbmRKb2ludC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkhh
bmRlZG5lc3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJj
ZUV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2Vz
Q2hhbmdlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCmluZGV4IDdlN2Y2OWRjNWE4NTY5YjQ2Mzc0MWU2NzA0ZDVhZTY2MDAzYWU4NTUuLmVj
NGY0ZTU2ODI5OGNhZjY2MGM2ZjE3NmZmYWRkZjcyOTc0ZmVlYjUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcApAQCAtMjksNiArMjksOCBAQAogI2lmIEVO
QUJMRShXRUJYUikKIAogI2luY2x1ZGUgIldlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmgiCisj
aW5jbHVkZSAiV2ViWFJKb2ludFBvc2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
ICNpbmNsdWRlICJXZWJYUlJlZmVyZW5jZVNwYWNlLmgiCiAjaW5jbHVkZSAiV2ViWFJTZXNzaW9u
LmgiCiAjaW5jbHVkZSAiV2ViWFJWaWV3ZXJQb3NlLmgiCkBAIC0yNDIsNiArMjQ0LDMwIEBAIFRy
YW5zZm9ybWF0aW9uTWF0cml4IFdlYlhSRnJhbWU6Om1hdHJpeEZyb21Qb3NlKGNvbnN0IFBsYXRm
b3JtWFI6OkRldmljZTo6RnJhbWVECiAgICAgcmV0dXJuIG1hdHJpeDsKIH0KIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKy8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHIt
aGFuZC1pbnB1dC8jZG9tLXhyZnJhbWUtZ2V0am9pbnRwb3NlCitFeGNlcHRpb25PcjxSZWZQdHI8
V2ViWFJKb2ludFBvc2U+PiBXZWJYUkZyYW1lOjpnZXRKb2ludFBvc2UoY29uc3QgRG9jdW1lbnQm
LCBjb25zdCBXZWJYUkpvaW50U3BhY2UmIGpvaW50LCBjb25zdCBXZWJYUlNwYWNlJiBiYXNlU3Bh
Y2UpCit7CisgICAgVU5VU0VEX1BBUkFNKGpvaW50KTsKKyAgICBVTlVTRURfUEFSQU0oYmFzZVNw
YWNlKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2Vi
LmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1maWxsam9pbnRyYWRpaQor
RXhjZXB0aW9uT3I8Ym9vbD4gV2ViWFJGcmFtZTo6ZmlsbEpvaW50UmFkaWkoY29uc3QgRG9jdW1l
bnQmLCBjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+LCBjb25zdCBGbG9hdDMy
QXJyYXkmKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13
ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI2RvbS14cmZyYW1lLWZpbGxwb3NlcworRXhj
ZXB0aW9uT3I8Ym9vbD4gV2ViWFJGcmFtZTo6ZmlsbFBvc2VzKGNvbnN0IERvY3VtZW50JiwgY29u
c3QgVmVjdG9yPFJlZlB0cjxXZWJYUlNwYWNlPj4sIGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBG
bG9hdDMyQXJyYXkmKQoreworICAgIHJldHVybiB0cnVlOworfQorCisjZW5kaWYKKworCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCWFIpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oCmluZGV4IGZhOTAwZGMyMmY2OTE1OWY3OTI3
YzcyMWMyNWQwZGM3NjQwOTA3NmMuLmJiN2U0YTVmYmJhOTg0NWIwODMwYTg4YzZhZDhjYjFjZmNi
NjZkOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFt
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oCkBAIC0z
MCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRE9NSGlnaFJlc1RpbWVTdGFtcC5oIgogI2luY2x1ZGUg
IkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KICNp
bmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAgLTM4LDYg
KzM5LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CitjbGFzcyBX
ZWJYUkpvaW50UG9zZTsKK2NsYXNzIFdlYlhSSm9pbnRTcGFjZTsKIGNsYXNzIFdlYlhSUG9zZTsK
IGNsYXNzIFdlYlhSUmVmZXJlbmNlU3BhY2U7CiBjbGFzcyBXZWJYUlNlc3Npb247CkBAIC01Niw2
ICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSVmlld2VyUG9z
ZT4+IGdldFZpZXdlclBvc2UoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlJlZmVyZW5jZVNw
YWNlJik7CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSUG9zZT4+IGdldFBvc2UoY29uc3Qg
RG9jdW1lbnQmLCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOwogCisjaWYg
RU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpvaW50UG9z
ZT4+IGdldEpvaW50UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSSm9pbnRTcGFjZSYs
IGNvbnN0IFdlYlhSU3BhY2UmKTsKKyAgICBFeGNlcHRpb25Pcjxib29sPiBmaWxsSm9pbnRSYWRp
aShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJKb2ludFNwYWNlPj4s
IGNvbnN0IEZsb2F0MzJBcnJheSYpOworICAgIEV4Y2VwdGlvbk9yPGJvb2w+IGZpbGxQb3Nlcyhj
b25zdCBEb2N1bWVudCYsIGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJTcGFjZT4+LCBjb25zdCBX
ZWJYUlNwYWNlJiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisjZW5kaWYKKwogICAgIHZvaWQgc2V0
VGltZShET01IaWdoUmVzVGltZVN0YW1wIHRpbWUpIHsgbV90aW1lID0gdGltZTsgfQogCiAgICAg
dm9pZCBzZXRBY3RpdmUoYm9vbCBhY3RpdmUpIHsgbV9hY3RpdmUgPSBhY3RpdmU7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsCmluZGV4IDA4OTU2MGJmNjNi
MTNlYzY4YzAyYTFjYTM3ZDkzNzE1NDIzY2Q1MjQuLjA5NmI3NTI4NGQ4ODUyZDZmODMwMTRhY2Jh
YjExYzg1OWFiYTYyNzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJGcmFtZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lLmlkbApAQCAtMzUsNCArMzUsOCBAQAogCiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSBXZWJY
UlZpZXdlclBvc2U/IGdldFZpZXdlclBvc2UoV2ViWFJSZWZlcmVuY2VTcGFjZSByZWZlcmVuY2VT
cGFjZSk7CiAgICAgW0NhbGxXaXRoPURvY3VtZW50XSBXZWJYUlBvc2U/IGdldFBvc2UoV2ViWFJT
cGFjZSBzcGFjZSwgV2ViWFJTcGFjZSBiYXNlU3BhY2UpOworCisgICAgW0NvbmRpdGlvbmFsPVdF
QlhSX0hBTkRTLCBDYWxsV2l0aD1Eb2N1bWVudF0gV2ViWFJKb2ludFBvc2U/IGdldEpvaW50UG9z
ZShXZWJYUkpvaW50U3BhY2Ugam9pbnQsIFdlYlhSU3BhY2UgYmFzZVNwYWNlKTsKKyAgICBbQ29u
ZGl0aW9uYWw9V0VCWFJfSEFORFMsIENhbGxXaXRoPURvY3VtZW50XSBib29sZWFuIGZpbGxKb2lu
dFJhZGlpKHNlcXVlbmNlPFdlYlhSSm9pbnRTcGFjZT4gam9pbnRTcGFjZXMsIEZsb2F0MzJBcnJh
eSByYWRpaSk7CisgICAgW0NvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLCBDYWxsV2l0aD1Eb2N1bWVu
dF0gYm9vbGVhbiBmaWxsUG9zZXMoc2VxdWVuY2U8V2ViWFJTcGFjZT4gc3BhY2VzLCBXZWJYUlNw
YWNlIGJhc2VTcGFjZSwgRmxvYXQzMkFycmF5IHRyYW5zZm9ybXMpOwogfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODQzZjYyYzk2M2U3
NmMxMjRiYjc2NmI2OWNjZWY3ZDViOTA5YzU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSGFuZC5oIgorCisj
aWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlIDx3dGYv
SXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lT
T19BTExPQ0FURURfSU1QTChXZWJYUkhhbmQpOworCitSZWY8V2ViWFJIYW5kPiBXZWJYUkhhbmQ6
OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlhSU2Vzc2lvbiYgc2Vzc2lvbikKK3sKKyAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUkhhbmQoZG9jdW1lbnQsIHNlc3Npb24pKTsKK30K
KworV2ViWFJIYW5kOjpXZWJYUkhhbmQoRG9jdW1lbnQmLCBXZWJYUlNlc3Npb24mKQoreworfQor
CitXZWJYUkhhbmQ6On5XZWJYUkhhbmQoKSA9IGRlZmF1bHQ7CisKK1JlZlB0cjxXZWJYUkpvaW50
U3BhY2U+IFdlYlhSSGFuZDo6Z2V0KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpCit7CisgICAgVU5V
U0VEX1BBUkFNKGtleSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1dlYlhSSGFuZDo6SXRl
cmF0b3I6Okl0ZXJhdG9yKFdlYlhSSGFuZCYgaGFuZCkKKyAgICA6IG1faGFuZChoYW5kKQorewor
fQorCitzdGQ6Om9wdGlvbmFsPFdURjo6S2V5VmFsdWVQYWlyPFhSSGFuZEpvaW50LCBSZWZQdHI8
V2ViWFJKb2ludFNwYWNlPj4+IFdlYlhSSGFuZDo6SXRlcmF0b3I6Om5leHQoKQoreworICAgIGlm
IChtX2luZGV4ID4gbV9oYW5kLT5tX2pvaW50cy5zaXplKCkpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OworfQorCit9CisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTE2Njg1
NjBlYmRlOGM1NDgwNWU2MmZiZWUyZTJhMWM3MGRiNDk5NQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmgKQEAgLTAsMCArMSw3MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxF
KFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJQbGF0Zm9y
bVhSLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFNwYWNlLmgiCisjaW5jbHVkZSAiV2ViWFJTZXNz
aW9uLmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdl
YlhSSGFuZCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSGFuZD4geworICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViWFJIYW5kKTsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBSZWY8V2ViWFJI
YW5kPiBjcmVhdGUoRG9jdW1lbnQmLCBXZWJYUlNlc3Npb24mKTsKKyAgICB+V2ViWFJIYW5kKCk7
CisKKyAgICB1bnNpZ25lZCBsb25nIHNpemUoKSB7IHJldHVybiBtX3NpemU7IH0KKworICAgIFJl
ZlB0cjxXZWJYUkpvaW50U3BhY2U+IGdldChjb25zdCBYUkhhbmRKb2ludCYga2V5KTsKKworICAg
IGNsYXNzIEl0ZXJhdG9yIHsKKyAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IEl0ZXJhdG9y
KFdlYlhSSGFuZCYpOworICAgICAgICBzdGQ6Om9wdGlvbmFsPFdURjo6S2V5VmFsdWVQYWlyPFhS
SGFuZEpvaW50LCBSZWZQdHI8V2ViWFJKb2ludFNwYWNlPj4+IG5leHQoKTsKKworICAgIHByaXZh
dGU6CisgICAgICAgIFJlZjxXZWJYUkhhbmQ+IG1faGFuZDsKKyAgICAgICAgc2l6ZV90IG1faW5k
ZXggeyAwIH07CisgICAgfTsKKyAgICBJdGVyYXRvciBjcmVhdGVJdGVyYXRvcigpIHsgcmV0dXJu
IEl0ZXJhdG9yKCp0aGlzKTsgfQorCitwcml2YXRlOgorICAgIFdlYlhSSGFuZChEb2N1bWVudCYs
IFdlYlhSU2Vzc2lvbiYpOworCisgICAgdW5zaWduZWQgbG9uZyBtX3NpemUgeyAwIH07CisgICAg
dXNpbmcgSGFuZEpvaW50VG9TcGFjZU1hcCA9IEhhc2hNYXA8WFJIYW5kSm9pbnQsIFJlZjxXZWJY
UkpvaW50U3BhY2U+LCBEZWZhdWx0SGFzaDx1bnNpZ25lZD4sIFdURjo6VW5zaWduZWRXaXRoWmVy
b0tleUhhc2hUcmFpdHM8dW5zaWduZWQ+PjsKKyAgICBIYW5kSm9pbnRUb1NwYWNlTWFwIG1fam9p
bnRzOworfTsKKworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSGFuZC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
SGFuZC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVjYjJlM2QwZjU1NDZkNDI1OWUxY2I2Y2NmZGQxNTUyYWM4
YTQ2ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJIYW5kLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYlhSRW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUywKKyAg
ICBTZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9V2luZG93LAorICAgIEltcGxlbWVudGF0aW9u
TGFja3NWVGFibGUsCisgICAgSW50ZXJmYWNlTmFtZT1YUkhhbmQKK10gaW50ZXJmYWNlIFdlYlhS
SGFuZCB7CisgICAgaXRlcmFibGU8WFJIYW5kSm9pbnQsIFdlYlhSSm9pbnRTcGFjZT47CisKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOworICAgIFdlYlhSSm9pbnRT
cGFjZSBnZXQoWFJIYW5kSm9pbnQga2V5KTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oCmluZGV4IDg4ZmE1MmY1ZDg4MGRkNDY0NzA3MjVh
ODFlM2RlOTFlZjliMzQxMTcuLjVmYmY5YjgzMTE1MjY4YTViM2U4MTJmYjY3NDIyMTk2MWJmOWE3
MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNv
dXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJj
ZS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAyMCBJZ2FsaWEgUy5M
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTM5LDYgKzQwLDEwIEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1ZGUgPHd0Zi90
ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorI2luY2x1ZGUgIldl
YlhSSGFuZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lmIEVOQUJMRShH
QU1FUEFEKQpAQCAtNjcsMTAgKzcyLDE0IEBAIHB1YmxpYzoKICAgICBjb25zdCBHYW1lcGFkKiBn
YW1lcGFkKCkgY29uc3QgeyByZXR1cm4gbV9nYW1lcGFkLnB0cigpOyB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBjb25zdCBXZWJYUkhhbmQqIGhhbmQoKSBjb25zdCB7
IHJldHVybiBtX2hhbmQuZ2V0KCk7IH0KKyNlbmRpZgorCiAgICAgdm9pZCB1cGRhdGUoZG91Ymxl
IHRpbWVzdGFtcCwgY29uc3QgSW5wdXRTb3VyY2UmKTsKICAgICBib29sIHJlcXVpcmVzSW5wdXRT
b3VyY2VDaGFuZ2UoY29uc3QgSW5wdXRTb3VyY2UmKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
LSAgICAKKwogICAgIHZvaWQgcG9sbEV2ZW50cyhWZWN0b3I8UmVmPFhSSW5wdXRTb3VyY2VFdmVu
dD4+Jik7CiAKICAgICAvLyBGb3IgR0MgcmVhY2hhYmxpdGl5LgpAQCAtODksNiArOTgsMTAgQEAg
cHJpdmF0ZToKICAgICBSZWY8R2FtZXBhZD4gbV9nYW1lcGFkOwogI2VuZGlmCiAKKyNpZiBFTkFC
TEUoV0VCWFJfSEFORFMpCisgICAgUmVmUHRyPFdlYlhSSGFuZD4gbV9oYW5kOworI2VuZGlmCisK
ICAgICBib29sIG1fc2VsZWN0U3RhcnRlZCB7IGZhbHNlIH07CiAgICAgYm9vbCBtX3NxdWVlemVT
dGFydGVkIHsgZmFsc2UgfTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlLmlkbAppbmRleCA3OGJkNDkwZGQ4M2Q0N2Q5Y2RkNzBmNjA5NjQw
MTViZDkzYTEwODk2Li43MWJhYThhOWIxMzYzYzkzZDhhZTdiMGEyMTY2ZDc2OGZjMTU3YTFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2Uu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5p
ZGwKQEAgLTQwLDQgKzQwLDcgQEAKIAogICAgIC8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRo
dWIuaW8vd2VieHItZ2FtZXBhZHMtbW9kdWxlLyN4cmlucHV0c291cmNlLWludGVyZmFjZQogICAg
IFtDb25kaXRpb25hbD1HQU1FUEFELCBTYW1lT2JqZWN0XSByZWFkb25seSBhdHRyaWJ1dGUgR2Ft
ZXBhZD8gZ2FtZXBhZDsKKworICAgIC8vIGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8v
d2VieHItaGFuZC1pbnB1dC8jeHJpbnB1dHNvdXJjZS1pbnRlcmZhY2UKKyAgICBbQ29uZGl0aW9u
YWw9V0VCWFJfSEFORFMsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUkhhbmQ/
IGhhbmQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UkpvaW50UG9zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQ
b3NlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iYTVlOTYyMGZkOTQyMDI0NDFjOTIzZTE4MmE3ODdhYTIxODBi
ZDllCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UkpvaW50UG9zZS5jcHAKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFBvc2UuaCIKKworI2lmIEVOQUJMRShXRUJY
UikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lN
UEwoV2ViWFJKb2ludFBvc2UpOworCitSZWY8V2ViWFJKb2ludFBvc2U+IFdlYlhSSm9pbnRQb3Nl
OjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24pCit7Cisg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFBvc2UoZG9jdW1lbnQsIHNlc3Npb24p
KTsKK30KKworV2ViWFJKb2ludFBvc2U6OldlYlhSSm9pbnRQb3NlKERvY3VtZW50JiwgV2ViWFJT
ZXNzaW9uJikKK3sKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMzNjZjFkYjljNTZhMDk5Zjc2NWQz
ZTBkOWJkZDdlMWE2ZTE3N2MxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5E
UykKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2lu
Y2x1ZGUgIldlYlhSU2Vzc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgV2ViWFJKb2lu
dFBvc2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUkpvaW50UG9zZT4geworICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoV2ViWFJKb2ludFBvc2UpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8
V2ViWFJKb2ludFBvc2U+IGNyZWF0ZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpOworICAgIH5X
ZWJYUkpvaW50UG9zZSgpID0gZGVmYXVsdDsKKworICAgIGZsb2F0IHJhZGl1cygpIGNvbnN0IHsg
cmV0dXJuIG1fcmFkaXVzOyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFBvc2UoRG9jdW1l
bnQmLCBXZWJYUlNlc3Npb24mKTsKKworICAgIGZsb2F0IG1fcmFkaXVzIHsgMCB9OworfTsKKwor
fQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJKb2ludFBvc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50
UG9zZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMzQ0ODRmNTlkYjE2NzM3YTcxYzljZmU4ODRmZDQzMDdiN2Rl
YTA5OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJKb2ludFBvc2UuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVu
YWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkLAorICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRT
LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1wbGVtZW50
YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhSSm9pbnRQb3NlCitdIGludGVy
ZmFjZSBXZWJYUkpvaW50UG9zZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGZsb2F0IHJhZGl1
czsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9p
bnRTcGFjZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFj
ZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMzgyYTdmN2NhMTNhMGUzNWQzZjcxMmY5MGE0NDczMGE1M2JjZDkz
MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJK
b2ludFNwYWNlLmNwcApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIKKworI2lmIEVOQUJMRShXRUJY
UikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiV2ViWFJSaWdpZFRyYW5zZm9y
bS5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRTcGFjZSk7CisK
K1JlZjxXZWJYUkpvaW50U3BhY2U+IFdlYlhSSm9pbnRTcGFjZTo6Y3JlYXRlKERvY3VtZW50JiBk
b2N1bWVudCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYlhSSm9pbnRTcGFjZShkb2N1bWVudCwgc2Vzc2lvbikpOworfQorCitXZWJYUkpvaW50
U3BhY2U6OldlYlhSSm9pbnRTcGFjZShEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlhSU2Vzc2lvbiYg
c2Vzc2lvbikKKyAgICA6IFdlYlhSU3BhY2UoZG9jdW1lbnQsIFdlYlhSUmlnaWRUcmFuc2Zvcm06
OmNyZWF0ZSgpKQorICAgICwgbV9zZXNzaW9uKHNlc3Npb24pCit7Cit9CisKK1dlYlhSSm9pbnRT
cGFjZTo6fldlYlhSSm9pbnRTcGFjZSgpID0gZGVmYXVsdDsKKworVHJhbnNmb3JtYXRpb25NYXRy
aXggV2ViWFJKb2ludFNwYWNlOjpuYXRpdmVPcmlnaW4oKSBjb25zdAoreworICAgIHJldHVybiB7
IH07Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkpvaW50U3BhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZGFmZGY4NWMwNWQyMDJiMGMxNjZlMzEzNDRl
OWFiZWZkNDJjN2Y0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisK
KyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRl
ICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJXZWJYUlNwYWNlLmgiCisjaW5jbHVkZSAiWFJI
YW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhSSm9pbnRTcGFjZSA6IHB1Ymxp
YyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT4sIHB1YmxpYyBXZWJYUlNwYWNlIHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRTcGFjZSk7CitwdWJsaWM6CisgICAgc3Rh
dGljIFJlZjxXZWJYUkpvaW50U3BhY2U+IGNyZWF0ZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYp
OworICAgIHZpcnR1YWwgfldlYlhSSm9pbnRTcGFjZSgpOworCisgICAgdXNpbmcgUmVmQ291bnRl
ZDxXZWJYUkpvaW50U3BhY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxXZWJYUkpvaW50
U3BhY2U+OjpkZXJlZjsKKworICAgIFhSSGFuZEpvaW50IGpvaW50TmFtZSgpIGNvbnN0IHsgcmV0
dXJuIFhSSGFuZEpvaW50OjpXcmlzdDsgfQorCitwcml2YXRlOgorICAgIFdlYlhSSm9pbnRTcGFj
ZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpOworCisgICAgV2ViWFJTZXNzaW9uJiBzZXNzaW9u
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uLmdldCgpOyB9CisgICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggbmF0aXZlT3JpZ2luKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJlZkV2
ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgYm9vbCBpc0pvaW50U3BhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBSZWY8V2ViWFJTZXNzaW9uPiBtX3Nlc3Npb247Cit9
OworCit9CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfV0VCWFJTUEFDRShXZWJYUkpvaW50U3Bh
Y2UsIGlzSm9pbnRTcGFjZSgpKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNTcxNmUwOGEzYTYxMGQ2
ZjU2M2YzMjgwOWJlYzA5ZTgwZDMxOTE5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkLAorICAgIENv
bmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAg
ICBTZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9V2luZG93LAorICAgIEludGVyZmFjZU5hbWU9
WFJKb2ludFNwYWNlCitdIGludGVyZmFjZSBXZWJYUkpvaW50U3BhY2U6IFdlYlhSU3BhY2Ugewor
ICByZWFkb25seSBhdHRyaWJ1dGUgWFJIYW5kSm9pbnQgam9pbnROYW1lOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKaW5kZXggZDhmODhlYTU4Yjk1ODQ1MThk
NDc2NTQwZWRjOGRkZGIxOTY3OWRiNC4uM2Y0YWE5YmZiNjgyMjIyNzNiY2YwZDcwNjE1YzVkNjhk
YzcxMGMxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNw
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKQEAg
LTUxLDYgKzUxLDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVmZXJlbmNlU3Bh
Y2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0JvdW5kZWRS
ZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKFdFQlhS
X0hBTkRTKQorICAgIHZpcnR1YWwgYm9vbCBpc0pvaW50U3BhY2UoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBXZWJYUlNwYWNlKERvY3VtZW50Jiwg
UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9YUkhhbmRKb2ludC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5ZjA2MmI1ZWNiNTU2N2VlZWRhODQ3ZDBlODY5
MzY3ZGEwODMxY2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1hSSGFuZEpvaW50LmgKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgWFJIYW5kSm9pbnQgOiB1bnNpZ25lZCB7Cisg
ICAgV3Jpc3QsCisgICAgVGh1bWJNZXRhY2FycGFsLAorICAgIFRodW1iUGhhbGFueFByb3hpbWFs
LAorICAgIFRodW1iUGhhbGFueERpc3RhbCwKKyAgICBUaHVtYlRpcCwKKyAgICBJbmRleEZpbmdl
ck1ldGFjYXJwYWwsCisgICAgSW5kZXhGaW5nZXJQaGFsYW54UHJveGltYWwsCisgICAgSW5kZXhG
aW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIEluZGV4RmluZ2VyUGhhbGFueERpc3RhbCwK
KyAgICBJbmRleEZpbmdlclRpcCwKKyAgICBNaWRkbGVGaW5nZXJNZXRhY2FycGFsLAorICAgIE1p
ZGRsZUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBNaWRkbGVGaW5nZXJQaGFsYW54SW50ZXJt
ZWRpYXRlLAorICAgIE1pZGRsZUZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgTWlkZGxlRmluZ2Vy
VGlwLAorICAgIFJpbmdGaW5nZXJNZXRhY2FycGFsLAorICAgIFJpbmdGaW5nZXJQaGFsYW54UHJv
eGltYWwsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUsCisgICAgUmluZ0Zpbmdl
clBoYWxhbnhEaXN0YWwsCisgICAgUmluZ0ZpbmdlclRpcCwKKyAgICBQaW5reUZpbmdlck1ldGFj
YXJwYWwsCisgICAgUGlua3lGaW5nZXJQaGFsYW54UHJveGltYWwsCisgICAgUGlua3lGaW5nZXJQ
aGFsYW54SW50ZXJtZWRpYXRlLAorICAgIFBpbmt5RmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBQ
aW5reUZpbmdlclRpcAorfTsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjlhNzhkODczYzMyNGZkM2QxODc1
M2Y3YzkxNmY3MzEyNWZkMmRhOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkLAorICAgIENvbmRpdGlvbmFs
PVdFQlhSX0hBTkRTLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JUCitdIGVudW0gWFJI
YW5kSm9pbnQgeworICAid3Jpc3QiLAorCisgICJ0aHVtYi1tZXRhY2FycGFsIiwKKyAgInRodW1i
LXBoYWxhbngtcHJveGltYWwiLAorICAidGh1bWItcGhhbGFueC1kaXN0YWwiLAorICAidGh1bWIt
dGlwIiwKKworICAiaW5kZXgtZmluZ2VyLW1ldGFjYXJwYWwiLAorICAiaW5kZXgtZmluZ2VyLXBo
YWxhbngtcHJveGltYWwiLAorICAiaW5kZXgtZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwK
KyAgImluZGV4LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICJpbmRleC1maW5nZXItdGlwIiwK
KworICAibWlkZGxlLWZpbmdlci1tZXRhY2FycGFsIiwKKyAgIm1pZGRsZS1maW5nZXItcGhhbGFu
eC1wcm94aW1hbCIsCisgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAg
Im1pZGRsZS1maW5nZXItcGhhbGFueC1kaXN0YWwiLAorICAibWlkZGxlLWZpbmdlci10aXAiLAor
CisgICJyaW5nLWZpbmdlci1tZXRhY2FycGFsIiwKKyAgInJpbmctZmluZ2VyLXBoYWxhbngtcHJv
eGltYWwiLAorICAicmluZy1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlhdGUiLAorICAicmluZy1m
aW5nZXItcGhhbGFueC1kaXN0YWwiLAorICAicmluZy1maW5nZXItdGlwIiwKKworICAicGlua3kt
ZmluZ2VyLW1ldGFjYXJwYWwiLAorICAicGlua3ktZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAor
ICAicGlua3ktZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgInBpbmt5LWZpbmdlci1w
aGFsYW54LWRpc3RhbCIsCisgICJwaW5reS1maW5nZXItdGlwIgorfTsKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApp
bmRleCBkNGVhZWRlZjFlYTUxZGU4YjExMTZkMjA4N2YyYzQwZjQ1MTFiZTc1Li42NmJmNGVlMzU3
OTJlZTRhNGQ2MWRmNzEyY2MxMjYxMzNhNjI1ZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzU3LDkg
KzM1NywxMiBAQCBNb2R1bGVzL3dlYnhyL05hdmlnYXRvcldlYlhSLmNwcAogTW9kdWxlcy93ZWJ4
ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFt
ZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJHYW1lcGFkLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJY
UkhhbmQuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCiBNb2R1bGVzL3dl
YnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNw
YWNlLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKK01vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkxheWVyLmNwcAogTW9kdWxl
cy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUlBv
c2UuY3BwCkBAIC0zNzcxLDggKzM3NzQsMTEgQEAgSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3Bw
CiBKU1dlYlNvY2tldC5jcHAKIEpTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiBKU1dl
YlhSRnJhbWUuY3BwCitKU1dlYlhSSGFuZC5jcHAKIEpTV2ViWFJJbnB1dFNvdXJjZS5jcHAKIEpT
V2ViWFJJbnB1dFNvdXJjZUFycmF5LmNwcAorSlNXZWJYUkpvaW50UG9zZS5jcHAKK0pTV2ViWFJK
b2ludFNwYWNlLmNwcAogSlNXZWJYUkxheWVyLmNwcAogSlNXZWJYUlBvc2UuY3BwCiBKU1dlYlhS
UmVmZXJlbmNlU3BhY2UuY3BwCkBAIC0zODE0LDYgKzM4MjAsNyBAQCBKU1hQYXRoUmVzdWx0LmNw
cAogSlNYUkVudmlyb25tZW50QmxlbmRNb2RlLmNwcAogSlNYUkV5ZS5jcHAKIEpTWFJGcmFtZVJl
cXVlc3RDYWxsYmFjay5jcHAKK0pTWFJIYW5kSm9pbnQuY3BwCiBKU1hSSGFuZGVkbmVzcy5jcHAK
IEpTWFJJbnB1dFNvdXJjZUV2ZW50LmNwcAogSlNYUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGVkNjUwYWU2NmNhZTU5NDg5M2NjNGFjM2JkMGI4MWRiNjlhOWQyYzEuLjI5NzljMzBi
ODM3MTMxNDY4YjFiM2U2ZjUxMDRkNmUyNjc4MTA0OGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMDYsNiArMTAwNiwxMCBA
QAogCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYxRjBF
NENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBG
RjNFMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYzQTBFNENFRkFDMDA3
RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0MDBFNENF
RkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjNDMEU0Q0VGQUMwMDdENkZFNSAv
KiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OworCQkzMUQ5MkE5RjI3MDdENURFMDBB
RDAxRDAgLyogWFJIYW5kSm9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICov
OyB9OworCQkzMUQ5MkFBMzI3MDdENjk2MDBBRDAxRDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFBMTI3MDdENjhEMDBB
RDAxRDAgLyogV2ViWFJIYW5kLmggKi87IH07CisJCTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAv
KiBXZWJYUkpvaW50U3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAq
LzsgfTsKKwkJMzFEOTJBQUIyNzA4RDIwMTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFBODI3MDhE
MUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLzsgfTsKIAkJMzFERUE0NTYxQjM5RjRE
OTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxREVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBX
ZWJTeXN0ZW1CYWNrZHJvcExheWVyLmggKi87IH07CiAJCTMxRUFGOTdFMTIxNDM1QTQwMEU3QzFC
RiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUFGOTdDMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rp
b25DbGllbnRJT1MuaCAqLzsgfTsKIAkJMzFFQjU0REYxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0
cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUVCNTRERDFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2
ZXJEaXJlY3Rpb24uaCAqLzsgfTsKQEAgLTc3MjMsNiArNzcyNywxNyBAQAogCQkzMUQyNkJDNDFG
ODZEMjY2MDA4RkYyNTUgLyogSlNJbWFnZUJpdG1hcE9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZUJpdG1hcE9wdGlvbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQyNkJDNTFGODZEMjY4MDA4RkYyNTUgLyogSlNJbWFn
ZUJpdG1hcE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFn
ZUJpdG1hcE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFEMjZCQzYx
Rjg2RDI2OTAwOEZGMjU1IC8qIEpTSW1hZ2VCaXRtYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZUJpdG1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBYUkhhbmRKb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
MUQ5MkE5RTI3MDdENUQxMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFhSSGFuZEpv
aW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTAyNzA3RDY4RDAw
QUQwMUQwIC8qIFdlYlhSSGFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJYUkhhbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAg
LyogV2ViWFJIYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSGFuZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUQ5MkFBMjI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBXZWJYUkhhbmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5
MkFBNDI3MDdFODNBMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJYUkpv
aW50U3BhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBNTI3MDdF
OEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSm9p
bnRTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBNjI3MDdFOTUx
MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhS
Sm9pbnRTcGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE4Mjcw
OEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJYUkpv
aW50UG9zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBOTI3MDhEMUZC
MDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQUEyNzA4RDFGQjAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRQb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFERUE0NTMxQjM5RjREOTAwRjc3MTc4
IC8qIFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5v
YmpjcHA7IHBhdGggPSBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ry
b3BMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTeXN0ZW1CYWNr
ZHJvcExheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUFGOTdDMTIxNDM1
QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ2xpZW50SU9TLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yOTAzNyw2ICsyOTA1Miw5IEBACiAJCQkJRTE5NDkwODgyNDM0RjE1OTAw
NDE2QTk5IC8qIFdlYlhSRnJhbWUuaWRsICovLAogCQkJCTExRTUxNjNCMjYxRTFBMTQwMEU2OUYy
NSAvKiBXZWJYUkdhbWVwYWQuY3BwICovLAogCQkJCTExRTUxNjNBMjYxRTFBMTQwMEU2OUYyNSAv
KiBXZWJYUkdhbWVwYWQuaCAqLywKKwkJCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAgLyogV2Vi
WFJIYW5kLmNwcCAqLywKKwkJCQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5k
LmggKi8sCisJCQkJMzFEOTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5pZGwgKi8s
CiAJCQkJRTFFRThCMEQyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRTb3VyY2UuY3BwICov
LAogCQkJCUUxRUU4QjE3MjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlLmggKi8s
CiAJCQkJRTE5NDkwODkyNDM0RjE1QTAwNDE2QTk5IC8qIFdlYlhSSW5wdXRTb3VyY2UuaWRsICov
LApAQCAtMjkwNDUsNiArMjkwNjMsMTIgQEAKIAkJCQlFMTk0OTA5MzI0MzRGMTYwMDA0MTZBOTkg
LyogV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbCAqLywKIAkJCQkxMUU1MTYzNzI2MUUxQTA1MDBF
NjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmNwcCAqLywKIAkJCQkxMUU1MTYzNTI2MUUxQTA1MDBF
NjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmggKi8sCisJCQkJMzFEOTJBQUEyNzA4RDFGQjAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmNwcCAqLywKKwkJCQkzMUQ5MkFBODI3MDhEMUZCMDBBRDAx
RDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLywKKwkJCQkzMUQ5MkFBOTI3MDhEMUZCMDBBRDAxRDAg
LyogV2ViWFJKb2ludFBvc2UuaWRsICovLAorCQkJCTMxRDkyQUE2MjcwN0U5NTEwMEFEMDFEMCAv
KiBXZWJYUkpvaW50U3BhY2UuY3BwICovLAorCQkJCTMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAv
KiBXZWJYUkpvaW50U3BhY2UuaCAqLywKKwkJCQkzMUQ5MkFBNDI3MDdFODNBMDBBRDAxRDAgLyog
V2ViWFJKb2ludFNwYWNlLmlkbCAqLywKIAkJCQlFMTJGREFGQjI0QTBGRDFDMDA3MDIzNkUgLyog
V2ViWFJMYXllci5jcHAgKi8sCiAJCQkJRTEyRkRBRkQyNEEwRkQxRTAwNzAyMzZFIC8qIFdlYlhS
TGF5ZXIuaCAqLywKIAkJCQlFMTJGREFGRTI0QTBGRDFGMDA3MDIzNkUgLyogV2ViWFJMYXllci5p
ZGwgKi8sCkBAIC0yOTA5MSw2ICsyOTExNSw4IEBACiAJCQkJRTFFRThBRkIyNDEyQjE3MDAwRTc5
NEQ2IC8qIFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaWRsICovLAogCQkJCUUxRUU4QUVFMjQxMkIx
NzAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaCAqLywKIAkJCQlFMUVFOEIwNzI0MTJCMTcwMDBF
Nzk0RDYgLyogWFJIYW5kZWRuZXNzLmlkbCAqLywKKwkJCQkzMUQ5MkE5QzI3MDdENUQwMDBBRDAx
RDAgLyogWFJIYW5kSm9pbnQuaCAqLywKKwkJCQkzMUQ5MkE5RTI3MDdENUQxMDBBRDAxRDAgLyog
WFJIYW5kSm9pbnQuaWRsICovLAogCQkJCUUxRUU4QUNDMjQxMkIxNzAwMEU3OTRENiAvKiBYUklu
cHV0U291cmNlRXZlbnQuY3BwICovLAogCQkJCUUxRUU4QjA5MjQxMkIxNzAwMEU3OTRENiAvKiBY
UklucHV0U291cmNlRXZlbnQuaCAqLywKIAkJCQlFMUVFOEIwMDI0MTJCMTcwMDBFNzk0RDYgLyog
WFJJbnB1dFNvdXJjZUV2ZW50LmlkbCAqLywKQEAgLTM1OTU5LDkgKzM1OTg1LDEyIEBACiAJCQkJ
RTFFRThCN0UyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4QTI0MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJGcmFt
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFFNTE2M0MyNjFFMUExNTAwRTY5RjI1IC8qIFdlYlhS
R2FtZXBhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQTMyNzA3RDY5NjAwQUQwMUQwIC8q
IFdlYlhSSGFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCQTgyNDEzMTk2MzAwRTc5NEQ2
IC8qIFdlYlhSSW5wdXRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4Qjg2MjQxMzE5
MUYwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlQXJyYXkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTExRTUxNjM4MjYxRTFBMDYwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuaCBpbiBIZWFkZXJz
ICovLAorCQkJCTMxRDkyQUFCMjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQTcyNzA3RTk1OTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRT
cGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyRkRCMDAyNEEwRkQyMDAwNzAyMzZFIC8qIFdl
YlhSTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNEYxNjlGMjY0MEJDNDEwMDY2M0VDRSAv
KiBXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4ODI0
MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJQb3NlLmggaW4gSGVhZGVycyAqLywKQEAgLTM2MDgyLDYg
KzM2MTExLDcgQEAKIAkJCQlFMUVFOEI5NzI0MTMxOTUwMDBFNzk0RDYgLyogWFJFeWUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxRUU4QjhGMjQxMzE5NTAwMEU3OTRENiAvKiBYUkZyYW1lUmVxdWVz
dENhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI5MjI0MTMxOTUwMDBFNzk0RDYg
LyogWFJIYW5kZWRuZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUQ5MkE5RjI3MDdENURFMDBB
RDAxRDAgLyogWFJIYW5kSm9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QjlGMjQxMzE5
NTAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
RUU4Qjk5MjQxMzE5NTAwMEU3OTRENiAvKiBYUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlFMTJBOUY0QTI0OEE5OUUyMDAzRjA2QzggLyogWFJJbnRlcmFjdGlv
bk1vZGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IGU4MzVkZjdmZjBiMjIwZGViYTA1OGZkM2E4NGRm
NWQyYzI1MTM5NWMuLjE0ZDRkNDQ4ODYxNDQ5NjYzODU2ZDhjMDZmYmQ2MTJkYWIzYTA2NTEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
QEAgLTMwNSwxMCArMzA1LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhYTUxI
dHRwUmVxdWVzdCkgXAogICAgIG1hY3JvKFhSQm91bmRlZFJlZmVyZW5jZVNwYWNlKSBcCiAgICAg
bWFjcm8oWFJGcmFtZSkgXAorICAgIG1hY3JvKFhSSGFuZCkgXAogICAgIG1hY3JvKFhSSW5wdXRT
b3VyY2UpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlQXJyYXkpIFwKICAgICBtYWNybyhYUklu
cHV0U291cmNlRXZlbnQpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlc0NoYW5nZUV2ZW50KSBc
CisgICAgbWFjcm8oWFJKb2ludFBvc2UpIFwKKyAgICBtYWNybyhYUkpvaW50U3BhY2UpIFwKICAg
ICBtYWNybyhYUkxheWVyKSBcCiAgICAgbWFjcm8oWFJQb3NlKSBcCiAgICAgbWFjcm8oWFJSZWZl
cmVuY2VTcGFjZSkgXAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>440072</attachid>
            <date>2021-10-04 10:16:33 -0700</date>
            <delta_ts>2021-10-17 09:48:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211005041631.patch</filename>
            <type>text/plain</type>
            <size>59744</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzNDcwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDU1ODkxNzZkZDQ3MzM5MGRiNzYyYTFm
NTdhYzNmOWRkYzdjODlmNGIuLmM4NTNmM2RmYThlN2RkY2EwM2IwYmUyM2FlNDRmZDVjOGUyNjZi
NzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTAtMDIgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmRzIElucHV0
IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgYW4gRU5BQkxFX1dFQlhSX0hB
TkRTIGNvbXBpbGUgdGltZSBmbGFnIGFuZCBhIFdlYlhSSGFuZHNFbmFibGVkIHByZWZlcmVuY2Uu
CisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDogR3VhcmQgV0VCWFJfSEFORFMgd2l0
aCBXRUJYUi4KKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oOgorICAgICAgICAq
IFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFtbDoKKwog
MjAyMS0xMC0wMyAgQmFzdWtlIFN1enVraSAgPGJhc3VrZS5zdXp1a2lAc29ueS5jb20+CiAKICAg
ICAgICAgRW5hYmxlIHJlbGVhc2UgbG9nIHRvIHN0ZGVycgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ2NTRmODZi
NDA1ZGYyYzE4MWE0YzMyOGM5YzgwNmFmNTZmYjA0MDQuLmI4ZDBlYTUwZTE3MDU4ZGIyOGEyNjk1
ZjRhZTI4ODQxN2YzMDM4MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw2NyBAQAorMjAyMS0xMC0w
MiAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlhSXSBTdHVi
cyBmb3IgV2ViWFIgSGFuZHMgSW5wdXQgTW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgz
ODAyMTM1PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEFkZCB0aGUgSURMIGFuZCBzdHViIGltcGxlbWVudGF0aW9ucyBmb3IgdGhlIFdlYlhSCisgICAg
ICAgIEhhbmQgSW5wdXQgbW9kdWxlOgorICAgICAgICBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0
aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvCisKKyAgICAgICAgVGhlIGltcG9ydGFudCBjbGFzcyBp
cyBXZWJYUkhhbmQsIHdoaWNoIGlzIG93bmVkIGJ5CisgICAgICAgIGFuZCBhY2Nlc3NpYmxlIGZy
b20gdGhlIFdlYlhSSW5wdXRTb3VyY2UsIHdoaWNoCisgICAgICAgIGl0c2VsZiBpcyBvd25lZCBi
eSB0aGUgV2ViWFJTZXNzaW9uLgorCisgICAgICAgIE5vdGhpbmcgaXMgYWN0dWFsbHkgaW1wbGVt
ZW50ZWQgeWV0IHNvIHRoZXJlIHNob3VsZAorICAgICAgICBiZSBubyBjaGFuZ2UgdG8gdGVzdHMu
CisKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlhSRnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZy
YW1lOjpmaWxsUG9zZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgor
ICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGw6IEFkZCBtZXRob2RzIGZvciBj
YWxjdWxhdGluZyBoYW5kIGpvaW50IGluZm9ybWF0aW9uLgorICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvV2ViWFJIYW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6V2ViWFJIYW5kKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSSGFuZDo6Z2V0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0
b3I6Okl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6SXRlcmF0b3I6Om5l
eHQpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmg6CisgICAgICAgIChXZWJD
b3JlOjpXZWJYUkhhbmQ6OnNpemUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJIYW5kOjpjcmVh
dGVJdGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsOgorICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oOiBBZGQgYGhhbmRgIGFjY2Vz
c29yLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6aGFuZCBjb25zdCk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlkbDogQWRkIGBoYW5kYCBh
dHRyaWJ1dGUuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSSm9pbnRQb3NlOjpXZWJYUkpvaW50UG9zZSk6CisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9XZWJYUkpvaW50UG9zZS5oOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBvc2U6
OnJhZGl1cyBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5p
ZGw6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6
V2ViWFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6
OmpvaW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3Bh
Y2UuaWRsOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oOiBBZGQgYSB2aXJ0
dWFsIG1ldGhvZCB0byBpZGVudGlmeSBoYW5kIGpvaW50IHNwYWNlcy4KKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSU3BhY2U6OmlzSm9pbnRTcGFjZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9YUkhhbmRKb2ludC5oOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQu
aWRsOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmg6IEFkZCBuYW1lIG1hcHBpbmdzIGZvciB0aGUgdGhpbmdzCisgICAgICAgIHRoYXQgYXJl
IGV4cG9zZWQgd2l0aG91dCB0aGUgIldlYlhSIiBwcmVmaXguCisgICAgICAgICogcGxhdGZvcm0v
eHIvUGxhdGZvcm1YUi5oOiBBZGQgdGhlIGVudW0gZm9yIEhhbmRKb2ludC4KKwogMjAyMS0xMC0w
MyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWJD
b3JlOjpMZW5ndGggaW5jb3JyZWN0bHkgdXNlcyBtZW1jcHkoKSBmb3IgY29weSBjb25zdHJ1Y3Rv
cnMvb3BlcmF0b3IgYW5kIElQQyBlbmNvZGluZy9kZWNvZGluZwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwg
Yi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbAppbmRleCA1OTMwNjBiZWJmMzMyMzg4YzQxNmI0NjZhZjhiMmQ2NjA3NWU3NTViLi4y
NDU5OGFmZGEyZjVmNWQzNjFiNzViODQ3ODIwM2Y5OWNlMmVmNDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50YWwueWFt
bAorKysgYi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBl
cmltZW50YWwueWFtbApAQCAtMTU4OCw2ICsxNTg4LDE5IEBAIFdlYlhSRW5hYmxlZDoKICAgICBX
ZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViWFJIYW5kSW5wdXRFbmFibGVkOgor
ICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViWFIgSGFuZCBJbnB1dCBNb2R1
bGUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkFkZHMgc3VwcG9ydCBmb3IgdGhlIEhh
bmRzIElucHV0IE1vZHVsZSBmb3IgV2ViWFIiCisgIGNvbmRpdGlvbjogRU5BQkxFKFdFQlhSX0hB
TkRTKQorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVsdDog
V2ViS2l0OjpkZWZhdWx0V2ViWFJFbmFibGVkKCkgIyBGb2xsb3dzIFdlYlhSRW5hYmxlZAorICAg
IFdlYktpdDoKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYlhSRW5hYmxlZCgpICMg
Rm9sbG93cyBXZWJYUkVuYWJsZWQKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UK
KwogV2hlZWxFdmVudEdlc3R1cmVzQmVjb21lTm9uQmxvY2tpbmc6CiAgIHR5cGU6IGJvb2wKICAg
aHVtYW5SZWFkYWJsZU5hbWU6ICJXaGVlbCBFdmVudCBnZXN0dXJlcyBiZWNvbWUgbm9uLWJsb2Nr
aW5nIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaCBiL1NvdXJj
ZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgKaW5kZXggODczOGQyNWQxYmNjNzA5NTg5YjI2YjJm
OTI4ZjRmOGNlZTYwYzZmOS4uMjJhNmY1YjRkNzM5OTgwMDc3MzUxNGMwZjBhNDRhMjcwYTYwNzJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAorKysgYi9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCkBAIC0xNjAsNyArMTYwLDYgQEAKICNkZWZpbmUg
RU5BQkxFX01FVEFfVklFV1BPUlQgMAogI2VuZGlmCiAKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9G
SUxFX1JFUExBQ0VNRU5UKQogI2RlZmluZSBFTkFCTEVfRklMRV9SRVBMQUNFTUVOVCAwCiAjZW5k
aWYKQEAgLTU0NSw2ICs1NDQsMTQgQEAKICNkZWZpbmUgRU5BQkxFX0ZJTEVfU0hBUkUgMQogI2Vu
ZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCWFIpCisjZGVmaW5lIEVOQUJMRV9XRUJYUiAw
CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJYUl9IQU5EUykKKyNkZWZpbmUgRU5B
QkxFX1dFQlhSX0hBTkRTIDAKKyNlbmRpZgorCiAvKgogICogRW5hYmxlIHRoaXMgdG8gcHV0IGVh
Y2ggSXNvSGVhcCBhbmQgb3RoZXIgYWxsb2NhdGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3du
IG1hbGxvYyBoZWFwcywgc28gdGhhdCB0b29scyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcg
ZWFjaCBoZWFwIGlzLgogICogVHVybiBCRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBp
biBibWFsbG9jIHRvZ2V0aGVyIHdoZW4gdXNpbmcgdGhpcy4KQEAgLTkyNSwzICs5MzIsNyBAQAog
I2lmIEVOQUJMRShQUkVERUZJTkVEX0NPTE9SX1NQQUNFX0RJU1BMQVlfUDMpICYmICFFTkFCTEUo
REVTVElOQVRJT05fQ09MT1JfU1BBQ0VfRElTUExBWV9QMykKICNlcnJvciAiRU5BQkxFKFBSRURF
RklORURfQ09MT1JfU1BBQ0VfRElTUExBWV9QMykgcmVxdWlyZXMgRU5BQkxFKERFU1RJTkFUSU9O
X0NPTE9SX1NQQUNFX0RJU1BMQVlfUDMpIgogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCWFJfSEFO
RFMpICYmICFFTkFCTEUoV0VCWFIpCisjZXJyb3IgIkVOQUJMRShXRUJYUl9IQU5EUykgcmVxdWly
ZXMgRU5BQkxFKFdFQlhSKSIKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxh
dGZvcm1FbmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
CmluZGV4IGNjNWM3ZTFlM2Y0NzU0MjY2ZDlkZmVhYjUwNzE5MGQ2M2NiOGE3ODUuLjllOTY2YzU5
OThiZjg1NzRlMmVlN2ExNjVjYjk3NjBiOTM2ZjQ4OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmgKQEAgLTYyNyw2ICs2MjcsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEK
ICNlbmRpZgogCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFC
TEVfV0VCWFJfSEFORFMgMQorI2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9T
VEFUSVNUSUNTKQogI2RlZmluZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAppbmRleCAwYWM0Mjg4MjBmYTVmODkwNGU3NjRiMTMwMmE3NGQxMDZk
MTI5Y2M3Li44MDRlOGYyNTgyYjM4OTliNGE4MDY2OTAzMmQwNzNkOGZhYmI5NDRiIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dApAQCAtMTQwNSw5ICsxNDA1LDE0IEBAIGVuZGlmICgpCiBsaXN0KEFQUEVO
RCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3Ir
V2ViWFIuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5p
ZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbAogICAgIE1vZHVs
ZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwK
KyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbAogICAgIE1v
ZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhS
SW5wdXRTb3VyY2VBcnJheS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bAorICAgIE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbAogICAgIE1vZHVsZXMvd2Vi
eHIvV2ViWFJMYXllci5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwKICAgICBN
b2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNlU3BhY2UuaWRsCkBAIC0xNDIzLDYgKzE0MjgsNyBA
QCBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJ4
ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJFeWUuaWRs
CiAgICAgTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbAorICAgIE1vZHVs
ZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUkhhbmRlZG5lc3Mu
aWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsCiAgICAgTW9kdWxl
cy93ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggOTgyZGZhNjM1ZTU2YWUyYmE5
MzU1MjE5ZDU4NmYyNzcwY2MzOWQ3Yy4uZTFlMTJjOTYwZjQ0YzM2YWVkYjFlNTNhYTI3MjAwMGNj
Mjc3OWIzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CkBAIC01ODcsOSArNTg3LDE0IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vic29j
a2V0cy9DbG9zZUV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJzb2NrZXRzL1dl
YlNvY2tldC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvTmF2aWdhdG9yK1dlYlhS
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VT
cGFjZS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZStIYW5kSW5w
dXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsCiskKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwKKyQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhy
L1dlYlhSSm9pbnRTcGFjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJM
YXllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJQb3NlLmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlkbApAQCAtNjA1
LDYgKzYxMCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVy
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2Rl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkV5ZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJJ
bnB1dFNvdXJjZUV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUklucHV0
U291cmNlc0NoYW5nZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAyNmNhZjU4NjQwNTg4ZWY1M2ZhMzQ0Yjk0MWEyYTNk
NGM0MzUyYjcyLi45MzllNjVlODYwMmMyZjQ2N2MyZGMzZGJiZGYxZTI1MmY3NzQ3NWE2IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAt
MjUyNywxMiArMjUyNywyMiBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYlNvY2tldC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViU29ja2V0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSQm91bmRlZFJlZmVy
ZW5jZVNwYWNlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV2ViWFJGcmFtZStIYW5kSW5wdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUrSGFuZElucHV0LmgKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5oCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSGFuZC5jcHAK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJIYW5k
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJ
bnB1dFNvdXJjZStIYW5kSW5wdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmgKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1
dFNvdXJjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFBvc2UuY3BwCiskKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSm9pbnRQb3Nl
LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJK
b2ludFNwYWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAtMjYzMyw2ICsyNjQzLDgg
QEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkV5ZS5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJFeWUu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1l
UmVxdWVzdENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3BwCiskKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpvaW50LmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kZWRuZXNzLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRlZG5l
c3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUklu
cHV0U291cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCA0MzE5
MWI2YmU3NDNlNzY4ZWY1NTYyYTg3YTMxODYzMThhMGNlMDYxLi4wZTAyZmMzYmIyYTI4YjYxYTk4
NjMxOWZhZmE0OTA0M2RkMThkZDM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAg
LTQ4OSw4ICs0ODksMTMgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvd2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJIYW5kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5w
dXRTb3VyY2VBcnJheS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UrSGFuZElucHV0LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhS
Sm9pbnRQb3NlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRT
cGFjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkxheWVyLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlkbCBcCkBAIC01MDYsNiAr
NTExLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJ4ci9YUkV5ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVx
dWVzdENhbGxiYWNrLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpv
aW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5p
ZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1l
K0hhbmRJbnB1dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUr
SGFuZElucHV0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZGFkMzIxMTM2MzFkNjE4YzVjMmIzM2ZmMDU4MGJk
ODhlN2Y1NzRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUkVuYWJsZWQmV2ViWFJIYW5kSW5wdXRFbmFi
bGVkLAorICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTCitdIHBhcnRpYWwgaW50ZXJmYWNlIFdl
YlhSRnJhbWUgeworICAgIFdlYlhSSm9pbnRQb3NlPyBnZXRKb2ludFBvc2UoV2ViWFJKb2ludFNw
YWNlIGpvaW50LCBXZWJYUlNwYWNlIGJhc2VTcGFjZSk7CisgICAgYm9vbGVhbiBmaWxsSm9pbnRS
YWRpaShzZXF1ZW5jZTxXZWJYUkpvaW50U3BhY2U+IGpvaW50U3BhY2VzLCBGbG9hdDMyQXJyYXkg
cmFkaWkpOworICAgIGJvb2xlYW4gZmlsbFBvc2VzKHNlcXVlbmNlPFdlYlhSU3BhY2U+IHNwYWNl
cywgV2ViWFJTcGFjZSBiYXNlU3BhY2UsIEZsb2F0MzJBcnJheSB0cmFuc2Zvcm1zKTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcAppbmRleCA3ZTdmNjlk
YzVhODU2OWI0NjM3NDFlNjcwNGQ1YWU2NjAwM2FlODU1Li43ZTM1ZDcyZDBkNzZjNzA2MmRiM2Fk
MzBmOGVlNmI5ZWEyNTUzMjIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJGcmFtZS5jcHAKQEAgLTI5LDYgKzI5LDggQEAKICNpZiBFTkFCTEUoV0VCWFIpCiAKICNpbmNs
dWRlICJXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQ
b3NlLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFNwYWNlLmgiCiAjaW5jbHVkZSAiV2ViWFJSZWZl
cmVuY2VTcGFjZS5oIgogI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5oIgogI2luY2x1ZGUgIldlYlhS
Vmlld2VyUG9zZS5oIgpAQCAtMjQyLDYgKzI0NCwzMCBAQCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBX
ZWJYUkZyYW1lOjptYXRyaXhGcm9tUG9zZShjb25zdCBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1l
RAogICAgIHJldHVybiBtYXRyaXg7CiB9CiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKy8v
IGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1pbnB1dC8jZG9tLXhy
ZnJhbWUtZ2V0am9pbnRwb3NlCitFeGNlcHRpb25PcjxSZWZQdHI8V2ViWFJKb2ludFBvc2U+PiBX
ZWJYUkZyYW1lOjpnZXRKb2ludFBvc2UoY29uc3QgV2ViWFJKb2ludFNwYWNlJiBqb2ludCwgY29u
c3QgV2ViWFJTcGFjZSYgYmFzZVNwYWNlKQoreworICAgIFVOVVNFRF9QQVJBTShqb2ludCk7Cisg
ICAgVU5VU0VEX1BBUkFNKGJhc2VTcGFjZSk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKKy8v
IGh0dHBzOi8vaW1tZXJzaXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1pbnB1dC8jZG9tLXhy
ZnJhbWUtZmlsbGpvaW50cmFkaWkKK0V4Y2VwdGlvbk9yPGJvb2w+IFdlYlhSRnJhbWU6OmZpbGxK
b2ludFJhZGlpKGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJKb2ludFNwYWNlPj4sIGNvbnN0IEZs
b2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKy8vIGh0dHBzOi8vaW1tZXJz
aXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1pbnB1dC8jZG9tLXhyZnJhbWUtZmlsbHBvc2Vz
CitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZyYW1lOjpmaWxsUG9zZXMoY29uc3QgVmVjdG9yPFJl
ZlB0cjxXZWJYUlNwYWNlPj4sIGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBGbG9hdDMyQXJyYXkm
KQoreworICAgIHJldHVybiB0cnVlOworfQorCisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQlhSKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSRnJhbWUuaAppbmRleCBmYTkwMGRjMjJmNjkxNTlmNzkyN2M3MjFjMjVkMGRjNzY0
MDkwNzZjLi5iYmFhMmNkZDhlOWZjYjhlZjA2NGQ1NDc0ODEyNDRkOWQ0MTIzOGY2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaApAQCAtMzAsNiArMzAsNyBAQAog
I2luY2x1ZGUgIkRPTUhpZ2hSZXNUaW1lU3RhbXAuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Pci5o
IgogI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GbG9h
dDMyQXJyYXkuaD4KICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CiAjaW5jbHVkZSA8d3RmL1Jl
Zi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CkBAIC0zOCw2ICszOSw4IEBACiBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50OworY2xhc3MgV2ViWFJKb2ludFBvc2U7
CitjbGFzcyBXZWJYUkpvaW50U3BhY2U7CiBjbGFzcyBXZWJYUlBvc2U7CiBjbGFzcyBXZWJYUlJl
ZmVyZW5jZVNwYWNlOwogY2xhc3MgV2ViWFJTZXNzaW9uOwpAQCAtNTYsNiArNTksMTIgQEAgcHVi
bGljOgogICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUlZpZXdlclBvc2U+PiBnZXRWaWV3ZXJQ
b3NlKGNvbnN0IERvY3VtZW50JiwgY29uc3QgV2ViWFJSZWZlcmVuY2VTcGFjZSYpOwogICAgIEV4
Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUlBvc2U+PiBnZXRQb3NlKGNvbnN0IERvY3VtZW50JiwgY29u
c3QgV2ViWFJTcGFjZSYsIGNvbnN0IFdlYlhSU3BhY2UmKTsKIAorI2lmIEVOQUJMRShXRUJYUl9I
QU5EUykKKyAgICBFeGNlcHRpb25PcjxSZWZQdHI8V2ViWFJKb2ludFBvc2U+PiBnZXRKb2ludFBv
c2UoY29uc3QgV2ViWFJKb2ludFNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOworICAgIEV4Y2Vw
dGlvbk9yPGJvb2w+IGZpbGxKb2ludFJhZGlpKGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJKb2lu
dFNwYWNlPj4sIGNvbnN0IEZsb2F0MzJBcnJheSYpOworICAgIEV4Y2VwdGlvbk9yPGJvb2w+IGZp
bGxQb3Nlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3BhY2U+PiwgY29uc3QgV2ViWFJTcGFj
ZSYsIGNvbnN0IEZsb2F0MzJBcnJheSYpOworI2VuZGlmCisKICAgICB2b2lkIHNldFRpbWUoRE9N
SGlnaFJlc1RpbWVTdGFtcCB0aW1lKSB7IG1fdGltZSA9IHRpbWU7IH0KIAogICAgIHZvaWQgc2V0
QWN0aXZlKGJvb2wgYWN0aXZlKSB7IG1fYWN0aXZlID0gYWN0aXZlOyB9CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzg0M2Y2MmM5NjNlNzZj
MTI0YmI3NjZiNjljY2VmN2Q1YjkwOWM1OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcApAQCAtMCwwICsxLDY5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJYUkhhbmQuaCIKKworI2lm
IEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSA8d3RmL0lz
b01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09f
QUxMT0NBVEVEX0lNUEwoV2ViWFJIYW5kKTsKKworUmVmPFdlYlhSSGFuZD4gV2ViWFJIYW5kOjpj
cmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJIYW5kKGRvY3VtZW50LCBzZXNzaW9uKSk7Cit9CisK
K1dlYlhSSGFuZDo6V2ViWFJIYW5kKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJikKK3sKK30KKwor
V2ViWFJIYW5kOjp+V2ViWFJIYW5kKCkgPSBkZWZhdWx0OworCitSZWZQdHI8V2ViWFJKb2ludFNw
YWNlPiBXZWJYUkhhbmQ6OmdldChjb25zdCBYUkhhbmRKb2ludCYga2V5KQoreworICAgIFVOVVNF
RF9QQVJBTShrZXkpOworICAgIHJldHVybiBudWxscHRyOworfQorCitXZWJYUkhhbmQ6Okl0ZXJh
dG9yOjpJdGVyYXRvcihXZWJYUkhhbmQmIGhhbmQpCisgICAgOiBtX2hhbmQoaGFuZCkKK3sKK30K
Kworc3RkOjpvcHRpb25hbDxXVEY6OktleVZhbHVlUGFpcjxYUkhhbmRKb2ludCwgUmVmUHRyPFdl
YlhSSm9pbnRTcGFjZT4+PiBXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpuZXh0KCkKK3sKKyAgICBpZiAo
bV9pbmRleCA+IG1faGFuZC0+bV9qb2ludHMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gc3RkOjpu
dWxsb3B0OworCisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworfQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxNjY4NTYw
ZWJkZThjNTQ4MDVlNjJmYmVlMmUyYTFjNzBkYjQ5OTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCkBAIC0wLDAgKzEsNzMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShX
RUJYUl9IQU5EUykKKworI2luY2x1ZGUgIkRvY3VtZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1Y
Ui5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lv
bi5oIgorI2luY2x1ZGUgIlhSSGFuZEpvaW50LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5o
PgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBXZWJY
UkhhbmQgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUkhhbmQ+IHsKKyAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFdlYlhSSGFuZCk7CitwdWJsaWM6CisKKyAgICBzdGF0aWMgUmVmPFdlYlhSSGFu
ZD4gY3JlYXRlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisgICAgfldlYlhSSGFuZCgpOwor
CisgICAgdW5zaWduZWQgbG9uZyBzaXplKCkgeyByZXR1cm4gbV9zaXplOyB9CisKKyAgICBSZWZQ
dHI8V2ViWFJKb2ludFNwYWNlPiBnZXQoY29uc3QgWFJIYW5kSm9pbnQmIGtleSk7CisKKyAgICBj
bGFzcyBJdGVyYXRvciB7CisgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBJdGVyYXRvcihX
ZWJYUkhhbmQmKTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxXVEY6OktleVZhbHVlUGFpcjxYUkhh
bmRKb2ludCwgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+PiBuZXh0KCk7CisKKyAgICBwcml2YXRl
OgorICAgICAgICBSZWY8V2ViWFJIYW5kPiBtX2hhbmQ7CisgICAgICAgIHNpemVfdCBtX2luZGV4
IHsgMCB9OworICAgIH07CisgICAgSXRlcmF0b3IgY3JlYXRlSXRlcmF0b3IoKSB7IHJldHVybiBJ
dGVyYXRvcigqdGhpcyk7IH0KKworcHJpdmF0ZToKKyAgICBXZWJYUkhhbmQoRG9jdW1lbnQmLCBX
ZWJYUlNlc3Npb24mKTsKKworICAgIHVuc2lnbmVkIGxvbmcgbV9zaXplIHsgMCB9OworICAgIHVz
aW5nIEhhbmRKb2ludFRvU3BhY2VNYXAgPSBIYXNoTWFwPFhSSGFuZEpvaW50LCBSZWY8V2ViWFJK
b2ludFNwYWNlPiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6OlVuc2lnbmVkV2l0aFplcm9L
ZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj47CisgICAgSGFuZEpvaW50VG9TcGFjZU1hcCBtX2pvaW50
czsKK307CisKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUkhhbmQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhh
bmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmNjMDBmZmMyMTlkOGI4NTM5ZDczNjBjZWZkMGRkNjY1ZDZlNGVm
ZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
SGFuZC5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1XZWJYUkVuYWJsZWQmV2ViWFJIYW5kSW5wdXRFbmFibGVkLAorICAgIENvbmRpdGlv
bmFsPVdFQlhSX0hBTkRTLAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3cs
CisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhSSGFu
ZAorXSBpbnRlcmZhY2UgV2ViWFJIYW5kIHsKKyAgICBpdGVyYWJsZTxYUkhhbmRKb2ludCwgV2Vi
WFJKb2ludFNwYWNlPjsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNp
emU7CisgICAgV2ViWFJKb2ludFNwYWNlIGdldChYUkhhbmRKb2ludCBrZXkpOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5k
SW5wdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
K0hhbmRJbnB1dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjQyMWRhOTE1MjBjMDVjYWFkZGQzNTk2NTU2MmMz
YzViZjI3NGIxZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElu
cHV0RW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0aWFsIGludGVy
ZmFjZSBXZWJYUklucHV0U291cmNlIHsKKyAgICAvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0
aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2UtaW50ZXJmYWNlCisgICAgW1Nh
bWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUkhhbmQ/IGhhbmQ7Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAppbmRleCA4OGZh
NTJmNWQ4ODBkZDQ2NDcwNzI1YTgxZTNkZTkxZWY5YjM0MTE3Li41ZmJmOWI4MzExNTI2OGE1YjNl
ODEyZmI2NzQyMjE5NjFiZjlhNzA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSSW5wdXRTb3VyY2UuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0zOSw2ICs0MCwxMCBAQAogI2luY2x1ZGUgPHd0Zi9WZWN0b3Iu
aD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAorI2lmIEVOQUJMRShXRUJYUl9I
QU5EUykKKyNpbmNsdWRlICJXZWJYUkhhbmQuaCIKKyNlbmRpZgorCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICNpZiBFTkFCTEUoR0FNRVBBRCkKQEAgLTY3LDEwICs3MiwxNCBAQCBwdWJsaWM6CiAg
ICAgY29uc3QgR2FtZXBhZCogZ2FtZXBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2FtZXBhZC5wdHIo
KTsgfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgY29uc3QgV2ViWFJI
YW5kKiBoYW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kLmdldCgpOyB9CisjZW5kaWYKKwogICAg
IHZvaWQgdXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGNvbnN0IElucHV0U291cmNlJik7CiAgICAg
Ym9vbCByZXF1aXJlc0lucHV0U291cmNlQ2hhbmdlKGNvbnN0IElucHV0U291cmNlJik7CiAgICAg
dm9pZCBkaXNjb25uZWN0KCk7Ci0gICAgCisKICAgICB2b2lkIHBvbGxFdmVudHMoVmVjdG9yPFJl
ZjxYUklucHV0U291cmNlRXZlbnQ+PiYpOwogCiAgICAgLy8gRm9yIEdDIHJlYWNoYWJsaXRpeS4K
QEAgLTg5LDYgKzk4LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPEdhbWVwYWQ+IG1fZ2FtZXBhZDsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIFJlZlB0cjxXZWJYUkhhbmQ+
IG1faGFuZDsKKyNlbmRpZgorCiAgICAgYm9vbCBtX3NlbGVjdFN0YXJ0ZWQgeyBmYWxzZSB9Owog
ICAgIGJvb2wgbV9zcXVlZXplU3RhcnRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yjc4M2Iw
YzY2YmNkZDc1OTY5MDk4YTEyZTFkYTI3Yjc3MTIxYTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKQEAgLTAsMCArMSw0
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViWFJK
b2ludFBvc2UuaCIKKworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQor
CisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJKb2ludFBvc2UpOworCitSZWY8
V2ViWFJKb2ludFBvc2U+IFdlYlhSSm9pbnRQb3NlOjpjcmVhdGUoUmVmPFdlYlhSUmlnaWRUcmFu
c2Zvcm0+JiYgdHJhbnNmb3JtLCBib29sIGVtdWxhdGVkUG9zaXRpb24pCit7CisgICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFBvc2UoV1RGTW92ZSh0cmFuc2Zvcm0pLCBlbXVsYXRl
ZFBvc2l0aW9uKSk7Cit9CisKK1dlYlhSSm9pbnRQb3NlOjpXZWJYUkpvaW50UG9zZShSZWY8V2Vi
WFJSaWdpZFRyYW5zZm9ybT4mJiB0cmFuc2Zvcm0sIGJvb2wgZW11bGF0ZWRQb3NpdGlvbikKKyAg
ICA6IFdlYlhSUG9zZShXVEZNb3ZlKHRyYW5zZm9ybSksIGVtdWxhdGVkUG9zaXRpb24pCit7Cit9
CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSSm9pbnRQb3NlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9p
bnRQb3NlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWQ3Yzc0MWEzYWE2NGE1Zjk4NTk4NWVjYWQ3ZTI4ZmZlYTc2
ODk5ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJKb2ludFBvc2UuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRl
ICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSAiV2ViWFJQb3NlLmgiCisjaW5jbHVkZSAiV2ViWFJS
aWdpZFRyYW5zZm9ybS5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5oIgorI2luY2x1ZGUgPHd0
Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgV2ViWFJKb2ludFBvc2UgOiBwdWJsaWMgV2ViWFJQb3NlIHsKKyAgICBXVEZf
TUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRQb3NlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMg
UmVmPFdlYlhSSm9pbnRQb3NlPiBjcmVhdGUoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIGJv
b2wgZW11bGF0ZWRQb3NpdGlvbik7CisgICAgfldlYlhSSm9pbnRQb3NlKCkgPSBkZWZhdWx0Owor
CisgICAgZmxvYXQgcmFkaXVzKCkgY29uc3QgeyByZXR1cm4gbV9yYWRpdXM7IH0KKworcHJpdmF0
ZToKKyAgICBXZWJYUkpvaW50UG9zZShSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4mJiwgYm9vbCBl
bXVsYXRlZFBvc2l0aW9uKTsKKworICAgIGZsb2F0IG1fcmFkaXVzIHsgMCB9OworfTsKKworfQor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJK
b2ludFBvc2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9z
ZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uMDIzNGE3Yzc3ODQxOWE5MDI0ZTFjMjdhMTI4MjdhNGU5OGJjZjJm
NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJK
b2ludFBvc2UuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0RW5hYmxlZCwKKyAgICBDb25k
aXRpb25hbD1XRUJYUl9IQU5EUywKKyAgICBTZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9V2lu
ZG93LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgSW50ZXJmYWNlTmFtZT1Y
UkpvaW50UG9zZQorXSBpbnRlcmZhY2UgV2ViWFJKb2ludFBvc2UgOiBXZWJYUlBvc2UgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4MmE3Zjdj
YTEzYTBlMzVkM2Y3MTJmOTBhNDQ3MzBhNTNiY2Q5MzAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKQEAgLTAsMCArMSw1
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViWFJK
b2ludFNwYWNlLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykK
KworI2luY2x1ZGUgIldlYlhSUmlnaWRUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChXZWJYUkpvaW50U3BhY2UpOworCitSZWY8V2ViWFJKb2ludFNwYWNlPiBXZWJY
UkpvaW50U3BhY2U6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlhSU2Vzc2lvbiYgc2Vz
c2lvbikKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBXZWJYUkpvaW50U3BhY2UoZG9jdW1l
bnQsIHNlc3Npb24pKTsKK30KKworV2ViWFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UoRG9j
dW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24pCisgICAgOiBXZWJYUlNwYWNl
KGRvY3VtZW50LCBXZWJYUlJpZ2lkVHJhbnNmb3JtOjpjcmVhdGUoKSkKKyAgICAsIG1fc2Vzc2lv
bihzZXNzaW9uKQoreworfQorCitXZWJYUkpvaW50U3BhY2U6On5XZWJYUkpvaW50U3BhY2UoKSA9
IGRlZmF1bHQ7CisKK1RyYW5zZm9ybWF0aW9uTWF0cml4IFdlYlhSSm9pbnRTcGFjZTo6bmF0aXZl
T3JpZ2luKCkgY29uc3QKK3sKKyAgICByZXR1cm4geyB9OworfQorCit9CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uOGRhZmRmODVjMDVkMjAyYjBjMTY2ZTMxMzQ0ZTlhYmVmZDQyYzdmNAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmgKQEAg
LTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShX
RUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNp
bmNsdWRlICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSAiV2ViWFJTZXNzaW9uLmgiCisjaW5jbHVk
ZSAiV2ViWFJTcGFjZS5oIgorI2luY2x1ZGUgIlhSSGFuZEpvaW50LmgiCisjaW5jbHVkZSA8d3Rm
L0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291
bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBXZWJYUkpvaW50U3BhY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUkpvaW50U3Bh
Y2U+LCBwdWJsaWMgV2ViWFJTcGFjZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJY
UkpvaW50U3BhY2UpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViWFJKb2ludFNwYWNlPiBj
cmVhdGUoRG9jdW1lbnQmLCBXZWJYUlNlc3Npb24mKTsKKyAgICB2aXJ0dWFsIH5XZWJYUkpvaW50
U3BhY2UoKTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ8V2ViWFJKb2ludFNwYWNlPjo6cmVmOwor
ICAgIHVzaW5nIFJlZkNvdW50ZWQ8V2ViWFJKb2ludFNwYWNlPjo6ZGVyZWY7CisKKyAgICBYUkhh
bmRKb2ludCBqb2ludE5hbWUoKSBjb25zdCB7IHJldHVybiBYUkhhbmRKb2ludDo6V3Jpc3Q7IH0K
KworcHJpdmF0ZToKKyAgICBXZWJYUkpvaW50U3BhY2UoRG9jdW1lbnQmLCBXZWJYUlNlc3Npb24m
KTsKKworICAgIFdlYlhSU2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1f
c2Vzc2lvbi5nZXQoKTsgfQorICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4IG5hdGl2ZU9yaWdpbigp
IGNvbnN0IGZpbmFsOworCisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7
IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAg
IGJvb2wgaXNKb2ludFNwYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAg
UmVmPFdlYlhSU2Vzc2lvbj4gbV9zZXNzaW9uOworfTsKKworfQorCitTUEVDSUFMSVpFX1RZUEVf
VFJBSVRTX1dFQlhSU1BBQ0UoV2ViWFJKb2ludFNwYWNlLCBpc0pvaW50U3BhY2UoKSkKKworI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRT
cGFjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjYzYjA4OTM2ZTgyODcxZDk5OWMzYzBmMzY3ZjQ3MTAwNDBhMzczZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFNwYWNlLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVk
QnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJYUkhhbmRJbnB1dEVuYWJsZWQsCisgICAgQ29uZGl0
aW9uYWw9V0VCWFJfSEFORFMsCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIFNl
Y3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW50ZXJmYWNlTmFtZT1YUkpv
aW50U3BhY2UKK10gaW50ZXJmYWNlIFdlYlhSSm9pbnRTcGFjZSA6IFdlYlhSU3BhY2UgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBYUkhhbmRKb2ludCBqb2ludE5hbWU7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3BhY2UuaAppbmRleCBkOGY4OGVhNThiOTU4NDUxOGQ0
NzY1NDBlZGM4ZGRkYjE5Njc5ZGI0Li4zZjRhYTliZmI2ODIyMjI3M2JjZjBkNzA2MTVjNWQ2OGRj
NzEwYzEwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3Bh
Y2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3BhY2UuaApAQCAt
NTEsNiArNTEsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgaXNSZWZlcmVuY2VTcGFj
ZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmlydHVhbCBib29sIGlzQm91bmRlZFJl
ZmVyZW5jZVNwYWNlKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KKyNpZiBFTkFCTEUoV0VCWFJf
SEFORFMpCisgICAgdmlydHVhbCBib29sIGlzSm9pbnRTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CisjZW5kaWYKIAogcHJvdGVjdGVkOgogICAgIFdlYlhSU3BhY2UoRG9jdW1lbnQmLCBS
ZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1hSSGFuZEpvaW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDIxMTAzODhiYWU4N2I1NzUyODU4ZjYzNjEzNjIy
NGQyOWQ0N2E3MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvWFJIYW5kSm9pbnQuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKwordXNpbmcgWFJIYW5kSm9pbnQgPSBQbGF0Zm9ybVhSOjpIYW5kSm9p
bnQ7CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1hSSGFuZEpvaW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5k
Sm9pbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlOGQ5ZGNmMjUzMTkwYTA0ZDcwM2IwNmI5NDJkM2U3ZTEy
N2Y1MzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hS
SGFuZEpvaW50LmlkbApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25k
aXRpb25hbD1XRUJYUl9IQU5EUywKKyAgICBFeHBvcnRNYWNybz1XRUJDT1JFX0VYUE9SVAorXSBl
bnVtIFhSSGFuZEpvaW50IHsKKyAgICAid3Jpc3QiLAorCisgICAgInRodW1iLW1ldGFjYXJwYWwi
LAorICAgICJ0aHVtYi1waGFsYW54LXByb3hpbWFsIiwKKyAgICAidGh1bWItcGhhbGFueC1kaXN0
YWwiLAorICAgICJ0aHVtYi10aXAiLAorCisgICAgImluZGV4LWZpbmdlci1tZXRhY2FycGFsIiwK
KyAgICAiaW5kZXgtZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAorICAgICJpbmRleC1maW5nZXIt
cGhhbGFueC1pbnRlcm1lZGlhdGUiLAorICAgICJpbmRleC1maW5nZXItcGhhbGFueC1kaXN0YWwi
LAorICAgICJpbmRleC1maW5nZXItdGlwIiwKKworICAgICJtaWRkbGUtZmluZ2VyLW1ldGFjYXJw
YWwiLAorICAgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAorICAgICJtaWRkbGUt
ZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgICAibWlkZGxlLWZpbmdlci1waGFsYW54
LWRpc3RhbCIsCisgICAgIm1pZGRsZS1maW5nZXItdGlwIiwKKworICAgICJyaW5nLWZpbmdlci1t
ZXRhY2FycGFsIiwKKyAgICAicmluZy1maW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICAgInJp
bmctZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgICAicmluZy1maW5nZXItcGhhbGFu
eC1kaXN0YWwiLAorICAgICJyaW5nLWZpbmdlci10aXAiLAorCisgICAgInBpbmt5LWZpbmdlci1t
ZXRhY2FycGFsIiwKKyAgICAicGlua3ktZmluZ2VyLXBoYWxhbngtcHJveGltYWwiLAorICAgICJw
aW5reS1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlhdGUiLAorICAgICJwaW5reS1maW5nZXItcGhh
bGFueC1kaXN0YWwiLAorICAgICJwaW5reS1maW5nZXItdGlwIgorfTsKKwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApp
bmRleCBkNGVhZWRlZjFlYTUxZGU4YjExMTZkMjA4N2YyYzQwZjQ1MTFiZTc1Li42NmJmNGVlMzU3
OTJlZTRhNGQ2MWRmNzEyY2MxMjYxMzNhNjI1ZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzU3LDkg
KzM1NywxMiBAQCBNb2R1bGVzL3dlYnhyL05hdmlnYXRvcldlYlhSLmNwcAogTW9kdWxlcy93ZWJ4
ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFt
ZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJHYW1lcGFkLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJY
UkhhbmQuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCiBNb2R1bGVzL3dl
YnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNw
YWNlLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKK01vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkxheWVyLmNwcAogTW9kdWxl
cy93ZWJ4ci9XZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUlBv
c2UuY3BwCkBAIC0zNzcxLDggKzM3NzQsMTEgQEAgSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3Bw
CiBKU1dlYlNvY2tldC5jcHAKIEpTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiBKU1dl
YlhSRnJhbWUuY3BwCitKU1dlYlhSSGFuZC5jcHAKIEpTV2ViWFJJbnB1dFNvdXJjZS5jcHAKIEpT
V2ViWFJJbnB1dFNvdXJjZUFycmF5LmNwcAorSlNXZWJYUkpvaW50UG9zZS5jcHAKK0pTV2ViWFJK
b2ludFNwYWNlLmNwcAogSlNXZWJYUkxheWVyLmNwcAogSlNXZWJYUlBvc2UuY3BwCiBKU1dlYlhS
UmVmZXJlbmNlU3BhY2UuY3BwCkBAIC0zODE0LDYgKzM4MjAsNyBAQCBKU1hQYXRoUmVzdWx0LmNw
cAogSlNYUkVudmlyb25tZW50QmxlbmRNb2RlLmNwcAogSlNYUkV5ZS5jcHAKIEpTWFJGcmFtZVJl
cXVlc3RDYWxsYmFjay5jcHAKK0pTWFJIYW5kSm9pbnQuY3BwCiBKU1hSSGFuZGVkbmVzcy5jcHAK
IEpTWFJJbnB1dFNvdXJjZUV2ZW50LmNwcAogSlNYUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IGVkNjUwYWU2NmNhZTU5NDg5M2NjNGFjM2JkMGI4MWRiNjlhOWQyYzEuLjhkMmQwZjk3
MTM3ZjU1NDNhMGVhNDU2OTZlMjEyN2Y0ODhiZGUwMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwMDYsNiArMTAwNiwxMCBA
QAogCQkzMUMwRkYyNTBFNENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYxRjBF
NENFQjZFMDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBG
RjNFMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYzQTBFNENFRkFDMDA3
RDZGRTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0MDBFNENF
RkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjNDMEU0Q0VGQUMwMDdENkZFNSAv
KiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OworCQkzMUQ5MkE5RjI3MDdENURFMDBB
RDAxRDAgLyogWFJIYW5kSm9pbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICov
OyB9OworCQkzMUQ5MkFBMzI3MDdENjk2MDBBRDAxRDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFBMTI3MDdENjhEMDBB
RDAxRDAgLyogV2ViWFJIYW5kLmggKi87IH07CisJCTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAv
KiBXZWJYUkpvaW50U3BhY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAq
LzsgfTsKKwkJMzFEOTJBQUIyNzA4RDIwMTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFBODI3MDhE
MUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLzsgfTsKIAkJMzFERUE0NTYxQjM5RjRE
OTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxREVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBX
ZWJTeXN0ZW1CYWNrZHJvcExheWVyLmggKi87IH07CiAJCTMxRUFGOTdFMTIxNDM1QTQwMEU3QzFC
RiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUFGOTdDMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rp
b25DbGllbnRJT1MuaCAqLzsgfTsKIAkJMzFFQjU0REYxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0
cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUVCNTRERDFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2
ZXJEaXJlY3Rpb24uaCAqLzsgfTsKQEAgLTc3MjMsNiArNzcyNywxOSBAQAogCQkzMUQyNkJDNDFG
ODZEMjY2MDA4RkYyNTUgLyogSlNJbWFnZUJpdG1hcE9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZUJpdG1hcE9wdGlvbnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQyNkJDNTFGODZEMjY4MDA4RkYyNTUgLyogSlNJbWFn
ZUJpdG1hcE9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNJbWFn
ZUJpdG1hcE9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFEMjZCQzYx
Rjg2RDI2OTAwOEZGMjU1IC8qIEpTSW1hZ2VCaXRtYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNJbWFnZUJpdG1hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBYUkhhbmRKb2ludC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkz
MUQ5MkE5RTI3MDdENUQxMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFhSSGFuZEpv
aW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTAyNzA3RDY4RDAw
QUQwMUQwIC8qIFdlYlhSSGFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJYUkhhbmQuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAg
LyogV2ViWFJIYW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSGFuZC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUQ5MkFBMjI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBXZWJYUkhhbmQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5
MkFBNDI3MDdFODNBMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJYUkpv
aW50U3BhY2UuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBNTI3MDdF
OEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSm9p
bnRTcGFjZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBNjI3MDdFOTUx
MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhS
Sm9pbnRTcGFjZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE4Mjcw
OEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJYUkpv
aW50UG9zZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBOTI3MDhEMUZC
MDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQUEyNzA4RDFGQjAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRQb3NlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBRDcyNzBCNTQ3ODAwQUQwMUQw
IC8qIFdlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiV2ViWFJJbnB1dFNvdXJj
ZStIYW5kSW5wdXQuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBRDky
NzBCNTQ4NTAwQUQwMUQwIC8qIFdlYlhSRnJhbWUrSGFuZElucHV0LmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSAiV2ViWFJG
cmFtZStIYW5kSW5wdXQuaWRsIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFERUE0
NTMxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzgg
LyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTMxRUFGOTdDMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGV2aWNlTW90aW9uQ2xpZW50SU9TLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yOTAzMiwxMSArMjkwNDksMTYgQEAKIAkJ
CQlFMUVFOEFEMzI0MTJCMTcwMDBFNzk0RDYgLyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2Uu
Y3BwICovLAogCQkJCUUxRUU4QUQxMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUkJvdW5kZWRSZWZl
cmVuY2VTcGFjZS5oICovLAogCQkJCUUxOTQ5MDk0MjQzNEYxNjAwMDQxNkE5OSAvKiBXZWJYUkJv
dW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwgKi8sCisJCQkJMzFEOTJBRDkyNzBCNTQ4NTAwQUQwMUQw
IC8qIFdlYlhSRnJhbWUrSGFuZElucHV0LmlkbCAqLywKIAkJCQlFMUVFOEFGMDI0MTJCMTcwMDBF
Nzk0RDYgLyogV2ViWFJGcmFtZS5jcHAgKi8sCiAJCQkJRTFFRThBRTMyNDEyQjE3MDAwRTc5NEQ2
IC8qIFdlYlhSRnJhbWUuaCAqLywKIAkJCQlFMTk0OTA4ODI0MzRGMTU5MDA0MTZBOTkgLyogV2Vi
WFJGcmFtZS5pZGwgKi8sCiAJCQkJMTFFNTE2M0IyNjFFMUExNDAwRTY5RjI1IC8qIFdlYlhSR2Ft
ZXBhZC5jcHAgKi8sCiAJCQkJMTFFNTE2M0EyNjFFMUExNDAwRTY5RjI1IC8qIFdlYlhSR2FtZXBh
ZC5oICovLAorCQkJCTMxRDkyQUEwMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuY3BwICov
LAorCQkJCTMxRDkyQUExMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCAqLywKKwkJCQkz
MUQ5MkFBMjI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmlkbCAqLywKKwkJCQkzMUQ5MkFE
NzI3MEI1NDc4MDBBRDAxRDAgLyogV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsICovLAog
CQkJCUUxRUU4QjBEMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlLmNwcCAqLywK
IAkJCQlFMUVFOEIxNzI0MTJCMTcwMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZS5oICovLAog
CQkJCUUxOTQ5MDg5MjQzNEYxNUEwMDQxNkE5OSAvKiBXZWJYUklucHV0U291cmNlLmlkbCAqLywK
QEAgLTI5MDQ1LDYgKzI5MDY3LDEyIEBACiAJCQkJRTE5NDkwOTMyNDM0RjE2MDAwNDE2QTk5IC8q
IFdlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwgKi8sCiAJCQkJMTFFNTE2MzcyNjFFMUEwNTAwRTY5
RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5jcHAgKi8sCiAJCQkJMTFFNTE2MzUyNjFFMUEwNTAwRTY5
RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5oICovLAorCQkJCTMxRDkyQUFBMjcwOEQxRkIwMEFEMDFE
MCAvKiBXZWJYUkpvaW50UG9zZS5jcHAgKi8sCisJCQkJMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQw
IC8qIFdlYlhSSm9pbnRQb3NlLmggKi8sCisJCQkJMzFEOTJBQTkyNzA4RDFGQjAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRQb3NlLmlkbCAqLywKKwkJCQkzMUQ5MkFBNjI3MDdFOTUxMDBBRDAxRDAgLyog
V2ViWFJKb2ludFNwYWNlLmNwcCAqLywKKwkJCQkzMUQ5MkFBNTI3MDdFOEIzMDBBRDAxRDAgLyog
V2ViWFJKb2ludFNwYWNlLmggKi8sCisJCQkJMzFEOTJBQTQyNzA3RTgzQTAwQUQwMUQwIC8qIFdl
YlhSSm9pbnRTcGFjZS5pZGwgKi8sCiAJCQkJRTEyRkRBRkIyNEEwRkQxQzAwNzAyMzZFIC8qIFdl
YlhSTGF5ZXIuY3BwICovLAogCQkJCUUxMkZEQUZEMjRBMEZEMUUwMDcwMjM2RSAvKiBXZWJYUkxh
eWVyLmggKi8sCiAJCQkJRTEyRkRBRkUyNEEwRkQxRjAwNzAyMzZFIC8qIFdlYlhSTGF5ZXIuaWRs
ICovLApAQCAtMjkwOTEsNiArMjkxMTksOCBAQAogCQkJCUUxRUU4QUZCMjQxMkIxNzAwMEU3OTRE
NiAvKiBYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbCAqLywKIAkJCQlFMUVFOEFFRTI0MTJCMTcw
MDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmggKi8sCiAJCQkJRTFFRThCMDcyNDEyQjE3MDAwRTc5
NEQ2IC8qIFhSSGFuZGVkbmVzcy5pZGwgKi8sCisJCQkJMzFEOTJBOUMyNzA3RDVEMDAwQUQwMUQw
IC8qIFhSSGFuZEpvaW50LmggKi8sCisJCQkJMzFEOTJBOUUyNzA3RDVEMTAwQUQwMUQwIC8qIFhS
SGFuZEpvaW50LmlkbCAqLywKIAkJCQlFMUVFOEFDQzI0MTJCMTcwMDBFNzk0RDYgLyogWFJJbnB1
dFNvdXJjZUV2ZW50LmNwcCAqLywKIAkJCQlFMUVFOEIwOTI0MTJCMTcwMDBFNzk0RDYgLyogWFJJ
bnB1dFNvdXJjZUV2ZW50LmggKi8sCiAJCQkJRTFFRThCMDAyNDEyQjE3MDAwRTc5NEQ2IC8qIFhS
SW5wdXRTb3VyY2VFdmVudC5pZGwgKi8sCkBAIC0zNTk1OSw5ICszNTk4OSwxMiBAQAogCQkJCUUx
RUU4QjdFMjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEEyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSRnJhbWUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTExRTUxNjNDMjYxRTFBMTUwMEU2OUYyNSAvKiBXZWJYUkdh
bWVwYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUEzMjcwN0Q2OTYwMEFEMDFEMCAvKiBX
ZWJYUkhhbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QkE4MjQxMzE5NjMwMEU3OTRENiAv
KiBXZWJYUklucHV0U291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4NjI0MTMxOTFG
MDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZUFycmF5LmggaW4gSGVhZGVycyAqLywKIAkJCQkx
MUU1MTYzODI2MUUxQTA2MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmggaW4gSGVhZGVycyAq
LywKKwkJCQkzMUQ5MkFBQjI3MDhEMjAxMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3Bh
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkZEQjAwMjRBMEZEMjAwMDcwMjM2RSAvKiBXZWJY
UkxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTRGMTY5RjI2NDBCQzQxMDA2NjNFQ0UgLyog
V2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCODgyNDEz
MTkxRjAwRTc5NEQ2IC8qIFdlYlhSUG9zZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNjA4Miw2ICsz
NjExNSw3IEBACiAJCQkJRTFFRThCOTcyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSRXllLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUVFOEI4RjI0MTMxOTUwMDBFNzk0RDYgLyogWFJGcmFtZVJlcXVlc3RD
YWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOTIyNDEzMTk1MDAwRTc5NEQ2IC8q
IFhSSGFuZGVkbmVzcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBOUYyNzA3RDVERTAwQUQw
MUQwIC8qIFhSSGFuZEpvaW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI5RjI0MTMxOTUw
MDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVF
OEI5OTI0MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTEyQTlGNEEyNDhBOTlFMjAwM0YwNkM4IC8qIFhSSW50ZXJhY3Rpb25N
b2RlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCBlODM1ZGY3ZmYwYjIyMGRlYmEwNThmZDNhODRkZjVk
MmMyNTEzOTVjLi4xNGQ0ZDQ0ODg2MTQ0OTY2Mzg1NmQ4YzA2ZmJkNjEyZGFiM2EwNjUxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBA
IC0zMDUsMTAgKzMwNSwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oWE1MSHR0
cFJlcXVlc3QpIFwKICAgICBtYWNybyhYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZSkgXAogICAgIG1h
Y3JvKFhSRnJhbWUpIFwKKyAgICBtYWNybyhYUkhhbmQpIFwKICAgICBtYWNybyhYUklucHV0U291
cmNlKSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZUFycmF5KSBcCiAgICAgbWFjcm8oWFJJbnB1
dFNvdXJjZUV2ZW50KSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCkgXAor
ICAgIG1hY3JvKFhSSm9pbnRQb3NlKSBcCisgICAgbWFjcm8oWFJKb2ludFNwYWNlKSBcCiAgICAg
bWFjcm8oWFJMYXllcikgXAogICAgIG1hY3JvKFhSUG9zZSkgXAogICAgIG1hY3JvKFhSUmVmZXJl
bmNlU3BhY2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRm
b3JtWFIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaAppbmRleCBm
YzI0ZjhhNGY2MWY4MTM0OGRhNjY0YTEwZGFkNDgwYTdlYzI5MzI4Li4zNjRiOTNjNTgxOTkyMzlj
MzE3ZTkxZGZkYTg1NDk0ZDNmMDkwODQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS94ci9QbGF0Zm9ybVhSLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvUGxh
dGZvcm1YUi5oCkBAIC03OCw2ICs3OCwzOCBAQCBlbnVtIGNsYXNzIFhSVGFyZ2V0UmF5TW9kZSB7
CiAgICAgU2NyZWVuLAogfTsKIAorI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKworZW51bSBjbGFz
cyBIYW5kSm9pbnQgOiB1bnNpZ25lZCB7CisgICAgV3Jpc3QsCisgICAgVGh1bWJNZXRhY2FycGFs
LAorICAgIFRodW1iUGhhbGFueFByb3hpbWFsLAorICAgIFRodW1iUGhhbGFueERpc3RhbCwKKyAg
ICBUaHVtYlRpcCwKKyAgICBJbmRleEZpbmdlck1ldGFjYXJwYWwsCisgICAgSW5kZXhGaW5nZXJQ
aGFsYW54UHJveGltYWwsCisgICAgSW5kZXhGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAg
IEluZGV4RmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBJbmRleEZpbmdlclRpcCwKKyAgICBNaWRk
bGVGaW5nZXJNZXRhY2FycGFsLAorICAgIE1pZGRsZUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAg
ICBNaWRkbGVGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIE1pZGRsZUZpbmdlclBoYWxh
bnhEaXN0YWwsCisgICAgTWlkZGxlRmluZ2VyVGlwLAorICAgIFJpbmdGaW5nZXJNZXRhY2FycGFs
LAorICAgIFJpbmdGaW5nZXJQaGFsYW54UHJveGltYWwsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhJ
bnRlcm1lZGlhdGUsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgUmluZ0Zpbmdl
clRpcCwKKyAgICBQaW5reUZpbmdlck1ldGFjYXJwYWwsCisgICAgUGlua3lGaW5nZXJQaGFsYW54
UHJveGltYWwsCisgICAgUGlua3lGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIFBpbmt5
RmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBQaW5reUZpbmdlclRpcAorfTsKKworI2VuZGlmCisK
IGNsYXNzIFRyYWNraW5nQW5kUmVuZGVyaW5nQ2xpZW50OwogCiBjbGFzcyBEZXZpY2UgOiBwdWJs
aWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8RGV2aWNlPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPERl
dmljZT4gewo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441539</attachid>
            <date>2021-10-17 09:48:09 -0700</date>
            <delta_ts>2021-10-17 10:43:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211018034806.patch</filename>
            <type>text/plain</type>
            <size>70243</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMzViMzI3MGYyNDk1NjY2M2ZhY2U2
YzJhYzllMDkxMzBmYTMyZmYuLjE5NDMzNzJkZmI1ZGRjNGUwNTJjOGQ3N2EzYmVhNWY4Njg2Yjky
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmQgSW5wdXQg
TW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBFTkFCTEVfV0VCWFJfSEFO
RFMgY29tcGlsZSB0aW1lIGZsYWcgYW5kIGEgV2ViWFJIYW5kc0VuYWJsZWQgcHJlZmVyZW5jZS4K
KworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEwLTA4ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIGRlZmF1bHRBbHRlcm5hdGVGb3JtQ29udHJv
bERlc2lnbkVuYWJsZWQoKSBjYW4ndCByZWFkIFVJVXNlckludGVyZmFjZUlkaW9tIGluIHRoZSBX
ZWIgQ29udGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUzNjM0YjcwYTQyNjdjYzUwMmZiZWYz
ZTI3Y2EwZGU3ZmM1ODIzMy4uNWU5Zjg5YmM3NzBkZjNmYWE1ZWFmMmQwY2E3MzA4ZTU4MGZjZGIw
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkwIEBACisyMDIxLTEwLTE3ICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViWFJdIFN0dWJzIGZvciBXZWJYUiBIYW5k
IElucHV0IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIElETCBhbmQg
c3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5kIElucHV0IG1v
ZHVsZToKKyAgICAgICAgaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5k
LWlucHV0LworCisgICAgICAgIFRoZSBpbXBvcnRhbnQgY2xhc3MgaXMgV2ViWFJIYW5kLCB3aGlj
aCBpcyBvd25lZCBieQorICAgICAgICBhbmQgYWNjZXNzaWJsZSBmcm9tIHRoZSBXZWJYUklucHV0
U291cmNlLCB3aGljaAorICAgICAgICBpdHNlbGYgaXMgb3duZWQgYnkgdGhlIFdlYlhSU2Vzc2lv
bi4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGw6
IEFkZCBuZXcgaGFuZC1yZWxhdGVkIG1ldGhvZHMuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSRnJhbWU6OmdldEpvaW50UG9z
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaSk6CisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxsUG9zZXMpOgorICAgICAgICAqIE1vZHVsZXMv
d2VieHIvV2ViWFJGcmFtZS5oOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQu
Y3BwOiBOZXcgZmlsZXMuCisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OldlYlhSSGFuZCk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkhhbmQ6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6Okl0ZXJhdG9y
OjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpuZXh0
KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6c2Vzc2lvbik6CisgICAgICAgICogTW9k
dWxlcy93ZWJ4ci9XZWJYUkhhbmQuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6c2l6
ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0ZUl0ZXJhdG9yKToKKyAgICAg
ICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL3dl
YnhyL1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbDogQWRkIFdlYlhSSGFuZCBhY2Nlc3Nv
ci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6dXBkYXRlKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSW5wdXRT
b3VyY2U6OmhhbmQgY29uc3QpOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50
UG9zZS5jcHA6IE5ldyBmaWxlcy4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSm9pbnRQb3NlOjpj
cmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBvc2U6OldlYlhSSm9pbnRQb3Nl
KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6cmFkaXVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbDoKKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2Vi
WFJKb2ludFNwYWNlLmNwcDogTmV3IGZpbGVzLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2lu
dFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpXZWJY
UkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpuYXRpdmVP
cmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmg6
CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6OmpvaW50TmFtZSBjb25zdCk6Cisg
ICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsOgorCisgICAgICAgICog
TW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmg6IE5ldyB2aXJ0dWFsIGlkZW50aWZpZXIgZm9yIGpv
aW50IHNwYWNlIHN1YmNsYXNzLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJTcGFjZTo6aXNKb2lu
dFNwYWNlIGNvbnN0KToKKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uY3Bw
OiBBZGQgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgdGVzdGluZyBvZgorICAgICAgICBvcHRpb25h
bCBmZWF0dXJlcyAod2hlcmUgdGhlICJoYW5kLXRyYWNraW5nIiBmZWF0dXJlIHNob3VsZCBiZSBj
aGVja2VkKS4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhSU3lzdGVtOjpyZXNvbHZlUmVxdWVzdGVk
RmVhdHVyZXMgY29uc3QpOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5o
OiBOZXcgZmlsZS4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbDoKKwor
ICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaDogRXhwb3NlIG5ldyBt
YXBwaW5ncyBmcm9tIHB1Ymxpc2hlZCBuYW1lcworICAgICAgICB0byBpbnRlcm5hbCBuYW1lcy4K
KworICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDogQWRkICJzaW11bGF0ZUhhbmRz
IiBmaWVsZCB0byBmcmFtZSBkYXRhIGZvciB0ZXN0aW5nLgorICAgICAgICAqIHRlc3RpbmcvRmFr
ZVhSSW5wdXRTb3VyY2VJbml0Lmg6IEFuZCBzaW1pbGFybHkgdG8gdGhlIGZha2UgaW5wdXQgc291
cmNlLgorICAgICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmlkbDoKKworICAg
ICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmNwcDogQWxsb3cgdGhlIHRl
c3Qgc3lzdGVtIHRvIGZha2UgYSBoYW5kLgorICAgICAgICAoV2ViQ29yZTo6V2ViRmFrZVhSSW5w
dXRDb250cm9sbGVyOjpXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpnZXRGcmFtZURhdGEpOgorICAgICAgICAqIHRl
c3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmg6CisKIDIwMjEtMTAtMTEgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CiAKICAgICAgICAgRXhwb3J0IHNvbWUgZGlz
cGxheSBsaXN0IGl0ZW0gbWV0aG9kcyBmb3IgdXNlIGluIFdlYktpdDIKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55
YW1sIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJp
bWVudGFsLnlhbWwKaW5kZXggNmU5ZTZmNmZkNDVlZDUwODZkMTIzNGU3N2MyMDFmODhjYzAwZGIz
Zi4uZDhjN2I0OGI3ZGM1ODM5OTVhMWYzNzI2OWFkMDc2MGYzZTNjZjJjMiAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFs
LnlhbWwKKysrIGIvU291cmNlL1dURi9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
RXhwZXJpbWVudGFsLnlhbWwKQEAgLTE2NTIsNiArMTY1MiwxOSBAQCBXZWJYUkdhbWVwYWRzTW9k
dWxlRW5hYmxlZDoKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViWFJI
YW5kSW5wdXRNb2R1bGVFbmFibGVkOgorICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1l
OiAiV2ViWFIgSGFuZCBJbnB1dCBNb2R1bGUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjog
IkFkZHMgc3VwcG9ydCBmb3IgdGhlIEhhbmRzIElucHV0IE1vZHVsZSBmb3IgV2ViWFIiCisgIGNv
bmRpdGlvbjogRU5BQkxFKFdFQlhSX0hBTkRTKQorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0
TGVnYWN5OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViWFJFbmFibGVkKCkKKyAg
ICBXZWJLaXQ6CisgICAgICBkZWZhdWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJYUkVuYWJsZWQoKQor
ICAgIFdlYkNvcmU6CisgICAgICBkZWZhdWx0OiBmYWxzZQorCiBXaGVlbEV2ZW50R2VzdHVyZXNC
ZWNvbWVOb25CbG9ja2luZzoKICAgdHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIldo
ZWVsIEV2ZW50IGdlc3R1cmVzIGJlY29tZSBub24tYmxvY2tpbmciCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFi
bGUuaAppbmRleCA4NzM4ZDI1ZDFiY2M3MDk1ODliMjZiMmY5MjhmNGY4Y2VlNjBjNmY5Li4yMmE2
ZjViNGQ3Mzk5ODAwNzczNTE0YzBmMGE0NGEyNzBhNjA3MmY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5h
YmxlLmgKQEAgLTE2MCw3ICsxNjAsNiBAQAogI2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAw
CiAjZW5kaWYKIAotCiAjaWYgIWRlZmluZWQoRU5BQkxFX0ZJTEVfUkVQTEFDRU1FTlQpCiAjZGVm
aW5lIEVOQUJMRV9GSUxFX1JFUExBQ0VNRU5UIDAKICNlbmRpZgpAQCAtNTQ1LDYgKzU0NCwxNCBA
QAogI2RlZmluZSBFTkFCTEVfRklMRV9TSEFSRSAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVO
QUJMRV9XRUJYUikKKyNkZWZpbmUgRU5BQkxFX1dFQlhSIDAKKyNlbmRpZgorCisjaWYgIWRlZmlu
ZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VCWFJfSEFORFMgMAorI2Vu
ZGlmCisKIC8qCiAgKiBFbmFibGUgdGhpcyB0byBwdXQgZWFjaCBJc29IZWFwIGFuZCBvdGhlciBh
bGxvY2F0aW9uIGNhdGVnb3JpZXMgaW50byB0aGVpciBvd24gbWFsbG9jIGhlYXBzLCBzbyB0aGF0
IHRvb2xzIGxpa2Ugdm1tYXAgY2FuIHNob3cgaG93IGJpZyBlYWNoIGhlYXAgaXMuCiAgKiBUdXJu
IEJFTkFCTEVfTUFMTE9DX0hFQVBfQlJFQUtET1dOIG9uIGluIGJtYWxsb2MgdG9nZXRoZXIgd2hl
biB1c2luZyB0aGlzLgpAQCAtOTI1LDMgKzkzMiw3IEBACiAjaWYgRU5BQkxFKFBSRURFRklORURf
Q09MT1JfU1BBQ0VfRElTUExBWV9QMykgJiYgIUVOQUJMRShERVNUSU5BVElPTl9DT0xPUl9TUEFD
RV9ESVNQTEFZX1AzKQogI2Vycm9yICJFTkFCTEUoUFJFREVGSU5FRF9DT0xPUl9TUEFDRV9ESVNQ
TEFZX1AzKSByZXF1aXJlcyBFTkFCTEUoREVTVElOQVRJT05fQ09MT1JfU1BBQ0VfRElTUExBWV9Q
MykiCiAjZW5kaWYKKworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykgJiYgIUVOQUJMRShXRUJYUikK
KyNlcnJvciAiRU5BQkxFKFdFQlhSX0hBTkRTKSByZXF1aXJlcyBFTkFCTEUoV0VCWFIpIgorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9T
b3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKaW5kZXggZjA5Y2E2ZTAxYTJmYjIy
ZTEwMjFjNDc4ZDk1OTg1ODQ0ZjlmZTQxMy4uMjBiNmU2ODBkOTg5YTZkYzdkYWEwODk3MmZlMDAz
M2ZiODVhMGYwYyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNjMyLDYg
KzYzMiwxMCBAQAogI2RlZmluZSBFTkFCTEVfV0VCWFIgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfV0VCWFJfSEFORFMpCisjZGVmaW5lIEVOQUJMRV9XRUJYUl9IQU5EUyAxCisjZW5k
aWYKKwogI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpCiAjZGVmaW5lIEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4
IDczZWZhOWI4MmM3MTQyYWVkNDgxMWNhOThjMzljMTdjNzM1YjE0ZmYuLjU0NmJjNjFiYTgzZmYy
ZTg2OWZhMDYxYzc2ZTBkMzNkZTZmNmVkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNDEz
LDEwICsxNDEzLDE1IEBAIGVuZGlmICgpCiBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURM
X0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3IrV2ViWFIuaWRsCiAgICAgTW9kdWxl
cy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhy
L1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbAogICAgIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5p
ZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dl
YlhSSW5wdXRTb3VyY2UrR2FtZXBhZC5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UrSGFuZElucHV0LmlkbAogICAgIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5p
ZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwKKyAgICBNb2R1
bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbAorICAgIE1vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFNwYWNlLmlkbAogICAgIE1vZHVsZXMvd2VieHIvV2ViWFJMYXllci5pZGwKICAgICBNb2R1bGVz
L3dlYnhyL1dlYlhSUG9zZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNlU3Bh
Y2UuaWRsCkBAIC0xNDMzLDYgKzE0MzgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdf
SURMX0ZJTEVTCiAgICAgTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbAog
ICAgIE1vZHVsZXMvd2VieHIvWFJFeWUuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVx
dWVzdENhbGxiYWNrLmlkbAorICAgIE1vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCiAgICAg
TW9kdWxlcy93ZWJ4ci9YUkhhbmRlZG5lc3MuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUklucHV0
U291cmNlRXZlbnQuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2
ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxp
c3QKaW5kZXggYzU0MjkzMDRlNmJhY2ViNmU4NjUxMzZhYWZlMTZkN2NjOWZjNzU3ZS4uNjkzMzA0
NzczZTBiM2U3Yjg5OTI2YWQ0MWFjZTA3MDY2MzQyNmQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC01OTUsMTAgKzU5NSwxNSBAQCAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnNvY2tldHMvQ2xvc2VFdmVudC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL3dlYnhyL05hdmlnYXRvcitXZWJYUi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJ4ci9XZWJYUkZyYW1lLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJY
UklucHV0U291cmNlK0dhbWVwYWQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSSGFuZC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJj
ZStIYW5kSW5wdXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VB
cnJheS5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRs
CiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJMYXllci5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvV2ViWFJQb3NlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlJlZmVyZW5jZVNwYWNlLmlkbApAQCAtNjE1LDYgKzYyMCw3IEBAICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvd2VieHIvV2ViWFJXZWJHTExheWVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxl
cy93ZWJ4ci9YUkV5ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJGcmFtZVJl
cXVlc3RDYWxsYmFjay5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJIYW5kSm9p
bnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZUV2ZW50LmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmlkbApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Qg
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBj
ZGU0N2VmYTExMjA1ODVjOGFkOTc3ZGYxNjNjNTZiODU0ZjcxOTBhLi45YmMzODA0YWUwNTgyZjhk
ZTNhYzFiNjA5Nzk1NDI3MDczZDJkOTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMjQxNywxNCArMjQxNywyNCBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlNvY2tldC5jcHAKICQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViU29ja2V0LmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJCb3Vu
ZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZStIYW5kSW5wdXQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJh
bWUrSGFuZElucHV0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJGcmFtZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2UrR2FtZXBhZC5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZStHYW1l
cGFkLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
WFJIYW5kLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXZWJYUkhhbmQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJYUklucHV0U291cmNlK0hhbmRJbnB1dC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0
U291cmNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNXZWJYUklucHV0U291cmNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlQXJyYXkuaAorJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkpvaW50UG9z
ZS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2Vi
WFJKb2ludFBvc2UuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNXZWJYUkpvaW50U3BhY2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSSm9pbnRTcGFjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSTGF5ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSTGF5ZXIuaAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUlBvc2UuY3BwCkBAIC0yNTI3
LDYgKzI1MzcsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1hSRXllLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkV5ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRKb2ludC5jcHAKKyQo
QlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRl
ZG5lc3MuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1hSSGFuZGVkbmVzcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1hSSW5wdXRTb3VyY2VFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CmluZGV4IDJlNWQ5MTBkM2U5YTVhNWNhOThhODhjYjk5MmFjNWYwZDZkZTIxZDkuLjlkZTdlOGQx
NWQxNzdlYjQzYTdmODRmNDhkYzFkMjVkOTBhZjcwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQpAQCAtNDk2LDEwICs0OTYsMTUgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cy9XZWJTb2NrZXQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvd2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCBcCisgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2VieHIvV2ViWFJIYW5kLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSSW5wdXRTb3VyY2UrR2FtZXBhZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSSW5wdXRTb3VyY2VBcnJheS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9X
ZWJYUklucHV0U291cmNlK0hhbmRJbnB1dC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93
ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkpvaW50U3BhY2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJM
YXllci5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJSZWZlcmVuY2VTcGFjZS5pZGwgXApA
QCAtNTE2LDYgKzUyMSw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnhyL1hSRW52aXJvbm1lbnRCbGVuZE1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvd2VieHIvWFJFeWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIv
WFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9YUkhhbmRKb2ludC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkhhbmRl
ZG5lc3MuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZUV2
ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hh
bmdlRXZlbnQuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWMwZDVmMjRkNmYzN2RmMTliMWQ3
OTRkMzVjM2E4ZjhlNzk0NjY1NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFu
ZElucHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0
aWFsIGludGVyZmFjZSBXZWJYUkZyYW1lIHsKKyAgICBXZWJYUkpvaW50UG9zZT8gZ2V0Sm9pbnRQ
b3NlKFdlYlhSSm9pbnRTcGFjZSBqb2ludCwgV2ViWFJTcGFjZSBiYXNlU3BhY2UpOworICAgIGJv
b2xlYW4gZmlsbEpvaW50UmFkaWkoc2VxdWVuY2U8V2ViWFJKb2ludFNwYWNlPiBqb2ludFNwYWNl
cywgRmxvYXQzMkFycmF5IHJhZGlpKTsKKyAgICBib29sZWFuIGZpbGxQb3NlcyhzZXF1ZW5jZTxX
ZWJYUlNwYWNlPiBzcGFjZXMsIFdlYlhSU3BhY2UgYmFzZVNwYWNlLCBGbG9hdDMyQXJyYXkgdHJh
bnNmb3Jtcyk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5j
cHAKaW5kZXggNzQyMzZmYjBmNGU1OTBmNWFkNDJiNzkzZjE1MGJmZWVmYzc2NGJjYy4uOGQyMDQx
ZjllNjY3MjY5ZTYzODI4NDllMDhhZjNhZmJiMjgxOWRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuY3BwCkBAIC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxF
KFdFQlhSKQogCiAjaW5jbHVkZSAiV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCIKKyNpbmNs
dWRlICJXZWJYUkpvaW50UG9zZS5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgogI2lu
Y2x1ZGUgIldlYlhSUmVmZXJlbmNlU3BhY2UuaCIKICNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIK
ICNpbmNsdWRlICJXZWJYUlZpZXdlclBvc2UuaCIKQEAgLTI1OCw2ICsyNjAsMzAgQEAgVHJhbnNm
b3JtYXRpb25NYXRyaXggV2ViWFJGcmFtZTo6bWF0cml4RnJvbVBvc2UoY29uc3QgUGxhdGZvcm1Y
Ujo6RGV2aWNlOjpGcmFtZUQKICAgICByZXR1cm4gbWF0cml4OwogfQogCisjaWYgRU5BQkxFKFdF
QlhSX0hBTkRTKQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhh
bmQtaW5wdXQvI2RvbS14cmZyYW1lLWdldGpvaW50cG9zZQorRXhjZXB0aW9uT3I8UmVmUHRyPFdl
YlhSSm9pbnRQb3NlPj4gV2ViWFJGcmFtZTo6Z2V0Sm9pbnRQb3NlKGNvbnN0IFdlYlhSSm9pbnRT
cGFjZSYgam9pbnQsIGNvbnN0IFdlYlhSU3BhY2UmIGJhc2VTcGFjZSkKK3sKKyAgICBVTlVTRURf
UEFSQU0oam9pbnQpOworICAgIFVOVVNFRF9QQVJBTShiYXNlU3BhY2UpOworICAgIHJldHVybiBu
dWxscHRyOworfQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhh
bmQtaW5wdXQvI2RvbS14cmZyYW1lLWZpbGxqb2ludHJhZGlpCitFeGNlcHRpb25Pcjxib29sPiBX
ZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaShjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSSm9pbnRT
cGFjZT4+LCBjb25zdCBGbG9hdDMyQXJyYXkmKQoreworICAgIHJldHVybiB0cnVlOworfQorCisv
LyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI2RvbS14
cmZyYW1lLWZpbGxwb3NlcworRXhjZXB0aW9uT3I8Ym9vbD4gV2ViWFJGcmFtZTo6ZmlsbFBvc2Vz
KGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJTcGFjZT4+LCBjb25zdCBXZWJYUlNwYWNlJiwgY29u
c3QgRmxvYXQzMkFycmF5JikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKaW5kZXggZmE5MDBkYzIyZjY5MTU5Zjc5
MjdjNzIxYzI1ZDBkYzc2NDA5MDc2Yy4uYmJhYTJjZGQ4ZTlmY2I4ZWYwNjRkNTQ3NDgxMjQ0ZDlk
NDEyMzhmNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKQEAg
LTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJET01IaWdoUmVzVGltZVN0YW1wLmgiCiAjaW5jbHVk
ZSAiRXhjZXB0aW9uT3IuaCIKICNpbmNsdWRlICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSA8SmF2
YVNjcmlwdENvcmUvRmxvYXQzMkFycmF5Lmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgog
I2luY2x1ZGUgPHd0Zi9SZWYuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzgs
NiArMzksOCBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNz
IFdlYlhSSm9pbnRQb3NlOworY2xhc3MgV2ViWFJKb2ludFNwYWNlOwogY2xhc3MgV2ViWFJQb3Nl
OwogY2xhc3MgV2ViWFJSZWZlcmVuY2VTcGFjZTsKIGNsYXNzIFdlYlhSU2Vzc2lvbjsKQEAgLTU2
LDYgKzU5LDEyIEBAIHB1YmxpYzoKICAgICBFeGNlcHRpb25PcjxSZWZQdHI8V2ViWFJWaWV3ZXJQ
b3NlPj4gZ2V0Vmlld2VyUG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSUmVmZXJlbmNl
U3BhY2UmKTsKICAgICBFeGNlcHRpb25PcjxSZWZQdHI8V2ViWFJQb3NlPj4gZ2V0UG9zZShjb25z
dCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBXZWJYUlNwYWNlJik7CiAKKyNp
ZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSSm9pbnRQ
b3NlPj4gZ2V0Sm9pbnRQb3NlKGNvbnN0IFdlYlhSSm9pbnRTcGFjZSYsIGNvbnN0IFdlYlhSU3Bh
Y2UmKTsKKyAgICBFeGNlcHRpb25Pcjxib29sPiBmaWxsSm9pbnRSYWRpaShjb25zdCBWZWN0b3I8
UmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+LCBjb25zdCBGbG9hdDMyQXJyYXkmKTsKKyAgICBFeGNl
cHRpb25Pcjxib29sPiBmaWxsUG9zZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJYUlNwYWNlPj4s
IGNvbnN0IFdlYlhSU3BhY2UmLCBjb25zdCBGbG9hdDMyQXJyYXkmKTsKKyNlbmRpZgorCiAgICAg
dm9pZCBzZXRUaW1lKERPTUhpZ2hSZXNUaW1lU3RhbXAgdGltZSkgeyBtX3RpbWUgPSB0aW1lOyB9
CiAKICAgICB2b2lkIHNldEFjdGl2ZShib29sIGFjdGl2ZSkgeyBtX2FjdGl2ZSA9IGFjdGl2ZTsg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmQ0MDA0YjI5MTM3NjE3NmFhZTRjNGI1OTZhM2Y4YzQxNmJlMThjM2IKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAKQEAgLTAsMCAr
MSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2Vi
WFJIYW5kLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKwor
I2luY2x1ZGUgIldlYlhSSW5wdXRTb3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChXZWJYUkhhbmQpOworCitSZWY8V2ViWFJIYW5kPiBXZWJYUkhhbmQ6OmNyZWF0ZShjb25z
dCBXZWJYUklucHV0U291cmNlJiBpbnB1dFNvdXJjZSkKK3sKKyAgICByZXR1cm4gYWRvcHRSZWYo
Km5ldyBXZWJYUkhhbmQoaW5wdXRTb3VyY2UpKTsKK30KKworV2ViWFJIYW5kOjpXZWJYUkhhbmQo
Y29uc3QgV2ViWFJJbnB1dFNvdXJjZSYgaW5wdXRTb3VyY2UpCisgICAgOiBtX2lucHV0U291cmNl
KG1ha2VXZWFrUHRyKGlucHV0U291cmNlKSkKK3sKK30KKworV2ViWFJIYW5kOjp+V2ViWFJIYW5k
KCkgPSBkZWZhdWx0OworCitSZWZQdHI8V2ViWFJKb2ludFNwYWNlPiBXZWJYUkhhbmQ6OmdldChj
b25zdCBYUkhhbmRKb2ludCYga2V5KQoreworICAgIFVOVVNFRF9QQVJBTShrZXkpOworICAgIHJl
dHVybiBudWxscHRyOworfQorCitXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcihXZWJYUkhh
bmQmIGhhbmQpCisgICAgOiBtX2hhbmQoaGFuZCkKK3sKK30KKworc3RkOjpvcHRpb25hbDxXVEY6
OktleVZhbHVlUGFpcjxYUkhhbmRKb2ludCwgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+PiBXZWJY
UkhhbmQ6Okl0ZXJhdG9yOjpuZXh0KCkKK3sKKyAgICBpZiAobV9pbmRleCA+IG1faGFuZC0+bV9q
b2ludHMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJu
IHN0ZDo6bnVsbG9wdDsKK30KKworV2ViWFJTZXNzaW9uKiBXZWJYUkhhbmQ6OnNlc3Npb24oKQor
eworICAgIGlmICghbV9pbnB1dFNvdXJjZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAg
cmV0dXJuIG1faW5wdXRTb3VyY2UuZ2V0KCktPnNlc3Npb24oKTsKK30KKworfQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4Nzgw
MDVjODc4ODlkYTUzMDBlN2U1N2M4ODFlNGE2NzI0NGU2MTMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCkBAIC0wLDAgKzEsNzggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJY
UklucHV0U291cmNlLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFNwYWNlLmgiCisjaW5jbHVkZSAi
V2ViWFJTZXNzaW9uLmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYv
SXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3Vu
dGVkLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIFdlYlhSSGFuZCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSGFuZD4geworICAgIFdU
Rl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJIYW5kKTsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBS
ZWY8V2ViWFJIYW5kPiBjcmVhdGUoY29uc3QgV2ViWFJJbnB1dFNvdXJjZSYpOworICAgIH5XZWJY
UkhhbmQoKTsKKworICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQor
CisgICAgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkp
OworCisgICAgY2xhc3MgSXRlcmF0b3IgeworICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQg
SXRlcmF0b3IoV2ViWFJIYW5kJik7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1
ZVBhaXI8WFJIYW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gbmV4dCgpOworCisg
ICAgcHJpdmF0ZToKKyAgICAgICAgUmVmPFdlYlhSSGFuZD4gbV9oYW5kOworICAgICAgICBzaXpl
X3QgbV9pbmRleCB7IDAgfTsKKyAgICB9OworICAgIEl0ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkg
eyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CisKKyAgICAvLyBGb3IgR0MgcmVhY2hhYmxpdGl5
LgorICAgIFdlYlhSU2Vzc2lvbiogc2Vzc2lvbigpOworCitwcml2YXRlOgorICAgIFdlYlhSSGFu
ZChjb25zdCBXZWJYUklucHV0U291cmNlJik7CisKKyAgICB1bnNpZ25lZCBsb25nIG1fc2l6ZSB7
IDAgfTsKKyAgICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFwID0gSGFzaE1hcDxYUkhhbmRKb2lu
dCwgUmVmPFdlYlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNp
Z25lZFdpdGhaZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+OworICAgIEhhbmRKb2ludFRvU3Bh
Y2VNYXAgbV9qb2ludHM7CisKKyAgICBXZWFrUHRyPFdlYlhSSW5wdXRTb3VyY2U+IG1faW5wdXRT
b3VyY2U7Cit9OworCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJIYW5kLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJIYW5kLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jZDFiMDliZGYyMWZiYmFjN2NjYjg5NzAwNzdiZDE5OGJk
ZmY0NWE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkhhbmQuaWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJs
ZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZCwKKyAg
ICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUywKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxX
ZWJYUlNlc3Npb25Sb290LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3cs
CisgICAgSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhSSGFu
ZAorXSBpbnRlcmZhY2UgV2ViWFJIYW5kIHsKKyAgICBpdGVyYWJsZTxYUkhhbmRKb2ludCwgV2Vi
WFJKb2ludFNwYWNlPjsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNp
emU7CisgICAgV2ViWFJKb2ludFNwYWNlIGdldChYUkhhbmRKb2ludCBrZXkpOworfTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5k
SW5wdXQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
K0hhbmRJbnB1dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgwNWNkOTQxNGU0MDM1MTk3Y2ZlZGIyNTdmMThl
MTE1NTFkYzU0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElu
cHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0aWFs
IGludGVyZmFjZSBXZWJYUklucHV0U291cmNlIHsKKyAgICAvLyBodHRwczovL2ltbWVyc2l2ZS13
ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2UtaW50ZXJmYWNlCisg
ICAgW1NhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUkhhbmQ/IGhhbmQ7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5jcHAK
aW5kZXggOTk1MDU3ZDQ1MTZiZjc3OWY5MjU4NzZkOWY2MmQ4NjRkN2I4NzQwZS4uY2MxNjI1OThj
NmVmYjUwN2EyNjUxNzU2N2MxYWZkNjE5ZjEzNWM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCkBAIC04Niw2ICs4NiwxOCBAQCB2
b2lkIFdlYlhSSW5wdXRTb3VyY2U6OnVwZGF0ZShkb3VibGUgdGltZXN0YW1wLCBjb25zdCBQbGF0
Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRAogI2lmIEVOQUJMRShHQU1FUEFEKQogICAgIG1fZ2FtZXBh
ZC0+dXBkYXRlRnJvbVBsYXRmb3JtR2FtZXBhZChXZWJYUkdhbWVwYWQodGltZXN0YW1wLCBtX2Nv
bm5lY3RUaW1lLCBzb3VyY2UpKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQor
ICAgIGlmIChzb3VyY2Uuc2ltdWxhdGVIYW5kKSB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGN1
cnJlbnRseSBjcmVhdGVzIGFuIG9iamVjdCBqdXN0IGZvciB1c2UgaW4gdGVzdGluZy4KKyAgICAg
ICAgLy8gVGhlIHJlYWwgaW1wbGVtZW50YXRpb24gd2lsbCB1c2UgYWN0dWFsIGRhdGEgYW5kIG9u
bHkgYmUgdmlzaWJsZQorICAgICAgICAvLyBpZiBoYW5kLXRyYWNraW5nIHdhcyByZXF1ZXN0ZWQg
YXQgc2Vzc2lvbiBzdGFydC4KKyAgICAgICAgaWYgKCFtX2hhbmQpCisgICAgICAgICAgICBtX2hh
bmQgPSBXZWJYUkhhbmQ6OmNyZWF0ZSgqdGhpcyk7CisgICAgfSBlbHNlCisgICAgICAgIG1faGFu
ZCA9IG51bGxwdHI7CisjZW5kaWYKKwogfQogCiBib29sIFdlYlhSSW5wdXRTb3VyY2U6OnJlcXVp
cmVzSW5wdXRTb3VyY2VDaGFuZ2UoY29uc3QgSW5wdXRTb3VyY2UmIHNvdXJjZSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmgKaW5kZXggODhmYTUy
ZjVkODgwZGQ0NjQ3MDcyNWE4MWUzZGU5MWVmOWIzNDExNy4uMTczMThlZmViNjE3ZjY2MWE3MzUy
NGQxNWNkYWZlOTg0NjA2MjI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUklucHV0U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChD
KSAyMDIwIElnYWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
ICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwpAQCAtMzksMTUgKzQwLDIwIEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKFdFQlhSX0hB
TkRTKQorI2luY2x1ZGUgIldlYlhSSGFuZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogI2lmIEVOQUJMRShHQU1FUEFEKQogY2xhc3MgR2FtZXBhZDsKICNlbmRpZgogY2xhc3Mg
WFJJbnB1dFNvdXJjZUV2ZW50OworY2xhc3MgV2ViWFJIYW5kOwogY2xhc3MgV2ViWFJJbnB1dFNw
YWNlOwogCi1jbGFzcyBXZWJYUklucHV0U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJJ
bnB1dFNvdXJjZT4geworY2xhc3MgV2ViWFJJbnB1dFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVk
PFdlYlhSSW5wdXRTb3VyY2U+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJJbnB1dFNvdXJj
ZT4gewogICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJJbnB1dFNvdXJjZSk7CiBwdWJs
aWM6CiAgICAgdXNpbmcgSW5wdXRTb3VyY2UgPSBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0
YTo6SW5wdXRTb3VyY2U7CkBAIC02NywxMCArNzMsMTQgQEAgcHVibGljOgogICAgIGNvbnN0IEdh
bWVwYWQqIGdhbWVwYWQoKSBjb25zdCB7IHJldHVybiBtX2dhbWVwYWQucHRyKCk7IH0KICNlbmRp
ZgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGNvbnN0IFdlYlhSSGFuZCogaGFuZCgp
IGNvbnN0IHsgcmV0dXJuIG1faGFuZC5nZXQoKTsgfQorI2VuZGlmCisKICAgICB2b2lkIHVwZGF0
ZShkb3VibGUgdGltZXN0YW1wLCBjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIGJvb2wgcmVxdWly
ZXNJbnB1dFNvdXJjZUNoYW5nZShjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIHZvaWQgZGlzY29u
bmVjdCgpOwotICAgIAorCiAgICAgdm9pZCBwb2xsRXZlbnRzKFZlY3RvcjxSZWY8WFJJbnB1dFNv
dXJjZUV2ZW50Pj4mKTsKIAogICAgIC8vIEZvciBHQyByZWFjaGFibGl0aXkuCkBAIC04OSw2ICs5
OSwxMCBAQCBwcml2YXRlOgogICAgIFJlZjxHYW1lcGFkPiBtX2dhbWVwYWQ7CiAjZW5kaWYKIAor
I2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBSZWZQdHI8V2ViWFJIYW5kPiBtX2hhbmQ7Cisj
ZW5kaWYKKwogICAgIGJvb2wgbV9zZWxlY3RTdGFydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1f
c3F1ZWV6ZVN0YXJ0ZWQgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3ODNiMGM2NmJjZGQ3NTk2
OTA5OGExMmUxZGEyN2I3NzEyMWE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQb3NlLmgi
CisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01B
S0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhSSm9pbnRQ
b3NlPiBXZWJYUkpvaW50UG9zZTo6Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmIHRy
YW5zZm9ybSwgYm9vbCBlbXVsYXRlZFBvc2l0aW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYlhSSm9pbnRQb3NlKFdURk1vdmUodHJhbnNmb3JtKSwgZW11bGF0ZWRQb3NpdGlvbikp
OworfQorCitXZWJYUkpvaW50UG9zZTo6V2ViWFJKb2ludFBvc2UoUmVmPFdlYlhSUmlnaWRUcmFu
c2Zvcm0+JiYgdHJhbnNmb3JtLCBib29sIGVtdWxhdGVkUG9zaXRpb24pCisgICAgOiBXZWJYUlBv
c2UoV1RGTW92ZSh0cmFuc2Zvcm0pLCBlbXVsYXRlZFBvc2l0aW9uKQoreworfQorCit9CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50
UG9zZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFkN2M3NDFhM2FhNjRhNWY5ODU5ODVlY2FkN2UyOGZmZWE3Njg5OWQKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3Nl
LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiUGxhdGZvcm1Y
Ui5oIgorI2luY2x1ZGUgIldlYlhSUG9zZS5oIgorI2luY2x1ZGUgIldlYlhSUmlnaWRUcmFuc2Zv
cm0uaCIKKyNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNz
IFdlYlhSSm9pbnRQb3NlIDogcHVibGljIFdlYlhSUG9zZSB7CisgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChXZWJYUkpvaW50UG9zZSk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJYUkpv
aW50UG9zZT4gY3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVtdWxhdGVk
UG9zaXRpb24pOworICAgIH5XZWJYUkpvaW50UG9zZSgpID0gZGVmYXVsdDsKKworICAgIGZsb2F0
IHJhZGl1cygpIGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzOyB9CisKK3ByaXZhdGU6CisgICAgV2Vi
WFJKb2ludFBvc2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIGJvb2wgZW11bGF0ZWRQb3Np
dGlvbik7CisKKyAgICBmbG9hdCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmU5NjRkODE3NWQwYTkwOGY5NmI5ZTcyZmUyZWFlODlmNjU1NDgzY2EKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlk
bApAQCAtMCwwICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5n
PVdlYlhSRW5hYmxlZCZXZWJYUkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9u
YWw9V0VCWFJfSEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdpbmRvdywK
KyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9WFJKb2lu
dFBvc2UKK10gaW50ZXJmYWNlIFdlYlhSSm9pbnRQb3NlIDogV2ViWFJQb3NlIHsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgZmxvYXQgcmFkaXVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOTZlYWFmYWM3YTY3
MWFjNWI0NzEyMjA2NzkwMWFjMWI2YWExMzkwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCkBAIC0wLDAgKzEsNTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRT
cGFjZS5oIgorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNp
bmNsdWRlICJXZWJYUlJpZ2lkVHJhbnNmb3JtLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoV2ViWFJKb2ludFNwYWNlKTsKKworUmVmPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJKb2lu
dFNwYWNlOjpjcmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24p
Cit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFNwYWNlKGRvY3VtZW50LCBz
ZXNzaW9uKSk7Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6V2ViWFJKb2ludFNwYWNlKERvY3VtZW50
JiBkb2N1bWVudCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQorICAgIDogV2ViWFJTcGFjZShkb2N1
bWVudCwgV2ViWFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCkpCisgICAgLCBtX3Nlc3Npb24obWFr
ZVdlYWtQdHIoc2Vzc2lvbikpCit7Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6fldlYlhSSm9pbnRT
cGFjZSgpID0gZGVmYXVsdDsKKworc3RkOjpvcHRpb25hbDxUcmFuc2Zvcm1hdGlvbk1hdHJpeD4g
V2ViWFJKb2ludFNwYWNlOjpuYXRpdmVPcmlnaW4oKSBjb25zdAoreworICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7Cit9CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93
ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTI1N2JjYzVlNGI2NDRlMmIzNTJm
ZmYzNzE5NjY5Yjg4Nzc5NjVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFO
RFMpCisKKyNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNp
bmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJXZWJYUlNwYWNlLmgiCisjaW5jbHVk
ZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5jbHVkZSA8
d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhSSm9pbnRTcGFjZSA6
IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT4sIHB1YmxpYyBXZWJYUlNwYWNlIHsK
KyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFdlYlhSSm9pbnRTcGFjZSk7CitwdWJsaWM6Cisg
ICAgc3RhdGljIFJlZjxXZWJYUkpvaW50U3BhY2U+IGNyZWF0ZShEb2N1bWVudCYsIFdlYlhSU2Vz
c2lvbiYpOworICAgIHZpcnR1YWwgfldlYlhSSm9pbnRTcGFjZSgpOworCisgICAgdXNpbmcgUmVm
Q291bnRlZDxXZWJYUkpvaW50U3BhY2U+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxXZWJY
UkpvaW50U3BhY2U+OjpkZXJlZjsKKworICAgIFhSSGFuZEpvaW50IGpvaW50TmFtZSgpIGNvbnN0
IHsgcmV0dXJuIFhSSGFuZEpvaW50OjpXcmlzdDsgfQorCitwcml2YXRlOgorICAgIFdlYlhSSm9p
bnRTcGFjZShEb2N1bWVudCYsIFdlYlhSU2Vzc2lvbiYpOworCisgICAgV2ViWFJTZXNzaW9uKiBz
ZXNzaW9uKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zZXNzaW9uLmdldCgpOyB9OworICAgIHN0
ZDo6b3B0aW9uYWw8VHJhbnNmb3JtYXRpb25NYXRyaXg+IG5hdGl2ZU9yaWdpbigpIGNvbnN0IGZp
bmFsOworCisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2
b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKworICAgIGJvb2wgaXNK
b2ludFNwYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorCisgICAgV2Vha1B0cjxX
ZWJYUlNlc3Npb24+IG1fc2Vzc2lvbjsKK307CisKK30KKworU1BFQ0lBTElaRV9UWVBFX1RSQUlU
U19XRUJYUlNQQUNFKFdlYlhSSm9pbnRTcGFjZSwgaXNKb2ludFNwYWNlKCkpCisKKyNlbmRpZgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQyOTRhMTkzNjRlOTk3ZGI1YmYxNmYxOWQzYjI5ZDA4ZTI1MmJjZGIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFj
ZS5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0
dGluZz1XZWJYUkVuYWJsZWQmV2ViWFJIYW5kSW5wdXRNb2R1bGVFbmFibGVkLAorICAgIENvbmRp
dGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKKyAgICBT
ZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9V2luZG93LAorICAgIEludGVyZmFjZU5hbWU9WFJK
b2ludFNwYWNlCitdIGludGVyZmFjZSBXZWJYUkpvaW50U3BhY2UgOiBXZWJYUlNwYWNlIHsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgWFJIYW5kSm9pbnQgam9pbnROYW1lOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTcGFjZS5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKaW5kZXggMmZlNWE1M2U1NmEyMTk2NjRk
ZDQyZmE0NzYzZmQ0Y2I4Njc0M2JlZS4uMDQzMzY1YjA1NDZmM2Q2Y2E2YWIwYjY0MGVjZGZhMjIx
YWQ3ZTk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNw
YWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKQEAg
LTUxLDYgKzUxLDkgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzUmVmZXJlbmNlU3Bh
Y2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgYm9vbCBpc0JvdW5kZWRS
ZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjaWYgRU5BQkxFKFdFQlhS
X0hBTkRTKQorICAgIHZpcnR1YWwgYm9vbCBpc0pvaW50U3BhY2UoKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQorI2VuZGlmCiAKIHByb3RlY3RlZDoKICAgICBXZWJYUlNwYWNlKERvY3VtZW50Jiwg
UmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSU3lzdGVtLmNwcAppbmRleCBlNDZkODczMTU4MmU5MTUzOTljYWE2Yzg4MTBlYzhj
M2MyZDY3NTAwLi4xN2ZhZjlmNmJjMDUwYTVmMzkzMWY5M2Y3MjNlY2MzMDA4NTU1NjM3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmNwcApAQCAtMjkxLDYg
KzI5MSw5IEBAIHN0ZDo6b3B0aW9uYWw8V2ViWFJTeXN0ZW06OlJlc29sdmVkUmVxdWVzdGVkRmVh
dHVyZXM+IFdlYlhSU3lzdGVtOjpyZXNvbHZlUmVxdWVzCiAgICAgICAgICAgICBpZiAoc2Vzc2lv
bkZlYXR1cmUuaXNOdWxsKCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKKyAgICAgICAg
ICAgIC8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgdGVzdGluZyBmb3IgWFJSZWZlcmVuY2VTcGFjZVR5
cGUgZmVhdHVyZXMuIEl0CisgICAgICAgICAgICAvLyBuZWVkcyB0byBoYW5kbGUgb3B0aW9uYWwg
ZmVhdHVyZXMgbGlrZSAiaGFuZC10cmFja2luZyIuCisKICAgICAgICAgICAgIC8vIDIuIElmIGZl
YXR1cmUgaXMgbm90IGEgdmFsaWQgZmVhdHVyZSBkZXNjcmlwdG9yLCBwZXJmb3JtIHRoZSBmb2xs
b3dpbmcgc3RlcHMKICAgICAgICAgICAgIC8vICAgMi4xLiBMZXQgcyBiZSB0aGUgcmVzdWx0IG9m
IGNhbGxpbmcgPyBUb1N0cmluZyhmZWF0dXJlKS4KICAgICAgICAgICAgIC8vICAgMi4yLiBJZiBz
IGlzIG5vdCBhIHZhbGlkIGZlYXR1cmUgZGVzY3JpcHRvciBvciBpcyB1bmRlZmluZWQsIChyZXR1
cm4gbnVsbHxjb250aW51ZSB0byBuZXh0IGVudHJ5KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvWFJIYW5kSm9pbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MjExMDM4OGJhZTg3YjU3NTI4NThmNjM2
MTM2MjI0ZDI5ZDQ3YTcwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9YUkhhbmRKb2ludC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBYUkhhbmRKb2ludCA9IFBsYXRmb3JtWFI6Okhh
bmRKb2ludDsKKworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9Y
UkhhbmRKb2ludC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4ZDlkY2YyNTMxOTBhMDRkNzAzYjA2Yjk0MmQz
ZTdlMTI3ZjUzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvWFJIYW5kSm9pbnQuaWRsCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAg
IENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JU
CitdIGVudW0gWFJIYW5kSm9pbnQgeworICAgICJ3cmlzdCIsCisKKyAgICAidGh1bWItbWV0YWNh
cnBhbCIsCisgICAgInRodW1iLXBoYWxhbngtcHJveGltYWwiLAorICAgICJ0aHVtYi1waGFsYW54
LWRpc3RhbCIsCisgICAgInRodW1iLXRpcCIsCisKKyAgICAiaW5kZXgtZmluZ2VyLW1ldGFjYXJw
YWwiLAorICAgICJpbmRleC1maW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICAgImluZGV4LWZp
bmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisgICAgImluZGV4LWZpbmdlci1waGFsYW54LWRp
c3RhbCIsCisgICAgImluZGV4LWZpbmdlci10aXAiLAorCisgICAgIm1pZGRsZS1maW5nZXItbWV0
YWNhcnBhbCIsCisgICAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICAgIm1p
ZGRsZS1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlhdGUiLAorICAgICJtaWRkbGUtZmluZ2VyLXBo
YWxhbngtZGlzdGFsIiwKKyAgICAibWlkZGxlLWZpbmdlci10aXAiLAorCisgICAgInJpbmctZmlu
Z2VyLW1ldGFjYXJwYWwiLAorICAgICJyaW5nLWZpbmdlci1waGFsYW54LXByb3hpbWFsIiwKKyAg
ICAicmluZy1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlhdGUiLAorICAgICJyaW5nLWZpbmdlci1w
aGFsYW54LWRpc3RhbCIsCisgICAgInJpbmctZmluZ2VyLXRpcCIsCisKKyAgICAicGlua3ktZmlu
Z2VyLW1ldGFjYXJwYWwiLAorICAgICJwaW5reS1maW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisg
ICAgInBpbmt5LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisgICAgInBpbmt5LWZpbmdl
ci1waGFsYW54LWRpc3RhbCIsCisgICAgInBpbmt5LWZpbmdlci10aXAiCit9OworCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0CmluZGV4IDJiMDNmYTcxOWEwMWI5ZGE5MjlmOGI1OTRhYTdiMDIwODEzYjBjMDAuLjkxOWY1
NDMzNzkwMGJkMDA2ZmI1MTYyYjA1MzczZDM0Y2M4ZWI3MDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0z
NjAsOSArMzYwLDEyIEBAIE1vZHVsZXMvd2VieHIvTmF2aWdhdG9yV2ViWFIuY3BwCiBNb2R1bGVz
L3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJY
UkZyYW1lLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkdhbWVwYWQuY3BwCitNb2R1bGVzL3dlYnhy
L1dlYlhSSGFuZC5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5jcHAKIE1vZHVs
ZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5LmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U3BhY2UuY3BwCitNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmNwcAorTW9kdWxlcy93
ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuY3BwCiBN
b2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVidWZmZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dl
YlhSUG9zZS5jcHAKQEAgLTM3ODgsOCArMzc5MSwxMSBAQCBKU1dlYktpdFRyYW5zaXRpb25FdmVu
dC5jcHAKIEpTV2ViU29ja2V0LmNwcAogSlNXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5jcHAK
IEpTV2ViWFJGcmFtZS5jcHAKK0pTV2ViWFJIYW5kLmNwcAogSlNXZWJYUklucHV0U291cmNlLmNw
cAogSlNXZWJYUklucHV0U291cmNlQXJyYXkuY3BwCitKU1dlYlhSSm9pbnRQb3NlLmNwcAorSlNX
ZWJYUkpvaW50U3BhY2UuY3BwCiBKU1dlYlhSTGF5ZXIuY3BwCiBKU1dlYlhSUG9zZS5jcHAKIEpT
V2ViWFJSZWZlcmVuY2VTcGFjZS5jcHAKQEAgLTM4MzEsNiArMzgzNyw3IEBAIEpTWFBhdGhSZXN1
bHQuY3BwCiBKU1hSRW52aXJvbm1lbnRCbGVuZE1vZGUuY3BwCiBKU1hSRXllLmNwcAogSlNYUkZy
YW1lUmVxdWVzdENhbGxiYWNrLmNwcAorSlNYUkhhbmRKb2ludC5jcHAKIEpTWFJIYW5kZWRuZXNz
LmNwcAogSlNYUklucHV0U291cmNlRXZlbnQuY3BwCiBKU1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZl
bnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZmFjYjNiZGQwMjhjZjJkMDZmMGZmMThlZTAyOTYzNzg3NjA0MzE3Mi4uOTE0
Y2NkNzZjZTY3NWFjN2U0NjJiMTE4OTc5MmE2MjNkOTQyYTU1ZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTAwNyw2ICsxMDA3
LDEwIEBACiAJCTMxQzBGRjI1MEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9uRXZl
bnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBG
RjFGMEU0Q0VCNkUwMDdENkZFNSAvKiBXZWJLaXRUcmFuc2l0aW9uRXZlbnQuaCAqLzsgfTsKIAkJ
MzFDMEZGM0UwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0QW5pbWF0aW9uRXZlbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxQzBGRjNBMEU0Q0VG
QUMwMDdENkZFNSAvKiBKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjQw
MEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGM0MwRTRDRUZBQzAwN0Q2
RkU1IC8qIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggKi87IH07CisJCTMxRDkyQTlGMjcwN0Q1
REUwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBOUMyNzA3RDVEMDAwQUQwMUQwIC8qIFhSSGFuZEpvaW50
LmggKi87IH07CisJCTMxRDkyQUEzMjcwN0Q2OTYwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDkyQUExMjcwN0Q2
OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCAqLzsgfTsKKwkJMzFEOTJBQTcyNzA3RTk1OTAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMzFEOTJBQTUyNzA3RThCMzAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFj
ZS5oICovOyB9OworCQkzMUQ5MkFBQjI3MDhEMjAxMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDkyQUE4
MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oICovOyB9OwogCQkzMURFQTQ1NjFC
MzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFERUE0NTQxQjM5RjREOTAwRjc3MTc4
IC8qIFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIuaCAqLzsgfTsKIAkJMzFFQUY5N0UxMjE0MzVBNDAw
RTdDMUJGIC8qIERldmljZU1vdGlvbkNsaWVudElPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFFQUY5N0MxMjE0MzVBNDAwRTdDMUJGIC8qIERldmlj
ZU1vdGlvbkNsaWVudElPUy5oICovOyB9OwogCQkzMUVCNTRERjFFN0RDNzQ0MDBDMTYyM0IgLyog
UlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDMxRUI1NEREMUU3REM3NDQwMEMxNjIzQiAvKiBSVENSdHBUcmFu
c2NlaXZlckRpcmVjdGlvbi5oICovOyB9OwpAQCAtNzc1NCw2ICs3NzU4LDE5IEBACiAJCTMxRDI2
QkM0MUY4NkQyNjYwMDhGRjI1NSAvKiBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRDI2QkM1MUY4NkQyNjgwMDhGRjI1NSAvKiBK
U0ltYWdlQml0bWFwT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0ltYWdlQml0bWFwT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQy
NkJDNjFGODZEMjY5MDA4RkYyNTUgLyogSlNJbWFnZUJpdG1hcC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0ltYWdlQml0bWFwLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMzFEOTJBOUMyNzA3RDVEMDAwQUQwMUQwIC8qIFhSSGFuZEpvaW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFhSSGFuZEpvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTMxRDkyQTlFMjcwN0Q1RDEwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWFJI
YW5kSm9pbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMDI3MDdE
NjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSGFu
ZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUExMjcwN0Q2OEQwMEFE
MDFEMCAvKiBXZWJYUkhhbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViWFJIYW5kLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhh
bmQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IFdlYlhSSGFuZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxRDkyQUE0MjcwN0U4M0EwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdl
YlhSSm9pbnRTcGFjZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE1
MjcwN0U4QjMwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
WFJKb2ludFNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE2Mjcw
N0U5NTEwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViWFJKb2ludFNwYWNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJB
QTgyNzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlhSSm9pbnRQb3NlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE5Mjcw
OEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViWFJKb2ludFBvc2Uu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAx
RDAgLyogV2ViWFJKb2ludFBvc2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFBv
c2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFENzI3MEI1NDc4MDBB
RDAxRDAgLyogV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUklucHV0
U291cmNlK0hhbmRJbnB1dC5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5
MkFEOTI3MEI1NDg1MDBBRDAxRDAgLyogV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJX
ZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkz
MURFQTQ1MzFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlN5c3RlbUJhY2tkcm9wTGF5
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxREVBNDU0MUIzOUY0RDkwMEY3
NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFFQUY5N0MxMjE0MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNsaWVudElP
Uy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnRJ
T1MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI5MTU4LDEyICsyOTE3NSwxNyBA
QAogCQkJCUUxRUU4QUQzMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUkJvdW5kZWRSZWZlcmVuY2VT
cGFjZS5jcHAgKi8sCiAJCQkJRTFFRThBRDEyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSQm91bmRl
ZFJlZmVyZW5jZVNwYWNlLmggKi8sCiAJCQkJRTE5NDkwOTQyNDM0RjE2MDAwNDE2QTk5IC8qIFdl
YlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCAqLywKKwkJCQkzMUQ5MkFEOTI3MEI1NDg1MDBB
RDAxRDAgLyogV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsICovLAogCQkJCUUxRUU4QUYwMjQxMkIx
NzAwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmNwcCAqLywKIAkJCQlFMUVFOEFFMzI0MTJCMTcwMDBF
Nzk0RDYgLyogV2ViWFJGcmFtZS5oICovLAogCQkJCUUxOTQ5MDg4MjQzNEYxNTkwMDQxNkE5OSAv
KiBXZWJYUkZyYW1lLmlkbCAqLywKIAkJCQkxMUU1MTYzQjI2MUUxQTE0MDBFNjlGMjUgLyogV2Vi
WFJHYW1lcGFkLmNwcCAqLywKIAkJCQkxMUU1MTYzQTI2MUUxQTE0MDBFNjlGMjUgLyogV2ViWFJH
YW1lcGFkLmggKi8sCisJCQkJMzFEOTJBQTAyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5j
cHAgKi8sCisJCQkJMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oICovLAor
CQkJCTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaWRsICovLAogCQkJCUJD
MDI0QTlBMjcwQTc2NTEwMEZENEMzRiAvKiBXZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsICov
LAorCQkJCTMxRDkyQUQ3MjcwQjU0NzgwMEFEMDFEMCAvKiBXZWJYUklucHV0U291cmNlK0hhbmRJ
bnB1dC5pZGwgKi8sCiAJCQkJRTFFRThCMEQyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRT
b3VyY2UuY3BwICovLAogCQkJCUUxRUU4QjE3MjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUklucHV0
U291cmNlLmggKi8sCiAJCQkJRTE5NDkwODkyNDM0RjE1QTAwNDE2QTk5IC8qIFdlYlhSSW5wdXRT
b3VyY2UuaWRsICovLApAQCAtMjkxNzIsNiArMjkxOTQsMTIgQEAKIAkJCQlFMTk0OTA5MzI0MzRG
MTYwMDA0MTZBOTkgLyogV2ViWFJJbnB1dFNvdXJjZUFycmF5LmlkbCAqLywKIAkJCQkxMUU1MTYz
NzI2MUUxQTA1MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmNwcCAqLywKIAkJCQkxMUU1MTYz
NTI2MUUxQTA1MDBFNjlGMjUgLyogV2ViWFJJbnB1dFNwYWNlLmggKi8sCisJCQkJMzFEOTJBQUEy
NzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmNwcCAqLywKKwkJCQkzMUQ5MkFBODI3
MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaCAqLywKKwkJCQkzMUQ5MkFBOTI3MDhE
MUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuaWRsICovLAorCQkJCTMxRDkyQUE2MjcwN0U5
NTEwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuY3BwICovLAorCQkJCTMxRDkyQUE1MjcwN0U4
QjMwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAqLywKKwkJCQkzMUQ5MkFBNDI3MDdFODNB
MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmlkbCAqLywKIAkJCQlFMTJGREFGQjI0QTBGRDFD
MDA3MDIzNkUgLyogV2ViWFJMYXllci5jcHAgKi8sCiAJCQkJRTEyRkRBRkQyNEEwRkQxRTAwNzAy
MzZFIC8qIFdlYlhSTGF5ZXIuaCAqLywKIAkJCQlFMTJGREFGRTI0QTBGRDFGMDA3MDIzNkUgLyog
V2ViWFJMYXllci5pZGwgKi8sCkBAIC0yOTIxOSw2ICsyOTI0Nyw4IEBACiAJCQkJRTFFRThBRkIy
NDEyQjE3MDAwRTc5NEQ2IC8qIFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaWRsICovLAogCQkJCUUx
RUU4QUVFMjQxMkIxNzAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaCAqLywKIAkJCQlFMUVFOEIw
NzI0MTJCMTcwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmlkbCAqLywKKwkJCQkzMUQ5MkE5QzI3
MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAqLywKKwkJCQkzMUQ5MkE5RTI3MDdENUQx
MDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaWRsICovLAogCQkJCUUxRUU4QUNDMjQxMkIxNzAwMEU3
OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuY3BwICovLAogCQkJCUUxRUU4QjA5MjQxMkIxNzAw
MEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaCAqLywKIAkJCQlFMUVFOEIwMDI0MTJCMTcw
MDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmlkbCAqLywKQEAgLTM2MTI0LDkgKzM2MTU0
LDEyIEBACiAJCQkJRTFFRThCN0UyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSQm91bmRlZFJlZmVy
ZW5jZVNwYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4QTI0MTMxOTFGMDBFNzk0RDYg
LyogV2ViWFJGcmFtZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFFNTE2M0MyNjFFMUExNTAwRTY5
RjI1IC8qIFdlYlhSR2FtZXBhZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQTMyNzA3RDY5
NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCQTgyNDEz
MTk2MzAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRTb3VyY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
RUU4Qjg2MjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlQXJyYXkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTExRTUxNjM4MjYxRTFBMDYwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2Uu
aCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUFCMjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpv
aW50UG9zZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQTcyNzA3RTk1OTAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyRkRCMDAyNEEwRkQyMDAw
NzAyMzZFIC8qIFdlYlhSTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNEYxNjlGMjY0MEJD
NDEwMDY2M0VDRSAvKiBXZWJYUk9wYXF1ZUZyYW1lYnVmZmVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEI4ODI0MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJQb3NlLmggaW4gSGVhZGVycyAqLywK
QEAgLTM2MjQ3LDYgKzM2MjgwLDcgQEAKIAkJCQlFMUVFOEI5NzI0MTMxOTUwMDBFNzk0RDYgLyog
WFJFeWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QjhGMjQxMzE5NTAwMEU3OTRENiAvKiBY
UkZyYW1lUmVxdWVzdENhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI5MjI0MTMx
OTUwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUQ5MkE5
RjI3MDdENURFMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
RUU4QjlGMjQxMzE5NTAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxRUU4Qjk5MjQxMzE5NTAwMEU3OTRENiAvKiBYUklucHV0U291cmNlc0NoYW5n
ZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJBOUY0QTI0OEE5OUUyMDAzRjA2QzggLyog
WFJJbnRlcmFjdGlvbk1vZGUuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDQzMjE0Y2U5YzRkNDUxNDFm
ZTlhOTk5MTYzNzY3Yzk4YjFlMWQ1MzIuLjdkY2NmZDYxN2FmNDY4ODU2YTQ5YTdiZWYxYmY1Y2Rm
ODAzNjA0OGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmgKQEAgLTMwOSwxMCArMzA5LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhYTUxIdHRwUmVxdWVzdCkgXAogICAgIG1hY3JvKFhSQm91bmRlZFJlZmVyZW5jZVNw
YWNlKSBcCiAgICAgbWFjcm8oWFJGcmFtZSkgXAorICAgIG1hY3JvKFhSSGFuZCkgXAogICAgIG1h
Y3JvKFhSSW5wdXRTb3VyY2UpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlQXJyYXkpIFwKICAg
ICBtYWNybyhYUklucHV0U291cmNlRXZlbnQpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlc0No
YW5nZUV2ZW50KSBcCisgICAgbWFjcm8oWFJKb2ludFBvc2UpIFwKKyAgICBtYWNybyhYUkpvaW50
U3BhY2UpIFwKICAgICBtYWNybyhYUkxheWVyKSBcCiAgICAgbWFjcm8oWFJQb3NlKSBcCiAgICAg
bWFjcm8oWFJSZWZlcmVuY2VTcGFjZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0veHIvUGxhdGZvcm1YUi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvUGxhdGZv
cm1YUi5oCmluZGV4IGZjMjRmOGE0ZjYxZjgxMzQ4ZGE2NjRhMTBkYWQ0ODBhN2VjMjkzMjguLmQx
ZmFkYWI3ZDRkNzZjM2QwN2JhOTA3MTAyMGFlZTRhYTBkNWQ0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKQEAgLTc4LDYgKzc4LDM4IEBAIGVudW0gY2xhc3MgWFJU
YXJnZXRSYXlNb2RlIHsKICAgICBTY3JlZW4sCiB9OwogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRT
KQorCitlbnVtIGNsYXNzIEhhbmRKb2ludCA6IHVuc2lnbmVkIHsKKyAgICBXcmlzdCwKKyAgICBU
aHVtYk1ldGFjYXJwYWwsCisgICAgVGh1bWJQaGFsYW54UHJveGltYWwsCisgICAgVGh1bWJQaGFs
YW54RGlzdGFsLAorICAgIFRodW1iVGlwLAorICAgIEluZGV4RmluZ2VyTWV0YWNhcnBhbCwKKyAg
ICBJbmRleEZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhJbnRl
cm1lZGlhdGUsCisgICAgSW5kZXhGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIEluZGV4RmluZ2Vy
VGlwLAorICAgIE1pZGRsZUZpbmdlck1ldGFjYXJwYWwsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFu
eFByb3hpbWFsLAorICAgIE1pZGRsZUZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUsCisgICAgTWlk
ZGxlRmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBNaWRkbGVGaW5nZXJUaXAsCisgICAgUmluZ0Zp
bmdlck1ldGFjYXJwYWwsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBSaW5n
RmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAgICBSaW5nRmluZ2VyUGhhbGFueERpc3RhbCwK
KyAgICBSaW5nRmluZ2VyVGlwLAorICAgIFBpbmt5RmluZ2VyTWV0YWNhcnBhbCwKKyAgICBQaW5r
eUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBQaW5reUZpbmdlclBoYWxhbnhJbnRlcm1lZGlh
dGUsCisgICAgUGlua3lGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIFBpbmt5RmluZ2VyVGlwCit9
OworCisjZW5kaWYKKwogY2xhc3MgVHJhY2tpbmdBbmRSZW5kZXJpbmdDbGllbnQ7CiAKIGNsYXNz
IERldmljZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxEZXZpY2U+LCBwdWJsaWMgQ2Fu
TWFrZVdlYWtQdHI8RGV2aWNlPiB7CkBAIC0yMDgsNiArMjQwLDEwIEBAIHB1YmxpYzoKICAgICAg
ICAgICAgIHN0ZDo6b3B0aW9uYWw8SW5wdXRTb3VyY2VQb3NlPiBncmlwT3JpZ2luOwogICAgICAg
ICAgICAgVmVjdG9yPElucHV0U291cmNlQnV0dG9uPiBidXR0b25zOwogICAgICAgICAgICAgVmVj
dG9yPGZsb2F0PiBheGVzOworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBBY3R1YWxseSBob2xkIHNvbWUgaGFuZCBkYXRhLgorICAgICAgICAgICAgYm9vbCBz
aW11bGF0ZUhhbmQgeyBmYWxzZSB9OworI2VuZGlmCiAKICAgICAgICAgICAgIHRlbXBsYXRlPGNs
YXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICAgICAgICAgIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPElucHV0U291cmNlPiBk
ZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtl
WFJJbnB1dFNvdXJjZUluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRT
b3VyY2VJbml0LmgKaW5kZXggZWM0MmE0YjMxMDAxODJiMzBlMzQzMWVmMGE0OGQ5ZTE2Mjg5ODQw
YS4uMTYwNzYyZDdkNDc3YWJmNjRkMDUyNDY0ZmViOWRkMjA1NTA5ZGFhZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5oCkBAIC00NSw2ICs0NSw5
IEBAIHN0cnVjdCBGYWtlWFJJbnB1dFNvdXJjZUluaXQgewogICAgIGJvb2wgc2VsZWN0aW9uQ2xp
Y2tlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPEZha2VYUkJ1dHRvblN0YXRlSW5pdD4gc3VwcG9y
dGVkQnV0dG9uczsKICAgICBGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQgZ3JpcE9yaWdpbjsKKyNp
ZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgYm9vbCBzaW11bGF0ZUhhbmQgeyBmYWxzZSB9Owor
I2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5pZGwKaW5kZXggZTkwOTRiNjdjOWY3YzNk
MDc2ZmFmNzk1OWZmNDhjMmM5ZWY4ODRmOS4uNzk4NWM2OWJiZWRkYzk1ZDIyM2NkOTZmODZiM2Zj
YjEyY2Y0OGYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtlWFJJbnB1
dFNvdXJjZUluaXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRT
b3VyY2VJbml0LmlkbApAQCAtNDEsNCArNDEsNyBAQAogICAgIHNlcXVlbmNlPEZha2VYUkJ1dHRv
blN0YXRlSW5pdD4gc3VwcG9ydGVkQnV0dG9uczsKICAgICAvLyBJZiBub3Qgc2V0IHRoZSBjb250
cm9sbGVyIGlzIGFzc3VtZWQgdG8gbm90IGJlIHRyYWNrZWQuCiAgICAgRmFrZVhSUmlnaWRUcmFu
c2Zvcm1Jbml0IGdyaXBPcmlnaW47CisgICAgLy8gT3B0aW9uYWwgaGFuZCBpbnB1dC4gRm9yIG5v
dyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhY3R1YWwKKyAgICAvLyBkYXRhLiBXZSdyZSBqdXN0
IGNyZWF0aW5nIHRoZSBvYmplY3QgZm9yIHRlc3RpbmcuCisgICAgYm9vbGVhbiBzaW11bGF0ZUhh
bmQgPSBmYWxzZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZh
a2VYUklucHV0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VY
UklucHV0Q29udHJvbGxlci5jcHAKaW5kZXggZmUxM2UwM2E2NWQxNzJkMGQ2ZDIyNGZkMWVhN2Jj
NmY0ZGFhMTYyMS4uNTIyNGQyOGUwNzI2M2Q4OGMzYmRhYzVkYmQ4YmFkZjUwMDQ5ZDlkMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVy
LmNwcApAQCAtNTEsNiArNTEsOSBAQCBXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXI6OldlYkZha2VY
UklucHV0Q29udHJvbGxlcihQbGF0Zm9ybVhSOjpJbnB1dFNvdXJjZUhhbmRsZQogICAgICwgbV9w
cm9maWxlcyhpbml0LnByb2ZpbGVzKQogICAgICwgbV9wcmltYXJ5U2VsZWN0ZWQoaW5pdC5zZWxl
Y3Rpb25TdGFydGVkKQogICAgICwgbV9zaW11bGF0ZVNlbGVjdChpbml0LnNlbGVjdGlvbkNsaWNr
ZWQpCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgICwgbV9zaW11bGF0ZUhhbmQoaW5pdC5z
aW11bGF0ZUhhbmQpCisjZW5kaWYKIHsKICAgICBzZXRQb2ludGVyT3JpZ2luKGluaXQucG9pbnRl
ck9yaWdpbiwgZmFsc2UpOwogICAgIHNldEdyaXBPcmlnaW4oaW5pdC5ncmlwT3JpZ2luLCBmYWxz
ZSk7CkBAIC0xMDYsNiArMTA5LDkgQEAgSW5wdXRTb3VyY2UgV2ViRmFrZVhSSW5wdXRDb250cm9s
bGVyOjpnZXRGcmFtZURhdGEoKQogICAgIHN0YXRlLnByb2ZpbGVzID0gbV9wcm9maWxlczsKICAg
ICBzdGF0ZS5wb2ludGVyT3JpZ2luID0gbV9wb2ludGVyT3JpZ2luOwogICAgIHN0YXRlLmdyaXBP
cmlnaW4gPSBtX2dyaXBPcmlnaW47CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIHN0YXRl
LnNpbXVsYXRlSGFuZCA9IG1fc2ltdWxhdGVIYW5kOworI2VuZGlmCiAKICAgICBpZiAobV9zaW11
bGF0ZVNlbGVjdCkKICAgICAgICAgbV9wcmltYXJ5U2VsZWN0ZWQgPSB0cnVlOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmgKaW5kZXggZTU5
ZGMwMjFkY2VhMzk3YzMxYzYzNDVhNWY4NjIzM2UxMzlkM2EyZS4uY2I0ZDEzNjdlMWYxOTM0NDg2
NzQ1ZGIwNzQxNDVlNTRiYzMxZGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1dlYkZha2VYUklucHV0Q29udHJvbGxlci5oCkBAIC03OSw2ICs3OSw5IEBAIHByaXZhdGU6CiAg
ICAgYm9vbCBtX2Nvbm5lY3RlZCB7IHRydWUgfTsKICAgICBib29sIG1fcHJpbWFyeVNlbGVjdGVk
IHsgZmFsc2UgfTsKICAgICBib29sIG1fc2ltdWxhdGVTZWxlY3QgeyBmYWxzZSB9OworI2lmIEVO
QUJMRShXRUJYUl9IQU5EUykKKyAgICBib29sIG1fc2ltdWxhdGVIYW5kIHsgZmFsc2UgfTsKKyNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDgyZDQwYjY4NDlkZTc5
ZDQxMzNiZjM3ZmU2N2ZmMjJhOGIwODg2NGMuLjdkMzk5MjliZGYzMGUxYWU3YTAzMGE2NzY5MjIy
OTA5N2I4MzIyNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMC0xNyAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlhSXSBTdHVicyBmb3IgV2ViWFIg
SGFuZCBJbnB1dCBNb2R1bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIzMTEyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM4MDIxMzU+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3QgdGhh
dCBjaGVja3MgYW4gWFJIYW5kIG9iamVjdCBjYW4gc3Vydml2ZSBnYXJiYWdlIGNvbGxlY3Rpb24u
CisKKyAgICAgICAgKiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLmh0bWw6IEFk
ZGVkLgorCiAyMDIxLTEwLTExICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBSZW1vdmUgaW5saW5lIGJveCBkZWNvcmF0aW9uIHBhaW50aW5nIHF1aXJrCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy1leHBlY3Rl
ZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTM4YjQyNzE5Njc1MzNkMTU1MGVkNGVhNjE3YThjZjRkOWQ1NDYz
NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElu
cHV0X2djLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1BBU1MgVGVzdCBvYmplY3QgbGlm
ZXRpbWUgb2YgSGFuZCBJbnB1dCBtb2R1bGUgLSB3ZWJnbAorUEFTUyBUZXN0IG9iamVjdCBsaWZl
dGltZSBvZiBIYW5kIElucHV0IG1vZHVsZSAtIHdlYmdsMgorCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9odHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sIGIvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42ZDBkMTI0MjMwNjA5
NGM4ZTI4ZmEzZDFlMzMzMTdiNjVlYjUxMGM4Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbApAQCAtMCwwICsxLDUyIEBACis8
IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJuZXNzcmVwb3J0LmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VieHJfdXRpbC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3RhbnRzX3NpbmdsZV92aWV3
LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdjKCkKK3sKKyAgICBpZiAod2lu
ZG93LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJvbGxlci5jb2xsZWN0KCk7
CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsgLy8gPiBmb3JjZSBnYXJi
YWdlIGNvbGxlY3Rpb24gKEZGIHJlcXVpcmVzIGFib3V0IDlLIGFsbG9jYXRpb25zIGJlZm9yZSBh
IGNvbGxlY3QpCisgICAgICAgIHZhciBzID0gbmV3IFN0cmluZygiYWJjIik7CisgICAgfQorfQor
CitsZXQgdGVzdE5hbWUgPSAiVGVzdCBvYmplY3QgbGlmZXRpbWUgb2YgSGFuZCBJbnB1dCBtb2R1
bGUiOworCitsZXQgZmFrZURldmljZUluaXRQYXJhbXMgPSBUUkFDS0VEX0lNTUVSU0lWRV9TSU5H
TEVfVklFV0RFVklDRTsKKworbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0aW9uKHNlc3Npb24sIGZh
a2VEZXZpY2VDb250cm9sbGVyLCB0LCBzZXNzaW9uT2JqZWN0cykgeworCisgIGxldCBpbnB1dF9z
b3VyY2UgPSBmYWtlRGV2aWNlQ29udHJvbGxlci5zaW11bGF0ZUlucHV0U291cmNlQ29ubmVjdGlv
bih7CisgICAgaGFuZGVkbmVzczogIm5vbmUiLAorICAgIHRhcmdldFJheU1vZGU6ICJ0cmFja2Vk
LXBvaW50ZXIiLAorICAgIHBvaW50ZXJPcmlnaW46IFZBTElEX1BPSU5URVJfVFJBTlNGT1JNLAor
ICAgIHByb2ZpbGVzOiBbXSwKKyAgICBzaW11bGF0ZUhhbmQ6IHRydWUsCisgIH0pOworCisgIHJl
dHVybiBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VTcGFjZSgnbG9jYWwnKQorICAgIC50aGVuKChy
ZWZlcmVuY2VTcGFjZSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHsKKworICAgICAgZnVu
Y3Rpb24gb25GcmFtZSh0aW1lLCB4ckZyYW1lKSB7CisgICAgICAgIGlmIChzZXNzaW9uLmlucHV0
U291cmNlcyAmJiBzZXNzaW9uLmlucHV0U291cmNlcy5sZW5ndGgpIHsKKyAgICAgICAgICBsZXQg
aW5wdXRTb3VyY2UgPSBzZXNzaW9uLmlucHV0U291cmNlc1swXTsKKyAgICAgICAgICBpbnB1dFNv
dXJjZS5oYW5kLmN1c3RvbVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKGlu
cHV0U291cmNlLmhhbmQuY3VzdG9tUHJvcGVydHksIDEpOworICAgICAgICAgIGdjKCk7CisgICAg
ICAgICAgYXNzZXJ0X2VxdWFscyhpbnB1dFNvdXJjZS5oYW5kLmN1c3RvbVByb3BlcnR5LCAxKTsK
KyAgICAgICAgfQorICAgICAgICByZXNvbHZlKCk7CisgICAgICB9CisgICAgICBzZXNzaW9uLnJl
cXVlc3RBbmltYXRpb25GcmFtZShvbkZyYW1lKTsKKyAgfSkpOworfTsKKworeHJfc2Vzc2lvbl9w
cm9taXNlX3Rlc3QoCisgIHRlc3ROYW1lLCB0ZXN0RnVuY3Rpb24sIGZha2VEZXZpY2VJbml0UGFy
YW1zLCAnaW1tZXJzaXZlLXZyJywgeyBvcHRpb25hbEZlYXR1cmVzOiBbImhhbmQtdHJhY2tpbmci
XSB9KTsKKworPC9zY3JpcHQ+Cg==
</data>
<flag name="commit-queue"
          id="465835"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441540</attachid>
            <date>2021-10-17 10:43:11 -0700</date>
            <delta_ts>2021-10-17 11:47:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211018044309.patch</filename>
            <type>text/plain</type>
            <size>75390</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgzOTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGRhMzViMzI3MGYyNDk1NjY2M2ZhY2U2
YzJhYzllMDkxMzBmYTMyZmYuLjE5NDMzNzJkZmI1ZGRjNGUwNTJjOGQ3N2EzYmVhNWY4Njg2Yjky
ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmQgSW5wdXQg
TW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBFTkFCTEVfV0VCWFJfSEFO
RFMgY29tcGlsZSB0aW1lIGZsYWcgYW5kIGEgV2ViWFJIYW5kc0VuYWJsZWQgcHJlZmVyZW5jZS4K
KworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEwLTA4ICBUaW0gSG9ydG9uICA8dGltb3Ro
eV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIGRlZmF1bHRBbHRlcm5hdGVGb3JtQ29udHJv
bERlc2lnbkVuYWJsZWQoKSBjYW4ndCByZWFkIFVJVXNlckludGVyZmFjZUlkaW9tIGluIHRoZSBX
ZWIgQ29udGVudCBwcm9jZXNzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYzUzNjM0YjcwYTQyNjdjYzUwMmZiZWYz
ZTI3Y2EwZGU3ZmM1ODIzMy4uNjBjZTNjYWQ4ZWUyYTYzNjQzMTY5ZjhkZDJmMDJiMzhlMWEyZjE4
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDkzIEBACisyMDIxLTEwLTE3ICBEZWFuIEphY2tzb24g
IDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViWFJdIFN0dWJzIGZvciBXZWJYUiBIYW5k
IElucHV0IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIElETCBhbmQg
c3R1YiBpbXBsZW1lbnRhdGlvbnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5kIElucHV0IG1v
ZHVsZToKKyAgICAgICAgaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5k
LWlucHV0LworCisgICAgICAgIFRoZSBpbXBvcnRhbnQgY2xhc3MgaXMgV2ViWFJIYW5kLCB3aGlj
aCBpcyBvd25lZCBieQorICAgICAgICBhbmQgYWNjZXNzaWJsZSBmcm9tIHRoZSBXZWJYUklucHV0
U291cmNlLCB3aGljaAorICAgICAgICBpdHNlbGYgaXMgb3duZWQgYnkgdGhlIFdlYlhSU2Vzc2lv
bi4KKworICAgICAgICBUZXN0OiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sCisK
KyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDogQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91
dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOiBBZGQgYSBj
dXN0b20gbWFyayBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYW4gb3BhcXVlIHJvb3QuCisgICAgICAg
ICogYmluZGluZ3MvanMvSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwOgorCisgICAgICAgICogTW9k
dWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGw6IEFkZCBuZXcgaGFuZC1yZWxhdGVk
IG1ldGhvZHMuCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OldlYlhSRnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkZyYW1lOjpmaWxsSm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZy
YW1lOjpmaWxsUG9zZXMpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgor
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwOiBOZXcgZmlsZXMuCisgICAg
ICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJY
UkhhbmQ6OldlYlhSSGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmdldCk6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAg
IChXZWJDb3JlOjpXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpuZXh0KToKKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSGFuZDo6c2Vzc2lvbik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQu
aDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpXZWJYUkhhbmQ6OmNyZWF0ZUl0ZXJhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dl
YlhSSGFuZC5pZGw6CisKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2Ur
SGFuZElucHV0LmlkbDogQWRkIFdlYlhSSGFuZCBhY2Nlc3Nvci4KKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1
dFNvdXJjZTo6dXBkYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2UuaDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSW5wdXRTb3VyY2U6OmhhbmQgY29uc3QpOgor
CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6IE5ldyBmaWxlcy4K
KyAgICAgICAgKFdlYkNvcmU6OldlYlhSSm9pbnRQb3NlOjpjcmVhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViWFJKb2ludFBvc2U6OldlYlhSSm9pbnRQb3NlKToKKyAgICAgICAgKiBNb2R1bGVz
L3dlYnhyL1dlYlhSSm9pbnRQb3NlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9z
ZTo6cmFkaXVzIGNvbnN0KToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3Nl
LmlkbDoKKworICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcDogTmV3
IGZpbGVzLgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAg
ICAoV2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAg
ICAqIE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkpvaW50U3BhY2U6OmpvaW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4
ci9XZWJYUkpvaW50U3BhY2UuaWRsOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNw
YWNlLmg6IE5ldyB2aXJ0dWFsIGlkZW50aWZpZXIgZm9yIGpvaW50IHNwYWNlIHN1YmNsYXNzLgor
ICAgICAgICAoV2ViQ29yZTo6V2ViWFJTcGFjZTo6aXNKb2ludFNwYWNlIGNvbnN0KToKKworICAg
ICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uY3BwOiBBZGQgYSBjb21tZW50IHJlZ2Fy
ZGluZyB0aGUgdGVzdGluZyBvZgorICAgICAgICBvcHRpb25hbCBmZWF0dXJlcyAod2hlcmUgdGhl
ICJoYW5kLXRyYWNraW5nIiBmZWF0dXJlIHNob3VsZCBiZSBjaGVja2VkKS4KKyAgICAgICAgKFdl
YkNvcmU6OldlYlhSU3lzdGVtOjpyZXNvbHZlUmVxdWVzdGVkRmVhdHVyZXMgY29uc3QpOgorCisg
ICAgICAgICogTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oOiBOZXcgZmlsZS4KKyAgICAgICAg
KiBNb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbDoKKworICAgICAgICAqIGJpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaDogRXhwb3NlIG5ldyBtYXBwaW5ncyBmcm9tIHB1Ymxpc2hl
ZCBuYW1lcworICAgICAgICB0byBpbnRlcm5hbCBuYW1lcy4KKworICAgICAgICAqIHBsYXRmb3Jt
L3hyL1BsYXRmb3JtWFIuaDogQWRkICJzaW11bGF0ZUhhbmRzIiBmaWVsZCB0byBmcmFtZSBkYXRh
IGZvciB0ZXN0aW5nLgorICAgICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0Lmg6
IEFuZCBzaW1pbGFybHkgdG8gdGhlIGZha2UgaW5wdXQgc291cmNlLgorICAgICAgICAqIHRlc3Rp
bmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmlkbDoKKworICAgICAgICAqIHRlc3RpbmcvV2ViRmFr
ZVhSSW5wdXRDb250cm9sbGVyLmNwcDogQWxsb3cgdGhlIHRlc3Qgc3lzdGVtIHRvIGZha2UgYSBo
YW5kLgorICAgICAgICAoV2ViQ29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpXZWJGYWtl
WFJJbnB1dENvbnRyb2xsZXIpOgorICAgICAgICAoV2ViQ29yZTo6V2ViRmFrZVhSSW5wdXRDb250
cm9sbGVyOjpnZXRGcmFtZURhdGEpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRD
b250cm9sbGVyLmg6CisKIDIwMjEtMTAtMTEgIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9oc2llaEBh
cHBsZS5jb20+CiAKICAgICAgICAgRXhwb3J0IHNvbWUgZGlzcGxheSBsaXN0IGl0ZW0gbWV0aG9k
cyBmb3IgdXNlIGluIFdlYktpdDIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVm
ZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1lbnRhbC55YW1sIGIvU291cmNlL1dURi9TY3Jp
cHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKaW5kZXggNmU5
ZTZmNmZkNDVlZDUwODZkMTIzNGU3N2MyMDFmODhjYzAwZGIzZi4uZDhjN2I0OGI3ZGM1ODM5OTVh
MWYzNzI2OWFkMDc2MGYzZTNjZjJjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9TY3JpcHRzL1By
ZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKKysrIGIvU291cmNlL1dU
Ri9TY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzRXhwZXJpbWVudGFsLnlhbWwKQEAg
LTE2NTIsNiArMTY1MiwxOSBAQCBXZWJYUkdhbWVwYWRzTW9kdWxlRW5hYmxlZDoKICAgICBXZWJD
b3JlOgogICAgICAgZGVmYXVsdDogZmFsc2UKIAorV2ViWFJIYW5kSW5wdXRNb2R1bGVFbmFibGVk
OgorICB0eXBlOiBib29sCisgIGh1bWFuUmVhZGFibGVOYW1lOiAiV2ViWFIgSGFuZCBJbnB1dCBN
b2R1bGUiCisgIGh1bWFuUmVhZGFibGVEZXNjcmlwdGlvbjogIkFkZHMgc3VwcG9ydCBmb3IgdGhl
IEhhbmRzIElucHV0IE1vZHVsZSBmb3IgV2ViWFIiCisgIGNvbmRpdGlvbjogRU5BQkxFKFdFQlhS
X0hBTkRTKQorICBkZWZhdWx0VmFsdWU6CisgICAgV2ViS2l0TGVnYWN5OgorICAgICAgZGVmYXVs
dDogV2ViS2l0OjpkZWZhdWx0V2ViWFJFbmFibGVkKCkKKyAgICBXZWJLaXQ6CisgICAgICBkZWZh
dWx0OiBXZWJLaXQ6OmRlZmF1bHRXZWJYUkVuYWJsZWQoKQorICAgIFdlYkNvcmU6CisgICAgICBk
ZWZhdWx0OiBmYWxzZQorCiBXaGVlbEV2ZW50R2VzdHVyZXNCZWNvbWVOb25CbG9ja2luZzoKICAg
dHlwZTogYm9vbAogICBodW1hblJlYWRhYmxlTmFtZTogIldoZWVsIEV2ZW50IGdlc3R1cmVzIGJl
Y29tZSBub24tYmxvY2tpbmciCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAppbmRleCA4NzM4ZDI1ZDFi
Y2M3MDk1ODliMjZiMmY5MjhmNGY4Y2VlNjBjNmY5Li4yMmE2ZjViNGQ3Mzk5ODAwNzczNTE0YzBm
MGE0NGEyNzBhNjA3MmY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJs
ZS5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxlLmgKQEAgLTE2MCw3ICsxNjAs
NiBAQAogI2RlZmluZSBFTkFCTEVfTUVUQV9WSUVXUE9SVCAwCiAjZW5kaWYKIAotCiAjaWYgIWRl
ZmluZWQoRU5BQkxFX0ZJTEVfUkVQTEFDRU1FTlQpCiAjZGVmaW5lIEVOQUJMRV9GSUxFX1JFUExB
Q0VNRU5UIDAKICNlbmRpZgpAQCAtNTQ1LDYgKzU0NCwxNCBAQAogI2RlZmluZSBFTkFCTEVfRklM
RV9TSEFSRSAxCiAjZW5kaWYKIAorI2lmICFkZWZpbmVkKEVOQUJMRV9XRUJYUikKKyNkZWZpbmUg
RU5BQkxFX1dFQlhSIDAKKyNlbmRpZgorCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRT
KQorI2RlZmluZSBFTkFCTEVfV0VCWFJfSEFORFMgMAorI2VuZGlmCisKIC8qCiAgKiBFbmFibGUg
dGhpcyB0byBwdXQgZWFjaCBJc29IZWFwIGFuZCBvdGhlciBhbGxvY2F0aW9uIGNhdGVnb3JpZXMg
aW50byB0aGVpciBvd24gbWFsbG9jIGhlYXBzLCBzbyB0aGF0IHRvb2xzIGxpa2Ugdm1tYXAgY2Fu
IHNob3cgaG93IGJpZyBlYWNoIGhlYXAgaXMuCiAgKiBUdXJuIEJFTkFCTEVfTUFMTE9DX0hFQVBf
QlJFQUtET1dOIG9uIGluIGJtYWxsb2MgdG9nZXRoZXIgd2hlbiB1c2luZyB0aGlzLgpAQCAtOTI1
LDMgKzkzMiw3IEBACiAjaWYgRU5BQkxFKFBSRURFRklORURfQ09MT1JfU1BBQ0VfRElTUExBWV9Q
MykgJiYgIUVOQUJMRShERVNUSU5BVElPTl9DT0xPUl9TUEFDRV9ESVNQTEFZX1AzKQogI2Vycm9y
ICJFTkFCTEUoUFJFREVGSU5FRF9DT0xPUl9TUEFDRV9ESVNQTEFZX1AzKSByZXF1aXJlcyBFTkFC
TEUoREVTVElOQVRJT05fQ09MT1JfU1BBQ0VfRElTUExBWV9QMykiCiAjZW5kaWYKKworI2lmIEVO
QUJMRShXRUJYUl9IQU5EUykgJiYgIUVOQUJMRShXRUJYUikKKyNlcnJvciAiRU5BQkxFKFdFQlhS
X0hBTkRTKSByZXF1aXJlcyBFTkFCTEUoV0VCWFIpIgorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUVuYWJsZUNvY29hLmgKaW5kZXggZjA5Y2E2ZTAxYTJmYjIyZTEwMjFjNDc4ZDk1OTg1ODQ0Zjlm
ZTQxMy4uMjBiNmU2ODBkOTg5YTZkYzdkYWEwODk3MmZlMDAzM2ZiODVhMGYwYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYv
d3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNjMyLDYgKzYzMiwxMCBAQAogI2RlZmluZSBF
TkFCTEVfV0VCWFIgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCWFJfSEFORFMp
CisjZGVmaW5lIEVOQUJMRV9XRUJYUl9IQU5EUyAxCisjZW5kaWYKKwogI2lmICFkZWZpbmVkKEVO
QUJMRV9XRUJfQVBJX1NUQVRJU1RJQ1MpCiAjZGVmaW5lIEVOQUJMRV9XRUJfQVBJX1NUQVRJU1RJ
Q1MgMQogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDczZWZhOWI4MmM3MTQyYWVkNDgx
MWNhOThjMzljMTdjNzM1YjE0ZmYuLjU0NmJjNjFiYTgzZmYyZTg2OWZhMDYxYzc2ZTBkMzNkZTZm
NmVkMTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xNDEzLDEwICsxNDEzLDE1IEBAIGVuZGlm
ICgpCiBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy93
ZWJ4ci9OYXZpZ2F0b3IrV2ViWFIuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRS
ZWZlcmVuY2VTcGFjZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0
LmlkbAogICAgIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhy
L1dlYlhSSGFuZC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrR2FtZXBh
ZC5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbAog
ICAgIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwKICAgICBNb2R1bGVzL3dlYnhy
L1dlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQ
b3NlLmlkbAorICAgIE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbAogICAgIE1vZHVs
ZXMvd2VieHIvV2ViWFJMYXllci5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwK
ICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNlU3BhY2UuaWRsCkBAIC0xNDMzLDYgKzE0
MzgsNyBAQCBsaXN0KEFQUEVORCBXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxl
cy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJF
eWUuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbAorICAg
IE1vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUkhhbmRl
ZG5lc3MuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlRXZlbnQuaWRsCiAgICAg
TW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggYzU0MjkzMDRlNmJh
Y2ViNmU4NjUxMzZhYWZlMTZkN2NjOWZjNzU3ZS4uNjkzMzA0NzczZTBiM2U3Yjg5OTI2YWQ0MWFj
ZTA3MDY2MzQyNmQzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1
dC54Y2ZpbGVsaXN0CkBAIC01OTUsMTAgKzU5NSwxNSBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L3dlYnNvY2tldHMvQ2xvc2VFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vic29j
a2V0cy9XZWJTb2NrZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL05hdmlnYXRv
citXZWJYUi5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJCb3VuZGVkUmVm
ZXJlbmNlU3BhY2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUr
SGFuZElucHV0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQu
aWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwKKyQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
eHIvV2ViWFJMYXllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJQb3Nl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5jZVNwYWNlLmlk
bApAQCAtNjE1LDYgKzYyMCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvV2ViWFJX
ZWJHTExheWVyLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50
QmxlbmRNb2RlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkV5ZS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYnhyL1hSSGFuZGVkbmVzcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
d2VieHIvWFJJbnB1dFNvdXJjZUV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9YUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCBjZGU0N2VmYTExMjA1ODVjOGFkOTc3
ZGYxNjNjNTZiODU0ZjcxOTBhLi45YmMzODA0YWUwNTgyZjhkZTNhYzFiNjA5Nzk1NDI3MDczZDJk
OTQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMjQxNywxNCArMjQxNywyNCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlNvY2tldC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViU29ja2V0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTV2ViWFJGcmFtZStIYW5kSW5wdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUrSGFuZElucHV0LmgKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFtZS5jcHAK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJGcmFt
ZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
SW5wdXRTb3VyY2UrR2FtZXBhZC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZStHYW1lcGFkLmgKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJIYW5kLmNwcAorJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkhhbmQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNl
K0hhbmRJbnB1dC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlLmNwcAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlLmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1
dFNvdXJjZUFycmF5LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNXZWJYUklucHV0U291cmNlQXJyYXkuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkpvaW50UG9zZS5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2ludFBvc2UuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkpvaW50U3BhY2Uu
Y3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
Sm9pbnRTcGFjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU1dlYlhSTGF5ZXIuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYlhSTGF5ZXIuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXZWJYUlBvc2UuY3BwCkBAIC0yNTI3LDYgKzI1MzcsOCBAQCAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSRXllLmNwcAogJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkV5ZS5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSRnJhbWVSZXF1ZXN0Q2Fs
bGJhY2suY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRKb2ludC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkhhbmRlZG5lc3MuY3BwCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZGVkbmVzcy5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSW5wdXRTb3VyY2VF
dmVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDJlNWQ5MTBkM2U5YTVh
NWNhOThhODhjYjk5MmFjNWYwZDZkZTIxZDkuLjlkZTdlOGQxNWQxNzdlYjQzYTdmODRmNDhkYzFk
MjVkOTBhZjcwZWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDk2LDEwICs0
OTYsMTUgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
c29ja2V0cy9XZWJTb2NrZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvTmF2
aWdhdG9yK1dlYlhSLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSRnJhbWUrSGFuZElucHV0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSRnJhbWUuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrR2FtZXBh
ZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2VBcnJheS5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlK0hhbmRJ
bnB1dC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJMYXllci5pZGwgXAogICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2VieHIvV2ViWFJSZWZlcmVuY2VTcGFjZS5pZGwgXApAQCAtNTE2LDYgKzUyMSw3IEBAIEpT
X0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSRW52aXJv
bm1lbnRCbGVuZE1vZGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJFeWUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJGcmFtZVJlcXVlc3RDYWxsYmFj
ay5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUkhhbmRlZG5lc3MuaWRsIFwKICAgICAkKFdl
YkNvcmUpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZUV2ZW50LmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQuaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZStIYW5kSW5wdXQu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5p
ZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZWMwZDVmMjRkNmYzN2RmMTliMWQ3OTRkMzVjM2E4ZjhlNzk0NjY1Ngot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFt
ZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVu
YWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZCwK
KyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0aWFsIGludGVyZmFjZSBXZWJYUkZy
YW1lIHsKKyAgICBXZWJYUkpvaW50UG9zZT8gZ2V0Sm9pbnRQb3NlKFdlYlhSSm9pbnRTcGFjZSBq
b2ludCwgV2ViWFJTcGFjZSBiYXNlU3BhY2UpOworICAgIGJvb2xlYW4gZmlsbEpvaW50UmFkaWko
c2VxdWVuY2U8V2ViWFJKb2ludFNwYWNlPiBqb2ludFNwYWNlcywgRmxvYXQzMkFycmF5IHJhZGlp
KTsKKyAgICBib29sZWFuIGZpbGxQb3NlcyhzZXF1ZW5jZTxXZWJYUlNwYWNlPiBzcGFjZXMsIFdl
YlhSU3BhY2UgYmFzZVNwYWNlLCBGbG9hdDMyQXJyYXkgdHJhbnNmb3Jtcyk7Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKaW5kZXggNzQyMzZmYjBmNGU1
OTBmNWFkNDJiNzkzZjE1MGJmZWVmYzc2NGJjYy4uOGQyMDQxZjllNjY3MjY5ZTYzODI4NDllMDhh
ZjNhZmJiMjgxOWRiNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCkBAIC0yOSw2ICsyOSw4IEBACiAjaWYgRU5BQkxFKFdFQlhSKQogCiAjaW5jbHVkZSAi
V2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50UG9zZS5o
IgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgogI2luY2x1ZGUgIldlYlhSUmVmZXJlbmNl
U3BhY2UuaCIKICNpbmNsdWRlICJXZWJYUlNlc3Npb24uaCIKICNpbmNsdWRlICJXZWJYUlZpZXdl
clBvc2UuaCIKQEAgLTI1OCw2ICsyNjAsMzAgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggV2ViWFJG
cmFtZTo6bWF0cml4RnJvbVBvc2UoY29uc3QgUGxhdGZvcm1YUjo6RGV2aWNlOjpGcmFtZUQKICAg
ICByZXR1cm4gbWF0cml4OwogfQogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisvLyBodHRw
czovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI2RvbS14cmZyYW1l
LWdldGpvaW50cG9zZQorRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSSm9pbnRQb3NlPj4gV2ViWFJG
cmFtZTo6Z2V0Sm9pbnRQb3NlKGNvbnN0IFdlYlhSSm9pbnRTcGFjZSYgam9pbnQsIGNvbnN0IFdl
YlhSU3BhY2UmIGJhc2VTcGFjZSkKK3sKKyAgICBVTlVTRURfUEFSQU0oam9pbnQpOworICAgIFVO
VVNFRF9QQVJBTShiYXNlU3BhY2UpOworICAgIHJldHVybiBudWxscHRyOworfQorCisvLyBodHRw
czovL2ltbWVyc2l2ZS13ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI2RvbS14cmZyYW1l
LWZpbGxqb2ludHJhZGlpCitFeGNlcHRpb25Pcjxib29sPiBXZWJYUkZyYW1lOjpmaWxsSm9pbnRS
YWRpaShjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+LCBjb25zdCBGbG9hdDMy
QXJyYXkmKQoreworICAgIHJldHVybiB0cnVlOworfQorCisvLyBodHRwczovL2ltbWVyc2l2ZS13
ZWIuZ2l0aHViLmlvL3dlYnhyLWhhbmQtaW5wdXQvI2RvbS14cmZyYW1lLWZpbGxwb3NlcworRXhj
ZXB0aW9uT3I8Ym9vbD4gV2ViWFJGcmFtZTo6ZmlsbFBvc2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8
V2ViWFJTcGFjZT4+LCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgRmxvYXQzMkFycmF5JikKK3sK
KyAgICByZXR1cm4gdHJ1ZTsKK30KKworI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
IAogI2VuZGlmIC8vIEVOQUJMRShXRUJYUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkZyYW1lLmgKaW5kZXggZmE5MDBkYzIyZjY5MTU5Zjc5MjdjNzIxYzI1ZDBkYzc2NDA5MDc2
Yy4uYmJhYTJjZGQ4ZTlmY2I4ZWYwNjRkNTQ3NDgxMjQ0ZDlkNDEyMzhmNiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNs
dWRlICJET01IaWdoUmVzVGltZVN0YW1wLmgiCiAjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvRmxvYXQzMkFy
cmF5Lmg+CiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvYy5oPgogI2luY2x1ZGUgPHd0Zi9SZWYuaD4K
ICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgpAQCAtMzgsNiArMzksOCBAQAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKK2NsYXNzIFdlYlhSSm9pbnRQb3NlOworY2xh
c3MgV2ViWFJKb2ludFNwYWNlOwogY2xhc3MgV2ViWFJQb3NlOwogY2xhc3MgV2ViWFJSZWZlcmVu
Y2VTcGFjZTsKIGNsYXNzIFdlYlhSU2Vzc2lvbjsKQEAgLTU2LDYgKzU5LDEyIEBAIHB1YmxpYzoK
ICAgICBFeGNlcHRpb25PcjxSZWZQdHI8V2ViWFJWaWV3ZXJQb3NlPj4gZ2V0Vmlld2VyUG9zZShj
b25zdCBEb2N1bWVudCYsIGNvbnN0IFdlYlhSUmVmZXJlbmNlU3BhY2UmKTsKICAgICBFeGNlcHRp
b25PcjxSZWZQdHI8V2ViWFJQb3NlPj4gZ2V0UG9zZShjb25zdCBEb2N1bWVudCYsIGNvbnN0IFdl
YlhSU3BhY2UmLCBjb25zdCBXZWJYUlNwYWNlJik7CiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMp
CisgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSSm9pbnRQb3NlPj4gZ2V0Sm9pbnRQb3NlKGNv
bnN0IFdlYlhSSm9pbnRTcGFjZSYsIGNvbnN0IFdlYlhSU3BhY2UmKTsKKyAgICBFeGNlcHRpb25P
cjxib29sPiBmaWxsSm9pbnRSYWRpaShjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSSm9pbnRTcGFj
ZT4+LCBjb25zdCBGbG9hdDMyQXJyYXkmKTsKKyAgICBFeGNlcHRpb25Pcjxib29sPiBmaWxsUG9z
ZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJYUlNwYWNlPj4sIGNvbnN0IFdlYlhSU3BhY2UmLCBj
b25zdCBGbG9hdDMyQXJyYXkmKTsKKyNlbmRpZgorCiAgICAgdm9pZCBzZXRUaW1lKERPTUhpZ2hS
ZXNUaW1lU3RhbXAgdGltZSkgeyBtX3RpbWUgPSB0aW1lOyB9CiAKICAgICB2b2lkIHNldEFjdGl2
ZShib29sIGFjdGl2ZSkgeyBtX2FjdGl2ZSA9IGFjdGl2ZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwYWRlZmQ2M2E3MzZiNjAyYWE5
MmUwYjZhMmFhYmEyNzQ4MDM5ZjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViWFJIYW5kLmgiCisKKyNpZiBFTkFC
TEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgIldlYlhSSW5wdXRT
b3VyY2UuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0
Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFdlYlhSSGFuZCk7CisKK1JlZjxXZWJYUkhhbmQ+IFdlYlhSSGFuZDo6Y3JlYXRl
KGNvbnN0IFdlYlhSSW5wdXRTb3VyY2UmIGlucHV0U291cmNlKQoreworICAgIHJldHVybiBhZG9w
dFJlZigqbmV3IFdlYlhSSGFuZChpbnB1dFNvdXJjZSkpOworfQorCitXZWJYUkhhbmQ6OldlYlhS
SGFuZChjb25zdCBXZWJYUklucHV0U291cmNlJiBpbnB1dFNvdXJjZSkKKyAgICA6IG1faW5wdXRT
b3VyY2UobWFrZVdlYWtQdHIoaW5wdXRTb3VyY2UpKQoreworfQorCitXZWJYUkhhbmQ6On5XZWJY
UkhhbmQoKSA9IGRlZmF1bHQ7CisKK1JlZlB0cjxXZWJYUkpvaW50U3BhY2U+IFdlYlhSSGFuZDo6
Z2V0KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpCit7CisgICAgVU5VU0VEX1BBUkFNKGtleSk7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1dlYlhSSGFuZDo6SXRlcmF0b3I6Okl0ZXJhdG9yKFdl
YlhSSGFuZCYgaGFuZCkKKyAgICA6IG1faGFuZChoYW5kKQoreworfQorCitzdGQ6Om9wdGlvbmFs
PFdURjo6S2V5VmFsdWVQYWlyPFhSSGFuZEpvaW50LCBSZWZQdHI8V2ViWFJKb2ludFNwYWNlPj4+
IFdlYlhSSGFuZDo6SXRlcmF0b3I6Om5leHQoKQoreworICAgIGlmIChtX2luZGV4ID4gbV9oYW5k
LT5tX2pvaW50cy5zaXplKCkpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworfQorCitXZWJYUlNlc3Npb24qIFdlYlhSSGFuZDo6c2Vzc2lv
bigpCit7CisgICAgaWYgKCFtX2lucHV0U291cmNlKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsK
KyAgICByZXR1cm4gbV9pbnB1dFNvdXJjZS5nZXQoKS0+c2Vzc2lvbigpOworfQorCit9CisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MTg3ODAwNWM4Nzg4OWRhNTMwMGU3ZTU3Yzg4MWU0YTY3MjQ0ZTYxMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmgKQEAgLTAsMCArMSw3
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJYUikgJiYg
RU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUg
IldlYlhSSW5wdXRTb3VyY2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIKKyNpbmNs
dWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlICJYUkhhbmRKb2ludC5oIgorI2luY2x1ZGUg
PHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworY2xhc3MgV2ViWFJIYW5kIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJIYW5kPiB7Cisg
ICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUkhhbmQpOworcHVibGljOgorCisgICAgc3Rh
dGljIFJlZjxXZWJYUkhhbmQ+IGNyZWF0ZShjb25zdCBXZWJYUklucHV0U291cmNlJik7CisgICAg
fldlYlhSSGFuZCgpOworCisgICAgdW5zaWduZWQgbG9uZyBzaXplKCkgeyByZXR1cm4gbV9zaXpl
OyB9CisKKyAgICBSZWZQdHI8V2ViWFJKb2ludFNwYWNlPiBnZXQoY29uc3QgWFJIYW5kSm9pbnQm
IGtleSk7CisKKyAgICBjbGFzcyBJdGVyYXRvciB7CisgICAgcHVibGljOgorICAgICAgICBleHBs
aWNpdCBJdGVyYXRvcihXZWJYUkhhbmQmKTsKKyAgICAgICAgc3RkOjpvcHRpb25hbDxXVEY6Oktl
eVZhbHVlUGFpcjxYUkhhbmRKb2ludCwgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+PiBuZXh0KCk7
CisKKyAgICBwcml2YXRlOgorICAgICAgICBSZWY8V2ViWFJIYW5kPiBtX2hhbmQ7CisgICAgICAg
IHNpemVfdCBtX2luZGV4IHsgMCB9OworICAgIH07CisgICAgSXRlcmF0b3IgY3JlYXRlSXRlcmF0
b3IoKSB7IHJldHVybiBJdGVyYXRvcigqdGhpcyk7IH0KKworICAgIC8vIEZvciBHQyByZWFjaGFi
bGl0aXkuCisgICAgV2ViWFJTZXNzaW9uKiBzZXNzaW9uKCk7CisKK3ByaXZhdGU6CisgICAgV2Vi
WFJIYW5kKGNvbnN0IFdlYlhSSW5wdXRTb3VyY2UmKTsKKworICAgIHVuc2lnbmVkIGxvbmcgbV9z
aXplIHsgMCB9OworICAgIHVzaW5nIEhhbmRKb2ludFRvU3BhY2VNYXAgPSBIYXNoTWFwPFhSSGFu
ZEpvaW50LCBSZWY8V2ViWFJKb2ludFNwYWNlPiwgRGVmYXVsdEhhc2g8dW5zaWduZWQ+LCBXVEY6
OlVuc2lnbmVkV2l0aFplcm9LZXlIYXNoVHJhaXRzPHVuc2lnbmVkPj47CisgICAgSGFuZEpvaW50
VG9TcGFjZU1hcCBtX2pvaW50czsKKworICAgIFdlYWtQdHI8V2ViWFJJbnB1dFNvdXJjZT4gbV9p
bnB1dFNvdXJjZTsKK307CisKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNkMWIwOWJkZjIxZmJiYWM3Y2NiODk3MDA3N2Jk
MTk4YmRmZjQ1YTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSSGFuZC5pZGwKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAg
RW5hYmxlZEJ5U2V0dGluZz1XZWJYUkVuYWJsZWQmV2ViWFJIYW5kSW5wdXRNb2R1bGVFbmFibGVk
LAorICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAgIEdlbmVyYXRlSXNSZWFjaGFibGU9
SW1wbFdlYlhSU2Vzc2lvblJvb3QsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdp
bmRvdywKKyAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9
WFJIYW5kCitdIGludGVyZmFjZSBXZWJYUkhhbmQgeworICAgIGl0ZXJhYmxlPFhSSGFuZEpvaW50
LCBXZWJYUkpvaW50U3BhY2U+OworCisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIGxv
bmcgc2l6ZTsKKyAgICBXZWJYUkpvaW50U3BhY2UgZ2V0KFhSSGFuZEpvaW50IGtleSk7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
K0hhbmRJbnB1dC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UrSGFuZElucHV0LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODA1Y2Q5NDE0ZTQwMzUxOTdjZmVkYjI1
N2YxOGUxMTU1MWRjNTRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlK0hhbmRJbnB1dC5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1XZWJYUkVuYWJsZWQmV2ViWFJI
YW5kSW5wdXRNb2R1bGVFbmFibGVkLAorICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTCitdIHBh
cnRpYWwgaW50ZXJmYWNlIFdlYlhSSW5wdXRTb3VyY2UgeworICAgIC8vIGh0dHBzOi8vaW1tZXJz
aXZlLXdlYi5naXRodWIuaW8vd2VieHItaGFuZC1pbnB1dC8jeHJpbnB1dHNvdXJjZS1pbnRlcmZh
Y2UKKyAgICBbU2FtZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYlhSSGFuZD8gaGFuZDsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNl
LmNwcAppbmRleCA5OTUwNTdkNDUxNmJmNzc5ZjkyNTg3NmQ5ZjYyZDg2NGQ3Yjg3NDBlLi5jYzE2
MjU5OGM2ZWZiNTA3YTI2NTE3NTY3YzFhZmQ2MTlmMTM1YzdmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5jcHAKQEAgLTg2LDYgKzg2LDE4
IEBAIHZvaWQgV2ViWFJJbnB1dFNvdXJjZTo6dXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGNvbnN0
IFBsYXRmb3JtWFI6OkRldmljZTo6RnJhbWVECiAjaWYgRU5BQkxFKEdBTUVQQUQpCiAgICAgbV9n
YW1lcGFkLT51cGRhdGVGcm9tUGxhdGZvcm1HYW1lcGFkKFdlYlhSR2FtZXBhZCh0aW1lc3RhbXAs
IG1fY29ubmVjdFRpbWUsIHNvdXJjZSkpOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCWFJfSEFO
RFMpCisgICAgaWYgKHNvdXJjZS5zaW11bGF0ZUhhbmQpIHsKKyAgICAgICAgLy8gRklYTUU6IFRo
aXMgY3VycmVudGx5IGNyZWF0ZXMgYW4gb2JqZWN0IGp1c3QgZm9yIHVzZSBpbiB0ZXN0aW5nLgor
ICAgICAgICAvLyBUaGUgcmVhbCBpbXBsZW1lbnRhdGlvbiB3aWxsIHVzZSBhY3R1YWwgZGF0YSBh
bmQgb25seSBiZSB2aXNpYmxlCisgICAgICAgIC8vIGlmIGhhbmQtdHJhY2tpbmcgd2FzIHJlcXVl
c3RlZCBhdCBzZXNzaW9uIHN0YXJ0LgorICAgICAgICBpZiAoIW1faGFuZCkKKyAgICAgICAgICAg
IG1faGFuZCA9IFdlYlhSSGFuZDo6Y3JlYXRlKCp0aGlzKTsKKyAgICB9IGVsc2UKKyAgICAgICAg
bV9oYW5kID0gbnVsbHB0cjsKKyNlbmRpZgorCiB9CiAKIGJvb2wgV2ViWFJJbnB1dFNvdXJjZTo6
cmVxdWlyZXNJbnB1dFNvdXJjZUNoYW5nZShjb25zdCBJbnB1dFNvdXJjZSYgc291cmNlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAppbmRleCA4
OGZhNTJmNWQ4ODBkZDQ2NDcwNzI1YTgxZTNkZTkxZWY5YjM0MTE3Li4xNzMxOGVmZWI2MTdmNjYx
YTczNTI0ZDE1Y2RhZmU5ODQ2MDYyMjkwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMjAgSWdhbGlhIFMuTC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCkBAIC0zOSwxNSArNDAsMjAgQEAKICNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKKyNpZiBFTkFCTEUoV0VC
WFJfSEFORFMpCisjaW5jbHVkZSAiV2ViWFJIYW5kLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiAjaWYgRU5BQkxFKEdBTUVQQUQpCiBjbGFzcyBHYW1lcGFkOwogI2VuZGlmCiBj
bGFzcyBYUklucHV0U291cmNlRXZlbnQ7CitjbGFzcyBXZWJYUkhhbmQ7CiBjbGFzcyBXZWJYUklu
cHV0U3BhY2U7CiAKLWNsYXNzIFdlYlhSSW5wdXRTb3VyY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxX
ZWJYUklucHV0U291cmNlPiB7CitjbGFzcyBXZWJYUklucHV0U291cmNlIDogcHVibGljIFJlZkNv
dW50ZWQ8V2ViWFJJbnB1dFNvdXJjZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxXZWJYUklucHV0
U291cmNlPiB7CiAgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChXZWJYUklucHV0U291cmNlKTsK
IHB1YmxpYzoKICAgICB1c2luZyBJbnB1dFNvdXJjZSA9IFBsYXRmb3JtWFI6OkRldmljZTo6RnJh
bWVEYXRhOjpJbnB1dFNvdXJjZTsKQEAgLTY3LDEwICs3MywxNCBAQCBwdWJsaWM6CiAgICAgY29u
c3QgR2FtZXBhZCogZ2FtZXBhZCgpIGNvbnN0IHsgcmV0dXJuIG1fZ2FtZXBhZC5wdHIoKTsgfQog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgY29uc3QgV2ViWFJIYW5kKiBo
YW5kKCkgY29uc3QgeyByZXR1cm4gbV9oYW5kLmdldCgpOyB9CisjZW5kaWYKKwogICAgIHZvaWQg
dXBkYXRlKGRvdWJsZSB0aW1lc3RhbXAsIGNvbnN0IElucHV0U291cmNlJik7CiAgICAgYm9vbCBy
ZXF1aXJlc0lucHV0U291cmNlQ2hhbmdlKGNvbnN0IElucHV0U291cmNlJik7CiAgICAgdm9pZCBk
aXNjb25uZWN0KCk7Ci0gICAgCisKICAgICB2b2lkIHBvbGxFdmVudHMoVmVjdG9yPFJlZjxYUklu
cHV0U291cmNlRXZlbnQ+PiYpOwogCiAgICAgLy8gRm9yIEdDIHJlYWNoYWJsaXRpeS4KQEAgLTg5
LDYgKzk5LDEwIEBAIHByaXZhdGU6CiAgICAgUmVmPEdhbWVwYWQ+IG1fZ2FtZXBhZDsKICNlbmRp
ZgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIFJlZlB0cjxXZWJYUkhhbmQ+IG1faGFu
ZDsKKyNlbmRpZgorCiAgICAgYm9vbCBtX3NlbGVjdFN0YXJ0ZWQgeyBmYWxzZSB9OwogICAgIGJv
b2wgbV9zcXVlZXplU3RhcnRlZCB7IGZhbHNlIH07CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Yjc4M2IwYzY2YmNk
ZDc1OTY5MDk4YTEyZTFkYTI3Yjc3MTIxYTYzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHAKQEAgLTAsMCArMSw0OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFBv
c2UuaCIKKworI2lmIEVOQUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5j
bHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2ViWFJKb2ludFBvc2UpOworCitSZWY8V2ViWFJK
b2ludFBvc2U+IFdlYlhSSm9pbnRQb3NlOjpjcmVhdGUoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+
JiYgdHJhbnNmb3JtLCBib29sIGVtdWxhdGVkUG9zaXRpb24pCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViWFJKb2ludFBvc2UoV1RGTW92ZSh0cmFuc2Zvcm0pLCBlbXVsYXRlZFBvc2l0
aW9uKSk7Cit9CisKK1dlYlhSSm9pbnRQb3NlOjpXZWJYUkpvaW50UG9zZShSZWY8V2ViWFJSaWdp
ZFRyYW5zZm9ybT4mJiB0cmFuc2Zvcm0sIGJvb2wgZW11bGF0ZWRQb3NpdGlvbikKKyAgICA6IFdl
YlhSUG9zZShXVEZNb3ZlKHRyYW5zZm9ybSksIGVtdWxhdGVkUG9zaXRpb24pCit7Cit9CisKK30K
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhS
Sm9pbnRQb3NlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3Nl
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMWQ3Yzc0MWEzYWE2NGE1Zjk4NTk4NWVjYWQ3ZTI4ZmZlYTc2ODk5ZAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFBvc2UuaApAQCAtMCwwICsxLDU1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJQbGF0
Zm9ybVhSLmgiCisjaW5jbHVkZSAiV2ViWFJQb3NlLmgiCisjaW5jbHVkZSAiV2ViWFJSaWdpZFRy
YW5zZm9ybS5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5oIgorI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgV2ViWFJKb2ludFBvc2UgOiBwdWJsaWMgV2ViWFJQb3NlIHsKKyAgICBXVEZfTUFLRV9J
U09fQUxMT0NBVEVEKFdlYlhSSm9pbnRQb3NlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdl
YlhSSm9pbnRQb3NlPiBjcmVhdGUoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIGJvb2wgZW11
bGF0ZWRQb3NpdGlvbik7CisgICAgfldlYlhSSm9pbnRQb3NlKCkgPSBkZWZhdWx0OworCisgICAg
ZmxvYXQgcmFkaXVzKCkgY29uc3QgeyByZXR1cm4gbV9yYWRpdXM7IH0KKworcHJpdmF0ZToKKyAg
ICBXZWJYUkpvaW50UG9zZShSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4mJiwgYm9vbCBlbXVsYXRl
ZFBvc2l0aW9uKTsKKworICAgIGZsb2F0IG1fcmFkaXVzIHsgMCB9OworfTsKKworfQorCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBv
c2UuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTk2NGQ4MTc1ZDBhOTA4Zjk2YjllNzJmZTJlYWU4OWY2NTU0ODNjYQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBv
c2UuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNl
dHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25k
aXRpb25hbD1XRUJYUl9IQU5EUywKKyAgICBTZWN1cmVDb250ZXh0LAorICAgIEV4cG9zZWQ9V2lu
ZG93LAorICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUsCisgICAgSW50ZXJmYWNlTmFtZT1Y
UkpvaW50UG9zZQorXSBpbnRlcmZhY2UgV2ViWFJKb2ludFBvc2UgOiBXZWJYUlBvc2UgeworICAg
IHJlYWRvbmx5IGF0dHJpYnV0ZSBmbG9hdCByYWRpdXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ0YmRiN2Fh
YmI5N2FlNzhiMWM2ZDg5MzJlOGQ5NjVjZDIzZWM1YTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKQEAgLTAsMCArMSw1
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViWFJK
b2ludFNwYWNlLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykK
KworI2luY2x1ZGUgIldlYlhSUmlnaWRUcmFuc2Zvcm0uaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgorI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRTcGFjZSk7CisK
K1JlZjxXZWJYUkpvaW50U3BhY2U+IFdlYlhSSm9pbnRTcGFjZTo6Y3JlYXRlKERvY3VtZW50JiBk
b2N1bWVudCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFdlYlhSSm9pbnRTcGFjZShkb2N1bWVudCwgc2Vzc2lvbikpOworfQorCitXZWJYUkpvaW50
U3BhY2U6OldlYlhSSm9pbnRTcGFjZShEb2N1bWVudCYgZG9jdW1lbnQsIFdlYlhSU2Vzc2lvbiYg
c2Vzc2lvbikKKyAgICA6IFdlYlhSU3BhY2UoZG9jdW1lbnQsIFdlYlhSUmlnaWRUcmFuc2Zvcm06
OmNyZWF0ZSgpKQorICAgICwgbV9zZXNzaW9uKG1ha2VXZWFrUHRyKHNlc3Npb24pKQoreworfQor
CitXZWJYUkpvaW50U3BhY2U6On5XZWJYUkpvaW50U3BhY2UoKSA9IGRlZmF1bHQ7CisKK3N0ZDo6
b3B0aW9uYWw8VHJhbnNmb3JtYXRpb25NYXRyaXg+IFdlYlhSSm9pbnRTcGFjZTo6bmF0aXZlT3Jp
Z2luKCkgY29uc3QKK3sKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OworfQorCit9CisKKyNlbmRp
ZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3Bh
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNTEyNTdiY2M1ZTRiNjQ0ZTJiMzUyZmZmMzcxOTY2OWI4ODc3OTY1ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNl
LmgKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShXRUJYUikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiRG9jdW1lbnQu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVhSLmgiCisjaW5jbHVkZSAiV2ViWFJTZXNzaW9uLmgiCisj
aW5jbHVkZSAiV2ViWFJTcGFjZS5oIgorI2luY2x1ZGUgIlhSSGFuZEpvaW50LmgiCisjaW5jbHVk
ZSA8d3RmL0lzb01hbGxvYy5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBXZWJYUkpvaW50U3BhY2UgOiBwdWJsaWMgUmVmQ291bnRlZDxXZWJYUkpv
aW50U3BhY2U+LCBwdWJsaWMgV2ViWFJTcGFjZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChXZWJYUkpvaW50U3BhY2UpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8V2ViWFJKb2ludFNw
YWNlPiBjcmVhdGUoRG9jdW1lbnQmLCBXZWJYUlNlc3Npb24mKTsKKyAgICB2aXJ0dWFsIH5XZWJY
UkpvaW50U3BhY2UoKTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ8V2ViWFJKb2ludFNwYWNlPjo6
cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8V2ViWFJKb2ludFNwYWNlPjo6ZGVyZWY7CisKKyAg
ICBYUkhhbmRKb2ludCBqb2ludE5hbWUoKSBjb25zdCB7IHJldHVybiBYUkhhbmRKb2ludDo6V3Jp
c3Q7IH0KKworcHJpdmF0ZToKKyAgICBXZWJYUkpvaW50U3BhY2UoRG9jdW1lbnQmLCBXZWJYUlNl
c3Npb24mKTsKKworICAgIFdlYlhSU2Vzc2lvbiogc2Vzc2lvbigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fc2Vzc2lvbi5nZXQoKTsgfTsKKyAgICBzdGQ6Om9wdGlvbmFsPFRyYW5zZm9ybWF0aW9u
TWF0cml4PiBuYXRpdmVPcmlnaW4oKSBjb25zdCBmaW5hbDsKKworICAgIHZvaWQgcmVmRXZlbnRU
YXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmlu
YWwgeyBkZXJlZigpOyB9CisKKyAgICBib29sIGlzSm9pbnRTcGFjZSgpIGNvbnN0IGZpbmFsIHsg
cmV0dXJuIHRydWU7IH0KKworICAgIFdlYWtQdHI8V2ViWFJTZXNzaW9uPiBtX3Nlc3Npb247Cit9
OworCit9CisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfV0VCWFJTUEFDRShXZWJYUkpvaW50U3Bh
Y2UsIGlzSm9pbnRTcGFjZSgpKQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMjk0YTE5MzY0ZTk5N2Ri
NWJmMTZmMTlkM2IyOWQwOGUyNTJiY2RiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCkBAIC0wLDAgKzEsMzUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFu
ZElucHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUywKKyAgICBK
U0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2Vk
PVdpbmRvdywKKyAgICBJbnRlcmZhY2VOYW1lPVhSSm9pbnRTcGFjZQorXSBpbnRlcmZhY2UgV2Vi
WFJKb2ludFNwYWNlIDogV2ViWFJTcGFjZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIFhSSGFu
ZEpvaW50IGpvaW50TmFtZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSU2Vzc2lvbi5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dl
YlhSU2Vzc2lvbi5pZGwKaW5kZXggYTdkOGQzYzllN2UxZWNkODhiMGY3NGI1MzY0NzFhMTkyODE3
MjQ3OC4uNTMyMjc1YzRlZGY0MTFjYThjNWEzMWQ4MmY3NzY4MWFjZmU5MDcxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmlkbApAQCAtMzAsNiArMzAs
NyBAQAogICAgIEFjdGl2ZURPTU9iamVjdCwKICAgICBTZWN1cmVDb250ZXh0LAogICAgIEV4cG9z
ZWQ9V2luZG93LAorICAgIEpTQ3VzdG9tTWFya0Z1bmN0aW9uLAogICAgIEludGVyZmFjZU5hbWU9
WFJTZXNzaW9uCiBdIGludGVyZmFjZSBXZWJYUlNlc3Npb24gOiBFdmVudFRhcmdldCB7CiAgICAg
Ly8gQXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUlNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3BhY2UuaApp
bmRleCAyZmU1YTUzZTU2YTIxOTY2NGRkNDJmYTQ3NjNmZDRjYjg2NzQzYmVlLi4wNDMzNjViMDU0
NmYzZDZjYTZhYjBiNjQwZWNkZmEyMjFhZDdlOTQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3BhY2UuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSU3BhY2UuaApAQCAtNTEsNiArNTEsOSBAQCBwdWJsaWM6CiAKICAgICB2aXJ0
dWFsIGJvb2wgaXNSZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAg
dmlydHVhbCBib29sIGlzQm91bmRlZFJlZmVyZW5jZVNwYWNlKCkgY29uc3QgeyByZXR1cm4gZmFs
c2U7IH0KKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgdmlydHVhbCBib29sIGlzSm9pbnRT
cGFjZSgpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CisjZW5kaWYKIAogcHJvdGVjdGVkOgogICAg
IFdlYlhSU3BhY2UoRG9jdW1lbnQmLCBSZWY8V2ViWFJSaWdpZFRyYW5zZm9ybT4mJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTeXN0ZW0uY3BwCmluZGV4IGU0NmQ4NzMx
NTgyZTkxNTM5OWNhYTZjODgxMGVjOGMzYzJkNjc1MDAuLjE3ZmFmOWY2YmMwNTBhNWYzOTMxZjkz
ZjcyM2VjYzMwMDg1NTU2MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJTeXN0ZW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJTeXN0ZW0uY3BwCkBAIC0yOTEsNiArMjkxLDkgQEAgc3RkOjpvcHRpb25hbDxXZWJYUlN5c3Rl
bTo6UmVzb2x2ZWRSZXF1ZXN0ZWRGZWF0dXJlcz4gV2ViWFJTeXN0ZW06OnJlc29sdmVSZXF1ZXMK
ICAgICAgICAgICAgIGlmIChzZXNzaW9uRmVhdHVyZS5pc051bGwoKSkKICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKIAorICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXMgb25seSB0ZXN0aW5n
IGZvciBYUlJlZmVyZW5jZVNwYWNlVHlwZSBmZWF0dXJlcy4gSXQKKyAgICAgICAgICAgIC8vIG5l
ZWRzIHRvIGhhbmRsZSBvcHRpb25hbCBmZWF0dXJlcyBsaWtlICJoYW5kLXRyYWNraW5nIi4KKwog
ICAgICAgICAgICAgLy8gMi4gSWYgZmVhdHVyZSBpcyBub3QgYSB2YWxpZCBmZWF0dXJlIGRlc2Ny
aXB0b3IsIHBlcmZvcm0gdGhlIGZvbGxvd2luZyBzdGVwcwogICAgICAgICAgICAgLy8gICAyLjEu
IExldCBzIGJlIHRoZSByZXN1bHQgb2YgY2FsbGluZyA/IFRvU3RyaW5nKGZlYXR1cmUpLgogICAg
ICAgICAgICAgLy8gICAyLjIuIElmIHMgaXMgbm90IGEgdmFsaWQgZmVhdHVyZSBkZXNjcmlwdG9y
IG9yIGlzIHVuZGVmaW5lZCwgKHJldHVybiBudWxsfGNvbnRpbnVlIHRvIG5leHQgZW50cnkpLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQy
MTEwMzg4YmFlODdiNTc1Mjg1OGY2MzYxMzYyMjRkMjlkNDdhNzAKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmgKQEAgLTAsMCArMSwz
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJYUikgJiYg
RU5BQkxFKFdFQlhSX0hBTkRTKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIFhSSGFu
ZEpvaW50ID0gUGxhdGZvcm1YUjo6SGFuZEpvaW50OworCit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZThkOWRj
ZjI1MzE5MGEwNGQ3MDNiMDZiOTQyZDNlN2UxMjdmNTM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKQEAgLTAsMCArMSw2MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsCisgICAgRXhw
b3J0TWFjcm89V0VCQ09SRV9FWFBPUlQKK10gZW51bSBYUkhhbmRKb2ludCB7CisgICAgIndyaXN0
IiwKKworICAgICJ0aHVtYi1tZXRhY2FycGFsIiwKKyAgICAidGh1bWItcGhhbGFueC1wcm94aW1h
bCIsCisgICAgInRodW1iLXBoYWxhbngtZGlzdGFsIiwKKyAgICAidGh1bWItdGlwIiwKKworICAg
ICJpbmRleC1maW5nZXItbWV0YWNhcnBhbCIsCisgICAgImluZGV4LWZpbmdlci1waGFsYW54LXBy
b3hpbWFsIiwKKyAgICAiaW5kZXgtZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRpYXRlIiwKKyAgICAi
aW5kZXgtZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgICAiaW5kZXgtZmluZ2VyLXRpcCIsCisK
KyAgICAibWlkZGxlLWZpbmdlci1tZXRhY2FycGFsIiwKKyAgICAibWlkZGxlLWZpbmdlci1waGFs
YW54LXByb3hpbWFsIiwKKyAgICAibWlkZGxlLWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIs
CisgICAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1kaXN0YWwiLAorICAgICJtaWRkbGUtZmluZ2Vy
LXRpcCIsCisKKyAgICAicmluZy1maW5nZXItbWV0YWNhcnBhbCIsCisgICAgInJpbmctZmluZ2Vy
LXBoYWxhbngtcHJveGltYWwiLAorICAgICJyaW5nLWZpbmdlci1waGFsYW54LWludGVybWVkaWF0
ZSIsCisgICAgInJpbmctZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgICAicmluZy1maW5nZXIt
dGlwIiwKKworICAgICJwaW5reS1maW5nZXItbWV0YWNhcnBhbCIsCisgICAgInBpbmt5LWZpbmdl
ci1waGFsYW54LXByb3hpbWFsIiwKKyAgICAicGlua3ktZmluZ2VyLXBoYWxhbngtaW50ZXJtZWRp
YXRlIiwKKyAgICAicGlua3ktZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgICAicGlua3ktZmlu
Z2VyLXRpcCIKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMmIwM2ZhNzE5YTAxYjlkYTkyOWY4YjU5
NGFhN2IwMjA4MTNiMGMwMC4uZGIxZTM0ZTFhY2VkODc1ZTk5MTY4ODlkYjE0N2I2YjY1OGU2MmMx
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKQEAgLTM2MCw5ICszNjAsMTIgQEAgTW9kdWxlcy93ZWJ4ci9OYXZp
Z2F0b3JXZWJYUi5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2Uu
Y3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSR2Ft
ZXBhZC5jcHAKK01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJY
UklucHV0U291cmNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuY3Bw
CiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTcGFjZS5jcHAKK01vZHVsZXMvd2VieHIvV2ViWFJK
b2ludFBvc2UuY3BwCitNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5jcHAKIE1vZHVsZXMv
d2VieHIvV2ViWFJMYXllci5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJPcGFxdWVGcmFtZWJ1ZmZl
ci5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJQb3NlLmNwcApAQCAtNTYwLDYgKzU2Myw3IEBAIGJp
bmRpbmdzL2pzL0pTVW5kb0l0ZW1DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkFuaW1hdGlv
bkN1c3RvbS5jcHAKIGJpbmRpbmdzL2pzL0pTV2ViR0wyUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5j
cHAKIGJpbmRpbmdzL2pzL0pTV2ViR0xSZW5kZXJpbmdDb250ZXh0Q3VzdG9tLmNwcAorYmluZGlu
Z3MvanMvSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYlhSUmVmZXJl
bmNlU3BhY2VDdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYlhSUmlnaWRUcmFuc2Zvcm1DdXN0
b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYlhSU3BhY2VDdXN0b20uY3BwCkBAIC0zNzg4LDggKzM3
OTIsMTEgQEAgSlNXZWJLaXRUcmFuc2l0aW9uRXZlbnQuY3BwCiBKU1dlYlNvY2tldC5jcHAKIEpT
V2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuY3BwCiBKU1dlYlhSRnJhbWUuY3BwCitKU1dlYlhS
SGFuZC5jcHAKIEpTV2ViWFJJbnB1dFNvdXJjZS5jcHAKIEpTV2ViWFJJbnB1dFNvdXJjZUFycmF5
LmNwcAorSlNXZWJYUkpvaW50UG9zZS5jcHAKK0pTV2ViWFJKb2ludFNwYWNlLmNwcAogSlNXZWJY
UkxheWVyLmNwcAogSlNXZWJYUlBvc2UuY3BwCiBKU1dlYlhSUmVmZXJlbmNlU3BhY2UuY3BwCkBA
IC0zODMxLDYgKzM4MzgsNyBAQCBKU1hQYXRoUmVzdWx0LmNwcAogSlNYUkVudmlyb25tZW50Qmxl
bmRNb2RlLmNwcAogSlNYUkV5ZS5jcHAKIEpTWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5jcHAKK0pT
WFJIYW5kSm9pbnQuY3BwCiBKU1hSSGFuZGVkbmVzcy5jcHAKIEpTWFJJbnB1dFNvdXJjZUV2ZW50
LmNwcAogSlNYUklucHV0U291cmNlc0NoYW5nZUV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGZhY2IzYmRkMDI4Y2Yy
ZDA2ZjBmZjE4ZWUwMjk2Mzc4NzYwNDMxNzIuLmQ3ZTkxMTM3YzUxMTAxYTQzY2Q3MGI4N2Y4MTQ0
NWRkMTIyNmVjNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTEwMDcsNiArMTAwNywxMCBAQAogCQkzMUMwRkYyNTBFNENFQjZF
MDA3RDZGRTUgLyogV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYxRjBFNENFQjZFMDA3RDZGRTUgLyogV2Vi
S2l0VHJhbnNpdGlvbkV2ZW50LmggKi87IH07CiAJCTMxQzBGRjNFMEU0Q0VGQUMwMDdENkZFNSAv
KiBKU1dlYktpdEFuaW1hdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUMwRkYzQTBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRBbmlt
YXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkY0MDBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJL
aXRUcmFuc2l0aW9uRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDMxQzBGRjNDMEU0Q0VGQUMwMDdENkZFNSAvKiBKU1dlYktpdFRyYW5zaXRpb25F
dmVudC5oICovOyB9OworCQkzMUQ5MkE5RjI3MDdENURFMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDkyQTlD
MjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovOyB9OworCQkzMUQ5MkFBMzI3MDdE
Njk2MDBBRDAxRDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmgg
Ki87IH07CisJCTMxRDkyQUE3MjcwN0U5NTkwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMxRDkyQUE1Mjcw
N0U4QjMwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCAqLzsgfTsKKwkJMzFEOTJBQUIyNzA4
RDIwMTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFBODI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJK
b2ludFBvc2UuaCAqLzsgfTsKIAkJMzFERUE0NTYxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3Rl
bUJhY2tkcm9wTGF5ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDMxREVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNrZHJvcExheWVy
LmggKi87IH07CiAJCTMxRUFGOTdFMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGll
bnRJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDMx
RUFGOTdDMTIxNDM1QTQwMEU3QzFCRiAvKiBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaCAqLzsgfTsK
IAkJMzFFQjU0REYxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUVCNTRE
RDFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCAqLzsgfTsK
QEAgLTc3NTQsMTAgKzc3NTgsMjQgQEAKIAkJMzFEMjZCQzQxRjg2RDI2NjAwOEZGMjU1IC8qIEpT
SW1hZ2VCaXRtYXBPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTSW1hZ2VCaXRtYXBPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJMzFEMjZCQzUxRjg2RDI2ODAwOEZGMjU1IC8qIEpTSW1hZ2VCaXRtYXBPcHRpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSW1hZ2VCaXRtYXBPcHRpb25zLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRDI2QkM2MUY4NkQyNjkwMDhGRjI1NSAvKiBK
U0ltYWdlQml0bWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
SW1hZ2VCaXRtYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkE5QzI3
MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFJIYW5kSm9p
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBOUUyNzA3RDVEMTAwQUQw
MUQwIC8qIFhSSGFuZEpvaW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBYUkhhbmRKb2ludC5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUEwMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJIYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXZWJYUkhhbmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFE
OTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViWFJIYW5kLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTQyNzA3RTgzQTAwQUQwMUQw
IC8qIFdlYlhSSm9pbnRTcGFjZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTUyNzA3RThCMzAwQUQwMUQwIC8qIFdlYlhS
Sm9pbnRTcGFjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJYUkpvaW50U3BhY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTYyNzA3RTk1MTAwQUQwMUQwIC8qIFdlYlhSSm9p
bnRTcGFjZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJYUkpvaW50U3BhY2UuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBODI3MDhEMUZCMDBBRDAxRDAgLyogV2Vi
WFJKb2ludFBvc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViWFJKb2ludFBvc2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTkyNzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9p
bnRQb3NlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBXZWJYUkpvaW50UG9zZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTMxRDkyQUFBMjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJYUkpvaW50UG9zZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTMxRDkyQUQ3MjcwQjU0NzgwMEFEMDFEMCAvKiBXZWJYUklucHV0U291cmNl
K0hhbmRJbnB1dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gIldlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbCI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUQ5MjcwQjU0ODUwMEFEMDFEMCAvKiBX
ZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gIldlYlhSRnJhbWUrSGFuZElucHV0LmlkbCI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxREVBNDUzMUIzOUY0RDkwMEY3NzE3OCAv
KiBXZWJTeXN0ZW1CYWNrZHJvcExheWVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMzFERUE0NTQxQjM5RjREOTAwRjc3MTc4IC8qIFdlYlN5c3RlbUJhY2tkcm9w
TGF5ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU3lzdGVtQmFja2Ry
b3BMYXllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUVBRjk3QzEyMTQzNUE0
MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IERldmljZU1vdGlvbkNsaWVudElPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkzMUVBRjk3RDEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGV2aWNlTW90
aW9uQ2xpZW50SU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUVCMzM0OTI3
MUM5MzdCMDBDQkRCQUEgLyogSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkzMUVCNTRERDFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUnRwVHJhbnNjZWl2ZXJE
aXJlY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQzFENTAxNEZFRkQw
ODAwQzk0NjYyIC8qIE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTm90aWZpY2F0aW9uUGVybWlzc2lvbkNhbGxiYWNrLmlkbDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQzFEQUMxNEZGMjZFQTAwQzk0NjYyIC8qIE5vdGlm
aWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOb3RpZmljYXRpb25Q
ZXJtaXNzaW9uQ2FsbGJhY2suaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI3Njk4
LDYgKzI3NzE2LDcgQEAKIAkJCQk0NkJDQkJCRTIwODUwMDVCMDA3MTA2MzggLyogSlNSZW1vdGVE
T01XaW5kb3dDdXN0b20uY3BwICovLAogCQkJCTQxNzMzRDdEMjVERkJGQzUwMEExMzZFNSAvKiBK
U1JUQ1J0cFNGcmFtZVRyYW5zZm9ybUN1c3RvbS5jcHAgKi8sCiAJCQkJN0EzRUJFQUEyMUJGMDU0
QzAwMEQwNDNEIC8qIEpTU1ZHVmlld1NwZWNDdXN0b20uY3BwICovLAorCQkJCTMxRUIzMzQ5Mjcx
QzkzN0IwMENCREJBQSAvKiBKU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAgKi8sCiAJCQkpOwogCQkJ
bmFtZSA9IEN1c3RvbTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yOTE1OCwxMiAr
MjkxNzcsMTcgQEAKIAkJCQlFMUVFOEFEMzI0MTJCMTcwMDBFNzk0RDYgLyogV2ViWFJCb3VuZGVk
UmVmZXJlbmNlU3BhY2UuY3BwICovLAogCQkJCUUxRUU4QUQxMjQxMkIxNzAwMEU3OTRENiAvKiBX
ZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oICovLAogCQkJCUUxOTQ5MDk0MjQzNEYxNjAwMDQx
NkE5OSAvKiBXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwgKi8sCisJCQkJMzFEOTJBRDky
NzBCNTQ4NTAwQUQwMUQwIC8qIFdlYlhSRnJhbWUrSGFuZElucHV0LmlkbCAqLywKIAkJCQlFMUVF
OEFGMDI0MTJCMTcwMDBFNzk0RDYgLyogV2ViWFJGcmFtZS5jcHAgKi8sCiAJCQkJRTFFRThBRTMy
NDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSRnJhbWUuaCAqLywKIAkJCQlFMTk0OTA4ODI0MzRGMTU5
MDA0MTZBOTkgLyogV2ViWFJGcmFtZS5pZGwgKi8sCiAJCQkJMTFFNTE2M0IyNjFFMUExNDAwRTY5
RjI1IC8qIFdlYlhSR2FtZXBhZC5jcHAgKi8sCiAJCQkJMTFFNTE2M0EyNjFFMUExNDAwRTY5RjI1
IC8qIFdlYlhSR2FtZXBhZC5oICovLAorCQkJCTMxRDkyQUEwMjcwN0Q2OEQwMEFEMDFEMCAvKiBX
ZWJYUkhhbmQuY3BwICovLAorCQkJCTMxRDkyQUExMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhh
bmQuaCAqLywKKwkJCQkzMUQ5MkFBMjI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJIYW5kLmlkbCAq
LywKIAkJCQlCQzAyNEE5QTI3MEE3NjUxMDBGRDRDM0YgLyogV2ViWFJJbnB1dFNvdXJjZStHYW1l
cGFkLmlkbCAqLywKKwkJCQkzMUQ5MkFENzI3MEI1NDc4MDBBRDAxRDAgLyogV2ViWFJJbnB1dFNv
dXJjZStIYW5kSW5wdXQuaWRsICovLAogCQkJCUUxRUU4QjBEMjQxMkIxNzAwMEU3OTRENiAvKiBX
ZWJYUklucHV0U291cmNlLmNwcCAqLywKIAkJCQlFMUVFOEIxNzI0MTJCMTcwMDBFNzk0RDYgLyog
V2ViWFJJbnB1dFNvdXJjZS5oICovLAogCQkJCUUxOTQ5MDg5MjQzNEYxNUEwMDQxNkE5OSAvKiBX
ZWJYUklucHV0U291cmNlLmlkbCAqLywKQEAgLTI5MTcyLDYgKzI5MTk2LDEyIEBACiAJCQkJRTE5
NDkwOTMyNDM0RjE2MDAwNDE2QTk5IC8qIFdlYlhSSW5wdXRTb3VyY2VBcnJheS5pZGwgKi8sCiAJ
CQkJMTFFNTE2MzcyNjFFMUEwNTAwRTY5RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5jcHAgKi8sCiAJ
CQkJMTFFNTE2MzUyNjFFMUEwNTAwRTY5RjI1IC8qIFdlYlhSSW5wdXRTcGFjZS5oICovLAorCQkJ
CTMxRDkyQUFBMjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5jcHAgKi8sCisJCQkJ
MzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggKi8sCisJCQkJMzFE
OTJBQTkyNzA4RDFGQjAwQUQwMUQwIC8qIFdlYlhSSm9pbnRQb3NlLmlkbCAqLywKKwkJCQkzMUQ5
MkFBNjI3MDdFOTUxMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmNwcCAqLywKKwkJCQkzMUQ5
MkFBNTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi8sCisJCQkJMzFEOTJB
QTQyNzA3RTgzQTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5pZGwgKi8sCiAJCQkJRTEyRkRB
RkIyNEEwRkQxQzAwNzAyMzZFIC8qIFdlYlhSTGF5ZXIuY3BwICovLAogCQkJCUUxMkZEQUZEMjRB
MEZEMUUwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmggKi8sCiAJCQkJRTEyRkRBRkUyNEEwRkQxRjAw
NzAyMzZFIC8qIFdlYlhSTGF5ZXIuaWRsICovLApAQCAtMjkyMTksNiArMjkyNDksOCBAQAogCQkJ
CUUxRUU4QUZCMjQxMkIxNzAwMEU3OTRENiAvKiBYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmlkbCAq
LywKIAkJCQlFMUVFOEFFRTI0MTJCMTcwMDBFNzk0RDYgLyogWFJIYW5kZWRuZXNzLmggKi8sCiAJ
CQkJRTFFRThCMDcyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5pZGwgKi8sCisJCQkJ
MzFEOTJBOUMyNzA3RDVEMDAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggKi8sCisJCQkJMzFEOTJB
OUUyNzA3RDVEMTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmlkbCAqLywKIAkJCQlFMUVFOEFDQzI0
MTJCMTcwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmNwcCAqLywKIAkJCQlFMUVFOEIw
OTI0MTJCMTcwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50LmggKi8sCiAJCQkJRTFFRThC
MDAyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5pZGwgKi8sCkBAIC0zNjEy
NCw5ICszNjE1NiwxMiBAQAogCQkJCUUxRUU4QjdFMjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUkJv
dW5kZWRSZWZlcmVuY2VTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEEyNDEzMTkx
RjAwRTc5NEQ2IC8qIFdlYlhSRnJhbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTExRTUxNjNDMjYx
RTFBMTUwMEU2OUYyNSAvKiBXZWJYUkdhbWVwYWQuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDky
QUEzMjcwN0Q2OTYwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
RUU4QkE4MjQxMzE5NjMwMEU3OTRENiAvKiBXZWJYUklucHV0U291cmNlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMUVFOEI4NjI0MTMxOTFGMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZUFycmF5
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxMUU1MTYzODI2MUUxQTA2MDBFNjlGMjUgLyogV2ViWFJJ
bnB1dFNwYWNlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUQ5MkFBQjI3MDhEMjAxMDBBRDAxRDAg
LyogV2ViWFJKb2ludFBvc2UuaCBpbiBIZWFkZXJzICovLAorCQkJCTMxRDkyQUE3MjcwN0U5NTkw
MEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkZEQjAw
MjRBMEZEMjAwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMTRG
MTY5RjI2NDBCQzQxMDA2NjNFQ0UgLyogV2ViWFJPcGFxdWVGcmFtZWJ1ZmZlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCODgyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSUG9zZS5oIGluIEhl
YWRlcnMgKi8sCkBAIC0zNjI0Nyw2ICszNjI4Miw3IEBACiAJCQkJRTFFRThCOTcyNDEzMTk1MDAw
RTc5NEQ2IC8qIFhSRXllLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI4RjI0MTMxOTUwMDBF
Nzk0RDYgLyogWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFF
RThCOTIyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMzFEOTJBOUYyNzA3RDVERTAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggaW4gSGVhZGVycyAq
LywKIAkJCQlFMUVFOEI5RjI0MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNvdXJjZUV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlFMUVFOEI5OTI0MTMxOTUwMDBFNzk0RDYgLyogWFJJbnB1dFNv
dXJjZXNDaGFuZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEyQTlGNEEyNDhBOTlFMjAw
M0YwNkM4IC8qIFhSSW50ZXJhY3Rpb25Nb2RlLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi44MDBmNTNlODUzODJjM2Q4OTg3YjJiYzU5ODIxNjBhOTc4ZDJiMjFjCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNXZWJYUlNlc3Npb25DdXN0b20u
Y3BwCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNXZWJYUlNlc3Npb24u
aCIKKworI2luY2x1ZGUgIkpTTm9kZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3RlbXBs
YXRlPHR5cGVuYW1lIFZpc2l0b3I+Cit2b2lkIEpTV2ViWFJTZXNzaW9uOjp2aXNpdEFkZGl0aW9u
YWxDaGlsZHJlbihWaXNpdG9yJiB2aXNpdG9yKQoreworICAgIHZpc2l0b3IuYWRkT3BhcXVlUm9v
dCgmd3JhcHBlZCgpKTsKK30KKworREVGSU5FX1ZJU0lUX0FERElUSU9OQUxfQ0hJTERSRU4oSlNX
ZWJYUlNlc3Npb24pOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggNDMyMTRjZTljNGQ0
NTE0MWZlOWE5OTkxNjM3NjdjOThiMWUxZDUzMi4uN2RjY2ZkNjE3YWY0Njg4NTZhNDlhN2JlZjFi
ZjVjZGY4MDM2MDQ4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2Vi
Q29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNv
cmVCdWlsdGluTmFtZXMuaApAQCAtMzA5LDEwICszMDksMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIG1hY3JvKFhNTEh0dHBSZXF1ZXN0KSBcCiAgICAgbWFjcm8oWFJCb3VuZGVkUmVmZXJl
bmNlU3BhY2UpIFwKICAgICBtYWNybyhYUkZyYW1lKSBcCisgICAgbWFjcm8oWFJIYW5kKSBcCiAg
ICAgbWFjcm8oWFJJbnB1dFNvdXJjZSkgXAogICAgIG1hY3JvKFhSSW5wdXRTb3VyY2VBcnJheSkg
XAogICAgIG1hY3JvKFhSSW5wdXRTb3VyY2VFdmVudCkgXAogICAgIG1hY3JvKFhSSW5wdXRTb3Vy
Y2VzQ2hhbmdlRXZlbnQpIFwKKyAgICBtYWNybyhYUkpvaW50UG9zZSkgXAorICAgIG1hY3JvKFhS
Sm9pbnRTcGFjZSkgXAogICAgIG1hY3JvKFhSTGF5ZXIpIFwKICAgICBtYWNybyhYUlBvc2UpIFwK
ICAgICBtYWNybyhYUlJlZmVyZW5jZVNwYWNlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9Q
bGF0Zm9ybVhSLmgKaW5kZXggZmMyNGY4YTRmNjFmODEzNDhkYTY2NGExMGRhZDQ4MGE3ZWMyOTMy
OC4uZDFmYWRhYjdkNGQ3NmMzZDA3YmE5MDcxMDIwYWVlNGFhMGQ1ZDRmNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaApAQCAtNzgsNiArNzgsMzggQEAgZW51bSBjbGFz
cyBYUlRhcmdldFJheU1vZGUgewogICAgIFNjcmVlbiwKIH07CiAKKyNpZiBFTkFCTEUoV0VCWFJf
SEFORFMpCisKK2VudW0gY2xhc3MgSGFuZEpvaW50IDogdW5zaWduZWQgeworICAgIFdyaXN0LAor
ICAgIFRodW1iTWV0YWNhcnBhbCwKKyAgICBUaHVtYlBoYWxhbnhQcm94aW1hbCwKKyAgICBUaHVt
YlBoYWxhbnhEaXN0YWwsCisgICAgVGh1bWJUaXAsCisgICAgSW5kZXhGaW5nZXJNZXRhY2FycGFs
LAorICAgIEluZGV4RmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIEluZGV4RmluZ2VyUGhhbGFu
eEludGVybWVkaWF0ZSwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgSW5kZXhG
aW5nZXJUaXAsCisgICAgTWlkZGxlRmluZ2VyTWV0YWNhcnBhbCwKKyAgICBNaWRkbGVGaW5nZXJQ
aGFsYW54UHJveGltYWwsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAg
ICBNaWRkbGVGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIE1pZGRsZUZpbmdlclRpcCwKKyAgICBS
aW5nRmluZ2VyTWV0YWNhcnBhbCwKKyAgICBSaW5nRmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAg
IFJpbmdGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIFJpbmdGaW5nZXJQaGFsYW54RGlz
dGFsLAorICAgIFJpbmdGaW5nZXJUaXAsCisgICAgUGlua3lGaW5nZXJNZXRhY2FycGFsLAorICAg
IFBpbmt5RmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIFBpbmt5RmluZ2VyUGhhbGFueEludGVy
bWVkaWF0ZSwKKyAgICBQaW5reUZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgUGlua3lGaW5nZXJU
aXAKK307CisKKyNlbmRpZgorCiBjbGFzcyBUcmFja2luZ0FuZFJlbmRlcmluZ0NsaWVudDsKIAog
Y2xhc3MgRGV2aWNlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPERldmljZT4sIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxEZXZpY2U+IHsKQEAgLTIwOCw2ICsyNDAsMTAgQEAgcHVibGljOgog
ICAgICAgICAgICAgc3RkOjpvcHRpb25hbDxJbnB1dFNvdXJjZVBvc2U+IGdyaXBPcmlnaW47CiAg
ICAgICAgICAgICBWZWN0b3I8SW5wdXRTb3VyY2VCdXR0b24+IGJ1dHRvbnM7CiAgICAgICAgICAg
ICBWZWN0b3I8ZmxvYXQ+IGF4ZXM7CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgICAgICAg
ICAgLy8gRklYTUU6IEFjdHVhbGx5IGhvbGQgc29tZSBoYW5kIGRhdGEuCisgICAgICAgICAgICBi
b29sIHNpbXVsYXRlSGFuZCB7IGZhbHNlIH07CisjZW5kaWYKIAogICAgICAgICAgICAgdGVtcGxh
dGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OwogICAgICAgICAg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8SW5wdXRTb3Vy
Y2U+IGRlY29kZShEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0Zha2VYUklucHV0U291cmNlSW5pdC5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtlWFJJ
bnB1dFNvdXJjZUluaXQuaAppbmRleCBlYzQyYTRiMzEwMDE4MmIzMGUzNDMxZWYwYTQ4ZDllMTYy
ODk4NDBhLi4xNjA3NjJkN2Q0NzdhYmY2NGQwNTI0NjRmZWI5ZGQyMDU1MDlkYWFlIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmgKQEAgLTQ1LDYg
KzQ1LDkgQEAgc3RydWN0IEZha2VYUklucHV0U291cmNlSW5pdCB7CiAgICAgYm9vbCBzZWxlY3Rp
b25DbGlja2VkIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8RmFrZVhSQnV0dG9uU3RhdGVJbml0PiBz
dXBwb3J0ZWRCdXR0b25zOwogICAgIEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBncmlwT3JpZ2lu
OworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBib29sIHNpbXVsYXRlSGFuZCB7IGZhbHNl
IH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmlkbAppbmRleCBlOTA5NGI2N2M5
ZjdjM2QwNzZmYWY3OTU5ZmY0OGMyYzllZjg4NGY5Li43OTg1YzY5YmJlZGRjOTVkMjIzY2Q5NmY4
NmIzZmNiMTJjZjQ4ZjI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VY
UklucHV0U291cmNlSW5pdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtlWFJJ
bnB1dFNvdXJjZUluaXQuaWRsCkBAIC00MSw0ICs0MSw3IEBACiAgICAgc2VxdWVuY2U8RmFrZVhS
QnV0dG9uU3RhdGVJbml0PiBzdXBwb3J0ZWRCdXR0b25zOwogICAgIC8vIElmIG5vdCBzZXQgdGhl
IGNvbnRyb2xsZXIgaXMgYXNzdW1lZCB0byBub3QgYmUgdHJhY2tlZC4KICAgICBGYWtlWFJSaWdp
ZFRyYW5zZm9ybUluaXQgZ3JpcE9yaWdpbjsKKyAgICAvLyBPcHRpb25hbCBoYW5kIGlucHV0LiBG
b3Igbm93IHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIGFjdHVhbAorICAgIC8vIGRhdGEuIFdlJ3Jl
IGp1c3QgY3JlYXRpbmcgdGhlIG9iamVjdCBmb3IgdGVzdGluZy4KKyAgICBib29sZWFuIHNpbXVs
YXRlSGFuZCA9IGZhbHNlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2Vi
RmFrZVhSSW5wdXRDb250cm9sbGVyLmNwcAppbmRleCBmZTEzZTAzYTY1ZDE3MmQwZDZkMjI0ZmQx
ZWE3YmM2ZjRkYWExNjIxLi41MjI0ZDI4ZTA3MjYzZDg4YzNiZGFjNWRiZDhiYWRmNTAwNDlkOWQz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJv
bGxlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRy
b2xsZXIuY3BwCkBAIC01MSw2ICs1MSw5IEBAIFdlYkZha2VYUklucHV0Q29udHJvbGxlcjo6V2Vi
RmFrZVhSSW5wdXRDb250cm9sbGVyKFBsYXRmb3JtWFI6OklucHV0U291cmNlSGFuZGxlCiAgICAg
LCBtX3Byb2ZpbGVzKGluaXQucHJvZmlsZXMpCiAgICAgLCBtX3ByaW1hcnlTZWxlY3RlZChpbml0
LnNlbGVjdGlvblN0YXJ0ZWQpCiAgICAgLCBtX3NpbXVsYXRlU2VsZWN0KGluaXQuc2VsZWN0aW9u
Q2xpY2tlZCkKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgLCBtX3NpbXVsYXRlSGFuZChp
bml0LnNpbXVsYXRlSGFuZCkKKyNlbmRpZgogewogICAgIHNldFBvaW50ZXJPcmlnaW4oaW5pdC5w
b2ludGVyT3JpZ2luLCBmYWxzZSk7CiAgICAgc2V0R3JpcE9yaWdpbihpbml0LmdyaXBPcmlnaW4s
IGZhbHNlKTsKQEAgLTEwNiw2ICsxMDksOSBAQCBJbnB1dFNvdXJjZSBXZWJGYWtlWFJJbnB1dENv
bnRyb2xsZXI6OmdldEZyYW1lRGF0YSgpCiAgICAgc3RhdGUucHJvZmlsZXMgPSBtX3Byb2ZpbGVz
OwogICAgIHN0YXRlLnBvaW50ZXJPcmlnaW4gPSBtX3BvaW50ZXJPcmlnaW47CiAgICAgc3RhdGUu
Z3JpcE9yaWdpbiA9IG1fZ3JpcE9yaWdpbjsKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAg
c3RhdGUuc2ltdWxhdGVIYW5kID0gbV9zaW11bGF0ZUhhbmQ7CisjZW5kaWYKIAogICAgIGlmICht
X3NpbXVsYXRlU2VsZWN0KQogICAgICAgICBtX3ByaW1hcnlTZWxlY3RlZCA9IHRydWU7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIuaAppbmRl
eCBlNTlkYzAyMWRjZWEzOTdjMzFjNjM0NWE1Zjg2MjMzZTEzOWQzYTJlLi5jYjRkMTM2N2UxZjE5
MzQ0ODY3NDVkYjA3NDE0NWU1NGJjMzFkZDYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rl
c3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmgKQEAgLTc5LDYgKzc5LDkgQEAgcHJpdmF0
ZToKICAgICBib29sIG1fY29ubmVjdGVkIHsgdHJ1ZSB9OwogICAgIGJvb2wgbV9wcmltYXJ5U2Vs
ZWN0ZWQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9zaW11bGF0ZVNlbGVjdCB7IGZhbHNlIH07Cisj
aWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGJvb2wgbV9zaW11bGF0ZUhhbmQgeyBmYWxzZSB9
OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODJkNDBiNjg0
OWRlNzlkNDEzM2JmMzdmZTY3ZmYyMmE4YjA4ODY0Yy4uN2QzOTkyOWJkZjMwZTFhZTdhMDMwYTY3
NjkyMjI5MDk3YjgzMjI2NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDIxLTEwLTE3ICBEZWFu
IEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KKworICAgICAgICBbV2ViWFJdIFN0dWJzIGZvciBX
ZWJYUiBIYW5kIElucHV0IE1vZHVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBOZXcgdGVz
dCB0aGF0IGNoZWNrcyBhbiBYUkhhbmQgb2JqZWN0IGNhbiBzdXJ2aXZlIGdhcmJhZ2UgY29sbGVj
dGlvbi4KKworICAgICAgICAqIGh0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRt
bDogQWRkZWQuCisKIDIwMjEtMTAtMTEgIEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29t
PgogCiAgICAgICAgIFJlbW92ZSBpbmxpbmUgYm94IGRlY29yYXRpb24gcGFpbnRpbmcgcXVpcmsK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLWV4
cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYWI0NWExODUwNzY2ZDhkYWE0N2JhMWQ0YTUzYTdmZGMy
MTg2YWY3Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJI
YW5kSW5wdXRfZ2MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3Qgb2Jq
ZWN0IGxpZmV0aW1lIG9mIEhhbmQgSW5wdXQgbW9kdWxlIC0gd2ViZ2wKK1BBU1MgVGVzdCBvYmpl
Y3QgbGlmZXRpbWUgb2YgSGFuZCBJbnB1dCBtb2R1bGUgLSB3ZWJnbDIKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbCBiL0xheW91dFRl
c3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzcyODJm
NmY0MTY2Mzg4NTM4MjE5YzE0NDY1NmYwYzA5YjZlZGYwZQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLmh0bWwKQEAgLTAsMCArMSw2
NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVz
cy5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9y
dC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnhyX3V0aWwuanMiPjwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50c19zaW5n
bGVfdmlldy5qcyI+PC9zY3JpcHQ+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnYygpCit7CisgICAg
aWYgKHdpbmRvdy5HQ0NvbnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuY29s
bGVjdCgpOworCisgICAgZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7IC8vID4gZm9y
Y2UgZ2FyYmFnZSBjb2xsZWN0aW9uIChGRiByZXF1aXJlcyBhYm91dCA5SyBhbGxvY2F0aW9ucyBi
ZWZvcmUgYSBjb2xsZWN0KQorICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmcoImFiYyIpOworICAg
IH0KK30KKworbGV0IHRlc3ROYW1lID0gIlRlc3Qgb2JqZWN0IGxpZmV0aW1lIG9mIEhhbmQgSW5w
dXQgbW9kdWxlIjsKKworbGV0IGZha2VEZXZpY2VJbml0UGFyYW1zID0gVFJBQ0tFRF9JTU1FUlNJ
VkVfU0lOR0xFX1ZJRVdERVZJQ0U7CisKK2xldCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNz
aW9uLCBmYWtlRGV2aWNlQ29udHJvbGxlciwgdCwgc2Vzc2lvbk9iamVjdHMpIHsKKworICBsZXQg
aW5wdXRfc291cmNlID0gZmFrZURldmljZUNvbnRyb2xsZXIuc2ltdWxhdGVJbnB1dFNvdXJjZUNv
bm5lY3Rpb24oeworICAgIGhhbmRlZG5lc3M6ICJub25lIiwKKyAgICB0YXJnZXRSYXlNb2RlOiAi
dHJhY2tlZC1wb2ludGVyIiwKKyAgICBwb2ludGVyT3JpZ2luOiBWQUxJRF9QT0lOVEVSX1RSQU5T
Rk9STSwKKyAgICBwcm9maWxlczogW10sCisgICAgc2ltdWxhdGVIYW5kOiB0cnVlLAorICB9KTsK
KworICByZXR1cm4gc2Vzc2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ2xvY2FsJykKKyAgICAu
dGhlbigocmVmZXJlbmNlU3BhY2UpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisKKyAg
ICAgIGZ1bmN0aW9uIG9uRnJhbWUodGltZSwgeHJGcmFtZSkgeworICAgICAgICBpZiAoc2Vzc2lv
bi5pbnB1dFNvdXJjZXMgJiYgc2Vzc2lvbi5pbnB1dFNvdXJjZXMubGVuZ3RoKSB7CisKKyAgICAg
ICAgICBzZXNzaW9uLmN1c3RvbVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHNlc3Npb24uY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9uIik7CisgICAgICAgICAgZ2MoKTsK
KyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uY3VzdG9tUHJvcGVydHksIDEsICJzZXNz
aW9uIik7CisKKyAgICAgICAgICBzZXNzaW9uLmlucHV0U291cmNlcy5jdXN0b21Qcm9wZXJ0eSA9
IDE7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9uLmlucHV0U291cmNlcy5jdXN0b21Q
cm9wZXJ0eSwgMSwgInNlc3Npb24uaW5wdXRTb3VyY2VzIik7CisgICAgICAgICAgZ2MoKTsKKyAg
ICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uaW5wdXRTb3VyY2VzLmN1c3RvbVByb3BlcnR5
LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXMiKTsKKworICAgICAgICAgIHNlc3Npb24uaW5wdXRT
b3VyY2VzWzBdLmN1c3RvbVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNl
c3Npb24uaW5wdXRTb3VyY2VzWzBdLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNv
dXJjZXNbMF0iKTsKKyAgICAgICAgICBnYygpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2Vz
c2lvbi5pbnB1dFNvdXJjZXNbMF0uY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9uLmlucHV0U291
cmNlc1swXSIpOworCisgICAgICAgICAgc2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0uaGFuZC5jdXN0
b21Qcm9wZXJ0eSA9IDE7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9uLmlucHV0U291
cmNlc1swXS5oYW5kLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0u
aGFuZCIpOworICAgICAgICAgIGdjKCk7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9u
LmlucHV0U291cmNlc1swXS5oYW5kLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNv
dXJjZXNbMF0uaGFuZCIpOworICAgICAgICB9CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0K
KyAgICAgIHNlc3Npb24ucmVxdWVzdEFuaW1hdGlvbkZyYW1lKG9uRnJhbWUpOworICB9KSk7Cit9
OworCit4cl9zZXNzaW9uX3Byb21pc2VfdGVzdCgKKyAgdGVzdE5hbWUsIHRlc3RGdW5jdGlvbiwg
ZmFrZURldmljZUluaXRQYXJhbXMsICdpbW1lcnNpdmUtdnInLCB7IG9wdGlvbmFsRmVhdHVyZXM6
IFsiaGFuZC10cmFja2luZyJdIH0pOworCis8L3NjcmlwdD4K
</data>
<flag name="commit-queue"
          id="465838"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441541</attachid>
            <date>2021-10-17 11:46:57 -0700</date>
            <delta_ts>2021-10-17 12:57:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211018054656.patch</filename>
            <type>text/plain</type>
            <size>75341</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM1M2E5YjI5YWYzYTFhMmM2Zjc1MGJk
OTJmY2Q3MGI5ZDIyNDllNWUuLmQ4M2ViNzkzNzI2ZDdlOGI5ZTAwMjg2ZTg1ZmY0ODk3ODFjMjY2
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmQgSW5wdXQg
TW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBFTkFCTEVfV0VCWFJfSEFO
RFMgY29tcGlsZSB0aW1lIGZsYWcgYW5kIGEgV2ViWFJIYW5kc0VuYWJsZWQgcHJlZmVyZW5jZS4K
KworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEwLTE2ICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgV0FTTSB0byB1c2UgdXAgdG8gNEdC
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNjU3NDAwZjc3Zjk4OTFmMzMwYWJiOTExYWIwMGNkNDA0ZjYxNjI0MC4u
ODY0NDA0YTEzNzNmMjRkMTc1ZWU0MWFkYTJlMjllMWRkNjcxYjk1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDkzIEBACisyMDIxLTEwLTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViWFJdIFN0dWJzIGZvciBXZWJYUiBIYW5kIElucHV0IE1vZHVsZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIElETCBhbmQgc3R1YiBpbXBsZW1lbnRhdGlv
bnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5kIElucHV0IG1vZHVsZToKKyAgICAgICAgaHR0
cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LworCisgICAgICAg
IFRoZSBpbXBvcnRhbnQgY2xhc3MgaXMgV2ViWFJIYW5kLCB3aGljaCBpcyBvd25lZCBieQorICAg
ICAgICBhbmQgYWNjZXNzaWJsZSBmcm9tIHRoZSBXZWJYUklucHV0U291cmNlLCB3aGljaAorICAg
ICAgICBpdHNlbGYgaXMgb3duZWQgYnkgdGhlIFdlYlhSU2Vzc2lvbi4KKworICAgICAgICBUZXN0
OiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgICog
TW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOiBBZGQgYSBjdXN0b20gbWFyayBmdW5jdGlv
biB0aGF0IGNyZWF0ZXMgYW4gb3BhcXVlIHJvb3QuCisgICAgICAgICogYmluZGluZ3MvanMvSlNX
ZWJYUlNlc3Npb25DdXN0b20uY3BwOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lK0hhbmRJbnB1dC5pZGw6IEFkZCBuZXcgaGFuZC1yZWxhdGVkIG1ldGhvZHMuCisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhS
RnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxs
Sm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxsUG9zZXMpOgor
ICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgorCisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUkhhbmQuY3BwOiBOZXcgZmlsZXMuCisgICAgICAgIChXZWJDb3JlOjpXZWJY
UkhhbmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OldlYlhSSGFuZCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhh
bmQ6Okl0ZXJhdG9yOjpuZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6c2Vzc2lv
bik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSSGFuZDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0
ZUl0ZXJhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGw6CisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbDogQWRk
IFdlYlhSSGFuZCBhY2Nlc3Nvci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6dXBkYXRlKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYlhSSW5wdXRTb3VyY2U6OmhhbmQgY29uc3QpOgorCisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6IE5ldyBmaWxlcy4KKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSm9pbnRQb3NlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBv
c2U6OldlYlhSSm9pbnRQb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQ
b3NlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6cmFkaXVzIGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbDoKKworICAgICAgICAq
IE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcDogTmV3IGZpbGVzLgorICAgICAgICAo
V2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJK
b2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6Ompv
aW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmg6IE5ldyB2aXJ0dWFs
IGlkZW50aWZpZXIgZm9yIGpvaW50IHNwYWNlIHN1YmNsYXNzLgorICAgICAgICAoV2ViQ29yZTo6
V2ViWFJTcGFjZTo6aXNKb2ludFNwYWNlIGNvbnN0KToKKworICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvV2ViWFJTeXN0ZW0uY3BwOiBBZGQgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgdGVzdGluZyBv
ZgorICAgICAgICBvcHRpb25hbCBmZWF0dXJlcyAod2hlcmUgdGhlICJoYW5kLXRyYWNraW5nIiBm
ZWF0dXJlIHNob3VsZCBiZSBjaGVja2VkKS4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhSU3lzdGVt
OjpyZXNvbHZlUmVxdWVzdGVkRmVhdHVyZXMgY29uc3QpOgorCisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9YUkhhbmRKb2ludC5oOiBOZXcgZmlsZS4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1hS
SGFuZEpvaW50LmlkbDoKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDogRXhwb3NlIG5ldyBtYXBwaW5ncyBmcm9tIHB1Ymxpc2hlZCBuYW1lcworICAgICAgICB0
byBpbnRlcm5hbCBuYW1lcy4KKworICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDog
QWRkICJzaW11bGF0ZUhhbmRzIiBmaWVsZCB0byBmcmFtZSBkYXRhIGZvciB0ZXN0aW5nLgorICAg
ICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0Lmg6IEFuZCBzaW1pbGFybHkgdG8g
dGhlIGZha2UgaW5wdXQgc291cmNlLgorICAgICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3Vy
Y2VJbml0LmlkbDoKKworICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVy
LmNwcDogQWxsb3cgdGhlIHRlc3Qgc3lzdGVtIHRvIGZha2UgYSBoYW5kLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpnZXRGcmFtZURh
dGEpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmg6CisKIDIw
MjEtMTAtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjI3MDg1MCk6IFJlZmVyZW5jZSBjbGlwIHBhdGggY2xpcHMgaW4gdGhl
IHdyb25nIHBsYWNlIHdoZW4gaW5zaWRlIG5vbi12aXNpYmxlIG92ZXJmbG93CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IDdlNGM5YjVlMTg5MzUyODE3ZmI4NzdmYzg0MzMyZmE1OTIz
MjUwYjYuLmY5NWI4ZDAxMGRiNTg1ZjY2Y2IzNGQ0YWZmODAxZjY2Y2FhM2RiYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xNjYwLDYgKzE2NjAsMTkgQEAgV2ViWFJHYW1lcGFk
c01vZHVsZUVuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1dl
YlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxl
TmFtZTogIldlYlhSIEhhbmQgSW5wdXQgTW9kdWxlIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJBZGRzIHN1cHBvcnQgZm9yIHRoZSBIYW5kcyBJbnB1dCBNb2R1bGUgZm9yIFdlYlhSIgor
ICBjb25kaXRpb246IEVOQUJMRShXRUJYUl9IQU5EUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdl
YktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYlhSRW5hYmxlZCgp
CisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViWFJFbmFibGVk
KCkKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogV2hlZWxFdmVudEdlc3R1
cmVzQmVjb21lTm9uQmxvY2tpbmc6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJXaGVlbCBFdmVudCBnZXN0dXJlcyBiZWNvbWUgbm9uLWJsb2NraW5nIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
RW5hYmxlLmgKaW5kZXggODczOGQyNWQxYmNjNzA5NTg5YjI2YjJmOTI4ZjRmOGNlZTYwYzZmOS4u
MjJhNmY1YjRkNzM5OTgwMDc3MzUxNGMwZjBhNDRhMjcwYTYwNzJmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUVuYWJsZS5oCkBAIC0xNjAsNyArMTYwLDYgQEAKICNkZWZpbmUgRU5BQkxFX01FVEFfVklFV1BP
UlQgMAogI2VuZGlmCiAKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9GSUxFX1JFUExBQ0VNRU5UKQog
I2RlZmluZSBFTkFCTEVfRklMRV9SRVBMQUNFTUVOVCAwCiAjZW5kaWYKQEAgLTU0NSw2ICs1NDQs
MTQgQEAKICNkZWZpbmUgRU5BQkxFX0ZJTEVfU0hBUkUgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfV0VCWFIpCisjZGVmaW5lIEVOQUJMRV9XRUJYUiAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJYUl9IQU5EUykKKyNkZWZpbmUgRU5BQkxFX1dFQlhSX0hBTkRTIDAK
KyNlbmRpZgorCiAvKgogICogRW5hYmxlIHRoaXMgdG8gcHV0IGVhY2ggSXNvSGVhcCBhbmQgb3Ro
ZXIgYWxsb2NhdGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3duIG1hbGxvYyBoZWFwcywgc28g
dGhhdCB0b29scyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcgZWFjaCBoZWFwIGlzLgogICog
VHVybiBCRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBpbiBibWFsbG9jIHRvZ2V0aGVy
IHdoZW4gdXNpbmcgdGhpcy4KQEAgLTkyNSwzICs5MzIsNyBAQAogI2lmIEVOQUJMRShQUkVERUZJ
TkVEX0NPTE9SX1NQQUNFX0RJU1BMQVlfUDMpICYmICFFTkFCTEUoREVTVElOQVRJT05fQ09MT1Jf
U1BBQ0VfRElTUExBWV9QMykKICNlcnJvciAiRU5BQkxFKFBSRURFRklORURfQ09MT1JfU1BBQ0Vf
RElTUExBWV9QMykgcmVxdWlyZXMgRU5BQkxFKERFU1RJTkFUSU9OX0NPTE9SX1NQQUNFX0RJU1BM
QVlfUDMpIgogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpICYmICFFTkFCTEUoV0VC
WFIpCisjZXJyb3IgIkVOQUJMRShXRUJYUl9IQU5EUykgcmVxdWlyZXMgRU5BQkxFKFdFQlhSKSIK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDBjNzI1MDRjYjEx
MmYxMjI5YzBlYTYzNWUwNjBiODM1MGQ4ODBkZTIuLmFhNjgyYjhmOThkMjE1MWNjNTU1MmM1ZjE2
YzFmYzcwYjU4M2UxYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxl
Q29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTYz
Niw2ICs2MzYsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRpZgogCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VCWFJfSEFORFMgMQor
I2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKQogI2RlZmlu
ZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA3OWJkODVjNDA5ZmJiNTIyMGNmMzgwZGY3ZmY2YTNlY2UzOTE4MGI3Li5mMTdlYTM3ZWM3
YmFmNDNlODJhNjNlMDgxYjRjZjAzY2U5YzY0NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTQxNiwxMCArMTQxNiwxNSBAQCBlbmRpZiAoKQogbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbAogICAgIE1v
ZHVsZXMvd2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCisgICAgTW9kdWxlcy93
ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuaWRsCisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCiAgICAgTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsCisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlK0hhbmRJbnB1dC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsCisgICAg
TW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhS
Sm9pbnRTcGFjZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAgICAgTW9k
dWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5j
ZVNwYWNlLmlkbApAQCAtMTQzNiw2ICsxNDQxLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05f
U1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5p
ZGwKICAgICBNb2R1bGVzL3dlYnhyL1hSRXllLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJGcmFt
ZVJlcXVlc3RDYWxsYmFjay5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbAog
ICAgIE1vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJ
bnB1dFNvdXJjZUV2ZW50LmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFu
Z2VFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IDRjYWI3MzM5OGVjM2VjNzU2N2VmYjFhNzdmMTgyZTRlOGJhNTYyODIuLmRm
NWRlZTEzNGM5OWEzNzE3MWQ2YWZkNGYxNTg2ZGUzMTMzYjA3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtNTk4LDEwICs1OTgsMTUg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3IrV2ViWFIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIv
V2ViWFJJbnB1dFNvdXJjZStHYW1lcGFkLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UrSGFuZElucHV0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291
cmNlQXJyYXkuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3Nl
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
eHIvV2ViWFJSZWZlcmVuY2VTcGFjZS5pZGwKQEAgLTYxOCw2ICs2MjMsNyBAQCAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvWFJFeWUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2suaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSGFu
ZEpvaW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkhhbmRlZG5lc3MuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VFdmVudC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5pZGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5k
ZXggNGEwYjg2ZjM1ZWY1ZGQ0YzMxNDZmOTEzYTU2Y2VjMmFmMjZiNWFiOC4uNDI1YjUzNjQwN2I3
YmJkMjEwYTQ2MTE3ZGU5ZTkxNmEwZjliM2JmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0MjMsMTQgKzI0MjMsMjQgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJTb2NrZXQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlNvY2tl
dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
Qm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUrSGFuZElucHV0
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJY
UkZyYW1lK0hhbmRJbnB1dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYlhSRnJhbWUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlK0dhbWVwYWQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2Ur
R2FtZXBhZC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSGFuZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJIYW5kLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJ
bnB1dFNvdXJjZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2lu
dFBvc2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSm9pbnRQb3NlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViWFJKb2ludFNwYWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAt
MjUzMyw2ICsyNTQzLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNYUkV5ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTWFJFeWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpv
aW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJI
YW5kZWRuZXNzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkhhbmRlZG5lc3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNYUklucHV0U291cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA1Yzc3M2E0ODlkYTE5Y2MyMDg1ZWNjZTcxM2ViMDA3YjIwMGY4ODUyLi5mYmMx
OTY2ZjVkYzhkNGY0NzQ1MGU2NTc0NmIwZDIwMjRiNWNhN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTQ5OSwxMCArNDk5LDE1IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL05hdmlnYXRvcitXZWJYUi5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSTGF5ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJQb3NlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNlU3BhY2UuaWRs
IFwKQEAgLTUxOSw2ICs1MjQsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1hSRXllLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YnhyL1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvWFJIYW5kSm9pbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJI
YW5kZWRuZXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3Vy
Y2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNl
c0NoYW5nZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMGQ1ZjI0ZDZmMzdkZjE5
YjFkNzk0ZDM1YzNhOGY4ZTc5NDY2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJY
UkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMKK10g
cGFydGlhbCBpbnRlcmZhY2UgV2ViWFJGcmFtZSB7CisgICAgV2ViWFJKb2ludFBvc2U/IGdldEpv
aW50UG9zZShXZWJYUkpvaW50U3BhY2Ugam9pbnQsIFdlYlhSU3BhY2UgYmFzZVNwYWNlKTsKKyAg
ICBib29sZWFuIGZpbGxKb2ludFJhZGlpKHNlcXVlbmNlPFdlYlhSSm9pbnRTcGFjZT4gam9pbnRT
cGFjZXMsIEZsb2F0MzJBcnJheSByYWRpaSk7CisgICAgYm9vbGVhbiBmaWxsUG9zZXMoc2VxdWVu
Y2U8V2ViWFJTcGFjZT4gc3BhY2VzLCBXZWJYUlNwYWNlIGJhc2VTcGFjZSwgRmxvYXQzMkFycmF5
IHRyYW5zZm9ybXMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCmluZGV4IGI2ZjAwMWU0OGY4YWViZDE3ZGYxNWY4MWE0NjRiYzhhZDI3NmU2MWMuLmYx
YWZkNDMzZTI1Y2MyNTM1Njg3NzJkNzQ2YjdlNzc3YzhiYTFlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcApAQCAtMjksNiArMjksOCBAQAogI2lmIEVO
QUJMRShXRUJYUikKIAogI2luY2x1ZGUgIldlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmgiCisj
aW5jbHVkZSAiV2ViWFJKb2ludFBvc2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
ICNpbmNsdWRlICJXZWJYUlJlZmVyZW5jZVNwYWNlLmgiCiAjaW5jbHVkZSAiV2ViWFJTZXNzaW9u
LmgiCiAjaW5jbHVkZSAiV2ViWFJWaWV3ZXJQb3NlLmgiCkBAIC0yNTgsNiArMjYwLDMwIEBAIFRy
YW5zZm9ybWF0aW9uTWF0cml4IFdlYlhSRnJhbWU6Om1hdHJpeEZyb21Qb3NlKGNvbnN0IFBsYXRm
b3JtWFI6OkRldmljZTo6RnJhbWVECiAgICAgcmV0dXJuIG1hdHJpeDsKIH0KIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4
ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1nZXRqb2ludHBvc2UKK0V4Y2VwdGlvbk9yPFJlZlB0
cjxXZWJYUkpvaW50UG9zZT4+IFdlYlhSRnJhbWU6OmdldEpvaW50UG9zZShjb25zdCBXZWJYUkpv
aW50U3BhY2UmIGpvaW50LCBjb25zdCBXZWJYUlNwYWNlJiBiYXNlU3BhY2UpCit7CisgICAgVU5V
U0VEX1BBUkFNKGpvaW50KTsKKyAgICBVTlVTRURfUEFSQU0oYmFzZVNwYWNlKTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4
ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1maWxsam9pbnRyYWRpaQorRXhjZXB0aW9uT3I8Ym9v
bD4gV2ViWFJGcmFtZTo6ZmlsbEpvaW50UmFkaWkoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJYUkpv
aW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5JikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNk
b20teHJmcmFtZS1maWxscG9zZXMKK0V4Y2VwdGlvbk9yPGJvb2w+IFdlYlhSRnJhbWU6OmZpbGxQ
b3Nlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3BhY2U+PiwgY29uc3QgV2ViWFJTcGFjZSYs
IGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCWFIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oCmluZGV4IGZhOTAwZGMyMmY2OTE1
OWY3OTI3YzcyMWMyNWQwZGM3NjQwOTA3NmMuLmJiYWEyY2RkOGU5ZmNiOGVmMDY0ZDU0NzQ4MTI0
NGQ5ZDQxMjM4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5o
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRE9NSGlnaFJlc1RpbWVTdGFtcC5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2Mu
aD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAg
LTM4LDYgKzM5LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Citj
bGFzcyBXZWJYUkpvaW50UG9zZTsKK2NsYXNzIFdlYlhSSm9pbnRTcGFjZTsKIGNsYXNzIFdlYlhS
UG9zZTsKIGNsYXNzIFdlYlhSUmVmZXJlbmNlU3BhY2U7CiBjbGFzcyBXZWJYUlNlc3Npb247CkBA
IC01Niw2ICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSVmll
d2VyUG9zZT4+IGdldFZpZXdlclBvc2UoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlJlZmVy
ZW5jZVNwYWNlJik7CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSUG9zZT4+IGdldFBvc2Uo
Y29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOwog
CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpv
aW50UG9zZT4+IGdldEpvaW50UG9zZShjb25zdCBXZWJYUkpvaW50U3BhY2UmLCBjb25zdCBXZWJY
UlNwYWNlJik7CisgICAgRXhjZXB0aW9uT3I8Ym9vbD4gZmlsbEpvaW50UmFkaWkoY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisgICAg
RXhjZXB0aW9uT3I8Ym9vbD4gZmlsbFBvc2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJTcGFj
ZT4+LCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisjZW5kaWYKKwog
ICAgIHZvaWQgc2V0VGltZShET01IaWdoUmVzVGltZVN0YW1wIHRpbWUpIHsgbV90aW1lID0gdGlt
ZTsgfQogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCBhY3RpdmUpIHsgbV9hY3RpdmUgPSBhY3Rp
dmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMjE2MjMxMjFlZTJiNjQ5NzVhNTRmZjJiMGJhOWVlYmEyM2Q1MmEyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCkBAIC0w
LDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldlYlhSSGFuZC5oIgorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMp
CisKKyNpbmNsdWRlICJXZWJYUklucHV0U291cmNlLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV2ViWFJIYW5kKTsKKworUmVmPFdlYlhSSGFuZD4gV2ViWFJIYW5kOjpjcmVhdGUo
Y29uc3QgV2ViWFJJbnB1dFNvdXJjZSYgaW5wdXRTb3VyY2UpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViWFJIYW5kKGlucHV0U291cmNlKSk7Cit9CisKK1dlYlhSSGFuZDo6V2ViWFJI
YW5kKGNvbnN0IFdlYlhSSW5wdXRTb3VyY2UmIGlucHV0U291cmNlKQorICAgIDogbV9pbnB1dFNv
dXJjZShpbnB1dFNvdXJjZSkKK3sKK30KKworV2ViWFJIYW5kOjp+V2ViWFJIYW5kKCkgPSBkZWZh
dWx0OworCitSZWZQdHI8V2ViWFJKb2ludFNwYWNlPiBXZWJYUkhhbmQ6OmdldChjb25zdCBYUkhh
bmRKb2ludCYga2V5KQoreworICAgIFVOVVNFRF9QQVJBTShrZXkpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCitXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcihXZWJYUkhhbmQmIGhhbmQp
CisgICAgOiBtX2hhbmQoaGFuZCkKK3sKK30KKworc3RkOjpvcHRpb25hbDxXVEY6OktleVZhbHVl
UGFpcjxYUkhhbmRKb2ludCwgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+PiBXZWJYUkhhbmQ6Okl0
ZXJhdG9yOjpuZXh0KCkKK3sKKyAgICBpZiAobV9pbmRleCA+IG1faGFuZC0+bV9qb2ludHMuc2l6
ZSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKK30KKworV2ViWFJTZXNzaW9uKiBXZWJYUkhhbmQ6OnNlc3Npb24oKQoreworICAgIGlm
ICghbV9pbnB1dFNvdXJjZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIG1f
aW5wdXRTb3VyY2UuZ2V0KCktPnNlc3Npb24oKTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4NzgwMDVjODc4ODlk
YTUzMDBlN2U1N2M4ODFlNGE2NzI0NGU2MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9I
QU5EUykKKworI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUklucHV0U291
cmNlLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFNwYWNlLmgiCisjaW5jbHVkZSAiV2ViWFJTZXNz
aW9uLmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdl
YlhSSGFuZCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSGFuZD4geworICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViWFJIYW5kKTsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBSZWY8V2ViWFJI
YW5kPiBjcmVhdGUoY29uc3QgV2ViWFJJbnB1dFNvdXJjZSYpOworICAgIH5XZWJYUkhhbmQoKTsK
KworICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorCisgICAgUmVm
UHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpOworCisgICAg
Y2xhc3MgSXRlcmF0b3IgeworICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3Io
V2ViWFJIYW5kJik7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8WFJI
YW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gbmV4dCgpOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgUmVmPFdlYlhSSGFuZD4gbV9oYW5kOworICAgICAgICBzaXplX3QgbV9pbmRl
eCB7IDAgfTsKKyAgICB9OworICAgIEl0ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4g
SXRlcmF0b3IoKnRoaXMpOyB9CisKKyAgICAvLyBGb3IgR0MgcmVhY2hhYmxpdGl5LgorICAgIFdl
YlhSU2Vzc2lvbiogc2Vzc2lvbigpOworCitwcml2YXRlOgorICAgIFdlYlhSSGFuZChjb25zdCBX
ZWJYUklucHV0U291cmNlJik7CisKKyAgICB1bnNpZ25lZCBsb25nIG1fc2l6ZSB7IDAgfTsKKyAg
ICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFwID0gSGFzaE1hcDxYUkhhbmRKb2ludCwgUmVmPFdl
YlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+OworICAgIEhhbmRKb2ludFRvU3BhY2VNYXAgbV9q
b2ludHM7CisKKyAgICBXZWFrUHRyPFdlYlhSSW5wdXRTb3VyY2U+IG1faW5wdXRTb3VyY2U7Cit9
OworCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZDFiMDliZGYyMWZiYmFjN2NjYjg5NzAwNzdiZDE5OGJkZmY0NWE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQu
aWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRp
bmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25kaXRp
b25hbD1XRUJYUl9IQU5EUywKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJYUlNlc3Np
b25Sb290LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhSSGFuZAorXSBpbnRl
cmZhY2UgV2ViWFJIYW5kIHsKKyAgICBpdGVyYWJsZTxYUkhhbmRKb2ludCwgV2ViWFJKb2ludFNw
YWNlPjsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7CisgICAg
V2ViWFJKb2ludFNwYWNlIGdldChYUkhhbmRKb2ludCBrZXkpOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlK0hhbmRJbnB1
dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzgwNWNkOTQxNGU0MDM1MTk3Y2ZlZGIyNTdmMThlMTE1NTFkYzU0
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJ
bnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxl
RW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0aWFsIGludGVyZmFj
ZSBXZWJYUklucHV0U291cmNlIHsKKyAgICAvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHVi
LmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2UtaW50ZXJmYWNlCisgICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUkhhbmQ/IGhhbmQ7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5jcHAKaW5kZXggZjU2
YmJiYTAxN2QzODE2NWZkODM4NGY4OWY4NDliZDNlZDI4NDI0MS4uNWY1NjkzZTMwMTAzZDJmZTcz
NTg0ZTEyODFkZTA3NjhiYWI4N2Y1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCkBAIC04Niw2ICs4NiwxOCBAQCB2b2lkIFdlYlhS
SW5wdXRTb3VyY2U6OnVwZGF0ZShkb3VibGUgdGltZXN0YW1wLCBjb25zdCBQbGF0Zm9ybVhSOjpE
ZXZpY2U6OkZyYW1lRAogI2lmIEVOQUJMRShHQU1FUEFEKQogICAgIG1fZ2FtZXBhZC0+dXBkYXRl
RnJvbVBsYXRmb3JtR2FtZXBhZChXZWJYUkdhbWVwYWQodGltZXN0YW1wLCBtX2Nvbm5lY3RUaW1l
LCBzb3VyY2UpKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGlmIChz
b3VyY2Uuc2ltdWxhdGVIYW5kKSB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGN1cnJlbnRseSBj
cmVhdGVzIGFuIG9iamVjdCBqdXN0IGZvciB1c2UgaW4gdGVzdGluZy4KKyAgICAgICAgLy8gVGhl
IHJlYWwgaW1wbGVtZW50YXRpb24gd2lsbCB1c2UgYWN0dWFsIGRhdGEgYW5kIG9ubHkgYmUgdmlz
aWJsZQorICAgICAgICAvLyBpZiBoYW5kLXRyYWNraW5nIHdhcyByZXF1ZXN0ZWQgYXQgc2Vzc2lv
biBzdGFydC4KKyAgICAgICAgaWYgKCFtX2hhbmQpCisgICAgICAgICAgICBtX2hhbmQgPSBXZWJY
UkhhbmQ6OmNyZWF0ZSgqdGhpcyk7CisgICAgfSBlbHNlCisgICAgICAgIG1faGFuZCA9IG51bGxw
dHI7CisjZW5kaWYKKwogfQogCiBib29sIFdlYlhSSW5wdXRTb3VyY2U6OnJlcXVpcmVzSW5wdXRT
b3VyY2VDaGFuZ2UoY29uc3QgSW5wdXRTb3VyY2UmIHNvdXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmgKaW5kZXggODhmYTUyZjVkODgwZGQ0
NjQ3MDcyNWE4MWUzZGU5MWVmOWIzNDExNy4uMTczMThlZmViNjE3ZjY2MWE3MzUyNGQxNWNkYWZl
OTg0NjA2MjI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UklucHV0U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzksMTUgKzQwLDIwIEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorI2lu
Y2x1ZGUgIldlYlhSSGFuZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lm
IEVOQUJMRShHQU1FUEFEKQogY2xhc3MgR2FtZXBhZDsKICNlbmRpZgogY2xhc3MgWFJJbnB1dFNv
dXJjZUV2ZW50OworY2xhc3MgV2ViWFJIYW5kOwogY2xhc3MgV2ViWFJJbnB1dFNwYWNlOwogCi1j
bGFzcyBXZWJYUklucHV0U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJJbnB1dFNvdXJj
ZT4geworY2xhc3MgV2ViWFJJbnB1dFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSW5w
dXRTb3VyY2U+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJJbnB1dFNvdXJjZT4gewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJJbnB1dFNvdXJjZSk7CiBwdWJsaWM6CiAgICAg
dXNpbmcgSW5wdXRTb3VyY2UgPSBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6SW5wdXRT
b3VyY2U7CkBAIC02NywxMCArNzMsMTQgQEAgcHVibGljOgogICAgIGNvbnN0IEdhbWVwYWQqIGdh
bWVwYWQoKSBjb25zdCB7IHJldHVybiBtX2dhbWVwYWQucHRyKCk7IH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGNvbnN0IFdlYlhSSGFuZCogaGFuZCgpIGNvbnN0IHsg
cmV0dXJuIG1faGFuZC5nZXQoKTsgfQorI2VuZGlmCisKICAgICB2b2lkIHVwZGF0ZShkb3VibGUg
dGltZXN0YW1wLCBjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIGJvb2wgcmVxdWlyZXNJbnB1dFNv
dXJjZUNoYW5nZShjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIHZvaWQgZGlzY29ubmVjdCgpOwot
ICAgIAorCiAgICAgdm9pZCBwb2xsRXZlbnRzKFZlY3RvcjxSZWY8WFJJbnB1dFNvdXJjZUV2ZW50
Pj4mKTsKIAogICAgIC8vIEZvciBHQyByZWFjaGFibGl0aXkuCkBAIC04OSw2ICs5OSwxMCBAQCBw
cml2YXRlOgogICAgIFJlZjxHYW1lcGFkPiBtX2dhbWVwYWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKyAgICBSZWZQdHI8V2ViWFJIYW5kPiBtX2hhbmQ7CisjZW5kaWYKKwog
ICAgIGJvb2wgbV9zZWxlY3RTdGFydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3F1ZWV6ZVN0
YXJ0ZWQgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3ODNiMGM2NmJjZGQ3NTk2OTA5OGExMmUx
ZGEyN2I3NzEyMWE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQb3NlLmgiCisKKyNpZiBF
TkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhSSm9pbnRQb3NlPiBXZWJY
UkpvaW50UG9zZTo6Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSwg
Ym9vbCBlbXVsYXRlZFBvc2l0aW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhS
Sm9pbnRQb3NlKFdURk1vdmUodHJhbnNmb3JtKSwgZW11bGF0ZWRQb3NpdGlvbikpOworfQorCitX
ZWJYUkpvaW50UG9zZTo6V2ViWFJKb2ludFBvc2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYg
dHJhbnNmb3JtLCBib29sIGVtdWxhdGVkUG9zaXRpb24pCisgICAgOiBXZWJYUlBvc2UoV1RGTW92
ZSh0cmFuc2Zvcm0pLCBlbXVsYXRlZFBvc2l0aW9uKQoreworfQorCit9CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFkN2M3NDFhM2FhNjRhNWY5ODU5ODVlY2FkN2UyOGZmZWE3Njg5OWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgKQEAgLTAs
MCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJY
UikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2lu
Y2x1ZGUgIldlYlhSUG9zZS5oIgorI2luY2x1ZGUgIldlYlhSUmlnaWRUcmFuc2Zvcm0uaCIKKyNp
bmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhSSm9p
bnRQb3NlIDogcHVibGljIFdlYlhSUG9zZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChX
ZWJYUkpvaW50UG9zZSk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJYUkpvaW50UG9zZT4g
Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVtdWxhdGVkUG9zaXRpb24p
OworICAgIH5XZWJYUkpvaW50UG9zZSgpID0gZGVmYXVsdDsKKworICAgIGZsb2F0IHJhZGl1cygp
IGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzOyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFBv
c2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIGJvb2wgZW11bGF0ZWRQb3NpdGlvbik7CisK
KyAgICBmbG9hdCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5
NjRkODE3NWQwYTkwOGY5NmI5ZTcyZmUyZWFlODlmNjU1NDgzY2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbApAQCAtMCww
ICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5h
YmxlZCZXZWJYUkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJf
SEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9WFJKb2ludFBvc2UKK10g
aW50ZXJmYWNlIFdlYlhSSm9pbnRQb3NlIDogV2ViWFJQb3NlIHsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgcmFkaXVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWU2NTBmZTA5MDhjYmM1MzdhOGVj
NzkzM2RhNmYwZTQ4ZjM1MGYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgor
CisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJX
ZWJYUlJpZ2lkVHJhbnNmb3JtLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2Vi
WFJKb2ludFNwYWNlKTsKKworUmVmPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJKb2ludFNwYWNlOjpj
cmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFNwYWNlKGRvY3VtZW50LCBzZXNzaW9uKSk7
Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6V2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQorICAgIDogV2ViWFJTcGFjZShkb2N1bWVudCwgV2Vi
WFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCkpCisgICAgLCBtX3Nlc3Npb24oc2Vzc2lvbikKK3sK
K30KKworV2ViWFJKb2ludFNwYWNlOjp+V2ViWFJKb2ludFNwYWNlKCkgPSBkZWZhdWx0OworCitz
dGQ6Om9wdGlvbmFsPFRyYW5zZm9ybWF0aW9uTWF0cml4PiBXZWJYUkpvaW50U3BhY2U6Om5hdGl2
ZU9yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUxMjU3YmNjNWU0YjY0NGUyYjM1MmZmZjM3MTk2NjliODg3Nzk2NWYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRT
cGFjZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5o
IgorI2luY2x1ZGUgIldlYlhSU3BhY2UuaCIKKyNpbmNsdWRlICJYUkhhbmRKb2ludC5oIgorI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgV2ViWFJKb2ludFNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
WFJKb2ludFNwYWNlPiwgcHVibGljIFdlYlhSU3BhY2UgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoV2ViWFJKb2ludFNwYWNlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9p
bnRTcGFjZT4gY3JlYXRlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisgICAgdmlydHVhbCB+
V2ViWFJKb2ludFNwYWNlKCk7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFj
ZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT46OmRlcmVmOwor
CisgICAgWFJIYW5kSm9pbnQgam9pbnROYW1lKCkgY29uc3QgeyByZXR1cm4gWFJIYW5kSm9pbnQ6
OldyaXN0OyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiwgV2Vi
WFJTZXNzaW9uJik7CisKKyAgICBXZWJYUlNlc3Npb24qIHNlc3Npb24oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Nlc3Npb24uZ2V0KCk7IH07CisgICAgc3RkOjpvcHRpb25hbDxUcmFuc2Zvcm1h
dGlvbk1hdHJpeD4gbmF0aXZlT3JpZ2luKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJlZkV2
ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgYm9vbCBpc0pvaW50U3BhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBXZWFrUHRyPFdlYlhSU2Vzc2lvbj4gbV9zZXNzaW9u
OworfTsKKworfQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dFQlhSU1BBQ0UoV2ViWFJKb2lu
dFNwYWNlLCBpc0pvaW50U3BhY2UoKSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI5NGExOTM2NGU5
OTdkYjViZjE2ZjE5ZDNiMjlkMDhlMjUyYmNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJY
UkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsCisg
ICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhw
b3NlZD1XaW5kb3csCisgICAgSW50ZXJmYWNlTmFtZT1YUkpvaW50U3BhY2UKK10gaW50ZXJmYWNl
IFdlYlhSSm9pbnRTcGFjZSA6IFdlYlhSU3BhY2UgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBY
UkhhbmRKb2ludCBqb2ludE5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlNlc3Npb24uaWRsCmluZGV4IGE3ZDhkM2M5ZTdlMWVjZDg4YjBmNzRiNTM2NDcxYTE5
MjgxNzI0NzguLjUzMjI3NWM0ZWRmNDExY2E4YzVhMzFkODJmNzc2ODFhY2ZlOTA3MTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5pZGwKQEAgLTMwLDYg
KzMwLDcgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBF
eHBvc2VkPVdpbmRvdywKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBJbnRlcmZhY2VO
YW1lPVhSU2Vzc2lvbgogXSBpbnRlcmZhY2UgV2ViWFJTZXNzaW9uIDogRXZlbnRUYXJnZXQgewog
ICAgIC8vIEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJTcGFjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNl
LmgKaW5kZXggMmZlNWE1M2U1NmEyMTk2NjRkZDQyZmE0NzYzZmQ0Y2I4Njc0M2JlZS4uMDQzMzY1
YjA1NDZmM2Q2Y2E2YWIwYjY0MGVjZGZhMjIxYWQ3ZTk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKQEAgLTUxLDYgKzUxLDkgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBib29sIGlzUmVmZXJlbmNlU3BhY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0JvdW5kZWRSZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIHZpcnR1YWwgYm9vbCBpc0pv
aW50U3BhY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKIHByb3RlY3RlZDoK
ICAgICBXZWJYUlNwYWNlKERvY3VtZW50JiwgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmNwcAppbmRleCA2NzU5
MzJkMzkzNGIyMzdhZGI0MWY1OGIxODcxOGNjZjMzOTY5YjliLi4wNmJmZWI2MTQzZGIwZjgzZmFh
ZjE2N2U3ZDY3MmNhMDM0NTdkNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSU3lzdGVtLmNwcApAQCAtMjkxLDYgKzI5MSw5IEBAIHN0ZDo6b3B0aW9uYWw8V2ViWFJT
eXN0ZW06OlJlc29sdmVkUmVxdWVzdGVkRmVhdHVyZXM+IFdlYlhSU3lzdGVtOjpyZXNvbHZlUmVx
dWVzCiAgICAgICAgICAgICBpZiAoc2Vzc2lvbkZlYXR1cmUuaXNOdWxsKCkpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAKKyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgdGVz
dGluZyBmb3IgWFJSZWZlcmVuY2VTcGFjZVR5cGUgZmVhdHVyZXMuIEl0CisgICAgICAgICAgICAv
LyBuZWVkcyB0byBoYW5kbGUgb3B0aW9uYWwgZmVhdHVyZXMgbGlrZSAiaGFuZC10cmFja2luZyIu
CisKICAgICAgICAgICAgIC8vIDIuIElmIGZlYXR1cmUgaXMgbm90IGEgdmFsaWQgZmVhdHVyZSBk
ZXNjcmlwdG9yLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHMKICAgICAgICAgICAgIC8vICAg
Mi4xLiBMZXQgcyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgPyBUb1N0cmluZyhmZWF0dXJlKS4K
ICAgICAgICAgICAgIC8vICAgMi4yLiBJZiBzIGlzIG5vdCBhIHZhbGlkIGZlYXR1cmUgZGVzY3Jp
cHRvciBvciBpcyB1bmRlZmluZWQsIChyZXR1cm4gbnVsbHxjb250aW51ZSB0byBuZXh0IGVudHJ5
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MjExMDM4OGJhZTg3YjU3NTI4NThmNjM2MTM2MjI0ZDI5ZDQ3YTcwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIp
ICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBY
UkhhbmRKb2ludCA9IFBsYXRmb3JtWFI6OkhhbmRKb2ludDsKKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4
ZDlkY2YyNTMxOTBhMDRkNzAzYjA2Yjk0MmQzZTdlMTI3ZjUzNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JUCitdIGVudW0gWFJIYW5kSm9pbnQgeworICAgICJ3
cmlzdCIsCisKKyAgICAidGh1bWItbWV0YWNhcnBhbCIsCisgICAgInRodW1iLXBoYWxhbngtcHJv
eGltYWwiLAorICAgICJ0aHVtYi1waGFsYW54LWRpc3RhbCIsCisgICAgInRodW1iLXRpcCIsCisK
KyAgICAiaW5kZXgtZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJpbmRleC1maW5nZXItcGhhbGFu
eC1wcm94aW1hbCIsCisgICAgImluZGV4LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisg
ICAgImluZGV4LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgImluZGV4LWZpbmdlci10aXAi
LAorCisgICAgIm1pZGRsZS1maW5nZXItbWV0YWNhcnBhbCIsCisgICAgIm1pZGRsZS1maW5nZXIt
cGhhbGFueC1wcm94aW1hbCIsCisgICAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlh
dGUiLAorICAgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgICAibWlkZGxlLWZp
bmdlci10aXAiLAorCisgICAgInJpbmctZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJyaW5nLWZp
bmdlci1waGFsYW54LXByb3hpbWFsIiwKKyAgICAicmluZy1maW5nZXItcGhhbGFueC1pbnRlcm1l
ZGlhdGUiLAorICAgICJyaW5nLWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgInJpbmctZmlu
Z2VyLXRpcCIsCisKKyAgICAicGlua3ktZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJwaW5reS1m
aW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICAgInBpbmt5LWZpbmdlci1waGFsYW54LWludGVy
bWVkaWF0ZSIsCisgICAgInBpbmt5LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgInBpbmt5
LWZpbmdlci10aXAiCit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGU1MjgxNGFlNThkOGFkNTczOGUw
YjZmNjE5ZTAyMDE3NWU1MDRhNmQuLjVmYzE1NTU2M2Y4MWJjNGQ0ZDAyOTAwZTViYzk4OTRjMGU2
YWU5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zNjIsOSArMzYyLDEyIEBAIE1vZHVsZXMvd2VieHIv
TmF2aWdhdG9yV2ViWFIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNw
YWNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJY
UkdhbWVwYWQuY3BwCitNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAKIE1vZHVsZXMvd2VieHIv
V2ViWFJJbnB1dFNvdXJjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5
LmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U3BhY2UuY3BwCitNb2R1bGVzL3dlYnhyL1dl
YlhSSm9pbnRQb3NlLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCiBNb2R1
bGVzL3dlYnhyL1dlYlhSTGF5ZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVi
dWZmZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5jcHAKQEAgLTU2Miw2ICs1NjUsNyBA
QCBiaW5kaW5ncy9qcy9KU1VuZG9JdGVtQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJBbmlt
YXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMMlJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKK2Jp
bmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJl
ZmVyZW5jZVNwYWNlQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3Jt
Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlNwYWNlQ3VzdG9tLmNwcApAQCAtMzc4Miw4
ICszNzg2LDExIEBAIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogSlNXZWJTb2NrZXQuY3Bw
CiBKU1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogSlNXZWJYUkZyYW1lLmNwcAorSlNX
ZWJYUkhhbmQuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2UuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2VB
cnJheS5jcHAKK0pTV2ViWFJKb2ludFBvc2UuY3BwCitKU1dlYlhSSm9pbnRTcGFjZS5jcHAKIEpT
V2ViWFJMYXllci5jcHAKIEpTV2ViWFJQb3NlLmNwcAogSlNXZWJYUlJlZmVyZW5jZVNwYWNlLmNw
cApAQCAtMzgyNSw2ICszODMyLDcgQEAgSlNYUGF0aFJlc3VsdC5jcHAKIEpTWFJFbnZpcm9ubWVu
dEJsZW5kTW9kZS5jcHAKIEpTWFJFeWUuY3BwCiBKU1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suY3Bw
CitKU1hSSGFuZEpvaW50LmNwcAogSlNYUkhhbmRlZG5lc3MuY3BwCiBKU1hSSW5wdXRTb3VyY2VF
dmVudC5jcHAKIEpTWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhOGZhYWZhMjFi
YTEzODE2NjhlODczMWE2ZTY3ODJiZTM4N2U2ZGQ0Li5iMGI3ZTE1OGQ2ZjVjNzFiNzFhYTAxMWUy
MjVjMmFmYzUwMjY5NmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDExLDYgKzEwMTEsMTAgQEAKIAkJMzFDMEZGMjUwRTRD
RUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGMUYwRTRDRUI2RTAwN0Q2RkU1IC8q
IFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkYzRTBFNENFRkFDMDA3RDZG
RTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGM0EwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNDAwRTRDRUZBQzAwN0Q2RkU1IC8qIEpT
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUMwRkYzQzBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuaCAqLzsgfTsKKwkJMzFEOTJBOUYyNzA3RDVERTAwQUQwMUQwIC8qIFhSSGFuZEpv
aW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5
MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAqLzsgfTsKKwkJMzFEOTJBQTMy
NzA3RDY5NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFu
ZC5oICovOyB9OworCQkzMUQ5MkFBNzI3MDdFOTU5MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFB
NTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi87IH07CisJCTMxRDkyQUFC
MjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8qIFdl
YlhSSm9pbnRQb3NlLmggKi87IH07CiAJCTMxREVBNDU2MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJT
eXN0ZW1CYWNrZHJvcExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BM
YXllci5oICovOyB9OwogCQkzMUVBRjk3RTEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9u
Q2xpZW50SU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUVBRjk3QzEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi87
IH07CiAJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFF
QjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggKi87
IH07CkBAIC03Nzk5LDEwICs3ODAzLDI0IEBACiAJCTMxRDI2QkM0MUY4NkQyNjYwMDhGRjI1NSAv
KiBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxRDI2QkM1MUY4NkQyNjgwMDhGRjI1NSAvKiBKU0ltYWdlQml0bWFwT3B0aW9ucy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQyNkJDNjFGODZEMjY5MDA4RkYyNTUg
LyogSlNJbWFnZUJpdG1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0ltYWdlQml0bWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJB
OUMyNzA3RDVEMDAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhSSGFu
ZEpvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQTlFMjcwN0Q1RDEw
MEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWFJIYW5kSm9pbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJI
YW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSGFuZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxRDkyQUExMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViWFJIYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSGFu
ZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE0MjcwN0U4M0EwMEFE
MDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSm9pbnRTcGFjZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAvKiBX
ZWJYUkpvaW50U3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE2MjcwN0U5NTEwMEFEMDFEMCAvKiBXZWJY
UkpvaW50U3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRQb3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE5MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJY
UkpvaW50UG9zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViWFJKb2ludFBvc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFBvc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUQ5MkFENzI3MEI1NDc4MDBBRDAxRDAgLyogV2ViWFJJbnB1dFNv
dXJjZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUklucHV0U291cmNlK0hhbmRJbnB1dC5pZGwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFEOTI3MEI1NDg1MDBBRDAxRDAg
LyogV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUkZyYW1lK0hhbmRJbnB1dC5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMURFQTQ1MzFCMzlGNEQ5MDBGNzcx
NzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxREVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNr
ZHJvcExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlN5c3RlbUJh
Y2tkcm9wTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQUY5N0MxMjE0
MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNsaWVudElPUy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFFQUY5N0QxMjE0MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNs
aWVudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERldmlj
ZU1vdGlvbkNsaWVudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQjMz
NDkyNzFDOTM3QjAwQ0JEQkFBIC8qIEpTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFFQjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGly
ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zY2Vp
dmVyRGlyZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUMxRDUwMTRG
RUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
Nzc3Niw2ICsyNzc5NCw3IEBACiAJCQkJNDZCQ0JCQkUyMDg1MDA1QjAwNzEwNjM4IC8qIEpTUmVt
b3RlRE9NV2luZG93Q3VzdG9tLmNwcCAqLywKIAkJCQk0MTczM0Q3RDI1REZCRkM1MDBBMTM2RTUg
LyogSlNSVENSdHBTRnJhbWVUcmFuc2Zvcm1DdXN0b20uY3BwICovLAogCQkJCTdBM0VCRUFBMjFC
RjA1NEMwMDBEMDQzRCAvKiBKU1NWR1ZpZXdTcGVjQ3VzdG9tLmNwcCAqLywKKwkJCQkzMUVCMzM0
OTI3MUM5MzdCMDBDQkRCQUEgLyogSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwICovLAogCQkJKTsK
IAkJCW5hbWUgPSBDdXN0b207CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjkyNDAs
MTIgKzI5MjU5LDE3IEBACiAJCQkJRTFFRThBRDMyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmNwcCAqLywKIAkJCQlFMUVFOEFEMTI0MTJCMTcwMDBFNzk0RDYg
LyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCAqLywKIAkJCQlFMTk0OTA5NDI0MzRGMTYw
MDA0MTZBOTkgLyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsICovLAorCQkJCTMxRDky
QUQ5MjcwQjU0ODUwMEFEMDFEMCAvKiBXZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgKi8sCiAJCQkJ
RTFFRThBRjAyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSRnJhbWUuY3BwICovLAogCQkJCUUxRUU4
QUUzMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmggKi8sCiAJCQkJRTE5NDkwODgyNDM0
RjE1OTAwNDE2QTk5IC8qIFdlYlhSRnJhbWUuaWRsICovLAogCQkJCTExRTUxNjNCMjYxRTFBMTQw
MEU2OUYyNSAvKiBXZWJYUkdhbWVwYWQuY3BwICovLAogCQkJCTExRTUxNjNBMjYxRTFBMTQwMEU2
OUYyNSAvKiBXZWJYUkdhbWVwYWQuaCAqLywKKwkJCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAg
LyogV2ViWFJIYW5kLmNwcCAqLywKKwkJCQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2Vi
WFJIYW5kLmggKi8sCisJCQkJMzFEOTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5p
ZGwgKi8sCiAJCQkJQkMwMjRBOUEyNzBBNzY1MTAwRkQ0QzNGIC8qIFdlYlhSSW5wdXRTb3VyY2Ur
R2FtZXBhZC5pZGwgKi8sCisJCQkJMzFEOTJBRDcyNzBCNTQ3ODAwQUQwMUQwIC8qIFdlYlhSSW5w
dXRTb3VyY2UrSGFuZElucHV0LmlkbCAqLywKIAkJCQlFMUVFOEIwRDI0MTJCMTcwMDBFNzk0RDYg
LyogV2ViWFJJbnB1dFNvdXJjZS5jcHAgKi8sCiAJCQkJRTFFRThCMTcyNDEyQjE3MDAwRTc5NEQ2
IC8qIFdlYlhSSW5wdXRTb3VyY2UuaCAqLywKIAkJCQlFMTk0OTA4OTI0MzRGMTVBMDA0MTZBOTkg
LyogV2ViWFJJbnB1dFNvdXJjZS5pZGwgKi8sCkBAIC0yOTI1NCw2ICsyOTI3OCwxMiBAQAogCQkJ
CUUxOTQ5MDkzMjQzNEYxNjAwMDQxNkE5OSAvKiBXZWJYUklucHV0U291cmNlQXJyYXkuaWRsICov
LAogCQkJCTExRTUxNjM3MjYxRTFBMDUwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuY3BwICov
LAogCQkJCTExRTUxNjM1MjYxRTFBMDUwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuaCAqLywK
KwkJCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuY3BwICovLAor
CQkJCTMxRDkyQUE4MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oICovLAorCQkJ
CTMxRDkyQUE5MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5pZGwgKi8sCisJCQkJ
MzFEOTJBQTYyNzA3RTk1MTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5jcHAgKi8sCisJCQkJ
MzFEOTJBQTUyNzA3RThCMzAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oICovLAorCQkJCTMx
RDkyQUE0MjcwN0U4M0EwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovLAogCQkJCUUx
MkZEQUZCMjRBMEZEMUMwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmNwcCAqLywKIAkJCQlFMTJGREFG
RDI0QTBGRDFFMDA3MDIzNkUgLyogV2ViWFJMYXllci5oICovLAogCQkJCUUxMkZEQUZFMjRBMEZE
MUYwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmlkbCAqLywKQEAgLTI5MzAxLDYgKzI5MzMxLDggQEAK
IAkJCQlFMUVFOEFGQjI0MTJCMTcwMDBFNzk0RDYgLyogWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5p
ZGwgKi8sCiAJCQkJRTFFRThBRUUyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5oICov
LAogCQkJCUUxRUU4QjA3MjQxMkIxNzAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaWRsICovLAor
CQkJCTMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovLAorCQkJCTMx
RDkyQTlFMjcwN0Q1RDEwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8sCiAJCQkJRTFFRThB
Q0MyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5jcHAgKi8sCiAJCQkJRTFF
RThCMDkyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5oICovLAogCQkJCUUx
RUU4QjAwMjQxMkIxNzAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaWRsICovLApAQCAt
MzYyMjYsOSArMzYyNTgsMTIgQEAKIAkJCQlFMUVFOEI3RTI0MTMxOTFGMDBFNzk0RDYgLyogV2Vi
WFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QjhBMjQx
MzE5MUYwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMUU1MTYz
QzI2MUUxQTE1MDBFNjlGMjUgLyogV2ViWFJHYW1lcGFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MUQ5MkFBMzI3MDdENjk2MDBBRDAxRDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEJBODI0MTMxOTYzMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCODYyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRTb3VyY2VB
cnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFFNTE2MzgyNjFFMUEwNjAwRTY5RjI1IC8qIFdl
YlhSSW5wdXRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQUIyNzA4RDIwMTAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUQ5MkFBNzI3MDdF
OTU5MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJG
REIwMDI0QTBGRDIwMDA3MDIzNkUgLyogV2ViWFJMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE0RjE2OUYyNjQwQkM0MTAwNjYzRUNFIC8qIFdlYlhST3BhcXVlRnJhbWVidWZmZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxRUU4Qjg4MjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUlBvc2UuaCBp
biBIZWFkZXJzICovLApAQCAtMzYzNDksNiArMzYzODQsNyBAQAogCQkJCUUxRUU4Qjk3MjQxMzE5
NTAwMEU3OTRENiAvKiBYUkV5ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEYyNDEzMTk1
MDAwRTc5NEQ2IC8qIFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxRUU4QjkyMjQxMzE5NTAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaCBpbiBIZWFkZXJzICov
LAorCQkJCTMxRDkyQTlGMjcwN0Q1REUwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCOUYyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOTkyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSW5w
dXRTb3VyY2VzQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkE5RjRBMjQ4QTk5
RTIwMDNGMDZDOCAvKiBYUkludGVyYWN0aW9uTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODAwZjUzZTg1MzgyYzNkODk4N2IyYmM1OTgyMTYwYTk3OGQyYjIxYwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3Vz
dG9tLmNwcApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTV2ViWFJTZXNz
aW9uLmgiCisKKyNpbmNsdWRlICJKU05vZGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit0
ZW1wbGF0ZTx0eXBlbmFtZSBWaXNpdG9yPgordm9pZCBKU1dlYlhSU2Vzc2lvbjo6dmlzaXRBZGRp
dGlvbmFsQ2hpbGRyZW4oVmlzaXRvciYgdmlzaXRvcikKK3sKKyAgICB2aXNpdG9yLmFkZE9wYXF1
ZVJvb3QoJndyYXBwZWQoKSk7Cit9CisKK0RFRklORV9WSVNJVF9BRERJVElPTkFMX0NISUxEUkVO
KEpTV2ViWFJTZXNzaW9uKTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCmluZGV4IDVkNWIyOTlj
MTYxNjU5NDU3ODNjZGI3NzExODNiZTdhODA2YjlhZGQuLmUwYTYyMTczOTkxMTA0MzFiYzAwNWMz
MzY1YWQxMmJmZDg0ODQxZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pz
L1dlYkNvcmVCdWlsdGluTmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9X
ZWJDb3JlQnVpbHRpbk5hbWVzLmgKQEAgLTMxMCwxMCArMzEwLDEzIEBAIG5hbWVzcGFjZSBXZWJD
b3JlIHsKICAgICBtYWNybyhYTUxIdHRwUmVxdWVzdCkgXAogICAgIG1hY3JvKFhSQm91bmRlZFJl
ZmVyZW5jZVNwYWNlKSBcCiAgICAgbWFjcm8oWFJGcmFtZSkgXAorICAgIG1hY3JvKFhSSGFuZCkg
XAogICAgIG1hY3JvKFhSSW5wdXRTb3VyY2UpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlQXJy
YXkpIFwKICAgICBtYWNybyhYUklucHV0U291cmNlRXZlbnQpIFwKICAgICBtYWNybyhYUklucHV0
U291cmNlc0NoYW5nZUV2ZW50KSBcCisgICAgbWFjcm8oWFJKb2ludFBvc2UpIFwKKyAgICBtYWNy
byhYUkpvaW50U3BhY2UpIFwKICAgICBtYWNybyhYUkxheWVyKSBcCiAgICAgbWFjcm8oWFJQb3Nl
KSBcCiAgICAgbWFjcm8oWFJSZWZlcmVuY2VTcGFjZSkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
eHIvUGxhdGZvcm1YUi5oCmluZGV4IDYwNjAwMzU3YjU1MDRiNDUxMjI4MTBhNTg1YzBkYWUzNzU3
MGMwOTkuLjI5MzUzZGM1NTI1NWEwYWE5MjlmMTEzMTljZGNiNjRkNTc1N2FmNmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKQEAgLTc4LDYgKzc4LDM4IEBAIGVudW0g
Y2xhc3MgWFJUYXJnZXRSYXlNb2RlIHsKICAgICBTY3JlZW4sCiB9OwogCisjaWYgRU5BQkxFKFdF
QlhSX0hBTkRTKQorCitlbnVtIGNsYXNzIEhhbmRKb2ludCA6IHVuc2lnbmVkIHsKKyAgICBXcmlz
dCwKKyAgICBUaHVtYk1ldGFjYXJwYWwsCisgICAgVGh1bWJQaGFsYW54UHJveGltYWwsCisgICAg
VGh1bWJQaGFsYW54RGlzdGFsLAorICAgIFRodW1iVGlwLAorICAgIEluZGV4RmluZ2VyTWV0YWNh
cnBhbCwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBJbmRleEZpbmdlclBo
YWxhbnhJbnRlcm1lZGlhdGUsCisgICAgSW5kZXhGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIElu
ZGV4RmluZ2VyVGlwLAorICAgIE1pZGRsZUZpbmdlck1ldGFjYXJwYWwsCisgICAgTWlkZGxlRmlu
Z2VyUGhhbGFueFByb3hpbWFsLAorICAgIE1pZGRsZUZpbmdlclBoYWxhbnhJbnRlcm1lZGlhdGUs
CisgICAgTWlkZGxlRmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBNaWRkbGVGaW5nZXJUaXAsCisg
ICAgUmluZ0Zpbmdlck1ldGFjYXJwYWwsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhQcm94aW1hbCwK
KyAgICBSaW5nRmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAgICBSaW5nRmluZ2VyUGhhbGFu
eERpc3RhbCwKKyAgICBSaW5nRmluZ2VyVGlwLAorICAgIFBpbmt5RmluZ2VyTWV0YWNhcnBhbCwK
KyAgICBQaW5reUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAgICBQaW5reUZpbmdlclBoYWxhbnhJ
bnRlcm1lZGlhdGUsCisgICAgUGlua3lGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIFBpbmt5Rmlu
Z2VyVGlwCit9OworCisjZW5kaWYKKwogY2xhc3MgVHJhY2tpbmdBbmRSZW5kZXJpbmdDbGllbnQ7
CiAKIGNsYXNzIERldmljZSA6IHB1YmxpYyBUaHJlYWRTYWZlUmVmQ291bnRlZDxEZXZpY2U+LCBw
dWJsaWMgQ2FuTWFrZVdlYWtQdHI8RGV2aWNlPiB7CkBAIC0yMDgsNiArMjQwLDEwIEBAIHB1Ymxp
YzoKICAgICAgICAgICAgIHN0ZDo6b3B0aW9uYWw8SW5wdXRTb3VyY2VQb3NlPiBncmlwT3JpZ2lu
OwogICAgICAgICAgICAgVmVjdG9yPElucHV0U291cmNlQnV0dG9uPiBidXR0b25zOwogICAgICAg
ICAgICAgVmVjdG9yPGZsb2F0PiBheGVzOworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBBY3R1YWxseSBob2xkIHNvbWUgaGFuZCBkYXRhLgorICAgICAgICAg
ICAgYm9vbCBzaW11bGF0ZUhhbmQgeyBmYWxzZSB9OworI2VuZGlmCiAKICAgICAgICAgICAgIHRl
bXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKICAgICAg
ICAgICAgIHRlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPElucHV0
U291cmNlPiBkZWNvZGUoRGVjb2RlciYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFr
ZVhSSW5wdXRTb3VyY2VJbml0LmgKaW5kZXggZWM0MmE0YjMxMDAxODJiMzBlMzQzMWVmMGE0OGQ5
ZTE2Mjg5ODQwYS4uMTYwNzYyZDdkNDc3YWJmNjRkMDUyNDY0ZmViOWRkMjA1NTA5ZGFhZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5oCkBAIC00
NSw2ICs0NSw5IEBAIHN0cnVjdCBGYWtlWFJJbnB1dFNvdXJjZUluaXQgewogICAgIGJvb2wgc2Vs
ZWN0aW9uQ2xpY2tlZCB7IGZhbHNlIH07CiAgICAgVmVjdG9yPEZha2VYUkJ1dHRvblN0YXRlSW5p
dD4gc3VwcG9ydGVkQnV0dG9uczsKICAgICBGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQgZ3JpcE9y
aWdpbjsKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgYm9vbCBzaW11bGF0ZUhhbmQgeyBm
YWxzZSB9OworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5pZGwKaW5kZXggZTkwOTRi
NjdjOWY3YzNkMDc2ZmFmNzk1OWZmNDhjMmM5ZWY4ODRmOS4uNzk4NWM2OWJiZWRkYzk1ZDIyM2Nk
OTZmODZiM2ZjYjEyY2Y0OGYyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9G
YWtlWFJJbnB1dFNvdXJjZUluaXQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFr
ZVhSSW5wdXRTb3VyY2VJbml0LmlkbApAQCAtNDEsNCArNDEsNyBAQAogICAgIHNlcXVlbmNlPEZh
a2VYUkJ1dHRvblN0YXRlSW5pdD4gc3VwcG9ydGVkQnV0dG9uczsKICAgICAvLyBJZiBub3Qgc2V0
IHRoZSBjb250cm9sbGVyIGlzIGFzc3VtZWQgdG8gbm90IGJlIHRyYWNrZWQuCiAgICAgRmFrZVhS
UmlnaWRUcmFuc2Zvcm1Jbml0IGdyaXBPcmlnaW47CisgICAgLy8gT3B0aW9uYWwgaGFuZCBpbnB1
dC4gRm9yIG5vdyB3ZSBkb24ndCBjYXJlIGFib3V0IHRoZSBhY3R1YWwKKyAgICAvLyBkYXRhLiBX
ZSdyZSBqdXN0IGNyZWF0aW5nIHRoZSBvYmplY3QgZm9yIHRlc3RpbmcuCisgICAgYm9vbGVhbiBz
aW11bGF0ZUhhbmQgPSBmYWxzZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L1dlYkZha2VYUklucHV0Q29udHJvbGxlci5jcHAKaW5kZXggZmUxM2UwM2E2NWQxNzJkMGQ2ZDIy
NGZkMWVhN2JjNmY0ZGFhMTYyMS4uNTIyNGQyOGUwNzI2M2Q4OGMzYmRhYzVkYmQ4YmFkZjUwMDQ5
ZDlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENv
bnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRD
b250cm9sbGVyLmNwcApAQCAtNTEsNiArNTEsOSBAQCBXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXI6
OldlYkZha2VYUklucHV0Q29udHJvbGxlcihQbGF0Zm9ybVhSOjpJbnB1dFNvdXJjZUhhbmRsZQog
ICAgICwgbV9wcm9maWxlcyhpbml0LnByb2ZpbGVzKQogICAgICwgbV9wcmltYXJ5U2VsZWN0ZWQo
aW5pdC5zZWxlY3Rpb25TdGFydGVkKQogICAgICwgbV9zaW11bGF0ZVNlbGVjdChpbml0LnNlbGVj
dGlvbkNsaWNrZWQpCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgICwgbV9zaW11bGF0ZUhh
bmQoaW5pdC5zaW11bGF0ZUhhbmQpCisjZW5kaWYKIHsKICAgICBzZXRQb2ludGVyT3JpZ2luKGlu
aXQucG9pbnRlck9yaWdpbiwgZmFsc2UpOwogICAgIHNldEdyaXBPcmlnaW4oaW5pdC5ncmlwT3Jp
Z2luLCBmYWxzZSk7CkBAIC0xMDYsNiArMTA5LDkgQEAgSW5wdXRTb3VyY2UgV2ViRmFrZVhSSW5w
dXRDb250cm9sbGVyOjpnZXRGcmFtZURhdGEoKQogICAgIHN0YXRlLnByb2ZpbGVzID0gbV9wcm9m
aWxlczsKICAgICBzdGF0ZS5wb2ludGVyT3JpZ2luID0gbV9wb2ludGVyT3JpZ2luOwogICAgIHN0
YXRlLmdyaXBPcmlnaW4gPSBtX2dyaXBPcmlnaW47CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQor
ICAgIHN0YXRlLnNpbXVsYXRlSGFuZCA9IG1fc2ltdWxhdGVIYW5kOworI2VuZGlmCiAKICAgICBp
ZiAobV9zaW11bGF0ZVNlbGVjdCkKICAgICAgICAgbV9wcmltYXJ5U2VsZWN0ZWQgPSB0cnVlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xs
ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmgK
aW5kZXggZTU5ZGMwMjFkY2VhMzk3YzMxYzYzNDVhNWY4NjIzM2UxMzlkM2EyZS4uY2I0ZDEzNjdl
MWYxOTM0NDg2NzQ1ZGIwNzQxNDVlNTRiYzMxZGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5oCkBAIC03OSw2ICs3OSw5IEBAIHBy
aXZhdGU6CiAgICAgYm9vbCBtX2Nvbm5lY3RlZCB7IHRydWUgfTsKICAgICBib29sIG1fcHJpbWFy
eVNlbGVjdGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2ltdWxhdGVTZWxlY3QgeyBmYWxzZSB9
OworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBib29sIG1fc2ltdWxhdGVIYW5kIHsgZmFs
c2UgfTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5YTk4
YTY5MDZjNWMwNWNkMDcwYTljOWMzOWQ4YjdjZTVhMzdjOGIuLjY4ZWQ3ZTFiMTM3YmJmZjY5NGFl
MTc5NDYyZTljMjVhNDZlYjdhNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZwor
KysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMC0xNyAg
RGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlhSXSBTdHVicyBm
b3IgV2ViWFIgSGFuZCBJbnB1dCBNb2R1bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMTEyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM4MDIx
MzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3
IHRlc3QgdGhhdCBjaGVja3MgYW4gWFJIYW5kIG9iamVjdCBjYW4gc3Vydml2ZSBnYXJiYWdlIGNv
bGxlY3Rpb24uCisKKyAgICAgICAgKiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy1leHBl
Y3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2dj
Lmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFzZXJA
YXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNzA4NTApOiBSZWZlcmVuY2UgY2xp
cCBwYXRoIGNsaXBzIGluIHRoZSB3cm9uZyBwbGFjZSB3aGVuIGluc2lkZSBub24tdmlzaWJsZSBv
dmVyZmxvdwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5w
dXRfZ2MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5w
dXRfZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYjQ1YTE4NTA3NjZkOGRhYTQ3YmExZDRh
NTNhN2ZkYzIxODZhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dwdC93
ZWJ4ci94ckhhbmRJbnB1dF9nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BBU1Mg
VGVzdCBvYmplY3QgbGlmZXRpbWUgb2YgSGFuZCBJbnB1dCBtb2R1bGUgLSB3ZWJnbAorUEFTUyBU
ZXN0IG9iamVjdCBsaWZldGltZSBvZiBIYW5kIElucHV0IG1vZHVsZSAtIHdlYmdsMgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sIGIv
TGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43NzI4MmY2ZjQxNjYzODg1MzgyMTljMTQ0NjU2ZjBjMDliNmVkZjBlCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbApAQCAt
MCwwICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rl
c3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3RoYXJu
ZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VieHJfdXRp
bC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29uc3Rh
bnRzX3NpbmdsZV92aWV3LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdjKCkK
K3sKKyAgICBpZiAod2luZG93LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29udHJv
bGxlci5jb2xsZWN0KCk7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsg
Ly8gPiBmb3JjZSBnYXJiYWdlIGNvbGxlY3Rpb24gKEZGIHJlcXVpcmVzIGFib3V0IDlLIGFsbG9j
YXRpb25zIGJlZm9yZSBhIGNvbGxlY3QpCisgICAgICAgIHZhciBzID0gbmV3IFN0cmluZygiYWJj
Iik7CisgICAgfQorfQorCitsZXQgdGVzdE5hbWUgPSAiVGVzdCBvYmplY3QgbGlmZXRpbWUgb2Yg
SGFuZCBJbnB1dCBtb2R1bGUiOworCitsZXQgZmFrZURldmljZUluaXRQYXJhbXMgPSBUUkFDS0VE
X0lNTUVSU0lWRV9TSU5HTEVfVklFV0RFVklDRTsKKworbGV0IHRlc3RGdW5jdGlvbiA9IGZ1bmN0
aW9uKHNlc3Npb24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0LCBzZXNzaW9uT2JqZWN0cykgewor
CisgIGxldCBpbnB1dF9zb3VyY2UgPSBmYWtlRGV2aWNlQ29udHJvbGxlci5zaW11bGF0ZUlucHV0
U291cmNlQ29ubmVjdGlvbih7CisgICAgaGFuZGVkbmVzczogIm5vbmUiLAorICAgIHRhcmdldFJh
eU1vZGU6ICJ0cmFja2VkLXBvaW50ZXIiLAorICAgIHBvaW50ZXJPcmlnaW46IFZBTElEX1BPSU5U
RVJfVFJBTlNGT1JNLAorICAgIHByb2ZpbGVzOiBbXSwKKyAgICBzaW11bGF0ZUhhbmQ6IHRydWUs
CisgIH0pOworCisgIHJldHVybiBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VTcGFjZSgnbG9jYWwn
KQorICAgIC50aGVuKChyZWZlcmVuY2VTcGFjZSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+
IHsKKworICAgICAgZnVuY3Rpb24gb25GcmFtZSh0aW1lLCB4ckZyYW1lKSB7CisgICAgICAgIGlm
IChzZXNzaW9uLmlucHV0U291cmNlcyAmJiBzZXNzaW9uLmlucHV0U291cmNlcy5sZW5ndGgpIHsK
KworICAgICAgICAgIHNlc3Npb24uY3VzdG9tUHJvcGVydHkgPSAxOworICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoc2Vzc2lvbi5jdXN0b21Qcm9wZXJ0eSwgMSwgInNlc3Npb24iKTsKKyAgICAgICAg
ICBnYygpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2Vzc2lvbi5jdXN0b21Qcm9wZXJ0eSwg
MSwgInNlc3Npb24iKTsKKworICAgICAgICAgIHNlc3Npb24uaW5wdXRTb3VyY2VzLmN1c3RvbVBy
b3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uaW5wdXRTb3VyY2Vz
LmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXMiKTsKKyAgICAgICAgICBn
YygpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2Vzc2lvbi5pbnB1dFNvdXJjZXMuY3VzdG9t
UHJvcGVydHksIDEsICJzZXNzaW9uLmlucHV0U291cmNlcyIpOworCisgICAgICAgICAgc2Vzc2lv
bi5pbnB1dFNvdXJjZXNbMF0uY3VzdG9tUHJvcGVydHkgPSAxOworICAgICAgICAgIGFzc2VydF9l
cXVhbHMoc2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0uY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9u
LmlucHV0U291cmNlc1swXSIpOworICAgICAgICAgIGdjKCk7CisgICAgICAgICAgYXNzZXJ0X2Vx
dWFscyhzZXNzaW9uLmlucHV0U291cmNlc1swXS5jdXN0b21Qcm9wZXJ0eSwgMSwgInNlc3Npb24u
aW5wdXRTb3VyY2VzWzBdIik7CisKKyAgICAgICAgICBzZXNzaW9uLmlucHV0U291cmNlc1swXS5o
YW5kLmN1c3RvbVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24u
aW5wdXRTb3VyY2VzWzBdLmhhbmQuY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9uLmlucHV0U291
cmNlc1swXS5oYW5kIik7CisgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxz
KHNlc3Npb24uaW5wdXRTb3VyY2VzWzBdLmhhbmQuY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9u
LmlucHV0U291cmNlc1swXS5oYW5kIik7CisgICAgICAgIH0KKyAgICAgICAgcmVzb2x2ZSgpOwor
ICAgICAgfQorICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUob25GcmFtZSk7Cisg
IH0pKTsKK307CisKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KAorICB0ZXN0TmFtZSwgdGVzdEZ1
bmN0aW9uLCBmYWtlRGV2aWNlSW5pdFBhcmFtcywgJ2ltbWVyc2l2ZS12cicsIHsgb3B0aW9uYWxG
ZWF0dXJlczogWyJoYW5kLXRyYWNraW5nIl0gfSk7CisKKzwvc2NyaXB0Pgo=
</data>
<flag name="commit-queue"
          id="465846"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441544</attachid>
            <date>2021-10-17 12:40:05 -0700</date>
            <delta_ts>2021-10-17 13:56:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211018064003.patch</filename>
            <type>text/plain</type>
            <size>75344</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM1M2E5YjI5YWYzYTFhMmM2Zjc1MGJk
OTJmY2Q3MGI5ZDIyNDllNWUuLmQ4M2ViNzkzNzI2ZDdlOGI5ZTAwMjg2ZTg1ZmY0ODk3ODFjMjY2
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmQgSW5wdXQg
TW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBFTkFCTEVfV0VCWFJfSEFO
RFMgY29tcGlsZSB0aW1lIGZsYWcgYW5kIGEgV2ViWFJIYW5kc0VuYWJsZWQgcHJlZmVyZW5jZS4K
KworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEwLTE2ICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgV0FTTSB0byB1c2UgdXAgdG8gNEdC
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNjU3NDAwZjc3Zjk4OTFmMzMwYWJiOTExYWIwMGNkNDA0ZjYxNjI0MC4u
ODY0NDA0YTEzNzNmMjRkMTc1ZWU0MWFkYTJlMjllMWRkNjcxYjk1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDkzIEBACisyMDIxLTEwLTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViWFJdIFN0dWJzIGZvciBXZWJYUiBIYW5kIElucHV0IE1vZHVsZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIElETCBhbmQgc3R1YiBpbXBsZW1lbnRhdGlv
bnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5kIElucHV0IG1vZHVsZToKKyAgICAgICAgaHR0
cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LworCisgICAgICAg
IFRoZSBpbXBvcnRhbnQgY2xhc3MgaXMgV2ViWFJIYW5kLCB3aGljaCBpcyBvd25lZCBieQorICAg
ICAgICBhbmQgYWNjZXNzaWJsZSBmcm9tIHRoZSBXZWJYUklucHV0U291cmNlLCB3aGljaAorICAg
ICAgICBpdHNlbGYgaXMgb3duZWQgYnkgdGhlIFdlYlhSU2Vzc2lvbi4KKworICAgICAgICBUZXN0
OiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgICog
TW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOiBBZGQgYSBjdXN0b20gbWFyayBmdW5jdGlv
biB0aGF0IGNyZWF0ZXMgYW4gb3BhcXVlIHJvb3QuCisgICAgICAgICogYmluZGluZ3MvanMvSlNX
ZWJYUlNlc3Npb25DdXN0b20uY3BwOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lK0hhbmRJbnB1dC5pZGw6IEFkZCBuZXcgaGFuZC1yZWxhdGVkIG1ldGhvZHMuCisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhS
RnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxs
Sm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxsUG9zZXMpOgor
ICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgorCisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUkhhbmQuY3BwOiBOZXcgZmlsZXMuCisgICAgICAgIChXZWJDb3JlOjpXZWJY
UkhhbmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OldlYlhSSGFuZCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhh
bmQ6Okl0ZXJhdG9yOjpuZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6c2Vzc2lv
bik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSSGFuZDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0
ZUl0ZXJhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGw6CisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbDogQWRk
IFdlYlhSSGFuZCBhY2Nlc3Nvci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6dXBkYXRlKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYlhSSW5wdXRTb3VyY2U6OmhhbmQgY29uc3QpOgorCisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6IE5ldyBmaWxlcy4KKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSm9pbnRQb3NlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBv
c2U6OldlYlhSSm9pbnRQb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQ
b3NlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6cmFkaXVzIGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbDoKKworICAgICAgICAq
IE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcDogTmV3IGZpbGVzLgorICAgICAgICAo
V2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJK
b2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6Ompv
aW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmg6IE5ldyB2aXJ0dWFs
IGlkZW50aWZpZXIgZm9yIGpvaW50IHNwYWNlIHN1YmNsYXNzLgorICAgICAgICAoV2ViQ29yZTo6
V2ViWFJTcGFjZTo6aXNKb2ludFNwYWNlIGNvbnN0KToKKworICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvV2ViWFJTeXN0ZW0uY3BwOiBBZGQgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgdGVzdGluZyBv
ZgorICAgICAgICBvcHRpb25hbCBmZWF0dXJlcyAod2hlcmUgdGhlICJoYW5kLXRyYWNraW5nIiBm
ZWF0dXJlIHNob3VsZCBiZSBjaGVja2VkKS4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhSU3lzdGVt
OjpyZXNvbHZlUmVxdWVzdGVkRmVhdHVyZXMgY29uc3QpOgorCisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9YUkhhbmRKb2ludC5oOiBOZXcgZmlsZS4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1hS
SGFuZEpvaW50LmlkbDoKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDogRXhwb3NlIG5ldyBtYXBwaW5ncyBmcm9tIHB1Ymxpc2hlZCBuYW1lcworICAgICAgICB0
byBpbnRlcm5hbCBuYW1lcy4KKworICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDog
QWRkICJzaW11bGF0ZUhhbmRzIiBmaWVsZCB0byBmcmFtZSBkYXRhIGZvciB0ZXN0aW5nLgorICAg
ICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0Lmg6IEFuZCBzaW1pbGFybHkgdG8g
dGhlIGZha2UgaW5wdXQgc291cmNlLgorICAgICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3Vy
Y2VJbml0LmlkbDoKKworICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVy
LmNwcDogQWxsb3cgdGhlIHRlc3Qgc3lzdGVtIHRvIGZha2UgYSBoYW5kLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpnZXRGcmFtZURh
dGEpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmg6CisKIDIw
MjEtMTAtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjI3MDg1MCk6IFJlZmVyZW5jZSBjbGlwIHBhdGggY2xpcHMgaW4gdGhl
IHdyb25nIHBsYWNlIHdoZW4gaW5zaWRlIG5vbi12aXNpYmxlIG92ZXJmbG93CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IDdlNGM5YjVlMTg5MzUyODE3ZmI4NzdmYzg0MzMyZmE1OTIz
MjUwYjYuLmY5NWI4ZDAxMGRiNTg1ZjY2Y2IzNGQ0YWZmODAxZjY2Y2FhM2RiYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xNjYwLDYgKzE2NjAsMTkgQEAgV2ViWFJHYW1lcGFk
c01vZHVsZUVuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1dl
YlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxl
TmFtZTogIldlYlhSIEhhbmQgSW5wdXQgTW9kdWxlIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJBZGRzIHN1cHBvcnQgZm9yIHRoZSBIYW5kcyBJbnB1dCBNb2R1bGUgZm9yIFdlYlhSIgor
ICBjb25kaXRpb246IEVOQUJMRShXRUJYUl9IQU5EUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdl
YktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYlhSRW5hYmxlZCgp
CisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViWFJFbmFibGVk
KCkKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogV2hlZWxFdmVudEdlc3R1
cmVzQmVjb21lTm9uQmxvY2tpbmc6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJXaGVlbCBFdmVudCBnZXN0dXJlcyBiZWNvbWUgbm9uLWJsb2NraW5nIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
RW5hYmxlLmgKaW5kZXggODczOGQyNWQxYmNjNzA5NTg5YjI2YjJmOTI4ZjRmOGNlZTYwYzZmOS4u
MjJhNmY1YjRkNzM5OTgwMDc3MzUxNGMwZjBhNDRhMjcwYTYwNzJmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUVuYWJsZS5oCkBAIC0xNjAsNyArMTYwLDYgQEAKICNkZWZpbmUgRU5BQkxFX01FVEFfVklFV1BP
UlQgMAogI2VuZGlmCiAKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9GSUxFX1JFUExBQ0VNRU5UKQog
I2RlZmluZSBFTkFCTEVfRklMRV9SRVBMQUNFTUVOVCAwCiAjZW5kaWYKQEAgLTU0NSw2ICs1NDQs
MTQgQEAKICNkZWZpbmUgRU5BQkxFX0ZJTEVfU0hBUkUgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfV0VCWFIpCisjZGVmaW5lIEVOQUJMRV9XRUJYUiAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJYUl9IQU5EUykKKyNkZWZpbmUgRU5BQkxFX1dFQlhSX0hBTkRTIDAK
KyNlbmRpZgorCiAvKgogICogRW5hYmxlIHRoaXMgdG8gcHV0IGVhY2ggSXNvSGVhcCBhbmQgb3Ro
ZXIgYWxsb2NhdGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3duIG1hbGxvYyBoZWFwcywgc28g
dGhhdCB0b29scyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcgZWFjaCBoZWFwIGlzLgogICog
VHVybiBCRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBpbiBibWFsbG9jIHRvZ2V0aGVy
IHdoZW4gdXNpbmcgdGhpcy4KQEAgLTkyNSwzICs5MzIsNyBAQAogI2lmIEVOQUJMRShQUkVERUZJ
TkVEX0NPTE9SX1NQQUNFX0RJU1BMQVlfUDMpICYmICFFTkFCTEUoREVTVElOQVRJT05fQ09MT1Jf
U1BBQ0VfRElTUExBWV9QMykKICNlcnJvciAiRU5BQkxFKFBSRURFRklORURfQ09MT1JfU1BBQ0Vf
RElTUExBWV9QMykgcmVxdWlyZXMgRU5BQkxFKERFU1RJTkFUSU9OX0NPTE9SX1NQQUNFX0RJU1BM
QVlfUDMpIgogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpICYmICFFTkFCTEUoV0VC
WFIpCisjZXJyb3IgIkVOQUJMRShXRUJYUl9IQU5EUykgcmVxdWlyZXMgRU5BQkxFKFdFQlhSKSIK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDBjNzI1MDRjYjEx
MmYxMjI5YzBlYTYzNWUwNjBiODM1MGQ4ODBkZTIuLmFhNjgyYjhmOThkMjE1MWNjNTU1MmM1ZjE2
YzFmYzcwYjU4M2UxYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxl
Q29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTYz
Niw2ICs2MzYsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRpZgogCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VCWFJfSEFORFMgMQor
I2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKQogI2RlZmlu
ZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA3OWJkODVjNDA5ZmJiNTIyMGNmMzgwZGY3ZmY2YTNlY2UzOTE4MGI3Li5mMTdlYTM3ZWM3
YmFmNDNlODJhNjNlMDgxYjRjZjAzY2U5YzY0NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTQxNiwxMCArMTQxNiwxNSBAQCBlbmRpZiAoKQogbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbAogICAgIE1v
ZHVsZXMvd2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCisgICAgTW9kdWxlcy93
ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuaWRsCisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCiAgICAgTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsCisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlK0hhbmRJbnB1dC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsCisgICAg
TW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhS
Sm9pbnRTcGFjZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAgICAgTW9k
dWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5j
ZVNwYWNlLmlkbApAQCAtMTQzNiw2ICsxNDQxLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05f
U1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5p
ZGwKICAgICBNb2R1bGVzL3dlYnhyL1hSRXllLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJGcmFt
ZVJlcXVlc3RDYWxsYmFjay5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbAog
ICAgIE1vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJ
bnB1dFNvdXJjZUV2ZW50LmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFu
Z2VFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IDRjYWI3MzM5OGVjM2VjNzU2N2VmYjFhNzdmMTgyZTRlOGJhNTYyODIuLmRm
NWRlZTEzNGM5OWEzNzE3MWQ2YWZkNGYxNTg2ZGUzMTMzYjA3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtNTk4LDEwICs1OTgsMTUg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3IrV2ViWFIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIv
V2ViWFJJbnB1dFNvdXJjZStHYW1lcGFkLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UrSGFuZElucHV0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291
cmNlQXJyYXkuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3Nl
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
eHIvV2ViWFJSZWZlcmVuY2VTcGFjZS5pZGwKQEAgLTYxOCw2ICs2MjMsNyBAQCAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvWFJFeWUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2suaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSGFu
ZEpvaW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkhhbmRlZG5lc3MuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VFdmVudC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5pZGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5k
ZXggNGEwYjg2ZjM1ZWY1ZGQ0YzMxNDZmOTEzYTU2Y2VjMmFmMjZiNWFiOC4uNDI1YjUzNjQwN2I3
YmJkMjEwYTQ2MTE3ZGU5ZTkxNmEwZjliM2JmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0MjMsMTQgKzI0MjMsMjQgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJTb2NrZXQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlNvY2tl
dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
Qm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUrSGFuZElucHV0
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJY
UkZyYW1lK0hhbmRJbnB1dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYlhSRnJhbWUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlK0dhbWVwYWQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2Ur
R2FtZXBhZC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSGFuZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJIYW5kLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJ
bnB1dFNvdXJjZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2lu
dFBvc2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSm9pbnRQb3NlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViWFJKb2ludFNwYWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAt
MjUzMyw2ICsyNTQzLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNYUkV5ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTWFJFeWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpv
aW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJI
YW5kZWRuZXNzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkhhbmRlZG5lc3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNYUklucHV0U291cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA1Yzc3M2E0ODlkYTE5Y2MyMDg1ZWNjZTcxM2ViMDA3YjIwMGY4ODUyLi5mYmMx
OTY2ZjVkYzhkNGY0NzQ1MGU2NTc0NmIwZDIwMjRiNWNhN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTQ5OSwxMCArNDk5LDE1IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL05hdmlnYXRvcitXZWJYUi5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSTGF5ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJQb3NlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNlU3BhY2UuaWRs
IFwKQEAgLTUxOSw2ICs1MjQsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1hSRXllLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YnhyL1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvWFJIYW5kSm9pbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJI
YW5kZWRuZXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3Vy
Y2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNl
c0NoYW5nZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMGQ1ZjI0ZDZmMzdkZjE5
YjFkNzk0ZDM1YzNhOGY4ZTc5NDY2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJY
UkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMKK10g
cGFydGlhbCBpbnRlcmZhY2UgV2ViWFJGcmFtZSB7CisgICAgV2ViWFJKb2ludFBvc2U/IGdldEpv
aW50UG9zZShXZWJYUkpvaW50U3BhY2Ugam9pbnQsIFdlYlhSU3BhY2UgYmFzZVNwYWNlKTsKKyAg
ICBib29sZWFuIGZpbGxKb2ludFJhZGlpKHNlcXVlbmNlPFdlYlhSSm9pbnRTcGFjZT4gam9pbnRT
cGFjZXMsIEZsb2F0MzJBcnJheSByYWRpaSk7CisgICAgYm9vbGVhbiBmaWxsUG9zZXMoc2VxdWVu
Y2U8V2ViWFJTcGFjZT4gc3BhY2VzLCBXZWJYUlNwYWNlIGJhc2VTcGFjZSwgRmxvYXQzMkFycmF5
IHRyYW5zZm9ybXMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCmluZGV4IGI2ZjAwMWU0OGY4YWViZDE3ZGYxNWY4MWE0NjRiYzhhZDI3NmU2MWMuLmYx
YWZkNDMzZTI1Y2MyNTM1Njg3NzJkNzQ2YjdlNzc3YzhiYTFlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcApAQCAtMjksNiArMjksOCBAQAogI2lmIEVO
QUJMRShXRUJYUikKIAogI2luY2x1ZGUgIldlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmgiCisj
aW5jbHVkZSAiV2ViWFJKb2ludFBvc2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
ICNpbmNsdWRlICJXZWJYUlJlZmVyZW5jZVNwYWNlLmgiCiAjaW5jbHVkZSAiV2ViWFJTZXNzaW9u
LmgiCiAjaW5jbHVkZSAiV2ViWFJWaWV3ZXJQb3NlLmgiCkBAIC0yNTgsNiArMjYwLDMwIEBAIFRy
YW5zZm9ybWF0aW9uTWF0cml4IFdlYlhSRnJhbWU6Om1hdHJpeEZyb21Qb3NlKGNvbnN0IFBsYXRm
b3JtWFI6OkRldmljZTo6RnJhbWVECiAgICAgcmV0dXJuIG1hdHJpeDsKIH0KIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4
ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1nZXRqb2ludHBvc2UKK0V4Y2VwdGlvbk9yPFJlZlB0
cjxXZWJYUkpvaW50UG9zZT4+IFdlYlhSRnJhbWU6OmdldEpvaW50UG9zZShjb25zdCBXZWJYUkpv
aW50U3BhY2UmIGpvaW50LCBjb25zdCBXZWJYUlNwYWNlJiBiYXNlU3BhY2UpCit7CisgICAgVU5V
U0VEX1BBUkFNKGpvaW50KTsKKyAgICBVTlVTRURfUEFSQU0oYmFzZVNwYWNlKTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4
ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1maWxsam9pbnRyYWRpaQorRXhjZXB0aW9uT3I8Ym9v
bD4gV2ViWFJGcmFtZTo6ZmlsbEpvaW50UmFkaWkoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJYUkpv
aW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5JikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNk
b20teHJmcmFtZS1maWxscG9zZXMKK0V4Y2VwdGlvbk9yPGJvb2w+IFdlYlhSRnJhbWU6OmZpbGxQ
b3Nlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3BhY2U+PiwgY29uc3QgV2ViWFJTcGFjZSYs
IGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCWFIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oCmluZGV4IGZhOTAwZGMyMmY2OTE1
OWY3OTI3YzcyMWMyNWQwZGM3NjQwOTA3NmMuLmJiYWEyY2RkOGU5ZmNiOGVmMDY0ZDU0NzQ4MTI0
NGQ5ZDQxMjM4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5o
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRE9NSGlnaFJlc1RpbWVTdGFtcC5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2Mu
aD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAg
LTM4LDYgKzM5LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Citj
bGFzcyBXZWJYUkpvaW50UG9zZTsKK2NsYXNzIFdlYlhSSm9pbnRTcGFjZTsKIGNsYXNzIFdlYlhS
UG9zZTsKIGNsYXNzIFdlYlhSUmVmZXJlbmNlU3BhY2U7CiBjbGFzcyBXZWJYUlNlc3Npb247CkBA
IC01Niw2ICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSVmll
d2VyUG9zZT4+IGdldFZpZXdlclBvc2UoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlJlZmVy
ZW5jZVNwYWNlJik7CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSUG9zZT4+IGdldFBvc2Uo
Y29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOwog
CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpv
aW50UG9zZT4+IGdldEpvaW50UG9zZShjb25zdCBXZWJYUkpvaW50U3BhY2UmLCBjb25zdCBXZWJY
UlNwYWNlJik7CisgICAgRXhjZXB0aW9uT3I8Ym9vbD4gZmlsbEpvaW50UmFkaWkoY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisgICAg
RXhjZXB0aW9uT3I8Ym9vbD4gZmlsbFBvc2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJTcGFj
ZT4+LCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisjZW5kaWYKKwog
ICAgIHZvaWQgc2V0VGltZShET01IaWdoUmVzVGltZVN0YW1wIHRpbWUpIHsgbV90aW1lID0gdGlt
ZTsgfQogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCBhY3RpdmUpIHsgbV9hY3RpdmUgPSBhY3Rp
dmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMjE2MjMxMjFlZTJiNjQ5NzVhNTRmZjJiMGJhOWVlYmEyM2Q1MmEyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCkBAIC0w
LDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldlYlhSSGFuZC5oIgorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMp
CisKKyNpbmNsdWRlICJXZWJYUklucHV0U291cmNlLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV2ViWFJIYW5kKTsKKworUmVmPFdlYlhSSGFuZD4gV2ViWFJIYW5kOjpjcmVhdGUo
Y29uc3QgV2ViWFJJbnB1dFNvdXJjZSYgaW5wdXRTb3VyY2UpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViWFJIYW5kKGlucHV0U291cmNlKSk7Cit9CisKK1dlYlhSSGFuZDo6V2ViWFJI
YW5kKGNvbnN0IFdlYlhSSW5wdXRTb3VyY2UmIGlucHV0U291cmNlKQorICAgIDogbV9pbnB1dFNv
dXJjZShpbnB1dFNvdXJjZSkKK3sKK30KKworV2ViWFJIYW5kOjp+V2ViWFJIYW5kKCkgPSBkZWZh
dWx0OworCitSZWZQdHI8V2ViWFJKb2ludFNwYWNlPiBXZWJYUkhhbmQ6OmdldChjb25zdCBYUkhh
bmRKb2ludCYga2V5KQoreworICAgIFVOVVNFRF9QQVJBTShrZXkpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCitXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcihXZWJYUkhhbmQmIGhhbmQp
CisgICAgOiBtX2hhbmQoaGFuZCkKK3sKK30KKworc3RkOjpvcHRpb25hbDxXVEY6OktleVZhbHVl
UGFpcjxYUkhhbmRKb2ludCwgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+PiBXZWJYUkhhbmQ6Okl0
ZXJhdG9yOjpuZXh0KCkKK3sKKyAgICBpZiAobV9pbmRleCA+IG1faGFuZC0+bV9qb2ludHMuc2l6
ZSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKK30KKworV2ViWFJTZXNzaW9uKiBXZWJYUkhhbmQ6OnNlc3Npb24oKQoreworICAgIGlm
ICghbV9pbnB1dFNvdXJjZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIG1f
aW5wdXRTb3VyY2UuZ2V0KCktPnNlc3Npb24oKTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4NzgwMDVjODc4ODlk
YTUzMDBlN2U1N2M4ODFlNGE2NzI0NGU2MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9I
QU5EUykKKworI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUklucHV0U291
cmNlLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFNwYWNlLmgiCisjaW5jbHVkZSAiV2ViWFJTZXNz
aW9uLmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdl
YlhSSGFuZCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSGFuZD4geworICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViWFJIYW5kKTsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBSZWY8V2ViWFJI
YW5kPiBjcmVhdGUoY29uc3QgV2ViWFJJbnB1dFNvdXJjZSYpOworICAgIH5XZWJYUkhhbmQoKTsK
KworICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorCisgICAgUmVm
UHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpOworCisgICAg
Y2xhc3MgSXRlcmF0b3IgeworICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3Io
V2ViWFJIYW5kJik7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8WFJI
YW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gbmV4dCgpOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgUmVmPFdlYlhSSGFuZD4gbV9oYW5kOworICAgICAgICBzaXplX3QgbV9pbmRl
eCB7IDAgfTsKKyAgICB9OworICAgIEl0ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4g
SXRlcmF0b3IoKnRoaXMpOyB9CisKKyAgICAvLyBGb3IgR0MgcmVhY2hhYmxpdGl5LgorICAgIFdl
YlhSU2Vzc2lvbiogc2Vzc2lvbigpOworCitwcml2YXRlOgorICAgIFdlYlhSSGFuZChjb25zdCBX
ZWJYUklucHV0U291cmNlJik7CisKKyAgICB1bnNpZ25lZCBsb25nIG1fc2l6ZSB7IDAgfTsKKyAg
ICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFwID0gSGFzaE1hcDxYUkhhbmRKb2ludCwgUmVmPFdl
YlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+OworICAgIEhhbmRKb2ludFRvU3BhY2VNYXAgbV9q
b2ludHM7CisKKyAgICBXZWFrUHRyPFdlYlhSSW5wdXRTb3VyY2U+IG1faW5wdXRTb3VyY2U7Cit9
OworCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZDFiMDliZGYyMWZiYmFjN2NjYjg5NzAwNzdiZDE5OGJkZmY0NWE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQu
aWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRp
bmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25kaXRp
b25hbD1XRUJYUl9IQU5EUywKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJYUlNlc3Np
b25Sb290LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhSSGFuZAorXSBpbnRl
cmZhY2UgV2ViWFJIYW5kIHsKKyAgICBpdGVyYWJsZTxYUkhhbmRKb2ludCwgV2ViWFJKb2ludFNw
YWNlPjsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7CisgICAg
V2ViWFJKb2ludFNwYWNlIGdldChYUkhhbmRKb2ludCBrZXkpOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlK0hhbmRJbnB1
dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzgwNWNkOTQxNGU0MDM1MTk3Y2ZlZGIyNTdmMThlMTE1NTFkYzU0
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJ
bnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxl
RW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0aWFsIGludGVyZmFj
ZSBXZWJYUklucHV0U291cmNlIHsKKyAgICAvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHVi
LmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2UtaW50ZXJmYWNlCisgICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUkhhbmQ/IGhhbmQ7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5jcHAKaW5kZXggZjU2
YmJiYTAxN2QzODE2NWZkODM4NGY4OWY4NDliZDNlZDI4NDI0MS4uNWY1NjkzZTMwMTAzZDJmZTcz
NTg0ZTEyODFkZTA3NjhiYWI4N2Y1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCkBAIC04Niw2ICs4NiwxOCBAQCB2b2lkIFdlYlhS
SW5wdXRTb3VyY2U6OnVwZGF0ZShkb3VibGUgdGltZXN0YW1wLCBjb25zdCBQbGF0Zm9ybVhSOjpE
ZXZpY2U6OkZyYW1lRAogI2lmIEVOQUJMRShHQU1FUEFEKQogICAgIG1fZ2FtZXBhZC0+dXBkYXRl
RnJvbVBsYXRmb3JtR2FtZXBhZChXZWJYUkdhbWVwYWQodGltZXN0YW1wLCBtX2Nvbm5lY3RUaW1l
LCBzb3VyY2UpKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGlmIChz
b3VyY2Uuc2ltdWxhdGVIYW5kKSB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGN1cnJlbnRseSBj
cmVhdGVzIGFuIG9iamVjdCBqdXN0IGZvciB1c2UgaW4gdGVzdGluZy4KKyAgICAgICAgLy8gVGhl
IHJlYWwgaW1wbGVtZW50YXRpb24gd2lsbCB1c2UgYWN0dWFsIGRhdGEgYW5kIG9ubHkgYmUgdmlz
aWJsZQorICAgICAgICAvLyBpZiBoYW5kLXRyYWNraW5nIHdhcyByZXF1ZXN0ZWQgYXQgc2Vzc2lv
biBzdGFydC4KKyAgICAgICAgaWYgKCFtX2hhbmQpCisgICAgICAgICAgICBtX2hhbmQgPSBXZWJY
UkhhbmQ6OmNyZWF0ZSgqdGhpcyk7CisgICAgfSBlbHNlCisgICAgICAgIG1faGFuZCA9IG51bGxw
dHI7CisjZW5kaWYKKwogfQogCiBib29sIFdlYlhSSW5wdXRTb3VyY2U6OnJlcXVpcmVzSW5wdXRT
b3VyY2VDaGFuZ2UoY29uc3QgSW5wdXRTb3VyY2UmIHNvdXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmgKaW5kZXggODhmYTUyZjVkODgwZGQ0
NjQ3MDcyNWE4MWUzZGU5MWVmOWIzNDExNy4uMTczMThlZmViNjE3ZjY2MWE3MzUyNGQxNWNkYWZl
OTg0NjA2MjI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UklucHV0U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzksMTUgKzQwLDIwIEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorI2lu
Y2x1ZGUgIldlYlhSSGFuZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lm
IEVOQUJMRShHQU1FUEFEKQogY2xhc3MgR2FtZXBhZDsKICNlbmRpZgogY2xhc3MgWFJJbnB1dFNv
dXJjZUV2ZW50OworY2xhc3MgV2ViWFJIYW5kOwogY2xhc3MgV2ViWFJJbnB1dFNwYWNlOwogCi1j
bGFzcyBXZWJYUklucHV0U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJJbnB1dFNvdXJj
ZT4geworY2xhc3MgV2ViWFJJbnB1dFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSW5w
dXRTb3VyY2U+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJJbnB1dFNvdXJjZT4gewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJJbnB1dFNvdXJjZSk7CiBwdWJsaWM6CiAgICAg
dXNpbmcgSW5wdXRTb3VyY2UgPSBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6SW5wdXRT
b3VyY2U7CkBAIC02NywxMCArNzMsMTQgQEAgcHVibGljOgogICAgIGNvbnN0IEdhbWVwYWQqIGdh
bWVwYWQoKSBjb25zdCB7IHJldHVybiBtX2dhbWVwYWQucHRyKCk7IH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGNvbnN0IFdlYlhSSGFuZCogaGFuZCgpIGNvbnN0IHsg
cmV0dXJuIG1faGFuZC5nZXQoKTsgfQorI2VuZGlmCisKICAgICB2b2lkIHVwZGF0ZShkb3VibGUg
dGltZXN0YW1wLCBjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIGJvb2wgcmVxdWlyZXNJbnB1dFNv
dXJjZUNoYW5nZShjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIHZvaWQgZGlzY29ubmVjdCgpOwot
ICAgIAorCiAgICAgdm9pZCBwb2xsRXZlbnRzKFZlY3RvcjxSZWY8WFJJbnB1dFNvdXJjZUV2ZW50
Pj4mKTsKIAogICAgIC8vIEZvciBHQyByZWFjaGFibGl0aXkuCkBAIC04OSw2ICs5OSwxMCBAQCBw
cml2YXRlOgogICAgIFJlZjxHYW1lcGFkPiBtX2dhbWVwYWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKyAgICBSZWZQdHI8V2ViWFJIYW5kPiBtX2hhbmQ7CisjZW5kaWYKKwog
ICAgIGJvb2wgbV9zZWxlY3RTdGFydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3F1ZWV6ZVN0
YXJ0ZWQgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3ODNiMGM2NmJjZGQ3NTk2OTA5OGExMmUx
ZGEyN2I3NzEyMWE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQb3NlLmgiCisKKyNpZiBF
TkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhSSm9pbnRQb3NlPiBXZWJY
UkpvaW50UG9zZTo6Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSwg
Ym9vbCBlbXVsYXRlZFBvc2l0aW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhS
Sm9pbnRQb3NlKFdURk1vdmUodHJhbnNmb3JtKSwgZW11bGF0ZWRQb3NpdGlvbikpOworfQorCitX
ZWJYUkpvaW50UG9zZTo6V2ViWFJKb2ludFBvc2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYg
dHJhbnNmb3JtLCBib29sIGVtdWxhdGVkUG9zaXRpb24pCisgICAgOiBXZWJYUlBvc2UoV1RGTW92
ZSh0cmFuc2Zvcm0pLCBlbXVsYXRlZFBvc2l0aW9uKQoreworfQorCit9CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFkN2M3NDFhM2FhNjRhNWY5ODU5ODVlY2FkN2UyOGZmZWE3Njg5OWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgKQEAgLTAs
MCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJY
UikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2lu
Y2x1ZGUgIldlYlhSUG9zZS5oIgorI2luY2x1ZGUgIldlYlhSUmlnaWRUcmFuc2Zvcm0uaCIKKyNp
bmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhSSm9p
bnRQb3NlIDogcHVibGljIFdlYlhSUG9zZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChX
ZWJYUkpvaW50UG9zZSk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJYUkpvaW50UG9zZT4g
Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVtdWxhdGVkUG9zaXRpb24p
OworICAgIH5XZWJYUkpvaW50UG9zZSgpID0gZGVmYXVsdDsKKworICAgIGZsb2F0IHJhZGl1cygp
IGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzOyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFBv
c2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIGJvb2wgZW11bGF0ZWRQb3NpdGlvbik7CisK
KyAgICBmbG9hdCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5
NjRkODE3NWQwYTkwOGY5NmI5ZTcyZmUyZWFlODlmNjU1NDgzY2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbApAQCAtMCww
ICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5h
YmxlZCZXZWJYUkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJf
SEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9WFJKb2ludFBvc2UKK10g
aW50ZXJmYWNlIFdlYlhSSm9pbnRQb3NlIDogV2ViWFJQb3NlIHsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgcmFkaXVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWU2NTBmZTA5MDhjYmM1MzdhOGVj
NzkzM2RhNmYwZTQ4ZjM1MGYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgor
CisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJX
ZWJYUlJpZ2lkVHJhbnNmb3JtLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2Vi
WFJKb2ludFNwYWNlKTsKKworUmVmPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJKb2ludFNwYWNlOjpj
cmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFNwYWNlKGRvY3VtZW50LCBzZXNzaW9uKSk7
Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6V2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQorICAgIDogV2ViWFJTcGFjZShkb2N1bWVudCwgV2Vi
WFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCkpCisgICAgLCBtX3Nlc3Npb24oc2Vzc2lvbikKK3sK
K30KKworV2ViWFJKb2ludFNwYWNlOjp+V2ViWFJKb2ludFNwYWNlKCkgPSBkZWZhdWx0OworCitz
dGQ6Om9wdGlvbmFsPFRyYW5zZm9ybWF0aW9uTWF0cml4PiBXZWJYUkpvaW50U3BhY2U6Om5hdGl2
ZU9yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUxMjU3YmNjNWU0YjY0NGUyYjM1MmZmZjM3MTk2NjliODg3Nzk2NWYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRT
cGFjZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5o
IgorI2luY2x1ZGUgIldlYlhSU3BhY2UuaCIKKyNpbmNsdWRlICJYUkhhbmRKb2ludC5oIgorI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgV2ViWFJKb2ludFNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
WFJKb2ludFNwYWNlPiwgcHVibGljIFdlYlhSU3BhY2UgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoV2ViWFJKb2ludFNwYWNlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9p
bnRTcGFjZT4gY3JlYXRlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisgICAgdmlydHVhbCB+
V2ViWFJKb2ludFNwYWNlKCk7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFj
ZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT46OmRlcmVmOwor
CisgICAgWFJIYW5kSm9pbnQgam9pbnROYW1lKCkgY29uc3QgeyByZXR1cm4gWFJIYW5kSm9pbnQ6
OldyaXN0OyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiwgV2Vi
WFJTZXNzaW9uJik7CisKKyAgICBXZWJYUlNlc3Npb24qIHNlc3Npb24oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Nlc3Npb24uZ2V0KCk7IH07CisgICAgc3RkOjpvcHRpb25hbDxUcmFuc2Zvcm1h
dGlvbk1hdHJpeD4gbmF0aXZlT3JpZ2luKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJlZkV2
ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgYm9vbCBpc0pvaW50U3BhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBXZWFrUHRyPFdlYlhSU2Vzc2lvbj4gbV9zZXNzaW9u
OworfTsKKworfQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dFQlhSU1BBQ0UoV2ViWFJKb2lu
dFNwYWNlLCBpc0pvaW50U3BhY2UoKSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI5NGExOTM2NGU5
OTdkYjViZjE2ZjE5ZDNiMjlkMDhlMjUyYmNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJY
UkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsCisg
ICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhw
b3NlZD1XaW5kb3csCisgICAgSW50ZXJmYWNlTmFtZT1YUkpvaW50U3BhY2UKK10gaW50ZXJmYWNl
IFdlYlhSSm9pbnRTcGFjZSA6IFdlYlhSU3BhY2UgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBY
UkhhbmRKb2ludCBqb2ludE5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlNlc3Npb24uaWRsCmluZGV4IGE3ZDhkM2M5ZTdlMWVjZDg4YjBmNzRiNTM2NDcxYTE5
MjgxNzI0NzguLjUzMjI3NWM0ZWRmNDExY2E4YzVhMzFkODJmNzc2ODFhY2ZlOTA3MTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5pZGwKQEAgLTMwLDYg
KzMwLDcgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBF
eHBvc2VkPVdpbmRvdywKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBJbnRlcmZhY2VO
YW1lPVhSU2Vzc2lvbgogXSBpbnRlcmZhY2UgV2ViWFJTZXNzaW9uIDogRXZlbnRUYXJnZXQgewog
ICAgIC8vIEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJTcGFjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNl
LmgKaW5kZXggMmZlNWE1M2U1NmEyMTk2NjRkZDQyZmE0NzYzZmQ0Y2I4Njc0M2JlZS4uMDQzMzY1
YjA1NDZmM2Q2Y2E2YWIwYjY0MGVjZGZhMjIxYWQ3ZTk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKQEAgLTUxLDYgKzUxLDkgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBib29sIGlzUmVmZXJlbmNlU3BhY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0JvdW5kZWRSZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIHZpcnR1YWwgYm9vbCBpc0pv
aW50U3BhY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKIHByb3RlY3RlZDoK
ICAgICBXZWJYUlNwYWNlKERvY3VtZW50JiwgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmNwcAppbmRleCA2NzU5
MzJkMzkzNGIyMzdhZGI0MWY1OGIxODcxOGNjZjMzOTY5YjliLi4wNmJmZWI2MTQzZGIwZjgzZmFh
ZjE2N2U3ZDY3MmNhMDM0NTdkNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSU3lzdGVtLmNwcApAQCAtMjkxLDYgKzI5MSw5IEBAIHN0ZDo6b3B0aW9uYWw8V2ViWFJT
eXN0ZW06OlJlc29sdmVkUmVxdWVzdGVkRmVhdHVyZXM+IFdlYlhSU3lzdGVtOjpyZXNvbHZlUmVx
dWVzCiAgICAgICAgICAgICBpZiAoc2Vzc2lvbkZlYXR1cmUuaXNOdWxsKCkpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAKKyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgdGVz
dGluZyBmb3IgWFJSZWZlcmVuY2VTcGFjZVR5cGUgZmVhdHVyZXMuIEl0CisgICAgICAgICAgICAv
LyBuZWVkcyB0byBoYW5kbGUgb3B0aW9uYWwgZmVhdHVyZXMgbGlrZSAiaGFuZC10cmFja2luZyIu
CisKICAgICAgICAgICAgIC8vIDIuIElmIGZlYXR1cmUgaXMgbm90IGEgdmFsaWQgZmVhdHVyZSBk
ZXNjcmlwdG9yLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHMKICAgICAgICAgICAgIC8vICAg
Mi4xLiBMZXQgcyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgPyBUb1N0cmluZyhmZWF0dXJlKS4K
ICAgICAgICAgICAgIC8vICAgMi4yLiBJZiBzIGlzIG5vdCBhIHZhbGlkIGZlYXR1cmUgZGVzY3Jp
cHRvciBvciBpcyB1bmRlZmluZWQsIChyZXR1cm4gbnVsbHxjb250aW51ZSB0byBuZXh0IGVudHJ5
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MjExMDM4OGJhZTg3YjU3NTI4NThmNjM2MTM2MjI0ZDI5ZDQ3YTcwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIp
ICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBY
UkhhbmRKb2ludCA9IFBsYXRmb3JtWFI6OkhhbmRKb2ludDsKKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4
ZDlkY2YyNTMxOTBhMDRkNzAzYjA2Yjk0MmQzZTdlMTI3ZjUzNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JUCitdIGVudW0gWFJIYW5kSm9pbnQgeworICAgICJ3
cmlzdCIsCisKKyAgICAidGh1bWItbWV0YWNhcnBhbCIsCisgICAgInRodW1iLXBoYWxhbngtcHJv
eGltYWwiLAorICAgICJ0aHVtYi1waGFsYW54LWRpc3RhbCIsCisgICAgInRodW1iLXRpcCIsCisK
KyAgICAiaW5kZXgtZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJpbmRleC1maW5nZXItcGhhbGFu
eC1wcm94aW1hbCIsCisgICAgImluZGV4LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisg
ICAgImluZGV4LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgImluZGV4LWZpbmdlci10aXAi
LAorCisgICAgIm1pZGRsZS1maW5nZXItbWV0YWNhcnBhbCIsCisgICAgIm1pZGRsZS1maW5nZXIt
cGhhbGFueC1wcm94aW1hbCIsCisgICAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlh
dGUiLAorICAgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgICAibWlkZGxlLWZp
bmdlci10aXAiLAorCisgICAgInJpbmctZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJyaW5nLWZp
bmdlci1waGFsYW54LXByb3hpbWFsIiwKKyAgICAicmluZy1maW5nZXItcGhhbGFueC1pbnRlcm1l
ZGlhdGUiLAorICAgICJyaW5nLWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgInJpbmctZmlu
Z2VyLXRpcCIsCisKKyAgICAicGlua3ktZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJwaW5reS1m
aW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICAgInBpbmt5LWZpbmdlci1waGFsYW54LWludGVy
bWVkaWF0ZSIsCisgICAgInBpbmt5LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgInBpbmt5
LWZpbmdlci10aXAiCit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGU1MjgxNGFlNThkOGFkNTczOGUw
YjZmNjE5ZTAyMDE3NWU1MDRhNmQuLjVmYzE1NTU2M2Y4MWJjNGQ0ZDAyOTAwZTViYzk4OTRjMGU2
YWU5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zNjIsOSArMzYyLDEyIEBAIE1vZHVsZXMvd2VieHIv
TmF2aWdhdG9yV2ViWFIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNw
YWNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJY
UkdhbWVwYWQuY3BwCitNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAKIE1vZHVsZXMvd2VieHIv
V2ViWFJJbnB1dFNvdXJjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5
LmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U3BhY2UuY3BwCitNb2R1bGVzL3dlYnhyL1dl
YlhSSm9pbnRQb3NlLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCiBNb2R1
bGVzL3dlYnhyL1dlYlhSTGF5ZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVi
dWZmZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5jcHAKQEAgLTU2Miw2ICs1NjUsNyBA
QCBiaW5kaW5ncy9qcy9KU1VuZG9JdGVtQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJBbmlt
YXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMMlJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKK2Jp
bmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJl
ZmVyZW5jZVNwYWNlQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3Jt
Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlNwYWNlQ3VzdG9tLmNwcApAQCAtMzc4Miw4
ICszNzg2LDExIEBAIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogSlNXZWJTb2NrZXQuY3Bw
CiBKU1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogSlNXZWJYUkZyYW1lLmNwcAorSlNX
ZWJYUkhhbmQuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2UuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2VB
cnJheS5jcHAKK0pTV2ViWFJKb2ludFBvc2UuY3BwCitKU1dlYlhSSm9pbnRTcGFjZS5jcHAKIEpT
V2ViWFJMYXllci5jcHAKIEpTV2ViWFJQb3NlLmNwcAogSlNXZWJYUlJlZmVyZW5jZVNwYWNlLmNw
cApAQCAtMzgyNSw2ICszODMyLDcgQEAgSlNYUGF0aFJlc3VsdC5jcHAKIEpTWFJFbnZpcm9ubWVu
dEJsZW5kTW9kZS5jcHAKIEpTWFJFeWUuY3BwCiBKU1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suY3Bw
CitKU1hSSGFuZEpvaW50LmNwcAogSlNYUkhhbmRlZG5lc3MuY3BwCiBKU1hSSW5wdXRTb3VyY2VF
dmVudC5jcHAKIEpTWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhOGZhYWZhMjFi
YTEzODE2NjhlODczMWE2ZTY3ODJiZTM4N2U2ZGQ0Li5iMGI3ZTE1OGQ2ZjVjNzFiNzFhYTAxMWUy
MjVjMmFmYzUwMjY5NmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDExLDYgKzEwMTEsMTAgQEAKIAkJMzFDMEZGMjUwRTRD
RUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGMUYwRTRDRUI2RTAwN0Q2RkU1IC8q
IFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkYzRTBFNENFRkFDMDA3RDZG
RTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGM0EwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNDAwRTRDRUZBQzAwN0Q2RkU1IC8qIEpT
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUMwRkYzQzBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuaCAqLzsgfTsKKwkJMzFEOTJBOUYyNzA3RDVERTAwQUQwMUQwIC8qIFhSSGFuZEpv
aW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5
MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAqLzsgfTsKKwkJMzFEOTJBQTMy
NzA3RDY5NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFu
ZC5oICovOyB9OworCQkzMUQ5MkFBNzI3MDdFOTU5MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFB
NTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi87IH07CisJCTMxRDkyQUFC
MjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8qIFdl
YlhSSm9pbnRQb3NlLmggKi87IH07CiAJCTMxREVBNDU2MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJT
eXN0ZW1CYWNrZHJvcExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BM
YXllci5oICovOyB9OwogCQkzMUVBRjk3RTEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9u
Q2xpZW50SU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUVBRjk3QzEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi87
IH07CiAJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFF
QjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggKi87
IH07CkBAIC03Nzk5LDEwICs3ODAzLDI0IEBACiAJCTMxRDI2QkM0MUY4NkQyNjYwMDhGRjI1NSAv
KiBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxRDI2QkM1MUY4NkQyNjgwMDhGRjI1NSAvKiBKU0ltYWdlQml0bWFwT3B0aW9ucy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQyNkJDNjFGODZEMjY5MDA4RkYyNTUg
LyogSlNJbWFnZUJpdG1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0ltYWdlQml0bWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJB
OUMyNzA3RDVEMDAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhSSGFu
ZEpvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQTlFMjcwN0Q1RDEw
MEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWFJIYW5kSm9pbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJI
YW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSGFuZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxRDkyQUExMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViWFJIYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSGFu
ZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE0MjcwN0U4M0EwMEFE
MDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSm9pbnRTcGFjZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAvKiBX
ZWJYUkpvaW50U3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE2MjcwN0U5NTEwMEFEMDFEMCAvKiBXZWJY
UkpvaW50U3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRQb3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE5MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJY
UkpvaW50UG9zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViWFJKb2ludFBvc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFBvc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUQ5MkFENzI3MEI1NDc4MDBBRDAxRDAgLyogV2ViWFJJbnB1dFNv
dXJjZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUklucHV0U291cmNlK0hhbmRJbnB1dC5pZGwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFEOTI3MEI1NDg1MDBBRDAxRDAg
LyogV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUkZyYW1lK0hhbmRJbnB1dC5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMURFQTQ1MzFCMzlGNEQ5MDBGNzcx
NzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxREVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNr
ZHJvcExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlN5c3RlbUJh
Y2tkcm9wTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQUY5N0MxMjE0
MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNsaWVudElPUy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFFQUY5N0QxMjE0MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNs
aWVudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERldmlj
ZU1vdGlvbkNsaWVudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQjMz
NDkyNzFDOTM3QjAwQ0JEQkFBIC8qIEpTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFFQjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGly
ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zY2Vp
dmVyRGlyZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUMxRDUwMTRG
RUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
Nzc3Niw2ICsyNzc5NCw3IEBACiAJCQkJNDZCQ0JCQkUyMDg1MDA1QjAwNzEwNjM4IC8qIEpTUmVt
b3RlRE9NV2luZG93Q3VzdG9tLmNwcCAqLywKIAkJCQk0MTczM0Q3RDI1REZCRkM1MDBBMTM2RTUg
LyogSlNSVENSdHBTRnJhbWVUcmFuc2Zvcm1DdXN0b20uY3BwICovLAogCQkJCTdBM0VCRUFBMjFC
RjA1NEMwMDBEMDQzRCAvKiBKU1NWR1ZpZXdTcGVjQ3VzdG9tLmNwcCAqLywKKwkJCQkzMUVCMzM0
OTI3MUM5MzdCMDBDQkRCQUEgLyogSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwICovLAogCQkJKTsK
IAkJCW5hbWUgPSBDdXN0b207CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjkyNDAs
MTIgKzI5MjU5LDE3IEBACiAJCQkJRTFFRThBRDMyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmNwcCAqLywKIAkJCQlFMUVFOEFEMTI0MTJCMTcwMDBFNzk0RDYg
LyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCAqLywKIAkJCQlFMTk0OTA5NDI0MzRGMTYw
MDA0MTZBOTkgLyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsICovLAorCQkJCTMxRDky
QUQ5MjcwQjU0ODUwMEFEMDFEMCAvKiBXZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgKi8sCiAJCQkJ
RTFFRThBRjAyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSRnJhbWUuY3BwICovLAogCQkJCUUxRUU4
QUUzMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmggKi8sCiAJCQkJRTE5NDkwODgyNDM0
RjE1OTAwNDE2QTk5IC8qIFdlYlhSRnJhbWUuaWRsICovLAogCQkJCTExRTUxNjNCMjYxRTFBMTQw
MEU2OUYyNSAvKiBXZWJYUkdhbWVwYWQuY3BwICovLAogCQkJCTExRTUxNjNBMjYxRTFBMTQwMEU2
OUYyNSAvKiBXZWJYUkdhbWVwYWQuaCAqLywKKwkJCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAg
LyogV2ViWFJIYW5kLmNwcCAqLywKKwkJCQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2Vi
WFJIYW5kLmggKi8sCisJCQkJMzFEOTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5p
ZGwgKi8sCiAJCQkJQkMwMjRBOUEyNzBBNzY1MTAwRkQ0QzNGIC8qIFdlYlhSSW5wdXRTb3VyY2Ur
R2FtZXBhZC5pZGwgKi8sCisJCQkJMzFEOTJBRDcyNzBCNTQ3ODAwQUQwMUQwIC8qIFdlYlhSSW5w
dXRTb3VyY2UrSGFuZElucHV0LmlkbCAqLywKIAkJCQlFMUVFOEIwRDI0MTJCMTcwMDBFNzk0RDYg
LyogV2ViWFJJbnB1dFNvdXJjZS5jcHAgKi8sCiAJCQkJRTFFRThCMTcyNDEyQjE3MDAwRTc5NEQ2
IC8qIFdlYlhSSW5wdXRTb3VyY2UuaCAqLywKIAkJCQlFMTk0OTA4OTI0MzRGMTVBMDA0MTZBOTkg
LyogV2ViWFJJbnB1dFNvdXJjZS5pZGwgKi8sCkBAIC0yOTI1NCw2ICsyOTI3OCwxMiBAQAogCQkJ
CUUxOTQ5MDkzMjQzNEYxNjAwMDQxNkE5OSAvKiBXZWJYUklucHV0U291cmNlQXJyYXkuaWRsICov
LAogCQkJCTExRTUxNjM3MjYxRTFBMDUwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuY3BwICov
LAogCQkJCTExRTUxNjM1MjYxRTFBMDUwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuaCAqLywK
KwkJCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuY3BwICovLAor
CQkJCTMxRDkyQUE4MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oICovLAorCQkJ
CTMxRDkyQUE5MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5pZGwgKi8sCisJCQkJ
MzFEOTJBQTYyNzA3RTk1MTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5jcHAgKi8sCisJCQkJ
MzFEOTJBQTUyNzA3RThCMzAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oICovLAorCQkJCTMx
RDkyQUE0MjcwN0U4M0EwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovLAogCQkJCUUx
MkZEQUZCMjRBMEZEMUMwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmNwcCAqLywKIAkJCQlFMTJGREFG
RDI0QTBGRDFFMDA3MDIzNkUgLyogV2ViWFJMYXllci5oICovLAogCQkJCUUxMkZEQUZFMjRBMEZE
MUYwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmlkbCAqLywKQEAgLTI5MzAxLDYgKzI5MzMxLDggQEAK
IAkJCQlFMUVFOEFGQjI0MTJCMTcwMDBFNzk0RDYgLyogWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5p
ZGwgKi8sCiAJCQkJRTFFRThBRUUyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5oICov
LAogCQkJCUUxRUU4QjA3MjQxMkIxNzAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaWRsICovLAor
CQkJCTMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovLAorCQkJCTMx
RDkyQTlFMjcwN0Q1RDEwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8sCiAJCQkJRTFFRThB
Q0MyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5jcHAgKi8sCiAJCQkJRTFF
RThCMDkyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5oICovLAogCQkJCUUx
RUU4QjAwMjQxMkIxNzAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaWRsICovLApAQCAt
MzYyMjYsOSArMzYyNTgsMTIgQEAKIAkJCQlFMUVFOEI3RTI0MTMxOTFGMDBFNzk0RDYgLyogV2Vi
WFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QjhBMjQx
MzE5MUYwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMUU1MTYz
QzI2MUUxQTE1MDBFNjlGMjUgLyogV2ViWFJHYW1lcGFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MUQ5MkFBMzI3MDdENjk2MDBBRDAxRDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEJBODI0MTMxOTYzMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCODYyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRTb3VyY2VB
cnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFFNTE2MzgyNjFFMUEwNjAwRTY5RjI1IC8qIFdl
YlhSSW5wdXRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQUIyNzA4RDIwMTAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUQ5MkFBNzI3MDdF
OTU5MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJG
REIwMDI0QTBGRDIwMDA3MDIzNkUgLyogV2ViWFJMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE0RjE2OUYyNjQwQkM0MTAwNjYzRUNFIC8qIFdlYlhST3BhcXVlRnJhbWVidWZmZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxRUU4Qjg4MjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUlBvc2UuaCBp
biBIZWFkZXJzICovLApAQCAtMzYzNDksNiArMzYzODQsNyBAQAogCQkJCUUxRUU4Qjk3MjQxMzE5
NTAwMEU3OTRENiAvKiBYUkV5ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEYyNDEzMTk1
MDAwRTc5NEQ2IC8qIFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxRUU4QjkyMjQxMzE5NTAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaCBpbiBIZWFkZXJzICov
LAorCQkJCTMxRDkyQTlGMjcwN0Q1REUwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCOUYyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOTkyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSW5w
dXRTb3VyY2VzQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkE5RjRBMjQ4QTk5
RTIwMDNGMDZDOCAvKiBYUkludGVyYWN0aW9uTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYjU2MDc5ZmFkZjg4NDlhZmJmM2EwZGNmYTg5ZjUxN2UyNzdlODcwZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3Vz
dG9tLmNwcApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTV2ViWFJTZXNz
aW9uLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVtcGxhdGU8dHlwZW5hbWUgVmlzaXRv
cj4KK3ZvaWQgSlNXZWJYUlNlc3Npb246OnZpc2l0QWRkaXRpb25hbENoaWxkcmVuKFZpc2l0b3Im
IHZpc2l0b3IpCit7CisgICAgdmlzaXRvci5hZGRPcGFxdWVSb290KCZ3cmFwcGVkKCkpOworfQor
CitERUZJTkVfVklTSVRfQURESVRJT05BTF9DSElMRFJFTihKU1dlYlhSU2Vzc2lvbik7CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaAppbmRleCA1ZDViMjk5YzE2MTY1OTQ1NzgzY2RiNzcxMTgzYmU3
YTgwNmI5YWRkLi5lMGE2MjE3Mzk5MTEwNDMxYmMwMDVjMzM2NWFkMTJiZmQ4NDg0MWU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBA
IC0zMTAsMTAgKzMxMCwxMyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oWE1MSHR0
cFJlcXVlc3QpIFwKICAgICBtYWNybyhYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZSkgXAogICAgIG1h
Y3JvKFhSRnJhbWUpIFwKKyAgICBtYWNybyhYUkhhbmQpIFwKICAgICBtYWNybyhYUklucHV0U291
cmNlKSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZUFycmF5KSBcCiAgICAgbWFjcm8oWFJJbnB1
dFNvdXJjZUV2ZW50KSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudCkgXAor
ICAgIG1hY3JvKFhSSm9pbnRQb3NlKSBcCisgICAgbWFjcm8oWFJKb2ludFNwYWNlKSBcCiAgICAg
bWFjcm8oWFJMYXllcikgXAogICAgIG1hY3JvKFhSUG9zZSkgXAogICAgIG1hY3JvKFhSUmVmZXJl
bmNlU3BhY2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRm
b3JtWFIuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaAppbmRleCA2
MDYwMDM1N2I1NTA0YjQ1MTIyODEwYTU4NWMwZGFlMzc1NzBjMDk5Li4yOTM1M2RjNTUyNTVhMGFh
OTI5ZjExMzE5Y2RjYjY0ZDU3NTdhZjZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS94ci9QbGF0Zm9ybVhSLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvUGxh
dGZvcm1YUi5oCkBAIC03OCw2ICs3OCwzOCBAQCBlbnVtIGNsYXNzIFhSVGFyZ2V0UmF5TW9kZSB7
CiAgICAgU2NyZWVuLAogfTsKIAorI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKworZW51bSBjbGFz
cyBIYW5kSm9pbnQgOiB1bnNpZ25lZCB7CisgICAgV3Jpc3QsCisgICAgVGh1bWJNZXRhY2FycGFs
LAorICAgIFRodW1iUGhhbGFueFByb3hpbWFsLAorICAgIFRodW1iUGhhbGFueERpc3RhbCwKKyAg
ICBUaHVtYlRpcCwKKyAgICBJbmRleEZpbmdlck1ldGFjYXJwYWwsCisgICAgSW5kZXhGaW5nZXJQ
aGFsYW54UHJveGltYWwsCisgICAgSW5kZXhGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAg
IEluZGV4RmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBJbmRleEZpbmdlclRpcCwKKyAgICBNaWRk
bGVGaW5nZXJNZXRhY2FycGFsLAorICAgIE1pZGRsZUZpbmdlclBoYWxhbnhQcm94aW1hbCwKKyAg
ICBNaWRkbGVGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIE1pZGRsZUZpbmdlclBoYWxh
bnhEaXN0YWwsCisgICAgTWlkZGxlRmluZ2VyVGlwLAorICAgIFJpbmdGaW5nZXJNZXRhY2FycGFs
LAorICAgIFJpbmdGaW5nZXJQaGFsYW54UHJveGltYWwsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhJ
bnRlcm1lZGlhdGUsCisgICAgUmluZ0ZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAgUmluZ0Zpbmdl
clRpcCwKKyAgICBQaW5reUZpbmdlck1ldGFjYXJwYWwsCisgICAgUGlua3lGaW5nZXJQaGFsYW54
UHJveGltYWwsCisgICAgUGlua3lGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIFBpbmt5
RmluZ2VyUGhhbGFueERpc3RhbCwKKyAgICBQaW5reUZpbmdlclRpcAorfTsKKworI2VuZGlmCisK
IGNsYXNzIFRyYWNraW5nQW5kUmVuZGVyaW5nQ2xpZW50OwogCiBjbGFzcyBEZXZpY2UgOiBwdWJs
aWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8RGV2aWNlPiwgcHVibGljIENhbk1ha2VXZWFrUHRyPERl
dmljZT4gewpAQCAtMjA4LDYgKzI0MCwxMCBAQCBwdWJsaWM6CiAgICAgICAgICAgICBzdGQ6Om9w
dGlvbmFsPElucHV0U291cmNlUG9zZT4gZ3JpcE9yaWdpbjsKICAgICAgICAgICAgIFZlY3RvcjxJ
bnB1dFNvdXJjZUJ1dHRvbj4gYnV0dG9uczsKICAgICAgICAgICAgIFZlY3RvcjxmbG9hdD4gYXhl
czsKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpCisgICAgICAgICAgICAvLyBGSVhNRTogQWN0dWFs
bHkgaG9sZCBzb21lIGhhbmQgZGF0YS4KKyAgICAgICAgICAgIGJvb2wgc2ltdWxhdGVIYW5kIHsg
ZmFsc2UgfTsKKyNlbmRpZgogCiAgICAgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2
b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CiAgICAgICAgICAgICB0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxJbnB1dFNvdXJjZT4gZGVjb2RlKERlY29kZXIm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJ
bml0LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5oCmlu
ZGV4IGVjNDJhNGIzMTAwMTgyYjMwZTM0MzFlZjBhNDhkOWUxNjI4OTg0MGEuLjE2MDc2MmQ3ZDQ3
N2FiZjY0ZDA1MjQ2NGZlYjlkZDIwNTUwOWRhYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaApAQCAtNDUsNiArNDUsOSBAQCBzdHJ1Y3QgRmFr
ZVhSSW5wdXRTb3VyY2VJbml0IHsKICAgICBib29sIHNlbGVjdGlvbkNsaWNrZWQgeyBmYWxzZSB9
OwogICAgIFZlY3RvcjxGYWtlWFJCdXR0b25TdGF0ZUluaXQ+IHN1cHBvcnRlZEJ1dHRvbnM7CiAg
ICAgRmFrZVhSUmlnaWRUcmFuc2Zvcm1Jbml0IGdyaXBPcmlnaW47CisjaWYgRU5BQkxFKFdFQlhS
X0hBTkRTKQorICAgIGJvb2wgc2ltdWxhdGVIYW5kIHsgZmFsc2UgfTsKKyNlbmRpZgogfTsKIAog
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9GYWtl
WFJJbnB1dFNvdXJjZUluaXQuaWRsCmluZGV4IGU5MDk0YjY3YzlmN2MzZDA3NmZhZjc5NTlmZjQ4
YzJjOWVmODg0ZjkuLmUyNjlhZGFjMjUxY2QyMjU0YmE1ZDE4YjRmOWZkN2Y1MTcxOTFmNTAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0Lmlk
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5pZGwK
QEAgLTQxLDQgKzQxLDcgQEAKICAgICBzZXF1ZW5jZTxGYWtlWFJCdXR0b25TdGF0ZUluaXQ+IHN1
cHBvcnRlZEJ1dHRvbnM7CiAgICAgLy8gSWYgbm90IHNldCB0aGUgY29udHJvbGxlciBpcyBhc3N1
bWVkIHRvIG5vdCBiZSB0cmFja2VkLgogICAgIEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5pdCBncmlw
T3JpZ2luOworICAgIC8vIE9wdGlvbmFsIGhhbmQgaW5wdXQuIEZvciBub3cgd2UgZG9uJ3QgY2Fy
ZSBhYm91dCB0aGUgYWN0dWFsCisgICAgLy8gZGF0YS4gV2UncmUganVzdCBjcmVhdGluZyB0aGUg
b2JqZWN0IGZvciB0ZXN0aW5nLgorICAgIFtDb25kaXRpb25hbD1XRUJYUl9IQU5EU10gYm9vbGVh
biBzaW11bGF0ZUhhbmQgPSBmYWxzZTsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5jcHAKaW5kZXggZmUxM2UwM2E2NWQxNzJkMGQ2
ZDIyNGZkMWVhN2JjNmY0ZGFhMTYyMS4uNTIyNGQyOGUwNzI2M2Q4OGMzYmRhYzVkYmQ4YmFkZjUw
MDQ5ZDlkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1
dENvbnRyb2xsZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5w
dXRDb250cm9sbGVyLmNwcApAQCAtNTEsNiArNTEsOSBAQCBXZWJGYWtlWFJJbnB1dENvbnRyb2xs
ZXI6OldlYkZha2VYUklucHV0Q29udHJvbGxlcihQbGF0Zm9ybVhSOjpJbnB1dFNvdXJjZUhhbmRs
ZQogICAgICwgbV9wcm9maWxlcyhpbml0LnByb2ZpbGVzKQogICAgICwgbV9wcmltYXJ5U2VsZWN0
ZWQoaW5pdC5zZWxlY3Rpb25TdGFydGVkKQogICAgICwgbV9zaW11bGF0ZVNlbGVjdChpbml0LnNl
bGVjdGlvbkNsaWNrZWQpCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgICwgbV9zaW11bGF0
ZUhhbmQoaW5pdC5zaW11bGF0ZUhhbmQpCisjZW5kaWYKIHsKICAgICBzZXRQb2ludGVyT3JpZ2lu
KGluaXQucG9pbnRlck9yaWdpbiwgZmFsc2UpOwogICAgIHNldEdyaXBPcmlnaW4oaW5pdC5ncmlw
T3JpZ2luLCBmYWxzZSk7CkBAIC0xMDYsNiArMTA5LDkgQEAgSW5wdXRTb3VyY2UgV2ViRmFrZVhS
SW5wdXRDb250cm9sbGVyOjpnZXRGcmFtZURhdGEoKQogICAgIHN0YXRlLnByb2ZpbGVzID0gbV9w
cm9maWxlczsKICAgICBzdGF0ZS5wb2ludGVyT3JpZ2luID0gbV9wb2ludGVyT3JpZ2luOwogICAg
IHN0YXRlLmdyaXBPcmlnaW4gPSBtX2dyaXBPcmlnaW47CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRT
KQorICAgIHN0YXRlLnNpbXVsYXRlSGFuZCA9IG1fc2ltdWxhdGVIYW5kOworI2VuZGlmCiAKICAg
ICBpZiAobV9zaW11bGF0ZVNlbGVjdCkKICAgICAgICAgbV9wcmltYXJ5U2VsZWN0ZWQgPSB0cnVl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRy
b2xsZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVy
LmgKaW5kZXggZTU5ZGMwMjFkY2VhMzk3YzMxYzYzNDVhNWY4NjIzM2UxMzlkM2EyZS4uY2I0ZDEz
NjdlMWYxOTM0NDg2NzQ1ZGIwNzQxNDVlNTRiYzMxZGQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5oCkBAIC03OSw2ICs3OSw5IEBA
IHByaXZhdGU6CiAgICAgYm9vbCBtX2Nvbm5lY3RlZCB7IHRydWUgfTsKICAgICBib29sIG1fcHJp
bWFyeVNlbGVjdGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc2ltdWxhdGVTZWxlY3QgeyBmYWxz
ZSB9OworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBib29sIG1fc2ltdWxhdGVIYW5kIHsg
ZmFsc2UgfTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDU5
YTk4YTY5MDZjNWMwNWNkMDcwYTljOWMzOWQ4YjdjZTVhMzdjOGIuLjY4ZWQ3ZTFiMTM3YmJmZjY5
NGFlMTc5NDYyZTljMjVhNDZlYjdhNDYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMC0x
NyAgRGVhbiBKYWNrc29uICA8ZGlub0BhcHBsZS5jb20+CisKKyAgICAgICAgW1dlYlhSXSBTdHVi
cyBmb3IgV2ViWFIgSGFuZCBJbnB1dCBNb2R1bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMTEyMworICAgICAgICA8cmRhcjovL3Byb2JsZW0vODM4
MDIxMzU+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
TmV3IHRlc3QgdGhhdCBjaGVja3MgYW4gWFJIYW5kIG9iamVjdCBjYW4gc3Vydml2ZSBnYXJiYWdl
IGNvbGxlY3Rpb24uCisKKyAgICAgICAgKiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy1l
eHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGh0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0
X2djLmh0bWw6IEFkZGVkLgorCiAyMDIxLTEwLTE3ICBTaW1vbiBGcmFzZXIgIDxzaW1vbi5mcmFz
ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIyNzA4NTApOiBSZWZlcmVuY2Ug
Y2xpcCBwYXRoIGNsaXBzIGluIHRoZSB3cm9uZyBwbGFjZSB3aGVuIGluc2lkZSBub24tdmlzaWJs
ZSBvdmVyZmxvdwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5k
SW5wdXRfZ2MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5k
SW5wdXRfZ2MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhYjQ1YTE4NTA3NjZkOGRhYTQ3YmEx
ZDRhNTNhN2ZkYzIxODZhZjcKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9odHRwL3dw
dC93ZWJ4ci94ckhhbmRJbnB1dF9nYy1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1BB
U1MgVGVzdCBvYmplY3QgbGlmZXRpbWUgb2YgSGFuZCBJbnB1dCBtb2R1bGUgLSB3ZWJnbAorUEFT
UyBUZXN0IG9iamVjdCBsaWZldGltZSBvZiBIYW5kIElucHV0IG1vZHVsZSAtIHdlYmdsMgorCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9odHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1s
IGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43NzI4MmY2ZjQxNjYzODg1MzgyMTljMTQ0NjU2ZjBjMDliNmVkZjBlCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbApA
QCAtMCwwICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2Vz
L3Rlc3RoYXJuZXNzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIvcmVzb3VyY2VzL3Rlc3Ro
YXJuZXNzcmVwb3J0LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvd2VieHJf
dXRpbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnhyX3Rlc3RfY29u
c3RhbnRzX3NpbmdsZV92aWV3LmpzIj48L3NjcmlwdD4KKworPHNjcmlwdD4KK2Z1bmN0aW9uIGdj
KCkKK3sKKyAgICBpZiAod2luZG93LkdDQ29udHJvbGxlcikKKyAgICAgICAgcmV0dXJuIEdDQ29u
dHJvbGxlci5jb2xsZWN0KCk7CisKKyAgICBmb3IgKHZhciBpID0gMDsgaSA8IDEwMDAwOyBpKysp
IHsgLy8gPiBmb3JjZSBnYXJiYWdlIGNvbGxlY3Rpb24gKEZGIHJlcXVpcmVzIGFib3V0IDlLIGFs
bG9jYXRpb25zIGJlZm9yZSBhIGNvbGxlY3QpCisgICAgICAgIHZhciBzID0gbmV3IFN0cmluZygi
YWJjIik7CisgICAgfQorfQorCitsZXQgdGVzdE5hbWUgPSAiVGVzdCBvYmplY3QgbGlmZXRpbWUg
b2YgSGFuZCBJbnB1dCBtb2R1bGUiOworCitsZXQgZmFrZURldmljZUluaXRQYXJhbXMgPSBUUkFD
S0VEX0lNTUVSU0lWRV9TSU5HTEVfVklFV0RFVklDRTsKKworbGV0IHRlc3RGdW5jdGlvbiA9IGZ1
bmN0aW9uKHNlc3Npb24sIGZha2VEZXZpY2VDb250cm9sbGVyLCB0LCBzZXNzaW9uT2JqZWN0cykg
eworCisgIGxldCBpbnB1dF9zb3VyY2UgPSBmYWtlRGV2aWNlQ29udHJvbGxlci5zaW11bGF0ZUlu
cHV0U291cmNlQ29ubmVjdGlvbih7CisgICAgaGFuZGVkbmVzczogIm5vbmUiLAorICAgIHRhcmdl
dFJheU1vZGU6ICJ0cmFja2VkLXBvaW50ZXIiLAorICAgIHBvaW50ZXJPcmlnaW46IFZBTElEX1BP
SU5URVJfVFJBTlNGT1JNLAorICAgIHByb2ZpbGVzOiBbXSwKKyAgICBzaW11bGF0ZUhhbmQ6IHRy
dWUsCisgIH0pOworCisgIHJldHVybiBzZXNzaW9uLnJlcXVlc3RSZWZlcmVuY2VTcGFjZSgnbG9j
YWwnKQorICAgIC50aGVuKChyZWZlcmVuY2VTcGFjZSkgPT4gbmV3IFByb21pc2UoKHJlc29sdmUp
ID0+IHsKKworICAgICAgZnVuY3Rpb24gb25GcmFtZSh0aW1lLCB4ckZyYW1lKSB7CisgICAgICAg
IGlmIChzZXNzaW9uLmlucHV0U291cmNlcyAmJiBzZXNzaW9uLmlucHV0U291cmNlcy5sZW5ndGgp
IHsKKworICAgICAgICAgIHNlc3Npb24uY3VzdG9tUHJvcGVydHkgPSAxOworICAgICAgICAgIGFz
c2VydF9lcXVhbHMoc2Vzc2lvbi5jdXN0b21Qcm9wZXJ0eSwgMSwgInNlc3Npb24iKTsKKyAgICAg
ICAgICBnYygpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2Vzc2lvbi5jdXN0b21Qcm9wZXJ0
eSwgMSwgInNlc3Npb24iKTsKKworICAgICAgICAgIHNlc3Npb24uaW5wdXRTb3VyY2VzLmN1c3Rv
bVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uaW5wdXRTb3Vy
Y2VzLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXMiKTsKKyAgICAgICAg
ICBnYygpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2Vzc2lvbi5pbnB1dFNvdXJjZXMuY3Vz
dG9tUHJvcGVydHksIDEsICJzZXNzaW9uLmlucHV0U291cmNlcyIpOworCisgICAgICAgICAgc2Vz
c2lvbi5pbnB1dFNvdXJjZXNbMF0uY3VzdG9tUHJvcGVydHkgPSAxOworICAgICAgICAgIGFzc2Vy
dF9lcXVhbHMoc2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0uY3VzdG9tUHJvcGVydHksIDEsICJzZXNz
aW9uLmlucHV0U291cmNlc1swXSIpOworICAgICAgICAgIGdjKCk7CisgICAgICAgICAgYXNzZXJ0
X2VxdWFscyhzZXNzaW9uLmlucHV0U291cmNlc1swXS5jdXN0b21Qcm9wZXJ0eSwgMSwgInNlc3Np
b24uaW5wdXRTb3VyY2VzWzBdIik7CisKKyAgICAgICAgICBzZXNzaW9uLmlucHV0U291cmNlc1sw
XS5oYW5kLmN1c3RvbVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Np
b24uaW5wdXRTb3VyY2VzWzBdLmhhbmQuY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9uLmlucHV0
U291cmNlc1swXS5oYW5kIik7CisgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICBhc3NlcnRfZXF1
YWxzKHNlc3Npb24uaW5wdXRTb3VyY2VzWzBdLmhhbmQuY3VzdG9tUHJvcGVydHksIDEsICJzZXNz
aW9uLmlucHV0U291cmNlc1swXS5oYW5kIik7CisgICAgICAgIH0KKyAgICAgICAgcmVzb2x2ZSgp
OworICAgICAgfQorICAgICAgc2Vzc2lvbi5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUob25GcmFtZSk7
CisgIH0pKTsKK307CisKK3hyX3Nlc3Npb25fcHJvbWlzZV90ZXN0KAorICB0ZXN0TmFtZSwgdGVz
dEZ1bmN0aW9uLCBmYWtlRGV2aWNlSW5pdFBhcmFtcywgJ2ltbWVyc2l2ZS12cicsIHsgb3B0aW9u
YWxGZWF0dXJlczogWyJoYW5kLXRyYWNraW5nIl0gfSk7CisKKzwvc2NyaXB0Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>441548</attachid>
            <date>2021-10-17 13:56:38 -0700</date>
            <delta_ts>2021-10-17 15:38:55 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-231123-20211018075636.patch</filename>
            <type>text/plain</type>
            <size>75375</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg0MzM2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGM1M2E5YjI5YWYzYTFhMmM2Zjc1MGJk
OTJmY2Q3MGI5ZDIyNDllNWUuLmQ4M2ViNzkzNzI2ZDdlOGI5ZTAwMjg2ZTg1ZmY0ODk3ODFjMjY2
NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMjEtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9A
YXBwbGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmQgSW5wdXQg
TW9kdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MzExMjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1PgorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBFTkFCTEVfV0VCWFJfSEFO
RFMgY29tcGlsZSB0aW1lIGZsYWcgYW5kIGEgV2ViWFJIYW5kc0VuYWJsZWQgcHJlZmVyZW5jZS4K
KworICAgICAgICAqIFNjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbDoKKyAgICAgICAgKiB3dGYvUGxhdGZvcm1FbmFibGUuaDoKKyAgICAgICAgKiB3dGYv
UGxhdGZvcm1FbmFibGVDb2NvYS5oOgorCiAyMDIxLTEwLTE2ICBSb2JpbiBNb3Jpc3NldCAgPHJt
b3Jpc3NldEBhcHBsZS5jb20+CiAKICAgICAgICAgQWxsb3cgV0FTTSB0byB1c2UgdXAgdG8gNEdC
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggNjU3NDAwZjc3Zjk4OTFmMzMwYWJiOTExYWIwMGNkNDA0ZjYxNjI0MC4u
ODY0NDA0YTEzNzNmMjRkMTc1ZWU0MWFkYTJlMjllMWRkNjcxYjk1YyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDkzIEBACisyMDIxLTEwLTE3ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBbV2ViWFJdIFN0dWJzIGZvciBXZWJYUiBIYW5kIElucHV0IE1vZHVsZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMxMTIzCisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS84MzgwMjEzNT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIElETCBhbmQgc3R1YiBpbXBsZW1lbnRhdGlv
bnMgZm9yIHRoZSBXZWJYUgorICAgICAgICBIYW5kIElucHV0IG1vZHVsZToKKyAgICAgICAgaHR0
cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LworCisgICAgICAg
IFRoZSBpbXBvcnRhbnQgY2xhc3MgaXMgV2ViWFJIYW5kLCB3aGljaCBpcyBvd25lZCBieQorICAg
ICAgICBhbmQgYWNjZXNzaWJsZSBmcm9tIHRoZSBXZWJYUklucHV0U291cmNlLCB3aGljaAorICAg
ICAgICBpdHNlbGYgaXMgb3duZWQgYnkgdGhlIFdlYlhSU2Vzc2lvbi4KKworICAgICAgICBUZXN0
OiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sCisKKyAgICAgICAgKiBDTWFrZUxp
c3RzLnR4dDogQWRkIG5ldyBmaWxlcy4KKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0Ogor
ICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorCisgICAgICAgICog
TW9kdWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsOiBBZGQgYSBjdXN0b20gbWFyayBmdW5jdGlv
biB0aGF0IGNyZWF0ZXMgYW4gb3BhcXVlIHJvb3QuCisgICAgICAgICogYmluZGluZ3MvanMvSlNX
ZWJYUlNlc3Npb25DdXN0b20uY3BwOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZy
YW1lK0hhbmRJbnB1dC5pZGw6IEFkZCBuZXcgaGFuZC1yZWxhdGVkIG1ldGhvZHMuCisgICAgICAg
ICogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OldlYlhS
RnJhbWU6OmdldEpvaW50UG9zZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxs
Sm9pbnRSYWRpaSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkZyYW1lOjpmaWxsUG9zZXMpOgor
ICAgICAgICAqIE1vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oOgorCisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUkhhbmQuY3BwOiBOZXcgZmlsZXMuCisgICAgICAgIChXZWJDb3JlOjpXZWJY
UkhhbmQ6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OldlYlhSSGFuZCk6
CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpX
ZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhh
bmQ6Okl0ZXJhdG9yOjpuZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OldlYlhSSGFuZDo6c2Vzc2lv
bik6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OldlYlhSSGFuZDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkhhbmQ6OmNyZWF0
ZUl0ZXJhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGw6CisKKyAg
ICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0LmlkbDogQWRk
IFdlYlhSSGFuZCBhY2Nlc3Nvci4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJJbnB1dFNvdXJjZTo6dXBkYXRlKToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuaDoKKyAgICAgICAgKFdl
YkNvcmU6OldlYlhSSW5wdXRTb3VyY2U6OmhhbmQgY29uc3QpOgorCisgICAgICAgICogTW9kdWxl
cy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5jcHA6IE5ldyBmaWxlcy4KKyAgICAgICAgKFdlYkNvcmU6
OldlYlhSSm9pbnRQb3NlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJKb2ludFBv
c2U6OldlYlhSSm9pbnRQb3NlKToKKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQ
b3NlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50UG9zZTo6cmFkaXVzIGNvbnN0KToK
KyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbDoKKworICAgICAgICAq
IE1vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcDogTmV3IGZpbGVzLgorICAgICAgICAo
V2ViQ29yZTo6V2ViWFJKb2ludFNwYWNlOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6V2Vi
WFJKb2ludFNwYWNlOjpXZWJYUkpvaW50U3BhY2UpOgorICAgICAgICAoV2ViQ29yZTo6V2ViWFJK
b2ludFNwYWNlOjpuYXRpdmVPcmlnaW4gY29uc3QpOgorICAgICAgICAqIE1vZHVsZXMvd2VieHIv
V2ViWFJKb2ludFNwYWNlLmg6CisgICAgICAgIChXZWJDb3JlOjpXZWJYUkpvaW50U3BhY2U6Ompv
aW50TmFtZSBjb25zdCk6CisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2Uu
aWRsOgorCisgICAgICAgICogTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmg6IE5ldyB2aXJ0dWFs
IGlkZW50aWZpZXIgZm9yIGpvaW50IHNwYWNlIHN1YmNsYXNzLgorICAgICAgICAoV2ViQ29yZTo6
V2ViWFJTcGFjZTo6aXNKb2ludFNwYWNlIGNvbnN0KToKKworICAgICAgICAqIE1vZHVsZXMvd2Vi
eHIvV2ViWFJTeXN0ZW0uY3BwOiBBZGQgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgdGVzdGluZyBv
ZgorICAgICAgICBvcHRpb25hbCBmZWF0dXJlcyAod2hlcmUgdGhlICJoYW5kLXRyYWNraW5nIiBm
ZWF0dXJlIHNob3VsZCBiZSBjaGVja2VkKS4KKyAgICAgICAgKFdlYkNvcmU6OldlYlhSU3lzdGVt
OjpyZXNvbHZlUmVxdWVzdGVkRmVhdHVyZXMgY29uc3QpOgorCisgICAgICAgICogTW9kdWxlcy93
ZWJ4ci9YUkhhbmRKb2ludC5oOiBOZXcgZmlsZS4KKyAgICAgICAgKiBNb2R1bGVzL3dlYnhyL1hS
SGFuZEpvaW50LmlkbDoKKworICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFt
ZXMuaDogRXhwb3NlIG5ldyBtYXBwaW5ncyBmcm9tIHB1Ymxpc2hlZCBuYW1lcworICAgICAgICB0
byBpbnRlcm5hbCBuYW1lcy4KKworICAgICAgICAqIHBsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaDog
QWRkICJzaW11bGF0ZUhhbmRzIiBmaWVsZCB0byBmcmFtZSBkYXRhIGZvciB0ZXN0aW5nLgorICAg
ICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0Lmg6IEFuZCBzaW1pbGFybHkgdG8g
dGhlIGZha2UgaW5wdXQgc291cmNlLgorICAgICAgICAqIHRlc3RpbmcvRmFrZVhSSW5wdXRTb3Vy
Y2VJbml0LmlkbDoKKworICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVy
LmNwcDogQWxsb3cgdGhlIHRlc3Qgc3lzdGVtIHRvIGZha2UgYSBoYW5kLgorICAgICAgICAoV2Vi
Q29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpXZWJGYWtlWFJJbnB1dENvbnRyb2xsZXIp
OgorICAgICAgICAoV2ViQ29yZTo6V2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpnZXRGcmFtZURh
dGEpOgorICAgICAgICAqIHRlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmg6CisKIDIw
MjEtMTAtMTcgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUkVHUkVTU0lPTiAocjI3MDg1MCk6IFJlZmVyZW5jZSBjbGlwIHBhdGggY2xpcHMgaW4gdGhl
IHdyb25nIHBsYWNlIHdoZW4gaW5zaWRlIG5vbi12aXNpYmxlIG92ZXJmbG93CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXNFeHBlcmltZW50
YWwueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4
cGVyaW1lbnRhbC55YW1sCmluZGV4IDdlNGM5YjVlMTg5MzUyODE3ZmI4NzdmYzg0MzMyZmE1OTIz
MjUwYjYuLmY5NWI4ZDAxMGRiNTg1ZjY2Y2IzNGQ0YWZmODAxZjY2Y2FhM2RiYmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlc0V4cGVyaW1l
bnRhbC55YW1sCisrKyBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJl
bmNlc0V4cGVyaW1lbnRhbC55YW1sCkBAIC0xNjYwLDYgKzE2NjAsMTkgQEAgV2ViWFJHYW1lcGFk
c01vZHVsZUVuYWJsZWQ6CiAgICAgV2ViQ29yZToKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKK1dl
YlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZDoKKyAgdHlwZTogYm9vbAorICBodW1hblJlYWRhYmxl
TmFtZTogIldlYlhSIEhhbmQgSW5wdXQgTW9kdWxlIgorICBodW1hblJlYWRhYmxlRGVzY3JpcHRp
b246ICJBZGRzIHN1cHBvcnQgZm9yIHRoZSBIYW5kcyBJbnB1dCBNb2R1bGUgZm9yIFdlYlhSIgor
ICBjb25kaXRpb246IEVOQUJMRShXRUJYUl9IQU5EUykKKyAgZGVmYXVsdFZhbHVlOgorICAgIFdl
YktpdExlZ2FjeToKKyAgICAgIGRlZmF1bHQ6IFdlYktpdDo6ZGVmYXVsdFdlYlhSRW5hYmxlZCgp
CisgICAgV2ViS2l0OgorICAgICAgZGVmYXVsdDogV2ViS2l0OjpkZWZhdWx0V2ViWFJFbmFibGVk
KCkKKyAgICBXZWJDb3JlOgorICAgICAgZGVmYXVsdDogZmFsc2UKKwogV2hlZWxFdmVudEdlc3R1
cmVzQmVjb21lTm9uQmxvY2tpbmc6CiAgIHR5cGU6IGJvb2wKICAgaHVtYW5SZWFkYWJsZU5hbWU6
ICJXaGVlbCBFdmVudCBnZXN0dXJlcyBiZWNvbWUgbm9uLWJsb2NraW5nIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3Jt
RW5hYmxlLmgKaW5kZXggODczOGQyNWQxYmNjNzA5NTg5YjI2YjJmOTI4ZjRmOGNlZTYwYzZmOS4u
MjJhNmY1YjRkNzM5OTgwMDc3MzUxNGMwZjBhNDRhMjcwYTYwNzJmNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGUuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9y
bUVuYWJsZS5oCkBAIC0xNjAsNyArMTYwLDYgQEAKICNkZWZpbmUgRU5BQkxFX01FVEFfVklFV1BP
UlQgMAogI2VuZGlmCiAKLQogI2lmICFkZWZpbmVkKEVOQUJMRV9GSUxFX1JFUExBQ0VNRU5UKQog
I2RlZmluZSBFTkFCTEVfRklMRV9SRVBMQUNFTUVOVCAwCiAjZW5kaWYKQEAgLTU0NSw2ICs1NDQs
MTQgQEAKICNkZWZpbmUgRU5BQkxFX0ZJTEVfU0hBUkUgMQogI2VuZGlmCiAKKyNpZiAhZGVmaW5l
ZChFTkFCTEVfV0VCWFIpCisjZGVmaW5lIEVOQUJMRV9XRUJYUiAwCisjZW5kaWYKKworI2lmICFk
ZWZpbmVkKEVOQUJMRV9XRUJYUl9IQU5EUykKKyNkZWZpbmUgRU5BQkxFX1dFQlhSX0hBTkRTIDAK
KyNlbmRpZgorCiAvKgogICogRW5hYmxlIHRoaXMgdG8gcHV0IGVhY2ggSXNvSGVhcCBhbmQgb3Ro
ZXIgYWxsb2NhdGlvbiBjYXRlZ29yaWVzIGludG8gdGhlaXIgb3duIG1hbGxvYyBoZWFwcywgc28g
dGhhdCB0b29scyBsaWtlIHZtbWFwIGNhbiBzaG93IGhvdyBiaWcgZWFjaCBoZWFwIGlzLgogICog
VHVybiBCRU5BQkxFX01BTExPQ19IRUFQX0JSRUFLRE9XTiBvbiBpbiBibWFsbG9jIHRvZ2V0aGVy
IHdoZW4gdXNpbmcgdGhpcy4KQEAgLTkyNSwzICs5MzIsNyBAQAogI2lmIEVOQUJMRShQUkVERUZJ
TkVEX0NPTE9SX1NQQUNFX0RJU1BMQVlfUDMpICYmICFFTkFCTEUoREVTVElOQVRJT05fQ09MT1Jf
U1BBQ0VfRElTUExBWV9QMykKICNlcnJvciAiRU5BQkxFKFBSRURFRklORURfQ09MT1JfU1BBQ0Vf
RElTUExBWV9QMykgcmVxdWlyZXMgRU5BQkxFKERFU1RJTkFUSU9OX0NPTE9SX1NQQUNFX0RJU1BM
QVlfUDMpIgogI2VuZGlmCisKKyNpZiBFTkFCTEUoV0VCWFJfSEFORFMpICYmICFFTkFCTEUoV0VC
WFIpCisjZXJyb3IgIkVOQUJMRShXRUJYUl9IQU5EUykgcmVxdWlyZXMgRU5BQkxFKFdFQlhSKSIK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5o
IGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDBjNzI1MDRjYjEx
MmYxMjI5YzBlYTYzNWUwNjBiODM1MGQ4ODBkZTIuLmFhNjgyYjhmOThkMjE1MWNjNTU1MmM1ZjE2
YzFmYzcwYjU4M2UxYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5hYmxl
Q29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAgLTYz
Niw2ICs2MzYsMTAgQEAKICNkZWZpbmUgRU5BQkxFX1dFQlhSIDEKICNlbmRpZgogCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1dFQlhSX0hBTkRTKQorI2RlZmluZSBFTkFCTEVfV0VCWFJfSEFORFMgMQor
I2VuZGlmCisKICNpZiAhZGVmaW5lZChFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTKQogI2RlZmlu
ZSBFTkFCTEVfV0VCX0FQSV9TVEFUSVNUSUNTIDEKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA3OWJkODVjNDA5ZmJiNTIyMGNmMzgwZGY3ZmY2YTNlY2UzOTE4MGI3Li5mMTdlYTM3ZWM3
YmFmNDNlODJhNjNlMDgxYjRjZjAzY2U5YzY0NDU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
MTQxNiwxMCArMTQxNiwxNSBAQCBlbmRpZiAoKQogbGlzdChBUFBFTkQgV2ViQ29yZV9OT05fU1ZH
X0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvTmF2aWdhdG9yK1dlYlhSLmlkbAogICAgIE1v
ZHVsZXMvd2VieHIvV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsCisgICAgTW9kdWxlcy93
ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuaWRsCisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuaWRsCiAgICAgTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsCisgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlK0hhbmRJbnB1dC5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRTb3Vy
Y2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsCisgICAg
TW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1dlYlhS
Sm9pbnRTcGFjZS5pZGwKICAgICBNb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAgICAgTW9k
dWxlcy93ZWJ4ci9XZWJYUlBvc2UuaWRsCiAgICAgTW9kdWxlcy93ZWJ4ci9XZWJYUlJlZmVyZW5j
ZVNwYWNlLmlkbApAQCAtMTQzNiw2ICsxNDQxLDcgQEAgbGlzdChBUFBFTkQgV2ViQ29yZV9OT05f
U1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5p
ZGwKICAgICBNb2R1bGVzL3dlYnhyL1hSRXllLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJGcmFt
ZVJlcXVlc3RDYWxsYmFjay5pZGwKKyAgICBNb2R1bGVzL3dlYnhyL1hSSGFuZEpvaW50LmlkbAog
ICAgIE1vZHVsZXMvd2VieHIvWFJIYW5kZWRuZXNzLmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJ
bnB1dFNvdXJjZUV2ZW50LmlkbAogICAgIE1vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFu
Z2VFdmVudC5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IDRjYWI3MzM5OGVjM2VjNzU2N2VmYjFhNzdmMTgyZTRlOGJhNTYyODIuLmRm
NWRlZTEzNGM5OWEzNzE3MWQ2YWZkNGYxNTg2ZGUzMTMzYjA3MTcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtNTk4LDEwICs1OTgsMTUg
QEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJzb2NrZXRzL0Nsb3NlRXZlbnQuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy93ZWJ4ci9OYXZpZ2F0b3IrV2ViWFIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmlkbAorJChQUk9KRUNUX0RJUikv
TW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIv
V2ViWFJJbnB1dFNvdXJjZStHYW1lcGFkLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4
ci9XZWJYUkhhbmQuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSW5wdXRT
b3VyY2UrSGFuZElucHV0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291
cmNlQXJyYXkuaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3Nl
LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSTGF5ZXIuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvd2Vi
eHIvV2ViWFJSZWZlcmVuY2VTcGFjZS5pZGwKQEAgLTYxOCw2ICs2MjMsNyBAQCAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL3dlYnhyL1dlYlhSV2ViR0xMYXllci5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvWFJFbnZpcm9ubWVudEJsZW5kTW9kZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvd2VieHIvWFJFeWUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSRnJh
bWVSZXF1ZXN0Q2FsbGJhY2suaWRsCiskKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSGFu
ZEpvaW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy93ZWJ4ci9YUkhhbmRlZG5lc3MuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3VyY2VFdmVudC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvd2VieHIvWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5pZGwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKaW5k
ZXggNGEwYjg2ZjM1ZWY1ZGQ0YzMxNDZmOTEzYTU2Y2VjMmFmMjZiNWFiOC4uNDI1YjUzNjQwN2I3
YmJkMjEwYTQ2MTE3ZGU5ZTkxNmEwZjliM2JmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKQEAgLTI0MjMsMTQgKzI0MjMsMjQgQEAgJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJTb2NrZXQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlNvY2tl
dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhS
Qm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNXZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5oCiskKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUrSGFuZElucHV0
LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJY
UkZyYW1lK0hhbmRJbnB1dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dlYlhSRnJhbWUuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSRnJhbWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUklucHV0U291cmNlK0dhbWVwYWQuY3BwCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2Ur
R2FtZXBhZC5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSGFuZC5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJIYW5kLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2UrSGFuZElucHV0
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJ
bnB1dFNvdXJjZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTV2ViWFJJbnB1dFNvdXJjZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dlYlhSSW5wdXRTb3VyY2VBcnJheS5jcHAKICQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJJbnB1dFNvdXJjZUFycmF5LmgK
KyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJKb2lu
dFBvc2UuY3BwCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U1dlYlhSSm9pbnRQb3NlLmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV2ViWFJKb2ludFNwYWNlLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkpvaW50U3BhY2UuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXZWJYUkxheWVyLmgKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV2ViWFJQb3NlLmNwcApAQCAt
MjUzMyw2ICsyNTQzLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNYUkV5ZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTWFJFeWUuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNYUkZyYW1lUmVxdWVzdENhbGxiYWNrLmgKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJIYW5kSm9pbnQuY3Bw
CiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1hSSGFuZEpv
aW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTWFJI
YW5kZWRuZXNzLmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNYUkhhbmRlZG5lc3MuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNYUklucHV0U291cmNlRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCA1Yzc3M2E0ODlkYTE5Y2MyMDg1ZWNjZTcxM2ViMDA3YjIwMGY4ODUyLi5mYmMx
OTY2ZjVkYzhkNGY0NzQ1MGU2NTc0NmIwZDIwMjRiNWNhN2MxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTQ5OSwxMCArNDk5LDE1IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvV2ViU29ja2V0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL05hdmlnYXRvcitXZWJYUi5pZGwgXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkJvdW5kZWRSZWZlcmVuY2VTcGFjZS5pZGwgXAorICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmlkbCBcCisgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlK0dhbWVwYWQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvV2ViWFJJbnB1dFNvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4
ci9XZWJYUklucHV0U291cmNlQXJyYXkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dl
YlhSTGF5ZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvV2ViWFJQb3NlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1dlYlhSUmVmZXJlbmNlU3BhY2UuaWRs
IFwKQEAgLTUxOSw2ICs1MjQsNyBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy93ZWJ4ci9YUkVudmlyb25tZW50QmxlbmRNb2RlLmlkbCBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL3dlYnhyL1hSRXllLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dl
YnhyL1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMv
d2VieHIvWFJIYW5kSm9pbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2VieHIvWFJI
YW5kZWRuZXNzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnhyL1hSSW5wdXRTb3Vy
Y2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJ4ci9YUklucHV0U291cmNl
c0NoYW5nZUV2ZW50LmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dl
YnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMGQ1ZjI0ZDZmMzdkZjE5
YjFkNzk0ZDM1YzNhOGY4ZTc5NDY2NTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUrSGFuZElucHV0LmlkbApAQCAtMCwwICsxLDMzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJY
UkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMKK10g
cGFydGlhbCBpbnRlcmZhY2UgV2ViWFJGcmFtZSB7CisgICAgV2ViWFJKb2ludFBvc2U/IGdldEpv
aW50UG9zZShXZWJYUkpvaW50U3BhY2Ugam9pbnQsIFdlYlhSU3BhY2UgYmFzZVNwYWNlKTsKKyAg
ICBib29sZWFuIGZpbGxKb2ludFJhZGlpKHNlcXVlbmNlPFdlYlhSSm9pbnRTcGFjZT4gam9pbnRT
cGFjZXMsIEZsb2F0MzJBcnJheSByYWRpaSk7CisgICAgYm9vbGVhbiBmaWxsUG9zZXMoc2VxdWVu
Y2U8V2ViWFJTcGFjZT4gc3BhY2VzLCBXZWJYUlNwYWNlIGJhc2VTcGFjZSwgRmxvYXQzMkFycmF5
IHRyYW5zZm9ybXMpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJGcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJh
bWUuY3BwCmluZGV4IGI2ZjAwMWU0OGY4YWViZDE3ZGYxNWY4MWE0NjRiYzhhZDI3NmU2MWMuLmYx
YWZkNDMzZTI1Y2MyNTM1Njg3NzJkNzQ2YjdlNzc3YzhiYTFlNjAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcApAQCAtMjksNiArMjksOCBAQAogI2lmIEVO
QUJMRShXRUJYUikKIAogI2luY2x1ZGUgIldlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmgiCisj
aW5jbHVkZSAiV2ViWFJKb2ludFBvc2UuaCIKKyNpbmNsdWRlICJXZWJYUkpvaW50U3BhY2UuaCIK
ICNpbmNsdWRlICJXZWJYUlJlZmVyZW5jZVNwYWNlLmgiCiAjaW5jbHVkZSAiV2ViWFJTZXNzaW9u
LmgiCiAjaW5jbHVkZSAiV2ViWFJWaWV3ZXJQb3NlLmgiCkBAIC0yNTgsNiArMjYwLDMwIEBAIFRy
YW5zZm9ybWF0aW9uTWF0cml4IFdlYlhSRnJhbWU6Om1hdHJpeEZyb21Qb3NlKGNvbnN0IFBsYXRm
b3JtWFI6OkRldmljZTo6RnJhbWVECiAgICAgcmV0dXJuIG1hdHJpeDsKIH0KIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4
ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1nZXRqb2ludHBvc2UKK0V4Y2VwdGlvbk9yPFJlZlB0
cjxXZWJYUkpvaW50UG9zZT4+IFdlYlhSRnJhbWU6OmdldEpvaW50UG9zZShjb25zdCBXZWJYUkpv
aW50U3BhY2UmIGpvaW50LCBjb25zdCBXZWJYUlNwYWNlJiBiYXNlU3BhY2UpCit7CisgICAgVU5V
U0VEX1BBUkFNKGpvaW50KTsKKyAgICBVTlVTRURfUEFSQU0oYmFzZVNwYWNlKTsKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4
ci1oYW5kLWlucHV0LyNkb20teHJmcmFtZS1maWxsam9pbnRyYWRpaQorRXhjZXB0aW9uT3I8Ym9v
bD4gV2ViWFJGcmFtZTo6ZmlsbEpvaW50UmFkaWkoY29uc3QgVmVjdG9yPFJlZlB0cjxXZWJYUkpv
aW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5JikKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworLy8gaHR0cHM6Ly9pbW1lcnNpdmUtd2ViLmdpdGh1Yi5pby93ZWJ4ci1oYW5kLWlucHV0LyNk
b20teHJmcmFtZS1maWxscG9zZXMKK0V4Y2VwdGlvbk9yPGJvb2w+IFdlYlhSRnJhbWU6OmZpbGxQ
b3Nlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFdlYlhSU3BhY2U+PiwgY29uc3QgV2ViWFJTcGFjZSYs
IGNvbnN0IEZsb2F0MzJBcnJheSYpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKKyNlbmRpZgor
CiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKICNlbmRpZiAvLyBFTkFCTEUoV0VCWFIpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSRnJhbWUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5oCmluZGV4IGZhOTAwZGMyMmY2OTE1
OWY3OTI3YzcyMWMyNWQwZGM3NjQwOTA3NmMuLmJiYWEyY2RkOGU5ZmNiOGVmMDY0ZDU0NzQ4MTI0
NGQ5ZDQxMjM4ZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2Vi
WFJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJGcmFtZS5o
CkBAIC0zMCw2ICszMCw3IEBACiAjaW5jbHVkZSAiRE9NSGlnaFJlc1RpbWVTdGFtcC5oIgogI2lu
Y2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0Zsb2F0MzJBcnJheS5oPgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2Mu
aD4KICNpbmNsdWRlIDx3dGYvUmVmLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KQEAg
LTM4LDYgKzM5LDggQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7Citj
bGFzcyBXZWJYUkpvaW50UG9zZTsKK2NsYXNzIFdlYlhSSm9pbnRTcGFjZTsKIGNsYXNzIFdlYlhS
UG9zZTsKIGNsYXNzIFdlYlhSUmVmZXJlbmNlU3BhY2U7CiBjbGFzcyBXZWJYUlNlc3Npb247CkBA
IC01Niw2ICs1OSwxMiBAQCBwdWJsaWM6CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSVmll
d2VyUG9zZT4+IGdldFZpZXdlclBvc2UoY29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlJlZmVy
ZW5jZVNwYWNlJik7CiAgICAgRXhjZXB0aW9uT3I8UmVmUHRyPFdlYlhSUG9zZT4+IGdldFBvc2Uo
Y29uc3QgRG9jdW1lbnQmLCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgV2ViWFJTcGFjZSYpOwog
CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIEV4Y2VwdGlvbk9yPFJlZlB0cjxXZWJYUkpv
aW50UG9zZT4+IGdldEpvaW50UG9zZShjb25zdCBXZWJYUkpvaW50U3BhY2UmLCBjb25zdCBXZWJY
UlNwYWNlJik7CisgICAgRXhjZXB0aW9uT3I8Ym9vbD4gZmlsbEpvaW50UmFkaWkoY29uc3QgVmVj
dG9yPFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+PiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisgICAg
RXhjZXB0aW9uT3I8Ym9vbD4gZmlsbFBvc2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8V2ViWFJTcGFj
ZT4+LCBjb25zdCBXZWJYUlNwYWNlJiwgY29uc3QgRmxvYXQzMkFycmF5Jik7CisjZW5kaWYKKwog
ICAgIHZvaWQgc2V0VGltZShET01IaWdoUmVzVGltZVN0YW1wIHRpbWUpIHsgbV90aW1lID0gdGlt
ZTsgfQogCiAgICAgdm9pZCBzZXRBY3RpdmUoYm9vbCBhY3RpdmUpIHsgbV9hY3RpdmUgPSBhY3Rp
dmU7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5mMjE2MjMxMjFlZTJiNjQ5NzVhNTRmZjJiMGJhOWVlYmEyM2Q1MmEyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQuY3BwCkBAIC0w
LDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IldlYlhSSGFuZC5oIgorCisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMp
CisKKyNpbmNsdWRlICJXZWJYUklucHV0U291cmNlLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoV2ViWFJIYW5kKTsKKworUmVmPFdlYlhSSGFuZD4gV2ViWFJIYW5kOjpjcmVhdGUo
Y29uc3QgV2ViWFJJbnB1dFNvdXJjZSYgaW5wdXRTb3VyY2UpCit7CisgICAgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgV2ViWFJIYW5kKGlucHV0U291cmNlKSk7Cit9CisKK1dlYlhSSGFuZDo6V2ViWFJI
YW5kKGNvbnN0IFdlYlhSSW5wdXRTb3VyY2UmIGlucHV0U291cmNlKQorICAgIDogbV9pbnB1dFNv
dXJjZShpbnB1dFNvdXJjZSkKK3sKK30KKworV2ViWFJIYW5kOjp+V2ViWFJIYW5kKCkgPSBkZWZh
dWx0OworCitSZWZQdHI8V2ViWFJKb2ludFNwYWNlPiBXZWJYUkhhbmQ6OmdldChjb25zdCBYUkhh
bmRKb2ludCYga2V5KQoreworICAgIFVOVVNFRF9QQVJBTShrZXkpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCitXZWJYUkhhbmQ6Okl0ZXJhdG9yOjpJdGVyYXRvcihXZWJYUkhhbmQmIGhhbmQp
CisgICAgOiBtX2hhbmQoaGFuZCkKK3sKK30KKworc3RkOjpvcHRpb25hbDxXVEY6OktleVZhbHVl
UGFpcjxYUkhhbmRKb2ludCwgUmVmUHRyPFdlYlhSSm9pbnRTcGFjZT4+PiBXZWJYUkhhbmQ6Okl0
ZXJhdG9yOjpuZXh0KCkKK3sKKyAgICBpZiAobV9pbmRleCA+IG1faGFuZC0+bV9qb2ludHMuc2l6
ZSgpKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKK30KKworV2ViWFJTZXNzaW9uKiBXZWJYUkhhbmQ6OnNlc3Npb24oKQoreworICAgIGlm
ICghbV9pbnB1dFNvdXJjZSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisgICAgcmV0dXJuIG1f
aW5wdXRTb3VyY2UuZ2V0KCktPnNlc3Npb24oKTsKK30KKworfQorCisjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4NzgwMDVjODc4ODlk
YTUzMDBlN2U1N2M4ODFlNGE2NzI0NGU2MTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9I
QU5EUykKKworI2luY2x1ZGUgIlBsYXRmb3JtWFIuaCIKKyNpbmNsdWRlICJXZWJYUklucHV0U291
cmNlLmgiCisjaW5jbHVkZSAiV2ViWFJKb2ludFNwYWNlLmgiCisjaW5jbHVkZSAiV2ViWFJTZXNz
aW9uLmgiCisjaW5jbHVkZSAiWFJIYW5kSm9pbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9j
Lmg+CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdl
YlhSSGFuZCA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSGFuZD4geworICAgIFdURl9NQUtFX0lT
T19BTExPQ0FURUQoV2ViWFJIYW5kKTsKK3B1YmxpYzoKKworICAgIHN0YXRpYyBSZWY8V2ViWFJI
YW5kPiBjcmVhdGUoY29uc3QgV2ViWFJJbnB1dFNvdXJjZSYpOworICAgIH5XZWJYUkhhbmQoKTsK
KworICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSgpIHsgcmV0dXJuIG1fc2l6ZTsgfQorCisgICAgUmVm
UHRyPFdlYlhSSm9pbnRTcGFjZT4gZ2V0KGNvbnN0IFhSSGFuZEpvaW50JiBrZXkpOworCisgICAg
Y2xhc3MgSXRlcmF0b3IgeworICAgIHB1YmxpYzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3Io
V2ViWFJIYW5kJik7CisgICAgICAgIHN0ZDo6b3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8WFJI
YW5kSm9pbnQsIFJlZlB0cjxXZWJYUkpvaW50U3BhY2U+Pj4gbmV4dCgpOworCisgICAgcHJpdmF0
ZToKKyAgICAgICAgUmVmPFdlYlhSSGFuZD4gbV9oYW5kOworICAgICAgICBzaXplX3QgbV9pbmRl
eCB7IDAgfTsKKyAgICB9OworICAgIEl0ZXJhdG9yIGNyZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4g
SXRlcmF0b3IoKnRoaXMpOyB9CisKKyAgICAvLyBGb3IgR0MgcmVhY2hhYmxpdGl5LgorICAgIFdl
YlhSU2Vzc2lvbiogc2Vzc2lvbigpOworCitwcml2YXRlOgorICAgIFdlYlhSSGFuZChjb25zdCBX
ZWJYUklucHV0U291cmNlJik7CisKKyAgICB1bnNpZ25lZCBsb25nIG1fc2l6ZSB7IDAgfTsKKyAg
ICB1c2luZyBIYW5kSm9pbnRUb1NwYWNlTWFwID0gSGFzaE1hcDxYUkhhbmRKb2ludCwgUmVmPFdl
YlhSSm9pbnRTcGFjZT4sIERlZmF1bHRIYXNoPHVuc2lnbmVkPiwgV1RGOjpVbnNpZ25lZFdpdGha
ZXJvS2V5SGFzaFRyYWl0czx1bnNpZ25lZD4+OworICAgIEhhbmRKb2ludFRvU3BhY2VNYXAgbV9q
b2ludHM7CisKKyAgICBXZWFrUHRyPFdlYlhSSW5wdXRTb3VyY2U+IG1faW5wdXRTb3VyY2U7Cit9
OworCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIv
V2ViWFJIYW5kLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJIYW5kLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5jZDFiMDliZGYyMWZiYmFjN2NjYjg5NzAwNzdiZDE5OGJkZmY0NWE3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkhhbmQu
aWRsCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIEVuYWJsZWRCeVNldHRp
bmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxlRW5hYmxlZCwKKyAgICBDb25kaXRp
b25hbD1XRUJYUl9IQU5EUywKKyAgICBHZW5lcmF0ZUlzUmVhY2hhYmxlPUltcGxXZWJYUlNlc3Np
b25Sb290LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhwb3NlZD1XaW5kb3csCisgICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKKyAgICBJbnRlcmZhY2VOYW1lPVhSSGFuZAorXSBpbnRl
cmZhY2UgV2ViWFJIYW5kIHsKKyAgICBpdGVyYWJsZTxYUkhhbmRKb2ludCwgV2ViWFJKb2ludFNw
YWNlPjsKKworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7CisgICAg
V2ViWFJKb2ludFNwYWNlIGdldChYUkhhbmRKb2ludCBrZXkpOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZStIYW5kSW5wdXQuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlK0hhbmRJbnB1
dC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNzgwNWNkOTQxNGU0MDM1MTk3Y2ZlZGIyNTdmMThlMTE1NTFkYzU0
YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJ
bnB1dFNvdXJjZStIYW5kSW5wdXQuaWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIEVuYWJsZWRCeVNldHRpbmc9V2ViWFJFbmFibGVkJldlYlhSSGFuZElucHV0TW9kdWxl
RW5hYmxlZCwKKyAgICBDb25kaXRpb25hbD1XRUJYUl9IQU5EUworXSBwYXJ0aWFsIGludGVyZmFj
ZSBXZWJYUklucHV0U291cmNlIHsKKyAgICAvLyBodHRwczovL2ltbWVyc2l2ZS13ZWIuZ2l0aHVi
LmlvL3dlYnhyLWhhbmQtaW5wdXQvI3hyaW5wdXRzb3VyY2UtaW50ZXJmYWNlCisgICAgW1NhbWVP
YmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBXZWJYUkhhbmQ/IGhhbmQ7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5jcHAKaW5kZXggZjU2
YmJiYTAxN2QzODE2NWZkODM4NGY4OWY4NDliZDNlZDI4NDI0MS4uNWY1NjkzZTMwMTAzZDJmZTcz
NTg0ZTEyODFkZTA3NjhiYWI4N2Y1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSSW5wdXRTb3VyY2UuY3BwCkBAIC04Niw2ICs4NiwxOCBAQCB2b2lkIFdlYlhS
SW5wdXRTb3VyY2U6OnVwZGF0ZShkb3VibGUgdGltZXN0YW1wLCBjb25zdCBQbGF0Zm9ybVhSOjpE
ZXZpY2U6OkZyYW1lRAogI2lmIEVOQUJMRShHQU1FUEFEKQogICAgIG1fZ2FtZXBhZC0+dXBkYXRl
RnJvbVBsYXRmb3JtR2FtZXBhZChXZWJYUkdhbWVwYWQodGltZXN0YW1wLCBtX2Nvbm5lY3RUaW1l
LCBzb3VyY2UpKTsKICNlbmRpZgorCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGlmIChz
b3VyY2Uuc2ltdWxhdGVIYW5kKSB7CisgICAgICAgIC8vIEZJWE1FOiBUaGlzIGN1cnJlbnRseSBj
cmVhdGVzIGFuIG9iamVjdCBqdXN0IGZvciB1c2UgaW4gdGVzdGluZy4KKyAgICAgICAgLy8gVGhl
IHJlYWwgaW1wbGVtZW50YXRpb24gd2lsbCB1c2UgYWN0dWFsIGRhdGEgYW5kIG9ubHkgYmUgdmlz
aWJsZQorICAgICAgICAvLyBpZiBoYW5kLXRyYWNraW5nIHdhcyByZXF1ZXN0ZWQgYXQgc2Vzc2lv
biBzdGFydC4KKyAgICAgICAgaWYgKCFtX2hhbmQpCisgICAgICAgICAgICBtX2hhbmQgPSBXZWJY
UkhhbmQ6OmNyZWF0ZSgqdGhpcyk7CisgICAgfSBlbHNlCisgICAgICAgIG1faGFuZCA9IG51bGxw
dHI7CisjZW5kaWYKKwogfQogCiBib29sIFdlYlhSSW5wdXRTb3VyY2U6OnJlcXVpcmVzSW5wdXRT
b3VyY2VDaGFuZ2UoY29uc3QgSW5wdXRTb3VyY2UmIHNvdXJjZSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZS5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U291cmNlLmgKaW5kZXggODhmYTUyZjVkODgwZGQ0
NjQ3MDcyNWE4MWUzZGU5MWVmOWIzNDExNy4uMTczMThlZmViNjE3ZjY2MWE3MzUyNGQxNWNkYWZl
OTg0NjA2MjI5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJY
UklucHV0U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUklu
cHV0U291cmNlLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDIwIEln
YWxpYSBTLkwuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzksMTUgKzQwLDIwIEBACiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorI2lu
Y2x1ZGUgIldlYlhSSGFuZC5oIgorI2VuZGlmCisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2lm
IEVOQUJMRShHQU1FUEFEKQogY2xhc3MgR2FtZXBhZDsKICNlbmRpZgogY2xhc3MgWFJJbnB1dFNv
dXJjZUV2ZW50OworY2xhc3MgV2ViWFJIYW5kOwogY2xhc3MgV2ViWFJJbnB1dFNwYWNlOwogCi1j
bGFzcyBXZWJYUklucHV0U291cmNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2ViWFJJbnB1dFNvdXJj
ZT4geworY2xhc3MgV2ViWFJJbnB1dFNvdXJjZSA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlhSSW5w
dXRTb3VyY2U+LCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8V2ViWFJJbnB1dFNvdXJjZT4gewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoV2ViWFJJbnB1dFNvdXJjZSk7CiBwdWJsaWM6CiAgICAg
dXNpbmcgSW5wdXRTb3VyY2UgPSBQbGF0Zm9ybVhSOjpEZXZpY2U6OkZyYW1lRGF0YTo6SW5wdXRT
b3VyY2U7CkBAIC02NywxMCArNzMsMTQgQEAgcHVibGljOgogICAgIGNvbnN0IEdhbWVwYWQqIGdh
bWVwYWQoKSBjb25zdCB7IHJldHVybiBtX2dhbWVwYWQucHRyKCk7IH0KICNlbmRpZgogCisjaWYg
RU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIGNvbnN0IFdlYlhSSGFuZCogaGFuZCgpIGNvbnN0IHsg
cmV0dXJuIG1faGFuZC5nZXQoKTsgfQorI2VuZGlmCisKICAgICB2b2lkIHVwZGF0ZShkb3VibGUg
dGltZXN0YW1wLCBjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIGJvb2wgcmVxdWlyZXNJbnB1dFNv
dXJjZUNoYW5nZShjb25zdCBJbnB1dFNvdXJjZSYpOwogICAgIHZvaWQgZGlzY29ubmVjdCgpOwot
ICAgIAorCiAgICAgdm9pZCBwb2xsRXZlbnRzKFZlY3RvcjxSZWY8WFJJbnB1dFNvdXJjZUV2ZW50
Pj4mKTsKIAogICAgIC8vIEZvciBHQyByZWFjaGFibGl0aXkuCkBAIC04OSw2ICs5OSwxMCBAQCBw
cml2YXRlOgogICAgIFJlZjxHYW1lcGFkPiBtX2dhbWVwYWQ7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKyAgICBSZWZQdHI8V2ViWFJIYW5kPiBtX2hhbmQ7CisjZW5kaWYKKwog
ICAgIGJvb2wgbV9zZWxlY3RTdGFydGVkIHsgZmFsc2UgfTsKICAgICBib29sIG1fc3F1ZWV6ZVN0
YXJ0ZWQgeyBmYWxzZSB9OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9X
ZWJYUkpvaW50UG9zZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGI3ODNiMGM2NmJjZGQ3NTk2OTA5OGExMmUx
ZGEyN2I3NzEyMWE2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
d2VieHIvV2ViWFJKb2ludFBvc2UuY3BwCkBAIC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRQb3NlLmgiCisKKyNpZiBF
TkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgPHd0Zi9Jc29N
YWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FM
TE9DQVRFRF9JTVBMKFdlYlhSSm9pbnRQb3NlKTsKKworUmVmPFdlYlhSSm9pbnRQb3NlPiBXZWJY
UkpvaW50UG9zZTo6Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmIHRyYW5zZm9ybSwg
Ym9vbCBlbXVsYXRlZFBvc2l0aW9uKQoreworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFdlYlhS
Sm9pbnRQb3NlKFdURk1vdmUodHJhbnNmb3JtKSwgZW11bGF0ZWRQb3NpdGlvbikpOworfQorCitX
ZWJYUkpvaW50UG9zZTo6V2ViWFJKb2ludFBvc2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYg
dHJhbnNmb3JtLCBib29sIGVtdWxhdGVkUG9zaXRpb24pCisgICAgOiBXZWJYUlBvc2UoV1RGTW92
ZSh0cmFuc2Zvcm0pLCBlbXVsYXRlZFBvc2l0aW9uKQoreworfQorCit9CisKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50UG9zZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjFkN2M3NDFhM2FhNjRhNWY5ODU5ODVlY2FkN2UyOGZmZWE3Njg5OWQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmgKQEAgLTAs
MCArMSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSwgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShXRUJY
UikgJiYgRU5BQkxFKFdFQlhSX0hBTkRTKQorCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2lu
Y2x1ZGUgIldlYlhSUG9zZS5oIgorI2luY2x1ZGUgIldlYlhSUmlnaWRUcmFuc2Zvcm0uaCIKKyNp
bmNsdWRlICJXZWJYUlNlc3Npb24uaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jLmg+CisjaW5j
bHVkZSA8d3RmL1JlZi5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFdlYlhSSm9p
bnRQb3NlIDogcHVibGljIFdlYlhSUG9zZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChX
ZWJYUkpvaW50UG9zZSk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxXZWJYUkpvaW50UG9zZT4g
Y3JlYXRlKFJlZjxXZWJYUlJpZ2lkVHJhbnNmb3JtPiYmLCBib29sIGVtdWxhdGVkUG9zaXRpb24p
OworICAgIH5XZWJYUkpvaW50UG9zZSgpID0gZGVmYXVsdDsKKworICAgIGZsb2F0IHJhZGl1cygp
IGNvbnN0IHsgcmV0dXJuIG1fcmFkaXVzOyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFBv
c2UoUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYsIGJvb2wgZW11bGF0ZWRQb3NpdGlvbik7CisK
KyAgICBmbG9hdCBtX3JhZGl1cyB7IDAgfTsKK307CisKK30KKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFBvc2UuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5
NjRkODE3NWQwYTkwOGY5NmI5ZTcyZmUyZWFlODlmNjU1NDgzY2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRQb3NlLmlkbApAQCAtMCww
ICsxLDM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5h
YmxlZCZXZWJYUkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJf
SEFORFMsCisgICAgU2VjdXJlQ29udGV4dCwKKyAgICBFeHBvc2VkPVdpbmRvdywKKyAgICBJbXBs
ZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAorICAgIEludGVyZmFjZU5hbWU9WFJKb2ludFBvc2UKK10g
aW50ZXJmYWNlIFdlYlhSSm9pbnRQb3NlIDogV2ViWFJQb3NlIHsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgZmxvYXQgcmFkaXVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJKb2ludFNwYWNlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45ZWU2NTBmZTA5MDhjYmM1MzdhOGVj
NzkzM2RhNmYwZTQ4ZjM1MGYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlhSSm9pbnRTcGFjZS5oIgor
CisjaWYgRU5BQkxFKFdFQlhSKSAmJiBFTkFCTEUoV0VCWFJfSEFORFMpCisKKyNpbmNsdWRlICJX
ZWJYUlJpZ2lkVHJhbnNmb3JtLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoV2Vi
WFJKb2ludFNwYWNlKTsKKworUmVmPFdlYlhSSm9pbnRTcGFjZT4gV2ViWFJKb2ludFNwYWNlOjpj
cmVhdGUoRG9jdW1lbnQmIGRvY3VtZW50LCBXZWJYUlNlc3Npb24mIHNlc3Npb24pCit7CisgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgV2ViWFJKb2ludFNwYWNlKGRvY3VtZW50LCBzZXNzaW9uKSk7
Cit9CisKK1dlYlhSSm9pbnRTcGFjZTo6V2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiBkb2N1bWVu
dCwgV2ViWFJTZXNzaW9uJiBzZXNzaW9uKQorICAgIDogV2ViWFJTcGFjZShkb2N1bWVudCwgV2Vi
WFJSaWdpZFRyYW5zZm9ybTo6Y3JlYXRlKCkpCisgICAgLCBtX3Nlc3Npb24oc2Vzc2lvbikKK3sK
K30KKworV2ViWFJKb2ludFNwYWNlOjp+V2ViWFJKb2ludFNwYWNlKCkgPSBkZWZhdWx0OworCitz
dGQ6Om9wdGlvbmFsPFRyYW5zZm9ybWF0aW9uTWF0cml4PiBXZWJYUkpvaW50U3BhY2U6Om5hdGl2
ZU9yaWdpbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKK30KKworfQorCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2lu
dFNwYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjUxMjU3YmNjNWU0YjY0NGUyYjM1MmZmZjM3MTk2NjliODg3Nzk2NWYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRT
cGFjZS5oCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUs
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoV0VCWFIpICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1YUi5oIgorI2luY2x1ZGUgIldlYlhSU2Vzc2lvbi5o
IgorI2luY2x1ZGUgIldlYlhSU3BhY2UuaCIKKyNpbmNsdWRlICJYUkhhbmRKb2ludC5oIgorI2lu
Y2x1ZGUgPHd0Zi9Jc29NYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+CisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgV2ViWFJKb2ludFNwYWNlIDogcHVibGljIFJlZkNvdW50ZWQ8V2Vi
WFJKb2ludFNwYWNlPiwgcHVibGljIFdlYlhSU3BhY2UgeworICAgIFdURl9NQUtFX0lTT19BTExP
Q0FURUQoV2ViWFJKb2ludFNwYWNlKTsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPFdlYlhSSm9p
bnRTcGFjZT4gY3JlYXRlKERvY3VtZW50JiwgV2ViWFJTZXNzaW9uJik7CisgICAgdmlydHVhbCB+
V2ViWFJKb2ludFNwYWNlKCk7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFj
ZT46OnJlZjsKKyAgICB1c2luZyBSZWZDb3VudGVkPFdlYlhSSm9pbnRTcGFjZT46OmRlcmVmOwor
CisgICAgWFJIYW5kSm9pbnQgam9pbnROYW1lKCkgY29uc3QgeyByZXR1cm4gWFJIYW5kSm9pbnQ6
OldyaXN0OyB9CisKK3ByaXZhdGU6CisgICAgV2ViWFJKb2ludFNwYWNlKERvY3VtZW50JiwgV2Vi
WFJTZXNzaW9uJik7CisKKyAgICBXZWJYUlNlc3Npb24qIHNlc3Npb24oKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3Nlc3Npb24uZ2V0KCk7IH07CisgICAgc3RkOjpvcHRpb25hbDxUcmFuc2Zvcm1h
dGlvbk1hdHJpeD4gbmF0aXZlT3JpZ2luKCkgY29uc3QgZmluYWw7CisKKyAgICB2b2lkIHJlZkV2
ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgp
IGZpbmFsIHsgZGVyZWYoKTsgfQorCisgICAgYm9vbCBpc0pvaW50U3BhY2UoKSBjb25zdCBmaW5h
bCB7IHJldHVybiB0cnVlOyB9CisKKyAgICBXZWFrUHRyPFdlYlhSU2Vzc2lvbj4gbV9zZXNzaW9u
OworfTsKKworfQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX1dFQlhSU1BBQ0UoV2ViWFJKb2lu
dFNwYWNlLCBpc0pvaW50U3BhY2UoKSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL3dlYnhyL1dlYlhSSm9pbnRTcGFjZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDI5NGExOTM2NGU5
OTdkYjViZjE2ZjE5ZDNiMjlkMDhlMjUyYmNkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJKb2ludFNwYWNlLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVdlYlhSRW5hYmxlZCZXZWJY
UkhhbmRJbnB1dE1vZHVsZUVuYWJsZWQsCisgICAgQ29uZGl0aW9uYWw9V0VCWFJfSEFORFMsCisg
ICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAorICAgIFNlY3VyZUNvbnRleHQsCisgICAgRXhw
b3NlZD1XaW5kb3csCisgICAgSW50ZXJmYWNlTmFtZT1YUkpvaW50U3BhY2UKK10gaW50ZXJmYWNl
IFdlYlhSSm9pbnRTcGFjZSA6IFdlYlhSU3BhY2UgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBY
UkhhbmRKb2ludCBqb2ludE5hbWU7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNlc3Npb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4
ci9XZWJYUlNlc3Npb24uaWRsCmluZGV4IGE3ZDhkM2M5ZTdlMWVjZDg4YjBmNzRiNTM2NDcxYTE5
MjgxNzI0NzguLjUzMjI3NWM0ZWRmNDExY2E4YzVhMzFkODJmNzc2ODFhY2ZlOTA3MTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvV2ViWFJTZXNzaW9uLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU2Vzc2lvbi5pZGwKQEAgLTMwLDYg
KzMwLDcgQEAKICAgICBBY3RpdmVET01PYmplY3QsCiAgICAgU2VjdXJlQ29udGV4dCwKICAgICBF
eHBvc2VkPVdpbmRvdywKKyAgICBKU0N1c3RvbU1hcmtGdW5jdGlvbiwKICAgICBJbnRlcmZhY2VO
YW1lPVhSU2Vzc2lvbgogXSBpbnRlcmZhY2UgV2ViWFJTZXNzaW9uIDogRXZlbnRUYXJnZXQgewog
ICAgIC8vIEF0dHJpYnV0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2Vi
eHIvV2ViWFJTcGFjZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNl
LmgKaW5kZXggMmZlNWE1M2U1NmEyMTk2NjRkZDQyZmE0NzYzZmQ0Y2I4Njc0M2JlZS4uMDQzMzY1
YjA1NDZmM2Q2Y2E2YWIwYjY0MGVjZGZhMjIxYWQ3ZTk0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy93ZWJ4ci9XZWJYUlNwYWNlLmgKQEAgLTUxLDYgKzUxLDkgQEAgcHVibGljOgogCiAgICAg
dmlydHVhbCBib29sIGlzUmVmZXJlbmNlU3BhY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQog
ICAgIHZpcnR1YWwgYm9vbCBpc0JvdW5kZWRSZWZlcmVuY2VTcGFjZSgpIGNvbnN0IHsgcmV0dXJu
IGZhbHNlOyB9CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRTKQorICAgIHZpcnR1YWwgYm9vbCBpc0pv
aW50U3BhY2UoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQorI2VuZGlmCiAKIHByb3RlY3RlZDoK
ICAgICBXZWJYUlNwYWNlKERvY3VtZW50JiwgUmVmPFdlYlhSUmlnaWRUcmFuc2Zvcm0+JiYpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9XZWJYUlN5c3RlbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhyL1dlYlhSU3lzdGVtLmNwcAppbmRleCA2NzU5
MzJkMzkzNGIyMzdhZGI0MWY1OGIxODcxOGNjZjMzOTY5YjliLi4wNmJmZWI2MTQzZGIwZjgzZmFh
ZjE2N2U3ZDY3MmNhMDM0NTdkNTE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L3dlYnhyL1dlYlhSU3lzdGVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL3dlYnhy
L1dlYlhSU3lzdGVtLmNwcApAQCAtMjkxLDYgKzI5MSw5IEBAIHN0ZDo6b3B0aW9uYWw8V2ViWFJT
eXN0ZW06OlJlc29sdmVkUmVxdWVzdGVkRmVhdHVyZXM+IFdlYlhSU3lzdGVtOjpyZXNvbHZlUmVx
dWVzCiAgICAgICAgICAgICBpZiAoc2Vzc2lvbkZlYXR1cmUuaXNOdWxsKCkpCiAgICAgICAgICAg
ICAgICAgY29udGludWU7CiAKKyAgICAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzIG9ubHkgdGVz
dGluZyBmb3IgWFJSZWZlcmVuY2VTcGFjZVR5cGUgZmVhdHVyZXMuIEl0CisgICAgICAgICAgICAv
LyBuZWVkcyB0byBoYW5kbGUgb3B0aW9uYWwgZmVhdHVyZXMgbGlrZSAiaGFuZC10cmFja2luZyIu
CisKICAgICAgICAgICAgIC8vIDIuIElmIGZlYXR1cmUgaXMgbm90IGEgdmFsaWQgZmVhdHVyZSBk
ZXNjcmlwdG9yLCBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgc3RlcHMKICAgICAgICAgICAgIC8vICAg
Mi4xLiBMZXQgcyBiZSB0aGUgcmVzdWx0IG9mIGNhbGxpbmcgPyBUb1N0cmluZyhmZWF0dXJlKS4K
ICAgICAgICAgICAgIC8vICAgMi4yLiBJZiBzIGlzIG5vdCBhIHZhbGlkIGZlYXR1cmUgZGVzY3Jp
cHRvciBvciBpcyB1bmRlZmluZWQsIChyZXR1cm4gbnVsbHxjb250aW51ZSB0byBuZXh0IGVudHJ5
KS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40MjExMDM4OGJhZTg3YjU3NTI4NThmNjM2MTM2MjI0ZDI5ZDQ3YTcwCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5oCkBAIC0wLDAg
KzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCWFIp
ICYmIEVOQUJMRShXRUJYUl9IQU5EUykKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit1c2luZyBY
UkhhbmRKb2ludCA9IFBsYXRmb3JtWFI6OkhhbmRKb2ludDsKKworfQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy93ZWJ4ci9YUkhhbmRKb2ludC5pZGwKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGU4
ZDlkY2YyNTMxOTBhMDRkNzAzYjA2Yjk0MmQzZTdlMTI3ZjUzNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvd2VieHIvWFJIYW5kSm9pbnQuaWRsCkBAIC0wLDAgKzEs
NjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUsIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQlhSX0hBTkRTLAorICAg
IEV4cG9ydE1hY3JvPVdFQkNPUkVfRVhQT1JUCitdIGVudW0gWFJIYW5kSm9pbnQgeworICAgICJ3
cmlzdCIsCisKKyAgICAidGh1bWItbWV0YWNhcnBhbCIsCisgICAgInRodW1iLXBoYWxhbngtcHJv
eGltYWwiLAorICAgICJ0aHVtYi1waGFsYW54LWRpc3RhbCIsCisgICAgInRodW1iLXRpcCIsCisK
KyAgICAiaW5kZXgtZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJpbmRleC1maW5nZXItcGhhbGFu
eC1wcm94aW1hbCIsCisgICAgImluZGV4LWZpbmdlci1waGFsYW54LWludGVybWVkaWF0ZSIsCisg
ICAgImluZGV4LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgImluZGV4LWZpbmdlci10aXAi
LAorCisgICAgIm1pZGRsZS1maW5nZXItbWV0YWNhcnBhbCIsCisgICAgIm1pZGRsZS1maW5nZXIt
cGhhbGFueC1wcm94aW1hbCIsCisgICAgIm1pZGRsZS1maW5nZXItcGhhbGFueC1pbnRlcm1lZGlh
dGUiLAorICAgICJtaWRkbGUtZmluZ2VyLXBoYWxhbngtZGlzdGFsIiwKKyAgICAibWlkZGxlLWZp
bmdlci10aXAiLAorCisgICAgInJpbmctZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJyaW5nLWZp
bmdlci1waGFsYW54LXByb3hpbWFsIiwKKyAgICAicmluZy1maW5nZXItcGhhbGFueC1pbnRlcm1l
ZGlhdGUiLAorICAgICJyaW5nLWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgInJpbmctZmlu
Z2VyLXRpcCIsCisKKyAgICAicGlua3ktZmluZ2VyLW1ldGFjYXJwYWwiLAorICAgICJwaW5reS1m
aW5nZXItcGhhbGFueC1wcm94aW1hbCIsCisgICAgInBpbmt5LWZpbmdlci1waGFsYW54LWludGVy
bWVkaWF0ZSIsCisgICAgInBpbmt5LWZpbmdlci1waGFsYW54LWRpc3RhbCIsCisgICAgInBpbmt5
LWZpbmdlci10aXAiCit9OworCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGU1MjgxNGFlNThkOGFkNTczOGUw
YjZmNjE5ZTAyMDE3NWU1MDRhNmQuLjVmYzE1NTU2M2Y4MWJjNGQ0ZDAyOTAwZTViYzk4OTRjMGU2
YWU5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zNjIsOSArMzYyLDEyIEBAIE1vZHVsZXMvd2VieHIv
TmF2aWdhdG9yV2ViWFIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSQm91bmRlZFJlZmVyZW5jZVNw
YWNlLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUkZyYW1lLmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJY
UkdhbWVwYWQuY3BwCitNb2R1bGVzL3dlYnhyL1dlYlhSSGFuZC5jcHAKIE1vZHVsZXMvd2VieHIv
V2ViWFJJbnB1dFNvdXJjZS5jcHAKIE1vZHVsZXMvd2VieHIvV2ViWFJJbnB1dFNvdXJjZUFycmF5
LmNwcAogTW9kdWxlcy93ZWJ4ci9XZWJYUklucHV0U3BhY2UuY3BwCitNb2R1bGVzL3dlYnhyL1dl
YlhSSm9pbnRQb3NlLmNwcAorTW9kdWxlcy93ZWJ4ci9XZWJYUkpvaW50U3BhY2UuY3BwCiBNb2R1
bGVzL3dlYnhyL1dlYlhSTGF5ZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhST3BhcXVlRnJhbWVi
dWZmZXIuY3BwCiBNb2R1bGVzL3dlYnhyL1dlYlhSUG9zZS5jcHAKQEAgLTU2Miw2ICs1NjUsNyBA
QCBiaW5kaW5ncy9qcy9KU1VuZG9JdGVtQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJBbmlt
YXRpb25DdXN0b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMMlJlbmRlcmluZ0NvbnRleHRDdXN0
b20uY3BwCiBiaW5kaW5ncy9qcy9KU1dlYkdMUmVuZGVyaW5nQ29udGV4dEN1c3RvbS5jcHAKK2Jp
bmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJl
ZmVyZW5jZVNwYWNlQ3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlJpZ2lkVHJhbnNmb3Jt
Q3VzdG9tLmNwcAogYmluZGluZ3MvanMvSlNXZWJYUlNwYWNlQ3VzdG9tLmNwcApAQCAtMzc4Miw4
ICszNzg2LDExIEBAIEpTV2ViS2l0VHJhbnNpdGlvbkV2ZW50LmNwcAogSlNXZWJTb2NrZXQuY3Bw
CiBKU1dlYlhSQm91bmRlZFJlZmVyZW5jZVNwYWNlLmNwcAogSlNXZWJYUkZyYW1lLmNwcAorSlNX
ZWJYUkhhbmQuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2UuY3BwCiBKU1dlYlhSSW5wdXRTb3VyY2VB
cnJheS5jcHAKK0pTV2ViWFJKb2ludFBvc2UuY3BwCitKU1dlYlhSSm9pbnRTcGFjZS5jcHAKIEpT
V2ViWFJMYXllci5jcHAKIEpTV2ViWFJQb3NlLmNwcAogSlNXZWJYUlJlZmVyZW5jZVNwYWNlLmNw
cApAQCAtMzgyNSw2ICszODMyLDcgQEAgSlNYUGF0aFJlc3VsdC5jcHAKIEpTWFJFbnZpcm9ubWVu
dEJsZW5kTW9kZS5jcHAKIEpTWFJFeWUuY3BwCiBKU1hSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suY3Bw
CitKU1hSSGFuZEpvaW50LmNwcAogSlNYUkhhbmRlZG5lc3MuY3BwCiBKU1hSSW5wdXRTb3VyY2VF
dmVudC5jcHAKIEpTWFJJbnB1dFNvdXJjZXNDaGFuZ2VFdmVudC5jcHAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBhOGZhYWZhMjFi
YTEzODE2NjhlODczMWE2ZTY3ODJiZTM4N2U2ZGQ0Li5iMGI3ZTE1OGQ2ZjVjNzFiNzFhYTAxMWUy
MjVjMmFmYzUwMjY5NmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xMDExLDYgKzEwMTEsMTAgQEAKIAkJMzFDMEZGMjUwRTRD
RUI2RTAwN0Q2RkU1IC8qIFdlYktpdFRyYW5zaXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGMUYwRTRDRUI2RTAwN0Q2RkU1IC8q
IFdlYktpdFRyYW5zaXRpb25FdmVudC5oICovOyB9OwogCQkzMUMwRkYzRTBFNENFRkFDMDA3RDZG
RTUgLyogSlNXZWJLaXRBbmltYXRpb25FdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFDMEZGM0EwRTRDRUZBQzAwN0Q2RkU1IC8qIEpTV2ViS2l0
QW5pbWF0aW9uRXZlbnQuaCAqLzsgfTsKIAkJMzFDMEZGNDAwRTRDRUZBQzAwN0Q2RkU1IC8qIEpT
V2ViS2l0VHJhbnNpdGlvbkV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAzMUMwRkYzQzBFNENFRkFDMDA3RDZGRTUgLyogSlNXZWJLaXRUcmFuc2l0
aW9uRXZlbnQuaCAqLzsgfTsKKwkJMzFEOTJBOUYyNzA3RDVERTAwQUQwMUQwIC8qIFhSSGFuZEpv
aW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5
MkE5QzI3MDdENUQwMDBBRDAxRDAgLyogWFJIYW5kSm9pbnQuaCAqLzsgfTsKKwkJMzFEOTJBQTMy
NzA3RDY5NjAwQUQwMUQwIC8qIFdlYlhSSGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTEyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFu
ZC5oICovOyB9OworCQkzMUQ5MkFBNzI3MDdFOTU5MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNl
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzMUQ5MkFB
NTI3MDdFOEIzMDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggKi87IH07CisJCTMxRDkyQUFC
MjcwOEQyMDEwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8qIFdl
YlhSSm9pbnRQb3NlLmggKi87IH07CiAJCTMxREVBNDU2MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJT
eXN0ZW1CYWNrZHJvcExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAzMURFQTQ1NDFCMzlGNEQ5MDBGNzcxNzggLyogV2ViU3lzdGVtQmFja2Ryb3BM
YXllci5oICovOyB9OwogCQkzMUVBRjk3RTEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9u
Q2xpZW50SU9TLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAzMUVBRjk3QzEyMTQzNUE0MDBFN0MxQkYgLyogRGV2aWNlTW90aW9uQ2xpZW50SU9TLmggKi87
IH07CiAJCTMxRUI1NERGMUU3REM3NDQwMEMxNjIzQiAvKiBSVENSdHBUcmFuc2NlaXZlckRpcmVj
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzFF
QjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggKi87
IH07CkBAIC03Nzk5LDEwICs3ODAzLDI0IEBACiAJCTMxRDI2QkM0MUY4NkQyNjYwMDhGRjI1NSAv
KiBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTMxRDI2QkM1MUY4NkQyNjgwMDhGRjI1NSAvKiBKU0ltYWdlQml0bWFwT3B0aW9ucy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0ltYWdlQml0bWFwT3B0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMUQyNkJDNjFGODZEMjY5MDA4RkYyNTUg
LyogSlNJbWFnZUJpdG1hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBKU0ltYWdlQml0bWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJB
OUMyNzA3RDVEMDAwQUQwMUQwIC8qIFhSSGFuZEpvaW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhSSGFu
ZEpvaW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQTlFMjcwN0Q1RDEw
MEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gWFJIYW5kSm9pbnQuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAgLyogV2ViWFJI
YW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlhSSGFuZC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTMxRDkyQUExMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViWFJIYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTMxRDkyQUEyMjcwN0Q2OEQwMEFEMDFEMCAvKiBXZWJYUkhhbmQuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSGFu
ZC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE0MjcwN0U4M0EwMEFE
MDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFdlYlhSSm9pbnRTcGFjZS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE1MjcwN0U4QjMwMEFEMDFEMCAvKiBX
ZWJYUkpvaW50U3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE2MjcwN0U5NTEwMEFEMDFEMCAvKiBXZWJY
UkpvaW50U3BhY2UuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFNwYWNlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFEOTJBQTgyNzA4RDFGQjAwQUQwMUQwIC8q
IFdlYlhSSm9pbnRQb3NlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlhSSm9pbnRQb3NlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTMxRDkyQUE5MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJY
UkpvaW50UG9zZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViWFJKb2ludFBvc2UuaWRsOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2Uu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViWFJKb2ludFBvc2UuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkzMUQ5MkFENzI3MEI1NDc4MDBBRDAxRDAgLyogV2ViWFJJbnB1dFNv
dXJjZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUklucHV0U291cmNlK0hhbmRJbnB1dC5pZGwi
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkzMUQ5MkFEOTI3MEI1NDg1MDBBRDAxRDAg
LyogV2ViWFJGcmFtZStIYW5kSW5wdXQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9ICJXZWJYUkZyYW1lK0hhbmRJbnB1dC5p
ZGwiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzMURFQTQ1MzFCMzlGNEQ5MDBGNzcx
NzggLyogV2ViU3lzdGVtQmFja2Ryb3BMYXllci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdlYlN5c3RlbUJhY2tkcm9wTGF5ZXIubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTMxREVBNDU0MUIzOUY0RDkwMEY3NzE3OCAvKiBXZWJTeXN0ZW1CYWNr
ZHJvcExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlN5c3RlbUJh
Y2tkcm9wTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMzFFQUY5N0MxMjE0
MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNsaWVudElPUy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBEZXZpY2VNb3Rpb25DbGllbnRJT1MuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMzFFQUY5N0QxMjE0MzVBNDAwRTdDMUJGIC8qIERldmljZU1vdGlvbkNs
aWVudElPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERldmlj
ZU1vdGlvbkNsaWVudElPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMzFFQjMz
NDkyNzFDOTM3QjAwQ0JEQkFBIC8qIEpTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTV2ViWFJTZXNzaW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJMzFFQjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0cFRyYW5zY2VpdmVyRGly
ZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cFRyYW5zY2Vp
dmVyRGlyZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUMxRDUwMTRG
RUZEMDgwMEM5NDY2MiAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE5vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTMxRUMxREFDMTRGRjI2RUEwMEM5NDY2MiAvKiBO
b3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTm90aWZpY2F0
aW9uUGVybWlzc2lvbkNhbGxiYWNrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0y
Nzc3Niw2ICsyNzc5NCw3IEBACiAJCQkJNDZCQ0JCQkUyMDg1MDA1QjAwNzEwNjM4IC8qIEpTUmVt
b3RlRE9NV2luZG93Q3VzdG9tLmNwcCAqLywKIAkJCQk0MTczM0Q3RDI1REZCRkM1MDBBMTM2RTUg
LyogSlNSVENSdHBTRnJhbWVUcmFuc2Zvcm1DdXN0b20uY3BwICovLAogCQkJCTdBM0VCRUFBMjFC
RjA1NEMwMDBEMDQzRCAvKiBKU1NWR1ZpZXdTcGVjQ3VzdG9tLmNwcCAqLywKKwkJCQkzMUVCMzM0
OTI3MUM5MzdCMDBDQkRCQUEgLyogSlNXZWJYUlNlc3Npb25DdXN0b20uY3BwICovLAogCQkJKTsK
IAkJCW5hbWUgPSBDdXN0b207CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjkyNDAs
MTIgKzI5MjU5LDE3IEBACiAJCQkJRTFFRThBRDMyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSQm91
bmRlZFJlZmVyZW5jZVNwYWNlLmNwcCAqLywKIAkJCQlFMUVFOEFEMTI0MTJCMTcwMDBFNzk0RDYg
LyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCAqLywKIAkJCQlFMTk0OTA5NDI0MzRGMTYw
MDA0MTZBOTkgLyogV2ViWFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaWRsICovLAorCQkJCTMxRDky
QUQ5MjcwQjU0ODUwMEFEMDFEMCAvKiBXZWJYUkZyYW1lK0hhbmRJbnB1dC5pZGwgKi8sCiAJCQkJ
RTFFRThBRjAyNDEyQjE3MDAwRTc5NEQ2IC8qIFdlYlhSRnJhbWUuY3BwICovLAogCQkJCUUxRUU4
QUUzMjQxMkIxNzAwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmggKi8sCiAJCQkJRTE5NDkwODgyNDM0
RjE1OTAwNDE2QTk5IC8qIFdlYlhSRnJhbWUuaWRsICovLAogCQkJCTExRTUxNjNCMjYxRTFBMTQw
MEU2OUYyNSAvKiBXZWJYUkdhbWVwYWQuY3BwICovLAogCQkJCTExRTUxNjNBMjYxRTFBMTQwMEU2
OUYyNSAvKiBXZWJYUkdhbWVwYWQuaCAqLywKKwkJCQkzMUQ5MkFBMDI3MDdENjhEMDBBRDAxRDAg
LyogV2ViWFJIYW5kLmNwcCAqLywKKwkJCQkzMUQ5MkFBMTI3MDdENjhEMDBBRDAxRDAgLyogV2Vi
WFJIYW5kLmggKi8sCisJCQkJMzFEOTJBQTIyNzA3RDY4RDAwQUQwMUQwIC8qIFdlYlhSSGFuZC5p
ZGwgKi8sCiAJCQkJQkMwMjRBOUEyNzBBNzY1MTAwRkQ0QzNGIC8qIFdlYlhSSW5wdXRTb3VyY2Ur
R2FtZXBhZC5pZGwgKi8sCisJCQkJMzFEOTJBRDcyNzBCNTQ3ODAwQUQwMUQwIC8qIFdlYlhSSW5w
dXRTb3VyY2UrSGFuZElucHV0LmlkbCAqLywKIAkJCQlFMUVFOEIwRDI0MTJCMTcwMDBFNzk0RDYg
LyogV2ViWFJJbnB1dFNvdXJjZS5jcHAgKi8sCiAJCQkJRTFFRThCMTcyNDEyQjE3MDAwRTc5NEQ2
IC8qIFdlYlhSSW5wdXRTb3VyY2UuaCAqLywKIAkJCQlFMTk0OTA4OTI0MzRGMTVBMDA0MTZBOTkg
LyogV2ViWFJJbnB1dFNvdXJjZS5pZGwgKi8sCkBAIC0yOTI1NCw2ICsyOTI3OCwxMiBAQAogCQkJ
CUUxOTQ5MDkzMjQzNEYxNjAwMDQxNkE5OSAvKiBXZWJYUklucHV0U291cmNlQXJyYXkuaWRsICov
LAogCQkJCTExRTUxNjM3MjYxRTFBMDUwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuY3BwICov
LAogCQkJCTExRTUxNjM1MjYxRTFBMDUwMEU2OUYyNSAvKiBXZWJYUklucHV0U3BhY2UuaCAqLywK
KwkJCQkzMUQ5MkFBQTI3MDhEMUZCMDBBRDAxRDAgLyogV2ViWFJKb2ludFBvc2UuY3BwICovLAor
CQkJCTMxRDkyQUE4MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5oICovLAorCQkJ
CTMxRDkyQUE5MjcwOEQxRkIwMEFEMDFEMCAvKiBXZWJYUkpvaW50UG9zZS5pZGwgKi8sCisJCQkJ
MzFEOTJBQTYyNzA3RTk1MTAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5jcHAgKi8sCisJCQkJ
MzFEOTJBQTUyNzA3RThCMzAwQUQwMUQwIC8qIFdlYlhSSm9pbnRTcGFjZS5oICovLAorCQkJCTMx
RDkyQUE0MjcwN0U4M0EwMEFEMDFEMCAvKiBXZWJYUkpvaW50U3BhY2UuaWRsICovLAogCQkJCUUx
MkZEQUZCMjRBMEZEMUMwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmNwcCAqLywKIAkJCQlFMTJGREFG
RDI0QTBGRDFFMDA3MDIzNkUgLyogV2ViWFJMYXllci5oICovLAogCQkJCUUxMkZEQUZFMjRBMEZE
MUYwMDcwMjM2RSAvKiBXZWJYUkxheWVyLmlkbCAqLywKQEAgLTI5MzAxLDYgKzI5MzMxLDggQEAK
IAkJCQlFMUVFOEFGQjI0MTJCMTcwMDBFNzk0RDYgLyogWFJGcmFtZVJlcXVlc3RDYWxsYmFjay5p
ZGwgKi8sCiAJCQkJRTFFRThBRUUyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSGFuZGVkbmVzcy5oICov
LAogCQkJCUUxRUU4QjA3MjQxMkIxNzAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaWRsICovLAor
CQkJCTMxRDkyQTlDMjcwN0Q1RDAwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oICovLAorCQkJCTMx
RDkyQTlFMjcwN0Q1RDEwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5pZGwgKi8sCiAJCQkJRTFFRThB
Q0MyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5jcHAgKi8sCiAJCQkJRTFF
RThCMDkyNDEyQjE3MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVudC5oICovLAogCQkJCUUx
RUU4QjAwMjQxMkIxNzAwMEU3OTRENiAvKiBYUklucHV0U291cmNlRXZlbnQuaWRsICovLApAQCAt
MzYyMjYsOSArMzYyNTgsMTIgQEAKIAkJCQlFMUVFOEI3RTI0MTMxOTFGMDBFNzk0RDYgLyogV2Vi
WFJCb3VuZGVkUmVmZXJlbmNlU3BhY2UuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUU4QjhBMjQx
MzE5MUYwMEU3OTRENiAvKiBXZWJYUkZyYW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxMUU1MTYz
QzI2MUUxQTE1MDBFNjlGMjUgLyogV2ViWFJHYW1lcGFkLmggaW4gSGVhZGVycyAqLywKKwkJCQkz
MUQ5MkFBMzI3MDdENjk2MDBBRDAxRDAgLyogV2ViWFJIYW5kLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFMUVFOEJBODI0MTMxOTYzMDBFNzk0RDYgLyogV2ViWFJJbnB1dFNvdXJjZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCODYyNDEzMTkxRjAwRTc5NEQ2IC8qIFdlYlhSSW5wdXRTb3VyY2VB
cnJheS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMTFFNTE2MzgyNjFFMUEwNjAwRTY5RjI1IC8qIFdl
YlhSSW5wdXRTcGFjZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJMzFEOTJBQUIyNzA4RDIwMTAwQUQw
MUQwIC8qIFdlYlhSSm9pbnRQb3NlLmggaW4gSGVhZGVycyAqLywKKwkJCQkzMUQ5MkFBNzI3MDdF
OTU5MDBBRDAxRDAgLyogV2ViWFJKb2ludFNwYWNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTJG
REIwMDI0QTBGRDIwMDA3MDIzNkUgLyogV2ViWFJMYXllci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzE0RjE2OUYyNjQwQkM0MTAwNjYzRUNFIC8qIFdlYlhST3BhcXVlRnJhbWVidWZmZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUUxRUU4Qjg4MjQxMzE5MUYwMEU3OTRENiAvKiBXZWJYUlBvc2UuaCBp
biBIZWFkZXJzICovLApAQCAtMzYzNDksNiArMzYzODQsNyBAQAogCQkJCUUxRUU4Qjk3MjQxMzE5
NTAwMEU3OTRENiAvKiBYUkV5ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOEYyNDEzMTk1
MDAwRTc5NEQ2IC8qIFhSRnJhbWVSZXF1ZXN0Q2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAogCQkJ
CUUxRUU4QjkyMjQxMzE5NTAwMEU3OTRENiAvKiBYUkhhbmRlZG5lc3MuaCBpbiBIZWFkZXJzICov
LAorCQkJCTMxRDkyQTlGMjcwN0Q1REUwMEFEMDFEMCAvKiBYUkhhbmRKb2ludC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTFFRThCOUYyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSW5wdXRTb3VyY2VFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFFRThCOTkyNDEzMTk1MDAwRTc5NEQ2IC8qIFhSSW5w
dXRTb3VyY2VzQ2hhbmdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxMkE5RjRBMjQ4QTk5
RTIwMDNGMDZDOCAvKiBYUkludGVyYWN0aW9uTW9kZS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU1dlYlhSU2Vzc2lvbkN1c3RvbS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNDE3MmI3ODlhZDhhM2E1N2RjNzgzYWViNTA2Njg1ODM1NzZmOGY3MAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTV2ViWFJTZXNzaW9uQ3Vz
dG9tLmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTV2ViWFJTZXNz
aW9uLmgiCisKKyNpZiBFTkFCTEUoV0VCWFIpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordGVt
cGxhdGU8dHlwZW5hbWUgVmlzaXRvcj4KK3ZvaWQgSlNXZWJYUlNlc3Npb246OnZpc2l0QWRkaXRp
b25hbENoaWxkcmVuKFZpc2l0b3ImIHZpc2l0b3IpCit7CisgICAgdmlzaXRvci5hZGRPcGFxdWVS
b290KCZ3cmFwcGVkKCkpOworfQorCitERUZJTkVfVklTSVRfQURESVRJT05BTF9DSElMRFJFTihK
U1dlYlhSU2Vzc2lvbik7CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXgg
NWQ1YjI5OWMxNjE2NTk0NTc4M2NkYjc3MTE4M2JlN2E4MDZiOWFkZC4uZTBhNjIxNzM5OTExMDQz
MWJjMDA1YzMzNjVhZDEyYmZkODQ4NDFlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMzEwLDEwICszMTAsMTMgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgIG1hY3JvKFhNTEh0dHBSZXF1ZXN0KSBcCiAgICAgbWFjcm8oWFJC
b3VuZGVkUmVmZXJlbmNlU3BhY2UpIFwKICAgICBtYWNybyhYUkZyYW1lKSBcCisgICAgbWFjcm8o
WFJIYW5kKSBcCiAgICAgbWFjcm8oWFJJbnB1dFNvdXJjZSkgXAogICAgIG1hY3JvKFhSSW5wdXRT
b3VyY2VBcnJheSkgXAogICAgIG1hY3JvKFhSSW5wdXRTb3VyY2VFdmVudCkgXAogICAgIG1hY3Jv
KFhSSW5wdXRTb3VyY2VzQ2hhbmdlRXZlbnQpIFwKKyAgICBtYWNybyhYUkpvaW50UG9zZSkgXAor
ICAgIG1hY3JvKFhSSm9pbnRTcGFjZSkgXAogICAgIG1hY3JvKFhSTGF5ZXIpIFwKICAgICBtYWNy
byhYUlBvc2UpIFwKICAgICBtYWNybyhYUlJlZmVyZW5jZVNwYWNlKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS94ci9QbGF0Zm9ybVhSLmgKaW5kZXggNjA2MDAzNTdiNTUwNGI0NTEyMjgxMGE1ODVj
MGRhZTM3NTcwYzA5OS4uMjkzNTNkYzU1MjU1YTBhYTkyOWYxMTMxOWNkY2I2NGQ1NzU3YWY2ZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0veHIvUGxhdGZvcm1YUi5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3hyL1BsYXRmb3JtWFIuaApAQCAtNzgsNiArNzgsMzgg
QEAgZW51bSBjbGFzcyBYUlRhcmdldFJheU1vZGUgewogICAgIFNjcmVlbiwKIH07CiAKKyNpZiBF
TkFCTEUoV0VCWFJfSEFORFMpCisKK2VudW0gY2xhc3MgSGFuZEpvaW50IDogdW5zaWduZWQgewor
ICAgIFdyaXN0LAorICAgIFRodW1iTWV0YWNhcnBhbCwKKyAgICBUaHVtYlBoYWxhbnhQcm94aW1h
bCwKKyAgICBUaHVtYlBoYWxhbnhEaXN0YWwsCisgICAgVGh1bWJUaXAsCisgICAgSW5kZXhGaW5n
ZXJNZXRhY2FycGFsLAorICAgIEluZGV4RmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIEluZGV4
RmluZ2VyUGhhbGFueEludGVybWVkaWF0ZSwKKyAgICBJbmRleEZpbmdlclBoYWxhbnhEaXN0YWws
CisgICAgSW5kZXhGaW5nZXJUaXAsCisgICAgTWlkZGxlRmluZ2VyTWV0YWNhcnBhbCwKKyAgICBN
aWRkbGVGaW5nZXJQaGFsYW54UHJveGltYWwsCisgICAgTWlkZGxlRmluZ2VyUGhhbGFueEludGVy
bWVkaWF0ZSwKKyAgICBNaWRkbGVGaW5nZXJQaGFsYW54RGlzdGFsLAorICAgIE1pZGRsZUZpbmdl
clRpcCwKKyAgICBSaW5nRmluZ2VyTWV0YWNhcnBhbCwKKyAgICBSaW5nRmluZ2VyUGhhbGFueFBy
b3hpbWFsLAorICAgIFJpbmdGaW5nZXJQaGFsYW54SW50ZXJtZWRpYXRlLAorICAgIFJpbmdGaW5n
ZXJQaGFsYW54RGlzdGFsLAorICAgIFJpbmdGaW5nZXJUaXAsCisgICAgUGlua3lGaW5nZXJNZXRh
Y2FycGFsLAorICAgIFBpbmt5RmluZ2VyUGhhbGFueFByb3hpbWFsLAorICAgIFBpbmt5RmluZ2Vy
UGhhbGFueEludGVybWVkaWF0ZSwKKyAgICBQaW5reUZpbmdlclBoYWxhbnhEaXN0YWwsCisgICAg
UGlua3lGaW5nZXJUaXAKK307CisKKyNlbmRpZgorCiBjbGFzcyBUcmFja2luZ0FuZFJlbmRlcmlu
Z0NsaWVudDsKIAogY2xhc3MgRGV2aWNlIDogcHVibGljIFRocmVhZFNhZmVSZWZDb3VudGVkPERl
dmljZT4sIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxEZXZpY2U+IHsKQEAgLTIwOCw2ICsyNDAsMTAg
QEAgcHVibGljOgogICAgICAgICAgICAgc3RkOjpvcHRpb25hbDxJbnB1dFNvdXJjZVBvc2U+IGdy
aXBPcmlnaW47CiAgICAgICAgICAgICBWZWN0b3I8SW5wdXRTb3VyY2VCdXR0b24+IGJ1dHRvbnM7
CiAgICAgICAgICAgICBWZWN0b3I8ZmxvYXQ+IGF4ZXM7CisjaWYgRU5BQkxFKFdFQlhSX0hBTkRT
KQorICAgICAgICAgICAgLy8gRklYTUU6IEFjdHVhbGx5IGhvbGQgc29tZSBoYW5kIGRhdGEuCisg
ICAgICAgICAgICBib29sIHNpbXVsYXRlSGFuZCB7IGZhbHNlIH07CisjZW5kaWYKIAogICAgICAg
ICAgICAgdGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0
OwogICAgICAgICAgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9u
YWw8SW5wdXRTb3VyY2U+IGRlY29kZShEZWNvZGVyJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaAppbmRleCBlYzQyYTRiMzEwMDE4MmIzMGUzNDMx
ZWYwYTQ4ZDllMTYyODk4NDBhLi4xNjA3NjJkN2Q0NzdhYmY2NGQwNTI0NjRmZWI5ZGQyMDU1MDlk
YWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0Zha2VYUklucHV0U291cmNl
SW5pdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0
LmgKQEAgLTQ1LDYgKzQ1LDkgQEAgc3RydWN0IEZha2VYUklucHV0U291cmNlSW5pdCB7CiAgICAg
Ym9vbCBzZWxlY3Rpb25DbGlja2VkIHsgZmFsc2UgfTsKICAgICBWZWN0b3I8RmFrZVhSQnV0dG9u
U3RhdGVJbml0PiBzdXBwb3J0ZWRCdXR0b25zOwogICAgIEZha2VYUlJpZ2lkVHJhbnNmb3JtSW5p
dCBncmlwT3JpZ2luOworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBib29sIHNpbXVsYXRl
SGFuZCB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvRmFrZVhSSW5wdXRTb3VyY2VJbml0LmlkbAppbmRl
eCBlOTA5NGI2N2M5ZjdjM2QwNzZmYWY3OTU5ZmY0OGMyYzllZjg4NGY5Li5lMjY5YWRhYzI1MWNk
MjI1NGJhNWQxOGI0ZjlmZDdmNTE3MTkxZjUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0Zha2VYUklucHV0U291cmNlSW5pdC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9GYWtlWFJJbnB1dFNvdXJjZUluaXQuaWRsCkBAIC00MSw0ICs0MSw3IEBACiAgICAgc2Vx
dWVuY2U8RmFrZVhSQnV0dG9uU3RhdGVJbml0PiBzdXBwb3J0ZWRCdXR0b25zOwogICAgIC8vIElm
IG5vdCBzZXQgdGhlIGNvbnRyb2xsZXIgaXMgYXNzdW1lZCB0byBub3QgYmUgdHJhY2tlZC4KICAg
ICBGYWtlWFJSaWdpZFRyYW5zZm9ybUluaXQgZ3JpcE9yaWdpbjsKKyAgICAvLyBPcHRpb25hbCBo
YW5kIGlucHV0LiBGb3Igbm93IHdlIGRvbid0IGNhcmUgYWJvdXQgdGhlIGFjdHVhbAorICAgIC8v
IGRhdGEuIFdlJ3JlIGp1c3QgY3JlYXRpbmcgdGhlIG9iamVjdCBmb3IgdGVzdGluZy4KKyAgICBb
Q29uZGl0aW9uYWw9V0VCWFJfSEFORFNdIGJvb2xlYW4gc2ltdWxhdGVIYW5kID0gZmFsc2U7CiB9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRy
b2xsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1dENvbnRyb2xs
ZXIuY3BwCmluZGV4IGZlMTNlMDNhNjVkMTcyZDBkNmQyMjRmZDFlYTdiYzZmNGRhYTE2MjEuLjUy
MjRkMjhlMDcyNjNkODhjM2JkYWM1ZGJkOGJhZGY1MDA0OWQ5ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5jcHAKQEAgLTUxLDYg
KzUxLDkgQEAgV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyOjpXZWJGYWtlWFJJbnB1dENvbnRyb2xs
ZXIoUGxhdGZvcm1YUjo6SW5wdXRTb3VyY2VIYW5kbGUKICAgICAsIG1fcHJvZmlsZXMoaW5pdC5w
cm9maWxlcykKICAgICAsIG1fcHJpbWFyeVNlbGVjdGVkKGluaXQuc2VsZWN0aW9uU3RhcnRlZCkK
ICAgICAsIG1fc2ltdWxhdGVTZWxlY3QoaW5pdC5zZWxlY3Rpb25DbGlja2VkKQorI2lmIEVOQUJM
RShXRUJYUl9IQU5EUykKKyAgICAsIG1fc2ltdWxhdGVIYW5kKGluaXQuc2ltdWxhdGVIYW5kKQor
I2VuZGlmCiB7CiAgICAgc2V0UG9pbnRlck9yaWdpbihpbml0LnBvaW50ZXJPcmlnaW4sIGZhbHNl
KTsKICAgICBzZXRHcmlwT3JpZ2luKGluaXQuZ3JpcE9yaWdpbiwgZmFsc2UpOwpAQCAtMTA2LDYg
KzEwOSw5IEBAIElucHV0U291cmNlIFdlYkZha2VYUklucHV0Q29udHJvbGxlcjo6Z2V0RnJhbWVE
YXRhKCkKICAgICBzdGF0ZS5wcm9maWxlcyA9IG1fcHJvZmlsZXM7CiAgICAgc3RhdGUucG9pbnRl
ck9yaWdpbiA9IG1fcG9pbnRlck9yaWdpbjsKICAgICBzdGF0ZS5ncmlwT3JpZ2luID0gbV9ncmlw
T3JpZ2luOworI2lmIEVOQUJMRShXRUJYUl9IQU5EUykKKyAgICBzdGF0ZS5zaW11bGF0ZUhhbmQg
PSBtX3NpbXVsYXRlSGFuZDsKKyNlbmRpZgogCiAgICAgaWYgKG1fc2ltdWxhdGVTZWxlY3QpCiAg
ICAgICAgIG1fcHJpbWFyeVNlbGVjdGVkID0gdHJ1ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5wdXRDb250cm9sbGVyLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL1dlYkZha2VYUklucHV0Q29udHJvbGxlci5oCmluZGV4IGU1OWRjMDIxZGNlYTM5N2Mz
MWM2MzQ1YTVmODYyMzNlMTM5ZDNhMmUuLmNiNGQxMzY3ZTFmMTkzNDQ4Njc0NWRiMDc0MTQ1ZTU0
YmMzMWRkNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvV2ViRmFrZVhSSW5w
dXRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9XZWJGYWtlWFJJbnB1
dENvbnRyb2xsZXIuaApAQCAtNzksNiArNzksOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9jb25u
ZWN0ZWQgeyB0cnVlIH07CiAgICAgYm9vbCBtX3ByaW1hcnlTZWxlY3RlZCB7IGZhbHNlIH07CiAg
ICAgYm9vbCBtX3NpbXVsYXRlU2VsZWN0IHsgZmFsc2UgfTsKKyNpZiBFTkFCTEUoV0VCWFJfSEFO
RFMpCisgICAgYm9vbCBtX3NpbXVsYXRlSGFuZCB7IGZhbHNlIH07CisjZW5kaWYKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1OWE5OGE2OTA2YzVjMDVjZDA3MGE5YzljMzlk
OGI3Y2U1YTM3YzhiLi42OGVkN2UxYjEzN2JiZmY2OTRhZTE3OTQ2MmU5YzI1YTQ2ZWI3YTQ2IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMTAtMTcgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBw
bGUuY29tPgorCisgICAgICAgIFtXZWJYUl0gU3R1YnMgZm9yIFdlYlhSIEhhbmQgSW5wdXQgTW9k
dWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzEx
MjMKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzgzODAyMTM1PgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5ldyB0ZXN0IHRoYXQgY2hlY2tzIGFuIFhS
SGFuZCBvYmplY3QgY2FuIHN1cnZpdmUgZ2FyYmFnZSBjb2xsZWN0aW9uLgorCisgICAgICAgICog
aHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBodHRwL3dwdC93ZWJ4ci94ckhhbmRJbnB1dF9nYy5odG1sOiBBZGRlZC4KKwogMjAyMS0x
MC0xNyAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBS
RUdSRVNTSU9OIChyMjcwODUwKTogUmVmZXJlbmNlIGNsaXAgcGF0aCBjbGlwcyBpbiB0aGUgd3Jv
bmcgcGxhY2Ugd2hlbiBpbnNpZGUgbm9uLXZpc2libGUgb3ZlcmZsb3cKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2h0dHAvd3B0L3dlYnhyL3hySGFuZElucHV0X2djLWV4cGVjdGVkLnR4dApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5hYWI0NWExODUwNzY2ZDhkYWE0N2JhMWQ0YTUzYTdmZGMyMTg2YWY3Ci0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaHR0cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MtZXhw
ZWN0ZWQudHh0CkBAIC0wLDAgKzEsNCBAQAorCitQQVNTIFRlc3Qgb2JqZWN0IGxpZmV0aW1lIG9m
IEhhbmQgSW5wdXQgbW9kdWxlIC0gd2ViZ2wKK1BBU1MgVGVzdCBvYmplY3QgbGlmZXRpbWUgb2Yg
SGFuZCBJbnB1dCBtb2R1bGUgLSB3ZWJnbDIKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaHR0
cC93cHQvd2VieHIveHJIYW5kSW5wdXRfZ2MuaHRtbCBiL0xheW91dFRlc3RzL2h0dHAvd3B0L3dl
YnhyL3hySGFuZElucHV0X2djLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzcyODJmNmY0MTY2Mzg4NTM4MjE5
YzE0NDY1NmYwYzA5YjZlZGYwZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2h0dHAv
d3B0L3dlYnhyL3hySGFuZElucHV0X2djLmh0bWwKQEAgLTAsMCArMSw2NyBAQAorPCFET0NUWVBF
IGh0bWw+Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzcy5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iL3Jlc291cmNlcy90ZXN0aGFybmVzc3JlcG9ydC5qcyI+PC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3dlYnhyX3V0aWwuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy93ZWJ4cl90ZXN0X2NvbnN0YW50c19zaW5nbGVfdmlldy5qcyI+PC9z
Y3JpcHQ+CisKKzxzY3JpcHQ+CitmdW5jdGlvbiBnYygpCit7CisgICAgaWYgKHdpbmRvdy5HQ0Nv
bnRyb2xsZXIpCisgICAgICAgIHJldHVybiBHQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworCisgICAg
Zm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgaSsrKSB7IC8vID4gZm9yY2UgZ2FyYmFnZSBjb2xs
ZWN0aW9uIChGRiByZXF1aXJlcyBhYm91dCA5SyBhbGxvY2F0aW9ucyBiZWZvcmUgYSBjb2xsZWN0
KQorICAgICAgICB2YXIgcyA9IG5ldyBTdHJpbmcoImFiYyIpOworICAgIH0KK30KKworbGV0IHRl
c3ROYW1lID0gIlRlc3Qgb2JqZWN0IGxpZmV0aW1lIG9mIEhhbmQgSW5wdXQgbW9kdWxlIjsKKwor
bGV0IGZha2VEZXZpY2VJbml0UGFyYW1zID0gVFJBQ0tFRF9JTU1FUlNJVkVfU0lOR0xFX1ZJRVdE
RVZJQ0U7CisKK2xldCB0ZXN0RnVuY3Rpb24gPSBmdW5jdGlvbihzZXNzaW9uLCBmYWtlRGV2aWNl
Q29udHJvbGxlciwgdCwgc2Vzc2lvbk9iamVjdHMpIHsKKworICBsZXQgaW5wdXRfc291cmNlID0g
ZmFrZURldmljZUNvbnRyb2xsZXIuc2ltdWxhdGVJbnB1dFNvdXJjZUNvbm5lY3Rpb24oeworICAg
IGhhbmRlZG5lc3M6ICJub25lIiwKKyAgICB0YXJnZXRSYXlNb2RlOiAidHJhY2tlZC1wb2ludGVy
IiwKKyAgICBwb2ludGVyT3JpZ2luOiBWQUxJRF9QT0lOVEVSX1RSQU5TRk9STSwKKyAgICBwcm9m
aWxlczogW10sCisgICAgc2ltdWxhdGVIYW5kOiB0cnVlLAorICB9KTsKKworICByZXR1cm4gc2Vz
c2lvbi5yZXF1ZXN0UmVmZXJlbmNlU3BhY2UoJ2xvY2FsJykKKyAgICAudGhlbigocmVmZXJlbmNl
U3BhY2UpID0+IG5ldyBQcm9taXNlKChyZXNvbHZlKSA9PiB7CisKKyAgICAgIGZ1bmN0aW9uIG9u
RnJhbWUodGltZSwgeHJGcmFtZSkgeworICAgICAgICBpZiAoc2Vzc2lvbi5pbnB1dFNvdXJjZXMg
JiYgc2Vzc2lvbi5pbnB1dFNvdXJjZXMubGVuZ3RoKSB7CisKKyAgICAgICAgICBzZXNzaW9uLmN1
c3RvbVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uY3VzdG9t
UHJvcGVydHksIDEsICJzZXNzaW9uIik7CisgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICBhc3Nl
cnRfZXF1YWxzKHNlc3Npb24uY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9uIik7CisKKyAgICAg
ICAgICBzZXNzaW9uLmlucHV0U291cmNlcy5jdXN0b21Qcm9wZXJ0eSA9IDE7CisgICAgICAgICAg
YXNzZXJ0X2VxdWFscyhzZXNzaW9uLmlucHV0U291cmNlcy5jdXN0b21Qcm9wZXJ0eSwgMSwgInNl
c3Npb24uaW5wdXRTb3VyY2VzIik7CisgICAgICAgICAgZ2MoKTsKKyAgICAgICAgICBhc3NlcnRf
ZXF1YWxzKHNlc3Npb24uaW5wdXRTb3VyY2VzLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5p
bnB1dFNvdXJjZXMiKTsKKworICAgICAgICAgIHNlc3Npb24uaW5wdXRTb3VyY2VzWzBdLmN1c3Rv
bVByb3BlcnR5ID0gMTsKKyAgICAgICAgICBhc3NlcnRfZXF1YWxzKHNlc3Npb24uaW5wdXRTb3Vy
Y2VzWzBdLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0iKTsKKyAg
ICAgICAgICBnYygpOworICAgICAgICAgIGFzc2VydF9lcXVhbHMoc2Vzc2lvbi5pbnB1dFNvdXJj
ZXNbMF0uY3VzdG9tUHJvcGVydHksIDEsICJzZXNzaW9uLmlucHV0U291cmNlc1swXSIpOworCisg
ICAgICAgICAgc2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0uaGFuZC5jdXN0b21Qcm9wZXJ0eSA9IDE7
CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9uLmlucHV0U291cmNlc1swXS5oYW5kLmN1
c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0uaGFuZCIpOworICAgICAg
ICAgIGdjKCk7CisgICAgICAgICAgYXNzZXJ0X2VxdWFscyhzZXNzaW9uLmlucHV0U291cmNlc1sw
XS5oYW5kLmN1c3RvbVByb3BlcnR5LCAxLCAic2Vzc2lvbi5pbnB1dFNvdXJjZXNbMF0uaGFuZCIp
OworICAgICAgICB9CisgICAgICAgIHJlc29sdmUoKTsKKyAgICAgIH0KKyAgICAgIHNlc3Npb24u
cmVxdWVzdEFuaW1hdGlvbkZyYW1lKG9uRnJhbWUpOworICB9KSk7Cit9OworCit4cl9zZXNzaW9u
X3Byb21pc2VfdGVzdCgKKyAgdGVzdE5hbWUsIHRlc3RGdW5jdGlvbiwgZmFrZURldmljZUluaXRQ
YXJhbXMsICdpbW1lcnNpdmUtdnInLCB7IG9wdGlvbmFsRmVhdHVyZXM6IFsiaGFuZC10cmFja2lu
ZyJdIH0pOworCis8L3NjcmlwdD4K
</data>
<flag name="review"
          id="465852"
          type_id="1"
          status="+"
          setter="sam"
    />
    <flag name="commit-queue"
          id="465859"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>