<?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>233265</bug_id>
          
          <creation_ts>2021-11-17 11:25:45 -0800</creation_ts>
          <short_desc>[Model] add support for getting and setting the camera</short_desc>
          <delta_ts>2021-11-18 12:58:13 -0800</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>
          
          <blocked>233319</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antoine Quint">graouts</reporter>
          <assigned_to name="Antoine Quint">graouts</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>cdumez</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>darin</cc>
    
    <cc>dino</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>japhet</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wenson_hsieh</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1816027</commentid>
    <comment_count>0</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-17 11:25:45 -0800</bug_when>
    <thetext>[Model] add support for getting and setting the camera</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816035</commentid>
    <comment_count>1</comment_count>
      <attachid>444544</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-17 11:41:26 -0800</bug_when>
    <thetext>Created attachment 444544
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816036</commentid>
    <comment_count>2</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-17 11:42:21 -0800</bug_when>
    <thetext>&lt;rdar://problem/85426290&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816181</commentid>
    <comment_count>3</comment_count>
      <attachid>444544</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2021-11-17 16:14:24 -0800</bug_when>
    <thetext>Comment on attachment 444544
Patch

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

&gt; Source/WebCore/Modules/model-element/HTMLModelElement.cpp:304
&gt; +    m_modelPlayer-&gt;getCamera([protectedThis = Ref { *this }, promise = WTFMove(promise)] (std::optional&lt;HTMLModelElementCamera&gt; camera) mutable {

I don’t fully understand why protectedThis is helpful. Why is extending the lifetime of the HTMLModelElement valuable, given we do nothing with that element pointer?

&gt; Source/WebCore/Modules/model-element/HTMLModelElement.cpp:319
&gt; +    m_modelPlayer-&gt;setCamera(camera, [protectedThis = Ref { *this }, promise = WTFMove(promise)] (bool success) mutable {

Ditto.

&gt; Source/WebCore/Modules/model-element/HTMLModelElementCamera.h:67
&gt; +    return { {
&gt; +        WTFMove(*pitch),
&gt; +        WTFMove(*yaw),
&gt; +        WTFMove(*scale),
&gt; +    } };

Moving a double isn’t valuable.

    return { { *pitch, *yaw, *scale } };

&gt; Source/WebCore/Modules/model-element/HTMLModelElementCamera.idl:33
&gt; +    double yaw;
&gt; +    double pitch;
&gt; +    double scale;

This says &quot;yaw, pitch, scale&quot;, but the C++ says &quot;pitch, yaw, scale&quot;. Does the order matter? Could we be consistent?

&gt; Source/WebKit/Shared/ModelIdentifier.h:69
&gt; +    return { { WTFMove(*layerIdentifier) } };

No need to move a layer ID:

    return { { *layerIdentifier } };

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:58
&gt; +WKModelView* ModelElementController::modelViewForModelIdentifier(ModelIdentifier modelIdentifier)

WKModelView * with a space before the *?

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:61
&gt; +        return nullptr;

nil is preferred over nullptr for Objective-C object pointers, I think

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:64
&gt; +        return nullptr;

Ditto.

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:68
&gt; +        return nullptr;

Ditto.

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:77
&gt;      auto *view = node-&gt;uiView();
&gt;      if (!view)
&gt; -        return;
&gt; +        return nullptr;
&gt;  
&gt; -    if (![view isKindOfClass:[WKModelView class]])
&gt; -        return;
&gt; +    if ([view isKindOfClass:[WKModelView class]])
&gt; +        return (WKModelView *)view;
&gt; +
&gt; +    return nullptr;

WebKit has a function template for this that collapses these 8 lines into one:

    return dynamic_objc_cast&lt;WKModelView&gt;(node-&gt;uiView());

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:84
&gt; +    if (auto *modelView = modelViewForModelIdentifier(modelIdentifier))
&gt; +        return [modelView preview];
&gt; +    return nullptr;

Objective-C has the nil handling that simplifies this. Can write one of these instead:

    return modelViewForModelIdentifier(modelIdentifier).preview;

    return [modelViewForModelIdentifier(modelIdentifier) preview];

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:93
&gt; +    auto *modelView = modelViewForModelIdentifier(modelIdentifier);

I suggest auto here. I don’t think &quot;auto *&quot; is helpful. Or you could use &quot;auto*&quot; or &quot;WKModelView *&quot;.

&gt; Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:152
&gt; +    if (auto preview = m_inlinePreviews.get(modelIdentifier.uuid))
&gt; +        return preview.get();
&gt; +
&gt; +    return nullptr;

No need for an if here:

    return m_inlinePreviews.get(modelIdentifier.uuid).get();

But this makes me realize we have an unsafe-looking thing here. Normally it would not be safe to call get() on a smart pointer and then just return the raw pointer. The &quot;.get()&quot; here looks unsafe.

What makes it safe is the whole &quot;peek&quot; situation where the map itself holds a RetainPtr, but it seems we didn’t implement PeekType for RetainPtr the way we did for RefPtr. If we had, then HashMap::get would return a raw pointer and we would not need &quot;get()&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816335</commentid>
    <comment_count>4</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 00:17:59 -0800</bug_when>
    <thetext>Thanks for all the feedback Darin, this taught me a few Obj-C trick. I&apos;ll integrate all of this in the patch for landing. There&apos;s one question I can answer:

(In reply to Darin Adler from comment #3)
&gt; Comment on attachment 444544 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=444544&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/Modules/model-element/HTMLModelElementCamera.idl:33
&gt; &gt; +    double yaw;
&gt; &gt; +    double pitch;
&gt; &gt; +    double scale;
&gt; 
&gt; This says &quot;yaw, pitch, scale&quot;, but the C++ says &quot;pitch, yaw, scale&quot;. Does
&gt; the order matter? Could we be consistent?

The order doesn&apos;t matter because there is no constructor for an IDL dictionary per-se, instead in JS the author will have to write something like { yaw: 1, pitch: 1, scale: 1 }. But consistency doesn&apos;t hurt so I moved the members around to match HTMLModelElementCamera.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816339</commentid>
    <comment_count>5</comment_count>
      <attachid>444646</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 00:57:30 -0800</bug_when>
    <thetext>Created attachment 444646
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816344</commentid>
    <comment_count>6</comment_count>
      <attachid>444648</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 01:21:18 -0800</bug_when>
    <thetext>Created attachment 444648
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816360</commentid>
    <comment_count>7</comment_count>
      <attachid>444651</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 02:21:38 -0800</bug_when>
    <thetext>Created attachment 444651
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816362</commentid>
    <comment_count>8</comment_count>
      <attachid>444653</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 02:23:28 -0800</bug_when>
    <thetext>Created attachment 444653
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816384</commentid>
    <comment_count>9</comment_count>
      <attachid>444659</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 04:25:21 -0800</bug_when>
    <thetext>Created attachment 444659
Patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816475</commentid>
    <comment_count>10</comment_count>
      <attachid>444687</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 09:05:20 -0800</bug_when>
    <thetext>Created attachment 444687
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816480</commentid>
    <comment_count>11</comment_count>
      <attachid>444691</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 09:13:51 -0800</bug_when>
    <thetext>Created attachment 444691
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816506</commentid>
    <comment_count>12</comment_count>
      <attachid>444698</attachid>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 10:38:51 -0800</bug_when>
    <thetext>Created attachment 444698
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816528</commentid>
    <comment_count>13</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 11:38:15 -0800</bug_when>
    <thetext>Committed r286019 (244408@main): &lt;https://commits.webkit.org/244408@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816559</commentid>
    <comment_count>14</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-11-18 12:25:00 -0800</bug_when>
    <thetext>This seems to have broken the build for me:
```
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/UnifiedSource34-mm.mm:4:
/Volumes/Data/WebKit/OpenSource/Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:256:14: error: instance method &apos;-getCameraTransform:&apos; not found (return type defaults to &apos;id&apos;) [-Werror,-Wobjc-method-access]
    [preview getCameraTransform:makeBlockPtr([weakThis = WeakPtr { *this }, completionHandler = WTFMove(completionHandler)] (simd_float3 cameraTransform, NSError *error) mutable {
             ^~~~~~~~~~~~~~~~~~
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/UnifiedSource34-mm.mm:4:
In file included from /Volumes/Data/WebKit/OpenSource/Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:51:
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/pal/spi/mac/SystemPreviewSPI.h:29:
/Volumes/Xcode13A6201j_m20A2411_m21C29_i19C35_FastSim_Boost_Encrypted_54GB/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.Internal.sdk/System/Library/PrivateFrameworks/AssetViewer.framework/PrivateHeaders/ASVInlinePreview.h:39:12: note: receiver is instance of class declared here
@interface ASVInlinePreview : NSObject
           ^
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/UnifiedSource34-mm.mm:4:
/Volumes/Data/WebKit/OpenSource/Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:283:14: error: instance method &apos;-setCameraTransform:&apos; not found (return type defaults to &apos;id&apos;) [-Werror,-Wobjc-method-access]
    [preview setCameraTransform:simd_make_float3(camera.pitch, camera.yaw, camera.scale)];
             ^~~~~~~~~~~~~~~~~~
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/DerivedSources/WebKit2/unified-sources/UnifiedSource34-mm.mm:4:
In file included from /Volumes/Data/WebKit/OpenSource/Source/WebKit/UIProcess/Cocoa/ModelElementControllerCocoa.mm:51:
In file included from /Volumes/Data/WebKit/OpenSource/WebKitBuild/Debug/usr/local/include/pal/spi/mac/SystemPreviewSPI.h:29:
/Volumes/Xcode13A6201j_m20A2411_m21C29_i19C35_FastSim_Boost_Encrypted_54GB/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.1.Internal.sdk/System/Library/PrivateFrameworks/AssetViewer.framework/PrivateHeaders/ASVInlinePreview.h:39:12: note: receiver is instance of class declared here
@interface ASVInlinePreview : NSObject
           ^
2 errors generated.
```</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1816579</commentid>
    <comment_count>15</comment_count>
    <who name="Antoine Quint">graouts</who>
    <bug_when>2021-11-18 12:58:13 -0800</bug_when>
    <thetext>Committed r286023 (244412@main): &lt;https://commits.webkit.org/244412@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444544</attachid>
            <date>2021-11-17 11:41:26 -0800</date>
            <delta_ts>2021-11-17 16:14:24 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233265-20211117204125.patch</filename>
            <type>text/plain</type>
            <size>61174</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjhjOTc2NjFjMjU2ZGM1
ODRlZGJjNDY1ZGUwYzE1MThmYzIyZDI2MC4uMjkzM2I4NGY4MDNiNDg4ODI3N2Q0ZDZiYTA2ZTUx
YjFjYzIwMmYzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDIxLTExLTE3ICBBbnRv
aW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2RlbF0gYWRkIHN1
cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIGNhbWVyYQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjY1CisgICAgICAgIDxyZGFyOi8v
cHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBXZSBhZGQgdHdvIG5ldyBwcm9taXNlLWJhc2VkIG1ldGhvZHMgdG8gdGhlIEhU
TUxNb2RlbEVsZW1lbnQgSURMIHRvIGFjY2VzcyBhbmQgc2V0IHRoZSBjYW1lcmE6CisgICAgICAg
IGdldENhbWVyYSgpIGFuZCBzZXRDYW1lcmEoKS4gVGhlIGNhbWVyYSBpcyByZXByZXNlbnRlZCBi
eSBhIG5ldyBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGRpY3Rpb25hcnkKKyAgICAgICAgd2hpY2gg
aGFzIHlhdywgcGl0Y2ggYW5kIHNjYWxlIG1lbWJlcnMuCisKKyAgICAgICAgKiBDTWFrZUxpc3Rz
LnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAg
ICAqIERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudDo6Z2V0Q2FtZXJh
KToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVyYSk6CisgICAg
ICAgICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGw6CisgICAgICAgICog
TW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjplbmNvZGUgY29uc3QpOgor
ICAgICAgICAoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYTo6ZGVjb2RlKToKKyAgICAg
ICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGw6IEFk
ZGVkLgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAg
IChXZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9k
dWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5t
bToKKyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAg
ICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6
IERlbGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBh
Z2UvQ2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VN
b2RlbEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xNyAgQW50
b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIENyZWF0
ZSBpT1MgTW9kZWxQbGF5ZXIgaW1wbGVtZW50YXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4IGU5
NTVjNGQzNWJmYWJmMDVjNTU2YjFmYzU0YmNlMGMyZjQ2ZjM5ZmUuLmExYjZkMTk3ZDQ1NzViNmE1
YTQ2OGMzNzhmMDBmZjVhMTBkMDNmMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2
IEBACisyMDIxLTExLTE3ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisg
ICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIGNh
bWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMz
MjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUlFMIFNQSXMgYXJl
IGFyZSB1c2luZy4KKworICAgICAgICAqIHBhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaDoK
KyAgICAgICAgKiBwYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmg6CisKIDIwMjEtMTEtMTYg
IERldmluIFJvdXNzbyAgPGRyb3Vzc29AYXBwbGUuY29tPgogCiAgICAgICAgIFtBcHBsZSBQYXld
IGhhbmRsZSB1bmtub3duIHNldHVwIGZlYXR1cmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDQxYWYwOWRlOTI4N2Y2
ZThhMDEyZDU0ZWI0NzMxY2VjZWZjYzFmN2MuLjI5N2FjOTYzOGM0ZjY0YTRjNmM3NjJjZGI0Mjhm
MDAyMGI0NDVhNzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjEgQEAKKzIwMjEtMTEtMTcgIEFudG9p
bmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3Vw
cG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9w
cm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBBUlFMIEFQSXMgd2UnZCBhZG9wdGVkIHNvIGZhciB3ZXJlIHNwZWNpZmlj
IHRvIGVpdGhlciBtYWNPUyBvciBpT1MuIFRoZSBuZXcgY2FtZXJhCisgICAgICAgIG1ldGhvZHMg
YXJlIGRpZmZlcmVudCBzaW5jZSB0aGV5IGV4aXN0IG9uIGJvdGggcGxhdGZvcm1zLgorCisgICAg
ICAgIEluIG9yZGVyIHRvIGV4cG9zZSBhIHNpbmdsZSBtZXNzYWdlIGZvciBib3RoIHBsYXRmb3Jt
cywgd2UgaW50cm9kdWNlIGEgbmV3IE1vZGVsSWRlbnRpZmllcgorICAgICAgICBzdHJ1Y3Qgd2hp
Y2ggd3JhcHMgdGhlIFVVSUQgc3RyaW5nIGZvciBtYWNPUyBhbmQgdGhlIGxheWVyIGlkZW50aWZp
ZXIgZm9yIGlPUy4gVGhlbiBvbgorICAgICAgICBNb2RlbEVsZW1lbnRDb250cm9sbGVyLCB3ZSBo
YXZlIHRoZSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKCkgbWV0aG9kIHRvIGdldCB0aGUgbWF0
Y2hpbmcKKyAgICAgICAgQVNWSW5saW5lUHJldmlldyBmb3IgdGhlIHByb3ZpZGVkIE1vZGVsSWRl
bnRpZmllci4KKworICAgICAgICBUaGlzIGFsbG93cyBnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQo
KSBhbmQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50IHRvIGJlIHNwZWNpZmllZCBmb3IgYm90aAor
ICAgICAgICBpT1MgYW5kIG1hY09TIHdpdGggYSBzaW5nbGUgaW1wbGVtZW50YXRpb24uCisKKyAg
ICAgICAgV2UgYWxzbyBtb2RpZnkgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oKSB0byB0YWtl
IGFkdmFudGFnZSBvZiBNb2RlbElkZW50aWZpZXIgd2hpY2ggc2hvd2VkCisgICAgICAgIHRoYXQg
d2UgaGFkIHNvbWUgbGluZ2VyaW5nIGNvZGUgaW4gQ2hyb21lQ2xpZW50IHJlbGF0ZWQgdG8gdGhp
cyBtZXRob2QgdGhhdCB3YXMgbm8gbG9uZ2VyCisgICAgICAgIG5lY2Vzc2FyeSBmb2xsb3dpbmcg
cjI4NTkyMi4KKworICAgICAgICAqIFNoYXJlZC9Nb2RlbElkZW50aWZpZXIuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6TW9kZWxJZGVudGlmaWVyOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok1v
ZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsVmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAg
ICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50
aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRy
b2xsZXI6OmdldENhbWVyYUZvck1vZGVsRWxlbWVudCk6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnNldENhbWVyYUZvck1vZGVsRWxlbWVudCk6CisgICAgICAgICog
VUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaDoKKyAgICAgICAgKiBVSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojptb2RlbEVs
ZW1lbnRHZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1vZGVsRWxl
bWVudFNldENhbWVyYSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dGFrZU1vZGVs
RWxlbWVudEZ1bGxzY3JlZW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorICAgICAgICAq
IFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
TW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tOgorICAgICAgICAoV2Vi
S2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6Z2V0Q2FtZXJhKToKKyAgICAgICAg
KFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OnNldENhbWVyYSk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJ
T1MuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllcklPUy5tbToKKyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJJT1M6Om1vZGVsSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjplbnRlckZ1bGxzY3JlZW4pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5
ZXJNYWMubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
TWFjOjptb2RlbElkZW50aWZpZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViQ2hyb21lQ2xpZW50
Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERlbGV0ZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaDoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oOgorCiAyMDIxLTExLTE3ICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gQ3JlYXRlIGlPUyBNb2RlbFBsYXll
ciBpbXBsZW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA1YTA0MTU1YzRjMGY4YmRi
Yjg4ODEwNjE1OTcyMmRlYjliZDAxNDU1Li4wZWUwYmUzMDNkMmE3MjVmNTE2MDNlMTMxZjZlMjFl
YzI4NTU2ZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDYzLDYgKzQ2Myw3IEBAIHNldChX
ZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFu
c2Zvcm1FdmVudC5pZGwKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVt
ZW50LmlkbAorICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LmlkbAogCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwKICAgICBN
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGYzY2VlY2Q0
OGQ5OTVlYjM3MjYyYmRmMzQyNDZmOWQ4ZDZkM2I1MjIuLmE3MmZhZDU4MWQ2MWJjYzNjNjYwOTg3
YzBlMjE3Y2EwZmNjZGVmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMt
aW5wdXQueGNmaWxlbGlzdApAQCAtMTU4LDYgKzE1OCw3IEBAICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvV2ViR1BVL0dQVVZlcnRleFN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJH
UFUvR1BVVmVydGV4U3RlcE1vZGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9O
YXZpZ2F0b3JHUFUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FpcnBsYXkvV2ViS2l0UGxh
eWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
YXBwbGVwYXktYW1zLXVpL0FwcGxlUGF5QU1TVUlSZXF1ZXN0LmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvbnRhY3RGaWVsZC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2ZW50LmlkbApAQCAt
MjA1LDcgKzIwNiw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlT
aGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkv
QXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5UmVxdWVzdC5pZGwK
LSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXktYW1zLXVpL0FwcGxlUGF5QU1TVUlSZXF1
ZXN0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJk
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvQ2xpcGJvYXJkSXRl
bS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJkL05hdmlnYXRvcitD
bGlwYm9hcmQuaWRsCkBAIC00MjgsNiArNDI4LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDVHJhY2tFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDVHJhbnNmb3JtRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVs
LWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKKyQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWN0aXZpdHktaW5kaWNhdG9yLmNz
cwogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
YWlycGxheS1idXR0b24uY3NzCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA0YzVmZjk1NGExNTk3ZWRiZjUw
ZDYyYWQ3MjkwNzQyOGM1ZDA1M2I2Li5iMjI0MTcyMTBkZGJhMzcwY2Y2NGZmOTkxZWIwNTg4NTM5
MTNmZTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQu
eGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdApAQCAtMTI4Myw2ICsxMjgzLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZEVsZW1lbnQuaAogJChCVUlMVF9Q
Uk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50LmNw
cAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9k
ZWxFbGVtZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPTGlzdEVsZW1lbnQuY3Bw
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPTGlz
dEVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MT2JqZWN0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGY4OGU2MzliOWQ3NGI5ZGQ1NDQ4Y2VkOTkxODFjMGRmMGY1MjgxNDQuLmIxYjZhOGE1NTE5MTI2
NjM0YjUxOTYwNTc5N2RhYjRjNjU5MmVjODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtNDUzLDYgKzQ1Myw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhbnNmb3JtRXZlbnQuaWRsIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvbi5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1p
c3Npb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmlj
YXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAppbmRleCA3ZTk3
YzU1MTVjZWIzY2NmYjg3MWIyOTMxYzA2Yjg1N2ZhM2MzZGNhLi5lODM4NjgyYjBhMmYzMGI2Zjg1
OTUyYmRkZTk2NmY1MmM3Yjc2NGVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwCkBAIC0zNSwxMSArMzUs
MTQgQEAKICNpbmNsdWRlICJFbGVtZW50SW5saW5lcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5
ZXIuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyQ0EuaCIKKyNpbmNsdWRlICJIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBh
cnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxTb3VyY2VFbGVtZW50LmgiCisjaW5jbHVkZSAi
SlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAjaW5j
bHVkZSAiSlNIVE1MTW9kZWxFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmgiCiAjaW5jbHVkZSAiTW9kZWwuaCIKICNpbmNsdWRlICJNb2RlbFBsYXllci5oIgog
I2luY2x1ZGUgIk1vZGVsUGxheWVyUHJvdmlkZXIuaCIKQEAgLTI4OSw2ICsyOTIsMzggQEAgdm9p
ZCBIVE1MTW9kZWxFbGVtZW50OjplbnRlckZ1bGxzY3JlZW4oKQogICAgIG1fbW9kZWxQbGF5ZXIt
PmVudGVyRnVsbHNjcmVlbigpOwogfQogCisvLyBNQVJLOiDigJMgQ2FtZXJhIHN1cHBvcnQuCisK
K3ZvaWQgSFRNTE1vZGVsRWxlbWVudDo6Z2V0Q2FtZXJhKENhbWVyYVByb21pc2UmJiBwcm9taXNl
KQoreworICAgIGlmICghbV9tb2RlbFBsYXllcikgeworICAgICAgICBwcm9taXNlLnJlamVjdCgp
OworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9tb2RlbFBsYXllci0+Z2V0Q2FtZXJh
KFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgcHJvbWlzZSA9IFdURk1vdmUocHJvbWlz
ZSldIChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGNhbWVyYSkgbXV0YWJs
ZSB7CisgICAgICAgIGlmICghY2FtZXJhKQorICAgICAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZlKCpjYW1lcmEpOworICAg
IH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVyYShIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhIGNhbWVyYSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+JiYgcHJvbWlzZSkKK3sK
KyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPnNldENhbWVyYShjYW1l
cmEsIFtwcm90ZWN0ZWRUaGlzID0gUmVmIHsgKnRoaXMgfSwgcHJvbWlzZSA9IFdURk1vdmUocHJv
bWlzZSldIChib29sIHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBpZiAoc3VjY2VzcykKKyAg
ICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBw
cm9taXNlLnJlamVjdCgpOworICAgIH0pOworfQorCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoTU9E
RUxfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVs
ZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCmluZGV4IDY5NDc4YzI3NDgxNTc0NTkxYjEzYTRkZGU2
ZDk5Y2MwMDFhYTkwYzMuLjI3OWMzZGE2ZmQ1MDc3MjQwN2IzMjI2NGI1MjYyZTNlYzc4NDI1Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hU
TUxNb2RlbEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgIkNhY2hlZFJlc291
cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkhUTUxF
bGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUg
IklETFR5cGVzLmgiCiAjaW5jbHVkZSAiTW9kZWxQbGF5ZXJDbGllbnQuaCIKICNpbmNsdWRlICJQ
bGF0Zm9ybUxheWVyLmgiCkBAIC00Myw2ICs0NCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNs
YXNzIE1vZGVsOwogY2xhc3MgTW9kZWxQbGF5ZXI7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5
cGU+IGNsYXNzIERPTVByb21pc2VEZWZlcnJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+
IGNsYXNzIERPTVByb21pc2VQcm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKIGNsYXNzIEhUTUxN
b2RlbEVsZW1lbnQgZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHByaXZhdGUgQ2FjaGVkUmF3
UmVzb3VyY2VDbGllbnQsIHB1YmxpYyBNb2RlbFBsYXllckNsaWVudCB7CkBAIC02Nyw2ICs2OSwx
MCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisgICAgdXNpbmcg
Q2FtZXJhUHJvbWlzZSA9IERPTVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+PjsKKyAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOwor
ICAgIHZvaWQgc2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZl
cnJlZDx2b2lkPiYmKTsKKwogICAgIGJvb2wgaXNEcmFnZ2FibGVJZ25vcmluZ0F0dHJpYnV0ZXMo
KSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5p
ZGwKaW5kZXggMTYzYWQ2YzNhYWU3ZjcxNDYxYWEwYmI5N2MwZTBiNjdhY2EwZmM3YS4uZTdlZDQw
OTFiMzkwZTc0ZTFlZmEwY2YzOWRhYTE1YWZiYmE2MjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApA
QCAtMzMsNCArMzMsNyBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhUTUxNb2Rl
bEVsZW1lbnQ+IHJlYWR5OwogCiAgICAgdW5kZWZpbmVkIGVudGVyRnVsbHNjcmVlbigpOworCisg
ICAgUHJvbWlzZTxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiBnZXRDYW1lcmEoKTsKKyAgICBQcm9t
aXNlPHVuZGVmaW5lZD4gc2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKTsK
IH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudENhbWVyYS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVt
ZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wYjM3NjI0NWZjMWZkZWIw
MWUzNGM2M2FlNDM5N2U3M2I2YTQwMjVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApAQCAtMCww
ICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEhUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEgeworICAgIGRvdWJsZSBwaXRjaCB7IDAgfTsKKyAgICBkb3VibGUgeWF3IHsg
MCB9OworICAgIGRvdWJsZSBzY2FsZSB7IDEgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiBkZWNvZGUo
RGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IHBpdGNoOworICAgIGVuY29kZXIgPDwgeWF3OworICAgIGVuY29kZXIgPDwgc2NhbGU7
Cit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxl
bWVudENhbWVyYT4gSFRNTE1vZGVsRWxlbWVudENhbWVyYTo6ZGVjb2RlKERlY29kZXImIGRlY29k
ZXIpCit7CisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHBpdGNoOworICAgIGRlY29kZXIgPj4g
cGl0Y2g7CisgICAgaWYgKCFwaXRjaCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwor
ICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiB5YXc7CisgICAgZGVjb2RlciA+PiB5YXc7CisgICAg
aWYgKCF5YXcpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlv
bmFsPGRvdWJsZT4gc2NhbGU7CisgICAgZGVjb2RlciA+PiBzY2FsZTsKKyAgICBpZiAoIXNjYWxl
KQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeworICAgICAg
ICBXVEZNb3ZlKCpwaXRjaCksCisgICAgICAgIFdURk1vdmUoKnlhdyksCisgICAgICAgIFdURk1v
dmUoKnNjYWxlKSwKKyAgICB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hU
TUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI1OGRjYjA1ZjVkNWZhOTg4YjJh
YTBmNTlmZWVjNDliMzA3MzUyMmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKQEAgLTAsMCAr
MSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sK
KyAgICBDb25kaXRpb25hbD1NT0RFTF9FTEVNRU5ULAorICAgIEVuYWJsZWRCeVNldHRpbmc9TW9k
ZWxFbGVtZW50RW5hYmxlZCwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5
IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgeworICAgIGRvdWJsZSB5YXc7CisgICAgZG91YmxlIHBp
dGNoOworICAgIGRvdWJsZSBzY2FsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCmluZGV4IGU3MTI5ZGRjOTE0MDI0N2M1NDU1
YjI5ZWFkMDc5ZGE3NWRkMmZlYTMuLmNhYjk2YWFkOGFhNGU3MWQyZGRjY2I2NTgwMDQ2YzY2NmFh
NzQ5YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9N
b2RlbFBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9N
b2RlbFBsYXllci5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVk
ZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIKICNp
bmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KQEAgLTQx
LDYgKzQyLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCBsb2FkKE1vZGVsJiwgTGF5b3V0
U2l6ZSkgPSAwOwogICAgIHZpcnR1YWwgUGxhdGZvcm1MYXllciogbGF5ZXIoKSA9IDA7CiAgICAg
dmlydHVhbCB2b2lkIGVudGVyRnVsbHNjcmVlbigpID0gMDsKKyAgICB2aXJ0dWFsIHZvaWQgZ2V0
Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhPiYmKT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRDYW1lcmEoSFRNTE1v
ZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSA9IDA7
CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKaW5kZXggODI0NjYxNjFlZGY1
ODZlM2U0NTg4YmM0Yjk0MzUwNmQwNDliMWQ3OS4uYzQ0OGNlNjc0M2U1NTMwNTI3ZTgwM2Q0NGZi
ZDM3NDUwNGUyZDI5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcApAQCAtNTgsNCAr
NTgsMTIgQEAgdm9pZCBEdW1teU1vZGVsUGxheWVyOjplbnRlckZ1bGxzY3JlZW4oKQogewogfQog
Cit2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7
Cit9CisKK3ZvaWQgRHVtbXlNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30K
KwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1
bW15L0R1bW15TW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxl
bWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmgKaW5kZXggODM4ZWJlY2Y4ZDIxMGIwMzVkMTY4
NDVhNzA3MTZmOTIyNzkwNmU4MS4uNzliOTczOGQ0NTViYjE1ZWNmMGQxM2MxNGZhYjMxN2UxMzU2
MDQxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1
bW15L0R1bW15TW9kZWxQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVs
LWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5oCkBAIC00NCw2ICs0NCw4IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBsb2FkKE1vZGVsJiwgTGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxh
dGZvcm1MYXllciogbGF5ZXIoKSBvdmVycmlkZTsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigp
IG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJp
ZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsKIAogICAgIFdlYWtQ
dHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVL
aXRNb2RlbFBsYXllci5oCmluZGV4IDRhYzNkYWI5ZGQ1M2ZlODVlZmUwNTMwZTY4MTJjMTQwNDhm
NjRlM2YuLjZhNDZkYjE5ZWIwNTcwZGZlY2NmNWU4MjYzNWM5NGUyOTkyNWRjYjIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNTgsNiArNTgsOCBAQCBwcml2YXRl
OgogICAgIHZvaWQgbG9hZChNb2RlbCYsIExheW91dFNpemUpIG92ZXJyaWRlOwogICAgIENBTGF5
ZXIgKmxheWVyKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKSBvdmVycmlk
ZTsKKyAgICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0
Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCYmKT4mJikgb3ZlcnJpZGU7CiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92
ZXJyaWRlcy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVs
TG9hZGVyJiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxh
eWVyLm1tIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1Nj
ZW5lS2l0TW9kZWxQbGF5ZXIubW0KaW5kZXggNjk2OTZjOWU2OTE2ODU5YTAxZWEzZGE3ZDdjNDQ3
MDU4ZmZlM2Y1OS4uYzc5NWNkNDMxZjY4MzAxMzMxN2VmOGEyNDQ3ZGJlMjcxMDUzODg0NyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1Nj
ZW5lS2l0TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTc2LDYgKzc2LDE0IEBA
IHZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKIH0KIAordm9p
ZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChz
dGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYmKQoreworfQorCit2b2lk
IFNjZW5lS2l0TW9kZWxQbGF5ZXI6OnNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYpCit7Cit9CisKIC8vIE1BUks6IC0gU2Nl
bmVLaXRNb2RlbExvYWRlckNsaWVudCBvdmVycmlkZXMuCiAKIHZvaWQgU2NlbmVLaXRNb2RlbFBs
YXllcjo6ZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVyJiBsb2FkZXIsIFJlZjxT
Y2VuZUtpdE1vZGVsPiBtb2RlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9p
b3MvU3lzdGVtUHJldmlld1NQSS5oCmluZGV4IDVhMWFkMzA5YWU5YWFlNDY3YzVmODU0YTExNGY2
MjRiODBkMjBhZjUuLmI4OTVjYmM0MzUzNThjMzg5YjgyMTFmZTVlNWU3NWIwMTUyMjRhNWUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJ
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEku
aApAQCAtODEsNiArODEsOCBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKIAorI2ltcG9ydCA8c2ltZC9zaW1kLmg+CisKIEBj
bGFzcyBBU1ZJbmxpbmVQcmV2aWV3OwogQGNsYXNzIENBRmVuY2VIYW5kbGU7CiBAaW50ZXJmYWNl
IEFTVklubGluZVByZXZpZXcgOiBOU09iamVjdApAQCAtOTcsNiArOTksMTAgQEAgTlNfQVNTVU1F
X05PTk5VTExfQkVHSU4KIC0gKHZvaWQpdG91Y2hlc0VuZGVkOihOU1NldDxVSVRvdWNoICo+ICop
dG91Y2hlcyB3aXRoRXZlbnQ6KG51bGxhYmxlIFVJRXZlbnQgKilldmVudDsKIC0gKHZvaWQpdG91
Y2hlc0NhbmNlbGxlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxs
YWJsZSBVSUV2ZW50ICopZXZlbnQ7CiAKK3R5cGVkZWYgdm9pZCAoXkFTVkNhbWVyYVRyYW5zZm9y
bVJlcGx5QmxvY2spIChzaW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJyb3IgKiBfTnVs
bGFibGUgZXJyb3IpOworLSAodm9pZClnZXRDYW1lcmFUcmFuc2Zvcm06KEFTVkNhbWVyYVRyYW5z
Zm9ybVJlcGx5QmxvY2spcmVwbHk7CistICh2b2lkKXNldENhbWVyYVRyYW5zZm9ybTooc2ltZF9m
bG9hdDMpdHJhbnNmb3JtOworCiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3Jl
L1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKaW5kZXggYzJmMmUwZDVlYWRjZWVi
MDAwOTRjMDNhYWYxN2UzMjlhMDU2NWFmYy4uY2Q5NjEyOGY5N2ZjNGEwODMwYjZjYTk4NjE4ODA3
ZmMyYjk5MmEzMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5
c3RlbVByZXZpZXdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lz
dGVtUHJldmlld1NQSS5oCkBAIC0zNSw2ICszNSw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lO
CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogCisjaW1wb3J0IDxzaW1k
L3NpbWQuaD4KKwogQGNsYXNzIEFTVklubGluZVByZXZpZXc7CiAKIEBpbnRlcmZhY2UgQVNWSW5s
aW5lUHJldmlldyA6IE5TT2JqZWN0CkBAIC00OCw2ICs1MCwxMCBAQCBOU19BU1NVTUVfTk9OTlVM
TF9CRUdJTgogLSAodm9pZClwcmVwYXJlUHJldmlld09mRmlsZUF0VVJMOihOU1VSTCAqKXVybCBj
b21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikpaGFu
ZGxlcjsKIC0gKHZvaWQpc2V0UmVtb3RlQ29udGV4dDoodWludDMyX3QpY29udGV4dElkOwogCit0
eXBlZGVmIHZvaWQgKF5BU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMg
Y2FtZXJhVHJhbnNmb3JtLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKTsKKy0gKHZvaWQpZ2V0
Q2FtZXJhVHJhbnNmb3JtOihBU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKXJlcGx5OworLSAo
dm9pZClzZXRDYW1lcmFUcmFuc2Zvcm06KHNpbWRfZmxvYXQzKXRyYW5zZm9ybTsKKwogQGVuZAog
CiAjZW5kaWYgLy8gRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
aW5kZXggOWQ3NzU0OGNkZWEwYjQ3YjIyMDZiYjU4ZGU2ZDNkYTA4NGU1Yzc0OC4uZGZhNjdjOWNk
YjhkMzcxYzhhNDE4M2Y1OTc0ODk4ZTZhNzVjYzM0ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTMzMDAs
NiArMzMwMCw3IEBAIEpTSFRNTE1ldGFFbGVtZW50LmNwcAogSlNIVE1MTWV0ZXJFbGVtZW50LmNw
cAogSlNIVE1MTW9kRWxlbWVudC5jcHAKIEpTSFRNTE1vZGVsRWxlbWVudC5jcHAKK0pTSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5jcHAKIEpTSFRNTE9MaXN0RWxlbWVudC5jcHAKIEpTSFRNTE9iamVj
dEVsZW1lbnQuY3BwCiBKU0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOWFiZTE4OTg2MGQ4
ZGM1OWE4YzAzNDhkNTU5YTc3ZDU0OWIwYzc2NS4uMWM1ZDMxZGYxMGQyM2Q5NzA0NTkwODhkMGU4
MWQyMWZmMjM5NWI5MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtMjI3Myw2ICsyMjczLDcgQEAKIAkJNzE1QUQ3MjEyMDUwNTEz
RjAwRDU5MkRDIC8qIENTU1RyYW5zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDcxMjNDMTg2MjA0NzM5QkEwMDc4OTM5MiAvKiBDU1NUcmFuc2l0
aW9uLmggKi87IH07CiAJCTcxNzI5RjdCMjBGM0JBNDkwMDgwMUNFNiAvKiBEb2N1bWVudFRpbWVs
aW5lT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzE3MjlGN0EyMEYzQkEzQTAwODAxQ0U2IC8qIERvY3VtZW50VGltZWxpbmVPcHRpb25zLmgg
Ki87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzE3MjlG
N0UyMEYzQkI0NzAwODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNzI5RjdDMjBGM0JBQjkw
MDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmggKi87IH07CisJCTcxNzdBRDU3
Mjc0Mjk1RDEwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTc3QUQ1NjI3NDI5NTkwMDAyRjEw
M0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxODFBMTZDMjQ0RjBGNDAwMDdEOEEyNCAvKiBEb2N1
bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcxODFBMTY5MjQ0RjBGMkMwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVs
aW5lc0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQk3MUExQjYwODFERUU1QUQ3MDA3M0JDRkIgLyogbW9kZXJuLW1lZGlhLWNvbnRy
b2xzLWxvY2FsaXplZC1zdHJpbmdzLmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3MUExQjYwNjFERUU1QTgyMDA3M0JDRkIgLyogbW9kZXJuLW1lZGlh
LWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzLmpzICovOyB9OwogCQk3MUEzRDE4MTI1NjJCODVC
MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzFBM0QxN0QyNTYyQjgyNDAwNjRFMkE2IC8qIEhUTUxNb2Rl
bEVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwpAQCAtMTA3NzIsNiArMTA3NzMsMTAgQEAKIAkJNzE3MjlGN0MyMEYzQkFCOTAwODAxQ0U2IC8q
IEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MTcyOUY3RDIwRjNCQUJBMDA4MDFDRTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0
aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RvY3VtZW50
VGltZWxpbmVPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3M0RF
QkQyNjE0REYwNDAwOTdERjMyIC8qIFN0eWxlYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTdHlsZWFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3MTc3QUQ1NDI3NDI5NTJGMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzE3N0FENTgyNzQyOUNDQTAwMkYxMDNCIC8qIEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1OTI3NDI5Q0NC
MDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MTc3RTI0NjFEQjgwRDJGMDA5MTlBMEIgLyogbWVkaWEtY29udHJv
bGxlci1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0g
Im1lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTcxNzdFMjQ3MURCODBEMkYwMDkxOUEwQiAvKiBtdXRlLXN1cHBvcnQuanMgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAibXV0ZS1zdXBwb3J0LmpzIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3N0UyNDgxREI4MEQyRjAwOTE5QTBCIC8qIHN0YXJ0
LXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAic3Rh
cnQtc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMzgwNSw2ICsy
MzgxMCw4IEBACiAJCQkJNzFBM0QxODAyNTYyQjgyNTAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1l
bnQuY3BwICovLAogCQkJCTcxQTNEMTdEMjU2MkI4MjQwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVt
ZW50LmggKi8sCiAJCQkJNzFBM0QxN0YyNTYyQjgyNDAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1l
bnQuaWRsICovLAorCQkJCTcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhLmggKi8sCisJCQkJNzE3N0FENTQyNzQyOTUyRjAwMkYxMDNCIC8qIEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsICovLAogCQkJCUJDMkI0MTE0MjczMkYwNjIwMEEyRDE5MSAvKiBN
b2RlbFBsYXllci5jcHAgKi8sCiAJCQkJQkMyQjQxMTMyNzMyRjA2MjAwQTJEMTkxIC8qIE1vZGVs
UGxheWVyLmggKi8sCiAJCQkJQkMyQjQxMTIyNzMyRjAzQzAwQTJEMTkxIC8qIE1vZGVsUGxheWVy
Q2xpZW50LmNwcCAqLywKQEAgLTI2MDgxLDYgKzI2MDg4LDggQEAKIAkJCQlBN0JCRTI2NTExQUZC
M0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJCQkJNzFBM0QxODIyNTYy
QkREQjAwNjRFMkE2IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5jcHAgKi8sCiAJCQkJNzFBM0QxODMy
NTYyQkREQjAwNjRFMkE2IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5oICovLAorCQkJCTcxNzdBRDU4
Mjc0MjlDQ0EwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwICovLAorCQkJ
CTcxNzdBRDU5Mjc0MjlDQ0IwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAq
LywKIAkJCQkxQUUyQUIxRjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5jcHAg
Ki8sCiAJCQkJMUFFMkFCMjAwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuaCAq
LywKIAkJCQlCQzMwNUM3NzBDMDc2QkIzMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5j
cHAgKi8sCkBAIC0zMzcxNiw2ICszMzcyNSw3IEBACiAJCQkJQTg3MURDMjQwQTE1MjA1NzAwQjEy
QTY4IC8qIEhUTUxNZXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTQ1NDQyNEIxMTlC
MzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTcx
QTNEMTgxMjU2MkI4NUIwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk3MTc3QUQ1NzI3NDI5NUQxMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTcwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxN
b2RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOERGM0ZENDA5N0ZBMEZDMDA1Mjk4MUIg
LyogSFRNTE5hbWVDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxRDQ1QTBBMTI3
Q0JDMDBCMTJBNjggLyogSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCAzYmFlM2MyMjVmNjBjODg0YTZhNGNl
MmFmOWNmOWVmODcyYmMxYjJmLi4zYTA2NGJjNzIzMWEzNjAwY2M4M2RjNThhOWEyZTdmZjJlZTk2
YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNTgzLDEyICs1
ODMsNiBAQCB2b2lkIEVtcHR5Q2hyb21lQ2xpZW50OjpzaG93U2hhcmVTaGVldChTaGFyZURhdGFX
aXRoUGFyc2VkVVJMJiwgQ29tcGxldGlvbkhhbmRsZQogewogfQogCi0jaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkg
Y29uc3QKLXsKLX0KLSNlbmRpZgotCiB2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3Bh
dGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rpb24m
LCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBGb3JtU3RhdGUqLCBjb25zdCBTdHJpbmcmLCBQb2xp
Y3lDaGVja0lkZW50aWZpZXIsIEZyYW1lUG9saWN5RnVuY3Rpb24mJikKIHsKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCAwYzc5NzNmMDBhMWYzNmUyNzAxM2ExNjE2ZGJj
OTZhMTgwYzVjZjA4Li41MjI2MTg3MzFkNzU2ZWE0YmY4Yjk2ZGYwMDQzNWY4MzU1OGVlOTFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTcsMTAgKzIxNyw2IEBAIGNs
YXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgdm9pZCBk
aWRBc3NvY2lhdGVGb3JtQ29udHJvbHMoY29uc3QgVmVjdG9yPFJlZlB0cjxFbGVtZW50Pj4mLCBG
cmFtZSYpIGZpbmFsIHsgfQogICAgIGJvb2wgc2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdlcygpIGZp
bmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
SU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhp
Y3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdCBmaW5hbDsKLSNlbmRpZgotCiAgICAgUmVm
UHRyPEljb24+IGNyZWF0ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgLyogZmls
ZW5hbWVzICovKSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9CiB9OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9D
aHJvbWVDbGllbnQuaAppbmRleCBjNWVkOWI4YzEyZDQ1ODE3ZTMwNDZjZmQ4NTU0NTA1ZjRlNGYw
NTE0Li5mNWE2MWY3MThkNzczZDI3NWMxOTdkMDZjOGMyOTVmMzZmMThhZjAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTYwNSwxMCArNjA1LDYgQEAgcHVibGljOgogICAgIHZp
cnR1YWwgdm9pZCB0ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZUNoYW5nZWQoKSB7IH0K
ICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2aXJ0
dWFsIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXll
cjo6UGxhdGZvcm1MYXllcklEKSBjb25zdCB7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExF
X1BBWV9BTVNfVUkpCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Npb24o
Y29uc3QgVVJMJiwgY29uc3QgQXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29t
cGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsgfQogICAgIHZpcnR1YWwgdm9pZCBhYm9ydEFw
cGxlUGF5QU1TVUlTZXNzaW9uKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJl
ZC9Nb2RlbElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL01vZGVsSWRlbnRpZmll
ci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjQ4ZGMyM2VlNTBiM2FhZGQzNjg2ODM2YzBkZWExMTE3Mzc5YTE3ZmQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIu
aApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXKQorCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKKyNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgorI2VuZGlmCisKK3N0cnVj
dCBNb2RlbElkZW50aWZpZXIgeworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMp
CisgICAgU3RyaW5nIHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KQorICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBsYXllcklkZW50
aWZpZXI7CisjZW5kaWYKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2Rl
KEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3Rk
OjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1w
bGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIE1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlKEVuY29kZXIm
IGVuY29kZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykK
KyAgICBlbmNvZGVyIDw8IHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
SU9TKQorICAgIGVuY29kZXIgPDwgbGF5ZXJJZGVudGlmaWVyOworI2VuZGlmCit9CisKK3RlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBNb2RlbElk
ZW50aWZpZXI6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHV1aWQ7CisgICAg
ZGVjb2RlciA+PiB1dWlkOworICAgIGlmICghdXVpZCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKnV1aWQpIH0gfTsKKyNlbGlmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpHcmFw
aGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQ+IGxheWVySWRlbnRpZmllcjsKKyAgICBkZWNvZGVy
ID4+IGxheWVySWRlbnRpZmllcjsKKyAgICBpZiAoIWxheWVySWRlbnRpZmllcikKKyAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKmxheWVySWRlbnRp
ZmllcikgfSB9OworI2VuZGlmCit9CisKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50
Q29udHJvbGxlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxF
bGVtZW50Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDRlNTg0N2RjMjM0NDMzMDlmNzA2OTUwMjEx
MTA2ZThiNDM5MjA0OTAuLmE5NmJlN2E4MDk2ZDBjNzEzOGQ2Y2E5OTg3Nzg5Nzk2M2E0MDkxNzQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENv
bnRyb2xsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2Rl
bEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KQEAgLTMwLDYgKzMwLDkgQEAKIAogI2ltcG9ydCAi
TG9nZ2luZy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCisjaW1wb3J0IDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KKyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorI2ltcG9ydCA8d3RmL01haW5U
aHJlYWQuaD4KIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAjaW1wb3J0
ICJBUElVSUNsaWVudC5oIgpAQCAtNDIsOSArNDUsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQotI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9y
Lmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmg+Ci0jaW1wb3J0IDx3
dGYvTWFpblRocmVhZC5oPgogI2VuZGlmCiAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhB
c3NldFZpZXdlcik7CkBAIC01NCwzMCArNTUsNDUgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogCi12b2lkIE1vZGVsRWxlbWVudENv
bnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKK1dLTW9kZWxWaWV3KiBNb2RlbEVs
ZW1lbnRDb250cm9sbGVyOjptb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllcikKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVu
Y2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJl
dHVybiBudWxscHRyOwogCiAgICAgaWYgKCFpczxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5PihtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSkKLSAgICAgICAgcmV0dXJuOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKIAotICAgIGF1dG8qIG5vZGUgPSBkb3duY2FzdDxSZW1vdGVM
YXllclRyZWVEcmF3aW5nQXJlYVByb3h5PigqbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSku
cmVtb3RlTGF5ZXJUcmVlSG9zdCgpLm5vZGVGb3JJRChjb250ZW50TGF5ZXJJZCk7CisgICAgYXV0
byogbm9kZSA9IGRvd25jYXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCptX3dl
YlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKS5yZW1vdGVMYXllclRyZWVIb3N0KCkubm9kZUZvcklE
KG1vZGVsSWRlbnRpZmllci5sYXllcklkZW50aWZpZXIpOwogICAgIGlmICghbm9kZSkKLSAgICAg
ICAgcmV0dXJuOworICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIGF1dG8gKnZpZXcgPSBu
b2RlLT51aVZpZXcoKTsKICAgICBpZiAoIXZpZXcpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAg
cmV0dXJuIG51bGxwdHI7CiAKLSAgICBpZiAoIVt2aWV3IGlzS2luZE9mQ2xhc3M6W1dLTW9kZWxW
aWV3IGNsYXNzXV0pCi0gICAgICAgIHJldHVybjsKKyAgICBpZiAoW3ZpZXcgaXNLaW5kT2ZDbGFz
czpbV0tNb2RlbFZpZXcgY2xhc3NdXSkKKyAgICAgICAgcmV0dXJuIChXS01vZGVsVmlldyAqKXZp
ZXc7CisKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KIAorQVNWSW5saW5lUHJldmlldyogTW9kZWxF
bGVtZW50Q29udHJvbGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElkZW50aWZp
ZXIgbW9kZWxJZGVudGlmaWVyKQoreworICAgIGlmIChhdXRvICptb2RlbFZpZXcgPSBtb2RlbFZp
ZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKSkKKyAgICAgICAgcmV0dXJuIFtt
b2RlbFZpZXcgcHJldmlld107CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgTW9kZWxF
bGVtZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllcikKK3sKICAgICBhdXRvICpwcmVzZW50aW5nVmlld0NvbnRyb2xs
ZXIgPSBtX3dlYlBhZ2VQcm94eS51aUNsaWVudCgpLnByZXNlbnRpbmdWaWV3Q29udHJvbGxlcigp
OwogICAgIGlmICghcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKQogICAgICAgICByZXR1cm47CiAK
LSAgICBXS01vZGVsVmlldyAqbW9kZWxWaWV3ID0gKFdLTW9kZWxWaWV3ICopdmlldzsKKyAgICBh
dXRvICptb2RlbFZpZXcgPSBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlm
aWVyKTsKKyAgICBpZiAoIW1vZGVsVmlldykKKyAgICAgICAgcmV0dXJuOworCiAgICAgQ0dSZWN0
IGluaXRpYWxGcmFtZSA9IFttb2RlbFZpZXcgY29udmVydFJlY3Q6bW9kZWxWaWV3LmZyYW1lIHRv
VmlldzpuaWxdOwogCiAgICAgQVNWSW5saW5lUHJldmlldyAqcHJldmlldyA9IFttb2RlbFZpZXcg
cHJldmlld107CkBAIC05NSw3ICsxMTEsNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6
OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogCiAg
ICAgICAgICAgICBbcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxl
cjpyZW1vdGVWaWV3Q29udHJvbGxlciBhbmltYXRlZDpOTyBjb21wbGV0aW9uOl4odm9pZCkgewog
ICAgICAgICAgICAgICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKLSAgICAgICAgICAgICAgICBb
dmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZmVuY2VIYW5kbGVdOworICAg
ICAgICAgICAgICAgIFttb2RlbFZpZXcubGF5ZXIuc3VwZXJsYXllci5jb250ZXh0IGFkZEZlbmNl
OmZlbmNlSGFuZGxlXTsKICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBjb21taXRdOwog
ICAgICAgICAgICAgICAgIFtmZW5jZUhhbmRsZSBpbnZhbGlkYXRlXTsKICAgICAgICAgICAgIH1d
OwpAQCAtMTA5LDcgKzEyNSw3IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6dGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6CiAgICAgICAgICAg
ICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07
Ci0gICAgICAgICAgICAgICAgICAgIFt2aWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRG
ZW5jZTpkaXNtaXNzRmVuY2VIYW5kbGVdOworICAgICAgICAgICAgICAgICAgICBbbW9kZWxWaWV3
LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNtaXNzRmVuY2VIYW5kbGVdOwog
ICAgICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBzZXRDb21wbGV0aW9uQmxvY2s6XnsK
ICAgICAgICAgICAgICAgICAgICAgICAgIFtyZW1vdGVWaWV3Q29udHJvbGxlciBkaXNtaXNzVmll
d0NvbnRyb2xsZXJBbmltYXRlZDpOTyBjb21wbGV0aW9uOm5pbF07CiAgICAgICAgICAgICAgICAg
ICAgIH1dOwpAQCAtMTI1LDYgKzE0MSwxNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6
OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogCiAj
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKIAorQVNWSW5saW5lUHJldmlldyog
TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElk
ZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQoreworICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJl
ZmVyZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVkKCkpCisgICAgICAgIHJldHVybiBudWxscHRy
OworCisgICAgaWYgKGF1dG8gcHJldmlldyA9IG1faW5saW5lUHJldmlld3MuZ2V0KG1vZGVsSWRl
bnRpZmllci51dWlkKSkKKyAgICAgICAgcmV0dXJuIHByZXZpZXcuZ2V0KCk7CisKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKwogdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbEVsZW1l
bnREaWRDcmVhdGVQcmV2aWV3KFVSTCBmaWxlVVJMLCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6Rmxv
YXRTaXplIHNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0
cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCiB7CiAgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5wcmVmZXJlbmNlcygpLm1vZGVsRWxl
bWVudEVuYWJsZWQoKSkgewpAQCAtMTkwLDYgKzIxNyw1NiBAQCB2b2lkIE1vZGVsRWxlbWVudENv
bnRyb2xsZXI6Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoVVJMIGZpbGVVUkwsIFN0cmlu
ZyB1dQogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKwordm9p
ZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJ
ZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3Rl
ZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Pik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHByZXZpZXdG
b3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcpIHsK
KyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0s
IGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlciksIGVycm9yID0g
V2ViQ29yZTo6UmVzb3VyY2VFcnJvciB7IFdlYkNvcmU6OlJlc291cmNlRXJyb3I6OlR5cGU6Okdl
bmVyYWwgfV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAg
ICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsKKyAgICAg
ICAgfSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBbcHJldmlldyBnZXRDYW1lcmFU
cmFuc2Zvcm06bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21w
bGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoc2ltZF9mbG9hdDMg
Y2FtZXJhVHJhbnNmb3JtLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1Ro
aXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHsgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAg
ICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFtjYW1lcmFUcmFu
c2Zvcm0sIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYg
KHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6OkhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEgeyBjYW1lcmFUcmFuc2Zvcm0ueCwgY2FtZXJhVHJhbnNmb3Jt
LnksIGNhbWVyYVRyYW5zZm9ybS56IH0pOworICAgICAgICB9KTsKKyAgICB9KS5nZXQoKV07Cit9
CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50
KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1l
bnRDYW1lcmEgY2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlm
aWVyKG1vZGVsSWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3KSB7CisgICAgICAgIGNhbGxP
bk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxz
ZSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcg
c2V0Q2FtZXJhVHJhbnNmb3JtOnNpbWRfbWFrZV9mbG9hdDMoY2FtZXJhLnBpdGNoLCBjYW1lcmEu
eWF3LCBjYW1lcmEuc2NhbGUpXTsKKworICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9
IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgfSk7Cit9CisKKyNlbmRpZgorCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJv
bGxlci5oCmluZGV4IGIzOGRkMTgzYjQ4N2MwNWQ0YWRiMmE1OWZhNjA4NGIzMjgxZWU2MDUuLjQ1
MTFiOWJjNzU3ZDBjNjhhYTA0ZWQ2ODRhNmRiNTI4MzgwNTJhYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKQEAgLTI3LDE0ICsyNywx
NyBAQAogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogCisjaW5jbHVkZSAiTW9k
ZWxJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9FbGVtZW50Q29udGV4dC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAotI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiBPQkpDX0NMQVNTIEFTVklubGluZVBy
ZXZpZXc7CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorT0JKQ19DTEFT
UyBXS01vZGVsVmlldzsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDE0ICs1
MSwyNiBAQCBwdWJsaWM6CiAKICAgICBXZWJQYWdlUHJveHkmIHBhZ2UoKSB7IHJldHVybiBtX3dl
YlBhZ2VQcm94eTsgfQogCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorICAgIHZv
aWQgZ2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOworICAgIHZvaWQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVt
ZW50KE1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CisjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsK
KyAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZvaWQgbW9k
ZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhVUkwsIFN0cmluZywgV2ViQ29yZTo6RmxvYXRTaXpl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQz
Ml90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKICNlbmRpZgogCiBwcml2YXRlOgor
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyAgICBBU1ZJbmxpbmVQcmV2aWV3KiBw
cmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllcik7CisjZW5kaWYKKworI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgV0tNb2RlbFZpZXcqIG1vZGVs
Vmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElkZW50aWZpZXIpOworI2VuZGlmCisKICAgICBX
ZWJQYWdlUHJveHkmIG1fd2ViUGFnZVByb3h5OwogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19NQUMpCiAgICAgSGFzaE1hcDxTdHJpbmcsIFJldGFpblB0cjxBU1ZJbmxpbmVQcmV2aWV3
Pj4gbV9pbmxpbmVQcmV2aWV3czsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCmluZGV4IDc0YzMwMWQ0NGY0MjUwZTRhNjNmOTM4N2RiMDBkOTAzMTQ1NmI3NTEuLjJiNGEz
YzViMDMyOWNiODU4YzVkMDllNzIyYTBjYjU4OWJmN2UxNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4MjQsMTAgKzEwODI0LDIyIEBAIFdlYkNvcmU6
OkNhcHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQcm94eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNv
dXJjZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXKQordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudEdldENhbWVyYShNb2RlbElkZW50
aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPmdl
dENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldENhbWVy
YShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPnNldENhbWVyYUZv
ck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIGNhbWVyYSwgV1RGTW92ZShjb21wbGV0aW9u
SGFuZGxlcikpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
SU9TKQotdm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKK3ZvaWQg
V2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIg
bW9kZWxJZGVudGlmaWVyKQogewotICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+dGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVySWQpOworICAgIG1vZGVsRWxlbWVudENv
bnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4obW9kZWxJZGVudGlmaWVyKTsK
IH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGYw
MWYzNTRhZTc4Y2I0YWZhYjE4MzVmODE5YTE0NTg5YzQwODkyMTUuLjMwM2NhNTNkYmQyMTQ4ZmM1
MGY2ZTNhNTRmYThmYmM5OWY4NTE3NGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oCkBAIC0xOTYsNiArMTk2LDcgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAKICNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAjaW5jbHVkZSAiTW9kZWxFbGVtZW50Q29u
dHJvbGxlci5oIgorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgogI2VuZGlmCiAKIG5hbWVz
cGFjZSBBUEkgewpAQCAtNTg3LDkgKzU4OCwxMSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciogbW9kZWxFbGVt
ZW50Q29udHJvbGxlcigpIHsgcmV0dXJuIG1fbW9kZWxFbGVtZW50Q29udHJvbGxlci5nZXQoKTsg
fQorICAgIHZvaWQgbW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOworICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0
Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwg
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3Jl
ZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklk
KTsKKyAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7
CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZvaWQg
bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBj
b25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVk
PHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYm
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bgppbmRleCBiM2RjOGQyMDFjZDM2YWI0YzJkMDJkYmI2ODE4ZTVlZGQwNDIwNjFjLi40MTk0ZWZi
NzcyYTE3ZjZmYzJjOGNjZjc3YzJhM2VhMmIwZjUyMmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01ODQsMTEgKzU4NCwxNSBA
QCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIFRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKHVpbnQ2
NF90IGNvbnRlbnRMYXllcklEKQorICAgIFRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKHN0cnVj
dCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCiAjZW5kaWYKICNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENyZWF0
ZVByZXZpZXcoVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplKSAt
PiAoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yPiByZXN1bHQpIEFzeW5jCiAjZW5kaWYKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVcpCisgICAgTW9kZWxFbGVtZW50R2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRl
bnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCisgICAg
TW9kZWxFbGVtZW50U2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2Rl
bElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVy
YSkgLT4gKGJvb2wgc3VjY2VzcykgQXN5bmMKKyNlbmRpZgogCiAgICAgcmVxdWVzdFBlcm1pc3Np
b24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQ
ZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6
OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2RhNjU3NGY4ZDY0Mzg0M2Q5MDQyZDMx
NDQ2NTM2OWRjMTg1OGQ3Yi4uYzY2MmI0NmY4NmNjZmJhZWVmMWVmNWI5MzZkZWIwYzgyMTBmODU2
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC00NjI4LDYgKzQ2MjgsNyBAQAogCQk3MUE2NzZBNTIyQzYyMzE4MDA3RDYyOTUgLyogV0tU
b3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tOyBwYXRoID0g
aW9zL1dLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzFCQUE3MzEyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLTW9kZWxWaWV3Lmg7IHBhdGggPSBpb3Mv
V0tNb2RlbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzIyNUZG
Q0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gV0tNb2RlbFZpZXcubW07IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxRTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAv
KiBNb2RlbElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kZWxJZGVudGlmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI4MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBX
ZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjAzNDQ5QTI2QTZDNDRDMDAw
QTVGNTQgLyogTW9ub3RvbmljT2JqZWN0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb25v
dG9uaWNPYmplY3RJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcy
MDM0NDlCMjZBNkM0NzYwMDBBNUY1NCAvKiBSZW5kZXJpbmdVcGRhdGVJRC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW5kZXJpbmdVcGRhdGVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
Njc1NCw2ICs2NzU1LDcgQEAKIAkJCQkyRDEwODc1RTFEMkM1NzNFMDBCODVGODIgLyogTG9hZFBh
cmFtZXRlcnMuY3BwICovLAogCQkJCTJEMTA4NzVGMUQyQzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFy
YW1ldGVycy5oICovLAogCQkJCTQ5OTE3REIwMjUyRTMwNzUwMDUwMzEzRiAvKiBNZWRpYVBsYXli
YWNrU3RhdGUuaCAqLywKKwkJCQk3MUU5NjUwRjI3NDU2ODJFMDBBRENGNDMgLyogTW9kZWxJZGVu
dGlmaWVyLmggKi8sCiAJCQkJNzIwMzQ0OUEyNkE2QzQ0QzAwMEE1RjU0IC8qIE1vbm90b25pY09i
amVjdElkZW50aWZpZXIuaCAqLywKIAkJCQkyRDUwMzY2QTFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0
aXZlV2ViR2VzdHVyZUV2ZW50LmggKi8sCiAJCQkJQzAyQkZGMTUxMjUxNEZEODAwOUNDQkVBIC8q
IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgK
aW5kZXggM2NhYWNiMzU2NWY5Zjg2NjNiNDgyNGQ4NzdjMTRhMWU1OTNhNjMyNC4uY2MzNDRhNTdi
YTBhMDA5MzY2YTFjODBhMjRhNjhlZmFhNjdmYjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxh
eWVyLmgKQEAgLTI3LDkgKzI3LDEyIEBACiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVcpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL01vZGVsUGxheWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9Nb2RlbFBsYXllckNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorI2ltcG9y
dCAiTW9kZWxJZGVudGlmaWVyLmgiCisjaW1wb3J0ICJXZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgorI2lt
cG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5oPgorI2ltcG9ydCA8d3RmL0NvbXBpbGVy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00MywxMSArNDYsMTUgQEAgcHJvdGVjdGVk
OgogICAgIFdlYlBhZ2UqIHBhZ2UoKSB7IHJldHVybiBtX3BhZ2UuZ2V0KCk7IH0KICAgICBXZWJD
b3JlOjpNb2RlbFBsYXllckNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7
IH0KIAorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRl
bnRpZmllcigpID0gMDsKKwogcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpNb2RlbFBsYXllciBv
dmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1vZGVsJiwgV2ViQ29yZTo6TGF5b3V0
U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXllciogbGF5ZXIoKSBvdmVycmlkZTsKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOwogICAgIFdlYWtQdHI8
V2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVs
UGxheWVyLm1tCmluZGV4IGVkYmQxNGExOWNkM2IzNWRiMzA0NDY1MmJhYzM2MjFmZWNiMjcyNTEu
LjBjMDFmMjA2Y2E2ZGIwNzk1MDUwYTk0MGY1YjAwZTBjZDFkMGVlMmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXIubW0KQEAgLTU1LDYgKzU1LDUzIEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXI6OmVudGVyRnVsbHNjcmVlbigpCiB7CiB9CiAKK3ZvaWQgQVJLaXRJbmxp
bmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElk
ZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRpZmllcikgeworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2UpIHsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVD
b21wbGV0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCFyZXN1
bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigq
cmVzdWx0KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudEdldENhbWVyYSgqbW9kZWxJZGVudGlm
aWVyKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIEFSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVs
SWRlbnRpZmllcigpOworICAgIGlmICghbW9kZWxJZGVudGlmaWVyKSB7CisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8q
IHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVy
ID0gW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChib29s
IHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHN1
Y2Nlc3MpKTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudFNldENhbWVyYSgqbW9kZWxJZGVudGlm
aWVyLCBjYW1lcmEpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9z
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgKaW5kZXgg
OTdmYjY3Njg2NzVlYzY3ZjM1ZWM1ZGUzMzU5YTMzNTVkMGU5NGNhMC4uYzIwMzgwODQ5MWVhNTFk
NjAzYWUxYTFkY2JhNmVkZDU1MGEwZTgyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJJT1MuaApAQCAtNDEsNiArNDEsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEFS
S2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TKFdlYlBhZ2UmLCBXZWJDb3JlOjpNb2RlbFBs
YXllckNsaWVudCYpOwogCisgICAgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVs
SWRlbnRpZmllcigpIG92ZXJyaWRlOworCiAgICAgLy8gV2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3Zl
cnJpZGVzLgogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCkgb3ZlcnJpZGU7CiB9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllcklPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3Mv
QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KaW5kZXggZWRlMTQ1YTUxZDJmNDA5
MjEzMDAwNTQ3YTE4MTA4YTAyZDE1N2ZkNy4uMjA4ZWZmMTU1ZDM4ZTJkMjMzMDc4NTQ1OWRmYzY3
Y2M4NWYxN2JhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lv
cy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLm1t
CkBAIC00OCwxNSArNDgsMjcgQEAgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6On5B
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUygpCiB7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8
TW9kZWxJZGVudGlmaWVyPiBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6bW9kZWxJ
ZGVudGlmaWVyKCkKK3sKKyAgICBpZiAoIWNsaWVudCgpKQorICAgICAgICByZXR1cm4geyB9Owor
CisgICAgaWYgKGF1dG8gbGF5ZXJJZCA9IGNsaWVudCgpLT5wbGF0Zm9ybUxheWVySUQoKSkKKyAg
ICAgICAgcmV0dXJuIHsgeyBsYXllcklkIH0gfTsKKworICAgIHJldHVybiB7IH07Cit9CisKIC8v
IE1BUks6IC0gV2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3ZlcnJpZGVzLgogCiB2b2lkIEFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjplbnRlckZ1bGxzY3JlZW4oKQogewotICAgIGlmICgh
Y2xpZW50KCkgfHwgIXBhZ2UoKSkKKyAgICBhdXRvKiBzdHJvbmdQYWdlID0gcGFnZSgpOworICAg
IGlmICghc3Ryb25nUGFnZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKGF1dG8gbGF5ZXJJ
ZCA9IGNsaWVudCgpLT5wbGF0Zm9ybUxheWVySUQoKSkKLSAgICAgICAgcGFnZSgpLT50YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbihsYXllcklkKTsKKyAgICBpZiAoYXV0byBtb2RlbElkZW50aWZp
ZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKSkKKyAgICAgICAgc3Ryb25nUGFnZS0+c2VuZChN
ZXNzYWdlczo6V2ViUGFnZVByb3h5OjpUYWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbigqbW9kZWxJ
ZGVudGlmaWVyKSk7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJN
YWMuaAppbmRleCAzYjU1OWJjMjM0ODgwZjhhNDI4MGQxNWQ1NTQ5NGRiODYyYTUyNjEzLi5jMGYy
M2ZhNGQ5YWU5ZWI2N2YwY2M3NDY2MzE5YTlkYTZjOWZmNDUwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
TWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGlu
ZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCkBAIC00Nyw2ICs0Nyw4IEBAIHB1YmxpYzoKIHByaXZh
dGU6CiAgICAgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMoV2ViUGFnZSYsIFdlYkNv
cmU6Ok1vZGVsUGxheWVyQ2xpZW50Jik7CiAKKyAgICBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRp
Zmllcj4gbW9kZWxJZGVudGlmaWVyKCkgb3ZlcnJpZGU7CisKICAgICAvLyBXZWJDb3JlOjpNb2Rl
bFBsYXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1vZGVsJiwgV2ViQ29y
ZTo6TGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXllciogbGF5ZXIoKSBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1tCmluZGV4IDdj
N2MzZmI4ZGExYWZmMDlkYWFjMDEwYTM1MmFmYWQ5ZTcyZGFlNzMuLjBiOTBkZjQ5YjE4OTIwNWEw
YzQ1NTBjNjY2M2RiZmNhNGE5Y2ZlZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllck1hYy5tbQpAQCAtNTUsNiArNTUsMTMgQEAgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQ
bGF5ZXJNYWM6On5BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYygpCiAgICAgY2xlYXJG
aWxlKCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBBUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKCkKK3sKKyAgICBpZiAobV9pbmxp
bmVQcmV2aWV3KQorICAgICAgICByZXR1cm4geyB7IFttX2lubGluZVByZXZpZXcgdXVpZF0uVVVJ
RFN0cmluZyB9IH07CisgICAgcmV0dXJuIHsgfTsKK30KKwogc3RhdGljIFN0cmluZyYgc2hhcmVk
TW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKQogewogICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxTdHJpbmc+IHNoYXJlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAppbmRleCAzMzcxYTZmYjZiOTg5NTdmYWMxYzUxY2E2ZDFlMzRmYTkxYmQwOWY3Li4w
MDU3MzcyNTVhMjhmOTE5NDQ0ZTBiMDJiYzAxNmRjMDBhZmYxNWZkIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcApAQCAtMTUyNCwxMyArMTUyNCw2IEBAIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjplbnVt
ZXJhdGVJbW1lcnNpdmVYUkRldmljZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBQCiB9
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIFdl
YkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhp
Y3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKSBjb25zdAotewotICAgIG1f
cGFnZS50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCk7Ci19Ci0jZW5k
aWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJKQogCiB2b2lkIFdlYkNocm9tZUNsaWVu
dDo6c3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihjb25zdCBVUkwmIG9yaWdpbmF0aW5nVVJMLCBj
b25zdCBBcHBsZVBheUFNU1VJUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVu
dC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5oCmluZGV4IDZhZTgxYzNmNTdkMDQ3N2EyNTZjMTUxY2ZmNjI0OWU3MjRhM2ViMDguLjE4
NTI4YTRmYjJkYjdhNzUzZTM3YTI3NjczNDRhZjUyOTU0YjgxNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKQEAgLTQ1NSwxMCArNDU1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVudW1lcmF0ZUltbWVy
c2l2ZVhSRGV2aWNlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFBsYXRmb3JtWFI6Oklu
c3RhbmNlOjpEZXZpY2VMaXN0Jik+JiYpIGZpbmFsOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3Jl
ZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklk
KSBjb25zdCBmaW5hbDsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAg
ICAgdm9pZCBzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYsIGNvbnN0IFdlYkNv
cmU6OkFwcGxlUGF5QU1TVUlSZXF1ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9w
dGlvbmFsPGJvb2w+JiYpPiYmKSBmaW5hbDsKICAgICB2b2lkIGFib3J0QXBwbGVQYXlBTVNVSVNl
c3Npb24oKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKaW5kZXggMmZhOWE1ZTEwNzAyNTE5M2YyMDE1MzdhOGUzYzk3MjMyODhhMzA5My4uMjA3
NGI4M2JiYmE3ZDdlMTA3OGU1OTcwNWM0OTUyMWI4YjNjMGVjYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc3NzksMTMgKzc3NzksNiBAQCB2
b2lkIFdlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3QgVHJhbnNsYXRp
b25Db250ZXh0TWVudUluZm8mIGluZgogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfSU9TKQotdm9pZCBXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVl
bihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQp
Ci17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpUYWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbihjb250ZW50TGF5ZXJJZCkpOwotfQotI2VuZGlmCi0KIHZvaWQgV2ViUGFnZTo6c2Ny
b2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwgY29uc3QgV2Vi
Q29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKQogewogICAgIG1haW5GcmFtZVZpZXcoKS0+c2V0U2Ny
b2xsUG9zaXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigpKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggYjE0NTYzZTExM2Rj
OTgwN2JhY2U3YmRkNDBjMWZmNDc0NDEyMjllMi4uNjIwYzdhNzFiZGIwMGM1ODhjY2JlZWQ0NDg4
MGZmMTQ3NmYyMThhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaApAQCAtMTQ4OSwxMCArMTQ4OSw2IEBAIHB1YmxpYzoKICAgICBQbGF0Zm9ybVhSU3lzdGVt
UHJveHkmIHhyU3lzdGVtUHJveHkoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCk7Ci0jZW5k
aWYKLQogICAgIHZvaWQgcHJlcGFyZVRvUnVuTW9kYWxKYXZhU2NyaXB0RGlhbG9nKCk7CiAKICNp
ZiBVU0UoQVRTUEkpCg==
</data>
<flag name="review"
          id="469590"
          type_id="1"
          status="+"
          setter="darin"
    />
    <flag name="commit-queue"
          id="469594"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444646</attachid>
            <date>2021-11-18 00:57:30 -0800</date>
            <delta_ts>2021-11-18 01:32:55 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233265-20211118095728.patch</filename>
            <type>text/plain</type>
            <size>64533</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li42OTM4ODExMDJmNzg3
YTQ4MzdiODRhMmJlZGI1ZDlkMWMxNDVjNTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1l
bnQvSFRNTE1vZGVsRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTW9kZWxFbGVt
ZW50OjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudDo6c2V0
Q2FtZXJhKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVu
dC5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudC5pZGwuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENh
bWVyYTo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL21vZGVs
LWVsZW1lbnQvTW9kZWxQbGF5ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQv
ZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1teU1vZGVs
UGxheWVyOjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6RHVtbXlNb2RlbFBsYXllcjo6
c2V0Q2FtZXJhKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9T
Y2VuZUtpdE1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L3Nj
ZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY2VuZUtp
dE1vZGVsUGxheWVyOjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6U2NlbmVLaXRNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6dGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6
IERlbGV0ZWQuCisKIDIwMjEtMTEtMTggQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9u
IG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAyOTk3MDU4MzA2YWNmYTgzYWY5NGQwMmZi
MmQ5MDVhMDk0MzAxOWFlLi4zNzhmYTIwOWE1OThjNWY5Y2MwZDM0NTdlMTE0NzdkMjNiMTE0NGMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBbTW9kZWxdIGFkZCBzdXBw
b3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBjYW1lcmEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzI2NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODU0MjYyOTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgQWRkIHRoZSBuZXcgQVJRTCBTUElzIHdlIGFyZSB1c2luZy4KKworICAgICAgICAqIHBh
bC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9TeXN0
ZW1QcmV2aWV3U1BJLmg6CisKIDIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFjT1NdIEFkZCBzdXBwb3J0IGZvciBpbnRl
cmFjdGlvbiBvbiBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkZjA3MjQxYjc5YmIzNWNiYTk3NDAzZGNjZjk3
ODc4NWJkOGY1MGExLi4xZjY1OTg4NWYwNjVkMDRmODZmNjE5ZTRkMTljY2ZkNjE5NDBjMGNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRp
bmcgYW5kIHNldHRpbmcgdGhlIGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGUgQVJR
TCBBUElzIHdlJ2QgYWRvcHRlZCBzbyBmYXIgd2VyZSBzcGVjaWZpYyB0byBlaXRoZXIgbWFjT1Mg
b3IgaU9TLiBUaGUgbmV3IGNhbWVyYQorICAgICAgICBtZXRob2RzIGFyZSBkaWZmZXJlbnQgc2lu
Y2UgdGhleSBleGlzdCBvbiBib3RoIHBsYXRmb3Jtcy4KKworICAgICAgICBJbiBvcmRlciB0byBl
eHBvc2UgYSBzaW5nbGUgbWVzc2FnZSBmb3IgYm90aCBwbGF0Zm9ybXMsIHdlIGludHJvZHVjZSBh
IG5ldyBNb2RlbElkZW50aWZpZXIKKyAgICAgICAgc3RydWN0IHdoaWNoIHdyYXBzIHRoZSBVVUlE
IHN0cmluZyBmb3IgbWFjT1MgYW5kIHRoZSBsYXllciBpZGVudGlmaWVyIGZvciBpT1MuIFRoZW4g
b24KKyAgICAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciwgd2UgaGF2ZSB0aGUgcHJldmlld0Zv
ck1vZGVsSWRlbnRpZmllcigpIG1ldGhvZCB0byBnZXQgdGhlIG1hdGNoaW5nCisgICAgICAgIEFT
VklubGluZVByZXZpZXcgZm9yIHRoZSBwcm92aWRlZCBNb2RlbElkZW50aWZpZXIuCisKKyAgICAg
ICAgVGhpcyBhbGxvd3MgZ2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KCkgYW5kIHNldENhbWVyYUZv
ck1vZGVsRWxlbWVudCB0byBiZSBzcGVjaWZpZWQgZm9yIGJvdGgKKyAgICAgICAgaU9TIGFuZCBt
YWNPUyB3aXRoIGEgc2luZ2xlIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFdlIGFsc28gbW9k
aWZ5IHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKCkgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgTW9k
ZWxJZGVudGlmaWVyIHdoaWNoIHNob3dlZAorICAgICAgICB0aGF0IHdlIGhhZCBzb21lIGxpbmdl
cmluZyBjb2RlIGluIENocm9tZUNsaWVudCByZWxhdGVkIHRvIHRoaXMgbWV0aG9kIHRoYXQgd2Fz
IG5vIGxvbmdlcgorICAgICAgICBuZWNlc3NhcnkgZm9sbG93aW5nIHIyODU5MjIuCisKKyAgICAg
ICAgKiBTaGFyZWQvTW9kZWxJZGVudGlmaWVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmguCisg
ICAgICAgIChXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6TW9kZWxJZGVudGlmaWVyOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok1v
ZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsVmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAg
ICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50
aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbik6CisgICAgICAgIChXZWJLaXQ6OnByZXZpZXdIYXNDYW1lcmFT
dXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6Z2V0Q2Ft
ZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTW9k
ZWxFbGVtZW50Q29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudEdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50U2V0Q2FtZXJh
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyOjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpBUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6
bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJJT1M6OmVudGVyRnVsbHNjcmVlbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2Rl
bC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6Om1vZGVsSWRl
bnRpZmllcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dGFrZU1vZGVsRWxl
bWVudEZ1bGxzY3JlZW4pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisKIDIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFjT1NdIEFkZCBzdXBwb3J0IGZvciBpbnRlcmFjdGlv
biBvbiBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDBkMTQzYmY1
YjMxZjAxNTMyZmE0YzJmODZkOTg1OWVjMWIwNTVlY2EuLmYwODM1ZWU5ZDQ0ZTMxZjFhNTFlYjJm
NGIzYTc3N2FiMmNiMTQwYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5h
YmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAg
LTc0MywzICs3NDMsNyBAQAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpIHx8
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAjZGVmaW5lIEVOQUJMRV9BUktJVF9J
TkxJTkVfUFJFVklFVyAxCiAjZW5kaWYKKworI2lmIChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVdfTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEyMDQwMCkgfHwg
KEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpICYmIF9fSVBIT05FX09TX1ZFUlNJT05f
TUlOX1JFUVVJUkVEID49IDE1MDQwMCkKKyNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVW
SUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDVh
MDQxNTVjNGMwZjhiZGJiODg4MTA2MTU5NzIyZGViOWJkMDE0NTUuLjBlZTBiZTMwM2QyYTcyNWY1
MTYwM2UxMzFmNmUyMWVjMjg1NTZmY2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC00NjMsNiAr
NDYzLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50
L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsCiAKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0
aW9uLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9u
LmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNm
aWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QK
aW5kZXggZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0NmY5ZDhkNmQzYjUyMi4uYTcyZmFkNTgx
ZDYxYmNjM2M2NjA5ODdjMGUyMTdjYTBmY2NkZWYwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBAIC0xNTgsNiArMTU4LDcgQEAgJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4U3RhdGUuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL1dlYkdQVS9HUFVWZXJ0ZXhTdGVwTW9kZS5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvV2ViR1BVL05hdmlnYXRvckdQVS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYWly
cGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50LmlkbAorJChQUk9KRUNU
X0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5Q29udGFjdEZpZWxkLmlkbAog
JChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvdXBvbkNvZGVDaGFuZ2Vk
RXZlbnQuaWRsCkBAIC0yMDUsNyArMjA2LDYgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBs
ZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRlLmlkbAogJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlNb2RpZmllci5p
ZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQ
YXlSZXF1ZXN0LmlkbAotJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBw
bGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBi
b2FyZC9DbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2Fy
ZC9DbGlwYm9hcmRJdGVtLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvTmF2aWdhdG9yK0NsaXBib2FyZC5pZGwKQEAgLTQyOCw2ICs0MjgsNyBAQCAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRzUmVwb3J0LmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2ZW50LmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbAorJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCiAkKFBS
T0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9hY3Rpdml0
eS1pbmRpY2F0b3IuY3NzCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1jb250
cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5jc3MKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
bW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2FpcnBsYXktYnV0dG9uLmpzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IDRjNWZm
OTU0YTE1OTdlZGJmNTBkNjJhZDcyOTA3NDI4YzVkMDUzYjYuLmIyMjQxNzIxMGRkYmEzNzBjZjY0
ZmY5OTFlYjA1ODg1MzkxM2ZlN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjgzLDYgKzEyODMsOCBAQCAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RFbGVtZW50LmNwcAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVu
dC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxN
b2RlbEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9M
aXN0RWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTSFRNTE9MaXN0RWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0hUTUxPYmplY3RFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4u
YjFiNmE4YTU1MTkxMjY2MzRiNTE5NjA1Nzk3ZGFiNGM2NTkyZWM4MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCkBAIC00NTMsNiArNDUzLDcgQEAgSlNfQklORElOR19JRExTIDo9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90
aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmlj
YXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxsYmFjay5pZGwgXApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQu
Y3BwCmluZGV4IDRmYTZkZTkzYjBlNDY3ZmFmNTdiYTRkMjE2YTg4ZjcwODM3ZDI5YWUuLjg2Nzgw
M2IyZDYyZTNiNjA3MWM5NjEyMDdlYTIwOWE3ZGNlZjZiYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAK
QEAgLTM3LDExICszNywxNCBAQAogI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNpbmNsdWRlICJH
cmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllckNBLmgiCisjaW5jbHVkZSAi
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1
ZGUgIkhUTUxQYXJzZXJJZGlvbXMuaCIKICNpbmNsdWRlICJIVE1MU291cmNlRWxlbWVudC5oIgor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNFdmVudFRhcmdl
dC5oIgogI2luY2x1ZGUgIkpTSFRNTE1vZGVsRWxlbWVudC5oIgorI2luY2x1ZGUgIkpTSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIk1vZGVsLmgiCiAjaW5jbHVkZSAiTW9kZWxQ
bGF5ZXIuaCIKICNpbmNsdWRlICJNb2RlbFBsYXllclByb3ZpZGVyLmgiCkBAIC0zNjAsNiArMzYz
LDM4IEBAIHZvaWQgSFRNTE1vZGVsRWxlbWVudDo6ZHJhZ0RpZEVuZChNb3VzZUV2ZW50JiBldmVu
dCkKICAgICAgICAgbV9tb2RlbFBsYXllci0+aGFuZGxlTW91c2VVcChldmVudC5wYWdlTG9jYXRp
b24oKSwgZXZlbnQudGltZVN0YW1wKCkpOwogfQogCisvLyBNQVJLOiDigJMgQ2FtZXJhIHN1cHBv
cnQuCisKK3ZvaWQgSFRNTE1vZGVsRWxlbWVudDo6Z2V0Q2FtZXJhKENhbWVyYVByb21pc2UmJiBw
cm9taXNlKQoreworICAgIGlmICghbV9tb2RlbFBsYXllcikgeworICAgICAgICBwcm9taXNlLnJl
amVjdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9tb2RlbFBsYXllci0+Z2V0
Q2FtZXJhKFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKHN0ZDo6b3B0aW9uYWw8SFRNTE1v
ZGVsRWxlbWVudENhbWVyYT4gY2FtZXJhKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCFjYW1lcmEp
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgICAgICBlbHNlCisgICAgICAgICAg
ICBwcm9taXNlLnJlc29sdmUoKmNhbWVyYSk7CisgICAgfSk7Cit9CisKK3ZvaWQgSFRNTE1vZGVs
RWxlbWVudDo6c2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhLCBET01Qcm9t
aXNlRGVmZXJyZWQ8dm9pZD4mJiBwcm9taXNlKQoreworICAgIGlmICghbV9tb2RlbFBsYXllcikg
eworICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgbV9tb2RlbFBsYXllci0+c2V0Q2FtZXJhKGNhbWVyYSwgW3Byb21pc2UgPSBXVEZNb3ZlKHBy
b21pc2UpXSAoYm9vbCBzdWNjZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHN1Y2Nlc3MpCisg
ICAgICAgICAgICBwcm9taXNlLnJlc29sdmUoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAg
cHJvbWlzZS5yZWplY3QoKTsKKyAgICB9KTsKK30KKwogfQogCiAjZW5kaWYgLy8gRU5BQkxFKE1P
REVMX0VMRU1FTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVs
ZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAppbmRleCBmZWViY2M1OTMwNmM1ZjI0NWI5NDMwMTYz
NDQzMGQ3NTk0ZWU2YzU5Li5mYzRjZDY4ZGEyNTRjNTAyZGFkNGM1MjIzNWQyNjVlZTQ5NGE4NDBi
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1v
ZGVsRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9I
VE1MTW9kZWxFbGVtZW50LmgKQEAgLTMyLDYgKzMyLDcgQEAKICNpbmNsdWRlICJDYWNoZWRSZXNv
dXJjZUhhbmRsZS5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJIVE1M
RWxlbWVudC5oIgorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCIKICNpbmNsdWRl
ICJJRExUeXBlcy5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyQ2xpZW50LmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1MYXllci5oIgpAQCAtNDUsNiArNDYsNyBAQCBjbGFzcyBNb2RlbDsKIGNsYXNzIE1v
ZGVsUGxheWVyOwogY2xhc3MgTW91c2VFdmVudDsKIAordGVtcGxhdGU8dHlwZW5hbWUgSURMVHlw
ZT4gY2xhc3MgRE9NUHJvbWlzZURlZmVycmVkOwogdGVtcGxhdGU8dHlwZW5hbWUgSURMVHlwZT4g
Y2xhc3MgRE9NUHJvbWlzZVByb3h5V2l0aFJlc29sdmVDYWxsYmFjazsKIAogY2xhc3MgSFRNTE1v
ZGVsRWxlbWVudCBmaW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHJpdmF0ZSBDYWNoZWRSYXdS
ZXNvdXJjZUNsaWVudCwgcHVibGljIE1vZGVsUGxheWVyQ2xpZW50IHsKQEAgLTY5LDYgKzcxLDEw
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCk7CiAKKyAgICB1c2luZyBD
YW1lcmFQcm9taXNlID0gRE9NUHJvbWlzZURlZmVycmVkPElETERpY3Rpb25hcnk8SFRNTE1vZGVs
RWxlbWVudENhbWVyYT4+OworICAgIHZvaWQgZ2V0Q2FtZXJhKENhbWVyYVByb21pc2UmJik7Cisg
ICAgdm9pZCBzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSwgRE9NUHJvbWlzZURlZmVy
cmVkPHZvaWQ+JiYpOworCiAgICAgYm9vbCBpc0RyYWdnYWJsZUlnbm9yaW5nQXR0cmlidXRlcygp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmlk
bAppbmRleCAxNjNhZDZjM2FhZTdmNzE0NjFhYTBiYjk3YzBlMGI2N2FjYTBmYzdhLi5lN2VkNDA5
MWIzOTBlNzRlMWVmYTBjZjM5ZGFhMTVhZmJiYTYyNmY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCkBA
IC0zMyw0ICszMyw3IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8SFRNTE1vZGVs
RWxlbWVudD4gcmVhZHk7CiAKICAgICB1bmRlZmluZWQgZW50ZXJGdWxsc2NyZWVuKCk7CisKKyAg
ICBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGdldENhbWVyYSgpOworICAgIFByb21p
c2U8dW5kZWZpbmVkPiBzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEpOwog
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZmMWQ5NGE5ZDBiZDMzMjMz
NjQ4Nzk1NzQ2NjE1MmJjZjM1YzZhNGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPG9wdGlvbmFsPgorCituYW1lc3BhY2UgV2ViQ29yZSB7
CisKK3N0cnVjdCBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIHsKKyAgICBkb3VibGUgcGl0Y2ggeyAw
IH07CisgICAgZG91YmxlIHlhdyB7IDAgfTsKKyAgICBkb3VibGUgc2NhbGUgeyAxIH07CisKKyAg
ICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7Cisg
ICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVs
RWxlbWVudENhbWVyYT4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVu
Y29kZXI+IHZvaWQgSFRNTE1vZGVsRWxlbWVudENhbWVyYTo6ZW5jb2RlKEVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBwaXRjaDsKKyAgICBlbmNvZGVyIDw8IHlhdzsK
KyAgICBlbmNvZGVyIDw8IHNjYWxlOworfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGQ6
Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6
OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworICAgIHN0ZDo6b3B0aW9uYWw8ZG91YmxlPiBw
aXRjaDsKKyAgICBkZWNvZGVyID4+IHBpdGNoOworICAgIGlmICghcGl0Y2gpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4geWF3OworICAg
IGRlY29kZXIgPj4geWF3OworICAgIGlmICgheWF3KQorICAgICAgICByZXR1cm4gc3RkOjpudWxs
b3B0OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHNjYWxlOworICAgIGRlY29kZXIgPj4g
c2NhbGU7CisgICAgaWYgKCFzY2FsZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKwor
ICAgIHJldHVybiB7IHsgKnBpdGNoLCAqeWF3LCAqc2NhbGUgfSB9OworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
NzI3MDkzMWQ3ZjFlYjZkZDQ1YWYwZGNjM2U5NGQyN2RkOGJiYzI3Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBU
SEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9TU9ERUxfRUxFTUVOVCwKKyAgICBF
bmFibGVkQnlTZXR0aW5nPU1vZGVsRWxlbWVudEVuYWJsZWQsCisgICAgSlNHZW5lcmF0ZVRvSlNP
YmplY3QKK10gZGljdGlvbmFyeSBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIHsKKyAgICBkb3VibGUg
cGl0Y2g7CisgICAgZG91YmxlIHlhdzsKKyAgICBkb3VibGUgc2NhbGU7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXIuaAppbmRleCA2
NzVhNDBmMjhkY2U2ZWI1M2Q1ZmI0MTkwZjdhYjU3NjE1NzQ2NzE1Li45YWVlY2I1YTNkY2U0Y2Ix
Mzc0YzM1MTFlMzhjODU4N2UyMDlmOTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXIuaApAQCAtMjUsOSArMjUsMTEgQEAKIAogI3By
YWdtYSBvbmNlCiAKKyNpbmNsdWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVk
ZSAiTGF5b3V0UG9pbnQuaCIKICNpbmNsdWRlICJMYXlvdXRTaXplLmgiCiAjaW5jbHVkZSAiUGxh
dGZvcm1MYXllci5oIgorI2luY2x1ZGUgPG9wdGlvbmFsPgogI2luY2x1ZGUgPHd0Zi9Gb3J3YXJk
Lmg+CiAjaW5jbHVkZSA8d3RmL01vbm90b25pY1RpbWUuaD4KIApAQCAtNDcsNyArNDksOCBAQCBw
dWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlRG93bihjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VNb3Zl
KGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgPSAwOwot
CisgICAgdmlydHVhbCB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6
b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpID0gMDsKKyAgICB2aXJ0dWFs
IHZvaWQgc2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoYm9vbCYmKT4mJikgPSAwOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
Y3BwCmluZGV4IDY4NzQ4NDBmYjhlOWUwNjBlMTM1MDFjZjk2YzE5NmQ4NmQ2MjU4MjMuLmM1Mjlm
MDc5ZTc4MmY0ODAwODJhYjZmZDEwOWE0ZmE1NTY5YWIzZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2Rl
bFBsYXllci5jcHAKQEAgLTcwLDQgKzcwLDEyIEBAIHZvaWQgRHVtbXlNb2RlbFBsYXllcjo6aGFu
ZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpCiB7CiB9CiAKK3Zv
aWQgRHVtbXlNb2RlbFBsYXllcjo6Z2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3Rk
OjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikKK3sKK30K
Kwordm9pZCBEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKQoreworfQorCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkv
RHVtbXlNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuaAppbmRleCAzYmIxYjg4ZDEyZjM5ZTg0MzQyY2I1NTEy
NDdkYWY1MDc3MzdmZjg0Li43OTYxMzQ1YTQ2MjZiMzJmMjQxYWU0MjViNTYzYzBiZjAwMTI5NDNm
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkv
RHVtbXlNb2RlbFBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxl
bWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHJpdmF0ZToK
ICAgICB2b2lkIGhhbmRsZU1vdXNlRG93bihjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1Rp
bWUpIG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VNb3ZlKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZVVwKGNvbnN0
IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBnZXRDYW1l
cmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldENhbWVyYShXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wm
Jik+JiYpIG92ZXJyaWRlOwogCiAgICAgV2Vha1B0cjxNb2RlbFBsYXllckNsaWVudD4gbV9jbGll
bnQ7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKaW5kZXggOWI0ZjFk
Zjg3OTNmNzYzNmQwMjVjYTQ0MzAyYzFhMWM4NWQ4MWI3OC4uZTc4NTRmODBiYjdkMjdkMGRlZDky
YTQzMDNiODM5Y2I2MmQ2MTA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXll
ci5oCkBAIC02MSw2ICs2MSw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd24o
Y29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhh
bmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpIG92ZXJyaWRl
OwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1Rp
bWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
c3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsKIAogICAgIC8vIFNjZW5lS2l0TW9kZWxMb2Fk
ZXJDbGllbnQgb3ZlcnJpZGVzLgogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKFNj
ZW5lS2l0TW9kZWxMb2FkZXImLCBSZWY8U2NlbmVLaXRNb2RlbD4pIG92ZXJyaWRlOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5l
S2l0TW9kZWxQbGF5ZXIubW0gYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
c2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbQppbmRleCA3NzZjNjhmYzZmNTFmOTY3Yzhk
NDM3M2YyZDAwYmQ2NDllMTA0MmI3Li5mNDMwOWViNjE0ODliZTYxMTk3NWFkNWQ0Mzg1NTBlZGI3
NjI2Yjg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
c2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbQpAQCAtODgs
NiArODgsMTQgQEAgdm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpoYW5kbGVNb3VzZVVwKGNvbnN0
IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkKIHsKIH0KIAordm9pZCBTY2VuZUtpdE1vZGVs
UGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhU
TUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYmKQoreworfQorCit2b2lkIFNjZW5lS2l0TW9kZWxQ
bGF5ZXI6OnNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKGJvb2wmJik+JiYpCit7Cit9CisKIC8vIE1BUks6IC0gU2NlbmVLaXRNb2RlbExvYWRl
ckNsaWVudCBvdmVycmlkZXMuCiAKIHZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6ZGlkRmluaXNo
TG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVyJiBsb2FkZXIsIFJlZjxTY2VuZUtpdE1vZGVsPiBt
b2RlbCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1Q
cmV2aWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmll
d1NQSS5oCmluZGV4IDVhMWFkMzA5YWU5YWFlNDY3YzVmODU0YTExNGY2MjRiODBkMjBhZjUuLmI4
OTVjYmM0MzUzNThjMzg5YjgyMTFmZTVlNWU3NWIwMTUyMjRhNWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaApAQCAtODEsNiArODEs
OCBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0lPUykKIAorI2ltcG9ydCA8c2ltZC9zaW1kLmg+CisKIEBjbGFzcyBBU1ZJbmxpbmVQ
cmV2aWV3OwogQGNsYXNzIENBRmVuY2VIYW5kbGU7CiBAaW50ZXJmYWNlIEFTVklubGluZVByZXZp
ZXcgOiBOU09iamVjdApAQCAtOTcsNiArOTksMTAgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
IC0gKHZvaWQpdG91Y2hlc0VuZGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZl
bnQ6KG51bGxhYmxlIFVJRXZlbnQgKilldmVudDsKIC0gKHZvaWQpdG91Y2hlc0NhbmNlbGxlZDoo
TlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2ZW50ICop
ZXZlbnQ7CiAKK3R5cGVkZWYgdm9pZCAoXkFTVkNhbWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spIChz
aW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpOwor
LSAodm9pZClnZXRDYW1lcmFUcmFuc2Zvcm06KEFTVkNhbWVyYVRyYW5zZm9ybVJlcGx5QmxvY2sp
cmVwbHk7CistICh2b2lkKXNldENhbWVyYVRyYW5zZm9ybTooc2ltZF9mbG9hdDMpdHJhbnNmb3Jt
OworCiBAZW5kCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9TeXN0ZW1QcmV2aWV3U1BJLmgKaW5kZXggNjBhYmNmNzc2OGIyNGRjYzM2OTljOTU1ZmM0Nzdk
YzcwYTg2ZWVjNi4uMGQ5ZDJkYzFmNjhiNDg2NTVjN2JmNTY0MTNjMzhhNmY0ODBjMGIwOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5o
CkBAIC0zNSw2ICszNSw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogCisjaW1wb3J0IDxzaW1kL3NpbWQuaD4KKwogQGNs
YXNzIEFTVklubGluZVByZXZpZXc7CiAKIEBpbnRlcmZhY2UgQVNWSW5saW5lUHJldmlldyA6IE5T
T2JqZWN0CkBAIC01Miw2ICs1NCwxMCBAQCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogLSAodm9p
ZCltb3VzZURyYWdnZWRBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIHRpbWVzdGFtcDooTlNU
aW1lSW50ZXJ2YWwpdGltZXN0YW1wOwogLSAodm9pZCltb3VzZVVwQXRMb2NhdGlvbjooQ0dQb2lu
dClsb2NhdGlvbiB0aW1lc3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVzdGFtcDsKIAordHlwZWRl
ZiB2b2lkICheQVNWQ2FtZXJhVHJhbnNmb3JtUmVwbHlCbG9jaykgKHNpbWRfZmxvYXQzIGNhbWVy
YVRyYW5zZm9ybSwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcik7CistICh2b2lkKWdldENhbWVy
YVRyYW5zZm9ybTooQVNWQ2FtZXJhVHJhbnNmb3JtUmVwbHlCbG9jaylyZXBseTsKKy0gKHZvaWQp
c2V0Q2FtZXJhVHJhbnNmb3JtOihzaW1kX2Zsb2F0Myl0cmFuc2Zvcm07CisKIEBlbmQKIAogI2Vu
ZGlmIC8vIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4
IGU5MjhmZjk0OTQ1ODNiNjRlZDYwZjU1YTg3OTQzNTAxMWQ3NjQyYjQuLjA0OTI4NDc5MjA3ZmRm
MzhiNGNkNTY3ZmQ5NTJlMDZlN2MyOTY0MGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0zMzAyLDYgKzMz
MDIsNyBAQCBKU0hUTUxNZXRhRWxlbWVudC5jcHAKIEpTSFRNTE1ldGVyRWxlbWVudC5jcHAKIEpT
SFRNTE1vZEVsZW1lbnQuY3BwCiBKU0hUTUxNb2RlbEVsZW1lbnQuY3BwCitKU0hUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEuY3BwCiBKU0hUTUxPTGlzdEVsZW1lbnQuY3BwCiBKU0hUTUxPYmplY3RFbGVt
ZW50LmNwcAogSlNIVE1MT3B0R3JvdXBFbGVtZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGVkNjdmOTA2ZThlZTA0NzI4
ODQyNGU0MDE1MjFlMjQ5NzkzM2EzNDIuLjU5ZTc2ZDlkZjk3YjYwYzFhMmIwODg1YmE1MGRhZmFm
OWFmOTA0MmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTIyNzUsNiArMjI3NSw3IEBACiAJCTcxNUFENzIxMjA1MDUxM0YwMEQ1
OTJEQyAvKiBDU1NUcmFuc2l0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3MTIzQzE4NjIwNDczOUJBMDA3ODkzOTIgLyogQ1NTVHJhbnNpdGlvbi5o
ICovOyB9OwogCQk3MTcyOUY3QjIwRjNCQTQ5MDA4MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9w
dGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcx
NzI5RjdBMjBGM0JBM0EwMDgwMUNFNiAvKiBEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxNzI5RjdFMjBG
M0JCNDcwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTcyOUY3QzIwRjNCQUI5MDA4MDFD
RTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oICovOyB9OworCQk3MTc3QUQ1NzI3NDI5
NUQxMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE3N0FENTYyNzQyOTU5MDAwMkYxMDNCIC8q
IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3MTgxQTE2QzI0NEYwRjQwMDA3RDhBMjQgLyogRG9jdW1lbnRU
aW1lbGluZXNDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA3MTgxQTE2OTI0NEYwRjJDMDA3RDhBMjQgLyogRG9jdW1lbnRUaW1lbGluZXND
b250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJNzFBMUI2MDgxREVFNUFENzAwNzNCQ0ZCIC8qIG1vZGVybi1tZWRpYS1jb250cm9scy1s
b2NhbGl6ZWQtc3RyaW5ncy5qcyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzFBMUI2MDYxREVFNUE4MjAwNzNCQ0ZCIC8qIG1vZGVybi1tZWRpYS1jb250
cm9scy1sb2NhbGl6ZWQtc3RyaW5ncy5qcyAqLzsgfTsKIAkJNzFBM0QxODEyNTYyQjg1QjAwNjRF
MkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDcxQTNEMTdEMjU2MkI4MjQwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVt
ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAg
LTEwNzc4LDYgKzEwNzc5LDEwIEBACiAJCTcxNzI5RjdDMjBGM0JBQjkwMDgwMUNFNiAvKiBKU0Rv
Y3VtZW50VGltZWxpbmVPcHRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzE3MjlGN0QyMEYzQkFCQTAwODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNEb2N1bWVudFRpbWVs
aW5lT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzNERUJEMjYx
NERGMDQwMDk3REYzMiAvKiBTdHlsZWFibGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gU3R5bGVhYmxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NzE3N0FENTQyNzQyOTUyRjAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1NjI3NDI5NTkwMDAyRjEwM0IgLyogSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdB
RDU4Mjc0MjlDQ0EwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE3N0FENTkyNzQyOUNDQjAwMkYx
MDNCIC8qIEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzE3N0UyNDYxREI4MEQyRjAwOTE5QTBCIC8qIG1lZGlhLWNvbnRyb2xsZXIt
c3VwcG9ydC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJtZWRp
YS1jb250cm9sbGVyLXN1cHBvcnQuanMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
MTc3RTI0NzFEQjgwRDJGMDA5MTlBMEIgLyogbXV0ZS1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gIm11dGUtc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcxNzdFMjQ4MURCODBEMkYwMDkxOUEwQiAvKiBzdGFydC1zdXBw
b3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gInN0YXJ0LXN1
cHBvcnQuanMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg5NjIsMTEgKzE4OTY3
LDExIEBACiAJCTFBNTY5Q0M0MEQ3RTJCNjAwMDdDMzk4MyAvKiBicmlkZ2UgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTU5QjU5NzcxMTEwODY1NTYwMDcx
NTlFOCAvKiBqc2MgKi8sCiAJCQkJMUE1NjlDRTIwRDdFMkI4MjAwN0MzOTgzIC8qIG9iamMgKi8s
CiAJCQkJNTk5RTc1OEYxMTA1NUExRjAwRDkwNEZBIC8qIEJyaWRnZS5oICovLAogCQkJCTFBNzFE
NTc5MEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmNwcCAqLywKIAkJCQkxQTcxRDU3
QTBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5oICovLAotCQkJCTU5QjU5NzcxMTEw
ODY1NTYwMDcxNTlFOCAvKiBqc2MgKi8sCiAJCQkJMUE1NjlDRUYwRDdFMkI4MjAwN0MzOTgzIC8q
IHJ1bnRpbWVfYXJyYXkuY3BwICovLAogCQkJCTFBNTY5Q0YwMEQ3RTJCODIwMDdDMzk4MyAvKiBy
dW50aW1lX2FycmF5LmggKi8sCiAJCQkJMUE1NjlDRjEwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRp
bWVfbWV0aG9kLmNwcCAqLywKQEAgLTIzODE1LDYgKzIzODIwLDggQEAKIAkJCQk3MUEzRDE4MDI1
NjJCODI1MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5jcHAgKi8sCiAJCQkJNzFBM0QxN0Qy
NTYyQjgyNDAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaCAqLywKIAkJCQk3MUEzRDE3RjI1
NjJCODI0MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5pZGwgKi8sCisJCQkJNzE3N0FENTYy
NzQyOTU5MDAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAqLywKKwkJCQk3MTc3
QUQ1NDI3NDI5NTJGMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwgKi8sCiAJ
CQkJQkMyQjQxMTQyNzMyRjA2MjAwQTJEMTkxIC8qIE1vZGVsUGxheWVyLmNwcCAqLywKIAkJCQlC
QzJCNDExMzI3MzJGMDYyMDBBMkQxOTEgLyogTW9kZWxQbGF5ZXIuaCAqLywKIAkJCQlCQzJCNDEx
MjI3MzJGMDNDMDBBMkQxOTEgLyogTW9kZWxQbGF5ZXJDbGllbnQuY3BwICovLApAQCAtMjYwOTMs
NiArMjYxMDAsOCBAQAogCQkJCUE3QkJFMjY1MTFBRkIzRjIwMDA1RUEwMyAvKiBKU0hUTUxNZXRl
ckVsZW1lbnQuaCAqLywKIAkJCQk3MUEzRDE4MjI1NjJCRERCMDA2NEUyQTYgLyogSlNIVE1MTW9k
ZWxFbGVtZW50LmNwcCAqLywKIAkJCQk3MUEzRDE4MzI1NjJCRERCMDA2NEUyQTYgLyogSlNIVE1M
TW9kZWxFbGVtZW50LmggKi8sCisJCQkJNzE3N0FENTgyNzQyOUNDQTAwMkYxMDNCIC8qIEpTSFRN
TE1vZGVsRWxlbWVudENhbWVyYS5jcHAgKi8sCisJCQkJNzE3N0FENTkyNzQyOUNDQjAwMkYxMDNC
IC8qIEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovLAogCQkJCTFBRTJBQjFGMEExQ0U2M0Iw
MEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50LmNwcCAqLywKIAkJCQkxQUUyQUIyMDBBMUNFNjNC
MDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5oICovLAogCQkJCUJDMzA1Qzc3MEMwNzZCQjMw
MENEMjBGMCAvKiBKU0hUTUxPYmplY3RFbGVtZW50LmNwcCAqLywKQEAgLTMzNzI5LDYgKzMzNzM4
LDcgQEAKIAkJCQlBODcxREMyNDBBMTUyMDU3MDBCMTJBNjggLyogSFRNTE1ldGFFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQlBNDU0NDI0QjExOUIzNjYxMDA5QkU5MTIgLyogSFRNTE1ldGVy
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzFBM0QxODEyNTYyQjg1QjAwNjRFMkE2IC8q
IEhUTUxNb2RlbEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTcxNzdBRDU3Mjc0Mjk1RDEw
MDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggaW4gSGVhZGVycyAqLywKIAkJCQlB
OENGRjdBNzBBMTU2OTc4MDAwQTQyMzQgLyogSFRNTE1vZEVsZW1lbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE4REYzRkQ0MDk3RkEwRkMwMDUyOTgxQiAvKiBIVE1MTmFtZUNvbGxlY3Rpb24uaCBp
biBIZWFkZXJzICovLAogCQkJCUE4NzFENDVBMEExMjdDQkMwMEIxMkE2OCAvKiBIVE1MT2JqZWN0
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2Fk
ZXIvRW1wdHlDbGllbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
Y3BwCmluZGV4IDNiYWUzYzIyNWY2MGM4ODRhNmE0Y2UyYWY5Y2Y5ZWY4NzJiYzFiMmYuLjNhMDY0
YmM3MjMxYTM2MDBjYzgzZGM1OGE5YTJlN2ZmMmVlOTZiMzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRl
ci9FbXB0eUNsaWVudHMuY3BwCkBAIC01ODMsMTIgKzU4Myw2IEBAIHZvaWQgRW1wdHlDaHJvbWVD
bGllbnQ6OnNob3dTaGFyZVNoZWV0KFNoYXJlRGF0YVdpdGhQYXJzZWRVUkwmLCBDb21wbGV0aW9u
SGFuZGxlCiB7CiB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9p
ZCBFbXB0eUNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6
R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdAotewotfQotI2VuZGlmCi0KIHZv
aWQgRW1wdHlGcmFtZUxvYWRlckNsaWVudDo6ZGlzcGF0Y2hEZWNpZGVQb2xpY3lGb3JOZXdXaW5k
b3dBY3Rpb24oY29uc3QgTmF2aWdhdGlvbkFjdGlvbiYsIGNvbnN0IFJlc291cmNlUmVxdWVzdCYs
IEZvcm1TdGF0ZSosIGNvbnN0IFN0cmluZyYsIFBvbGljeUNoZWNrSWRlbnRpZmllciwgRnJhbWVQ
b2xpY3lGdW5jdGlvbiYmKQogewogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCmlu
ZGV4IDBjNzk3M2YwMGExZjM2ZTI3MDEzYTE2MTZkYmM5NmExODBjNWNmMDguLjUyMjYxODczMWQ3
NTZlYTRiZjhiOTZkZjAwNDM1ZjgzNTU4ZWU5MWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmgKQEAgLTIxNywxMCArMjE3LDYgQEAgY2xhc3MgRW1wdHlDaHJvbWVDbGllbnQgOiBw
dWJsaWMgQ2hyb21lQ2xpZW50IHsKICAgICB2b2lkIGRpZEFzc29jaWF0ZUZvcm1Db250cm9scyhj
b25zdCBWZWN0b3I8UmVmUHRyPEVsZW1lbnQ+PiYsIEZyYW1lJikgZmluYWwgeyB9CiAgICAgYm9v
bCBzaG91bGROb3RpZnlPbkZvcm1DaGFuZ2VzKCkgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAot
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxF
bGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQp
IGNvbnN0IGZpbmFsOwotI2VuZGlmCi0KICAgICBSZWZQdHI8SWNvbj4gY3JlYXRlSWNvbkZvckZp
bGVzKGNvbnN0IFZlY3RvcjxTdHJpbmc+JiAvKiBmaWxlbmFtZXMgKi8pIGZpbmFsIHsgcmV0dXJu
IG51bGxwdHI7IH0KIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21l
Q2xpZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCmluZGV4IGUxM2Uz
ODdkMTkxNjhhYzVmZDM1OWIyZTYxNmQ0M2RkM2YxNzUwMjIuLmYyMzkxNDU3MDZkMGIxOTA1NDEw
YWQ4ZTY2Y2ZlOTkwMGNkYzc2ZWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hy
b21lQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApAQCAt
NjA1LDEwICs2MDUsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHRleHRBdXRvc2l6aW5n
VXNlc0lkZW1wb3RlbnRNb2RlQ2hhbmdlZCgpIHsgfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZpcnR1YWwgdm9pZCB0YWtlTW9kZWxFbGVtZW50
RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpIGNvbnN0
IHsgfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICAgICB2aXJ0dWFs
IHZvaWQgc3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihjb25zdCBVUkwmLCBjb25zdCBBcHBsZVBh
eUFNU1VJUmVxdWVzdCYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29s
PiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikgeyBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxv
cHQpOyB9CiAgICAgdmlydHVhbCB2b2lkIGFib3J0QXBwbGVQYXlBTVNVSVNlc3Npb24oKSB7IH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL01vZGVsSWRlbnRpZmllci5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDQxM2FkMGFh
NDIzODUzMDk4M2VlYzQ0NDYxN2FlYmVhZmQ0NjRiOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL01vZGVsSWRlbnRpZmllci5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisK
KyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorI2ltcG9ydCA8V2ViQ29yZS9H
cmFwaGljc0xheWVyLmg+CisjZW5kaWYKKworc3RydWN0IE1vZGVsSWRlbnRpZmllciB7CisjaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyAgICBTdHJpbmcgdXVpZDsKKyNlbGlm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6UGxhdGZvcm1MYXllcklEIGxheWVySWRlbnRpZmllcjsKKyNlbmRpZgorCisgICAgdGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRl
bXBsYXRlPGNsYXNzIERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmll
cj4gZGVjb2RlKERlY29kZXImKTsKK307CisKK3RlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQg
TW9kZWxJZGVudGlmaWVyOjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIGVuY29kZXIgPDwgdXVpZDsKKyNl
bGlmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgZW5jb2RlciA8PCBsYXll
cklkZW50aWZpZXI7CisjZW5kaWYKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpv
cHRpb25hbDxNb2RlbElkZW50aWZpZXI+IE1vZGVsSWRlbnRpZmllcjo6ZGVjb2RlKERlY29kZXIm
IGRlY29kZXIpCit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyAgICBz
dGQ6Om9wdGlvbmFsPFN0cmluZz4gdXVpZDsKKyAgICBkZWNvZGVyID4+IHV1aWQ7CisgICAgaWYg
KCF1dWlkKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgIHJldHVybiB7IHsgV1RG
TW92ZSgqdXVpZCkgfSB9OworI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykK
KyAgICBzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJ
RD4gbGF5ZXJJZGVudGlmaWVyOworICAgIGRlY29kZXIgPj4gbGF5ZXJJZGVudGlmaWVyOworICAg
IGlmICghbGF5ZXJJZGVudGlmaWVyKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAg
IHJldHVybiB7IHsgKmxheWVySWRlbnRpZmllciB9IH07CisjZW5kaWYKK30KKworI2VuZGlmCisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0gYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KaW5kZXggNzdi
YWJmNzY1NjVhMmJhYWU4MWQwZGE0YTQ4NTgzZjc2NWI0ZTJkMS4uMGU5MTllZjVhZThlMDRlNDY3
YTM3MTY5ODJmNTIzMjQwYmJjY2JkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQpAQCAtMzAs
NiArMzAsMTIgQEAKIAogI2ltcG9ydCAiTG9nZ2luZy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCisjaW1wb3J0IDxXZWJDb3JlL0xheW91dFBvaW50Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0xh
eW91dFVuaXQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgorI2ltcG9ydCA8
c2ltZC9zaW1kLmg+CisjaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgorI2ltcG9ydCA8d3RmL01v
bm90b25pY1RpbWUuaD4KIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAj
aW1wb3J0ICJBUElVSUNsaWVudC5oIgpAQCAtNDIsMTIgKzQ4LDcgQEAKICNlbmRpZgogCiAjaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKLSNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0
UG9pbnQuaD4KLSNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0VW5pdC5oPgotI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxwYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJ
Lmg+Ci0jaW1wb3J0IDx3dGYvTWFpblRocmVhZC5oPgotI2ltcG9ydCA8d3RmL01vbm90b25pY1Rp
bWUuaD4KICNlbmRpZgogCiBTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUksoQXNzZXRWaWV3ZXIp
OwpAQCAtNTcsMzAgKzU4LDM2IEBAIG5hbWVzcGFjZSBXZWJLaXQgewogCiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykKIAotdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9y
bUxheWVySUQgY29udGVudExheWVySWQpCitXS01vZGVsVmlldyAqIE1vZGVsRWxlbWVudENvbnRy
b2xsZXI6Om1vZGVsVmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElkZW50aWZpZXIgbW9kZWxJ
ZGVudGlmaWVyKQogewogICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJlZmVyZW5jZXMoKS5tb2Rl
bEVsZW1lbnRFbmFibGVkKCkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIG5pbDsK
IAogICAgIGlmICghaXM8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4obV93ZWJQYWdl
UHJveHkuZHJhd2luZ0FyZWEoKSkpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIG5p
bDsKIAotICAgIGF1dG8qIG5vZGUgPSBkb3duY2FzdDxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJl
YVByb3h5PigqbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5ZXJUcmVlSG9z
dCgpLm5vZGVGb3JJRChjb250ZW50TGF5ZXJJZCk7CisgICAgYXV0byogbm9kZSA9IGRvd25jYXN0
PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCptX3dlYlBhZ2VQcm94eS5kcmF3aW5n
QXJlYSgpKS5yZW1vdGVMYXllclRyZWVIb3N0KCkubm9kZUZvcklEKG1vZGVsSWRlbnRpZmllci5s
YXllcklkZW50aWZpZXIpOwogICAgIGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gbmlsOwogCi0gICAgYXV0byAqdmlldyA9IG5vZGUtPnVpVmlldygpOwotICAgIGlm
ICghdmlldykKLSAgICAgICAgcmV0dXJuOworICAgIHJldHVybiBkeW5hbWljX29iamNfY2FzdDxX
S01vZGVsVmlldz4obm9kZS0+dWlWaWV3KCkpOworfQogCi0gICAgaWYgKCFbdmlldyBpc0tpbmRP
ZkNsYXNzOltXS01vZGVsVmlldyBjbGFzc11dKQotICAgICAgICByZXR1cm47CitBU1ZJbmxpbmVQ
cmV2aWV3ICogTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmll
cihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQoreworICAgIHJldHVybiBbbW9kZWxW
aWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVsSWRlbnRpZmllcikgcHJldmlld10KK30KIAordm9p
ZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2Rl
bElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQorewogICAgIGF1dG8gKnByZXNlbnRpbmdWaWV3
Q29udHJvbGxlciA9IG1fd2ViUGFnZVByb3h5LnVpQ2xpZW50KCkucHJlc2VudGluZ1ZpZXdDb250
cm9sbGVyKCk7CiAgICAgaWYgKCFwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJl
dHVybjsKIAotICAgIFdLTW9kZWxWaWV3ICptb2RlbFZpZXcgPSAoV0tNb2RlbFZpZXcgKil2aWV3
OworICAgIGF1dG8gbW9kZWxWaWV3ID0gbW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVs
SWRlbnRpZmllcik7CisgICAgaWYgKCFtb2RlbFZpZXcpCisgICAgICAgIHJldHVybjsKKwogICAg
IENHUmVjdCBpbml0aWFsRnJhbWUgPSBbbW9kZWxWaWV3IGNvbnZlcnRSZWN0Om1vZGVsVmlldy5m
cmFtZSB0b1ZpZXc6bmlsXTsKIAogICAgIEFTVklubGluZVByZXZpZXcgKnByZXZpZXcgPSBbbW9k
ZWxWaWV3IHByZXZpZXddOwpAQCAtOTgsNyArMTA1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250
cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVy
OjoKIAogICAgICAgICAgICAgW3ByZXNlbnRpbmdWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0Nv
bnRyb2xsZXI6cmVtb3RlVmlld0NvbnRyb2xsZXIgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpeKHZv
aWQpIHsKICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAgICAg
ICAgICAgW3ZpZXcubGF5ZXIuc3VwZXJsYXllci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFuZGxl
XTsKKyAgICAgICAgICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBh
ZGRGZW5jZTpmZW5jZUhhbmRsZV07CiAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gY29t
bWl0XTsKICAgICAgICAgICAgICAgICBbZmVuY2VIYW5kbGUgaW52YWxpZGF0ZV07CiAgICAgICAg
ICAgICB9XTsKQEAgLTExMiw3ICsxMTksNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6
OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogICAg
ICAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24g
YmVnaW5dOwotICAgICAgICAgICAgICAgICAgICBbdmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRl
eHQgYWRkRmVuY2U6ZGlzbWlzc0ZlbmNlSGFuZGxlXTsKKyAgICAgICAgICAgICAgICAgICAgW21v
ZGVsVmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZGlzbWlzc0ZlbmNlSGFu
ZGxlXTsKICAgICAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gc2V0Q29tcGxldGlvbkJs
b2NrOl57CiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVtb3RlVmlld0NvbnRyb2xsZXIgZGlz
bWlzc1ZpZXdDb250cm9sbGVyQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpuaWxdOwogICAgICAgICAg
ICAgICAgICAgICB9XTsKQEAgLTEyOCw2ICsxMzUsMTQgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250
cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVy
OjoKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAKK0FTVklubGluZVBy
ZXZpZXcgKiBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVy
KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CisgICAgaWYgKCFtX3dlYlBhZ2VQ
cm94eS5wcmVmZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJu
IG51bGxwdHI7CisKKyAgICByZXR1cm4gbV9pbmxpbmVQcmV2aWV3cy5nZXQobW9kZWxJZGVudGlm
aWVyLnV1aWQpLmdldCgpOworfQorCiB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVs
RWxlbWVudERpZENyZWF0ZVByZXZpZXcoVVJMIGZpbGVVUkwsIFN0cmluZyB1dWlkLCBXZWJDb3Jl
OjpGbG9hdFNpemUgc2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6OnBh
aXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9k
ZWxFbGVtZW50RW5hYmxlZCgpKSB7CkBAIC0yMTYsNiArMjMxLDY1IEBAIHZvaWQgTW9kZWxFbGVt
ZW50Q29udHJvbGxlcjo6aGFuZGxlTW91c2VVcEZvck1vZGVsRWxlbWVudChjb25zdCBTdHJpbmcm
IHV1aWQsIGNvCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQor
CitzdGF0aWMgYm9vbCBwcmV2aWV3SGFzQ2FtZXJhU3VwcG9ydChBU1ZJbmxpbmVQcmV2aWV3ICpw
cmV2aWV3KQoreworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19DQU1FUkFfVFJBTlNG
T1JNKQorICAgIHJldHVybiBbcHJldmlldyByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGdl
dENhbWVyYVRyYW5zZm9ybTopXTsKKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9
CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50
KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
RXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8qIHByZXZpZXcgPSBw
cmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVsSWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2
aWV3IHx8ICFwcmV2aWV3SGFzQ2FtZXJhU3VwcG9ydChwcmV2aWV3KSkgeworICAgICAgICBjYWxs
T25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhh
bmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yIHsgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBt
dXRhYmxlIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChlcnJvcikpOworICAgICAgICB9KTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIFtwcmV2aWV3IGdldENhbWVyYVRyYW5zZm9ybTptYWtl
QmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChzaW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zv
cm0sIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJy
b3IpIHsKKyAgICAgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdURk1vdmUo
d2Vha1RoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
LCBlcnJvciA9IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
OjpUeXBlOjpHZW5lcmFsIH1dICgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlmICh3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0
ZWQoZXJyb3IpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICB9CisKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW2NhbWVyYVRyYW5zZm9ybSwgd2Vha1Ro
aXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVu
dENhbWVyYSB7IGNhbWVyYVRyYW5zZm9ybS54LCBjYW1lcmFUcmFuc2Zvcm0ueSwgY2FtZXJhVHJh
bnNmb3JtLnogfSk7CisgICAgICAgIH0pOworICAgIH0pLmdldCgpXTsKK30KKwordm9pZCBNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1l
cmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7
CisgICAgYXV0byogcHJldmlldyA9IHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVu
dGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcgfHwgIXByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KHBy
ZXZpZXcpKSB7CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIg
eyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47
CisgICAgfQorCisgICAgW3ByZXZpZXcgc2V0Q2FtZXJhVHJhbnNmb3JtOnNpbWRfbWFrZV9mbG9h
dDMoY2FtZXJhLnBpdGNoLCBjYW1lcmEueWF3LCBjYW1lcmEuc2NhbGUpXTsKKworICAgIGNhbGxP
bk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAg
aWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAg
fSk7Cit9CisKKyNlbmRpZgorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5oCmluZGV4IGYxZjk1ODY3MGI2NTk1OTE2N2Vl
MmQ4NjFjY2E0NDMwOGUxYzhjNWMuLmVlNjg0ZTg3OGE5ZTNjYjYyNmY0ZmNmNTU5MWZkZmJkYzk1
ODc0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENv
bnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250
cm9sbGVyLmgKQEAgLTI3LDE0ICsyNywxNyBAQAogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXKQogCisjaW5jbHVkZSAiTW9kZWxJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29y
ZS9FbGVtZW50Q29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgog
I2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVk
ZSA8d3RmL1dlYWtQdHIuaD4KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMp
CiBPQkpDX0NMQVNTIEFTVklubGluZVByZXZpZXc7CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfSU9TKQorT0JKQ19DTEFTUyBXS01vZGVsVmlldzsKICNlbmRpZgogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKQEAgLTQ4LDggKzUxLDEyIEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94
eSYgcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFnZVByb3h5OyB9CiAKKyNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVcpCisgICAgdm9pZCBnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJ
ZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxN
b2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CisgICAgdm9p
ZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyNl
bmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtl
TW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxh
eWVySUQgY29udGVudExheWVySWQpOworICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3Jl
ZW4oTW9kZWxJZGVudGlmaWVyKTsKICNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCwgU3Ry
aW5nLCBXZWJDb3JlOjpGbG9hdFNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8
c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYp
OwpAQCAtNTksNiArNjYsMTQgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorICAgIEFTVklubGluZVByZXZpZXcgKiBwcmV2aWV3
Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllcik7CisjZW5kaWYKKworI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgV0tNb2RlbFZpZXcgKiBtb2RlbFZpZXdG
b3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyKTsKKyNlbmRpZgorCiAgICAgV2ViUGFn
ZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQogICAgIFJldGFpblB0cjxBU1ZJbmxpbmVQcmV2aWV3PiBwcmV2aWV3Rm9yVVVJRChjb25z
dCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4
IGY5NWRkNzgzZDVhNjdkNDdkZDhjYmIyZWE1ZjgzYzk4ZjU0NDBlMmYuLmYwZDFlNzViNWRmM2I3
MmE1MmQ5Mjg3Mjc5MDNhOTY0YWFmNWQ2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcApAQCAtMTA4MzIsMTAgKzEwODMyLDIyIEBAIFdlYkNvcmU6OkNhcHR1cmVT
b3VyY2VPckVycm9yIFdlYlBhZ2VQcm94eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNw
ZWVjaFJlCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQordm9p
ZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudEdldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9k
ZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPmdldENhbWVyYUZv
ck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
KTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldENhbWVyYShNb2RlbElk
ZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
IGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPnNldENhbWVyYUZvck1vZGVsRWxl
bWVudChtb2RlbElkZW50aWZpZXIsIGNhbWVyYSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikp
OworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9p
ZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBo
aWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKK3ZvaWQgV2ViUGFnZVBy
b3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVu
dGlmaWVyKQogewotICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oY29udGVudExheWVySWQpOworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIo
KS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4obW9kZWxJZGVudGlmaWVyKTsKIH0KICNlbmRp
ZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDE2ZTg2ZTBhZmM1
MDFlNzRkN2Q2ZGQyYzkxMzBkN2I1MDU1YjE5MzYuLmM3MGQwYzc3MWM1YzI5NDE3ZTdhYTQ5N2Mz
ZDgxMGIxNDFiOTA4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBA
IC0xOTYsNiArMTk2LDcgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAjaW5jbHVkZSAiTW9kZWxFbGVtZW50Q29udHJvbGxlci5o
IgorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkg
ewpAQCAtNTg3LDkgKzU4OCwxMSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVcpCiAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciogbW9kZWxFbGVtZW50Q29udHJv
bGxlcigpIHsgcmV0dXJuIG1fbW9kZWxFbGVtZW50Q29udHJvbGxlci5nZXQoKTsgfQorICAgIHZv
aWQgbW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3Jl
OjpSZXNvdXJjZUVycm9yPik+JiYpOworICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0Q2FtZXJhKE1v
ZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKKyAgICB2
b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYK
ICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVt
ZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJD
b3JlOjpGbG9hdFNpemUmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFp
cjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAx
NjE2M2FjZmYyYzhhOGMzODkxZjYxMjk4YjAwYjEwOWVhOTRiNmE5Li42ZjA3NGY1MzBiMmVhODEw
YmQxNDc1ZmE2ZWEyZTcyY2MzN2E5YTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01ODYsNyArNTg2LDcgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0lPUykKLSAgICBUYWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbih1aW50NjRfdCBjb250ZW50
TGF5ZXJJRCkKKyAgICBUYWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihzdHJ1Y3QgV2ViS2l0OjpN
b2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVS
TCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkgLT4gKEV4cGVjdGVk
PHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVz
dWx0KSBBc3luYwpAQCAtNTk0LDYgKzU5NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkg
ewogICAgIEhhbmRsZU1vdXNlTW92ZUZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29y
ZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBhZ2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0
aW1lc3RhbXApCiAgICAgSGFuZGxlTW91c2VVcEZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwg
V2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBhZ2VDb29yZGluYXRlcywgTW9ub3Rvbmlj
VGltZSB0aW1lc3RhbXApCiAjZW5kaWYKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcp
CisgICAgTW9kZWxFbGVtZW50R2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmll
ciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCisgICAgTW9kZWxF
bGVtZW50U2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50
aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSkgLT4g
KGJvb2wgc3VjY2VzcykgQXN5bmMKKyNlbmRpZgogCiAgICAgcmVxdWVzdFBlcm1pc3Npb24oc3Ry
dWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNz
aW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1p
c3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmVmZWNiY2VlNDY1OTJlNzU4ZTBlODhjZjZlOTE4
MWNlOTI5OTk4Yi4uMzYxNmNjNWQyYmM5Njg1YTFhZGY5OTFhOTNhOGM3YTI4YjVmZGJhOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00
NzA4LDYgKzQ3MDgsNyBAQAogCQk3MUE2NzZBNTIyQzYyMzE4MDA3RDYyOTUgLyogV0tUb3VjaEFj
dGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dL
VG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzFCQUE3MzEyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLTW9kZWxWaWV3Lmg7IHBhdGggPSBpb3MvV0tNb2Rl
bFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzIyNUZGQ0NCQTAw
RDdDRDVEIC8qIFdLTW9kZWxWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV0tNb2RlbFZpZXcubW07IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxRTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAvKiBNb2Rl
bElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kZWxJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI4MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBXZWJzaXRl
U2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjAzNDQ5QTI2QTZDNDRDMDAwQTVGNTQg
LyogTW9ub3RvbmljT2JqZWN0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb25vdG9uaWNP
YmplY3RJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyMDM0NDlC
MjZBNkM0NzYwMDBBNUY1NCAvKiBSZW5kZXJpbmdVcGRhdGVJRC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBS
ZW5kZXJpbmdVcGRhdGVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgzNCw2
ICs2ODM1LDcgQEAKIAkJCQkyRDEwODc1RTFEMkM1NzNFMDBCODVGODIgLyogTG9hZFBhcmFtZXRl
cnMuY3BwICovLAogCQkJCTJEMTA4NzVGMUQyQzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVy
cy5oICovLAogCQkJCTQ5OTE3REIwMjUyRTMwNzUwMDUwMzEzRiAvKiBNZWRpYVBsYXliYWNrU3Rh
dGUuaCAqLywKKwkJCQk3MUU5NjUwRjI3NDU2ODJFMDBBRENGNDMgLyogTW9kZWxJZGVudGlmaWVy
LmggKi8sCiAJCQkJNzIwMzQ0OUEyNkE2QzQ0QzAwMEE1RjU0IC8qIE1vbm90b25pY09iamVjdElk
ZW50aWZpZXIuaCAqLywKIAkJCQkyRDUwMzY2QTFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0aXZlV2Vi
R2VzdHVyZUV2ZW50LmggKi8sCiAJCQkJQzAyQkZGMTUxMjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2
ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKaW5kZXgg
M2NhYWNiMzU2NWY5Zjg2NjNiNDgyNGQ4NzdjMTRhMWU1OTNhNjMyNC4uY2MzNDRhNTdiYTBhMDA5
MzY2YTFjODBhMjRhNjhlZmFhNjdmYjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgK
QEAgLTI3LDkgKzI3LDEyIEBACiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAK
LSNpbmNsdWRlIDxXZWJDb3JlL01vZGVsUGxheWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Nb2Rl
bFBsYXllckNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorI2ltcG9ydCAiTW9k
ZWxJZGVudGlmaWVyLmgiCisjaW1wb3J0ICJXZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJv
eHlNZXNzYWdlcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgorI2ltcG9ydCA8
V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5oPgorI2ltcG9ydCA8d3RmL0NvbXBpbGVyLmg+CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00MywxMSArNDYsMTUgQEAgcHJvdGVjdGVkOgogICAg
IFdlYlBhZ2UqIHBhZ2UoKSB7IHJldHVybiBtX3BhZ2UuZ2V0KCk7IH0KICAgICBXZWJDb3JlOjpN
b2RlbFBsYXllckNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7IH0KIAor
ICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmll
cigpID0gMDsKKwogcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpNb2RlbFBsYXllciBvdmVycmlk
ZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1vZGVsJiwgV2ViQ29yZTo6TGF5b3V0U2l6ZSkg
b3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXllciogbGF5ZXIoKSBvdmVycmlkZTsKICAgICB2b2lk
IGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRp
b25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhPiYmKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVy
cmlkZTsKIAogICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOwogICAgIFdlYWtQdHI8V2ViQ29y
ZTo6TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
Lm1tCmluZGV4IGVkYmQxNGExOWNkM2IzNWRiMzA0NDY1MmJhYzM2MjFmZWNiMjcyNTEuLjBjMDFm
MjA2Y2E2ZGIwNzk1MDUwYTk0MGY1YjAwZTBjZDFkMGVlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbQor
KysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXIubW0KQEAgLTU1LDYgKzU1LDUzIEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXI6OmVudGVyRnVsbHNjcmVlbigpCiB7CiB9CiAKK3ZvaWQgQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgYXV0byBtb2RlbElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZp
ZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRpZmllcikgeworICAgICAgICBjb21wbGV0aW9uSGFu
ZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byog
c3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2UpIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVDb21wbGV0
aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSAoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCFyZXN1bHQpIHsK
KyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigqcmVzdWx0
KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudEdldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyKSwg
V1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIEFSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVyOjpzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENh
bWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICBhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRp
ZmllcigpOworICAgIGlmICghbW9kZWxJZGVudGlmaWVyKSB7CisgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIHN0cm9u
Z1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgIGNv
bXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyID0gW2Nv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChib29sIHN1Y2Nl
c3MpIG11dGFibGUgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHN1Y2Nlc3Mp
KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2Vz
OjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudFNldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyLCBj
YW1lcmEpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIH0KIAogI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgKaW5kZXggMWNlMDcw
YjZhMGVmMzUwZWQwYzRiYjBhYjViMjA4MDM5Yzg0YjFiMS4uNDBhMjU5NWY3MGU0YmVlMWYxZDY2
ODdhNDIyZGZkN2E3MzM3ZGJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5
ZXJJT1MuaApAQCAtNDEsNiArNDEsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TKFdlYlBhZ2UmLCBXZWJDb3JlOjpNb2RlbFBsYXllckNs
aWVudCYpOwogCisgICAgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRp
ZmllcigpIG92ZXJyaWRlOworCiAgICAgLy8gV2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3ZlcnJpZGVz
LgogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVN
b3VzZURvd24oY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVy
cmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLm1tCmluZGV4IDNl
YzZlZmM0ZGUxZWI1MzRkMTkwYjI1YWQwNzA2NjcwYjI2ZTM4YmQuLjVmMTM3Mjk3NjMyOGU1NTI1
ZWM2NGNhN2IwYTAxZWRjOTQ2YzY0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllcklPUy5tbQpAQCAtNDgsMTUgKzQ4LDI3IEBAIEFSS2l0SW5saW5lUHJldmlld01vZGVs
UGxheWVySU9TOjp+QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MoKQogewogfQogCitz
dGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5
ZXJJT1M6Om1vZGVsSWRlbnRpZmllcigpCit7CisgICAgaWYgKCFjbGllbnQoKSkKKyAgICAgICAg
cmV0dXJuIHsgfTsKKworICAgIGlmIChhdXRvIGxheWVySWQgPSBjbGllbnQoKS0+cGxhdGZvcm1M
YXllcklEKCkpCisgICAgICAgIHJldHVybiB7IHsgbGF5ZXJJZCB9IH07CisKKyAgICByZXR1cm4g
eyB9OworfQorCiAvLyBNQVJLOiAtIFdlYkNvcmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KIAog
dm9pZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKCkK
IHsKLSAgICBpZiAoIWNsaWVudCgpIHx8ICFwYWdlKCkpCisgICAgYXV0byogc3Ryb25nUGFnZSA9
IHBhZ2UoKTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlm
IChhdXRvIGxheWVySWQgPSBjbGllbnQoKS0+cGxhdGZvcm1MYXllcklEKCkpCi0gICAgICAgIHBh
Z2UoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4obGF5ZXJJZCk7CisgICAgaWYgKGF1dG8g
bW9kZWxJZGVudGlmaWVyID0gdGhpcy0+bW9kZWxJZGVudGlmaWVyKCkpCisgICAgICAgIHN0cm9u
Z1BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6VGFrZU1vZGVsRWxlbWVudEZ1bGxz
Y3JlZW4oKm1vZGVsSWRlbnRpZmllcikpOwogfQogCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVySU9TOjpoYW5kbGVNb3VzZURvd24oY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQm
LCBNb25vdG9uaWNUaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01v
ZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5o
CmluZGV4IDY3MzE5MTZjNzQ4ZGRiYzVhNzM4Mzg3NmM3Yjk0ZWFkYTA3NTBlMDcuLmIzYzhlNDIw
OGIxMmU1MTlkNGQwNzM5OWMzYzc1YzE0MTE4YTQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjLmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYyhXZWJQYWdlJiwgV2ViQ29yZTo6
TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVy
PiBtb2RlbElkZW50aWZpZXIoKSBvdmVycmlkZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1vZGVsUGxh
eWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TW9kZWwmLCBXZWJDb3JlOjpM
YXlvdXRTaXplKSBvdmVycmlkZTsKICAgICBQbGF0Zm9ybUxheWVyKiBsYXllcigpIG92ZXJyaWRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9N
b2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0KaW5kZXggNDU1MjY1
Mzc2NDJjNWNjNzE0MWM1NGY1NzUxZTI5NWFlZWYzM2ViYi4uY2IyNWEzYzgxMTM4NDhkMWMyZTQ4
ZDdjZGFjOWNiM2M1NDcyMTEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxh
eWVyTWFjLm1tCkBAIC01NSw2ICs1NSwxMyBAQCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ck1hYzo6fkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjKCkKICAgICBjbGVhckZpbGUo
KTsKIH0KIAorc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IEFSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVyTWFjOjptb2RlbElkZW50aWZpZXIoKQoreworICAgIGlmIChtX2lubGluZVBy
ZXZpZXcpCisgICAgICAgIHJldHVybiB7IHsgW21faW5saW5lUHJldmlldyB1dWlkXS5VVUlEU3Ry
aW5nIH0gfTsKKyAgICByZXR1cm4geyB9OworfQorCiBzdGF0aWMgU3RyaW5nJiBzaGFyZWRNb2Rl
bEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0
cmluZz4gc2hhcmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCmluZGV4IGZjN2JjMzMyM2FiNGY5YzZiY2M5OTI5ZmE2ZWM4YjVmMGYwODIzMDQuLjQzNmE1
YTUyMDM1YTA2NTc1ODljMGU5MGIwODQyYzQzMzY1ODFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQu
Y3BwCkBAIC0xNTI0LDEzICsxNTI0LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVudW1lcmF0
ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFAKIH0KICNl
bmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQgV2ViQ2hy
b21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpIGNvbnN0Ci17Ci0gICAgbV9wYWdl
LnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKTsKLX0KLSNlbmRpZgot
CiAjaWYgRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50Ojpz
dGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0
IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiByZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmgKaW5kZXggYTc0OWY1OTMxOTI3NGVlNDZlMGFkODEyNWE4OTRlZDZjZmUwYjk0ZS4uMmZlMzI5
MDM0MzQ3Y2VkMjhmODEwNTdkYTNmZWMyMzMwN2FlNzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApA
QCAtNDU1LDEwICs0NTUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZW51bWVyYXRlSW1tZXJzaXZl
WFJEZXZpY2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgUGxhdGZvcm1YUjo6SW5zdGFu
Y2U6OkRldmljZUxpc3QmKT4mJikgZmluYWw7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihX
ZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpIGNv
bnN0IGZpbmFsOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICAgICB2
b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Npb24oY29uc3QgVVJMJiwgY29uc3QgV2ViQ29yZTo6
QXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9u
YWw8Ym9vbD4mJik+JiYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lv
bigpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCBiMThkN2Y3MmU2N2FjYWQ0YWI1NDZkNGQ0MDhlZGFhMTRhYzY5Y2FiLi5kZDU5Y2Zh
NzEwNmYwODQ0MmUzZmIzOTkzYjFhODgwODgxZjdiYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzc4OSwxMyArNzc4OSw2IEBAIHZvaWQg
V2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNv
bnRleHRNZW51SW5mbyYgaW5mCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFV19JT1MpCi12b2lkIFdlYlBhZ2U6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKLXsK
LSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKGNvbnRlbnRMYXllcklkKSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBXZWJQYWdlOjpzY3JvbGxU
b1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3Jl
OjpGbG9hdFBvaW50JiBvcmlnaW4pCiB7CiAgICAgbWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQ
b3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA0MWUyNjAzOWFiODE0YjQ0
MjRjMmUyMmE2YzRlZjJjYTNlYTFiZjdlLi43NDAzZjc3ZDUwYWNkMWZkNTAwYmRlZjllNGJhYTJl
NTdmODI4NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5o
CkBAIC0xNDkwLDEwICsxNDkwLDYgQEAgcHVibGljOgogICAgIFBsYXRmb3JtWFJTeXN0ZW1Qcm94
eSYgeHJTeXN0ZW1Qcm94eSgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6
R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKLSNlbmRpZgot
CiAgICAgdm9pZCBwcmVwYXJlVG9SdW5Nb2RhbEphdmFTY3JpcHREaWFsb2coKTsKIAogI2lmIFVT
RShBVFNQSSkK
</data>
<flag name="commit-queue"
          id="469732"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444648</attachid>
            <date>2021-11-18 01:21:18 -0800</date>
            <delta_ts>2021-11-18 02:47:43 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233265-20211118102116.patch</filename>
            <type>text/plain</type>
            <size>65117</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li42OTM4ODExMDJmNzg3
YTQ4MzdiODRhMmJlZGI1ZDlkMWMxNDVjNTYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDUgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3Q6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1l
bnQvSFRNTE1vZGVsRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTW9kZWxFbGVt
ZW50OjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudDo6c2V0
Q2FtZXJhKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVu
dC5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmlk
bDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oOiBDb3BpZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudC5pZGwuCisgICAgICAgIChXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhOjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENh
bWVyYTo6ZGVjb2RlKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGw6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKiBNb2R1bGVzL21vZGVs
LWVsZW1lbnQvTW9kZWxQbGF5ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQv
ZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpEdW1teU1vZGVs
UGxheWVyOjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6RHVtbXlNb2RlbFBsYXllcjo6
c2V0Q2FtZXJhKToKKyAgICAgICAgKiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9T
Y2VuZUtpdE1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1lbGVtZW50L3Nj
ZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW06CisgICAgICAgIChXZWJDb3JlOjpTY2VuZUtp
dE1vZGVsUGxheWVyOjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViQ29yZTo6U2NlbmVLaXRNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKToKKyAgICAgICAgKiBTb3VyY2VzLnR4dDoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFbXB0eUNocm9tZUNsaWVudDo6dGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIGxvYWRlci9F
bXB0eUNsaWVudHMuaDoKKyAgICAgICAgKiBwYWdlL0Nocm9tZUNsaWVudC5oOgorICAgICAgICAo
V2ViQ29yZTo6Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6
IERlbGV0ZWQuCisKIDIwMjEtMTEtMTggQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9u
IG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAyOTk3MDU4MzA2YWNmYTgzYWY5NGQwMmZi
MmQ5MDVhMDk0MzAxOWFlLi4zNzhmYTIwOWE1OThjNWY5Y2MwZDM0NTdlMTE0NzdkMjNiMTE0NGMw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAgICBbTW9kZWxdIGFkZCBzdXBw
b3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBjYW1lcmEKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzI2NQorICAgICAgICA8cmRhcjovL3By
b2JsZW0vODU0MjYyOTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAg
ICAgICAgQWRkIHRoZSBuZXcgQVJRTCBTUElzIHdlIGFyZSB1c2luZy4KKworICAgICAgICAqIHBh
bC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaDoKKyAgICAgICAgKiBwYWwvc3BpL21hYy9TeXN0
ZW1QcmV2aWV3U1BJLmg6CisKIDIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdl
YmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFjT1NdIEFkZCBzdXBwb3J0IGZvciBpbnRl
cmFjdGlvbiBvbiBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkZjA3MjQxYjc5YmIzNWNiYTk3NDAzZGNjZjk3
ODc4NWJkOGY1MGExLi4xZjY1OTg4NWYwNjVkMDRmODZmNjE5ZTRkMTljY2ZkNjE5NDBjMGNiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jh
b3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRp
bmcgYW5kIHNldHRpbmcgdGhlIGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5
MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBUaGUgQVJR
TCBBUElzIHdlJ2QgYWRvcHRlZCBzbyBmYXIgd2VyZSBzcGVjaWZpYyB0byBlaXRoZXIgbWFjT1Mg
b3IgaU9TLiBUaGUgbmV3IGNhbWVyYQorICAgICAgICBtZXRob2RzIGFyZSBkaWZmZXJlbnQgc2lu
Y2UgdGhleSBleGlzdCBvbiBib3RoIHBsYXRmb3Jtcy4KKworICAgICAgICBJbiBvcmRlciB0byBl
eHBvc2UgYSBzaW5nbGUgbWVzc2FnZSBmb3IgYm90aCBwbGF0Zm9ybXMsIHdlIGludHJvZHVjZSBh
IG5ldyBNb2RlbElkZW50aWZpZXIKKyAgICAgICAgc3RydWN0IHdoaWNoIHdyYXBzIHRoZSBVVUlE
IHN0cmluZyBmb3IgbWFjT1MgYW5kIHRoZSBsYXllciBpZGVudGlmaWVyIGZvciBpT1MuIFRoZW4g
b24KKyAgICAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciwgd2UgaGF2ZSB0aGUgcHJldmlld0Zv
ck1vZGVsSWRlbnRpZmllcigpIG1ldGhvZCB0byBnZXQgdGhlIG1hdGNoaW5nCisgICAgICAgIEFT
VklubGluZVByZXZpZXcgZm9yIHRoZSBwcm92aWRlZCBNb2RlbElkZW50aWZpZXIuCisKKyAgICAg
ICAgVGhpcyBhbGxvd3MgZ2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KCkgYW5kIHNldENhbWVyYUZv
ck1vZGVsRWxlbWVudCB0byBiZSBzcGVjaWZpZWQgZm9yIGJvdGgKKyAgICAgICAgaU9TIGFuZCBt
YWNPUyB3aXRoIGEgc2luZ2xlIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgIFdlIGFsc28gbW9k
aWZ5IHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKCkgdG8gdGFrZSBhZHZhbnRhZ2Ugb2YgTW9k
ZWxJZGVudGlmaWVyIHdoaWNoIHNob3dlZAorICAgICAgICB0aGF0IHdlIGhhZCBzb21lIGxpbmdl
cmluZyBjb2RlIGluIENocm9tZUNsaWVudCByZWxhdGVkIHRvIHRoaXMgbWV0aG9kIHRoYXQgd2Fz
IG5vIGxvbmdlcgorICAgICAgICBuZWNlc3NhcnkgZm9sbG93aW5nIHIyODU5MjIuCisKKyAgICAg
ICAgKiBTaGFyZWQvTW9kZWxJZGVudGlmaWVyLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmguCisg
ICAgICAgIChXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlIGNvbnN0KToKKyAgICAgICAg
KFdlYktpdDo6TW9kZWxJZGVudGlmaWVyOjpkZWNvZGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9D
b2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW06CisgICAgICAgIChXZWJLaXQ6Ok1v
ZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsVmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAg
ICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50
aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbik6CisgICAgICAgIChXZWJLaXQ6OnByZXZpZXdIYXNDYW1lcmFT
dXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6Z2V0Q2Ft
ZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKiBVSVByb2Nlc3MvTW9k
ZWxFbGVtZW50Q29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudEdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50U2V0Q2FtZXJh
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAqIFVJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllci5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyOjpnZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpBUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
Lm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6
bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJJT1M6OmVudGVyRnVsbHNjcmVlbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2Rl
bC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaDoKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbToKKyAg
ICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6Om1vZGVsSWRl
bnRpZmllcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVDbGllbnQ6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dGFrZU1vZGVsRWxl
bWVudEZ1bGxzY3JlZW4pOiBEZWxldGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmg6CisKIDIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFjT1NdIEFkZCBzdXBwb3J0IGZvciBpbnRlcmFjdGlv
biBvbiBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2Nv
YS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4IDBkMTQzYmY1
YjMxZjAxNTMyZmE0YzJmODZkOTg1OWVjMWIwNTVlY2EuLjJkZDlmYTJiMjdjYjQwN2NhZGI3Mzk0
MGEyNzVjNGQ2NzUyYzNkYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtRW5h
YmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmgKQEAg
LTc0MywzICs3NDMsNyBAQAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpIHx8
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAjZGVmaW5lIEVOQUJMRV9BUktJVF9J
TkxJTkVfUFJFVklFVyAxCiAjZW5kaWYKKworI2lmIChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVdfTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTIwNDAwKSB8fCAo
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykgJiYgX19JUEhPTkVfT1NfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxNTA0MDApCisjZGVmaW5lIEVOQUJMRV9BUktJVF9JTkxJTkVfUFJFVklF
V19DQU1FUkFfVFJBTlNGT1JNIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Q01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA1YTA0
MTU1YzRjMGY4YmRiYjg4ODEwNjE1OTcyMmRlYjliZDAxNDU1Li4wZWUwYmUzMDNkMmE3MjVmNTE2
MDNlMTMxZjZlMjFlYzI4NTU2ZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtNDYzLDYgKzQ2
Myw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5pZGwKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9I
VE1MTW9kZWxFbGVtZW50LmlkbAorICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50Q2FtZXJhLmlkbAogCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlv
bi5pZGwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5p
ZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cmlu
ZGV4IGYzY2VlY2Q0OGQ5OTVlYjM3MjYyYmRmMzQyNDZmOWQ4ZDZkM2I1MjIuLmE3MmZhZDU4MWQ2
MWJjYzNjNjYwOTg3YzBlMjE3Y2EwZmNjZGVmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTU4LDYgKzE1OCw3IEBAICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVZlcnRleFN0YXRlLmlkbAogJChQUk9KRUNUX0RJUikv
TW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4U3RlcE1vZGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL1dlYkdQVS9OYXZpZ2F0b3JHUFUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FpcnBs
YXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKKyQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXktYW1zLXVpL0FwcGxlUGF5QU1TVUlSZXF1ZXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50LmlkbAogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvbnRhY3RGaWVsZC5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2RlQ2hhbmdlZEV2
ZW50LmlkbApAQCAtMjA1LDcgKzIwNiw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVw
YXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9kaWZpZXIuaWRs
CiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5
UmVxdWVzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXktYW1zLXVpL0FwcGxl
UGF5QU1TVUlSZXF1ZXN0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9h
cmQvQ2xpcGJvYXJkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQv
Q2xpcGJvYXJkSXRlbS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMtY2xpcGJvYXJk
L05hdmlnYXRvcitDbGlwYm9hcmQuaWRsCkBAIC00MjgsNiArNDI4LDcgQEAgJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5pZGwKICQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhbnNmb3JtRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKKyQoUFJPSkVDVF9ESVIp
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMvYWN0aXZpdHkt
aW5kaWNhdG9yLmNzcwogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvY29udHJvbHMvYWlycGxheS1idXR0b24uY3NzCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21v
ZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCA0YzVmZjk1
NGExNTk3ZWRiZjUwZDYyYWQ3MjkwNzQyOGM1ZDA1M2I2Li5iMjI0MTcyMTBkZGJhMzcwY2Y2NGZm
OTkxZWIwNTg4NTM5MTNmZTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTI4Myw2ICsxMjgzLDggQEAgJChCVUlMVF9QUk9EVUNU
U19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5jcHAKICQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZEVsZW1lbnQu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9k
ZWxFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNIVE1MTW9kZWxFbGVtZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAKKyQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5o
CiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPTGlz
dEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0hUTUxPTGlzdEVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNIVE1MT2JqZWN0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy5tYWtlCmluZGV4IGY4OGU2MzliOWQ3NGI5ZGQ1NDQ4Y2VkOTkxODFjMGRmMGY1MjgxNDQuLmIx
YjZhOGE1NTE5MTI2NjM0YjUxOTYwNTc5N2RhYjRjNjU5MmVjODIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMubWFrZQpAQCAtNDUzLDYgKzQ1Myw3IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhbnNmb3JtRXZlbnQuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmlk
bCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVu
dENhbWVyYS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlm
aWNhdGlvblBlcm1pc3Npb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbm90aWZpY2F0
aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFkZXJzLmNtYWtl
CmluZGV4IDJhMjdlNjAyMjA1NmI3YzlkZDU5MWE3MTE5NGNkMzE0YzFjNjQyYzcuLjczNGQ2ZDc3
ODZkOTk4MmE1NmE4YzVkYmQ1NWU3NTlmMDY3ZWJiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQpAQCAt
MTM3LDYgKzEzNyw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hFQURFUlMKICAg
ICBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENVdGlscy5oCiAKICAgICBN
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCisgICAgTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaAogICAgIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFBsYXllci5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVy
Q2xpZW50LmgKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJQcm92aWRlci5o
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1v
ZGVsRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudC5jcHAKaW5kZXggNGZhNmRlOTNiMGU0NjdmYWY1N2JhNGQyMTZhODhmNzA4
MzdkMjlhZS4uODY3ODAzYjJkNjJlM2I2MDcxYzk2MTIwN2VhMjA5YTdkY2VmNmJiYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmNwcApAQCAtMzcsMTEgKzM3LDE0IEBACiAjaW5jbHVkZSAiRXZlbnROYW1lcy5o
IgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJHcmFwaGljc0xheWVyQ0Eu
aCIKKyNpbmNsdWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUgIkhUTUxTb3Vy
Y2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRl
ICJKU0V2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiSlNIVE1MTW9kZWxFbGVtZW50LmgiCisjaW5j
bHVkZSAiSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiTW9kZWwuaCIKICNp
bmNsdWRlICJNb2RlbFBsYXllci5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyUHJvdmlkZXIuaCIK
QEAgLTM2MCw2ICszNjMsMzggQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50OjpkcmFnRGlkRW5kKE1v
dXNlRXZlbnQmIGV2ZW50KQogICAgICAgICBtX21vZGVsUGxheWVyLT5oYW5kbGVNb3VzZVVwKGV2
ZW50LnBhZ2VMb2NhdGlvbigpLCBldmVudC50aW1lU3RhbXAoKSk7CiB9CiAKKy8vIE1BUks6IOKA
kyBDYW1lcmEgc3VwcG9ydC4KKwordm9pZCBIVE1MTW9kZWxFbGVtZW50OjpnZXRDYW1lcmEoQ2Ft
ZXJhUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgaWYgKCFtX21vZGVsUGxheWVyKSB7CisgICAg
ICAgIHByb21pc2UucmVqZWN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX21v
ZGVsUGxheWVyLT5nZXRDYW1lcmEoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2UpXSAoc3RkOjpv
cHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiBjYW1lcmEpIG11dGFibGUgeworICAgICAg
ICBpZiAoIWNhbWVyYSkKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7CisgICAgICAgIGVs
c2UKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgqY2FtZXJhKTsKKyAgICB9KTsKK30KKwor
dm9pZCBIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSBj
YW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7CisgICAgaWYgKCFt
X21vZGVsUGxheWVyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KCk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisKKyAgICBtX21vZGVsUGxheWVyLT5zZXRDYW1lcmEoY2FtZXJhLCBbcHJvbWlz
ZSA9IFdURk1vdmUocHJvbWlzZSldIChib29sIHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBp
ZiAoc3VjY2VzcykKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgpOworICAgICAgICBlbHNl
CisgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIH0pOworfQorCiB9CiAKICNlbmRp
ZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCmluZGV4IGZlZWJjYzU5MzA2
YzVmMjQ1Yjk0MzAxNjM0NDMwZDc1OTRlZTZjNTkuLmZjNGNkNjhkYTI1NGM1MDJkYWQ0YzUyMjM1
ZDI2NWVlNDk0YTg0MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1
ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIgogI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiTW9kZWxQbGF5ZXJDbGllbnQu
aCIKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCkBAIC00NSw2ICs0Niw3IEBAIGNsYXNzIE1v
ZGVsOwogY2xhc3MgTW9kZWxQbGF5ZXI7CiBjbGFzcyBNb3VzZUV2ZW50OwogCit0ZW1wbGF0ZTx0
eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiB0ZW1wbGF0ZTx0eXBl
bmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNhbGxiYWNrOwog
CiBjbGFzcyBIVE1MTW9kZWxFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50LCBwcml2
YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50LCBwdWJsaWMgTW9kZWxQbGF5ZXJDbGllbnQgewpA
QCAtNjksNiArNzEsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKTsK
IAorICAgIHVzaW5nIENhbWVyYVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8SURMRGljdGlv
bmFyeTxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPj47CisgICAgdm9pZCBnZXRDYW1lcmEoQ2FtZXJh
UHJvbWlzZSYmKTsKKyAgICB2b2lkIHNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBE
T01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CisKICAgICBib29sIGlzRHJhZ2dhYmxlSWdub3Jp
bmdBdHRyaWJ1dGVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCiBwcml2YXRlOgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxN
b2RlbEVsZW1lbnQuaWRsCmluZGV4IDE2M2FkNmMzYWFlN2Y3MTQ2MWFhMGJiOTdjMGUwYjY3YWNh
MGZjN2EuLmU3ZWQ0MDkxYjM5MGU3NGUxZWZhMGNmMzlkYWExNWFmYmJhNjI2ZjggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudC5pZGwKQEAgLTMzLDQgKzMzLDcgQEAKICAgICByZWFkb25seSBhdHRyaWJ1dGUgUHJv
bWlzZTxIVE1MTW9kZWxFbGVtZW50PiByZWFkeTsKIAogICAgIHVuZGVmaW5lZCBlbnRlckZ1bGxz
Y3JlZW4oKTsKKworICAgIFByb21pc2U8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4gZ2V0Q2FtZXJh
KCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhIGNhbWVyYSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmYx
ZDk0YTlkMGJkMzMyMzM2NDg3OTU3NDY2MTUyYmNmMzVjNmE0YQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8b3B0aW9uYWw+CisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgeworICAgIGRv
dWJsZSBwaXRjaCB7IDAgfTsKKyAgICBkb3VibGUgeWF3IHsgMCB9OworICAgIGRvdWJsZSBzY2Fs
ZSB7IDEgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29k
ZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRp
b25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVt
cGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjplbmNvZGUo
RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHBpdGNoOworICAgIGVu
Y29kZXIgPDwgeWF3OworICAgIGVuY29kZXIgPDwgc2NhbGU7Cit9CisKK3RlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4gSFRNTE1vZGVs
RWxlbWVudENhbWVyYTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAgc3RkOjpvcHRp
b25hbDxkb3VibGU+IHBpdGNoOworICAgIGRlY29kZXIgPj4gcGl0Y2g7CisgICAgaWYgKCFwaXRj
aCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0aW9uYWw8ZG91
YmxlPiB5YXc7CisgICAgZGVjb2RlciA+PiB5YXc7CisgICAgaWYgKCF5YXcpCisgICAgICAgIHJl
dHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gc2NhbGU7Cisg
ICAgZGVjb2RlciA+PiBzY2FsZTsKKyAgICBpZiAoIXNjYWxlKQorICAgICAgICByZXR1cm4gc3Rk
OjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyAqcGl0Y2gsICp5YXcsICpzY2FsZSB9IH07Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjE3MjcwOTMxZDdmMWViNmRkNDVhZjBkY2MzZTk0ZDI3ZGQ4YmJjMjcKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRN
TE1vZGVsRWxlbWVudENhbWVyYS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1NT0RFTF9F
TEVNRU5ULAorICAgIEVuYWJsZWRCeVNldHRpbmc9TW9kZWxFbGVtZW50RW5hYmxlZCwKKyAgICBK
U0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEg
eworICAgIGRvdWJsZSBwaXRjaDsKKyAgICBkb3VibGUgeWF3OworICAgIGRvdWJsZSBzY2FsZTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9k
ZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBs
YXllci5oCmluZGV4IDY3NWE0MGYyOGRjZTZlYjUzZDVmYjQxOTBmN2FiNTc2MTU3NDY3MTUuLjlh
ZWVjYjVhM2RjZTRjYjEzNzRjMzUxMWUzOGM4NTg3ZTIwOWY5MzkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCkBAIC0yNSw5ICsy
NSwxMSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRDYW1l
cmEuaCIKICNpbmNsdWRlICJMYXlvdXRQb2ludC5oIgogI2luY2x1ZGUgIkxheW91dFNpemUuaCIK
ICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCisjaW5jbHVkZSA8b3B0aW9uYWw+CiAjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5oPgogCkBAIC00
Nyw3ICs0OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VEb3duKGNv
bnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBo
YW5kbGVNb3VzZU1vdmUoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSA9IDA7CiAg
ICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9u
aWNUaW1lKSA9IDA7Ci0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgPSAw
OworICAgIHZpcnR1YWwgdm9pZCBzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSA9IDA7CiB9OwogCiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBs
YXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVt
bXlNb2RlbFBsYXllci5jcHAKaW5kZXggNjg3NDg0MGZiOGU5ZTA2MGUxMzUwMWNmOTZjMTk2ZDg2
ZDYyNTgyMy4uYzUyOWYwNzllNzgyZjQ4MDA4MmFiNmZkMTA5YTRmYTU1NjlhYjNmMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9k
ZWxQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9k
dW1teS9EdW1teU1vZGVsUGxheWVyLmNwcApAQCAtNzAsNCArNzAsMTIgQEAgdm9pZCBEdW1teU1v
ZGVsUGxheWVyOjpoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGlt
ZSkKIHsKIH0KIAordm9pZCBEdW1teU1vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
JiYpPiYmKQoreworfQorCit2b2lkIER1bW15TW9kZWxQbGF5ZXI6OnNldENhbWVyYShXZWJDb3Jl
OjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+
JiYpCit7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5oCmluZGV4IDNiYjFiODhkMTJm
MzllODQzNDJjYjU1MTI0N2RhZjUwNzczN2ZmODQuLjc5NjEzNDVhNDYyNmIzMmYyNDFhZTQyNWI1
NjNjMGJmMDAxMjk0M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuaApAQCAtNDcsNiArNDcs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2Vi
Q29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQg
c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCYmKT4mJikgb3ZlcnJpZGU7CiAKICAgICBXZWFrUHRyPE1vZGVsUGxheWVy
Q2xpZW50PiBtX2NsaWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIu
aAppbmRleCA5YjRmMWRmODc5M2Y3NjM2ZDAyNWNhNDQzMDJjMWExYzg1ZDgxYjc4Li5lNzg1NGY4
MGJiN2QyN2QwZGVkOTJhNDMwM2I4MzljYjYyZDYxMDQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2Vu
ZUtpdE1vZGVsUGxheWVyLmgKQEAgLTYxLDYgKzYxLDggQEAgcHJpdmF0ZToKICAgICB2b2lkIGhh
bmRsZU1vdXNlRG93bihjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpIG92ZXJyaWRl
OwogICAgIHZvaWQgaGFuZGxlTW91c2VNb3ZlKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3Rvbmlj
VGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBnZXRDYW1lcmEoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYm
KSBvdmVycmlkZTsKKyAgICB2b2lkIHNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYpIG92ZXJyaWRlOwogCiAgICAgLy8gU2Nl
bmVLaXRNb2RlbExvYWRlckNsaWVudCBvdmVycmlkZXMuCiAgICAgdmlydHVhbCB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoU2NlbmVLaXRNb2RlbExvYWRlciYsIFJlZjxTY2VuZUtpdE1vZGVsPikgb3Zl
cnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
c2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbSBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tCmluZGV4IDc3NmM2
OGZjNmY1MWY5NjdjOGQ0MzczZjJkMDBiZDY0OWUxMDQyYjcuLmY0MzA5ZWI2MTQ4OWJlNjExOTc1
YWQ1ZDQzODU1MGVkYjc2MjZiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxh
eWVyLm1tCkBAIC04OCw2ICs4OCwxNCBAQCB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewogfQogCit2b2lk
IFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9CisKK3ZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogLy8gTUFSSzogLSBTY2Vu
ZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRlcy4KIAogdm9pZCBTY2VuZUtpdE1vZGVsUGxh
eWVyOjpkaWRGaW5pc2hMb2FkaW5nKFNjZW5lS2l0TW9kZWxMb2FkZXImIGxvYWRlciwgUmVmPFNj
ZW5lS2l0TW9kZWw+IG1vZGVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL2lv
cy9TeXN0ZW1QcmV2aWV3U1BJLmgKaW5kZXggNWExYWQzMDlhZTlhYWU0NjdjNWY4NTRhMTE0ZjYy
NGI4MGQyMGFmNS4uYjg5NWNiYzQzNTM1OGMzODliODIxMWZlNWU1ZTc1YjAxNTIyNGE1ZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5o
CkBAIC04MSw2ICs4MSw4IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogCisjaW1wb3J0IDxzaW1kL3NpbWQuaD4KKwogQGNs
YXNzIEFTVklubGluZVByZXZpZXc7CiBAY2xhc3MgQ0FGZW5jZUhhbmRsZTsKIEBpbnRlcmZhY2Ug
QVNWSW5saW5lUHJldmlldyA6IE5TT2JqZWN0CkBAIC05Nyw2ICs5OSwxMCBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogLSAodm9pZCl0b3VjaGVzRW5kZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0
b3VjaGVzIHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OwogLSAodm9pZCl0b3Vj
aGVzQ2FuY2VsbGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KG51bGxh
YmxlIFVJRXZlbnQgKilldmVudDsKIAordHlwZWRlZiB2b2lkICheQVNWQ2FtZXJhVHJhbnNmb3Jt
UmVwbHlCbG9jaykgKHNpbWRfZmxvYXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAqIF9OdWxs
YWJsZSBlcnJvcik7CistICh2b2lkKWdldENhbWVyYVRyYW5zZm9ybTooQVNWQ2FtZXJhVHJhbnNm
b3JtUmVwbHlCbG9jaylyZXBseTsKKy0gKHZvaWQpc2V0Q2FtZXJhVHJhbnNmb3JtOihzaW1kX2Zs
b2F0Myl0cmFuc2Zvcm07CisKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oIGIvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA2MGFiY2Y3NzY4YjI0ZGNj
MzY5OWM5NTVmYzQ3N2RjNzBhODZlZWM2Li4wZDlkMmRjMWY2OGI0ODY1NWM3YmY1NjQxM2MzOGE2
ZjQ4MGMwYjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lz
dGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0
ZW1QcmV2aWV3U1BJLmgKQEAgLTM1LDYgKzM1LDggQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4K
IAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAKKyNpbXBvcnQgPHNpbWQv
c2ltZC5oPgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIAogQGludGVyZmFjZSBBU1ZJbmxp
bmVQcmV2aWV3IDogTlNPYmplY3QKQEAgLTUyLDYgKzU0LDEwIEBAIE5TX0FTU1VNRV9OT05OVUxM
X0JFR0lOCiAtICh2b2lkKW1vdXNlRHJhZ2dlZEF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24g
dGltZXN0YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lc3RhbXA7CiAtICh2b2lkKW1vdXNlVXBBdExv
Y2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIHRpbWVzdGFtcDooTlNUaW1lSW50ZXJ2YWwpdGltZXN0
YW1wOwogCit0eXBlZGVmIHZvaWQgKF5BU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2lt
ZF9mbG9hdDMgY2FtZXJhVHJhbnNmb3JtLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKTsKKy0g
KHZvaWQpZ2V0Q2FtZXJhVHJhbnNmb3JtOihBU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKXJl
cGx5OworLSAodm9pZClzZXRDYW1lcmFUcmFuc2Zvcm06KHNpbWRfZmxvYXQzKXRyYW5zZm9ybTsK
KwogQGVuZAogCiAjZW5kaWYgLy8gRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291
cmNlcy50eHQKaW5kZXggZTkyOGZmOTQ5NDU4M2I2NGVkNjBmNTVhODc5NDM1MDExZDc2NDJiNC4u
MDQ5Mjg0NzkyMDdmZGYzOGI0Y2Q1NjdmZDk1MmUwNmU3YzI5NjQwZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
QEAgLTMzMDIsNiArMzMwMiw3IEBAIEpTSFRNTE1ldGFFbGVtZW50LmNwcAogSlNIVE1MTWV0ZXJF
bGVtZW50LmNwcAogSlNIVE1MTW9kRWxlbWVudC5jcHAKIEpTSFRNTE1vZGVsRWxlbWVudC5jcHAK
K0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAKIEpTSFRNTE9MaXN0RWxlbWVudC5jcHAKIEpT
SFRNTE9iamVjdEVsZW1lbnQuY3BwCiBKU0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ2
N2Y5MDZlOGVlMDQ3Mjg4NDI0ZTQwMTUyMWUyNDk3OTMzYTM0Mi4uNTllNzZkOWRmOTdiNjBjMWEy
YjA4ODViYTUwZGFmYWY5YWY5MDQyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI3NSw2ICsyMjc1LDcgQEAKIAkJNzE1QUQ3
MjEyMDUwNTEzRjAwRDU5MkRDIC8qIENTU1RyYW5zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxMjNDMTg2MjA0NzM5QkEwMDc4OTM5MiAvKiBD
U1NUcmFuc2l0aW9uLmggKi87IH07CiAJCTcxNzI5RjdCMjBGM0JBNDkwMDgwMUNFNiAvKiBEb2N1
bWVudFRpbWVsaW5lT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNzE3MjlGN0EyMEYzQkEzQTAwODAxQ0U2IC8qIERvY3VtZW50VGltZWxpbmVP
cHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzE3MjlGN0UyMEYzQkI0NzAwODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNzI5RjdD
MjBGM0JBQjkwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmggKi87IH07CisJ
CTcxNzdBRDU3Mjc0Mjk1RDEwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTc3QUQ1NjI3NDI5
NTkwMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxODFBMTZDMjQ0RjBGNDAwMDdEOEEy
NCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxODFBMTY5MjQ0RjBGMkMwMDdEOEEyNCAvKiBEb2N1
bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3MUExQjYwODFERUU1QUQ3MDA3M0JDRkIgLyogbW9kZXJuLW1l
ZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzLmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUExQjYwNjFERUU1QTgyMDA3M0JDRkIgLyogbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzLmpzICovOyB9OwogCQk3MUEzRDE4
MTI1NjJCODVCMDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFBM0QxN0QyNTYyQjgyNDAwNjRFMkE2IC8q
IEhUTUxNb2RlbEVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTA3NzgsNiArMTA3NzksMTAgQEAKIAkJNzE3MjlGN0MyMEYzQkFCOTAw
ODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3MTcyOUY3RDIwRjNCQUJBMDA4MDFDRTYgLyogSlNEb2N1bWVudFRp
bWVsaW5lT3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBK
U0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJNzE3M0RFQkQyNjE0REYwNDAwOTdERjMyIC8qIFN0eWxlYWJsZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZWFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk3MTc3QUQ1NDI3NDI5NTJGMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVu
dENhbWVyYS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU2Mjc0Mjk1OTAwMDJG
MTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzE3N0FENTgyNzQyOUNDQTAwMkYxMDNCIC8qIEpTSFRNTE1vZGVsRWxlbWVudENh
bWVyYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1
OTI3NDI5Q0NCMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTc3RTI0NjFEQjgwRDJGMDA5MTlBMEIgLyogbWVk
aWEtY29udHJvbGxlci1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0
OyBwYXRoID0gIm1lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTcxNzdFMjQ3MURCODBEMkYwMDkxOUEwQiAvKiBtdXRlLXN1cHBvcnQuanMg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAibXV0ZS1zdXBwb3J0Lmpz
Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3N0UyNDgxREI4MEQyRjAwOTE5QTBC
IC8qIHN0YXJ0LXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBh
dGggPSAic3RhcnQtc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
ODk2MiwxMSArMTg5NjcsMTEgQEAKIAkJMUE1NjlDQzQwRDdFMkI2MDAwN0MzOTgzIC8qIGJyaWRn
ZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTlCNTk3
NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpzYyAqLywKIAkJCQkxQTU2OUNFMjBEN0UyQjgyMDA3QzM5
ODMgLyogb2JqYyAqLywKIAkJCQk1OTlFNzU4RjExMDU1QTFGMDBEOTA0RkEgLyogQnJpZGdlLmgg
Ki8sCiAJCQkJMUE3MUQ1NzkwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuY3BwICov
LAogCQkJCTFBNzFENTdBMEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmggKi8sCi0J
CQkJNTlCNTk3NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpzYyAqLywKIAkJCQkxQTU2OUNFRjBEN0Uy
QjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5jcHAgKi8sCiAJCQkJMUE1NjlDRjAwRDdFMkI4
MjAwN0MzOTgzIC8qIHJ1bnRpbWVfYXJyYXkuaCAqLywKIAkJCQkxQTU2OUNGMTBEN0UyQjgyMDA3
QzM5ODMgLyogcnVudGltZV9tZXRob2QuY3BwICovLApAQCAtMjM4MTUsNiArMjM4MjAsOCBAQAog
CQkJCTcxQTNEMTgwMjU2MkI4MjUwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmNwcCAqLywK
IAkJCQk3MUEzRDE3RDI1NjJCODI0MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oICovLAog
CQkJCTcxQTNEMTdGMjU2MkI4MjQwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmlkbCAqLywK
KwkJCQk3MTc3QUQ1NjI3NDI5NTkwMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5o
ICovLAorCQkJCTcxNzdBRDU0Mjc0Mjk1MkYwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhLmlkbCAqLywKIAkJCQlCQzJCNDExNDI3MzJGMDYyMDBBMkQxOTEgLyogTW9kZWxQbGF5ZXIu
Y3BwICovLAogCQkJCUJDMkI0MTEzMjczMkYwNjIwMEEyRDE5MSAvKiBNb2RlbFBsYXllci5oICov
LAogCQkJCUJDMkI0MTEyMjczMkYwM0MwMEEyRDE5MSAvKiBNb2RlbFBsYXllckNsaWVudC5jcHAg
Ki8sCkBAIC0yNjA5Myw2ICsyNjEwMCw4IEBACiAJCQkJQTdCQkUyNjUxMUFGQjNGMjAwMDVFQTAz
IC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oICovLAogCQkJCTcxQTNEMTgyMjU2MkJEREIwMDY0RTJB
NiAvKiBKU0hUTUxNb2RlbEVsZW1lbnQuY3BwICovLAogCQkJCTcxQTNEMTgzMjU2MkJEREIwMDY0
RTJBNiAvKiBKU0hUTUxNb2RlbEVsZW1lbnQuaCAqLywKKwkJCQk3MTc3QUQ1ODI3NDI5Q0NBMDAy
RjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcCAqLywKKwkJCQk3MTc3QUQ1OTI3
NDI5Q0NCMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8sCiAJCQkJMUFF
MkFCMUYwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuY3BwICovLAogCQkJCTFB
RTJBQjIwMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50LmggKi8sCiAJCQkJQkMz
MDVDNzcwQzA3NkJCMzAwQ0QyMEYwIC8qIEpTSFRNTE9iamVjdEVsZW1lbnQuY3BwICovLApAQCAt
MzM3MjksNiArMzM3MzgsNyBAQAogCQkJCUE4NzFEQzI0MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1M
TWV0YUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE0NTQ0MjRCMTE5QjM2NjEwMDlCRTkx
MiAvKiBIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUEzRDE4MTI1NjJC
ODVCMDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzE3
N0FENTcyNzQyOTVEMTAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE4Q0ZGN0E3MEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjNGRDQwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxOYW1l
Q29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MUQ0NUEwQTEyN0NCQzAwQjEyQTY4
IC8qIEhUTUxPYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggM2JhZTNjMjI1ZjYwYzg4NGE2YTRjZTJhZjljZjllZjg3
MmJjMWIyZi4uM2EwNjRiYzcyMzFhMzYwMGNjODNkYzU4YTlhMmU3ZmYyZWU5NmIzNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTU4MywxMiArNTgzLDYgQEAgdm9p
ZCBFbXB0eUNocm9tZUNsaWVudDo6c2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRhV2l0aFBhcnNlZFVS
TCYsIENvbXBsZXRpb25IYW5kbGUKIHsKIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19JT1MpCi12b2lkIEVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQpIGNvbnN0Ci17Ci19
Ci0jZW5kaWYKLQogdm9pZCBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBv
bGljeUZvck5ld1dpbmRvd0FjdGlvbihjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiwgRm9ybVN0YXRlKiwgY29uc3QgU3RyaW5nJiwgUG9saWN5Q2hlY2tJZGVu
dGlmaWVyLCBGcmFtZVBvbGljeUZ1bmN0aW9uJiYpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmgKaW5kZXggMGM3OTczZjAwYTFmMzZlMjcwMTNhMTYxNmRiYzk2YTE4MGM1Y2Yw
OC4uNTIyNjE4NzMxZDc1NmVhNGJmOGI5NmRmMDA0MzVmODM1NThlZTkxYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjE3LDEwICsyMTcsNiBAQCBjbGFzcyBFbXB0eUNo
cm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZvaWQgZGlkQXNzb2NpYXRl
Rm9ybUNvbnRyb2xzKGNvbnN0IFZlY3RvcjxSZWZQdHI8RWxlbWVudD4+JiwgRnJhbWUmKSBmaW5h
bCB7IH0KICAgICBib29sIHNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMoKSBmaW5hbCB7IHJldHVy
biBmYWxzZTsgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2
b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBs
YXRmb3JtTGF5ZXJJRCkgY29uc3QgZmluYWw7Ci0jZW5kaWYKLQogICAgIFJlZlB0cjxJY29uPiBj
cmVhdGVJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIC8qIGZpbGVuYW1lcyAqLykg
ZmluYWwgeyByZXR1cm4gbnVsbHB0cjsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50
LmgKaW5kZXggZTEzZTM4N2QxOTE2OGFjNWZkMzU5YjJlNjE2ZDQzZGQzZjE3NTAyMi4uZjIzOTE0
NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5OTAwY2RjNzZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9t
ZUNsaWVudC5oCkBAIC02MDUsMTAgKzYwNSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQg
dGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGVDaGFuZ2VkKCkgeyB9CiAjZW5kaWYKIAot
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdmlydHVhbCB2b2lkIHRh
a2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3Jt
TGF5ZXJJRCkgY29uc3QgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJ
KQogICAgIHZpcnR1YWwgdm9pZCBzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYs
IGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6
Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5k
bGVyKHN0ZDo6bnVsbG9wdCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJ
U2Vzc2lvbigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVu
dGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40NDEzYWQwYWE0MjM4NTMwOTgzZWVjNDQ0NjE3YWViZWFmZDQ2NGI4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKQEAgLTAsMCAr
MSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFVykKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaW1w
b3J0IDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KKyNlbmRpZgorCitzdHJ1Y3QgTW9kZWxJZGVu
dGlmaWVyIHsKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIFN0cmlu
ZyB1dWlkOworI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBXZWJD
b3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgbGF5ZXJJZGVudGlmaWVyOworI2Vu
ZGlmCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikg
Y29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8
TW9kZWxJZGVudGlmaWVyPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBNb2RlbElkZW50aWZpZXI6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBj
b25zdAoreworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisgICAgZW5jb2Rl
ciA8PCB1dWlkOworI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBl
bmNvZGVyIDw8IGxheWVySWRlbnRpZmllcjsKKyNlbmRpZgorfQorCit0ZW1wbGF0ZTxjbGFzcyBE
ZWNvZGVyPiBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gTW9kZWxJZGVudGlmaWVyOjpk
ZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVdfTUFDKQorICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB1dWlkOworICAgIGRlY29kZXIgPj4g
dXVpZDsKKyAgICBpZiAoIXV1aWQpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAg
cmV0dXJuIHsgeyBXVEZNb3ZlKCp1dWlkKSB9IH07CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfSU9TKQorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6
UGxhdGZvcm1MYXllcklEPiBsYXllcklkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBsYXllcklk
ZW50aWZpZXI7CisgICAgaWYgKCFsYXllcklkZW50aWZpZXIpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgeyAqbGF5ZXJJZGVudGlmaWVyIH0gfTsKKyNlbmRpZgor
fQorCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2Nv
YS5tbQppbmRleCA3N2JhYmY3NjU2NWEyYmFhZTgxZDBkYTRhNDg1ODNmNzY1YjRlMmQxLi4wZTkx
OWVmNWFlOGUwNGU0NjdhMzcxNjk4MmY1MjMyNDBiYmNjYmQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNv
Y29hLm1tCkBAIC0zMCw2ICszMCwxMiBAQAogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0
ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0UG9pbnQuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvTGF5b3V0VW5pdC5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9y
Lmg+CisjaW1wb3J0IDxzaW1kL3NpbWQuaD4KKyNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+Cisj
aW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0lPUykKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCkBAIC00MiwxMiArNDgsNyBAQAog
I2VuZGlmCiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQotI2ltcG9ydCA8
V2ViQ29yZS9MYXlvdXRQb2ludC5oPgotI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRVbml0Lmg+Ci0j
aW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL1N5
c3RlbVByZXZpZXdTUEkuaD4KLSNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW1wb3J0IDx3
dGYvTW9ub3RvbmljVGltZS5oPgogI2VuZGlmCiAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09S
SyhBc3NldFZpZXdlcik7CkBAIC01NywzMCArNTgsMzYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAK
ICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogCi12b2lkIE1vZGVsRWxlbWVu
dENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKK1dLTW9kZWxWaWV3ICogTW9k
ZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRl
bnRpZmllciBtb2RlbElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5wcmVm
ZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXR1cm4gbmlsOwogCiAgICAgaWYgKCFpczxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVBy
b3h5PihtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSkKLSAgICAgICAgcmV0dXJuOworICAg
ICAgICByZXR1cm4gbmlsOwogCi0gICAgYXV0byogbm9kZSA9IGRvd25jYXN0PFJlbW90ZUxheWVy
VHJlZURyYXdpbmdBcmVhUHJveHk+KCptX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKS5yZW1v
dGVMYXllclRyZWVIb3N0KCkubm9kZUZvcklEKGNvbnRlbnRMYXllcklkKTsKKyAgICBhdXRvKiBu
b2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oKm1fd2ViUGFn
ZVByb3h5LmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3QoKS5ub2RlRm9ySUQobW9k
ZWxJZGVudGlmaWVyLmxheWVySWRlbnRpZmllcik7CiAgICAgaWYgKCFub2RlKQotICAgICAgICBy
ZXR1cm47CisgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBhdXRvICp2aWV3ID0gbm9kZS0+dWlW
aWV3KCk7Ci0gICAgaWYgKCF2aWV3KQotICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIGR5bmFt
aWNfb2JqY19jYXN0PFdLTW9kZWxWaWV3Pihub2RlLT51aVZpZXcoKSk7Cit9CiAKLSAgICBpZiAo
IVt2aWV3IGlzS2luZE9mQ2xhc3M6W1dLTW9kZWxWaWV3IGNsYXNzXV0pCi0gICAgICAgIHJldHVy
bjsKK0FTVklubGluZVByZXZpZXcgKiBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpwcmV2aWV3Rm9y
TW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CisgICAg
cmV0dXJuIFttb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKSBwcmV2
aWV3XQorfQogCit2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRG
dWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CiAgICAgYXV0byAq
cHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0gbV93ZWJQYWdlUHJveHkudWlDbGllbnQoKS5wcmVz
ZW50aW5nVmlld0NvbnRyb2xsZXIoKTsKICAgICBpZiAoIXByZXNlbnRpbmdWaWV3Q29udHJvbGxl
cikKICAgICAgICAgcmV0dXJuOwogCi0gICAgV0tNb2RlbFZpZXcgKm1vZGVsVmlldyA9IChXS01v
ZGVsVmlldyAqKXZpZXc7CisgICAgYXV0byBtb2RlbFZpZXcgPSBtb2RlbFZpZXdGb3JNb2RlbElk
ZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIW1vZGVsVmlldykKKyAgICAgICAg
cmV0dXJuOworCiAgICAgQ0dSZWN0IGluaXRpYWxGcmFtZSA9IFttb2RlbFZpZXcgY29udmVydFJl
Y3Q6bW9kZWxWaWV3LmZyYW1lIHRvVmlldzpuaWxdOwogCiAgICAgQVNWSW5saW5lUHJldmlldyAq
cHJldmlldyA9IFttb2RlbFZpZXcgcHJldmlld107CkBAIC05OCw3ICsxMDUsNyBAQCB2b2lkIE1v
ZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OgogCiAgICAgICAgICAgICBbcHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
IHByZXNlbnRWaWV3Q29udHJvbGxlcjpyZW1vdGVWaWV3Q29udHJvbGxlciBhbmltYXRlZDpOTyBj
b21wbGV0aW9uOl4odm9pZCkgewogICAgICAgICAgICAgICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2lu
XTsKLSAgICAgICAgICAgICAgICBbdmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVu
Y2U6ZmVuY2VIYW5kbGVdOworICAgICAgICAgICAgICAgIFttb2RlbFZpZXcubGF5ZXIuc3VwZXJs
YXllci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFuZGxlXTsKICAgICAgICAgICAgICAgICBbQ0FU
cmFuc2FjdGlvbiBjb21taXRdOwogICAgICAgICAgICAgICAgIFtmZW5jZUhhbmRsZSBpbnZhbGlk
YXRlXTsKICAgICAgICAgICAgIH1dOwpAQCAtMTEyLDcgKzExOSw3IEBAIHZvaWQgTW9kZWxFbGVt
ZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhp
Y3NMYXllcjo6CiAgICAgICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgICAgICBb
Q0FUcmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAgICAgICAgICAgICAgIFt2aWV3LmxheWVyLnN1
cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNtaXNzRmVuY2VIYW5kbGVdOworICAgICAgICAg
ICAgICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpk
aXNtaXNzRmVuY2VIYW5kbGVdOwogICAgICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBz
ZXRDb21wbGV0aW9uQmxvY2s6XnsKICAgICAgICAgICAgICAgICAgICAgICAgIFtyZW1vdGVWaWV3
Q29udHJvbGxlciBkaXNtaXNzVmlld0NvbnRyb2xsZXJBbmltYXRlZDpOTyBjb21wbGV0aW9uOm5p
bF07CiAgICAgICAgICAgICAgICAgICAgIH1dOwpAQCAtMTI4LDYgKzEzNSwxNCBAQCB2b2lkIE1v
ZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykK
IAorQVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JN
b2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICBp
ZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQor
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBtX2lubGluZVByZXZpZXdzLmdl
dChtb2RlbElkZW50aWZpZXIudXVpZCkuZ2V0KCk7Cit9CisKIHZvaWQgTW9kZWxFbGVtZW50Q29u
dHJvbGxlcjo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhVUkwgZmlsZVVSTCwgU3RyaW5n
IHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4
cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJl
ZmVyZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVkKCkpIHsKQEAgLTIxNiw2ICsyMzEsNjUgQEAg
dm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpoYW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVtZW50
KGNvbnN0IFN0cmluZyYgdXVpZCwgY28KIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVcpCisKK3N0YXRpYyBib29sIHByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KEFTVklu
bGluZVByZXZpZXcgKnByZXZpZXcpCit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0NBTUVSQV9UUkFOU0ZPUk0pCisgICAgcmV0dXJuIFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3Rv
cjpAc2VsZWN0b3IoZ2V0Q2FtZXJhVHJhbnNmb3JtOildOworI2Vsc2UKKyAgICByZXR1cm4gZmFs
c2U7CisjZW5kaWYKK30KKwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFG
b3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0
byogcHJldmlldyA9IHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsK
KyAgICBpZiAoIXByZXZpZXcgfHwgIXByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KHByZXZpZXcpKSB7
CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9
LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9
IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpH
ZW5lcmFsIH1dICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAg
ICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAg
ICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcgZ2V0Q2FtZXJh
VHJhbnNmb3JtOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKHNpbWRfZmxvYXQz
IGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcikgbXV0YWJsZSB7Cisg
ICAgICAgIGlmIChlcnJvcikgeworICAgICAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3dlYWtU
aGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlciksIGVycm9yID0gV2ViQ29yZTo6UmVzb3VyY2VFcnJvciB7IFdlYkNvcmU6
OlJlc291cmNlRXJyb3I6OlR5cGU6OkdlbmVyYWwgfV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAg
ICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cihtYWtlVW5leHBlY3RlZChlcnJvcikpOworICAgICAgICAgICAgfSk7CisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbY2FtZXJhVHJh
bnNmb3JtLCB3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlm
ICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXZWJDb3JlOjpI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhIHsgY2FtZXJhVHJhbnNmb3JtLngsIGNhbWVyYVRyYW5zZm9y
bS55LCBjYW1lcmFUcmFuc2Zvcm0ueiB9KTsKKyAgICAgICAgfSk7CisgICAgfSkuZ2V0KCldOwor
fQorCit2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnNldENhbWVyYUZvck1vZGVsRWxlbWVu
dChNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0
aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvKiBwcmV2aWV3ID0gcHJldmlld0Zvck1vZGVsSWRlbnRp
Zmllcihtb2RlbElkZW50aWZpZXIpOworICAgIGlmICghcHJldmlldyB8fCAhcHJldmlld0hhc0Nh
bWVyYVN1cHBvcnQocHJldmlldykpIHsKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3dlYWtU
aGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQor
ICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgfSk7Cisg
ICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBbcHJldmlldyBzZXRDYW1lcmFUcmFuc2Zvcm06
c2ltZF9tYWtlX2Zsb2F0MyhjYW1lcmEucGl0Y2gsIGNhbWVyYS55YXcsIGNhbWVyYS5zY2FsZSld
OworCisgICAgY2FsbE9uTWFpblJ1bkxvb3AoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0s
IGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFi
bGUgeworICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxl
cih0cnVlKTsKKyAgICB9KTsKK30KKworI2VuZGlmCisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKaW5kZXggZjFmOTU4
NjcwYjY1OTU5MTY3ZWUyZDg2MWNjYTQ0MzA4ZTFjOGM1Yy4uZWU2ODRlODc4YTllM2NiNjI2ZjRm
Y2Y1NTkxZmRmYmRjOTU4NzRiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TW9kZWxFbGVtZW50Q29udHJvbGxlci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01v
ZGVsRWxlbWVudENvbnRyb2xsZXIuaApAQCAtMjcsMTQgKzI3LDE3IEBACiAKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAKKyNpbmNsdWRlICJNb2RlbElkZW50aWZpZXIuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL0VsZW1lbnRDb250ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0xheWVyLmg+CiAjaW5jbHVkZSA8d3RmL1JldGFpblB0ci5oPgogI2luY2x1ZGUgPHd0Zi9V
UkwuaD4KICNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX01BQykKIE9CSkNfQ0xBU1MgQVNWSW5saW5lUHJldmlldzsKKworI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCitPQkpDX0NMQVNTIFdLTW9kZWxWaWV3OwogI2Vu
ZGlmCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDgsOCArNTEsMTIgQEAgcHVibGljOgogCiAg
ICAgV2ViUGFnZVByb3h5JiBwYWdlKCkgeyByZXR1cm4gbV93ZWJQYWdlUHJveHk7IH0KIAorI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyAgICB2b2lkIGdldENhbWVyYUZvck1vZGVs
RWxlbWVudChNb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8
V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4p
PiYmKTsKKyAgICB2b2lkIHNldENhbWVyYUZvck1vZGVsRWxlbWVudChNb2RlbElkZW50aWZpZXIs
IFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYpOworI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykK
LSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5
ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCk7CisgICAgdm9pZCB0YWtlTW9kZWxF
bGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICB2b2lkIG1vZGVsRWxlbWVudERpZENyZWF0ZVBy
ZXZpZXcoVVJMLCBTdHJpbmcsIFdlYkNvcmU6OkZsb2F0U2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291
cmNlRXJyb3I+KT4mJik7CkBAIC01OSw2ICs2NiwxNCBAQCBwdWJsaWM6CiAjZW5kaWYKIAogcHJp
dmF0ZToKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgQVNWSW5saW5lUHJl
dmlldyAqIHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyKTsKKyNlbmRp
ZgorCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBXS01vZGVsVmll
dyAqIG1vZGVsVmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElkZW50aWZpZXIpOworI2VuZGlm
CisKICAgICBXZWJQYWdlUHJveHkmIG1fd2ViUGFnZVByb3h5OwogI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19NQUMpCiAgICAgUmV0YWluUHRyPEFTVklubGluZVByZXZpZXc+IHByZXZp
ZXdGb3JVVUlEKGNvbnN0IFN0cmluZyYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggZjk1ZGQ3ODNkNWE2N2Q0N2RkOGNiYjJlYTVmODNjOThmNTQ0MGUyZi4u
ZjBkMWU3NWI1ZGYzYjcyYTUyZDkyODcyNzkwM2E5NjRhYWY1ZDZkZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0xMDgzMiwxMCArMTA4MzIsMjIgQEAgV2Vi
Q29yZTo6Q2FwdHVyZVNvdXJjZU9yRXJyb3IgV2ViUGFnZVByb3h5OjpjcmVhdGVSZWFsdGltZU1l
ZGlhU291cmNlRm9yU3BlZWNoUmUKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVcpCit2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1vZGVs
SWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0
ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIo
KS0+Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KG1vZGVsSWRlbnRpZmllciwgV1RGTW92ZShjb21w
bGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIFdlYlBhZ2VQcm94eTo6bW9kZWxFbGVtZW50U2V0
Q2FtZXJhKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFdlYkNvcmU6OkhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEgY2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKQoreworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+c2V0Q2Ft
ZXJhRm9yTW9kZWxFbGVtZW50KG1vZGVsSWRlbnRpZmllciwgY2FtZXJhLCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7Cit9CisjZW5kaWYKKwogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19JT1MpCi12b2lkIFdlYlBhZ2VQcm94eTo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKQor
dm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRp
ZmllciBtb2RlbElkZW50aWZpZXIpCiB7Ci0gICAgbW9kZWxFbGVtZW50Q29udHJvbGxlcigpLT50
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCk7CisgICAgbW9kZWxFbGVt
ZW50Q29udHJvbGxlcigpLT50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihtb2RlbElkZW50aWZp
ZXIpOwogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5k
ZXggMTZlODZlMGFmYzUwMWU3NGQ3ZDZkZDJjOTEzMGQ3YjUwNTViMTkzNi4uYzcwZDBjNzcxYzVj
Mjk0MTdlN2FhNDk3YzNkODEwYjE0MWI5MDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTE5Niw2ICsxOTYsNyBAQCBpbnRlcmZhY2UgSUQzRDExRGV2aWNlMTsK
IAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKICNpbmNsdWRlICJNb2RlbEVsZW1l
bnRDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiTW9kZWxJZGVudGlmaWVyLmgiCiAjZW5kaWYKIAog
bmFtZXNwYWNlIEFQSSB7CkBAIC01ODcsOSArNTg4LDExIEBAIHB1YmxpYzoKIAogI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFVykKICAgICBNb2RlbEVsZW1lbnRDb250cm9sbGVyKiBtb2Rl
bEVsZW1lbnRDb250cm9sbGVyKCkgeyByZXR1cm4gbV9tb2RlbEVsZW1lbnRDb250cm9sbGVyLmdl
dCgpOyB9CisgICAgdm9pZCBtb2RlbEVsZW1lbnRHZXRDYW1lcmEoTW9kZWxJZGVudGlmaWVyLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7CisgICAgdm9pZCBtb2RlbEVsZW1l
bnRTZXRDYW1lcmEoTW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKICNlbmRpZgogI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExh
eWVySWQpOworICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlm
aWVyKTsKICNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAg
dm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KGNvbnN0IFVSTCYsIGNvbnN0IFN0cmlu
ZyYsIGNvbnN0IFdlYkNvcmU6OkZsb2F0U2l6ZSYsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhw
ZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Pik+JiYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3Nh
Z2VzLmluCmluZGV4IDE2MTYzYWNmZjJjOGE4YzM4OTFmNjEyOThiMDBiMTA5ZWE5NGI2YTkuLjZm
MDc0ZjUzMGIyZWE4MTBiZDE0NzVmYTZlYTJlNzJjYzM3YTlhMWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTU4Niw3ICs1ODYs
NyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIFRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKHVp
bnQ2NF90IGNvbnRlbnRMYXllcklEKQorICAgIFRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKHN0
cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCiAjZW5kaWYKICNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIE1vZGVsRWxlbWVudERpZENy
ZWF0ZVByZXZpZXcoVVJMIHVybCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXpl
KSAtPiAoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNv
dXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCkBAIC01OTQsNiArNTk0LDEwIEBAIG1lc3NhZ2VzIC0+
IFdlYlBhZ2VQcm94eSB7CiAgICAgSGFuZGxlTW91c2VNb3ZlRm9yTW9kZWxFbGVtZW50KFN0cmlu
ZyB1dWlkLCBXZWJDb3JlOjpMYXlvdXRQb2ludCBsb2NhdGlvbkluUGFnZUNvb3JkaW5hdGVzLCBN
b25vdG9uaWNUaW1lIHRpbWVzdGFtcCkKICAgICBIYW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVtZW50
KFN0cmluZyB1dWlkLCBXZWJDb3JlOjpMYXlvdXRQb2ludCBsb2NhdGlvbkluUGFnZUNvb3JkaW5h
dGVzLCBNb25vdG9uaWNUaW1lIHRpbWVzdGFtcCkKICNlbmRpZgorI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFVykKKyAgICBNb2RlbEVsZW1lbnRHZXRDYW1lcmEoc3RydWN0IFdlYktpdDo6
TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikgLT4gKEV4cGVjdGVkPFdlYkNvcmU6OkhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgQXN5
bmMKKyAgICBNb2RlbEVsZW1lbnRTZXRDYW1lcmEoc3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllciwgc3RydWN0IFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1l
cmEgY2FtZXJhKSAtPiAoYm9vbCBzdWNjZXNzKSBBc3luYworI2VuZGlmCiAKICAgICByZXF1ZXN0
UGVybWlzc2lvbihzdHJ1Y3QgV2ViQ29yZTo6Q2xpZW50T3JpZ2luIG9yaWdpbiwgc3RydWN0IFdl
YkNvcmU6OlBlcm1pc3Npb25EZXNjcmlwdG9yIGRlc2NyaXB0b3IpIC0+IChlbnVtOnVpbnQ4X3Qg
V2ViQ29yZTo6UGVybWlzc2lvblN0YXRlIHN0YXRlKSBBc3luYwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA2ZWZlY2JjZWU0NjU5MmU3
NThlMGU4OGNmNmU5MTgxY2U5Mjk5OThiLi4zNjE2Y2M1ZDJiYzk2ODVhMWFkZjk5MWE5M2E4Yzdh
MjhiNWZkYmE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTQ3MDgsNiArNDcwOCw3IEBACiAJCTcxQTY3NkE1MjJDNjIzMTgwMDdENjI5
NSAvKiBXS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW07
IHBhdGggPSBpb3MvV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk3MUJBQTczMTI1RkZDQ0JBMDBEN0NENUQgLyogV0tNb2RlbFZp
ZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV0tNb2RlbFZpZXcuaDsgcGF0
aCA9IGlvcy9XS01vZGVsVmlldy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUJB
QTczMjI1RkZDQ0JBMDBEN0NENUQgLyogV0tNb2RlbFZpZXcubW0gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS01vZGVsVmlldy5tbTsgcGF0aCA9IGlvcy9XS01vZGVs
Vmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzFFOTY1MEYyNzQ1NjgyRTAw
QURDRjQzIC8qIE1vZGVsSWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2RlbElkZW50aWZp
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFGQjgxMEEyMjYwNjI3QTAwMzIz
Njc3IC8qIFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rpc3BhdGNoUG9saWN5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYnNpdGVTaW11bGF0ZWRNb3VzZUV2ZW50c0Rp
c3BhdGNoUG9saWN5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyMDM0NDlBMjZB
NkM0NEMwMDBBNUY1NCAvKiBNb25vdG9uaWNPYmplY3RJZGVudGlmaWVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1vbm90b25pY09iamVjdElkZW50aWZpZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNzIwMzQ0OUIyNkE2QzQ3NjAwMEE1RjU0IC8qIFJlbmRlcmluZ1VwZGF0ZUlELmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFJlbmRlcmluZ1VwZGF0ZUlELmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC02ODM0LDYgKzY4MzUsNyBAQAogCQkJCTJEMTA4NzVFMUQyQzU3M0UwMEI4NUY4MiAv
KiBMb2FkUGFyYW1ldGVycy5jcHAgKi8sCiAJCQkJMkQxMDg3NUYxRDJDNTczRTAwQjg1RjgyIC8q
IExvYWRQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDk5MTdEQjAyNTJFMzA3NTAwNTAzMTNGIC8qIE1l
ZGlhUGxheWJhY2tTdGF0ZS5oICovLAorCQkJCTcxRTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAvKiBN
b2RlbElkZW50aWZpZXIuaCAqLywKIAkJCQk3MjAzNDQ5QTI2QTZDNDRDMDAwQTVGNTQgLyogTW9u
b3RvbmljT2JqZWN0SWRlbnRpZmllci5oICovLAogCQkJCTJENTAzNjZBMUJDREUxNzkwMEUyMEJC
MyAvKiBOYXRpdmVXZWJHZXN0dXJlRXZlbnQuaCAqLywKIAkJCQlDMDJCRkYxNTEyNTE0RkQ4MDA5
Q0NCRUEgLyogTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oICovLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQ
bGF5ZXIuaAppbmRleCAzY2FhY2IzNTY1ZjlmODY2M2I0ODI0ZDg3N2MxNGExZTU5M2E2MzI0Li5j
YzM0NGE1N2JhMGEwMDkzNjZhMWM4MGEyNGE2OGVmYWE2N2ZiOGE2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXIuaApAQCAtMjcsOSArMjcsMTIgQEAKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFVykKIAotI2luY2x1ZGUgPFdlYkNvcmUvTW9kZWxQbGF5ZXIuaD4KLSNpbmNsdWRl
IDxXZWJDb3JlL01vZGVsUGxheWVyQ2xpZW50Lmg+Ci0jaW5jbHVkZSA8d3RmL0NvbXBpbGVyLmg+
CisjaW1wb3J0ICJNb2RlbElkZW50aWZpZXIuaCIKKyNpbXBvcnQgIldlYlBhZ2UuaCIKKyNpbXBv
cnQgIldlYlBhZ2VQcm94eU1lc3NhZ2VzLmgiCisjaW1wb3J0IDxXZWJDb3JlL01vZGVsUGxheWVy
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL01vZGVsUGxheWVyQ2xpZW50Lmg+CisjaW1wb3J0IDx3dGYv
Q29tcGlsZXIuaD4KIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTQzLDExICs0NiwxNSBAQCBw
cm90ZWN0ZWQ6CiAgICAgV2ViUGFnZSogcGFnZSgpIHsgcmV0dXJuIG1fcGFnZS5nZXQoKTsgfQog
ICAgIFdlYkNvcmU6Ok1vZGVsUGxheWVyQ2xpZW50KiBjbGllbnQoKSB7IHJldHVybiBtX2NsaWVu
dC5nZXQoKTsgfQogCisgICAgdmlydHVhbCBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4g
bW9kZWxJZGVudGlmaWVyKCkgPSAwOworCiBwcml2YXRlOgogICAgIC8vIFdlYkNvcmU6Ok1vZGVs
UGxheWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TW9kZWwmLCBXZWJDb3Jl
OjpMYXlvdXRTaXplKSBvdmVycmlkZTsKICAgICBQbGF0Zm9ybUxheWVyKiBsYXllcigpIG92ZXJy
aWRlOwogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCkgb3ZlcnJpZGU7CisgICAgdm9pZCBnZXRD
YW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldENhbWVyYShX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJv
b2wmJik+JiYpIG92ZXJyaWRlOwogCiAgICAgV2Vha1B0cjxXZWJQYWdlPiBtX3BhZ2U7CiAgICAg
V2Vha1B0cjxXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudD4gbV9jbGllbnQ7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQ
bGF5ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXIubW0KaW5kZXggZWRiZDE0YTE5Y2QzYjM1ZGIzMDQ0NjUyYmFjMzYyMWZl
Y2IyNzI1MS4uMGMwMWYyMDZjYTZkYjA3OTUwNTBhOTQwZjViMDBlMGNkMWQwZWUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllci5tbQpAQCAtNTUsNiArNTUsNTMgQEAgdm9pZCBBUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllcjo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKIH0KIAordm9pZCBB
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6Z2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4m
JiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMt
Pm1vZGVsSWRlbnRpZmllcigpOworICAgIGlmICghbW9kZWxJZGVudGlmaWVyKSB7CisgICAgICAg
IGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgIHJldHVybjsKKyAgICB9
CisKKyAgICBhdXRvKiBzdHJvbmdQYWdlID0gbV9wYWdlLmdldCgpOworICAgIGlmICghc3Ryb25n
UGFnZSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+
IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildIChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIG11dGFibGUgeworICAgICAgICBp
ZiAoIXJlc3VsdCkgeworICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0
KTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKCpyZXN1bHQpOworICAgIH07CisKKyAgICBzdHJvbmdQYWdlLT5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TW9kZWxFbGVtZW50R2V0Q2FtZXJhKCptb2Rl
bElkZW50aWZpZXIpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKK3Zv
aWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OnNldENhbWVyYShXZWJDb3JlOjpIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhp
cy0+bW9kZWxJZGVudGlmaWVyKCk7CisgICAgaWYgKCFtb2RlbElkZW50aWZpZXIpIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICByZXR1cm47CisgICAgfQorCisg
ICAgYXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2Up
IHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4gcmVtb3RlQ29tcGxldGlv
bkhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KV0gKGJvb2wgc3VjY2VzcykgbXV0YWJsZSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdU
Rk1vdmUoc3VjY2VzcykpOworICAgIH07CisKKyAgICBzdHJvbmdQYWdlLT5zZW5kV2l0aEFzeW5j
UmVwbHkoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6TW9kZWxFbGVtZW50U2V0Q2FtZXJhKCptb2Rl
bElkZW50aWZpZXIsIGNhbWVyYSksIFdURk1vdmUocmVtb3RlQ29tcGxldGlvbkhhbmRsZXIpKTsK
K30KKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9N
b2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MuaCBiL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1Mu
aAppbmRleCAxY2UwNzBiNmEwZWYzNTBlZDBjNGJiMGFiNWIyMDgwMzljODRiMWIxLi40MGEyNTk1
ZjcwZTRiZWUxZjFkNjY4N2E0MjJkZmQ3YTczMzdkYmQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllcklPUy5oCkBAIC00MSw2ICs0MSw4IEBAIHB1YmxpYzoKIHByaXZhdGU6
CiAgICAgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MoV2ViUGFnZSYsIFdlYkNvcmU6
Ok1vZGVsUGxheWVyQ2xpZW50Jik7CiAKKyAgICBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmll
cj4gbW9kZWxJZGVudGlmaWVyKCkgb3ZlcnJpZGU7CisKICAgICAvLyBXZWJDb3JlOjpNb2RlbFBs
YXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKSBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZU1vdXNlRG93bihjb25zdCBXZWJDb3JlOjpMYXlvdXRQb2ludCYsIE1vbm90
b25pY1RpbWUpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJ
T1MubW0KaW5kZXggM2VjNmVmYzRkZTFlYjUzNGQxOTBiMjVhZDA3MDY2NzBiMjZlMzhiZC4uNWYx
MzcyOTc2MzI4ZTU1MjVlYzY0Y2E3YjBhMDFlZGM5NDZjNjQ5YSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
cklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TLm1tCkBAIC00OCwxNSArNDgsMjcgQEAgQVJLaXRJbmxp
bmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6On5BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklP
UygpCiB7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBBUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllcklPUzo6bW9kZWxJZGVudGlmaWVyKCkKK3sKKyAgICBpZiAoIWNsaWVu
dCgpKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgaWYgKGF1dG8gbGF5ZXJJZCA9IGNsaWVu
dCgpLT5wbGF0Zm9ybUxheWVySUQoKSkKKyAgICAgICAgcmV0dXJuIHsgeyBsYXllcklkIH0gfTsK
KworICAgIHJldHVybiB7IH07Cit9CisKIC8vIE1BUks6IC0gV2ViQ29yZTo6TW9kZWxQbGF5ZXIg
b3ZlcnJpZGVzLgogCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjplbnRl
ckZ1bGxzY3JlZW4oKQogewotICAgIGlmICghY2xpZW50KCkgfHwgIXBhZ2UoKSkKKyAgICBhdXRv
KiBzdHJvbmdQYWdlID0gcGFnZSgpOworICAgIGlmICghc3Ryb25nUGFnZSkKICAgICAgICAgcmV0
dXJuOwogCi0gICAgaWYgKGF1dG8gbGF5ZXJJZCA9IGNsaWVudCgpLT5wbGF0Zm9ybUxheWVySUQo
KSkKLSAgICAgICAgcGFnZSgpLT50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihsYXllcklkKTsK
KyAgICBpZiAoYXV0byBtb2RlbElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKSkK
KyAgICAgICAgc3Ryb25nUGFnZS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpUYWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbigqbW9kZWxJZGVudGlmaWVyKSk7CiB9CiAKIHZvaWQgQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6OmhhbmRsZU1vdXNlRG93bihjb25zdCBXZWJDb3Jl
OjpMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyTWFjLmgKaW5kZXggNjczMTkxNmM3NDhkZGJjNWE3MzgzODc2YzdiOTRlYWRhMDc1
MGUwNy4uYjNjOGU0MjA4YjEyZTUxOWQ0ZDA3Mzk5YzNjNzVjMTQxMThhNDgxNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllck1hYy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMv
QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaApAQCAtNDcsNiArNDcsOCBAQCBwdWJs
aWM6CiBwcml2YXRlOgogICAgIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjKFdlYlBh
Z2UmLCBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCYpOwogCisgICAgc3RkOjpvcHRpb25hbDxN
b2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpIG92ZXJyaWRlOworCiAgICAgLy8gV2Vi
Q29yZTo6TW9kZWxQbGF5ZXIgb3ZlcnJpZGVzLgogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpNb2Rl
bCYsIFdlYkNvcmU6OkxheW91dFNpemUpIG92ZXJyaWRlOwogICAgIFBsYXRmb3JtTGF5ZXIqIGxh
eWVyKCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9k
ZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1tIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5t
bQppbmRleCA0NTUyNjUzNzY0MmM1Y2M3MTQxYzU0ZjU3NTFlMjk1YWVlZjMzZWJiLi5jYjI1YTNj
ODExMzg0OGQxYzJlNDhkN2NkYWM5Y2IzYzU0NzIxMTNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFj
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQ
cmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0KQEAgLTU1LDYgKzU1LDEzIEBAIEFSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjOjp+QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMoKQog
ICAgIGNsZWFyRmlsZSgpOwogfQogCitzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWM6Om1vZGVsSWRlbnRpZmllcigpCit7CisgICAg
aWYgKG1faW5saW5lUHJldmlldykKKyAgICAgICAgcmV0dXJuIHsgeyBbbV9pbmxpbmVQcmV2aWV3
IHV1aWRdLlVVSURTdHJpbmcgfSB9OworICAgIHJldHVybiB7IH07Cit9CisKIHN0YXRpYyBTdHJp
bmcmIHNoYXJlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5KCkKIHsKICAgICBzdGF0aWMgTmV2
ZXJEZXN0cm95ZWQ8U3RyaW5nPiBzaGFyZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAKaW5kZXggZmM3YmMzMzIzYWI0ZjljNmJjYzk5MjlmYTZlYzhiNWYw
ZjA4MjMwNC4uNDM2YTVhNTIwMzVhMDY1NzU4OWMwZTkwYjA4NDJjNDMzNjU4MWUzZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNs
aWVudC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5jcHAKQEAgLTE1MjQsMTMgKzE1MjQsNiBAQCB2b2lkIFdlYkNocm9tZUNs
aWVudDo6ZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Y29uc3QgUAogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KQotdm9pZCBXZWJDaHJvbWVDbGllbnQ6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNv
cmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkgY29uc3QK
LXsKLSAgICBtX3BhZ2UudGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVySWQp
OwotfQotI2VuZGlmCi0KICNpZiBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKIAogdm9pZCBXZWJD
aHJvbWVDbGllbnQ6OnN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Npb24oY29uc3QgVVJMJiBvcmlnaW5h
dGluZ1VSTCwgY29uc3QgQXBwbGVQYXlBTVNVSVJlcXVlc3QmIHJlcXVlc3QsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJDaHJvbWVDbGllbnQuaAppbmRleCBhNzQ5ZjU5MzE5Mjc0ZWU0NmUwYWQ4MTI1YTg5NGVkNmNm
ZTBiOTRlLi4yZmUzMjkwMzQzNDdjZWQyOGY4MTA1N2RhM2ZlYzIzMzA3YWU3MDg0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oCkBAIC00NTUsMTAgKzQ1NSw2IEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnVt
ZXJhdGVJbW1lcnNpdmVYUkRldmljZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBQbGF0
Zm9ybVhSOjpJbnN0YW5jZTo6RGV2aWNlTGlzdCYpPiYmKSBmaW5hbDsKICNlbmRpZgogCi0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1l
bnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250
ZW50TGF5ZXJJZCkgY29uc3QgZmluYWw7Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlf
QU1TX1VJKQogICAgIHZvaWQgc3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihjb25zdCBVUkwmLCBj
b25zdCBXZWJDb3JlOjpBcHBsZVBheUFNU1VJUmVxdWVzdCYsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoc3RkOjpvcHRpb25hbDxib29sPiYmKT4mJikgZmluYWw7CiAgICAgdm9pZCBhYm9ydEFwcGxl
UGF5QU1TVUlTZXNzaW9uKCkgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCmluZGV4IGIxOGQ3ZjcyZTY3YWNhZDRhYjU0NmQ0ZDQwOGVkYWExNGFj
NjljYWIuLmRkNTljZmE3MTA2ZjA4NDQyZTNmYjM5OTNiMWE4ODA4ODFmN2JhMzYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC03Nzg5LDEzICs3
Nzg5LDYgQEAgdm9pZCBXZWJQYWdlOjpoYW5kbGVDb250ZXh0TWVudVRyYW5zbGF0aW9uKGNvbnN0
IFRyYW5zbGF0aW9uQ29udGV4dE1lbnVJbmZvJiBpbmYKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQgV2ViUGFnZTo6dGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRl
bnRMYXllcklkKQotewotICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6VGFrZU1vZGVs
RWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVySWQpKTsKLX0KLSNlbmRpZgotCiB2b2lkIFdl
YlBhZ2U6OnNjcm9sbFRvUmVjdChjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIHRhcmdldFJlY3Qs
IGNvbnN0IFdlYkNvcmU6OkZsb2F0UG9pbnQmIG9yaWdpbikKIHsKICAgICBtYWluRnJhbWVWaWV3
KCktPnNldFNjcm9sbFBvc2l0aW9uKEludFBvaW50KHRhcmdldFJlY3QubWluWE1pbllDb3JuZXIo
KSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDQx
ZTI2MDM5YWI4MTRiNDQyNGMyZTIyYTZjNGVmMmNhM2VhMWJmN2UuLjc0MDNmNzdkNTBhY2QxZmQ1
MDBiZGVmOWU0YmFhMmU1N2Y4Mjg0NWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKQEAgLTE0OTAsMTAgKzE0OTAsNiBAQCBwdWJsaWM6CiAgICAgUGxhdGZv
cm1YUlN5c3RlbVByb3h5JiB4clN5c3RlbVByb3h5KCk7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVy
SWQpOwotI2VuZGlmCi0KICAgICB2b2lkIHByZXBhcmVUb1J1bk1vZGFsSmF2YVNjcmlwdERpYWxv
ZygpOwogCiAjaWYgVVNFKEFUU1BJKQo=
</data>
<flag name="commit-queue"
          id="469742"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444651</attachid>
            <date>2021-11-18 02:21:38 -0800</date>
            <delta_ts>2021-11-18 02:24:13 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233265-20211118112136.patch</filename>
            <type>text/plain</type>
            <size>65133</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li4xYzdmODg4OGY4MzA4
YWUwMTA3ZWUzMzk4ZjAxZTdkNGQzY2VmZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OmdldENhbWVyYSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xOCBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gW21hY09TXSBB
ZGQgc3VwcG9ydCBmb3IgaW50ZXJhY3Rpb24gb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4
IDI5OTcwNTgzMDZhY2ZhODNhZjk0ZDAyZmIyZDkwNWEwOTQzMDE5YWUuLjM3OGZhMjA5YTU5OGM1
ZjljYzBkMzQ1N2UxMTQ3N2QyM2IxMTQ0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhl
IGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUlFMIFNQSXMgd2Ug
YXJlIHVzaW5nLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oOgor
ICAgICAgICAqIHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaDoKKwogMjAyMS0xMS0xOCAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFtt
YWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRm
MDcyNDFiNzliYjM1Y2JhOTc0MDNkY2NmOTc4Nzg1YmQ4ZjUwYTEuLjFmNjU5ODg1ZjA2NWQwNGY4
NmY2MTllNGQxOWNjZmQ2MTk0MGMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEt
MTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01v
ZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFRoZSBBUlFMIEFQSXMgd2UnZCBhZG9wdGVkIHNvIGZhciB3ZXJl
IHNwZWNpZmljIHRvIGVpdGhlciBtYWNPUyBvciBpT1MuIFRoZSBuZXcgY2FtZXJhCisgICAgICAg
IG1ldGhvZHMgYXJlIGRpZmZlcmVudCBzaW5jZSB0aGV5IGV4aXN0IG9uIGJvdGggcGxhdGZvcm1z
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGV4cG9zZSBhIHNpbmdsZSBtZXNzYWdlIGZvciBib3Ro
IHBsYXRmb3Jtcywgd2UgaW50cm9kdWNlIGEgbmV3IE1vZGVsSWRlbnRpZmllcgorICAgICAgICBz
dHJ1Y3Qgd2hpY2ggd3JhcHMgdGhlIFVVSUQgc3RyaW5nIGZvciBtYWNPUyBhbmQgdGhlIGxheWVy
IGlkZW50aWZpZXIgZm9yIGlPUy4gVGhlbiBvbgorICAgICAgICBNb2RlbEVsZW1lbnRDb250cm9s
bGVyLCB3ZSBoYXZlIHRoZSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKCkgbWV0aG9kIHRvIGdl
dCB0aGUgbWF0Y2hpbmcKKyAgICAgICAgQVNWSW5saW5lUHJldmlldyBmb3IgdGhlIHByb3ZpZGVk
IE1vZGVsSWRlbnRpZmllci4KKworICAgICAgICBUaGlzIGFsbG93cyBnZXRDYW1lcmFGb3JNb2Rl
bEVsZW1lbnQoKSBhbmQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50IHRvIGJlIHNwZWNpZmllZCBm
b3IgYm90aAorICAgICAgICBpT1MgYW5kIG1hY09TIHdpdGggYSBzaW5nbGUgaW1wbGVtZW50YXRp
b24uCisKKyAgICAgICAgV2UgYWxzbyBtb2RpZnkgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
KSB0byB0YWtlIGFkdmFudGFnZSBvZiBNb2RlbElkZW50aWZpZXIgd2hpY2ggc2hvd2VkCisgICAg
ICAgIHRoYXQgd2UgaGFkIHNvbWUgbGluZ2VyaW5nIGNvZGUgaW4gQ2hyb21lQ2xpZW50IHJlbGF0
ZWQgdG8gdGhpcyBtZXRob2QgdGhhdCB3YXMgbm8gbG9uZ2VyCisgICAgICAgIG5lY2Vzc2FyeSBm
b2xsb3dpbmcgcjI4NTkyMi4KKworICAgICAgICAqIFNoYXJlZC9Nb2RlbElkZW50aWZpZXIuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0
L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaC4KKyAgICAgICAgKFdlYktpdDo6TW9kZWxJZGVudGlmaWVy
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbElkZW50aWZpZXI6OmRlY29k
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3
Rm9yTW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYktpdDo6cHJldmlld0hhc0NhbWVyYVN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAo
V2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojptb2RlbEVsZW1lbnRTZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRD
YW1lcmEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllck1hYy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbik6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10g
QWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmgKaW5kZXggMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4NmQ5ODU5ZWMxYjA1NWVj
YS4uMmRkOWZhMmIyN2NiNDA3Y2FkYjczOTQwYTI3NWM0ZDY3NTJjM2RhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzQzLDMgKzc0Myw3IEBACiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykgfHwgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKICNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXIDEKICNlbmRpZgorCisjaWYg
KEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMjA0MDApIHx8IChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkKKyNkZWZpbmUg
RU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDVhMDQxNTVjNGMwZjhiZGJiODg4MTA2MTU5NzIyZGViOWJk
MDE0NTUuLjBlZTBiZTMwM2QyYTcyNWY1MTYwM2UxMzFmNmUyMWVjMjg1NTZmY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00NjMsNiArNDYzLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogCiAg
ICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisgICAgTW9kdWxl
cy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCiAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0
NmY5ZDhkNmQzYjUyMi4uYTcyZmFkNTgxZDYxYmNjM2M2NjA5ODdjMGUyMTdjYTBmY2NkZWYwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBA
IC0xNTgsNiArMTU4LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4
U3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVWZXJ0ZXhTdGVwTW9k
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL05hdmlnYXRvckdQVS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eUV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBw
bGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCkBAIC0yMDUsNyArMjA2LDYgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbAotJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS1hbXMtdWkvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yK0NsaXBib2FyZC5pZGwKQEAgLTQy
OCw2ICs0MjgsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRz
UmVwb3J0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1F
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9hY3Rpdml0eS1pbmRpY2F0b3IuY3NzCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5jc3MK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2Fp
cnBsYXktYnV0dG9uLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IDRjNWZmOTU0YTE1OTdlZGJmNTBkNjJhZDcyOTA3NDI4YzVkMDUz
YjYuLmIyMjQxNzIxMGRkYmEzNzBjZjY0ZmY5OTFlYjA1ODg1MzkxM2ZlN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjgzLDYg
KzEyODMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hUTUxNb2RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPYmplY3RFbGVtZW50
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0
NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4uYjFiNmE4YTU1MTkxMjY2MzRiNTE5NjA1Nzk3ZGFiNGM2
NTkyZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00NTMsNiArNDUzLDcg
QEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDVHJhY2tFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFuc2Zvcm1FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMmEyN2U2MDIyMDU2YjdjOWRkNTkxYTcx
MTk0Y2QzMTRjMWM2NDJjNy4uNzM0ZDZkNzc4NmQ5OTgyYTU2YThjNWRiZDU1ZTc1OWYwNjdlYmJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1V0aWxzLmgKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKKyAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKICAgICBNb2R1bGVz
L21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJDbGllbnQuaAogICAgIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFBsYXllclByb3ZpZGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAppbmRleCA0ZmE2ZGU5
M2IwZTQ2N2ZhZjU3YmE0ZDIxNmE4OGY3MDgzN2QyOWFlLi44Njc4MDNiMmQ2MmUzYjYwNzFjOTYx
MjA3ZWEyMDlhN2RjZWY2YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwCkBAIC0zNywxMSArMzcsMTQg
QEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDQS5oIgorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJK
U0hUTUxNb2RlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCIKICNpbmNsdWRlICJNb2RlbC5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyLmgiCiAjaW5jbHVk
ZSAiTW9kZWxQbGF5ZXJQcm92aWRlci5oIgpAQCAtMzYwLDYgKzM2MywzOCBAQCB2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmRyYWdEaWRFbmQoTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIG1fbW9k
ZWxQbGF5ZXItPmhhbmRsZU1vdXNlVXAoZXZlbnQucGFnZUxvY2F0aW9uKCksIGV2ZW50LnRpbWVT
dGFtcCgpKTsKIH0KIAorLy8gTUFSSzog4oCTIENhbWVyYSBzdXBwb3J0LgorCit2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmdldENhbWVyYShDYW1lcmFQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBp
ZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPmdldENhbWVyYShbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldIChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
IGNhbWVyYSkgbXV0YWJsZSB7CisgICAgICAgIGlmICghY2FtZXJhKQorICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KCpjYW1lcmEpOworICAgIH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVy
YShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYgcHJvbWlzZSkKK3sKKyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXIt
PnNldENhbWVyYShjYW1lcmEsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGJvb2wgc3Vj
Y2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7
CisgICAgfSk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKaW5kZXggZmVlYmNjNTkzMDZjNWYyNDViOTQzMDE2MzQ0MzBkNzU5NGVlNmM1OS4u
ZmM0Y2Q2OGRhMjU0YzUwMmRhZDRjNTIyMzVkMjY1ZWU0OTRhODQwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJNb2RlbFBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIK
QEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTW9kZWw7CiBjbGFzcyBNb2RlbFBsYXllcjsKIGNsYXNz
IE1vdXNlRXZlbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQ
cm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKIGNsYXNzIEhUTUxNb2RlbEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgSFRNTEVsZW1lbnQsIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQsIHB1
YmxpYyBNb2RlbFBsYXllckNsaWVudCB7CkBAIC02OSw2ICs3MSwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisgICAgdXNpbmcgQ2FtZXJhUHJvbWlzZSA9IERP
TVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+PjsK
KyAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKKwog
ICAgIGJvb2wgaXNEcmFnZ2FibGVJZ25vcmluZ0F0dHJpYnV0ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKaW5kZXggMTYzYWQ2YzNh
YWU3ZjcxNDYxYWEwYmI5N2MwZTBiNjdhY2EwZmM3YS4uZTdlZDQwOTFiMzkwZTc0ZTFlZmEwY2Yz
OWRhYTE1YWZiYmE2MjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApAQCAtMzMsNCArMzMsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnQ+IHJlYWR5Owog
CiAgICAgdW5kZWZpbmVkIGVudGVyRnVsbHNjcmVlbigpOworCisgICAgUHJvbWlzZTxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBnZXRDYW1lcmEoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0
Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjFkOTRhOWQwYmQzMzIzMzY0ODc5NTc0NjYxNTJiY2Yz
NWM2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApAQCAtMCwwICsxLDY5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxvcHRpb25hbD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSFRNTE1v
ZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoIHsgMCB9OworICAgIGRvdWJsZSB5
YXcgeyAwIH07CisgICAgZG91YmxlIHNjYWxlIHsgMSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGRl
Y29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGVuY29kZXIgPDwgcGl0Y2g7CisgICAgZW5jb2RlciA8PCB5YXc7CisgICAgZW5jb2RlciA8PCBz
Y2FsZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcGl0Y2g7CisgICAgZGVjb2Rl
ciA+PiBwaXRjaDsKKyAgICBpZiAoIXBpdGNoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHlhdzsKKyAgICBkZWNvZGVyID4+IHlhdzsK
KyAgICBpZiAoIXlhdykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8ZG91YmxlPiBzY2FsZTsKKyAgICBkZWNvZGVyID4+IHNjYWxlOworICAgIGlmICgh
c2NhbGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpw
aXRjaCwgKnlhdywgKnNjYWxlIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcyNzA5MzFkN2YxZWI2ZGQ0
NWFmMGRjYzNlOTRkMjdkZDhiYmMyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlQsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1N
b2RlbEVsZW1lbnRFbmFibGVkLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgSFRNTE1vZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoOworICAgIGRvdWJs
ZSB5YXc7CisgICAgZG91YmxlIHNjYWxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKaW5kZXggNjc1YTQwZjI4ZGNlNmViNTNk
NWZiNDE5MGY3YWI1NzYxNTc0NjcxNS4uOWFlZWNiNWEzZGNlNGNiMTM3NGMzNTExZTM4Yzg1ODdl
MjA5ZjkzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKQEAgLTI1LDkgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkxheW91dFBvaW50Lmgi
CiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKKyNp
bmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CiAKQEAgLTQ3LDcgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VVcChj
b25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpID0gMDsKLQorICAgIHZpcnR1YWwgdm9p
ZCBnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldENhbWVyYShI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYp
ID0gMDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAppbmRleCA2ODc0ODQw
ZmI4ZTllMDYwZTEzNTAxY2Y5NmMxOTZkODZkNjI1ODIzLi5jNTI5ZjA3OWU3ODJmNDgwMDgyYWI2
ZmQxMDlhNGZhNTU2OWFiM2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCkBAIC03
MCw0ICs3MCwxMiBAQCB2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmhhbmRsZU1vdXNlVXAoY29uc3Qg
TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewogfQogCit2b2lkIER1bW15TW9kZWxQbGF5
ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVtbXlNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVs
UGxheWVyLmgKaW5kZXggM2JiMWI4OGQxMmYzOWU4NDM0MmNiNTUxMjQ3ZGFmNTA3NzM3ZmY4NC4u
Nzk2MTM0NWE0NjI2YjMyZjI0MWFlNDI1YjU2M2MwYmYwMDEyOTQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVN
b3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsK
IAogICAgIFdlYWtQdHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2Nl
bmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCmluZGV4IDliNGYxZGY4NzkzZjc2MzZkMDI1Y2E0
NDMwMmMxYTFjODVkODFiNzguLmU3ODU0ZjgwYmI3ZDI3ZDBkZWQ5MmE0MzAzYjgzOWNiNjJkNjEw
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2Vu
ZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNjEsNiArNjEs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRN
TE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4m
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRl
cy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVy
JiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KaW5kZXggNzc2YzY4ZmM2ZjUxZjk2N2M4ZDQzNzNmMmQwMGJkNjQ5ZTEw
NDJiNy4uZjQzMDllYjYxNDg5YmU2MTE5NzVhZDVkNDM4NTUwZWRiNzYyNmI4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTg4LDYgKzg4LDE0IEBAIHZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6aGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpCiB7CiB9CiAKK3ZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6Z2V0Q2FtZXJh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhPiYmKT4mJikKK3sKK30KKwordm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEo
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KQoreworfQorCiAvLyBNQVJLOiAtIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQgb3ZlcnJpZGVz
LgogCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmRpZEZpbmlzaExvYWRpbmcoU2NlbmVLaXRN
b2RlbExvYWRlciYgbG9hZGVyLCBSZWY8U2NlbmVLaXRNb2RlbD4gbW9kZWwpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA1YTFh
ZDMwOWFlOWFhZTQ2N2M1Zjg1NGExMTRmNjI0YjgwZDIwYWY1Li45MmRkZGI0NDE2M2Y1MmRjYjFj
YWM0ZTU1YzVlZTE4ZTRmZTdmYTYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTgxLDYgKzgxLDggQEAgTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAKKyNp
bXBvcnQgPHNpbWQvc2ltZC5oPgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIEBjbGFzcyBD
QUZlbmNlSGFuZGxlOwogQGludGVyZmFjZSBBU1ZJbmxpbmVQcmV2aWV3IDogTlNPYmplY3QKQEAg
LTk3LDYgKzk5LDEwIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKXRvdWNoZXNF
bmRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2
ZW50ICopZXZlbnQ7CiAtICh2b2lkKXRvdWNoZXNDYW5jZWxsZWQ6KE5TU2V0PFVJVG91Y2ggKj4g
Kil0b3VjaGVzIHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OwogCit0eXBlZGVm
IHZvaWQgKF5BU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJh
VHJhbnNmb3JtLCBOU0Vycm9yICplcnJvcik7CistICh2b2lkKWdldENhbWVyYVRyYW5zZm9ybToo
QVNWQ2FtZXJhVHJhbnNmb3JtUmVwbHlCbG9jaylyZXBseTsKKy0gKHZvaWQpc2V0Q2FtZXJhVHJh
bnNmb3JtOihzaW1kX2Zsb2F0Myl0cmFuc2Zvcm07CisKIEBlbmQKIAogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oIGIv
U291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA2
MGFiY2Y3NzY4YjI0ZGNjMzY5OWM5NTVmYzQ3N2RjNzBhODZlZWM2Li4wZDlkMmRjMWY2OGI0ODY1
NWM3YmY1NjQxM2MzOGE2ZjQ4MGMwYjA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwv
cGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTM1LDYgKzM1LDggQEAgTlNfQVNTVU1F
X05PTk5VTExfQkVHSU4KIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAK
KyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIAogQGlu
dGVyZmFjZSBBU1ZJbmxpbmVQcmV2aWV3IDogTlNPYmplY3QKQEAgLTUyLDYgKzU0LDEwIEBAIE5T
X0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKW1vdXNlRHJhZ2dlZEF0TG9jYXRpb246KENH
UG9pbnQpbG9jYXRpb24gdGltZXN0YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lc3RhbXA7CiAtICh2
b2lkKW1vdXNlVXBBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIHRpbWVzdGFtcDooTlNUaW1l
SW50ZXJ2YWwpdGltZXN0YW1wOwogCit0eXBlZGVmIHZvaWQgKF5BU1ZDYW1lcmFUcmFuc2Zvcm1S
ZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJhVHJhbnNmb3JtLCBOU0Vycm9yICogX051bGxh
YmxlIGVycm9yKTsKKy0gKHZvaWQpZ2V0Q2FtZXJhVHJhbnNmb3JtOihBU1ZDYW1lcmFUcmFuc2Zv
cm1SZXBseUJsb2NrKXJlcGx5OworLSAodm9pZClzZXRDYW1lcmFUcmFuc2Zvcm06KHNpbWRfZmxv
YXQzKXRyYW5zZm9ybTsKKwogQGVuZAogCiAjZW5kaWYgLy8gRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX01BQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZTkyOGZmOTQ5NDU4M2I2NGVkNjBmNTVhODc5
NDM1MDExZDc2NDJiNC4uMDQ5Mjg0NzkyMDdmZGYzOGI0Y2Q1NjdmZDk1MmUwNmU3YzI5NjQwZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTMzMDIsNiArMzMwMiw3IEBAIEpTSFRNTE1ldGFFbGVtZW50LmNw
cAogSlNIVE1MTWV0ZXJFbGVtZW50LmNwcAogSlNIVE1MTW9kRWxlbWVudC5jcHAKIEpTSFRNTE1v
ZGVsRWxlbWVudC5jcHAKK0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAKIEpTSFRNTE9MaXN0
RWxlbWVudC5jcHAKIEpTSFRNTE9iamVjdEVsZW1lbnQuY3BwCiBKU0hUTUxPcHRHcm91cEVsZW1l
bnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggZWQ2N2Y5MDZlOGVlMDQ3Mjg4NDI0ZTQwMTUyMWUyNDk3OTMzYTM0Mi4uNTll
NzZkOWRmOTdiNjBjMWEyYjA4ODViYTUwZGFmYWY5YWY5MDQyZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI3NSw2ICsyMjc1
LDcgQEAKIAkJNzE1QUQ3MjEyMDUwNTEzRjAwRDU5MkRDIC8qIENTU1RyYW5zaXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxMjNDMTg2MjA0NzM5
QkEwMDc4OTM5MiAvKiBDU1NUcmFuc2l0aW9uLmggKi87IH07CiAJCTcxNzI5RjdCMjBGM0JBNDkw
MDgwMUNFNiAvKiBEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE3MjlGN0EyMEYzQkEzQTAwODAxQ0U2IC8qIERv
Y3VtZW50VGltZWxpbmVPcHRpb25zLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJNzE3MjlGN0UyMEYzQkI0NzAwODAxQ0U2IC8qIEpTRG9jdW1lbnRU
aW1lbGluZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDcxNzI5RjdDMjBGM0JBQjkwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRp
b25zLmggKi87IH07CisJCTcxNzdBRDU3Mjc0Mjk1RDEwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MTc3QUQ1NjI3NDI5NTkwMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxODFBMTZD
MjQ0RjBGNDAwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxODFBMTY5MjQ0RjBGMkMw
MDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MUExQjYwODFERUU1QUQ3MDA3M0JD
RkIgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzLmpzIGluIFJlc291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUExQjYwNjFERUU1QTgy
MDA3M0JDRkIgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1zdHJpbmdzLmpzICov
OyB9OwogCQk3MUEzRDE4MTI1NjJCODVCMDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFBM0QxN0QyNTYy
QjgyNDAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTA3NzgsNiArMTA3NzksMTAgQEAKIAkJNzE3
MjlGN0MyMEYzQkFCOTAwODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTcyOUY3RDIwRjNCQUJBMDA4MDFDRTYg
LyogSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNzE3M0RFQkQyNjE0REYwNDAwOTdERjMyIC8qIFN0eWxlYWJsZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHlsZWFibGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1NDI3NDI5NTJGMDAyRjEwM0IgLyog
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdB
RDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE3N0FENTgyNzQyOUNDQTAwMkYxMDNCIC8qIEpTSFRN
TE1vZGVsRWxlbWVudENhbWVyYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk3MTc3QUQ1OTI3NDI5Q0NCMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTSFRNTE1vZGVsRWxlbWVu
dENhbWVyYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTc3RTI0NjFEQjgwRDJG
MDA5MTlBMEIgLyogbWVkaWEtY29udHJvbGxlci1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5qYXZhc2NyaXB0OyBwYXRoID0gIm1lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcyI7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzdFMjQ3MURCODBEMkYwMDkxOUEwQiAvKiBt
dXRlLXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAi
bXV0ZS1zdXBwb3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3N0UyNDgx
REI4MEQyRjAwOTE5QTBCIC8qIHN0YXJ0LXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmphdmFzY3JpcHQ7IHBhdGggPSAic3RhcnQtc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0xODk2MiwxMSArMTg5NjcsMTEgQEAKIAkJMUE1NjlDQzQwRDdFMkI2MDAw
N0MzOTgzIC8qIGJyaWRnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCisJCQkJNTlCNTk3NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpzYyAqLywKIAkJCQkxQTU2OUNF
MjBEN0UyQjgyMDA3QzM5ODMgLyogb2JqYyAqLywKIAkJCQk1OTlFNzU4RjExMDU1QTFGMDBEOTA0
RkEgLyogQnJpZGdlLmggKi8sCiAJCQkJMUE3MUQ1NzkwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50
aWZpZXJSZXAuY3BwICovLAogCQkJCTFBNzFENTdBMEYzMzgxOTAwMEY5Q0U0RSAvKiBJZGVudGlm
aWVyUmVwLmggKi8sCi0JCQkJNTlCNTk3NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpzYyAqLywKIAkJ
CQkxQTU2OUNFRjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5jcHAgKi8sCiAJCQkJ
MUE1NjlDRjAwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfYXJyYXkuaCAqLywKIAkJCQkxQTU2
OUNGMTBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9tZXRob2QuY3BwICovLApAQCAtMjM4MTUs
NiArMjM4MjAsOCBAQAogCQkJCTcxQTNEMTgwMjU2MkI4MjUwMDY0RTJBNiAvKiBIVE1MTW9kZWxF
bGVtZW50LmNwcCAqLywKIAkJCQk3MUEzRDE3RDI1NjJCODI0MDA2NEUyQTYgLyogSFRNTE1vZGVs
RWxlbWVudC5oICovLAogCQkJCTcxQTNEMTdGMjU2MkI4MjQwMDY0RTJBNiAvKiBIVE1MTW9kZWxF
bGVtZW50LmlkbCAqLywKKwkJCQk3MTc3QUQ1NjI3NDI5NTkwMDAyRjEwM0IgLyogSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5oICovLAorCQkJCTcxNzdBRDU0Mjc0Mjk1MkYwMDJGMTAzQiAvKiBIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLmlkbCAqLywKIAkJCQlCQzJCNDExNDI3MzJGMDYyMDBBMkQxOTEg
LyogTW9kZWxQbGF5ZXIuY3BwICovLAogCQkJCUJDMkI0MTEzMjczMkYwNjIwMEEyRDE5MSAvKiBN
b2RlbFBsYXllci5oICovLAogCQkJCUJDMkI0MTEyMjczMkYwM0MwMEEyRDE5MSAvKiBNb2RlbFBs
YXllckNsaWVudC5jcHAgKi8sCkBAIC0yNjA5Myw2ICsyNjEwMCw4IEBACiAJCQkJQTdCQkUyNjUx
MUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5oICovLAogCQkJCTcxQTNEMTgy
MjU2MkJEREIwMDY0RTJBNiAvKiBKU0hUTUxNb2RlbEVsZW1lbnQuY3BwICovLAogCQkJCTcxQTNE
MTgzMjU2MkJEREIwMDY0RTJBNiAvKiBKU0hUTUxNb2RlbEVsZW1lbnQuaCAqLywKKwkJCQk3MTc3
QUQ1ODI3NDI5Q0NBMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcCAqLywK
KwkJCQk3MTc3QUQ1OTI3NDI5Q0NCMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LmggKi8sCiAJCQkJMUFFMkFCMUYwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQu
Y3BwICovLAogCQkJCTFBRTJBQjIwMEExQ0U2M0IwMEI0MkIyNSAvKiBKU0hUTUxNb2RFbGVtZW50
LmggKi8sCiAJCQkJQkMzMDVDNzcwQzA3NkJCMzAwQ0QyMEYwIC8qIEpTSFRNTE9iamVjdEVsZW1l
bnQuY3BwICovLApAQCAtMzM3MjksNiArMzM3MzgsNyBAQAogCQkJCUE4NzFEQzI0MEExNTIwNTcw
MEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE0NTQ0MjRC
MTE5QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3MUEzRDE4MTI1NjJCODVCMDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNzE3N0FENTcyNzQyOTVEMTAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0E3MEExNTY5NzgwMDBBNDIzNCAvKiBI
VE1MTW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThERjNGRDQwOTdGQTBGQzAwNTI5
ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTg3MUQ0NUEw
QTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxPYmplY3RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuY3BwIGIvU291cmNl
L1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXggM2JhZTNjMjI1ZjYwYzg4NGE2
YTRjZTJhZjljZjllZjg3MmJjMWIyZi4uM2EwNjRiYzcyMzFhMzYwMGNjODNkYzU4YTlhMmU3ZmYy
ZWU5NmIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKQEAgLTU4Mywx
MiArNTgzLDYgQEAgdm9pZCBFbXB0eUNocm9tZUNsaWVudDo6c2hvd1NoYXJlU2hlZXQoU2hhcmVE
YXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGUKIHsKIH0KIAotI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIEVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVy
SUQpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQogdm9pZCBFbXB0eUZyYW1lTG9hZGVyQ2xpZW50Ojpk
aXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihjb25zdCBOYXZpZ2F0aW9uQWN0
aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgRm9ybVN0YXRlKiwgY29uc3QgU3RyaW5nJiwg
UG9saWN5Q2hlY2tJZGVudGlmaWVyLCBGcmFtZVBvbGljeUZ1bmN0aW9uJiYpCiB7CiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMGM3OTczZjAwYTFmMzZlMjcwMTNhMTYx
NmRiYzk2YTE4MGM1Y2YwOC4uNTIyNjE4NzMxZDc1NmVhNGJmOGI5NmRmMDA0MzVmODM1NThlZTkx
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApAQCAtMjE3LDEwICsyMTcsNiBA
QCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJvbWVDbGllbnQgewogICAgIHZv
aWQgZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzKGNvbnN0IFZlY3RvcjxSZWZQdHI8RWxlbWVudD4+
JiwgRnJhbWUmKSBmaW5hbCB7IH0KICAgICBib29sIHNob3VsZE5vdGlmeU9uRm9ybUNoYW5nZXMo
KSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QgZmluYWw7Ci0jZW5kaWYKLQogICAg
IFJlZlB0cjxJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMoY29uc3QgVmVjdG9yPFN0cmluZz4mIC8q
IGZpbGVuYW1lcyAqLykgZmluYWwgeyByZXR1cm4gbnVsbHB0cjsgfQogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggZTEzZTM4N2QxOTE2OGFjNWZkMzU5YjJlNjE2ZDQzZGQz
ZjE3NTAyMi4uZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5OTAwY2RjNzZlZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC02MDUsMTAgKzYwNSw2IEBAIHB1YmxpYzoKICAg
ICB2aXJ0dWFsIHZvaWQgdGV4dEF1dG9zaXppbmdVc2VzSWRlbXBvdGVudE1vZGVDaGFuZ2VkKCkg
eyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAg
dmlydHVhbCB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNz
TGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QgeyB9Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShB
UFBMRV9QQVlfQU1TX1VJKQogICAgIHZpcnR1YWwgdm9pZCBzdGFydEFwcGxlUGF5QU1TVUlTZXNz
aW9uKGNvbnN0IFVSTCYsIGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKSB7
IGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7IH0KICAgICB2aXJ0dWFsIHZvaWQgYWJv
cnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvTW9kZWxJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50
aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40NDEzYWQwYWE0MjM4NTMwOTgzZWVjNDQ0NjE3YWViZWFmZDQ2
NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlm
aWVyLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQor
ICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19JT1MpCisjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzTGF5ZXIuaD4KKyNlbmRpZgorCitz
dHJ1Y3QgTW9kZWxJZGVudGlmaWVyIHsKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQorICAgIFN0cmluZyB1dWlkOworI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKKyAgICBXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgbGF5ZXJJ
ZGVudGlmaWVyOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIGVu
Y29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RhdGlj
IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBkZWNvZGUoRGVjb2RlciYpOworfTsKKwor
dGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBNb2RlbElkZW50aWZpZXI6OmVuY29kZShFbmNv
ZGVyJiBlbmNvZGVyKSBjb25zdAoreworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19N
QUMpCisgICAgZW5jb2RlciA8PCB1dWlkOworI2VsaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0lPUykKKyAgICBlbmNvZGVyIDw8IGxheWVySWRlbnRpZmllcjsKKyNlbmRpZgorfQorCit0
ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gTW9k
ZWxJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikKK3sKKyNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIHN0ZDo6b3B0aW9uYWw8U3RyaW5nPiB1dWlkOwor
ICAgIGRlY29kZXIgPj4gdXVpZDsKKyAgICBpZiAoIXV1aWQpCisgICAgICAgIHJldHVybiBzdGQ6
Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCp1dWlkKSB9IH07CisjZWxpZiBFTkFC
TEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6
R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPiBsYXllcklkZW50aWZpZXI7CisgICAgZGVj
b2RlciA+PiBsYXllcklkZW50aWZpZXI7CisgICAgaWYgKCFsYXllcklkZW50aWZpZXIpCisgICAg
ICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgeyAqbGF5ZXJJZGVudGlmaWVy
IH0gfTsKKyNlbmRpZgorfQorCisjZW5kaWYKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRy
b2xsZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVu
dENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCA3N2JhYmY3NjU2NWEyYmFhZTgxZDBkYTRhNDg1ODNm
NzY1YjRlMmQxLi4zZjU0ZTI1OGMzMGRmMjU5MDBmOGY2MmM4YzQ2YWFlZDFlNWZlYTczIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9s
bGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVt
ZW50Q29udHJvbGxlckNvY29hLm1tCkBAIC0zMCw2ICszMCwxMiBAQAogCiAjaW1wb3J0ICJMb2dn
aW5nLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0
UG9pbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0VW5pdC5oPgorI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CisjaW1wb3J0IDxzaW1kL3NpbWQuaD4KKyNpbXBvcnQgPHd0Zi9N
YWluVGhyZWFkLmg+CisjaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgogCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCkBAIC00
MiwxMiArNDgsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdf
TUFDKQotI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRQb2ludC5oPgotI2ltcG9ydCA8V2ViQ29yZS9M
YXlvdXRVbml0Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KICNpbXBvcnQg
PHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaD4KLSNpbXBvcnQgPHd0Zi9NYWluVGhyZWFk
Lmg+Ci0jaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2VuZGlmCiAKIFNPRlRfTElOS19Q
UklWQVRFX0ZSQU1FV09SSyhBc3NldFZpZXdlcik7CkBAIC01NywzMCArNTgsMzYgQEAgbmFtZXNw
YWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogCi12
b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdl
YkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKK1dL
TW9kZWxWaWV3ICogTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3Rm9yTW9kZWxJZGVu
dGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCiB7CiAgICAgaWYgKCFtX3dl
YlBhZ2VQcm94eS5wcmVmZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJsZWQoKSkKLSAgICAgICAg
cmV0dXJuOworICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgaWYgKCFpczxSZW1vdGVMYXllclRy
ZWVEcmF3aW5nQXJlYVByb3h5PihtX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKSkKLSAgICAg
ICAgcmV0dXJuOworICAgICAgICByZXR1cm4gbmlsOwogCi0gICAgYXV0byogbm9kZSA9IGRvd25j
YXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCptX3dlYlBhZ2VQcm94eS5kcmF3
aW5nQXJlYSgpKS5yZW1vdGVMYXllclRyZWVIb3N0KCkubm9kZUZvcklEKGNvbnRlbnRMYXllcklk
KTsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQ
cm94eT4oKm1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3Qo
KS5ub2RlRm9ySUQobW9kZWxJZGVudGlmaWVyLmxheWVySWRlbnRpZmllcik7CiAgICAgaWYgKCFu
b2RlKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBhdXRvICp2
aWV3ID0gbm9kZS0+dWlWaWV3KCk7Ci0gICAgaWYgKCF2aWV3KQotICAgICAgICByZXR1cm47Cisg
ICAgcmV0dXJuIGR5bmFtaWNfb2JqY19jYXN0PFdLTW9kZWxWaWV3Pihub2RlLT51aVZpZXcoKSk7
Cit9CiAKLSAgICBpZiAoIVt2aWV3IGlzS2luZE9mQ2xhc3M6W1dLTW9kZWxWaWV3IGNsYXNzXV0p
Ci0gICAgICAgIHJldHVybjsKK0FTVklubGluZVByZXZpZXcgKiBNb2RlbEVsZW1lbnRDb250cm9s
bGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50
aWZpZXIpCit7CisgICAgcmV0dXJuIFttb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJ
ZGVudGlmaWVyKSBwcmV2aWV3XTsKK30KIAordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVy
KQorewogICAgIGF1dG8gKnByZXNlbnRpbmdWaWV3Q29udHJvbGxlciA9IG1fd2ViUGFnZVByb3h5
LnVpQ2xpZW50KCkucHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCk7CiAgICAgaWYgKCFwcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIFdLTW9kZWxWaWV3ICpt
b2RlbFZpZXcgPSAoV0tNb2RlbFZpZXcgKil2aWV3OworICAgIGF1dG8gbW9kZWxWaWV3ID0gbW9k
ZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVsSWRlbnRpZmllcik7CisgICAgaWYgKCFtb2Rl
bFZpZXcpCisgICAgICAgIHJldHVybjsKKwogICAgIENHUmVjdCBpbml0aWFsRnJhbWUgPSBbbW9k
ZWxWaWV3IGNvbnZlcnRSZWN0Om1vZGVsVmlldy5mcmFtZSB0b1ZpZXc6bmlsXTsKIAogICAgIEFT
VklubGluZVByZXZpZXcgKnByZXZpZXcgPSBbbW9kZWxWaWV3IHByZXZpZXddOwpAQCAtOTgsNyAr
MTA1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAogICAgICAgICAgICAgW3ByZXNlbnRp
bmdWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xsZXI6cmVtb3RlVmlld0NvbnRyb2xs
ZXIgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpeKHZvaWQpIHsKICAgICAgICAgICAgICAgICBbQ0FU
cmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAgICAgICAgICAgW3ZpZXcubGF5ZXIuc3VwZXJsYXll
ci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFuZGxlXTsKKyAgICAgICAgICAgICAgICBbbW9kZWxW
aWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpmZW5jZUhhbmRsZV07CiAgICAg
ICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsKICAgICAgICAgICAgICAgICBbZmVu
Y2VIYW5kbGUgaW52YWxpZGF0ZV07CiAgICAgICAgICAgICB9XTsKQEAgLTExMiw3ICsxMTksNyBA
QCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVu
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogICAgICAgICAgICAgICAgICAgICB9CiAKICAgICAg
ICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5dOwotICAgICAgICAgICAgICAgICAg
ICBbdmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZGlzbWlzc0ZlbmNlSGFu
ZGxlXTsKKyAgICAgICAgICAgICAgICAgICAgW21vZGVsVmlldy5sYXllci5zdXBlcmxheWVyLmNv
bnRleHQgYWRkRmVuY2U6ZGlzbWlzc0ZlbmNlSGFuZGxlXTsKICAgICAgICAgICAgICAgICAgICAg
W0NBVHJhbnNhY3Rpb24gc2V0Q29tcGxldGlvbkJsb2NrOl57CiAgICAgICAgICAgICAgICAgICAg
ICAgICBbcmVtb3RlVmlld0NvbnRyb2xsZXIgZGlzbWlzc1ZpZXdDb250cm9sbGVyQW5pbWF0ZWQ6
Tk8gY29tcGxldGlvbjpuaWxdOwogICAgICAgICAgICAgICAgICAgICB9XTsKQEAgLTEyOCw2ICsx
MzUsMTQgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCiAKK0FTVklubGluZVByZXZpZXcgKiBNb2RlbEVsZW1lbnRDb250cm9s
bGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50
aWZpZXIpCit7CisgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5wcmVmZXJlbmNlcygpLm1vZGVsRWxl
bWVudEVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7CisKKyAgICByZXR1cm4gbV9p
bmxpbmVQcmV2aWV3cy5nZXQobW9kZWxJZGVudGlmaWVyLnV1aWQpLmdldCgpOworfQorCiB2b2lk
IE1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoVVJM
IGZpbGVVUkwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNv
cmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKIHsKICAgICBpZiAoIW1f
d2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKSB7CkBAIC0y
MTYsNiArMjMxLDY1IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aGFuZGxlTW91c2VV
cEZvck1vZGVsRWxlbWVudChjb25zdCBTdHJpbmcmIHV1aWQsIGNvCiAKICNlbmRpZgogCisjaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorCitzdGF0aWMgYm9vbCBwcmV2aWV3SGFzQ2Ft
ZXJhU3VwcG9ydChBU1ZJbmxpbmVQcmV2aWV3ICpwcmV2aWV3KQoreworI2lmIEVOQUJMRShBUktJ
VF9JTkxJTkVfUFJFVklFV19DQU1FUkFfVFJBTlNGT1JNKQorICAgIHJldHVybiBbcHJldmlldyBy
ZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGdldENhbWVyYVRyYW5zZm9ybTopXTsKKyNlbHNl
CisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50
aWZpZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVs
RWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5k
bGVyKQoreworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1v
ZGVsSWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3IHx8ICFwcmV2aWV3SGFzQ2FtZXJhU3Vw
cG9ydChwcmV2aWV3KSkgeworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBX
ZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25I
YW5kbGVyKSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHsgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvcjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICh3
ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3Rl
ZChlcnJvcikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFtw
cmV2aWV3IGdldENhbWVyYVRyYW5zZm9ybTptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0
ciB7ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxl
cildIChzaW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJy
b3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbGxPbk1h
aW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9IFdlYkNvcmU6OlJlc291cmNl
RXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpHZW5lcmFsIH1dICgpIG11dGFi
bGUgeworICAgICAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsKKyAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgY2FsbE9uTWFpblJ1
bkxvb3AoW2NhbWVyYVRyYW5zZm9ybSwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7
CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSB7IGNhbWVyYVRyYW5zZm9ybS54
LCBjYW1lcmFUcmFuc2Zvcm0ueSwgY2FtZXJhVHJhbnNmb3JtLnogfSk7CisgICAgICAgIH0pOwor
ICAgIH0pLmdldCgpXTsKK30KKwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1l
cmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgV2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHByZXZp
ZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcg
fHwgIXByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KHByZXZpZXcpKSB7CisgICAgICAgIGNhbGxPbk1h
aW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAg
IGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcgc2V0
Q2FtZXJhVHJhbnNmb3JtOnNpbWRfbWFrZV9mbG9hdDMoY2FtZXJhLnBpdGNoLCBjYW1lcmEueWF3
LCBjYW1lcmEuc2NhbGUpXTsKKworICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdl
YWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgfSk7Cit9CisKKyNlbmRpZgorCiB9CiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxl
ci5oCmluZGV4IGYxZjk1ODY3MGI2NTk1OTE2N2VlMmQ4NjFjY2E0NDMwOGUxYzhjNWMuLmVlNjg0
ZTg3OGE5ZTNjYjYyNmY0ZmNmNTU5MWZkZmJkYzk1ODc0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKQEAgLTI3LDE0ICsyNywxNyBA
QAogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogCisjaW5jbHVkZSAiTW9kZWxJ
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9FbGVtZW50Q29udGV4dC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAotI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiBPQkpDX0NMQVNTIEFTVklubGluZVByZXZp
ZXc7CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorT0JKQ19DTEFTUyBX
S01vZGVsVmlldzsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzUxLDEy
IEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94eSYgcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFn
ZVByb3h5OyB9CiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgdm9pZCBn
ZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6
OlJlc291cmNlRXJyb3I+KT4mJik7CisgICAgdm9pZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQo
TW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJD
b3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpOworICAg
IHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlmaWVyKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCwgU3RyaW5nLCBXZWJDb3JlOjpGbG9hdFNpemUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwpAQCAtNTksNiArNjYsMTQgQEAgcHVibGlj
OgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQor
ICAgIEFTVklubGluZVByZXZpZXcgKiBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRl
bnRpZmllcik7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1Mp
CisgICAgV0tNb2RlbFZpZXcgKiBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVu
dGlmaWVyKTsKKyNlbmRpZgorCiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsKICNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIFJldGFpblB0cjxBU1ZJbmxp
bmVQcmV2aWV3PiBwcmV2aWV3Rm9yVVVJRChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY5NWRkNzgzZDVhNjdkNDdkZDhjYmIyZWE1
ZjgzYzk4ZjU0NDBlMmYuLmYwZDFlNzViNWRmM2I3MmE1MmQ5Mjg3Mjc5MDNhOTY0YWFmNWQ2ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4MzIsMTAg
KzEwODMyLDIyIEBAIFdlYkNvcmU6OkNhcHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQcm94eTo6
Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCisjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVu
dEdldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNv
cmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVs
ZW1lbnRDb250cm9sbGVyKCktPmdldENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZp
ZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6
Om1vZGVsRWxlbWVudFNldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250
cm9sbGVyKCktPnNldENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIGNhbWVy
YSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBj
b250ZW50TGF5ZXJJZCkKK3ZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogewotICAgIG1vZGVsRWxlbWVu
dENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVySWQp
OworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3Jl
ZW4obW9kZWxJZGVudGlmaWVyKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDE2ZTg2ZTBhZmM1MDFlNzRkN2Q2ZGQyYzkxMzBkN2I1MDU1YjE5
MzYuLmM3MGQwYzc3MWM1YzI5NDE3ZTdhYTQ5N2MzZDgxMGIxNDFiOTA4MTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xOTYsNiArMTk2LDcgQEAgaW50ZXJmYWNl
IElEM0QxMURldmljZTE7CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAjaW5j
bHVkZSAiTW9kZWxFbGVtZW50Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmll
ci5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkgewpAQCAtNTg3LDkgKzU4OCwxMSBAQCBwdWJs
aWM6CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgTW9kZWxFbGVtZW50
Q29udHJvbGxlciogbW9kZWxFbGVtZW50Q29udHJvbGxlcigpIHsgcmV0dXJuIG1fbW9kZWxFbGVt
ZW50Q29udHJvbGxlci5nZXQoKTsgfQorICAgIHZvaWQgbW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1v
ZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOworICAg
IHZvaWQgbW9kZWxFbGVtZW50U2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFr
ZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1M
YXllcklEIGNvbnRlbnRMYXllcklkKTsKKyAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAxNjE2M2FjZmYyYzhhOGMzODkxZjYxMjk4YjAw
YjEwOWVhOTRiNmE5Li42ZjA3NGY1MzBiMmVhODEwYmQxNDc1ZmE2ZWEyZTcyY2MzN2E5YTFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC01ODYsNyArNTg2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICBUYWtlTW9kZWxFbGVt
ZW50RnVsbHNjcmVlbih1aW50NjRfdCBjb250ZW50TGF5ZXJJRCkKKyAgICBUYWtlTW9kZWxFbGVt
ZW50RnVsbHNjcmVlbihzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlm
aWVyKQogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBN
b2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3Jl
OjpGbG9hdFNpemUgc2l6ZSkgLT4gKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90
PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBBc3luYwpAQCAtNTk0LDYgKzU5NCwx
MCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIEhhbmRsZU1vdXNlTW92ZUZvck1v
ZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBh
Z2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0aW1lc3RhbXApCiAgICAgSGFuZGxlTW91c2VV
cEZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRp
b25JblBhZ2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0aW1lc3RhbXApCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgTW9kZWxFbGVtZW50R2V0Q2FtZXJh
KHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBl
Y3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yPiByZXN1bHQpIEFzeW5jCisgICAgTW9kZWxFbGVtZW50U2V0Q2FtZXJhKHN0cnVjdCBXZWJL
aXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSkgLT4gKGJvb2wgc3VjY2VzcykgQXN5bmMKKyNlbmRp
ZgogCiAgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBv
cmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAt
PiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NmVmZWNiY2VlNDY1OTJlNzU4ZTBlODhjZjZlOTE4MWNlOTI5OTk4Yi4uMzYxNmNjNWQyYmM5Njg1
YTFhZGY5OTFhOTNhOGM3YTI4YjVmZGJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NzA4LDYgKzQ3MDgsNyBAQAogCQk3MUE2NzZB
NTIyQzYyMzE4MDA3RDYyOTUgLyogV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tUb3VjaEFjdGlvbkdlc3R1
cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXpl
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzEyNUZGQ0NCQTAwRDdD
RDVEIC8qIFdLTW9kZWxWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdL
TW9kZWxWaWV3Lmg7IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzFCQUE3MzIyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tNb2RlbFZpZXcubW07IHBh
dGggPSBpb3MvV0tNb2RlbFZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcx
RTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAvKiBNb2RlbElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9kZWxJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI4
MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlU2ltdWxh
dGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MjAzNDQ5QTI2QTZDNDRDMDAwQTVGNTQgLyogTW9ub3RvbmljT2JqZWN0SWRlbnRpZmll
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNb25vdG9uaWNPYmplY3RJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyMDM0NDlCMjZBNkM0NzYwMDBBNUY1NCAvKiBSZW5kZXJp
bmdVcGRhdGVJRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJpbmdVcGRhdGVJRC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgzNCw2ICs2ODM1LDcgQEAKIAkJCQkyRDEwODc1RTFE
MkM1NzNFMDBCODVGODIgLyogTG9hZFBhcmFtZXRlcnMuY3BwICovLAogCQkJCTJEMTA4NzVGMUQy
QzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVycy5oICovLAogCQkJCTQ5OTE3REIwMjUyRTMw
NzUwMDUwMzEzRiAvKiBNZWRpYVBsYXliYWNrU3RhdGUuaCAqLywKKwkJCQk3MUU5NjUwRjI3NDU2
ODJFMDBBRENGNDMgLyogTW9kZWxJZGVudGlmaWVyLmggKi8sCiAJCQkJNzIwMzQ0OUEyNkE2QzQ0
QzAwMEE1RjU0IC8qIE1vbm90b25pY09iamVjdElkZW50aWZpZXIuaCAqLywKIAkJCQkyRDUwMzY2
QTFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0aXZlV2ViR2VzdHVyZUV2ZW50LmggKi8sCiAJCQkJQzAy
QkZGMTUxMjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyLmgKaW5kZXggM2NhYWNiMzU2NWY5Zjg2NjNiNDgyNGQ4Nzdj
MTRhMWU1OTNhNjMyNC4uY2MzNDRhNTdiYTBhMDA5MzY2YTFjODBhMjRhNjhlZmFhNjdmYjhhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FS
S2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKQEAgLTI3LDkgKzI3LDEyIEBACiAKICNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL01vZGVsUGxh
eWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5oPgotI2luY2x1ZGUg
PHd0Zi9Db21waWxlci5oPgorI2ltcG9ydCAiTW9kZWxJZGVudGlmaWVyLmgiCisjaW1wb3J0ICJX
ZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9Nb2RlbFBsYXllci5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5o
PgorI2ltcG9ydCA8d3RmL0NvbXBpbGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00
MywxMSArNDYsMTUgQEAgcHJvdGVjdGVkOgogICAgIFdlYlBhZ2UqIHBhZ2UoKSB7IHJldHVybiBt
X3BhZ2UuZ2V0KCk7IH0KICAgICBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCogY2xpZW50KCkg
eyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7IH0KIAorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxN
b2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpID0gMDsKKwogcHJpdmF0ZToKICAgICAv
LyBXZWJDb3JlOjpNb2RlbFBsYXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6
Ok1vZGVsJiwgV2ViQ29yZTo6TGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXll
ciogbGF5ZXIoKSBvdmVycmlkZTsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRl
OworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7CisgICAg
dm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8V2ViUGFn
ZT4gbV9wYWdlOwogICAgIFdlYWtQdHI8V2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xp
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVs
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCmluZGV4IGVkYmQxNGExOWNkM2IzNWRi
MzA0NDY1MmJhYzM2MjFmZWNiMjcyNTEuLjBjMDFmMjA2Y2E2ZGIwNzk1MDUwYTk0MGY1YjAwZTBj
ZDFkMGVlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0KQEAgLTU1LDYgKzU1LDUz
IEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmVudGVyRnVsbHNjcmVlbigp
CiB7CiB9CiAKK3ZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVyYShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElk
ZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRp
ZmllcikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsK
KyAgICBpZiAoIXN0cm9uZ1BhZ2UpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpu
dWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVDb21wbGV0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBtdXRh
YmxlIHsKKyAgICAgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcigqcmVzdWx0KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFn
ZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVu
dEdldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFu
ZGxlcikpOworfQorCit2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRDYW1l
cmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIG1vZGVs
SWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigpOworICAgIGlmICghbW9kZWxJZGVu
dGlmaWVyKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGF1dG8qIHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAg
aWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildIChib29sIHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKHN1Y2Nlc3MpKTsKKyAgICB9OworCisgICAgc3Ryb25nUGFn
ZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVu
dFNldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyLCBjYW1lcmEpLCBXVEZNb3ZlKHJlbW90ZUNvbXBs
ZXRpb25IYW5kbGVyKSk7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmgKaW5kZXggMWNlMDcwYjZhMGVmMzUwZWQwYzRiYjBhYjViMjA4MDM5
Yzg0YjFiMS4uNDBhMjU5NWY3MGU0YmVlMWYxZDY2ODdhNDIyZGZkN2E3MzM3ZGJkNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllcklPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9p
b3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MuaApAQCAtNDEsNiArNDEsOCBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TKFdl
YlBhZ2UmLCBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCYpOwogCisgICAgc3RkOjpvcHRpb25h
bDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpIG92ZXJyaWRlOworCiAgICAgLy8g
V2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3ZlcnJpZGVzLgogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVu
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgV2ViQ29yZTo6TGF5
b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TLm1tCmluZGV4IDNlYzZlZmM0ZGUxZWI1MzRkMTkwYjI1YWQwNzA2
NjcwYjI2ZTM4YmQuLjVmMTM3Mjk3NjMyOGU1NTI1ZWM2NGNhN2IwYTAxZWRjOTQ2YzY0OWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQ
cmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01v
ZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbQpAQCAtNDgsMTUgKzQ4
LDI3IEBAIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjp+QVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJJT1MoKQogewogfQogCitzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmll
cj4gQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6Om1vZGVsSWRlbnRpZmllcigpCit7
CisgICAgaWYgKCFjbGllbnQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChhdXRv
IGxheWVySWQgPSBjbGllbnQoKS0+cGxhdGZvcm1MYXllcklEKCkpCisgICAgICAgIHJldHVybiB7
IHsgbGF5ZXJJZCB9IH07CisKKyAgICByZXR1cm4geyB9OworfQorCiAvLyBNQVJLOiAtIFdlYkNv
cmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KIAogdm9pZCBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKLSAgICBpZiAoIWNsaWVudCgpIHx8ICFw
YWdlKCkpCisgICAgYXV0byogc3Ryb25nUGFnZSA9IHBhZ2UoKTsKKyAgICBpZiAoIXN0cm9uZ1Bh
Z2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChhdXRvIGxheWVySWQgPSBjbGllbnQoKS0+
cGxhdGZvcm1MYXllcklEKCkpCi0gICAgICAgIHBhZ2UoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxz
Y3JlZW4obGF5ZXJJZCk7CisgICAgaWYgKGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhpcy0+bW9k
ZWxJZGVudGlmaWVyKCkpCisgICAgICAgIHN0cm9uZ1BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6VGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oKm1vZGVsSWRlbnRpZmllcikpOwog
fQogCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjpoYW5kbGVNb3VzZURv
d24oY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllck1hYy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCmluZGV4IDY3MzE5MTZjNzQ4ZGRiYzVhNzM4
Mzg3NmM3Yjk0ZWFkYTA3NTBlMDcuLmIzYzhlNDIwOGIxMmU1MTlkNGQwNzM5OWMzYzc1YzE0MTE4
YTQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgKQEAgLTQ3
LDYgKzQ3LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllck1hYyhXZWJQYWdlJiwgV2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAorICAg
IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBtb2RlbElkZW50aWZpZXIoKSBvdmVycmlk
ZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGxv
YWQoV2ViQ29yZTo6TW9kZWwmLCBXZWJDb3JlOjpMYXlvdXRTaXplKSBvdmVycmlkZTsKICAgICBQ
bGF0Zm9ybUxheWVyKiBsYXllcigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJNYWMubW0KaW5kZXggNDU1MjY1Mzc2NDJjNWNjNzE0MWM1NGY1NzUxZTI5NWFl
ZWYzM2ViYi4uY2IyNWEzYzgxMTM4NDhkMWMyZTQ4ZDdjZGFjOWNiM2M1NDcyMTEzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwv
bWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1tCkBAIC01NSw2ICs1NSwxMyBA
QCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYzo6fkFSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyTWFjKCkKICAgICBjbGVhckZpbGUoKTsKIH0KIAorc3RkOjpvcHRpb25hbDxNb2Rl
bElkZW50aWZpZXI+IEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjOjptb2RlbElkZW50
aWZpZXIoKQoreworICAgIGlmIChtX2lubGluZVByZXZpZXcpCisgICAgICAgIHJldHVybiB7IHsg
W21faW5saW5lUHJldmlldyB1dWlkXS5VVUlEU3RyaW5nIH0gfTsKKyAgICByZXR1cm4geyB9Owor
fQorCiBzdGF0aWMgU3RyaW5nJiBzaGFyZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpCiB7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc2hhcmVkTW9kZWxFbGVtZW50Q2Fj
aGVEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGZjN2JjMzMyM2FiNGY5YzZi
Y2M5OTI5ZmE2ZWM4YjVmMGYwODIzMDQuLjQzNmE1YTUyMDM1YTA2NTc1ODljMGU5MGIwODQyYzQz
MzY1ODFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xNTI0LDEzICsxNTI0LDYgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVudW1lcmF0ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFAKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXX0lPUykKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50
RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVu
dExheWVySWQpIGNvbnN0Ci17Ci0gICAgbV9wYWdlLnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVu
KGNvbnRlbnRMYXllcklkKTsKLX0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9BTVNf
VUkpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNv
bnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiByZXF1
ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYTc0OWY1OTMxOTI3NGVlNDZl
MGFkODEyNWE4OTRlZDZjZmUwYjk0ZS4uMmZlMzI5MDM0MzQ3Y2VkMjhmODEwNTdkYTNmZWMyMzMw
N2FlNzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNDU1LDEwICs0NTUsNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgUGxhdGZvcm1YUjo6SW5zdGFuY2U6OkRldmljZUxpc3QmKT4mJikgZmluYWw7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9p
ZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0
Zm9ybUxheWVySUQgY29udGVudExheWVySWQpIGNvbnN0IGZpbmFsOwotI2VuZGlmCi0KICNpZiBF
TkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICAgICB2b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Np
b24oY29uc3QgVVJMJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIGZpbmFsOwogICAg
IHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBiMThkN2Y3MmU2N2FjYWQ0YWI1
NDZkNGQ0MDhlZGFhMTRhYzY5Y2FiLi5kZDU5Y2ZhNzEwNmYwODQ0MmUzZmIzOTkzYjFhODgwODgx
ZjdiYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtNzc4OSwxMyArNzc4OSw2IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mCiB9CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIFdlYlBhZ2U6
OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRm
b3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OlRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKSk7Ci19Ci0j
ZW5kaWYKLQogdm9pZCBXZWJQYWdlOjpzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pCiB7CiAg
ICAgbWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0
Lm1pblhNaW5ZQ29ybmVyKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCA0MWUyNjAzOWFiODE0YjQ0MjRjMmUyMmE2YzRlZjJjYTNlYTFiZjdlLi43
NDAzZjc3ZDUwYWNkMWZkNTAwYmRlZjllNGJhYTJlNTdmODI4NDVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDkwLDEwICsxNDkwLDYgQEAgcHVi
bGljOgogICAgIFBsYXRmb3JtWFJTeXN0ZW1Qcm94eSYgeHJTeXN0ZW1Qcm94eSgpOwogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXll
cklEIGNvbnRlbnRMYXllcklkKTsKLSNlbmRpZgotCiAgICAgdm9pZCBwcmVwYXJlVG9SdW5Nb2Rh
bEphdmFTY3JpcHREaWFsb2coKTsKIAogI2lmIFVTRShBVFNQSSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444653</attachid>
            <date>2021-11-18 02:23:28 -0800</date>
            <delta_ts>2021-11-18 04:40:38 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233265-20211118112327.patch</filename>
            <type>text/plain</type>
            <size>65133</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li4xYzdmODg4OGY4MzA4
YWUwMTA3ZWUzMzk4ZjAxZTdkNGQzY2VmZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OmdldENhbWVyYSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xOCBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gW21hY09TXSBB
ZGQgc3VwcG9ydCBmb3IgaW50ZXJhY3Rpb24gb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4
IDI5OTcwNTgzMDZhY2ZhODNhZjk0ZDAyZmIyZDkwNWEwOTQzMDE5YWUuLjM3OGZhMjA5YTU5OGM1
ZjljYzBkMzQ1N2UxMTQ3N2QyM2IxMTQ0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhl
IGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUlFMIFNQSXMgd2Ug
YXJlIHVzaW5nLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oOgor
ICAgICAgICAqIHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaDoKKwogMjAyMS0xMS0xOCAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFtt
YWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRm
MDcyNDFiNzliYjM1Y2JhOTc0MDNkY2NmOTc4Nzg1YmQ4ZjUwYTEuLjFmNjU5ODg1ZjA2NWQwNGY4
NmY2MTllNGQxOWNjZmQ2MTk0MGMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEt
MTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01v
ZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFRoZSBBUlFMIEFQSXMgd2UnZCBhZG9wdGVkIHNvIGZhciB3ZXJl
IHNwZWNpZmljIHRvIGVpdGhlciBtYWNPUyBvciBpT1MuIFRoZSBuZXcgY2FtZXJhCisgICAgICAg
IG1ldGhvZHMgYXJlIGRpZmZlcmVudCBzaW5jZSB0aGV5IGV4aXN0IG9uIGJvdGggcGxhdGZvcm1z
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGV4cG9zZSBhIHNpbmdsZSBtZXNzYWdlIGZvciBib3Ro
IHBsYXRmb3Jtcywgd2UgaW50cm9kdWNlIGEgbmV3IE1vZGVsSWRlbnRpZmllcgorICAgICAgICBz
dHJ1Y3Qgd2hpY2ggd3JhcHMgdGhlIFVVSUQgc3RyaW5nIGZvciBtYWNPUyBhbmQgdGhlIGxheWVy
IGlkZW50aWZpZXIgZm9yIGlPUy4gVGhlbiBvbgorICAgICAgICBNb2RlbEVsZW1lbnRDb250cm9s
bGVyLCB3ZSBoYXZlIHRoZSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKCkgbWV0aG9kIHRvIGdl
dCB0aGUgbWF0Y2hpbmcKKyAgICAgICAgQVNWSW5saW5lUHJldmlldyBmb3IgdGhlIHByb3ZpZGVk
IE1vZGVsSWRlbnRpZmllci4KKworICAgICAgICBUaGlzIGFsbG93cyBnZXRDYW1lcmFGb3JNb2Rl
bEVsZW1lbnQoKSBhbmQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50IHRvIGJlIHNwZWNpZmllZCBm
b3IgYm90aAorICAgICAgICBpT1MgYW5kIG1hY09TIHdpdGggYSBzaW5nbGUgaW1wbGVtZW50YXRp
b24uCisKKyAgICAgICAgV2UgYWxzbyBtb2RpZnkgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
KSB0byB0YWtlIGFkdmFudGFnZSBvZiBNb2RlbElkZW50aWZpZXIgd2hpY2ggc2hvd2VkCisgICAg
ICAgIHRoYXQgd2UgaGFkIHNvbWUgbGluZ2VyaW5nIGNvZGUgaW4gQ2hyb21lQ2xpZW50IHJlbGF0
ZWQgdG8gdGhpcyBtZXRob2QgdGhhdCB3YXMgbm8gbG9uZ2VyCisgICAgICAgIG5lY2Vzc2FyeSBm
b2xsb3dpbmcgcjI4NTkyMi4KKworICAgICAgICAqIFNoYXJlZC9Nb2RlbElkZW50aWZpZXIuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0
L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaC4KKyAgICAgICAgKFdlYktpdDo6TW9kZWxJZGVudGlmaWVy
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbElkZW50aWZpZXI6OmRlY29k
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3
Rm9yTW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYktpdDo6cHJldmlld0hhc0NhbWVyYVN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAo
V2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojptb2RlbEVsZW1lbnRTZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRD
YW1lcmEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllck1hYy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbik6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10g
QWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmgKaW5kZXggMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4NmQ5ODU5ZWMxYjA1NWVj
YS4uMmRkOWZhMmIyN2NiNDA3Y2FkYjczOTQwYTI3NWM0ZDY3NTJjM2RhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzQzLDMgKzc0Myw3IEBACiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykgfHwgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKICNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXIDEKICNlbmRpZgorCisjaWYg
KEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMjA0MDApIHx8IChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkKKyNkZWZpbmUg
RU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDVhMDQxNTVjNGMwZjhiZGJiODg4MTA2MTU5NzIyZGViOWJk
MDE0NTUuLjBlZTBiZTMwM2QyYTcyNWY1MTYwM2UxMzFmNmUyMWVjMjg1NTZmY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00NjMsNiArNDYzLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogCiAg
ICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisgICAgTW9kdWxl
cy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCiAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0
NmY5ZDhkNmQzYjUyMi4uYTcyZmFkNTgxZDYxYmNjM2M2NjA5ODdjMGUyMTdjYTBmY2NkZWYwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBA
IC0xNTgsNiArMTU4LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4
U3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVWZXJ0ZXhTdGVwTW9k
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL05hdmlnYXRvckdQVS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eUV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBw
bGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCkBAIC0yMDUsNyArMjA2LDYgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbAotJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS1hbXMtdWkvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yK0NsaXBib2FyZC5pZGwKQEAgLTQy
OCw2ICs0MjgsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRz
UmVwb3J0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1F
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9hY3Rpdml0eS1pbmRpY2F0b3IuY3NzCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5jc3MK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2Fp
cnBsYXktYnV0dG9uLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IDRjNWZmOTU0YTE1OTdlZGJmNTBkNjJhZDcyOTA3NDI4YzVkMDUz
YjYuLmIyMjQxNzIxMGRkYmEzNzBjZjY0ZmY5OTFlYjA1ODg1MzkxM2ZlN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjgzLDYg
KzEyODMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hUTUxNb2RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPYmplY3RFbGVtZW50
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0
NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4uYjFiNmE4YTU1MTkxMjY2MzRiNTE5NjA1Nzk3ZGFiNGM2
NTkyZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00NTMsNiArNDUzLDcg
QEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDVHJhY2tFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFuc2Zvcm1FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMmEyN2U2MDIyMDU2YjdjOWRkNTkxYTcx
MTk0Y2QzMTRjMWM2NDJjNy4uNzM0ZDZkNzc4NmQ5OTgyYTU2YThjNWRiZDU1ZTc1OWYwNjdlYmJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1V0aWxzLmgKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKKyAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKICAgICBNb2R1bGVz
L21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJDbGllbnQuaAogICAgIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFBsYXllclByb3ZpZGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAppbmRleCA0ZmE2ZGU5
M2IwZTQ2N2ZhZjU3YmE0ZDIxNmE4OGY3MDgzN2QyOWFlLi44Njc4MDNiMmQ2MmUzYjYwNzFjOTYx
MjA3ZWEyMDlhN2RjZWY2YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwCkBAIC0zNywxMSArMzcsMTQg
QEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDQS5oIgorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJK
U0hUTUxNb2RlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCIKICNpbmNsdWRlICJNb2RlbC5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyLmgiCiAjaW5jbHVk
ZSAiTW9kZWxQbGF5ZXJQcm92aWRlci5oIgpAQCAtMzYwLDYgKzM2MywzOCBAQCB2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmRyYWdEaWRFbmQoTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIG1fbW9k
ZWxQbGF5ZXItPmhhbmRsZU1vdXNlVXAoZXZlbnQucGFnZUxvY2F0aW9uKCksIGV2ZW50LnRpbWVT
dGFtcCgpKTsKIH0KIAorLy8gTUFSSzog4oCTIENhbWVyYSBzdXBwb3J0LgorCit2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmdldENhbWVyYShDYW1lcmFQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBp
ZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPmdldENhbWVyYShbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldIChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
IGNhbWVyYSkgbXV0YWJsZSB7CisgICAgICAgIGlmICghY2FtZXJhKQorICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KCpjYW1lcmEpOworICAgIH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVy
YShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYgcHJvbWlzZSkKK3sKKyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXIt
PnNldENhbWVyYShjYW1lcmEsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGJvb2wgc3Vj
Y2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7
CisgICAgfSk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKaW5kZXggZmVlYmNjNTkzMDZjNWYyNDViOTQzMDE2MzQ0MzBkNzU5NGVlNmM1OS4u
ZmM0Y2Q2OGRhMjU0YzUwMmRhZDRjNTIyMzVkMjY1ZWU0OTRhODQwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJNb2RlbFBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIK
QEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTW9kZWw7CiBjbGFzcyBNb2RlbFBsYXllcjsKIGNsYXNz
IE1vdXNlRXZlbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQ
cm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKIGNsYXNzIEhUTUxNb2RlbEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgSFRNTEVsZW1lbnQsIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQsIHB1
YmxpYyBNb2RlbFBsYXllckNsaWVudCB7CkBAIC02OSw2ICs3MSwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisgICAgdXNpbmcgQ2FtZXJhUHJvbWlzZSA9IERP
TVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+PjsK
KyAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKKwog
ICAgIGJvb2wgaXNEcmFnZ2FibGVJZ25vcmluZ0F0dHJpYnV0ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKaW5kZXggMTYzYWQ2YzNh
YWU3ZjcxNDYxYWEwYmI5N2MwZTBiNjdhY2EwZmM3YS4uZTdlZDQwOTFiMzkwZTc0ZTFlZmEwY2Yz
OWRhYTE1YWZiYmE2MjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApAQCAtMzMsNCArMzMsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnQ+IHJlYWR5Owog
CiAgICAgdW5kZWZpbmVkIGVudGVyRnVsbHNjcmVlbigpOworCisgICAgUHJvbWlzZTxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBnZXRDYW1lcmEoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0
Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjFkOTRhOWQwYmQzMzIzMzY0ODc5NTc0NjYxNTJiY2Yz
NWM2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApAQCAtMCwwICsxLDY5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxvcHRpb25hbD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSFRNTE1v
ZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoIHsgMCB9OworICAgIGRvdWJsZSB5
YXcgeyAwIH07CisgICAgZG91YmxlIHNjYWxlIHsgMSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGRl
Y29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGVuY29kZXIgPDwgcGl0Y2g7CisgICAgZW5jb2RlciA8PCB5YXc7CisgICAgZW5jb2RlciA8PCBz
Y2FsZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcGl0Y2g7CisgICAgZGVjb2Rl
ciA+PiBwaXRjaDsKKyAgICBpZiAoIXBpdGNoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHlhdzsKKyAgICBkZWNvZGVyID4+IHlhdzsK
KyAgICBpZiAoIXlhdykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8ZG91YmxlPiBzY2FsZTsKKyAgICBkZWNvZGVyID4+IHNjYWxlOworICAgIGlmICgh
c2NhbGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpw
aXRjaCwgKnlhdywgKnNjYWxlIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcyNzA5MzFkN2YxZWI2ZGQ0
NWFmMGRjYzNlOTRkMjdkZDhiYmMyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlQsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1N
b2RlbEVsZW1lbnRFbmFibGVkLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgSFRNTE1vZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoOworICAgIGRvdWJs
ZSB5YXc7CisgICAgZG91YmxlIHNjYWxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKaW5kZXggNjc1YTQwZjI4ZGNlNmViNTNk
NWZiNDE5MGY3YWI1NzYxNTc0NjcxNS4uOWFlZWNiNWEzZGNlNGNiMTM3NGMzNTExZTM4Yzg1ODdl
MjA5ZjkzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKQEAgLTI1LDkgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkxheW91dFBvaW50Lmgi
CiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKKyNp
bmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CiAKQEAgLTQ3LDcgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VVcChj
b25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpID0gMDsKLQorICAgIHZpcnR1YWwgdm9p
ZCBnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldENhbWVyYShI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYp
ID0gMDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAppbmRleCA2ODc0ODQw
ZmI4ZTllMDYwZTEzNTAxY2Y5NmMxOTZkODZkNjI1ODIzLi5jNTI5ZjA3OWU3ODJmNDgwMDgyYWI2
ZmQxMDlhNGZhNTU2OWFiM2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCkBAIC03
MCw0ICs3MCwxMiBAQCB2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmhhbmRsZU1vdXNlVXAoY29uc3Qg
TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewogfQogCit2b2lkIER1bW15TW9kZWxQbGF5
ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVtbXlNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVs
UGxheWVyLmgKaW5kZXggM2JiMWI4OGQxMmYzOWU4NDM0MmNiNTUxMjQ3ZGFmNTA3NzM3ZmY4NC4u
Nzk2MTM0NWE0NjI2YjMyZjI0MWFlNDI1YjU2M2MwYmYwMDEyOTQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVN
b3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsK
IAogICAgIFdlYWtQdHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2Nl
bmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCmluZGV4IDliNGYxZGY4NzkzZjc2MzZkMDI1Y2E0
NDMwMmMxYTFjODVkODFiNzguLmU3ODU0ZjgwYmI3ZDI3ZDBkZWQ5MmE0MzAzYjgzOWNiNjJkNjEw
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2Vu
ZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNjEsNiArNjEs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRN
TE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4m
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRl
cy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVy
JiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KaW5kZXggNzc2YzY4ZmM2ZjUxZjk2N2M4ZDQzNzNmMmQwMGJkNjQ5ZTEw
NDJiNy4uZjQzMDllYjYxNDg5YmU2MTE5NzVhZDVkNDM4NTUwZWRiNzYyNmI4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTg4LDYgKzg4LDE0IEBAIHZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6aGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpCiB7CiB9CiAKK3ZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6Z2V0Q2FtZXJh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhPiYmKT4mJikKK3sKK30KKwordm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEo
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KQoreworfQorCiAvLyBNQVJLOiAtIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQgb3ZlcnJpZGVz
LgogCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmRpZEZpbmlzaExvYWRpbmcoU2NlbmVLaXRN
b2RlbExvYWRlciYgbG9hZGVyLCBSZWY8U2NlbmVLaXRNb2RlbD4gbW9kZWwpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA1YTFh
ZDMwOWFlOWFhZTQ2N2M1Zjg1NGExMTRmNjI0YjgwZDIwYWY1Li5iODk1Y2JjNDM1MzU4YzM4OWI4
MjExZmU1ZTVlNzViMDE1MjI0YTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTgxLDYgKzgxLDggQEAgTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAKKyNp
bXBvcnQgPHNpbWQvc2ltZC5oPgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIEBjbGFzcyBD
QUZlbmNlSGFuZGxlOwogQGludGVyZmFjZSBBU1ZJbmxpbmVQcmV2aWV3IDogTlNPYmplY3QKQEAg
LTk3LDYgKzk5LDEwIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKXRvdWNoZXNF
bmRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2
ZW50ICopZXZlbnQ7CiAtICh2b2lkKXRvdWNoZXNDYW5jZWxsZWQ6KE5TU2V0PFVJVG91Y2ggKj4g
Kil0b3VjaGVzIHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OwogCit0eXBlZGVm
IHZvaWQgKF5BU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJh
VHJhbnNmb3JtLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKTsKKy0gKHZvaWQpZ2V0Q2FtZXJh
VHJhbnNmb3JtOihBU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKXJlcGx5OworLSAodm9pZClz
ZXRDYW1lcmFUcmFuc2Zvcm06KHNpbWRfZmxvYXQzKXRyYW5zZm9ybTsKKwogQGVuZAogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2
aWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQ
SS5oCmluZGV4IDYwYWJjZjc3NjhiMjRkY2MzNjk5Yzk1NWZjNDc3ZGM3MGE4NmVlYzYuLjBkOWQy
ZGMxZjY4YjQ4NjU1YzdiZjU2NDEzYzM4YTZmNDgwYzBiMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaApAQCAtMzUsNiArMzUsOCBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX01BQykKIAorI2ltcG9ydCA8c2ltZC9zaW1kLmg+CisKIEBjbGFzcyBBU1ZJbmxpbmVQcmV2
aWV3OwogCiBAaW50ZXJmYWNlIEFTVklubGluZVByZXZpZXcgOiBOU09iamVjdApAQCAtNTIsNiAr
NTQsMTAgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZvaWQpbW91c2VEcmFnZ2VkQXRM
b2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbiB0aW1lc3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVz
dGFtcDsKIC0gKHZvaWQpbW91c2VVcEF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24gdGltZXN0
YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lc3RhbXA7CiAKK3R5cGVkZWYgdm9pZCAoXkFTVkNhbWVy
YVRyYW5zZm9ybVJlcGx5QmxvY2spIChzaW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJy
b3IgKiBfTnVsbGFibGUgZXJyb3IpOworLSAodm9pZClnZXRDYW1lcmFUcmFuc2Zvcm06KEFTVkNh
bWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spcmVwbHk7CistICh2b2lkKXNldENhbWVyYVRyYW5zZm9y
bTooc2ltZF9mbG9hdDMpdHJhbnNmb3JtOworCiBAZW5kCiAKICNlbmRpZiAvLyBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlOTI4ZmY5NDk0NTgzYjY0
ZWQ2MGY1NWE4Nzk0MzUwMTFkNzY0MmI0Li4wNDkyODQ3OTIwN2ZkZjM4YjRjZDU2N2ZkOTUyZTA2
ZTdjMjk2NDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzMwMiw2ICszMzAyLDcgQEAgSlNIVE1MTWV0
YUVsZW1lbnQuY3BwCiBKU0hUTUxNZXRlckVsZW1lbnQuY3BwCiBKU0hUTUxNb2RFbGVtZW50LmNw
cAogSlNIVE1MTW9kZWxFbGVtZW50LmNwcAorSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcAog
SlNIVE1MT0xpc3RFbGVtZW50LmNwcAogSlNIVE1MT2JqZWN0RWxlbWVudC5jcHAKIEpTSFRNTE9w
dEdyb3VwRWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBlZDY3ZjkwNmU4ZWUwNDcyODg0MjRlNDAxNTIxZTI0OTc5
MzNhMzQyLi41OWU3NmQ5ZGY5N2I2MGMxYTJiMDg4NWJhNTBkYWZhZjlhZjkwNDJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
Mjc1LDYgKzIyNzUsNyBAQAogCQk3MTVBRDcyMTIwNTA1MTNGMDBENTkyREMgLyogQ1NTVHJhbnNp
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEy
M0MxODYyMDQ3MzlCQTAwNzg5MzkyIC8qIENTU1RyYW5zaXRpb24uaCAqLzsgfTsKIAkJNzE3MjlG
N0IyMEYzQkE0OTAwODAxQ0U2IC8qIERvY3VtZW50VGltZWxpbmVPcHRpb25zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTcyOUY3QTIwRjNCQTNBMDA4
MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MTcyOUY3RTIwRjNCQjQ3MDA4MDFDRTYgLyog
SlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzE3MjlGN0MyMEYzQkFCOTAwODAxQ0U2IC8qIEpTRG9jdW1lbnRU
aW1lbGluZU9wdGlvbnMuaCAqLzsgfTsKKwkJNzE3N0FENTcyNzQyOTVEMTAwMkYxMDNCIC8qIEhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzE4MUExNkMyNDRGMEY0MDAwN0Q4QTI0IC8qIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE4MUEx
NjkyNDRGMEYyQzAwN0Q4QTI0IC8qIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxQTFCNjA4MURF
RTVBRDcwMDczQkNGQiAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3Mu
anMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTFC
NjA2MURFRTVBODIwMDczQkNGQiAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0
cmluZ3MuanMgKi87IH07CiAJCTcxQTNEMTgxMjU2MkI4NUIwMDY0RTJBNiAvKiBIVE1MTW9kZWxF
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MUEzRDE3RDI1NjJCODI0MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDc3OCw2ICsxMDc3OSwx
MCBAQAogCQk3MTcyOUY3QzIwRjNCQUI5MDA4MDFDRTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RvY3VtZW50VGltZWxp
bmVPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzI5RjdEMjBGM0JB
QkEwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTczREVCRDI2MTRERjA0MDA5N0RGMzIgLyog
U3R5bGVhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxl
YWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU0Mjc0Mjk1MkYw
MDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzE3N0FENTYyNzQyOTU5MDAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1ODI3NDI5Q0NBMDAyRjEw
M0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU5Mjc0MjlDQ0IwMDJGMTAzQiAvKiBKU0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzdF
MjQ2MURCODBEMkYwMDkxOUEwQiAvKiBtZWRpYS1jb250cm9sbGVyLXN1cHBvcnQuanMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAibWVkaWEtY29udHJvbGxlci1zdXBw
b3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3N0UyNDcxREI4MEQyRjAw
OTE5QTBCIC8qIG11dGUtc3VwcG9ydC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlw
dDsgcGF0aCA9ICJtdXRlLXN1cHBvcnQuanMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3MTc3RTI0ODFEQjgwRDJGMDA5MTlBMEIgLyogc3RhcnQtc3VwcG9ydC5qcyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJzdGFydC1zdXBwb3J0LmpzIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTYyLDExICsxODk2NywxMSBAQAogCQkxQTU2OUND
NDBEN0UyQjYwMDA3QzM5ODMgLyogYnJpZGdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKKwkJCQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyoganNjICovLAog
CQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjICovLAogCQkJCTU5OUU3NThGMTEw
NTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAqLywKIAkJCQkxQTcxRDU3OTBGMzM4MTkwMDBGOUNF
NEUgLyogSWRlbnRpZmllclJlcC5jcHAgKi8sCiAJCQkJMUE3MUQ1N0EwRjMzODE5MDAwRjlDRTRF
IC8qIElkZW50aWZpZXJSZXAuaCAqLywKLQkJCQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyog
anNjICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNw
cCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICov
LAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgKi8s
CkBAIC0yMzgxNSw2ICsyMzgyMCw4IEBACiAJCQkJNzFBM0QxODAyNTYyQjgyNTAwNjRFMkE2IC8q
IEhUTUxNb2RlbEVsZW1lbnQuY3BwICovLAogCQkJCTcxQTNEMTdEMjU2MkI4MjQwMDY0RTJBNiAv
KiBIVE1MTW9kZWxFbGVtZW50LmggKi8sCiAJCQkJNzFBM0QxN0YyNTYyQjgyNDAwNjRFMkE2IC8q
IEhUTUxNb2RlbEVsZW1lbnQuaWRsICovLAorCQkJCTcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAv
KiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8sCisJCQkJNzE3N0FENTQyNzQyOTUyRjAwMkYx
MDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsICovLAogCQkJCUJDMkI0MTE0MjczMkYw
NjIwMEEyRDE5MSAvKiBNb2RlbFBsYXllci5jcHAgKi8sCiAJCQkJQkMyQjQxMTMyNzMyRjA2MjAw
QTJEMTkxIC8qIE1vZGVsUGxheWVyLmggKi8sCiAJCQkJQkMyQjQxMTIyNzMyRjAzQzAwQTJEMTkx
IC8qIE1vZGVsUGxheWVyQ2xpZW50LmNwcCAqLywKQEAgLTI2MDkzLDYgKzI2MTAwLDggQEAKIAkJ
CQlBN0JCRTI2NTExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJ
CQkJNzFBM0QxODIyNTYyQkREQjAwNjRFMkE2IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5jcHAgKi8s
CiAJCQkJNzFBM0QxODMyNTYyQkREQjAwNjRFMkE2IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5oICov
LAorCQkJCTcxNzdBRDU4Mjc0MjlDQ0EwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1l
cmEuY3BwICovLAorCQkJCTcxNzdBRDU5Mjc0MjlDQ0IwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEuaCAqLywKIAkJCQkxQUUyQUIxRjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1M
TW9kRWxlbWVudC5jcHAgKi8sCiAJCQkJMUFFMkFCMjAwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRN
TE1vZEVsZW1lbnQuaCAqLywKIAkJCQlCQzMwNUM3NzBDMDc2QkIzMDBDRDIwRjAgLyogSlNIVE1M
T2JqZWN0RWxlbWVudC5jcHAgKi8sCkBAIC0zMzcyOSw2ICszMzczOCw3IEBACiAJCQkJQTg3MURD
MjQwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxNZXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTQ1NDQyNEIxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTcxQTNEMTgxMjU2MkI4NUIwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MTc3QUQ1NzI3NDI5NUQxMDAyRjEwM0IgLyogSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTcwQTE1Njk3ODAw
MEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOERGM0ZENDA5
N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODcxRDQ1QTBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCAzYmFlM2My
MjVmNjBjODg0YTZhNGNlMmFmOWNmOWVmODcyYmMxYjJmLi4zYTA2NGJjNzIzMWEzNjAwY2M4M2Rj
NThhOWEyZTdmZjJlZTk2YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cApAQCAtNTgzLDEyICs1ODMsNiBAQCB2b2lkIEVtcHR5Q2hyb21lQ2xpZW50OjpzaG93U2hhcmVT
aGVldChTaGFyZURhdGFXaXRoUGFyc2VkVVJMJiwgQ29tcGxldGlvbkhhbmRsZQogewogfQogCi0j
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQgRW1wdHlDaHJvbWVDbGll
bnQ6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBs
YXRmb3JtTGF5ZXJJRCkgY29uc3QKLXsKLX0KLSNlbmRpZgotCiB2b2lkIEVtcHR5RnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5h
dmlnYXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBGb3JtU3RhdGUqLCBjb25z
dCBTdHJpbmcmLCBQb2xpY3lDaGVja0lkZW50aWZpZXIsIEZyYW1lUG9saWN5RnVuY3Rpb24mJikK
IHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCAwYzc5NzNmMDBhMWYz
NmUyNzAxM2ExNjE2ZGJjOTZhMTgwYzVjZjA4Li41MjI2MTg3MzFkNzU2ZWE0YmY4Yjk2ZGYwMDQz
NWY4MzU1OGVlOTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTcs
MTAgKzIxNyw2IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVu
dCB7CiAgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHMoY29uc3QgVmVjdG9yPFJlZlB0
cjxFbGVtZW50Pj4mLCBGcmFtZSYpIGZpbmFsIHsgfQogICAgIGJvb2wgc2hvdWxkTm90aWZ5T25G
b3JtQ2hhbmdlcygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdCBmaW5hbDsKLSNl
bmRpZgotCiAgICAgUmVmUHRyPEljb24+IGNyZWF0ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgLyogZmlsZW5hbWVzICovKSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBlMTNlMzg3ZDE5MTY4YWM1ZmQzNTli
MmU2MTZkNDNkZDNmMTc1MDIyLi5mMjM5MTQ1NzA2ZDBiMTkwNTQxMGFkOGU2NmNmZTk5MDBjZGM3
NmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTYwNSwxMCArNjA1LDYgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9k
ZUNoYW5nZWQoKSB7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKLSAgICB2aXJ0dWFsIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdCB7IH0KLSNlbmRpZgotCiAj
aWYgRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0QXBwbGVQ
YXlBTVNVSVNlc3Npb24oY29uc3QgVVJMJiwgY29uc3QgQXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsgfQogICAgIHZpcnR1
YWwgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L01vZGVsSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0MTNhZDBhYTQyMzg1MzA5ODNlZWM0NDQ2
MTdhZWJlYWZkNDY0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9N
b2RlbElkZW50aWZpZXIuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorCisjaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXX0lPUykKKyNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgor
I2VuZGlmCisKK3N0cnVjdCBNb2RlbElkZW50aWZpZXIgeworI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCisgICAgU3RyaW5nIHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfSU9TKQorICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5
ZXJJRCBsYXllcklkZW50aWZpZXI7CisjZW5kaWYKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IGRlY29kZShEZWNvZGVy
Jik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIE1vZGVsSWRlbnRpZmllcjo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX01BQykKKyAgICBlbmNvZGVyIDw8IHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIGVuY29kZXIgPDwgbGF5ZXJJZGVudGlmaWVyOworI2Vu
ZGlmCit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVu
dGlmaWVyPiBNb2RlbElkZW50aWZpZXI6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisgICAgc3RkOjpvcHRpb25hbDxTdHJp
bmc+IHV1aWQ7CisgICAgZGVjb2RlciA+PiB1dWlkOworICAgIGlmICghdXVpZCkKKyAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKnV1aWQpIH0gfTsK
KyNlbGlmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQ+IGxheWVySWRlbnRpZmll
cjsKKyAgICBkZWNvZGVyID4+IGxheWVySWRlbnRpZmllcjsKKyAgICBpZiAoIWxheWVySWRlbnRp
ZmllcikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4geyB7ICpsYXll
cklkZW50aWZpZXIgfSB9OworI2VuZGlmCit9CisKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxF
bGVtZW50Q29udHJvbGxlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
TW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDc3YmFiZjc2NTY1YTJiYWFlODFk
MGRhNGE0ODU4M2Y3NjViNGUyZDEuLmNhNDNkNDllNTdkYjYyNWU1N2M1ZjAwZjJkYzRmMTRhOGI0
ZTI5M2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxl
bWVudENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KQEAgLTMwLDYgKzMwLDEyIEBACiAKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9MYXlvdXRQb2ludC5oPgorI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRVbml0Lmg+CisjaW1w
b3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KKyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorI2lt
cG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAK
ICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogI2ltcG9ydCAiQVBJVUlDbGll
bnQuaCIKQEAgLTQyLDEyICs0OCw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCi0jaW1wb3J0IDxXZWJDb3JlL0xheW91dFBvaW50Lmg+Ci0jaW1wb3J0
IDxXZWJDb3JlL0xheW91dFVuaXQuaD4KLSNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oPgotI2ltcG9ydCA8d3Rm
L01haW5UaHJlYWQuaD4KLSNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjZW5kaWYKIAog
U09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKEFzc2V0Vmlld2VyKTsKQEAgLTU3LDMwICs1OCwz
NiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklF
V19JT1MpCiAKLXZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1
bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRM
YXllcklkKQorV0tNb2RlbFZpZXcgKiBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbFZpZXdG
b3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKIHsKICAg
ICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgp
KQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBpZiAoIWlzPFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVh
KCkpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBhdXRvKiBu
b2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oKm1fd2ViUGFn
ZVByb3h5LmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3QoKS5ub2RlRm9ySUQoY29u
dGVudExheWVySWQpOworICAgIGF1dG8qIG5vZGUgPSBkb3duY2FzdDxSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5PigqbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5
ZXJUcmVlSG9zdCgpLm5vZGVGb3JJRChtb2RlbElkZW50aWZpZXIubGF5ZXJJZGVudGlmaWVyKTsK
ICAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIG5pbDsKIAot
ICAgIGF1dG8gKnZpZXcgPSBub2RlLT51aVZpZXcoKTsKLSAgICBpZiAoIXZpZXcpCi0gICAgICAg
IHJldHVybjsKKyAgICByZXR1cm4gZHluYW1pY19vYmpjX2Nhc3Q8V0tNb2RlbFZpZXc+KG5vZGUt
PnVpVmlldygpKTsKK30KIAotICAgIGlmICghW3ZpZXcgaXNLaW5kT2ZDbGFzczpbV0tNb2RlbFZp
ZXcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuOworQVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gW21vZGVsVmlld0Zvck1vZGVsSWRlbnRp
Zmllcihtb2RlbElkZW50aWZpZXIpIHByZXZpZXddOworfQogCit2b2lkIE1vZGVsRWxlbWVudENv
bnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllciBtb2Rl
bElkZW50aWZpZXIpCit7CiAgICAgYXV0byAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0gbV93
ZWJQYWdlUHJveHkudWlDbGllbnQoKS5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXIoKTsKICAgICBp
ZiAoIXByZXNlbnRpbmdWaWV3Q29udHJvbGxlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgV0tN
b2RlbFZpZXcgKm1vZGVsVmlldyA9IChXS01vZGVsVmlldyAqKXZpZXc7CisgICAgYXV0byBtb2Rl
bFZpZXcgPSBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAg
ICBpZiAoIW1vZGVsVmlldykKKyAgICAgICAgcmV0dXJuOworCiAgICAgQ0dSZWN0IGluaXRpYWxG
cmFtZSA9IFttb2RlbFZpZXcgY29udmVydFJlY3Q6bW9kZWxWaWV3LmZyYW1lIHRvVmlldzpuaWxd
OwogCiAgICAgQVNWSW5saW5lUHJldmlldyAqcHJldmlldyA9IFttb2RlbFZpZXcgcHJldmlld107
CkBAIC05OCw3ICsxMDUsNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogCiAgICAgICAgICAg
ICBbcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjpyZW1vdGVW
aWV3Q29udHJvbGxlciBhbmltYXRlZDpOTyBjb21wbGV0aW9uOl4odm9pZCkgewogICAgICAgICAg
ICAgICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKLSAgICAgICAgICAgICAgICBbdmlldy5sYXll
ci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZmVuY2VIYW5kbGVdOworICAgICAgICAgICAg
ICAgIFttb2RlbFZpZXcubGF5ZXIuc3VwZXJsYXllci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFu
ZGxlXTsKICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBjb21taXRdOwogICAgICAgICAg
ICAgICAgIFtmZW5jZUhhbmRsZSBpbnZhbGlkYXRlXTsKICAgICAgICAgICAgIH1dOwpAQCAtMTEy
LDcgKzExOSw3IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6CiAgICAgICAgICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAg
ICAgICAgICAgICAgIFt2aWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNt
aXNzRmVuY2VIYW5kbGVdOworICAgICAgICAgICAgICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1
cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNtaXNzRmVuY2VIYW5kbGVdOwogICAgICAgICAg
ICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBzZXRDb21wbGV0aW9uQmxvY2s6XnsKICAgICAgICAg
ICAgICAgICAgICAgICAgIFtyZW1vdGVWaWV3Q29udHJvbGxlciBkaXNtaXNzVmlld0NvbnRyb2xs
ZXJBbmltYXRlZDpOTyBjb21wbGV0aW9uOm5pbF07CiAgICAgICAgICAgICAgICAgICAgIH1dOwpA
QCAtMTI4LDYgKzEzNSwxNCBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKIAorQVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2Vz
KCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IHJldHVybiBtX2lubGluZVByZXZpZXdzLmdldChtb2RlbElkZW50aWZpZXIudXVpZCkuZ2V0KCk7
Cit9CisKIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxFbGVtZW50RGlkQ3JlYXRl
UHJldmlldyhVUkwgZmlsZVVSTCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXpl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQz
Ml90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJlZmVyZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVk
KCkpIHsKQEAgLTIxNiw2ICsyMzEsNjUgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpo
YW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVtZW50KGNvbnN0IFN0cmluZyYgdXVpZCwgY28KIAogI2Vu
ZGlmCiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisKK3N0YXRpYyBib29sIHBy
ZXZpZXdIYXNDYW1lcmFTdXBwb3J0KEFTVklubGluZVByZXZpZXcgKnByZXZpZXcpCit7CisjaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0pCisgICAgcmV0dXJu
IFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoZ2V0Q2FtZXJhVHJhbnNmb3Jt
OildOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwordm9pZCBNb2RlbEVs
ZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3Jl
OjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHByZXZpZXdGb3JNb2RlbElk
ZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcgfHwgIXByZXZpZXdI
YXNDYW1lcmFTdXBwb3J0KHByZXZpZXcpKSB7CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3
ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUo
Y29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBXZWJD
b3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpHZW5lcmFsIH1dICgpIG11dGFibGUgeworICAgICAg
ICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1h
a2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAg
fQorCisgICAgW3ByZXZpZXcgZ2V0Q2FtZXJhVHJhbnNmb3JtOm1ha2VCbG9ja1B0cihbd2Vha1Ro
aXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKHNpbWRfZmxvYXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAqZXJy
b3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbGxPbk1h
aW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9IFdlYkNvcmU6OlJlc291cmNl
RXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpHZW5lcmFsIH1dICgpIG11dGFi
bGUgeworICAgICAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsKKyAgICAgICAgICAgIH0p
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgY2FsbE9uTWFpblJ1
bkxvb3AoW2NhbWVyYVRyYW5zZm9ybSwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7
CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSB7IGNhbWVyYVRyYW5zZm9ybS54
LCBjYW1lcmFUcmFuc2Zvcm0ueSwgY2FtZXJhVHJhbnNmb3JtLnogfSk7CisgICAgICAgIH0pOwor
ICAgIH0pLmdldCgpXTsKK30KKwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1l
cmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgV2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHByZXZp
ZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcg
fHwgIXByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KHByZXZpZXcpKSB7CisgICAgICAgIGNhbGxPbk1h
aW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxl
ciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAg
IGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7
CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcgc2V0
Q2FtZXJhVHJhbnNmb3JtOnNpbWRfbWFrZV9mbG9hdDMoY2FtZXJhLnBpdGNoLCBjYW1lcmEueWF3
LCBjYW1lcmEuc2NhbGUpXTsKKworICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdl
YWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgfSk7Cit9CisKKyNlbmRpZgorCiB9CiAKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29u
dHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxl
ci5oCmluZGV4IGYxZjk1ODY3MGI2NTk1OTE2N2VlMmQ4NjFjY2E0NDMwOGUxYzhjNWMuLmVlNjg0
ZTg3OGE5ZTNjYjYyNmY0ZmNmNTU5MWZkZmJkYzk1ODc0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKQEAgLTI3LDE0ICsyNywxNyBA
QAogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogCisjaW5jbHVkZSAiTW9kZWxJ
ZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9FbGVtZW50Q29udGV4dC5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4K
ICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAotI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiBPQkpDX0NMQVNTIEFTVklubGluZVByZXZp
ZXc7CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorT0JKQ19DTEFTUyBX
S01vZGVsVmlldzsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzUxLDEy
IEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94eSYgcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFn
ZVByb3h5OyB9CiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgdm9pZCBn
ZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6
OlJlc291cmNlRXJyb3I+KT4mJik7CisgICAgdm9pZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQo
TW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJD
b3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpOworICAg
IHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlmaWVyKTsKICNlbmRp
ZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCwgU3RyaW5nLCBXZWJDb3JlOjpGbG9hdFNpemUsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwpAQCAtNTksNiArNjYsMTQgQEAgcHVibGlj
OgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQor
ICAgIEFTVklubGluZVByZXZpZXcgKiBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRl
bnRpZmllcik7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1Mp
CisgICAgV0tNb2RlbFZpZXcgKiBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVu
dGlmaWVyKTsKKyNlbmRpZgorCiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsKICNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIFJldGFpblB0cjxBU1ZJbmxp
bmVQcmV2aWV3PiBwcmV2aWV3Rm9yVVVJRChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY5NWRkNzgzZDVhNjdkNDdkZDhjYmIyZWE1
ZjgzYzk4ZjU0NDBlMmYuLmYwZDFlNzViNWRmM2I3MmE1MmQ5Mjg3Mjc5MDNhOTY0YWFmNWQ2ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysr
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4MzIsMTAg
KzEwODMyLDIyIEBAIFdlYkNvcmU6OkNhcHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQcm94eTo6
Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCisjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVu
dEdldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNv
cmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVs
ZW1lbnRDb250cm9sbGVyKCktPmdldENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZp
ZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6
Om1vZGVsRWxlbWVudFNldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250
cm9sbGVyKCktPnNldENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIGNhbWVy
YSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBj
b250ZW50TGF5ZXJJZCkKK3ZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogewotICAgIG1vZGVsRWxlbWVu
dENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVySWQp
OworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3Jl
ZW4obW9kZWxJZGVudGlmaWVyKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IDE2ZTg2ZTBhZmM1MDFlNzRkN2Q2ZGQyYzkxMzBkN2I1MDU1YjE5
MzYuLmM3MGQwYzc3MWM1YzI5NDE3ZTdhYTQ5N2MzZDgxMGIxNDFiOTA4MTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xOTYsNiArMTk2LDcgQEAgaW50ZXJmYWNl
IElEM0QxMURldmljZTE7CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAjaW5j
bHVkZSAiTW9kZWxFbGVtZW50Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmll
ci5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkgewpAQCAtNTg3LDkgKzU4OCwxMSBAQCBwdWJs
aWM6CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgTW9kZWxFbGVtZW50
Q29udHJvbGxlciogbW9kZWxFbGVtZW50Q29udHJvbGxlcigpIHsgcmV0dXJuIG1fbW9kZWxFbGVt
ZW50Q29udHJvbGxlci5nZXQoKTsgfQorICAgIHZvaWQgbW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1v
ZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOworICAg
IHZvaWQgbW9kZWxFbGVtZW50U2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFr
ZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1M
YXllcklEIGNvbnRlbnRMYXllcklkKTsKKyAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBV
UkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAxNjE2M2FjZmYyYzhhOGMzODkxZjYxMjk4YjAw
YjEwOWVhOTRiNmE5Li42ZjA3NGY1MzBiMmVhODEwYmQxNDc1ZmE2ZWEyZTcyY2MzN2E5YTFlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMu
aW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmlu
CkBAIC01ODYsNyArNTg2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgog
CiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICBUYWtlTW9kZWxFbGVt
ZW50RnVsbHNjcmVlbih1aW50NjRfdCBjb250ZW50TGF5ZXJJRCkKKyAgICBUYWtlTW9kZWxFbGVt
ZW50RnVsbHNjcmVlbihzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlm
aWVyKQogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBN
b2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3Jl
OjpGbG9hdFNpemUgc2l6ZSkgLT4gKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90
PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBBc3luYwpAQCAtNTk0LDYgKzU5NCwx
MCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIEhhbmRsZU1vdXNlTW92ZUZvck1v
ZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBh
Z2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0aW1lc3RhbXApCiAgICAgSGFuZGxlTW91c2VV
cEZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRp
b25JblBhZ2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0aW1lc3RhbXApCiAjZW5kaWYKKyNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgTW9kZWxFbGVtZW50R2V0Q2FtZXJh
KHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBl
Y3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yPiByZXN1bHQpIEFzeW5jCisgICAgTW9kZWxFbGVtZW50U2V0Q2FtZXJhKHN0cnVjdCBXZWJL
aXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSkgLT4gKGJvb2wgc3VjY2VzcykgQXN5bmMKKyNlbmRp
ZgogCiAgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBv
cmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAt
PiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
aiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
NmVmZWNiY2VlNDY1OTJlNzU4ZTBlODhjZjZlOTE4MWNlOTI5OTk4Yi4uMzYxNmNjNWQyYmM5Njg1
YTFhZGY5OTFhOTNhOGM3YTI4YjVmZGJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NzA4LDYgKzQ3MDgsNyBAQAogCQk3MUE2NzZB
NTIyQzYyMzE4MDA3RDYyOTUgLyogV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tUb3VjaEFjdGlvbkdlc3R1
cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXpl
ci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzEyNUZGQ0NCQTAwRDdD
RDVEIC8qIFdLTW9kZWxWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdL
TW9kZWxWaWV3Lmg7IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzFCQUE3MzIyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3Lm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tNb2RlbFZpZXcubW07IHBh
dGggPSBpb3MvV0tNb2RlbFZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcx
RTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAvKiBNb2RlbElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9kZWxJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI4
MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRj
aFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlU2ltdWxh
dGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MjAzNDQ5QTI2QTZDNDRDMDAwQTVGNTQgLyogTW9ub3RvbmljT2JqZWN0SWRlbnRpZmll
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNb25vdG9uaWNPYmplY3RJZGVudGlmaWVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyMDM0NDlCMjZBNkM0NzYwMDBBNUY1NCAvKiBSZW5kZXJp
bmdVcGRhdGVJRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJpbmdVcGRhdGVJRC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgzNCw2ICs2ODM1LDcgQEAKIAkJCQkyRDEwODc1RTFE
MkM1NzNFMDBCODVGODIgLyogTG9hZFBhcmFtZXRlcnMuY3BwICovLAogCQkJCTJEMTA4NzVGMUQy
QzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVycy5oICovLAogCQkJCTQ5OTE3REIwMjUyRTMw
NzUwMDUwMzEzRiAvKiBNZWRpYVBsYXliYWNrU3RhdGUuaCAqLywKKwkJCQk3MUU5NjUwRjI3NDU2
ODJFMDBBRENGNDMgLyogTW9kZWxJZGVudGlmaWVyLmggKi8sCiAJCQkJNzIwMzQ0OUEyNkE2QzQ0
QzAwMEE1RjU0IC8qIE1vbm90b25pY09iamVjdElkZW50aWZpZXIuaCAqLywKIAkJCQkyRDUwMzY2
QTFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0aXZlV2ViR2VzdHVyZUV2ZW50LmggKi8sCiAJCQkJQzAy
QkZGMTUxMjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyLmgKaW5kZXggM2NhYWNiMzU2NWY5Zjg2NjNiNDgyNGQ4Nzdj
MTRhMWU1OTNhNjMyNC4uY2MzNDRhNTdiYTBhMDA5MzY2YTFjODBhMjRhNjhlZmFhNjdmYjhhNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FS
S2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKQEAgLTI3LDkgKzI3LDEyIEBACiAKICNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL01vZGVsUGxh
eWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5oPgotI2luY2x1ZGUg
PHd0Zi9Db21waWxlci5oPgorI2ltcG9ydCAiTW9kZWxJZGVudGlmaWVyLmgiCisjaW1wb3J0ICJX
ZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9Nb2RlbFBsYXllci5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5o
PgorI2ltcG9ydCA8d3RmL0NvbXBpbGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00
MywxMSArNDYsMTUgQEAgcHJvdGVjdGVkOgogICAgIFdlYlBhZ2UqIHBhZ2UoKSB7IHJldHVybiBt
X3BhZ2UuZ2V0KCk7IH0KICAgICBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCogY2xpZW50KCkg
eyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7IH0KIAorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxN
b2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpID0gMDsKKwogcHJpdmF0ZToKICAgICAv
LyBXZWJDb3JlOjpNb2RlbFBsYXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6
Ok1vZGVsJiwgV2ViQ29yZTo6TGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXll
ciogbGF5ZXIoKSBvdmVycmlkZTsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRl
OworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7CisgICAg
dm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8V2ViUGFn
ZT4gbV9wYWdlOwogICAgIFdlYWtQdHI8V2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xp
ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVs
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCmluZGV4IGVkYmQxNGExOWNkM2IzNWRi
MzA0NDY1MmJhYzM2MjFmZWNiMjcyNTEuLjBjMDFmMjA2Y2E2ZGIwNzk1MDUwYTk0MGY1YjAwZTBj
ZDFkMGVlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0KQEAgLTU1LDYgKzU1LDUz
IEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmVudGVyRnVsbHNjcmVlbigp
CiB7CiB9CiAKK3ZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVyYShD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElk
ZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRp
ZmllcikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsK
KyAgICBpZiAoIXN0cm9uZ1BhZ2UpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpu
dWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVDb21wbGV0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBtdXRh
YmxlIHsKKyAgICAgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcigqcmVzdWx0KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFn
ZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVu
dEdldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFu
ZGxlcikpOworfQorCit2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRDYW1l
cmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIG1vZGVs
SWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigpOworICAgIGlmICghbW9kZWxJZGVu
dGlmaWVyKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIGF1dG8qIHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAg
aWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+
IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildIChib29sIHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBjb21w
bGV0aW9uSGFuZGxlcihXVEZNb3ZlKHN1Y2Nlc3MpKTsKKyAgICB9OworCisgICAgc3Ryb25nUGFn
ZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVu
dFNldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyLCBjYW1lcmEpLCBXVEZNb3ZlKHJlbW90ZUNvbXBs
ZXRpb25IYW5kbGVyKSk7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmgKaW5kZXggMWNlMDcwYjZhMGVmMzUwZWQwYzRiYjBhYjViMjA4MDM5
Yzg0YjFiMS4uNDBhMjU5NWY3MGU0YmVlMWYxZDY2ODdhNDIyZGZkN2E3MzM3ZGJkNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllcklPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9p
b3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MuaApAQCAtNDEsNiArNDEsOCBAQCBw
dWJsaWM6CiBwcml2YXRlOgogICAgIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TKFdl
YlBhZ2UmLCBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCYpOwogCisgICAgc3RkOjpvcHRpb25h
bDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpIG92ZXJyaWRlOworCiAgICAgLy8g
V2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3ZlcnJpZGVzLgogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVu
KCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgV2ViQ29yZTo6TGF5
b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJ
T1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TLm1tCmluZGV4IDNlYzZlZmM0ZGUxZWI1MzRkMTkwYjI1YWQwNzA2
NjcwYjI2ZTM4YmQuLjVmMTM3Mjk3NjMyOGU1NTI1ZWM2NGNhN2IwYTAxZWRjOTQ2YzY0OWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQ
cmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01v
ZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbQpAQCAtNDgsMTUgKzQ4
LDI3IEBAIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjp+QVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJJT1MoKQogewogfQogCitzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmll
cj4gQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6Om1vZGVsSWRlbnRpZmllcigpCit7
CisgICAgaWYgKCFjbGllbnQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChhdXRv
IGxheWVySWQgPSBjbGllbnQoKS0+cGxhdGZvcm1MYXllcklEKCkpCisgICAgICAgIHJldHVybiB7
IHsgbGF5ZXJJZCB9IH07CisKKyAgICByZXR1cm4geyB9OworfQorCiAvLyBNQVJLOiAtIFdlYkNv
cmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KIAogdm9pZCBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKLSAgICBpZiAoIWNsaWVudCgpIHx8ICFw
YWdlKCkpCisgICAgYXV0byogc3Ryb25nUGFnZSA9IHBhZ2UoKTsKKyAgICBpZiAoIXN0cm9uZ1Bh
Z2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChhdXRvIGxheWVySWQgPSBjbGllbnQoKS0+
cGxhdGZvcm1MYXllcklEKCkpCi0gICAgICAgIHBhZ2UoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxz
Y3JlZW4obGF5ZXJJZCk7CisgICAgaWYgKGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhpcy0+bW9k
ZWxJZGVudGlmaWVyKCkpCisgICAgICAgIHN0cm9uZ1BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6VGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oKm1vZGVsSWRlbnRpZmllcikpOwog
fQogCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjpoYW5kbGVNb3VzZURv
d24oY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllck1hYy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCmluZGV4IDY3MzE5MTZjNzQ4ZGRiYzVhNzM4
Mzg3NmM3Yjk0ZWFkYTA3NTBlMDcuLmIzYzhlNDIwOGIxMmU1MTlkNGQwNzM5OWMzYzc1YzE0MTE4
YTQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgKQEAgLTQ3
LDYgKzQ3LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllck1hYyhXZWJQYWdlJiwgV2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAorICAg
IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBtb2RlbElkZW50aWZpZXIoKSBvdmVycmlk
ZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGxv
YWQoV2ViQ29yZTo6TW9kZWwmLCBXZWJDb3JlOjpMYXlvdXRTaXplKSBvdmVycmlkZTsKICAgICBQ
bGF0Zm9ybUxheWVyKiBsYXllcigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5t
bSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJNYWMubW0KaW5kZXggNDU1MjY1Mzc2NDJjNWNjNzE0MWM1NGY1NzUxZTI5NWFl
ZWYzM2ViYi4uY2IyNWEzYzgxMTM4NDhkMWMyZTQ4ZDdjZGFjOWNiM2M1NDcyMTEzYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwv
bWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1tCkBAIC01NSw2ICs1NSwxMyBA
QCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYzo6fkFSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyTWFjKCkKICAgICBjbGVhckZpbGUoKTsKIH0KIAorc3RkOjpvcHRpb25hbDxNb2Rl
bElkZW50aWZpZXI+IEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjOjptb2RlbElkZW50
aWZpZXIoKQoreworICAgIGlmIChtX2lubGluZVByZXZpZXcpCisgICAgICAgIHJldHVybiB7IHsg
W21faW5saW5lUHJldmlldyB1dWlkXS5VVUlEU3RyaW5nIH0gfTsKKyAgICByZXR1cm4geyB9Owor
fQorCiBzdGF0aWMgU3RyaW5nJiBzaGFyZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpCiB7
CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc2hhcmVkTW9kZWxFbGVtZW50Q2Fj
aGVEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGZjN2JjMzMyM2FiNGY5YzZi
Y2M5OTI5ZmE2ZWM4YjVmMGYwODIzMDQuLjQzNmE1YTUyMDM1YTA2NTc1ODljMGU5MGIwODQyYzQz
MzY1ODFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xNTI0LDEzICsxNTI0LDYgQEAg
dm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVudW1lcmF0ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFAKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXX0lPUykKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50
RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVu
dExheWVySWQpIGNvbnN0Ci17Ci0gICAgbV9wYWdlLnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVu
KGNvbnRlbnRMYXllcklkKTsKLX0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9BTVNf
VUkpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNv
bnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiByZXF1
ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29t
cGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYTc0OWY1OTMxOTI3NGVlNDZl
MGFkODEyNWE4OTRlZDZjZmUwYjk0ZS4uMmZlMzI5MDM0MzQ3Y2VkMjhmODEwNTdkYTNmZWMyMzMw
N2FlNzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNDU1LDEwICs0NTUsNiBAQCBwcml2YXRl
OgogICAgIHZvaWQgZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoY29uc3QgUGxhdGZvcm1YUjo6SW5zdGFuY2U6OkRldmljZUxpc3QmKT4mJikgZmluYWw7
CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9p
ZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0
Zm9ybUxheWVySUQgY29udGVudExheWVySWQpIGNvbnN0IGZpbmFsOwotI2VuZGlmCi0KICNpZiBF
TkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICAgICB2b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Np
b24oY29uc3QgVVJMJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIGZpbmFsOwogICAg
IHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBiMThkN2Y3MmU2N2FjYWQ0YWI1
NDZkNGQ0MDhlZGFhMTRhYzY5Y2FiLi5kZDU5Y2ZhNzEwNmYwODQ0MmUzZmIzOTkzYjFhODgwODgx
ZjdiYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cApAQCAtNzc4OSwxMyArNzc4OSw2IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVU
cmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mCiB9CiAjZW5k
aWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIFdlYlBhZ2U6
OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRm
b3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdl
UHJveHk6OlRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKSk7Ci19Ci0j
ZW5kaWYKLQogdm9pZCBXZWJQYWdlOjpzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRS
ZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pCiB7CiAg
ICAgbWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0
Lm1pblhNaW5ZQ29ybmVyKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuaAppbmRleCA0MWUyNjAzOWFiODE0YjQ0MjRjMmUyMmE2YzRlZjJjYTNlYTFiZjdlLi43
NDAzZjc3ZDUwYWNkMWZkNTAwYmRlZjllNGJhYTJlNTdmODI4NDVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDkwLDEwICsxNDkwLDYgQEAgcHVi
bGljOgogICAgIFBsYXRmb3JtWFJTeXN0ZW1Qcm94eSYgeHJTeXN0ZW1Qcm94eSgpOwogI2VuZGlm
CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXll
cklEIGNvbnRlbnRMYXllcklkKTsKLSNlbmRpZgotCiAgICAgdm9pZCBwcmVwYXJlVG9SdW5Nb2Rh
bEphdmFTY3JpcHREaWFsb2coKTsKIAogI2lmIFVTRShBVFNQSSkK
</data>
<flag name="commit-queue"
          id="469748"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444659</attachid>
            <date>2021-11-18 04:25:21 -0800</date>
            <delta_ts>2021-11-18 09:07:22 -0800</delta_ts>
            <desc>Patch for EWS</desc>
            <filename>bug-233265-20211118132519.patch</filename>
            <type>text/plain</type>
            <size>66876</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li4xYzdmODg4OGY4MzA4
YWUwMTA3ZWUzMzk4ZjAxZTdkNGQzY2VmZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OmdldENhbWVyYSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xOCBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gW21hY09TXSBB
ZGQgc3VwcG9ydCBmb3IgaW50ZXJhY3Rpb24gb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4
IDI5OTcwNTgzMDZhY2ZhODNhZjk0ZDAyZmIyZDkwNWEwOTQzMDE5YWUuLjM3OGZhMjA5YTU5OGM1
ZjljYzBkMzQ1N2UxMTQ3N2QyM2IxMTQ0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhl
IGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUlFMIFNQSXMgd2Ug
YXJlIHVzaW5nLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oOgor
ICAgICAgICAqIHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaDoKKwogMjAyMS0xMS0xOCAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFtt
YWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRm
MDcyNDFiNzliYjM1Y2JhOTc0MDNkY2NmOTc4Nzg1YmQ4ZjUwYTEuLjFmNjU5ODg1ZjA2NWQwNGY4
NmY2MTllNGQxOWNjZmQ2MTk0MGMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEt
MTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01v
ZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFRoZSBBUlFMIEFQSXMgd2UnZCBhZG9wdGVkIHNvIGZhciB3ZXJl
IHNwZWNpZmljIHRvIGVpdGhlciBtYWNPUyBvciBpT1MuIFRoZSBuZXcgY2FtZXJhCisgICAgICAg
IG1ldGhvZHMgYXJlIGRpZmZlcmVudCBzaW5jZSB0aGV5IGV4aXN0IG9uIGJvdGggcGxhdGZvcm1z
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGV4cG9zZSBhIHNpbmdsZSBtZXNzYWdlIGZvciBib3Ro
IHBsYXRmb3Jtcywgd2UgaW50cm9kdWNlIGEgbmV3IE1vZGVsSWRlbnRpZmllcgorICAgICAgICBz
dHJ1Y3Qgd2hpY2ggd3JhcHMgdGhlIFVVSUQgc3RyaW5nIGZvciBtYWNPUyBhbmQgdGhlIGxheWVy
IGlkZW50aWZpZXIgZm9yIGlPUy4gVGhlbiBvbgorICAgICAgICBNb2RlbEVsZW1lbnRDb250cm9s
bGVyLCB3ZSBoYXZlIHRoZSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKCkgbWV0aG9kIHRvIGdl
dCB0aGUgbWF0Y2hpbmcKKyAgICAgICAgQVNWSW5saW5lUHJldmlldyBmb3IgdGhlIHByb3ZpZGVk
IE1vZGVsSWRlbnRpZmllci4KKworICAgICAgICBUaGlzIGFsbG93cyBnZXRDYW1lcmFGb3JNb2Rl
bEVsZW1lbnQoKSBhbmQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50IHRvIGJlIHNwZWNpZmllZCBm
b3IgYm90aAorICAgICAgICBpT1MgYW5kIG1hY09TIHdpdGggYSBzaW5nbGUgaW1wbGVtZW50YXRp
b24uCisKKyAgICAgICAgV2UgYWxzbyBtb2RpZnkgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
KSB0byB0YWtlIGFkdmFudGFnZSBvZiBNb2RlbElkZW50aWZpZXIgd2hpY2ggc2hvd2VkCisgICAg
ICAgIHRoYXQgd2UgaGFkIHNvbWUgbGluZ2VyaW5nIGNvZGUgaW4gQ2hyb21lQ2xpZW50IHJlbGF0
ZWQgdG8gdGhpcyBtZXRob2QgdGhhdCB3YXMgbm8gbG9uZ2VyCisgICAgICAgIG5lY2Vzc2FyeSBm
b2xsb3dpbmcgcjI4NTkyMi4KKworICAgICAgICAqIFNoYXJlZC9Nb2RlbElkZW50aWZpZXIuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0
L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaC4KKyAgICAgICAgKFdlYktpdDo6TW9kZWxJZGVudGlmaWVy
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbElkZW50aWZpZXI6OmRlY29k
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3
Rm9yTW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYktpdDo6cHJldmlld0hhc0NhbWVyYVN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAo
V2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojptb2RlbEVsZW1lbnRTZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRD
YW1lcmEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllck1hYy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbik6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10g
QWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmgKaW5kZXggMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4NmQ5ODU5ZWMxYjA1NWVj
YS4uMmRkOWZhMmIyN2NiNDA3Y2FkYjczOTQwYTI3NWM0ZDY3NTJjM2RhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzQzLDMgKzc0Myw3IEBACiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykgfHwgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKICNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXIDEKICNlbmRpZgorCisjaWYg
KEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMjA0MDApIHx8IChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkKKyNkZWZpbmUg
RU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDVhMDQxNTVjNGMwZjhiZGJiODg4MTA2MTU5NzIyZGViOWJk
MDE0NTUuLjBlZTBiZTMwM2QyYTcyNWY1MTYwM2UxMzFmNmUyMWVjMjg1NTZmY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00NjMsNiArNDYzLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogCiAg
ICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisgICAgTW9kdWxl
cy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCiAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0
NmY5ZDhkNmQzYjUyMi4uYTcyZmFkNTgxZDYxYmNjM2M2NjA5ODdjMGUyMTdjYTBmY2NkZWYwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBA
IC0xNTgsNiArMTU4LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4
U3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVWZXJ0ZXhTdGVwTW9k
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL05hdmlnYXRvckdQVS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eUV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBw
bGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCkBAIC0yMDUsNyArMjA2LDYgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbAotJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS1hbXMtdWkvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yK0NsaXBib2FyZC5pZGwKQEAgLTQy
OCw2ICs0MjgsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRz
UmVwb3J0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1F
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9hY3Rpdml0eS1pbmRpY2F0b3IuY3NzCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5jc3MK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2Fp
cnBsYXktYnV0dG9uLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IDRjNWZmOTU0YTE1OTdlZGJmNTBkNjJhZDcyOTA3NDI4YzVkMDUz
YjYuLmIyMjQxNzIxMGRkYmEzNzBjZjY0ZmY5OTFlYjA1ODg1MzkxM2ZlN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjgzLDYg
KzEyODMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hUTUxNb2RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPYmplY3RFbGVtZW50
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0
NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4uYjFiNmE4YTU1MTkxMjY2MzRiNTE5NjA1Nzk3ZGFiNGM2
NTkyZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00NTMsNiArNDUzLDcg
QEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDVHJhY2tFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFuc2Zvcm1FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMmEyN2U2MDIyMDU2YjdjOWRkNTkxYTcx
MTk0Y2QzMTRjMWM2NDJjNy4uNzM0ZDZkNzc4NmQ5OTgyYTU2YThjNWRiZDU1ZTc1OWYwNjdlYmJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1V0aWxzLmgKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKKyAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKICAgICBNb2R1bGVz
L21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJDbGllbnQuaAogICAgIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFBsYXllclByb3ZpZGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAppbmRleCA0ZmE2ZGU5
M2IwZTQ2N2ZhZjU3YmE0ZDIxNmE4OGY3MDgzN2QyOWFlLi44Njc4MDNiMmQ2MmUzYjYwNzFjOTYx
MjA3ZWEyMDlhN2RjZWY2YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwCkBAIC0zNywxMSArMzcsMTQg
QEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDQS5oIgorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJK
U0hUTUxNb2RlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCIKICNpbmNsdWRlICJNb2RlbC5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyLmgiCiAjaW5jbHVk
ZSAiTW9kZWxQbGF5ZXJQcm92aWRlci5oIgpAQCAtMzYwLDYgKzM2MywzOCBAQCB2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmRyYWdEaWRFbmQoTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIG1fbW9k
ZWxQbGF5ZXItPmhhbmRsZU1vdXNlVXAoZXZlbnQucGFnZUxvY2F0aW9uKCksIGV2ZW50LnRpbWVT
dGFtcCgpKTsKIH0KIAorLy8gTUFSSzog4oCTIENhbWVyYSBzdXBwb3J0LgorCit2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmdldENhbWVyYShDYW1lcmFQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBp
ZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPmdldENhbWVyYShbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldIChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
IGNhbWVyYSkgbXV0YWJsZSB7CisgICAgICAgIGlmICghY2FtZXJhKQorICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KCpjYW1lcmEpOworICAgIH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVy
YShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYgcHJvbWlzZSkKK3sKKyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXIt
PnNldENhbWVyYShjYW1lcmEsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGJvb2wgc3Vj
Y2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7
CisgICAgfSk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKaW5kZXggZmVlYmNjNTkzMDZjNWYyNDViOTQzMDE2MzQ0MzBkNzU5NGVlNmM1OS4u
ZmM0Y2Q2OGRhMjU0YzUwMmRhZDRjNTIyMzVkMjY1ZWU0OTRhODQwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJNb2RlbFBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIK
QEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTW9kZWw7CiBjbGFzcyBNb2RlbFBsYXllcjsKIGNsYXNz
IE1vdXNlRXZlbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQ
cm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKIGNsYXNzIEhUTUxNb2RlbEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgSFRNTEVsZW1lbnQsIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQsIHB1
YmxpYyBNb2RlbFBsYXllckNsaWVudCB7CkBAIC02OSw2ICs3MSwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisgICAgdXNpbmcgQ2FtZXJhUHJvbWlzZSA9IERP
TVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+PjsK
KyAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKKwog
ICAgIGJvb2wgaXNEcmFnZ2FibGVJZ25vcmluZ0F0dHJpYnV0ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKaW5kZXggMTYzYWQ2YzNh
YWU3ZjcxNDYxYWEwYmI5N2MwZTBiNjdhY2EwZmM3YS4uZTdlZDQwOTFiMzkwZTc0ZTFlZmEwY2Yz
OWRhYTE1YWZiYmE2MjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApAQCAtMzMsNCArMzMsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnQ+IHJlYWR5Owog
CiAgICAgdW5kZWZpbmVkIGVudGVyRnVsbHNjcmVlbigpOworCisgICAgUHJvbWlzZTxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBnZXRDYW1lcmEoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0
Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjFkOTRhOWQwYmQzMzIzMzY0ODc5NTc0NjYxNTJiY2Yz
NWM2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApAQCAtMCwwICsxLDY5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxvcHRpb25hbD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSFRNTE1v
ZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoIHsgMCB9OworICAgIGRvdWJsZSB5
YXcgeyAwIH07CisgICAgZG91YmxlIHNjYWxlIHsgMSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGRl
Y29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGVuY29kZXIgPDwgcGl0Y2g7CisgICAgZW5jb2RlciA8PCB5YXc7CisgICAgZW5jb2RlciA8PCBz
Y2FsZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcGl0Y2g7CisgICAgZGVjb2Rl
ciA+PiBwaXRjaDsKKyAgICBpZiAoIXBpdGNoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHlhdzsKKyAgICBkZWNvZGVyID4+IHlhdzsK
KyAgICBpZiAoIXlhdykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8ZG91YmxlPiBzY2FsZTsKKyAgICBkZWNvZGVyID4+IHNjYWxlOworICAgIGlmICgh
c2NhbGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpw
aXRjaCwgKnlhdywgKnNjYWxlIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcyNzA5MzFkN2YxZWI2ZGQ0
NWFmMGRjYzNlOTRkMjdkZDhiYmMyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlQsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1N
b2RlbEVsZW1lbnRFbmFibGVkLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgSFRNTE1vZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoOworICAgIGRvdWJs
ZSB5YXc7CisgICAgZG91YmxlIHNjYWxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKaW5kZXggNjc1YTQwZjI4ZGNlNmViNTNk
NWZiNDE5MGY3YWI1NzYxNTc0NjcxNS4uOWFlZWNiNWEzZGNlNGNiMTM3NGMzNTExZTM4Yzg1ODdl
MjA5ZjkzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKQEAgLTI1LDkgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkxheW91dFBvaW50Lmgi
CiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKKyNp
bmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CiAKQEAgLTQ3LDcgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VVcChj
b25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpID0gMDsKLQorICAgIHZpcnR1YWwgdm9p
ZCBnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldENhbWVyYShI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYp
ID0gMDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAppbmRleCA2ODc0ODQw
ZmI4ZTllMDYwZTEzNTAxY2Y5NmMxOTZkODZkNjI1ODIzLi5jNTI5ZjA3OWU3ODJmNDgwMDgyYWI2
ZmQxMDlhNGZhNTU2OWFiM2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCkBAIC03
MCw0ICs3MCwxMiBAQCB2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmhhbmRsZU1vdXNlVXAoY29uc3Qg
TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewogfQogCit2b2lkIER1bW15TW9kZWxQbGF5
ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVtbXlNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVs
UGxheWVyLmgKaW5kZXggM2JiMWI4OGQxMmYzOWU4NDM0MmNiNTUxMjQ3ZGFmNTA3NzM3ZmY4NC4u
Nzk2MTM0NWE0NjI2YjMyZjI0MWFlNDI1YjU2M2MwYmYwMDEyOTQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVN
b3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsK
IAogICAgIFdlYWtQdHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2Nl
bmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCmluZGV4IDliNGYxZGY4NzkzZjc2MzZkMDI1Y2E0
NDMwMmMxYTFjODVkODFiNzguLmU3ODU0ZjgwYmI3ZDI3ZDBkZWQ5MmE0MzAzYjgzOWNiNjJkNjEw
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2Vu
ZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNjEsNiArNjEs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRN
TE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4m
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRl
cy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVy
JiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KaW5kZXggNzc2YzY4ZmM2ZjUxZjk2N2M4ZDQzNzNmMmQwMGJkNjQ5ZTEw
NDJiNy4uZjQzMDllYjYxNDg5YmU2MTE5NzVhZDVkNDM4NTUwZWRiNzYyNmI4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTg4LDYgKzg4LDE0IEBAIHZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6aGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpCiB7CiB9CiAKK3ZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6Z2V0Q2FtZXJh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhPiYmKT4mJikKK3sKK30KKwordm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEo
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KQoreworfQorCiAvLyBNQVJLOiAtIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQgb3ZlcnJpZGVz
LgogCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmRpZEZpbmlzaExvYWRpbmcoU2NlbmVLaXRN
b2RlbExvYWRlciYgbG9hZGVyLCBSZWY8U2NlbmVLaXRNb2RlbD4gbW9kZWwpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA1YTFh
ZDMwOWFlOWFhZTQ2N2M1Zjg1NGExMTRmNjI0YjgwZDIwYWY1Li5iODk1Y2JjNDM1MzU4YzM4OWI4
MjExZmU1ZTVlNzViMDE1MjI0YTVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTgxLDYgKzgxLDggQEAgTlNfQVNTVU1FX05P
Tk5VTExfQkVHSU4KIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAKKyNp
bXBvcnQgPHNpbWQvc2ltZC5oPgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIEBjbGFzcyBD
QUZlbmNlSGFuZGxlOwogQGludGVyZmFjZSBBU1ZJbmxpbmVQcmV2aWV3IDogTlNPYmplY3QKQEAg
LTk3LDYgKzk5LDEwIEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKXRvdWNoZXNF
bmRlZDooTlNTZXQ8VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2
ZW50ICopZXZlbnQ7CiAtICh2b2lkKXRvdWNoZXNDYW5jZWxsZWQ6KE5TU2V0PFVJVG91Y2ggKj4g
Kil0b3VjaGVzIHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OwogCit0eXBlZGVm
IHZvaWQgKF5BU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJh
VHJhbnNmb3JtLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKTsKKy0gKHZvaWQpZ2V0Q2FtZXJh
VHJhbnNmb3JtOihBU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKXJlcGx5OworLSAodm9pZClz
ZXRDYW1lcmFUcmFuc2Zvcm06KHNpbWRfZmxvYXQzKXRyYW5zZm9ybTsKKwogQGVuZAogCiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2
aWV3U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQ
SS5oCmluZGV4IDYwYWJjZjc3NjhiMjRkY2MzNjk5Yzk1NWZjNDc3ZGM3MGE4NmVlYzYuLjBkOWQy
ZGMxZjY4YjQ4NjU1YzdiZjU2NDEzYzM4YTZmNDgwYzBiMDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaApAQCAtMzUsNiArMzUsOCBA
QCBOU19BU1NVTUVfTk9OTlVMTF9CRUdJTgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX01BQykKIAorI2ltcG9ydCA8c2ltZC9zaW1kLmg+CisKIEBjbGFzcyBBU1ZJbmxpbmVQcmV2
aWV3OwogCiBAaW50ZXJmYWNlIEFTVklubGluZVByZXZpZXcgOiBOU09iamVjdApAQCAtNTIsNiAr
NTQsMTAgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZvaWQpbW91c2VEcmFnZ2VkQXRM
b2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbiB0aW1lc3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVz
dGFtcDsKIC0gKHZvaWQpbW91c2VVcEF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRpb24gdGltZXN0
YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lc3RhbXA7CiAKK3R5cGVkZWYgdm9pZCAoXkFTVkNhbWVy
YVRyYW5zZm9ybVJlcGx5QmxvY2spIChzaW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJy
b3IgKiBfTnVsbGFibGUgZXJyb3IpOworLSAodm9pZClnZXRDYW1lcmFUcmFuc2Zvcm06KEFTVkNh
bWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spcmVwbHk7CistICh2b2lkKXNldENhbWVyYVRyYW5zZm9y
bTooc2ltZF9mbG9hdDMpdHJhbnNmb3JtOworCiBAZW5kCiAKICNlbmRpZiAvLyBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCBlOTI4ZmY5NDk0NTgzYjY0
ZWQ2MGY1NWE4Nzk0MzUwMTFkNzY0MmI0Li4wNDkyODQ3OTIwN2ZkZjM4YjRjZDU2N2ZkOTUyZTA2
ZTdjMjk2NDBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtMzMwMiw2ICszMzAyLDcgQEAgSlNIVE1MTWV0
YUVsZW1lbnQuY3BwCiBKU0hUTUxNZXRlckVsZW1lbnQuY3BwCiBKU0hUTUxNb2RFbGVtZW50LmNw
cAogSlNIVE1MTW9kZWxFbGVtZW50LmNwcAorSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcAog
SlNIVE1MT0xpc3RFbGVtZW50LmNwcAogSlNIVE1MT2JqZWN0RWxlbWVudC5jcHAKIEpTSFRNTE9w
dEdyb3VwRWxlbWVudC5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagppbmRleCBlZDY3ZjkwNmU4ZWUwNDcyODg0MjRlNDAxNTIxZTI0OTc5
MzNhMzQyLi41OWU3NmQ5ZGY5N2I2MGMxYTJiMDg4NWJhNTBkYWZhZjlhZjkwNDJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysr
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0y
Mjc1LDYgKzIyNzUsNyBAQAogCQk3MTVBRDcyMTIwNTA1MTNGMDBENTkyREMgLyogQ1NTVHJhbnNp
dGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEy
M0MxODYyMDQ3MzlCQTAwNzg5MzkyIC8qIENTU1RyYW5zaXRpb24uaCAqLzsgfTsKIAkJNzE3MjlG
N0IyMEYzQkE0OTAwODAxQ0U2IC8qIERvY3VtZW50VGltZWxpbmVPcHRpb25zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTcyOUY3QTIwRjNCQTNBMDA4
MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MTcyOUY3RTIwRjNCQjQ3MDA4MDFDRTYgLyog
SlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNzE3MjlGN0MyMEYzQkFCOTAwODAxQ0U2IC8qIEpTRG9jdW1lbnRU
aW1lbGluZU9wdGlvbnMuaCAqLzsgfTsKKwkJNzE3N0FENTcyNzQyOTVEMTAwMkYxMDNCIC8qIEhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNzE4MUExNkMyNDRGMEY0MDAwN0Q4QTI0IC8qIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE4MUEx
NjkyNDRGMEYyQzAwN0Q4QTI0IC8qIERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTcxQTFCNjA4MURF
RTVBRDcwMDczQkNGQiAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3Mu
anMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTFC
NjA2MURFRTVBODIwMDczQkNGQiAvKiBtb2Rlcm4tbWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0
cmluZ3MuanMgKi87IH07CiAJCTcxQTNEMTgxMjU2MkI4NUIwMDY0RTJBNiAvKiBIVE1MTW9kZWxF
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
MUEzRDE3RDI1NjJCODI0MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC0xMDc3OCw2ICsxMDc3OSwx
MCBAQAogCQk3MTcyOUY3QzIwRjNCQUI5MDA4MDFDRTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0
aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RvY3VtZW50VGltZWxp
bmVPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzI5RjdEMjBGM0JB
QkEwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTczREVCRDI2MTRERjA0MDA5N0RGMzIgLyog
U3R5bGVhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxl
YWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU0Mjc0Mjk1MkYw
MDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNzE3N0FENTYyNzQyOTU5MDAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1ODI3NDI5Q0NBMDAyRjEw
M0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU5Mjc0MjlDQ0IwMDJGMTAzQiAvKiBKU0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzdF
MjQ2MURCODBEMkYwMDkxOUEwQiAvKiBtZWRpYS1jb250cm9sbGVyLXN1cHBvcnQuanMgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAibWVkaWEtY29udHJvbGxlci1zdXBw
b3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3N0UyNDcxREI4MEQyRjAw
OTE5QTBCIC8qIG11dGUtc3VwcG9ydC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlw
dDsgcGF0aCA9ICJtdXRlLXN1cHBvcnQuanMiOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3MTc3RTI0ODFEQjgwRDJGMDA5MTlBMEIgLyogc3RhcnQtc3VwcG9ydC5qcyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJzdGFydC1zdXBwb3J0LmpzIjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTYyLDExICsxODk2NywxMSBAQAogCQkxQTU2OUND
NDBEN0UyQjYwMDA3QzM5ODMgLyogYnJpZGdlICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJ
CQljaGlsZHJlbiA9ICgKKwkJCQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyoganNjICovLAog
CQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdDMzk4MyAvKiBvYmpjICovLAogCQkJCTU5OUU3NThGMTEw
NTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAqLywKIAkJCQkxQTcxRDU3OTBGMzM4MTkwMDBGOUNF
NEUgLyogSWRlbnRpZmllclJlcC5jcHAgKi8sCiAJCQkJMUE3MUQ1N0EwRjMzODE5MDAwRjlDRTRF
IC8qIElkZW50aWZpZXJSZXAuaCAqLywKLQkJCQk1OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyog
anNjICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNw
cCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9hcnJheS5oICov
LAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4MyAvKiBydW50aW1lX21ldGhvZC5jcHAgKi8s
CkBAIC0yMzgxNSw2ICsyMzgyMCw4IEBACiAJCQkJNzFBM0QxODAyNTYyQjgyNTAwNjRFMkE2IC8q
IEhUTUxNb2RlbEVsZW1lbnQuY3BwICovLAogCQkJCTcxQTNEMTdEMjU2MkI4MjQwMDY0RTJBNiAv
KiBIVE1MTW9kZWxFbGVtZW50LmggKi8sCiAJCQkJNzFBM0QxN0YyNTYyQjgyNDAwNjRFMkE2IC8q
IEhUTUxNb2RlbEVsZW1lbnQuaWRsICovLAorCQkJCTcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAv
KiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8sCisJCQkJNzE3N0FENTQyNzQyOTUyRjAwMkYx
MDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsICovLAogCQkJCUJDMkI0MTE0MjczMkYw
NjIwMEEyRDE5MSAvKiBNb2RlbFBsYXllci5jcHAgKi8sCiAJCQkJQkMyQjQxMTMyNzMyRjA2MjAw
QTJEMTkxIC8qIE1vZGVsUGxheWVyLmggKi8sCiAJCQkJQkMyQjQxMTIyNzMyRjAzQzAwQTJEMTkx
IC8qIE1vZGVsUGxheWVyQ2xpZW50LmNwcCAqLywKQEAgLTI2MDkzLDYgKzI2MTAwLDggQEAKIAkJ
CQlBN0JCRTI2NTExQUZCM0YyMDAwNUVBMDMgLyogSlNIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJ
CQkJNzFBM0QxODIyNTYyQkREQjAwNjRFMkE2IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5jcHAgKi8s
CiAJCQkJNzFBM0QxODMyNTYyQkREQjAwNjRFMkE2IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5oICov
LAorCQkJCTcxNzdBRDU4Mjc0MjlDQ0EwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1l
cmEuY3BwICovLAorCQkJCTcxNzdBRDU5Mjc0MjlDQ0IwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEuaCAqLywKIAkJCQkxQUUyQUIxRjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1M
TW9kRWxlbWVudC5jcHAgKi8sCiAJCQkJMUFFMkFCMjAwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRN
TE1vZEVsZW1lbnQuaCAqLywKIAkJCQlCQzMwNUM3NzBDMDc2QkIzMDBDRDIwRjAgLyogSlNIVE1M
T2JqZWN0RWxlbWVudC5jcHAgKi8sCkBAIC0zMzcyOSw2ICszMzczOCw3IEBACiAJCQkJQTg3MURD
MjQwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxNZXRhRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQTQ1NDQyNEIxMTlCMzY2MTAwOUJFOTEyIC8qIEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTcxQTNEMTgxMjU2MkI4NUIwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MTc3QUQ1NzI3NDI5NUQxMDAyRjEwM0IgLyogSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThDRkY3QTcwQTE1Njk3ODAw
MEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlBOERGM0ZENDA5
N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xsZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlBODcxRDQ1QTBBMTI3Q0JDMDBCMTJBNjggLyogSFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAppbmRleCAzYmFlM2My
MjVmNjBjODg0YTZhNGNlMmFmOWNmOWVmODcyYmMxYjJmLi4zYTA2NGJjNzIzMWEzNjAwY2M4M2Rj
NThhOWEyZTdmZjJlZTk2YjM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNw
cApAQCAtNTgzLDEyICs1ODMsNiBAQCB2b2lkIEVtcHR5Q2hyb21lQ2xpZW50OjpzaG93U2hhcmVT
aGVldChTaGFyZURhdGFXaXRoUGFyc2VkVVJMJiwgQ29tcGxldGlvbkhhbmRsZQogewogfQogCi0j
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQgRW1wdHlDaHJvbWVDbGll
bnQ6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBs
YXRmb3JtTGF5ZXJJRCkgY29uc3QKLXsKLX0KLSNlbmRpZgotCiB2b2lkIEVtcHR5RnJhbWVMb2Fk
ZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5h
dmlnYXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJjZVJlcXVlc3QmLCBGb3JtU3RhdGUqLCBjb25z
dCBTdHJpbmcmLCBQb2xpY3lDaGVja0lkZW50aWZpZXIsIEZyYW1lUG9saWN5RnVuY3Rpb24mJikK
IHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBi
L1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaAppbmRleCAwYzc5NzNmMDBhMWYz
NmUyNzAxM2ExNjE2ZGJjOTZhMTgwYzVjZjA4Li41MjI2MTg3MzFkNzU2ZWE0YmY4Yjk2ZGYwMDQz
NWY4MzU1OGVlOTFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTcs
MTAgKzIxNyw2IEBAIGNsYXNzIEVtcHR5Q2hyb21lQ2xpZW50IDogcHVibGljIENocm9tZUNsaWVu
dCB7CiAgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3JtQ29udHJvbHMoY29uc3QgVmVjdG9yPFJlZlB0
cjxFbGVtZW50Pj4mLCBGcmFtZSYpIGZpbmFsIHsgfQogICAgIGJvb2wgc2hvdWxkTm90aWZ5T25G
b3JtQ2hhbmdlcygpIGZpbmFsIHsgcmV0dXJuIGZhbHNlOyB9CiAKLSNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdCBmaW5hbDsKLSNl
bmRpZgotCiAgICAgUmVmUHRyPEljb24+IGNyZWF0ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8
U3RyaW5nPiYgLyogZmlsZW5hbWVzICovKSBmaW5hbCB7IHJldHVybiBudWxscHRyOyB9CiB9Owog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaAppbmRleCBlMTNlMzg3ZDE5MTY4YWM1ZmQzNTli
MmU2MTZkNDNkZDNmMTc1MDIyLi5mMjM5MTQ1NzA2ZDBiMTkwNTQxMGFkOGU2NmNmZTk5MDBjZGM3
NmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKQEAgLTYwNSwxMCArNjA1LDYgQEAg
cHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0ZXh0QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9k
ZUNoYW5nZWQoKSB7IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKLSAgICB2aXJ0dWFsIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEKSBjb25zdCB7IH0KLSNlbmRpZgotCiAj
aWYgRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAgICAgdmlydHVhbCB2b2lkIHN0YXJ0QXBwbGVQ
YXlBTVNVSVNlc3Npb24oY29uc3QgVVJMJiwgY29uc3QgQXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlv
bkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsgfQogICAgIHZpcnR1
YWwgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNzaW9uKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVk
L01vZGVsSWRlbnRpZmllci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ0MTNhZDBhYTQyMzg1MzA5ODNlZWM0NDQ2
MTdhZWJlYWZkNDY0YjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9N
b2RlbElkZW50aWZpZXIuaApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAq
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVzcGFjZSBXZWJLaXQg
eworCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorCisjaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXX0lPUykKKyNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgor
I2VuZGlmCisKK3N0cnVjdCBNb2RlbElkZW50aWZpZXIgeworI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCisgICAgU3RyaW5nIHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfSU9TKQorICAgIFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5
ZXJJRCBsYXllcklkZW50aWZpZXI7CisjZW5kaWYKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29k
ZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNv
ZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IGRlY29kZShEZWNvZGVy
Jik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIE1vZGVsSWRlbnRpZmllcjo6
ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX01BQykKKyAgICBlbmNvZGVyIDw8IHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIGVuY29kZXIgPDwgbGF5ZXJJZGVudGlmaWVyOworI2Vu
ZGlmCit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVu
dGlmaWVyPiBNb2RlbElkZW50aWZpZXI6OmRlY29kZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisgICAgc3RkOjpvcHRpb25hbDxTdHJp
bmc+IHV1aWQ7CisgICAgZGVjb2RlciA+PiB1dWlkOworICAgIGlmICghdXVpZCkKKyAgICAgICAg
cmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4geyB7IFdURk1vdmUoKnV1aWQpIH0gfTsK
KyNlbGlmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgc3RkOjpvcHRpb25h
bDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQ+IGxheWVySWRlbnRpZmll
cjsKKyAgICBkZWNvZGVyID4+IGxheWVySWRlbnRpZmllcjsKKyAgICBpZiAoIWxheWVySWRlbnRp
ZmllcikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1cm4geyB7ICpsYXll
cklkZW50aWZpZXIgfSB9OworI2VuZGlmCit9CisKKyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxF
bGVtZW50Q29udHJvbGxlckNvY29hLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2Ev
TW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCmluZGV4IDc3YmFiZjc2NTY1YTJiYWFlODFk
MGRhNGE0ODU4M2Y3NjViNGUyZDEuLjhlN2FjNWI2NGYwZDc2NWFhNTQ5YzZjMDg0ZDEyMTFkMmIz
YzFkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxl
bWVudENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KQEAgLTMwLDYgKzMwLDEyIEBACiAKICNp
bXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgorI2ltcG9ydCA8V2Vi
Q29yZS9MYXlvdXRQb2ludC5oPgorI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRVbml0Lmg+CisjaW1w
b3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4KKyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorI2lt
cG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKyNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAK
ICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQogI2ltcG9ydCAiQVBJVUlDbGll
bnQuaCIKQEAgLTQyLDEyICs0OCw3IEBACiAjZW5kaWYKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCi0jaW1wb3J0IDxXZWJDb3JlL0xheW91dFBvaW50Lmg+Ci0jaW1wb3J0
IDxXZWJDb3JlL0xheW91dFVuaXQuaD4KLSNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5o
PgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oPgotI2ltcG9ydCA8d3Rm
L01haW5UaHJlYWQuaD4KLSNpbXBvcnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAjZW5kaWYKIAog
U09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKEFzc2V0Vmlld2VyKTsKQEAgLTU3LDMwICs1OCwz
NiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklF
V19JT1MpCiAKLXZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1
bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRM
YXllcklkKQorV0tNb2RlbFZpZXcgKiBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbFZpZXdG
b3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKIHsKICAg
ICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgp
KQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBuaWw7CiAKICAgICBpZiAoIWlzPFJl
bW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVh
KCkpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBuaWw7CiAKLSAgICBhdXRvKiBu
b2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oKm1fd2ViUGFn
ZVByb3h5LmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxheWVyVHJlZUhvc3QoKS5ub2RlRm9ySUQoY29u
dGVudExheWVySWQpOworICAgIGF1dG8qIG5vZGUgPSBkb3duY2FzdDxSZW1vdGVMYXllclRyZWVE
cmF3aW5nQXJlYVByb3h5PigqbV93ZWJQYWdlUHJveHkuZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5
ZXJUcmVlSG9zdCgpLm5vZGVGb3JJRChtb2RlbElkZW50aWZpZXIubGF5ZXJJZGVudGlmaWVyKTsK
ICAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybjsKKyAgICAgICAgcmV0dXJuIG5pbDsKIAot
ICAgIGF1dG8gKnZpZXcgPSBub2RlLT51aVZpZXcoKTsKLSAgICBpZiAoIXZpZXcpCi0gICAgICAg
IHJldHVybjsKKyAgICByZXR1cm4gZHluYW1pY19vYmpjX2Nhc3Q8V0tNb2RlbFZpZXc+KG5vZGUt
PnVpVmlldygpKTsKK30KIAotICAgIGlmICghW3ZpZXcgaXNLaW5kT2ZDbGFzczpbV0tNb2RlbFZp
ZXcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuOworQVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gW21vZGVsVmlld0Zvck1vZGVsSWRlbnRp
Zmllcihtb2RlbElkZW50aWZpZXIpIHByZXZpZXddOworfQogCit2b2lkIE1vZGVsRWxlbWVudENv
bnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllciBtb2Rl
bElkZW50aWZpZXIpCit7CiAgICAgYXV0byAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyID0gbV93
ZWJQYWdlUHJveHkudWlDbGllbnQoKS5wcmVzZW50aW5nVmlld0NvbnRyb2xsZXIoKTsKICAgICBp
ZiAoIXByZXNlbnRpbmdWaWV3Q29udHJvbGxlcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgV0tN
b2RlbFZpZXcgKm1vZGVsVmlldyA9IChXS01vZGVsVmlldyAqKXZpZXc7CisgICAgYXV0byBtb2Rl
bFZpZXcgPSBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAg
ICBpZiAoIW1vZGVsVmlldykKKyAgICAgICAgcmV0dXJuOworCiAgICAgQ0dSZWN0IGluaXRpYWxG
cmFtZSA9IFttb2RlbFZpZXcgY29udmVydFJlY3Q6bW9kZWxWaWV3LmZyYW1lIHRvVmlldzpuaWxd
OwogCiAgICAgQVNWSW5saW5lUHJldmlldyAqcHJldmlldyA9IFttb2RlbFZpZXcgcHJldmlld107
CkBAIC05OCw3ICsxMDUsNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogCiAgICAgICAgICAg
ICBbcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyIHByZXNlbnRWaWV3Q29udHJvbGxlcjpyZW1vdGVW
aWV3Q29udHJvbGxlciBhbmltYXRlZDpOTyBjb21wbGV0aW9uOl4odm9pZCkgewogICAgICAgICAg
ICAgICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsKLSAgICAgICAgICAgICAgICBbdmlldy5sYXll
ci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZmVuY2VIYW5kbGVdOworICAgICAgICAgICAg
ICAgIFttb2RlbFZpZXcubGF5ZXIuc3VwZXJsYXllci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFu
ZGxlXTsKICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBjb21taXRdOwogICAgICAgICAg
ICAgICAgIFtmZW5jZUhhbmRsZSBpbnZhbGlkYXRlXTsKICAgICAgICAgICAgIH1dOwpAQCAtMTEy
LDcgKzExOSw3IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6CiAgICAgICAgICAgICAgICAgICAg
IH0KIAogICAgICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAg
ICAgICAgICAgICAgIFt2aWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNt
aXNzRmVuY2VIYW5kbGVdOworICAgICAgICAgICAgICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1
cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNtaXNzRmVuY2VIYW5kbGVdOwogICAgICAgICAg
ICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBzZXRDb21wbGV0aW9uQmxvY2s6XnsKICAgICAgICAg
ICAgICAgICAgICAgICAgIFtyZW1vdGVWaWV3Q29udHJvbGxlciBkaXNtaXNzVmlld0NvbnRyb2xs
ZXJBbmltYXRlZDpOTyBjb21wbGV0aW9uOm5pbF07CiAgICAgICAgICAgICAgICAgICAgIH1dOwpA
QCAtMTI4LDYgKzEzNSwxNCBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKIAorQVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxl
bWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVy
IG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2Vz
KCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IHJldHVybiBtX2lubGluZVByZXZpZXdzLmdldChtb2RlbElkZW50aWZpZXIudXVpZCkuZ2V0KCk7
Cit9CisKIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxFbGVtZW50RGlkQ3JlYXRl
UHJldmlldyhVUkwgZmlsZVVSTCwgU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXpl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQz
Ml90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewog
ICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJlZmVyZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVk
KCkpIHsKQEAgLTE1MCw3ICsxNjUsNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1v
ZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoVVJMIGZpbGVVUkwsIFN0cmluZyB1dQogICAgIGF1
dG8gdXJsID0gYWRvcHROUyhbW05TVVJMIGFsbG9jXSBpbml0RmlsZVVSTFdpdGhQYXRoOmZpbGVV
UkwuZmlsZVN5c3RlbVBhdGgoKV0pOwogCiAgICAgUkVMRUFTRV9BU1NFUlQoaXNNYWluUnVuTG9v
cCgpKTsKLSAgICBbcHJldmlldyBzZXR1cFJlbW90ZUNvbm5lY3Rpb25XaXRoQ29tcGxldGlvbkhh
bmRsZXI6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBwcmV2aWV3
LCB1dWlkID0gV1RGTW92ZSh1dWlkKSwgdXJsID0gV1RGTW92ZSh1cmwpLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoTlNFcnJvciAqIF9OdWxsYWJsZSBj
b250ZXh0RXJyb3IpIG11dGFibGUgeworICAgIFtwcmV2aWV3IHNldHVwUmVtb3RlQ29ubmVjdGlv
bldpdGhDb21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7
ICp0aGlzIH0sIHByZXZpZXcsIHV1aWQgPSBXVEZNb3ZlKHV1aWQpLCB1cmwgPSBXVEZNb3ZlKHVy
bCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChOU0Vy
cm9yICpjb250ZXh0RXJyb3IpIG11dGFibGUgewogICAgICAgICBpZiAoY29udGV4dEVycm9yKSB7
CiAgICAgICAgICAgICBMT0coTW9kZWxFbGVtZW50LCAiVW5hYmxlIHRvIGNyZWF0ZSByZW1vdGUg
Y29ubmVjdGlvbiBmb3IgdXVpZCAlczogJUAuIiwgdXVpZC51dGY4KCkuZGF0YSgpLCBjb250ZXh0
RXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOwogCkBAIC0xNjUsNyArMTgwLDcgQEAgdm9pZCBN
b2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCBm
aWxlVVJMLCBTdHJpbmcgdXUKIAogICAgICAgICBMT0coTW9kZWxFbGVtZW50LCAiRXN0YWJsaXNo
ZWQgcmVtb3RlIGNvbm5lY3Rpb24gd2l0aCBVVUlEICVzLiIsIHV1aWQudXRmOCgpLmRhdGEoKSk7
CiAKLSAgICAgICAgW3ByZXZpZXcgcHJlcGFyZVByZXZpZXdPZkZpbGVBdFVSTDp1cmwuZ2V0KCkg
Y29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1Ro
aXMpLCBwcmV2aWV3LCB1dWlkID0gV1RGTW92ZSh1dWlkKSwgdXJsID0gV1RGTW92ZSh1cmwpLCBj
b21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoTlNFcnJvciAq
IF9OdWxsYWJsZSBsb2FkRXJyb3IpIG11dGFibGUgeworICAgICAgICBbcHJldmlldyBwcmVwYXJl
UHJldmlld09mRmlsZUF0VVJMOnVybC5nZXQoKSBjb21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQ
dHIoW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIHByZXZpZXcsIHV1aWQgPSBXVEZNb3Zl
KHV1aWQpLCB1cmwgPSBXVEZNb3ZlKHVybCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShj
b21wbGV0aW9uSGFuZGxlcildIChOU0Vycm9yICpsb2FkRXJyb3IpIG11dGFibGUgewogICAgICAg
ICAgICAgaWYgKGxvYWRFcnJvcikgewogICAgICAgICAgICAgICAgIExPRyhNb2RlbEVsZW1lbnQs
ICJVbmFibGUgdG8gbG9hZCBmaWxlIGZvciB1dWlkICVzOiAlQC4iLCB1dWlkLnV0ZjgoKS5kYXRh
KCksIGxvYWRFcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbik7CiAKQEAgLTIxNiw2ICsyMzEsNjUg
QEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpoYW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVt
ZW50KGNvbnN0IFN0cmluZyYgdXVpZCwgY28KIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVcpCisKK3N0YXRpYyBib29sIHByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KEFT
VklubGluZVByZXZpZXcgKnByZXZpZXcpCit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0NBTUVSQV9UUkFOU0ZPUk0pCisgICAgcmV0dXJuIFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxl
Y3RvcjpAc2VsZWN0b3IoZ2V0Q2FtZXJhVHJhbnNmb3JtOildOworI2Vsc2UKKyAgICByZXR1cm4g
ZmFsc2U7CisjZW5kaWYKK30KKwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1l
cmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAg
YXV0byogcHJldmlldyA9IHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVy
KTsKKyAgICBpZiAoIXByZXZpZXcgfHwgIXByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KHByZXZpZXcp
KSB7CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhp
cyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJv
ciA9IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBl
OjpHZW5lcmFsIH1dICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAg
ICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7Cisg
ICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcgZ2V0Q2Ft
ZXJhVHJhbnNmb3JtOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKHNpbWRfZmxv
YXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAqZXJyb3IpIG11dGFibGUgeworICAgICAgICBp
ZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdU
Rk1vdmUod2Vha1RoaXMpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpLCBlcnJvciA9IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yOjpUeXBlOjpHZW5lcmFsIH1dICgpIG11dGFibGUgeworICAgICAgICAgICAgICAgIGlm
ICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVu
ZXhwZWN0ZWQoZXJyb3IpKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisKKyAgICAgICAgY2FsbE9uTWFpblJ1bkxvb3AoW2NhbWVyYVRyYW5zZm9ybSwg
d2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1Ro
aXMpCisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV2ViQ29yZTo6SFRNTE1vZGVs
RWxlbWVudENhbWVyYSB7IGNhbWVyYVRyYW5zZm9ybS54LCBjYW1lcmFUcmFuc2Zvcm0ueSwgY2Ft
ZXJhVHJhbnNmb3JtLnogfSk7CisgICAgICAgIH0pOworICAgIH0pLmdldCgpXTsKK30KKwordm9p
ZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJ
ZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVy
YSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRs
ZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHByZXZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9k
ZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcgfHwgIXByZXZpZXdIYXNDYW1lcmFTdXBw
b3J0KHByZXZpZXcpKSB7CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdl
YWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAg
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIH0pOworICAgICAgICBy
ZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcgc2V0Q2FtZXJhVHJhbnNmb3JtOnNpbWRfbWFr
ZV9mbG9hdDMoY2FtZXJhLnBpdGNoLCBjYW1lcmEueWF3LCBjYW1lcmEuc2NhbGUpXTsKKworICAg
IGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0
aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7
CisgICAgfSk7Cit9CisKKyNlbmRpZgorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5oCmluZGV4IGYxZjk1ODY3MGI2NTk1
OTE2N2VlMmQ4NjFjY2E0NDMwOGUxYzhjNWMuLmVlNjg0ZTg3OGE5ZTNjYjYyNmY0ZmNmNTU5MWZk
ZmJkYzk1ODc0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxl
bWVudENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1l
bnRDb250cm9sbGVyLmgKQEAgLTI3LDE0ICsyNywxNyBAQAogCiAjaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXKQogCisjaW5jbHVkZSAiTW9kZWxJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8
V2ViQ29yZS9FbGVtZW50Q29udGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXll
ci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAj
aW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklF
V19NQUMpCiBPQkpDX0NMQVNTIEFTVklubGluZVByZXZpZXc7CisKKyNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQorT0JKQ19DTEFTUyBXS01vZGVsVmlldzsKICNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzUxLDEyIEBAIHB1YmxpYzoKIAogICAgIFdlYlBh
Z2VQcm94eSYgcGFnZSgpIHsgcmV0dXJuIG1fd2ViUGFnZVByb3h5OyB9CiAKKyNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgdm9pZCBnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQo
TW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6
OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJik7Cisg
ICAgdm9pZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBXZWJDb3Jl
OjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYm
KTsKKyNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9p
ZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0
Zm9ybUxheWVySUQgY29udGVudExheWVySWQpOworICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1
bGxzY3JlZW4oTW9kZWxJZGVudGlmaWVyKTsKICNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVS
TCwgU3RyaW5nLCBXZWJDb3JlOjpGbG9hdFNpemUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhw
ZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMyX3Q+LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Pik+JiYpOwpAQCAtNTksNiArNjYsMTQgQEAgcHVibGljOgogI2VuZGlmCiAKIHByaXZhdGU6Cisj
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorICAgIEFTVklubGluZVByZXZpZXcgKiBw
cmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllcik7CisjZW5kaWYKKworI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisgICAgV0tNb2RlbFZpZXcgKiBtb2Rl
bFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyKTsKKyNlbmRpZgorCiAgICAg
V2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfTUFDKQogICAgIFJldGFpblB0cjxBU1ZJbmxpbmVQcmV2aWV3PiBwcmV2aWV3Rm9yVVVJ
RChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
CmluZGV4IGY5NWRkNzgzZDVhNjdkNDdkZDhjYmIyZWE1ZjgzYzk4ZjU0NDBlMmYuLmYwZDFlNzVi
NWRmM2I3MmE1MmQ5Mjg3Mjc5MDNhOTY0YWFmNWQ2ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4MzIsMTAgKzEwODMyLDIyIEBAIFdlYkNvcmU6OkNh
cHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQcm94eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJj
ZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
KQordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudEdldENhbWVyYShNb2RlbElkZW50aWZp
ZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNv
cmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJiBj
b21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPmdldENh
bWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhh
bmRsZXIpKTsKK30KKwordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxlbWVudFNldENhbWVyYShN
b2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9u
SGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPnNldENhbWVyYUZvck1v
ZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIGNhbWVyYSwgV1RGTW92ZShjb21wbGV0aW9uSGFu
ZGxlcikpOworfQorI2VuZGlmCisKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KQotdm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKK3ZvaWQgV2Vi
UGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZpZXIgbW9k
ZWxJZGVudGlmaWVyKQogewotICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+dGFrZU1vZGVs
RWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVySWQpOworICAgIG1vZGVsRWxlbWVudENvbnRy
b2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4obW9kZWxJZGVudGlmaWVyKTsKIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDE2ZTg2
ZTBhZmM1MDFlNzRkN2Q2ZGQyYzkxMzBkN2I1MDU1YjE5MzYuLmM3MGQwYzc3MWM1YzI5NDE3ZTdh
YTQ5N2MzZDgxMGIxNDFiOTA4MTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC0xOTYsNiArMTk2LDcgQEAgaW50ZXJmYWNlIElEM0QxMURldmljZTE7CiAKICNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAjaW5jbHVkZSAiTW9kZWxFbGVtZW50Q29udHJv
bGxlci5oIgorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgogI2VuZGlmCiAKIG5hbWVzcGFj
ZSBBUEkgewpAQCAtNTg3LDkgKzU4OCwxMSBAQCBwdWJsaWM6CiAKICNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVcpCiAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciogbW9kZWxFbGVtZW50
Q29udHJvbGxlcigpIHsgcmV0dXJuIG1fbW9kZWxFbGVtZW50Q29udHJvbGxlci5nZXQoKTsgfQor
ICAgIHZvaWQgbW9kZWxFbGVtZW50R2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOworICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0Q2Ft
ZXJhKE1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRf
SU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsK
KyAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAj
ZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZvaWQgbW9k
ZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25zdCBVUkwmLCBjb25zdCBTdHJpbmcmLCBjb25z
dCBXZWJDb3JlOjpGbG9hdFNpemUmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0
ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdl
cy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpp
bmRleCAxNjE2M2FjZmYyYzhhOGMzODkxZjYxMjk4YjAwYjEwOWVhOTRiNmE5Li42ZjA3NGY1MzBi
MmVhODEwYmQxNDc1ZmE2ZWEyZTcyY2MzN2E5YTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCkBAIC01ODYsNyArNTg2LDcgQEAgbWVz
c2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRpZgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXX0lPUykKLSAgICBUYWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbih1aW50NjRfdCBj
b250ZW50TGF5ZXJJRCkKKyAgICBUYWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihzdHJ1Y3QgV2Vi
S2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogI2VuZGlmCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2
aWV3KFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNpemUgc2l6ZSkgLT4gKEV4
cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cj4gcmVzdWx0KSBBc3luYwpAQCAtNTk0LDYgKzU5NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdl
UHJveHkgewogICAgIEhhbmRsZU1vdXNlTW92ZUZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwg
V2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBhZ2VDb29yZGluYXRlcywgTW9ub3Rvbmlj
VGltZSB0aW1lc3RhbXApCiAgICAgSGFuZGxlTW91c2VVcEZvck1vZGVsRWxlbWVudChTdHJpbmcg
dXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25JblBhZ2VDb29yZGluYXRlcywgTW9u
b3RvbmljVGltZSB0aW1lc3RhbXApCiAjZW5kaWYKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVcpCisgICAgTW9kZWxFbGVtZW50R2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRl
bnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChFeHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPiByZXN1bHQpIEFzeW5jCisgICAg
TW9kZWxFbGVtZW50U2V0Q2FtZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2Rl
bElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVy
YSkgLT4gKGJvb2wgc3VjY2VzcykgQXN5bmMKKyNlbmRpZgogCiAgICAgcmVxdWVzdFBlcm1pc3Np
b24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdpbiBvcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQ
ZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9yKSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6
OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNmVmZWNiY2VlNDY1OTJlNzU4ZTBlODhj
ZjZlOTE4MWNlOTI5OTk4Yi4uMzYxNmNjNWQyYmM5Njg1YTFhZGY5OTFhOTNhOGM3YTI4YjVmZGJh
OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CkBAIC00NzA4LDYgKzQ3MDgsNyBAQAogCQk3MUE2NzZBNTIyQzYyMzE4MDA3RDYyOTUgLyogV0tU
b3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1tOyBwYXRoID0g
aW9zL1dLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNzFCQUE3MzEyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLTW9kZWxWaWV3Lmg7IHBhdGggPSBpb3Mv
V0tNb2RlbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzIyNUZG
Q0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
b2JqY3BwOyBuYW1lID0gV0tNb2RlbFZpZXcubW07IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxRTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAv
KiBNb2RlbElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9kZWxJZGVudGlmaWVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxRkI4MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBX
ZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBv
bGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MjAzNDQ5QTI2QTZDNDRDMDAw
QTVGNTQgLyogTW9ub3RvbmljT2JqZWN0SWRlbnRpZmllci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb25v
dG9uaWNPYmplY3RJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcy
MDM0NDlCMjZBNkM0NzYwMDBBNUY1NCAvKiBSZW5kZXJpbmdVcGRhdGVJRC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBSZW5kZXJpbmdVcGRhdGVJRC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
NjgzNCw2ICs2ODM1LDcgQEAKIAkJCQkyRDEwODc1RTFEMkM1NzNFMDBCODVGODIgLyogTG9hZFBh
cmFtZXRlcnMuY3BwICovLAogCQkJCTJEMTA4NzVGMUQyQzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFy
YW1ldGVycy5oICovLAogCQkJCTQ5OTE3REIwMjUyRTMwNzUwMDUwMzEzRiAvKiBNZWRpYVBsYXli
YWNrU3RhdGUuaCAqLywKKwkJCQk3MUU5NjUwRjI3NDU2ODJFMDBBRENGNDMgLyogTW9kZWxJZGVu
dGlmaWVyLmggKi8sCiAJCQkJNzIwMzQ0OUEyNkE2QzQ0QzAwMEE1RjU0IC8qIE1vbm90b25pY09i
amVjdElkZW50aWZpZXIuaCAqLywKIAkJCQkyRDUwMzY2QTFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0
aXZlV2ViR2VzdHVyZUV2ZW50LmggKi8sCiAJCQkJQzAyQkZGMTUxMjUxNEZEODAwOUNDQkVBIC8q
IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgK
aW5kZXggM2NhYWNiMzU2NWY5Zjg2NjNiNDgyNGQ4NzdjMTRhMWU1OTNhNjMyNC4uY2MzNDRhNTdi
YTBhMDA5MzY2YTFjODBhMjRhNjhlZmFhNjdmYjhhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxh
eWVyLmgKQEAgLTI3LDkgKzI3LDEyIEBACiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVcpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL01vZGVsUGxheWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9Nb2RlbFBsYXllckNsaWVudC5oPgotI2luY2x1ZGUgPHd0Zi9Db21waWxlci5oPgorI2ltcG9y
dCAiTW9kZWxJZGVudGlmaWVyLmgiCisjaW1wb3J0ICJXZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQ
YWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgorI2lt
cG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5oPgorI2ltcG9ydCA8d3RmL0NvbXBpbGVy
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBAIC00MywxMSArNDYsMTUgQEAgcHJvdGVjdGVk
OgogICAgIFdlYlBhZ2UqIHBhZ2UoKSB7IHJldHVybiBtX3BhZ2UuZ2V0KCk7IH0KICAgICBXZWJD
b3JlOjpNb2RlbFBsYXllckNsaWVudCogY2xpZW50KCkgeyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7
IH0KIAorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRl
bnRpZmllcigpID0gMDsKKwogcHJpdmF0ZToKICAgICAvLyBXZWJDb3JlOjpNb2RlbFBsYXllciBv
dmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1vZGVsJiwgV2ViQ29yZTo6TGF5b3V0
U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXllciogbGF5ZXIoKSBvdmVycmlkZTsKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8V2ViUGFnZT4gbV9wYWdlOwogICAgIFdlYWtQdHI8
V2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVs
UGxheWVyLm1tCmluZGV4IGVkYmQxNGExOWNkM2IzNWRiMzA0NDY1MmJhYzM2MjFmZWNiMjcyNTEu
LjBjMDFmMjA2Y2E2ZGIwNzk1MDUwYTk0MGY1YjAwZTBjZDFkMGVlMmMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXIubW0KQEAgLTU1LDYgKzU1LDUzIEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXI6OmVudGVyRnVsbHNjcmVlbigpCiB7CiB9CiAKK3ZvaWQgQVJLaXRJbmxp
bmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYgY29tcGxl
dGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElk
ZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRpZmllcikgeworICAgICAgICBjb21wbGV0
aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
YXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQoKTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2UpIHsK
KyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVD
b21wbGV0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKCFyZXN1
bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigq
cmVzdWx0KTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudEdldENhbWVyYSgqbW9kZWxJZGVudGlm
aWVyKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIEFSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJiBjb21w
bGV0aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVs
SWRlbnRpZmllcigpOworICAgIGlmICghbW9kZWxJZGVudGlmaWVyKSB7CisgICAgICAgIGNvbXBs
ZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIGF1dG8q
IHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAg
ICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVy
ID0gW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChib29s
IHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHN1
Y2Nlc3MpKTsKKyAgICB9OworCisgICAgc3Ryb25nUGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1l
c3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxlbWVudFNldENhbWVyYSgqbW9kZWxJZGVudGlm
aWVyLCBjYW1lcmEpLCBXVEZNb3ZlKHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIH0K
IAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9z
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLmgKaW5kZXgg
MWNlMDcwYjZhMGVmMzUwZWQwYzRiYjBhYjViMjA4MDM5Yzg0YjFiMS4uNDBhMjU5NWY3MGU0YmVl
MWYxZDY2ODdhNDIyZGZkN2E3MzM3ZGJkNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJJT1MuaApAQCAtNDEsNiArNDEsOCBAQCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEFS
S2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TKFdlYlBhZ2UmLCBXZWJDb3JlOjpNb2RlbFBs
YXllckNsaWVudCYpOwogCisgICAgc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVs
SWRlbnRpZmllcigpIG92ZXJyaWRlOworCiAgICAgLy8gV2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3Zl
cnJpZGVzLgogICAgIHZvaWQgZW50ZXJGdWxsc2NyZWVuKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBo
YW5kbGVNb3VzZURvd24oY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9p
b3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLm1tCmlu
ZGV4IDNlYzZlZmM0ZGUxZWI1MzRkMTkwYjI1YWQwNzA2NjcwYjI2ZTM4YmQuLjVmMTM3Mjk3NjMy
OGU1NTI1ZWM2NGNhN2IwYTAxZWRjOTQ2YzY0OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllcklPUy5tbQpAQCAtNDgsMTUgKzQ4LDI3IEBAIEFSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TOjp+QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MoKQogewog
fQogCitzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRpZmllcj4gQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJJT1M6Om1vZGVsSWRlbnRpZmllcigpCit7CisgICAgaWYgKCFjbGllbnQoKSkKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChhdXRvIGxheWVySWQgPSBjbGllbnQoKS0+cGxh
dGZvcm1MYXllcklEKCkpCisgICAgICAgIHJldHVybiB7IHsgbGF5ZXJJZCB9IH07CisKKyAgICBy
ZXR1cm4geyB9OworfQorCiAvLyBNQVJLOiAtIFdlYkNvcmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRl
cy4KIAogdm9pZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2Ny
ZWVuKCkKIHsKLSAgICBpZiAoIWNsaWVudCgpIHx8ICFwYWdlKCkpCisgICAgYXV0byogc3Ryb25n
UGFnZSA9IHBhZ2UoKTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2UpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIGlmIChhdXRvIGxheWVySWQgPSBjbGllbnQoKS0+cGxhdGZvcm1MYXllcklEKCkpCi0gICAg
ICAgIHBhZ2UoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4obGF5ZXJJZCk7CisgICAgaWYg
KGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhpcy0+bW9kZWxJZGVudGlmaWVyKCkpCisgICAgICAg
IHN0cm9uZ1BhZ2UtPnNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6VGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oKm1vZGVsSWRlbnRpZmllcikpOwogfQogCiB2b2lkIEFSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TOjpoYW5kbGVNb3VzZURvd24oY29uc3QgV2ViQ29yZTo6TGF5b3V0
UG9pbnQmLCBNb25vdG9uaWNUaW1lKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ck1hYy5oCmluZGV4IDY3MzE5MTZjNzQ4ZGRiYzVhNzM4Mzg3NmM3Yjk0ZWFkYTA3NTBlMDcuLmIz
YzhlNDIwOGIxMmU1MTlkNGQwNzM5OWMzYzc1YzE0MTE4YTQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5
ZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgKQEAgLTQ3LDYgKzQ3LDggQEAgcHVibGljOgogcHJp
dmF0ZToKICAgICBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYyhXZWJQYWdlJiwgV2Vi
Q29yZTo6TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVu
dGlmaWVyPiBtb2RlbElkZW50aWZpZXIoKSBvdmVycmlkZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1v
ZGVsUGxheWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGxvYWQoV2ViQ29yZTo6TW9kZWwmLCBXZWJD
b3JlOjpMYXlvdXRTaXplKSBvdmVycmlkZTsKICAgICBQbGF0Zm9ybUxheWVyKiBsYXllcigpIG92
ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9B
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0KaW5kZXgg
NDU1MjY1Mzc2NDJjNWNjNzE0MWM1NGY1NzUxZTI5NWFlZWYzM2ViYi4uY2IyNWEzYzgxMTM4NDhk
MWMyZTQ4ZDdjZGFjOWNiM2M1NDcyMTEzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyTWFjLm1tCkBAIC01NSw2ICs1NSwxMyBAQCBBUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllck1hYzo6fkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjKCkKICAgICBjbGVh
ckZpbGUoKTsKIH0KIAorc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IEFSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVyTWFjOjptb2RlbElkZW50aWZpZXIoKQoreworICAgIGlmIChtX2lu
bGluZVByZXZpZXcpCisgICAgICAgIHJldHVybiB7IHsgW21faW5saW5lUHJldmlldyB1dWlkXS5V
VUlEU3RyaW5nIH0gfTsKKyAgICByZXR1cm4geyB9OworfQorCiBzdGF0aWMgU3RyaW5nJiBzaGFy
ZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgpCiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJv
eWVkPFN0cmluZz4gc2hhcmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3Rvcnk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50
LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCmluZGV4IGZjN2JjMzMyM2FiNGY5YzZiY2M5OTI5ZmE2ZWM4YjVmMGYwODIzMDQu
LjQzNmE1YTUyMDM1YTA2NTc1ODljMGU5MGIwODQyYzQzMzY1ODFlM2QgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuY3BwCkBAIC0xNTI0LDEzICsxNTI0LDYgQEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVu
dW1lcmF0ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFAK
IH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQg
V2ViQ2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFw
aGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpIGNvbnN0Ci17Ci0gICAg
bV9wYWdlLnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKTsKLX0KLSNl
bmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAKIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjpzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkws
IGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiByZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmgKaW5kZXggYTc0OWY1OTMxOTI3NGVlNDZlMGFkODEyNWE4OTRlZDZjZmUwYjk0ZS4u
MmZlMzI5MDM0MzQ3Y2VkMjhmODEwNTdkYTNmZWMyMzMwN2FlNzA4NCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaApAQCAtNDU1LDEwICs0NTUsNiBAQCBwcml2YXRlOgogICAgIHZvaWQgZW51bWVyYXRlSW1t
ZXJzaXZlWFJEZXZpY2VzKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoY29uc3QgUGxhdGZvcm1YUjo6
SW5zdGFuY2U6OkRldmljZUxpc3QmKT4mJikgZmluYWw7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNj
cmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVy
SWQpIGNvbnN0IGZpbmFsOwotI2VuZGlmCi0KICNpZiBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkK
ICAgICB2b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Npb24oY29uc3QgVVJMJiwgY29uc3QgV2Vi
Q29yZTo6QXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6
b3B0aW9uYWw8Ym9vbD4mJik+JiYpIGZpbmFsOwogICAgIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJ
U2Vzc2lvbigpIGZpbmFsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBiMThkN2Y3MmU2N2FjYWQ0YWI1NDZkNGQ0MDhlZGFhMTRhYzY5Y2FiLi5k
ZDU5Y2ZhNzEwNmYwODQ0MmUzZmIzOTkzYjFhODgwODgxZjdiYTM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzc4OSwxMyArNzc4OSw2IEBA
IHZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1lbnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xh
dGlvbkNvbnRleHRNZW51SW5mbyYgaW5mCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19JT1MpCi12b2lkIFdlYlBhZ2U6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJ
ZCkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlRha2VNb2RlbEVsZW1lbnRG
dWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKSk7Ci19Ci0jZW5kaWYKLQogdm9pZCBXZWJQYWdlOjpz
Y3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBX
ZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pCiB7CiAgICAgbWFpbkZyYW1lVmlldygpLT5zZXRT
Y3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRSZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA0MWUyNjAzOWFi
ODE0YjQ0MjRjMmUyMmE2YzRlZjJjYTNlYTFiZjdlLi43NDAzZjc3ZDUwYWNkMWZkNTAwYmRlZjll
NGJhYTJlNTdmODI4NDVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCkBAIC0xNDkwLDEwICsxNDkwLDYgQEAgcHVibGljOgogICAgIFBsYXRmb3JtWFJTeXN0
ZW1Qcm94eSYgeHJTeXN0ZW1Qcm94eSgpOwogI2VuZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2Vi
Q29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKLSNl
bmRpZgotCiAgICAgdm9pZCBwcmVwYXJlVG9SdW5Nb2RhbEphdmFTY3JpcHREaWFsb2coKTsKIAog
I2lmIFVTRShBVFNQSSkK
</data>
<flag name="commit-queue"
          id="469754"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444687</attachid>
            <date>2021-11-18 09:05:20 -0800</date>
            <delta_ts>2021-11-18 09:13:11 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233265-20211118180519.patch</filename>
            <type>text/plain</type>
            <size>67245</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li4xYzdmODg4OGY4MzA4
YWUwMTA3ZWUzMzk4ZjAxZTdkNGQzY2VmZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OmdldENhbWVyYSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xOCBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gW21hY09TXSBB
ZGQgc3VwcG9ydCBmb3IgaW50ZXJhY3Rpb24gb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4
IDI5OTcwNTgzMDZhY2ZhODNhZjk0ZDAyZmIyZDkwNWEwOTQzMDE5YWUuLjM3OGZhMjA5YTU5OGM1
ZjljYzBkMzQ1N2UxMTQ3N2QyM2IxMTQ0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhl
IGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUlFMIFNQSXMgd2Ug
YXJlIHVzaW5nLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oOgor
ICAgICAgICAqIHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaDoKKwogMjAyMS0xMS0xOCAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFtt
YWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRm
MDcyNDFiNzliYjM1Y2JhOTc0MDNkY2NmOTc4Nzg1YmQ4ZjUwYTEuLjFmNjU5ODg1ZjA2NWQwNGY4
NmY2MTllNGQxOWNjZmQ2MTk0MGMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEt
MTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01v
ZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFRoZSBBUlFMIEFQSXMgd2UnZCBhZG9wdGVkIHNvIGZhciB3ZXJl
IHNwZWNpZmljIHRvIGVpdGhlciBtYWNPUyBvciBpT1MuIFRoZSBuZXcgY2FtZXJhCisgICAgICAg
IG1ldGhvZHMgYXJlIGRpZmZlcmVudCBzaW5jZSB0aGV5IGV4aXN0IG9uIGJvdGggcGxhdGZvcm1z
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGV4cG9zZSBhIHNpbmdsZSBtZXNzYWdlIGZvciBib3Ro
IHBsYXRmb3Jtcywgd2UgaW50cm9kdWNlIGEgbmV3IE1vZGVsSWRlbnRpZmllcgorICAgICAgICBz
dHJ1Y3Qgd2hpY2ggd3JhcHMgdGhlIFVVSUQgc3RyaW5nIGZvciBtYWNPUyBhbmQgdGhlIGxheWVy
IGlkZW50aWZpZXIgZm9yIGlPUy4gVGhlbiBvbgorICAgICAgICBNb2RlbEVsZW1lbnRDb250cm9s
bGVyLCB3ZSBoYXZlIHRoZSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKCkgbWV0aG9kIHRvIGdl
dCB0aGUgbWF0Y2hpbmcKKyAgICAgICAgQVNWSW5saW5lUHJldmlldyBmb3IgdGhlIHByb3ZpZGVk
IE1vZGVsSWRlbnRpZmllci4KKworICAgICAgICBUaGlzIGFsbG93cyBnZXRDYW1lcmFGb3JNb2Rl
bEVsZW1lbnQoKSBhbmQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50IHRvIGJlIHNwZWNpZmllZCBm
b3IgYm90aAorICAgICAgICBpT1MgYW5kIG1hY09TIHdpdGggYSBzaW5nbGUgaW1wbGVtZW50YXRp
b24uCisKKyAgICAgICAgV2UgYWxzbyBtb2RpZnkgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
KSB0byB0YWtlIGFkdmFudGFnZSBvZiBNb2RlbElkZW50aWZpZXIgd2hpY2ggc2hvd2VkCisgICAg
ICAgIHRoYXQgd2UgaGFkIHNvbWUgbGluZ2VyaW5nIGNvZGUgaW4gQ2hyb21lQ2xpZW50IHJlbGF0
ZWQgdG8gdGhpcyBtZXRob2QgdGhhdCB3YXMgbm8gbG9uZ2VyCisgICAgICAgIG5lY2Vzc2FyeSBm
b2xsb3dpbmcgcjI4NTkyMi4KKworICAgICAgICAqIFNoYXJlZC9Nb2RlbElkZW50aWZpZXIuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0
L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaC4KKyAgICAgICAgKFdlYktpdDo6TW9kZWxJZGVudGlmaWVy
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbElkZW50aWZpZXI6OmRlY29k
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3
Rm9yTW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYktpdDo6cHJldmlld0hhc0NhbWVyYVN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAo
V2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojptb2RlbEVsZW1lbnRTZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRD
YW1lcmEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllck1hYy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbik6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10g
QWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmgKaW5kZXggMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4NmQ5ODU5ZWMxYjA1NWVj
YS4uMmRkOWZhMmIyN2NiNDA3Y2FkYjczOTQwYTI3NWM0ZDY3NTJjM2RhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzQzLDMgKzc0Myw3IEBACiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykgfHwgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKICNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXIDEKICNlbmRpZgorCisjaWYg
KEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMjA0MDApIHx8IChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkKKyNkZWZpbmUg
RU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDVhMDQxNTVjNGMwZjhiZGJiODg4MTA2MTU5NzIyZGViOWJk
MDE0NTUuLjBlZTBiZTMwM2QyYTcyNWY1MTYwM2UxMzFmNmUyMWVjMjg1NTZmY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00NjMsNiArNDYzLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogCiAg
ICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisgICAgTW9kdWxl
cy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCiAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0
NmY5ZDhkNmQzYjUyMi4uYTcyZmFkNTgxZDYxYmNjM2M2NjA5ODdjMGUyMTdjYTBmY2NkZWYwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBA
IC0xNTgsNiArMTU4LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4
U3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVWZXJ0ZXhTdGVwTW9k
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL05hdmlnYXRvckdQVS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eUV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBw
bGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCkBAIC0yMDUsNyArMjA2LDYgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbAotJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS1hbXMtdWkvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yK0NsaXBib2FyZC5pZGwKQEAgLTQy
OCw2ICs0MjgsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRz
UmVwb3J0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1F
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9hY3Rpdml0eS1pbmRpY2F0b3IuY3NzCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5jc3MK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2Fp
cnBsYXktYnV0dG9uLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IDRjNWZmOTU0YTE1OTdlZGJmNTBkNjJhZDcyOTA3NDI4YzVkMDUz
YjYuLmIyMjQxNzIxMGRkYmEzNzBjZjY0ZmY5OTFlYjA1ODg1MzkxM2ZlN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjgzLDYg
KzEyODMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hUTUxNb2RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPYmplY3RFbGVtZW50
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0
NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4uYjFiNmE4YTU1MTkxMjY2MzRiNTE5NjA1Nzk3ZGFiNGM2
NTkyZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00NTMsNiArNDUzLDcg
QEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDVHJhY2tFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFuc2Zvcm1FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMmEyN2U2MDIyMDU2YjdjOWRkNTkxYTcx
MTk0Y2QzMTRjMWM2NDJjNy4uNzM0ZDZkNzc4NmQ5OTgyYTU2YThjNWRiZDU1ZTc1OWYwNjdlYmJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1V0aWxzLmgKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKKyAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKICAgICBNb2R1bGVz
L21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJDbGllbnQuaAogICAgIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFBsYXllclByb3ZpZGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAppbmRleCA0ZmE2ZGU5
M2IwZTQ2N2ZhZjU3YmE0ZDIxNmE4OGY3MDgzN2QyOWFlLi44Njc4MDNiMmQ2MmUzYjYwNzFjOTYx
MjA3ZWEyMDlhN2RjZWY2YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwCkBAIC0zNywxMSArMzcsMTQg
QEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDQS5oIgorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJK
U0hUTUxNb2RlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCIKICNpbmNsdWRlICJNb2RlbC5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyLmgiCiAjaW5jbHVk
ZSAiTW9kZWxQbGF5ZXJQcm92aWRlci5oIgpAQCAtMzYwLDYgKzM2MywzOCBAQCB2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmRyYWdEaWRFbmQoTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIG1fbW9k
ZWxQbGF5ZXItPmhhbmRsZU1vdXNlVXAoZXZlbnQucGFnZUxvY2F0aW9uKCksIGV2ZW50LnRpbWVT
dGFtcCgpKTsKIH0KIAorLy8gTUFSSzog4oCTIENhbWVyYSBzdXBwb3J0LgorCit2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmdldENhbWVyYShDYW1lcmFQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBp
ZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPmdldENhbWVyYShbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldIChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
IGNhbWVyYSkgbXV0YWJsZSB7CisgICAgICAgIGlmICghY2FtZXJhKQorICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KCpjYW1lcmEpOworICAgIH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVy
YShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYgcHJvbWlzZSkKK3sKKyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXIt
PnNldENhbWVyYShjYW1lcmEsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGJvb2wgc3Vj
Y2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7
CisgICAgfSk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKaW5kZXggZmVlYmNjNTkzMDZjNWYyNDViOTQzMDE2MzQ0MzBkNzU5NGVlNmM1OS4u
ZmM0Y2Q2OGRhMjU0YzUwMmRhZDRjNTIyMzVkMjY1ZWU0OTRhODQwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJNb2RlbFBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIK
QEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTW9kZWw7CiBjbGFzcyBNb2RlbFBsYXllcjsKIGNsYXNz
IE1vdXNlRXZlbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQ
cm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKIGNsYXNzIEhUTUxNb2RlbEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgSFRNTEVsZW1lbnQsIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQsIHB1
YmxpYyBNb2RlbFBsYXllckNsaWVudCB7CkBAIC02OSw2ICs3MSwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisgICAgdXNpbmcgQ2FtZXJhUHJvbWlzZSA9IERP
TVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+PjsK
KyAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKKwog
ICAgIGJvb2wgaXNEcmFnZ2FibGVJZ25vcmluZ0F0dHJpYnV0ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKaW5kZXggMTYzYWQ2YzNh
YWU3ZjcxNDYxYWEwYmI5N2MwZTBiNjdhY2EwZmM3YS4uZTdlZDQwOTFiMzkwZTc0ZTFlZmEwY2Yz
OWRhYTE1YWZiYmE2MjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApAQCAtMzMsNCArMzMsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnQ+IHJlYWR5Owog
CiAgICAgdW5kZWZpbmVkIGVudGVyRnVsbHNjcmVlbigpOworCisgICAgUHJvbWlzZTxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBnZXRDYW1lcmEoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0
Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjFkOTRhOWQwYmQzMzIzMzY0ODc5NTc0NjYxNTJiY2Yz
NWM2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApAQCAtMCwwICsxLDY5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxvcHRpb25hbD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSFRNTE1v
ZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoIHsgMCB9OworICAgIGRvdWJsZSB5
YXcgeyAwIH07CisgICAgZG91YmxlIHNjYWxlIHsgMSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGRl
Y29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGVuY29kZXIgPDwgcGl0Y2g7CisgICAgZW5jb2RlciA8PCB5YXc7CisgICAgZW5jb2RlciA8PCBz
Y2FsZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcGl0Y2g7CisgICAgZGVjb2Rl
ciA+PiBwaXRjaDsKKyAgICBpZiAoIXBpdGNoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHlhdzsKKyAgICBkZWNvZGVyID4+IHlhdzsK
KyAgICBpZiAoIXlhdykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8ZG91YmxlPiBzY2FsZTsKKyAgICBkZWNvZGVyID4+IHNjYWxlOworICAgIGlmICgh
c2NhbGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpw
aXRjaCwgKnlhdywgKnNjYWxlIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcyNzA5MzFkN2YxZWI2ZGQ0
NWFmMGRjYzNlOTRkMjdkZDhiYmMyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlQsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1N
b2RlbEVsZW1lbnRFbmFibGVkLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgSFRNTE1vZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoOworICAgIGRvdWJs
ZSB5YXc7CisgICAgZG91YmxlIHNjYWxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKaW5kZXggNjc1YTQwZjI4ZGNlNmViNTNk
NWZiNDE5MGY3YWI1NzYxNTc0NjcxNS4uOWFlZWNiNWEzZGNlNGNiMTM3NGMzNTExZTM4Yzg1ODdl
MjA5ZjkzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKQEAgLTI1LDkgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkxheW91dFBvaW50Lmgi
CiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKKyNp
bmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CiAKQEAgLTQ3LDcgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VVcChj
b25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpID0gMDsKLQorICAgIHZpcnR1YWwgdm9p
ZCBnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldENhbWVyYShI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYp
ID0gMDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAppbmRleCA2ODc0ODQw
ZmI4ZTllMDYwZTEzNTAxY2Y5NmMxOTZkODZkNjI1ODIzLi5jNTI5ZjA3OWU3ODJmNDgwMDgyYWI2
ZmQxMDlhNGZhNTU2OWFiM2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCkBAIC03
MCw0ICs3MCwxMiBAQCB2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmhhbmRsZU1vdXNlVXAoY29uc3Qg
TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewogfQogCit2b2lkIER1bW15TW9kZWxQbGF5
ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVtbXlNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVs
UGxheWVyLmgKaW5kZXggM2JiMWI4OGQxMmYzOWU4NDM0MmNiNTUxMjQ3ZGFmNTA3NzM3ZmY4NC4u
Nzk2MTM0NWE0NjI2YjMyZjI0MWFlNDI1YjU2M2MwYmYwMDEyOTQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVN
b3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsK
IAogICAgIFdlYWtQdHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2Nl
bmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCmluZGV4IDliNGYxZGY4NzkzZjc2MzZkMDI1Y2E0
NDMwMmMxYTFjODVkODFiNzguLmU3ODU0ZjgwYmI3ZDI3ZDBkZWQ5MmE0MzAzYjgzOWNiNjJkNjEw
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2Vu
ZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNjEsNiArNjEs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRN
TE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4m
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRl
cy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVy
JiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KaW5kZXggNzc2YzY4ZmM2ZjUxZjk2N2M4ZDQzNzNmMmQwMGJkNjQ5ZTEw
NDJiNy4uZjQzMDllYjYxNDg5YmU2MTE5NzVhZDVkNDM4NTUwZWRiNzYyNmI4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTg4LDYgKzg4LDE0IEBAIHZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6aGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpCiB7CiB9CiAKK3ZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6Z2V0Q2FtZXJh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhPiYmKT4mJikKK3sKK30KKwordm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEo
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KQoreworfQorCiAvLyBNQVJLOiAtIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQgb3ZlcnJpZGVz
LgogCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmRpZEZpbmlzaExvYWRpbmcoU2NlbmVLaXRN
b2RlbExvYWRlciYgbG9hZGVyLCBSZWY8U2NlbmVLaXRNb2RlbD4gbW9kZWwpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA1YTFh
ZDMwOWFlOWFhZTQ2N2M1Zjg1NGExMTRmNjI0YjgwZDIwYWY1Li5iZjk1NDdiY2RhYzY4M2IwMmVl
YzFkNjI1NGY0MDU2MTQ5YzVlMGIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTc3LDEwICs3NywxNiBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogLSAodm9pZClzZXREZWxlZ2F0ZTooaWQgPEFSUXVpY2tMb29rV2ViS2l0
SXRlbURlbGVnYXRlPilkZWxlZ2F0ZTsKIEBlbmQKIAorTlNfQVNTVU1FX05PTk5VTExfRU5ECisK
ICNlbmRpZgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKIAorI2ltcG9y
dCA8c2ltZC9zaW1kLmg+CisKK05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKIEBjbGFzcyBBU1ZJ
bmxpbmVQcmV2aWV3OwogQGNsYXNzIENBRmVuY2VIYW5kbGU7CiBAaW50ZXJmYWNlIEFTVklubGlu
ZVByZXZpZXcgOiBOU09iamVjdApAQCAtOTcsMTAgKzEwMywxNCBAQCBOU19BU1NVTUVfTk9OTlVM
TF9CRUdJTgogLSAodm9pZCl0b3VjaGVzRW5kZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVz
IHdpdGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OwogLSAodm9pZCl0b3VjaGVzQ2Fu
Y2VsbGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KG51bGxhYmxlIFVJ
RXZlbnQgKilldmVudDsKIAotQGVuZAordHlwZWRlZiB2b2lkICheQVNWQ2FtZXJhVHJhbnNmb3Jt
UmVwbHlCbG9jaykgKHNpbWRfZmxvYXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAqIF9OdWxs
YWJsZSBlcnJvcik7CistICh2b2lkKWdldENhbWVyYVRyYW5zZm9ybTooQVNWQ2FtZXJhVHJhbnNm
b3JtUmVwbHlCbG9jaylyZXBseTsKKy0gKHZvaWQpc2V0Q2FtZXJhVHJhbnNmb3JtOihzaW1kX2Zs
b2F0Myl0cmFuc2Zvcm07CiAKLSNlbmRpZgorQGVuZAogCiBOU19BU1NVTUVfTk9OTlVMTF9FTkQK
IAogI2VuZGlmCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9z
cGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9TeXN0ZW1QcmV2aWV3U1BJLmgKaW5kZXggNjBhYmNmNzc2OGIyNGRjYzM2OTljOTU1ZmM0Nzdk
YzcwYTg2ZWVjNi4uMGNkNTRlMDRkNzAzM2I4NTAzMzA5MTU0OGNhMmEwZTdhODEwNDFmNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEku
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5o
CkBAIC0zMSwxMCArMzEsMTIgQEAKIAogI2Vsc2UgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
IAotTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KLQogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19NQUMpCiAKKyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorCitOU19BU1NVTUVfTk9OTlVMTF9C
RUdJTgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIAogQGludGVyZmFjZSBBU1ZJbmxpbmVQ
cmV2aWV3IDogTlNPYmplY3QKQEAgLTUyLDEwICs1NCwxNCBAQCBOU19BU1NVTUVfTk9OTlVMTF9C
RUdJTgogLSAodm9pZCltb3VzZURyYWdnZWRBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIHRp
bWVzdGFtcDooTlNUaW1lSW50ZXJ2YWwpdGltZXN0YW1wOwogLSAodm9pZCltb3VzZVVwQXRMb2Nh
dGlvbjooQ0dQb2ludClsb2NhdGlvbiB0aW1lc3RhbXA6KE5TVGltZUludGVydmFsKXRpbWVzdGFt
cDsKIAotQGVuZAordHlwZWRlZiB2b2lkICheQVNWQ2FtZXJhVHJhbnNmb3JtUmVwbHlCbG9jaykg
KHNpbWRfZmxvYXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAqIF9OdWxsYWJsZSBlcnJvcik7
CistICh2b2lkKWdldENhbWVyYVRyYW5zZm9ybTooQVNWQ2FtZXJhVHJhbnNmb3JtUmVwbHlCbG9j
aylyZXBseTsKKy0gKHZvaWQpc2V0Q2FtZXJhVHJhbnNmb3JtOihzaW1kX2Zsb2F0Myl0cmFuc2Zv
cm07CiAKLSNlbmRpZiAvLyBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorQGVuZAog
CiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIAorI2VuZGlmIC8vIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFV19NQUMpCisKICNlbmRpZiAvLyBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2Vz
LnR4dAppbmRleCBlOTI4ZmY5NDk0NTgzYjY0ZWQ2MGY1NWE4Nzk0MzUwMTFkNzY0MmI0Li4wNDky
ODQ3OTIwN2ZkZjM4YjRjZDU2N2ZkOTUyZTA2ZTdjMjk2NDBlIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9Tb3VyY2VzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAt
MzMwMiw2ICszMzAyLDcgQEAgSlNIVE1MTWV0YUVsZW1lbnQuY3BwCiBKU0hUTUxNZXRlckVsZW1l
bnQuY3BwCiBKU0hUTUxNb2RFbGVtZW50LmNwcAogSlNIVE1MTW9kZWxFbGVtZW50LmNwcAorSlNI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcAogSlNIVE1MT0xpc3RFbGVtZW50LmNwcAogSlNIVE1M
T2JqZWN0RWxlbWVudC5jcHAKIEpTSFRNTE9wdEdyb3VwRWxlbWVudC5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBlZDY3Zjkw
NmU4ZWUwNDcyODg0MjRlNDAxNTIxZTI0OTc5MzNhMzQyLi41OWU3NmQ5ZGY5N2I2MGMxYTJiMDg4
NWJhNTBkYWZhZjlhZjkwNDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMjc1LDYgKzIyNzUsNyBAQAogCQk3MTVBRDcyMTIw
NTA1MTNGMDBENTkyREMgLyogQ1NTVHJhbnNpdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzEyM0MxODYyMDQ3MzlCQTAwNzg5MzkyIC8qIENTU1Ry
YW5zaXRpb24uaCAqLzsgfTsKIAkJNzE3MjlGN0IyMEYzQkE0OTAwODAxQ0U2IC8qIERvY3VtZW50
VGltZWxpbmVPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MTcyOUY3QTIwRjNCQTNBMDA4MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9wdGlv
bnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3
MTcyOUY3RTIwRjNCQjQ3MDA4MDFDRTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE3MjlGN0MyMEYz
QkFCOTAwODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCAqLzsgfTsKKwkJNzE3
N0FENTcyNzQyOTVEMTAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNzdBRDU2Mjc0Mjk1OTAw
MDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzE4MUExNkMyNDRGMEY0MDAwN0Q4QTI0IC8q
IERvY3VtZW50VGltZWxpbmVzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNzE4MUExNjkyNDRGMEYyQzAwN0Q4QTI0IC8qIERvY3VtZW50
VGltZWxpbmVzQ29udHJvbGxlci5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTcxQTFCNjA4MURFRTVBRDcwMDczQkNGQiAvKiBtb2Rlcm4tbWVkaWEt
Y29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MuanMgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTFCNjA2MURFRTVBODIwMDczQkNGQiAvKiBtb2Rlcm4t
bWVkaWEtY29udHJvbHMtbG9jYWxpemVkLXN0cmluZ3MuanMgKi87IH07CiAJCTcxQTNEMTgxMjU2
MkI4NUIwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MUEzRDE3RDI1NjJCODI0MDA2NEUyQTYgLyogSFRN
TE1vZGVsRWxlbWVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CkBAIC0xMDc3OCw2ICsxMDc3OSwxMCBAQAogCQk3MTcyOUY3QzIwRjNCQUI5MDA4MDFD
RTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTcxNzI5RjdEMjBGM0JBQkEwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxp
bmVPcHRpb25zLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRG9j
dW1lbnRUaW1lbGluZU9wdGlvbnMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3
MTczREVCRDI2MTRERjA0MDA5N0RGMzIgLyogU3R5bGVhYmxlLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN0eWxlYWJsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTcxNzdBRDU0Mjc0Mjk1MkYwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE3N0FENTYyNzQyOTU5MDAwMkYxMDNC
IC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk3MTc3QUQ1ODI3NDI5Q0NBMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTSFRNTE1vZGVsRWxl
bWVudENhbWVyYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU5Mjc0
MjlDQ0IwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzdFMjQ2MURCODBEMkYwMDkxOUEwQiAvKiBtZWRpYS1j
b250cm9sbGVyLXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBh
dGggPSAibWVkaWEtY29udHJvbGxlci1zdXBwb3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzE3N0UyNDcxREI4MEQyRjAwOTE5QTBCIC8qIG11dGUtc3VwcG9ydC5qcyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJtdXRlLXN1cHBvcnQuanMiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTc3RTI0ODFEQjgwRDJGMDA5MTlBMEIgLyog
c3RhcnQtc3VwcG9ydC5qcyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9
ICJzdGFydC1zdXBwb3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4OTYy
LDExICsxODk2NywxMSBAQAogCQkxQTU2OUNDNDBEN0UyQjYwMDA3QzM5ODMgLyogYnJpZGdlICov
ID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk1OUI1OTc3MTEx
MDg2NTU2MDA3MTU5RTggLyoganNjICovLAogCQkJCTFBNTY5Q0UyMEQ3RTJCODIwMDdDMzk4MyAv
KiBvYmpjICovLAogCQkJCTU5OUU3NThGMTEwNTVBMUYwMEQ5MDRGQSAvKiBCcmlkZ2UuaCAqLywK
IAkJCQkxQTcxRDU3OTBGMzM4MTkwMDBGOUNFNEUgLyogSWRlbnRpZmllclJlcC5jcHAgKi8sCiAJ
CQkJMUE3MUQ1N0EwRjMzODE5MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuaCAqLywKLQkJCQk1
OUI1OTc3MTExMDg2NTU2MDA3MTU5RTggLyoganNjICovLAogCQkJCTFBNTY5Q0VGMEQ3RTJCODIw
MDdDMzk4MyAvKiBydW50aW1lX2FycmF5LmNwcCAqLywKIAkJCQkxQTU2OUNGMDBEN0UyQjgyMDA3
QzM5ODMgLyogcnVudGltZV9hcnJheS5oICovLAogCQkJCTFBNTY5Q0YxMEQ3RTJCODIwMDdDMzk4
MyAvKiBydW50aW1lX21ldGhvZC5jcHAgKi8sCkBAIC0yMzgxNSw2ICsyMzgyMCw4IEBACiAJCQkJ
NzFBM0QxODAyNTYyQjgyNTAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuY3BwICovLAogCQkJ
CTcxQTNEMTdEMjU2MkI4MjQwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmggKi8sCiAJCQkJ
NzFBM0QxN0YyNTYyQjgyNDAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaWRsICovLAorCQkJ
CTcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8s
CisJCQkJNzE3N0FENTQyNzQyOTUyRjAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aWRsICovLAogCQkJCUJDMkI0MTE0MjczMkYwNjIwMEEyRDE5MSAvKiBNb2RlbFBsYXllci5jcHAg
Ki8sCiAJCQkJQkMyQjQxMTMyNzMyRjA2MjAwQTJEMTkxIC8qIE1vZGVsUGxheWVyLmggKi8sCiAJ
CQkJQkMyQjQxMTIyNzMyRjAzQzAwQTJEMTkxIC8qIE1vZGVsUGxheWVyQ2xpZW50LmNwcCAqLywK
QEAgLTI2MDkzLDYgKzI2MTAwLDggQEAKIAkJCQlBN0JCRTI2NTExQUZCM0YyMDAwNUVBMDMgLyog
SlNIVE1MTWV0ZXJFbGVtZW50LmggKi8sCiAJCQkJNzFBM0QxODIyNTYyQkREQjAwNjRFMkE2IC8q
IEpTSFRNTE1vZGVsRWxlbWVudC5jcHAgKi8sCiAJCQkJNzFBM0QxODMyNTYyQkREQjAwNjRFMkE2
IC8qIEpTSFRNTE1vZGVsRWxlbWVudC5oICovLAorCQkJCTcxNzdBRDU4Mjc0MjlDQ0EwMDJGMTAz
QiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwICovLAorCQkJCTcxNzdBRDU5Mjc0MjlD
Q0IwMDJGMTAzQiAvKiBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAqLywKIAkJCQkxQUUyQUIx
RjBBMUNFNjNCMDBCNDJCMjUgLyogSlNIVE1MTW9kRWxlbWVudC5jcHAgKi8sCiAJCQkJMUFFMkFC
MjAwQTFDRTYzQjAwQjQyQjI1IC8qIEpTSFRNTE1vZEVsZW1lbnQuaCAqLywKIAkJCQlCQzMwNUM3
NzBDMDc2QkIzMDBDRDIwRjAgLyogSlNIVE1MT2JqZWN0RWxlbWVudC5jcHAgKi8sCkBAIC0zMzcy
OSw2ICszMzczOCw3IEBACiAJCQkJQTg3MURDMjQwQTE1MjA1NzAwQjEyQTY4IC8qIEhUTUxNZXRh
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTQ1NDQyNEIxMTlCMzY2MTAwOUJFOTEyIC8q
IEhUTUxNZXRlckVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTcxQTNEMTgxMjU2MkI4NUIw
MDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk3MTc3QUQ1
NzI3NDI5NUQxMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQThDRkY3QTcwQTE1Njk3ODAwMEE0MjM0IC8qIEhUTUxNb2RFbGVtZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBOERGM0ZENDA5N0ZBMEZDMDA1Mjk4MUIgLyogSFRNTE5hbWVDb2xs
ZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODcxRDQ1QTBBMTI3Q0JDMDBCMTJBNjggLyog
SFRNTE9iamVjdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1w
dHlDbGllbnRzLmNwcAppbmRleCAzYmFlM2MyMjVmNjBjODg0YTZhNGNlMmFmOWNmOWVmODcyYmMx
YjJmLi4zYTA2NGJjNzIzMWEzNjAwY2M4M2RjNThhOWEyZTdmZjJlZTk2YjM1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmNwcApAQCAtNTgzLDEyICs1ODMsNiBAQCB2b2lkIEVt
cHR5Q2hyb21lQ2xpZW50OjpzaG93U2hhcmVTaGVldChTaGFyZURhdGFXaXRoUGFyc2VkVVJMJiwg
Q29tcGxldGlvbkhhbmRsZQogewogfQogCi0jaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
X0lPUykKLXZvaWQgRW1wdHlDaHJvbWVDbGllbnQ6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVu
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QKLXsKLX0KLSNl
bmRpZgotCiB2b2lkIEVtcHR5RnJhbWVMb2FkZXJDbGllbnQ6OmRpc3BhdGNoRGVjaWRlUG9saWN5
Rm9yTmV3V2luZG93QWN0aW9uKGNvbnN0IE5hdmlnYXRpb25BY3Rpb24mLCBjb25zdCBSZXNvdXJj
ZVJlcXVlc3QmLCBGb3JtU3RhdGUqLCBjb25zdCBTdHJpbmcmLCBQb2xpY3lDaGVja0lkZW50aWZp
ZXIsIEZyYW1lUG9saWN5RnVuY3Rpb24mJikKIHsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuaAppbmRleCAwYzc5NzNmMDBhMWYzNmUyNzAxM2ExNjE2ZGJjOTZhMTgwYzVjZjA4Li41
MjI2MTg3MzFkNzU2ZWE0YmY4Yjk2ZGYwMDQzNWY4MzU1OGVlOTFhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5oCkBAIC0yMTcsMTAgKzIxNyw2IEBAIGNsYXNzIEVtcHR5Q2hyb21l
Q2xpZW50IDogcHVibGljIENocm9tZUNsaWVudCB7CiAgICAgdm9pZCBkaWRBc3NvY2lhdGVGb3Jt
Q29udHJvbHMoY29uc3QgVmVjdG9yPFJlZlB0cjxFbGVtZW50Pj4mLCBGcmFtZSYpIGZpbmFsIHsg
fQogICAgIGJvb2wgc2hvdWxkTm90aWZ5T25Gb3JtQ2hhbmdlcygpIGZpbmFsIHsgcmV0dXJuIGZh
bHNlOyB9CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQg
dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZv
cm1MYXllcklEKSBjb25zdCBmaW5hbDsKLSNlbmRpZgotCiAgICAgUmVmUHRyPEljb24+IGNyZWF0
ZUljb25Gb3JGaWxlcyhjb25zdCBWZWN0b3I8U3RyaW5nPiYgLyogZmlsZW5hbWVzICovKSBmaW5h
bCB7IHJldHVybiBudWxscHRyOyB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0Nocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaApp
bmRleCBlMTNlMzg3ZDE5MTY4YWM1ZmQzNTliMmU2MTZkNDNkZDNmMTc1MDIyLi5mMjM5MTQ1NzA2
ZDBiMTkwNTQxMGFkOGU2NmNmZTk5MDBjZGM3NmVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0Nocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xp
ZW50LmgKQEAgLTYwNSwxMCArNjA1LDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB0ZXh0
QXV0b3NpemluZ1VzZXNJZGVtcG90ZW50TW9kZUNoYW5nZWQoKSB7IH0KICNlbmRpZgogCi0jaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2aXJ0dWFsIHZvaWQgdGFrZU1v
ZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXll
cklEKSBjb25zdCB7IH0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9BTVNfVUkpCiAg
ICAgdmlydHVhbCB2b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNlc3Npb24oY29uc3QgVVJMJiwgY29u
c3QgQXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0
aW9uYWw8Ym9vbD4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpIHsgY29tcGxldGlvbkhhbmRsZXIo
c3RkOjpudWxsb3B0KTsgfQogICAgIHZpcnR1YWwgdm9pZCBhYm9ydEFwcGxlUGF5QU1TVUlTZXNz
aW9uKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50aWZp
ZXIuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL01vZGVsSWRlbnRpZmllci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjQ0MTNhZDBhYTQyMzg1MzA5ODNlZWM0NDQ2MTdhZWJlYWZkNDY0YjgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIuaApAQCAtMCwwICsxLDc2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisg
KiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKK25hbWVzcGFjZSBXZWJLaXQgeworCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXKQorCisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyNpbXBvcnQg
PFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgorI2VuZGlmCisKK3N0cnVjdCBNb2RlbElkZW50aWZp
ZXIgeworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisgICAgU3RyaW5nIHV1
aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIFdlYkNvcmU6
OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBsYXllcklkZW50aWZpZXI7CisjZW5kaWYK
KworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5jb2RlKEVuY29kZXImKSBjb25z
dDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMgc3RkOjpvcHRpb25hbDxNb2Rl
bElkZW50aWZpZXI+IGRlY29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNv
ZGVyPiB2b2lkIE1vZGVsSWRlbnRpZmllcjo6ZW5jb2RlKEVuY29kZXImIGVuY29kZXIpIGNvbnN0
Cit7CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKyAgICBlbmNvZGVyIDw8
IHV1aWQ7CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIGVuY29k
ZXIgPDwgbGF5ZXJJZGVudGlmaWVyOworI2VuZGlmCit9CisKK3RlbXBsYXRlPGNsYXNzIERlY29k
ZXI+IHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBNb2RlbElkZW50aWZpZXI6OmRlY29k
ZShEZWNvZGVyJiBkZWNvZGVyKQoreworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19N
QUMpCisgICAgc3RkOjpvcHRpb25hbDxTdHJpbmc+IHV1aWQ7CisgICAgZGVjb2RlciA+PiB1dWlk
OworICAgIGlmICghdXVpZCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICByZXR1
cm4geyB7IFdURk1vdmUoKnV1aWQpIH0gfTsKKyNlbGlmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJF
VklFV19JT1MpCisgICAgc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0
Zm9ybUxheWVySUQ+IGxheWVySWRlbnRpZmllcjsKKyAgICBkZWNvZGVyID4+IGxheWVySWRlbnRp
ZmllcjsKKyAgICBpZiAoIWxheWVySWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVs
bG9wdDsKKyAgICByZXR1cm4geyB7ICpsYXllcklkZW50aWZpZXIgfSB9OworI2VuZGlmCit9CisK
KyNlbmRpZgorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tIGIvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1t
CmluZGV4IDc3YmFiZjc2NTY1YTJiYWFlODFkMGRhNGE0ODU4M2Y3NjViNGUyZDEuLjhlN2FjNWI2
NGYwZDc2NWFhNTQ5YzZjMDg0ZDEyMTFkMmIzYzFkMTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2Eu
bW0KQEAgLTMwLDYgKzMwLDEyIEBACiAKICNpbXBvcnQgIkxvZ2dpbmcuaCIKICNpbXBvcnQgIldl
YlBhZ2VQcm94eS5oIgorI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRQb2ludC5oPgorI2ltcG9ydCA8
V2ViQ29yZS9MYXlvdXRVbml0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlRXJyb3IuaD4K
KyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KKyNpbXBv
cnQgPHd0Zi9Nb25vdG9uaWNUaW1lLmg+CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJ
RVdfSU9TKQogI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKQEAgLTQyLDEyICs0OCw3IEBACiAjZW5k
aWYKIAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCi0jaW1wb3J0IDxXZWJD
b3JlL0xheW91dFBvaW50Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL0xheW91dFVuaXQuaD4KLSNpbXBv
cnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8cGFsL3NwaS9tYWMvU3lzdGVt
UHJldmlld1NQSS5oPgotI2ltcG9ydCA8d3RmL01haW5UaHJlYWQuaD4KLSNpbXBvcnQgPHd0Zi9N
b25vdG9uaWNUaW1lLmg+CiAjZW5kaWYKIAogU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKEFz
c2V0Vmlld2VyKTsKQEAgLTU3LDMwICs1OCwzNiBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIAogI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAKLXZvaWQgTW9kZWxFbGVtZW50Q29u
dHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXll
cjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKQorV0tNb2RlbFZpZXcgKiBNb2RlbEVs
ZW1lbnRDb250cm9sbGVyOjptb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllcikKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVu
Y2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJl
dHVybiBuaWw7CiAKICAgICBpZiAoIWlzPFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+
KG1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpKQotICAgICAgICByZXR1cm47CisgICAgICAg
IHJldHVybiBuaWw7CiAKLSAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5ZXJUcmVl
RHJhd2luZ0FyZWFQcm94eT4oKm1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpLnJlbW90ZUxh
eWVyVHJlZUhvc3QoKS5ub2RlRm9ySUQoY29udGVudExheWVySWQpOworICAgIGF1dG8qIG5vZGUg
PSBkb3duY2FzdDxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5PigqbV93ZWJQYWdlUHJv
eHkuZHJhd2luZ0FyZWEoKSkucmVtb3RlTGF5ZXJUcmVlSG9zdCgpLm5vZGVGb3JJRChtb2RlbElk
ZW50aWZpZXIubGF5ZXJJZGVudGlmaWVyKTsKICAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVy
bjsKKyAgICAgICAgcmV0dXJuIG5pbDsKIAotICAgIGF1dG8gKnZpZXcgPSBub2RlLT51aVZpZXco
KTsKLSAgICBpZiAoIXZpZXcpCi0gICAgICAgIHJldHVybjsKKyAgICByZXR1cm4gZHluYW1pY19v
YmpjX2Nhc3Q8V0tNb2RlbFZpZXc+KG5vZGUtPnVpVmlldygpKTsKK30KIAotICAgIGlmICghW3Zp
ZXcgaXNLaW5kT2ZDbGFzczpbV0tNb2RlbFZpZXcgY2xhc3NdXSkKLSAgICAgICAgcmV0dXJuOwor
QVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2Rl
bElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICByZXR1
cm4gW21vZGVsVmlld0Zvck1vZGVsSWRlbnRpZmllcihtb2RlbElkZW50aWZpZXIpIHByZXZpZXdd
OworfQogCit2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CiAgICAgYXV0byAqcHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyID0gbV93ZWJQYWdlUHJveHkudWlDbGllbnQoKS5wcmVzZW50
aW5nVmlld0NvbnRyb2xsZXIoKTsKICAgICBpZiAoIXByZXNlbnRpbmdWaWV3Q29udHJvbGxlcikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgV0tNb2RlbFZpZXcgKm1vZGVsVmlldyA9IChXS01vZGVs
VmlldyAqKXZpZXc7CisgICAgYXV0byBtb2RlbFZpZXcgPSBtb2RlbFZpZXdGb3JNb2RlbElkZW50
aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIW1vZGVsVmlldykKKyAgICAgICAgcmV0
dXJuOworCiAgICAgQ0dSZWN0IGluaXRpYWxGcmFtZSA9IFttb2RlbFZpZXcgY29udmVydFJlY3Q6
bW9kZWxWaWV3LmZyYW1lIHRvVmlldzpuaWxdOwogCiAgICAgQVNWSW5saW5lUHJldmlldyAqcHJl
dmlldyA9IFttb2RlbFZpZXcgcHJldmlld107CkBAIC05OCw3ICsxMDUsNyBAQCB2b2lkIE1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OgogCiAgICAgICAgICAgICBbcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyIHBy
ZXNlbnRWaWV3Q29udHJvbGxlcjpyZW1vdGVWaWV3Q29udHJvbGxlciBhbmltYXRlZDpOTyBjb21w
bGV0aW9uOl4odm9pZCkgewogICAgICAgICAgICAgICAgIFtDQVRyYW5zYWN0aW9uIGJlZ2luXTsK
LSAgICAgICAgICAgICAgICBbdmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6
ZmVuY2VIYW5kbGVdOworICAgICAgICAgICAgICAgIFttb2RlbFZpZXcubGF5ZXIuc3VwZXJsYXll
ci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFuZGxlXTsKICAgICAgICAgICAgICAgICBbQ0FUcmFu
c2FjdGlvbiBjb21taXRdOwogICAgICAgICAgICAgICAgIFtmZW5jZUhhbmRsZSBpbnZhbGlkYXRl
XTsKICAgICAgICAgICAgIH1dOwpAQCAtMTEyLDcgKzExOSw3IEBAIHZvaWQgTW9kZWxFbGVtZW50
Q29udHJvbGxlcjo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6CiAgICAgICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAgICAgICBbQ0FU
cmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAgICAgICAgICAgICAgIFt2aWV3LmxheWVyLnN1cGVy
bGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNtaXNzRmVuY2VIYW5kbGVdOworICAgICAgICAgICAg
ICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpkaXNt
aXNzRmVuY2VIYW5kbGVdOwogICAgICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBzZXRD
b21wbGV0aW9uQmxvY2s6XnsKICAgICAgICAgICAgICAgICAgICAgICAgIFtyZW1vdGVWaWV3Q29u
dHJvbGxlciBkaXNtaXNzVmlld0NvbnRyb2xsZXJBbmltYXRlZDpOTyBjb21wbGV0aW9uOm5pbF07
CiAgICAgICAgICAgICAgICAgICAgIH1dOwpAQCAtMTI4LDYgKzEzNSwxNCBAQCB2b2lkIE1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6Okdy
YXBoaWNzTGF5ZXI6OgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKIAor
QVNWSW5saW5lUHJldmlldyAqIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnByZXZpZXdGb3JNb2Rl
bElkZW50aWZpZXIoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKK3sKKyAgICBpZiAo
IW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVtZW50RW5hYmxlZCgpKQorICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIHJldHVybiBtX2lubGluZVByZXZpZXdzLmdldCht
b2RlbElkZW50aWZpZXIudXVpZCkuZ2V0KCk7Cit9CisKIHZvaWQgTW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhVUkwgZmlsZVVSTCwgU3RyaW5nIHV1
aWQsIFdlYkNvcmU6OkZsb2F0U2l6ZSBzaXplLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVj
dGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4p
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQogewogICAgIGlmICghbV93ZWJQYWdlUHJveHkucHJlZmVy
ZW5jZXMoKS5tb2RlbEVsZW1lbnRFbmFibGVkKCkpIHsKQEAgLTE1MCw3ICsxNjUsNyBAQCB2b2lk
IE1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoVVJM
IGZpbGVVUkwsIFN0cmluZyB1dQogICAgIGF1dG8gdXJsID0gYWRvcHROUyhbW05TVVJMIGFsbG9j
XSBpbml0RmlsZVVSTFdpdGhQYXRoOmZpbGVVUkwuZmlsZVN5c3RlbVBhdGgoKV0pOwogCiAgICAg
UkVMRUFTRV9BU1NFUlQoaXNNYWluUnVuTG9vcCgpKTsKLSAgICBbcHJldmlldyBzZXR1cFJlbW90
ZUNvbm5lY3Rpb25XaXRoQ29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9
IFdlYWtQdHIgeyAqdGhpcyB9LCBwcmV2aWV3LCB1dWlkID0gV1RGTW92ZSh1dWlkKSwgdXJsID0g
V1RGTW92ZSh1cmwpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSAoTlNFcnJvciAqIF9OdWxsYWJsZSBjb250ZXh0RXJyb3IpIG11dGFibGUgeworICAgIFtw
cmV2aWV3IHNldHVwUmVtb3RlQ29ubmVjdGlvbldpdGhDb21wbGV0aW9uSGFuZGxlcjptYWtlQmxv
Y2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0aGlzIH0sIHByZXZpZXcsIHV1aWQgPSBXVEZN
b3ZlKHV1aWQpLCB1cmwgPSBXVEZNb3ZlKHVybCksIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildIChOU0Vycm9yICpjb250ZXh0RXJyb3IpIG11dGFibGUgewog
ICAgICAgICBpZiAoY29udGV4dEVycm9yKSB7CiAgICAgICAgICAgICBMT0coTW9kZWxFbGVtZW50
LCAiVW5hYmxlIHRvIGNyZWF0ZSByZW1vdGUgY29ubmVjdGlvbiBmb3IgdXVpZCAlczogJUAuIiwg
dXVpZC51dGY4KCkuZGF0YSgpLCBjb250ZXh0RXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOwog
CkBAIC0xNjUsNyArMTgwLDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjptb2RlbEVs
ZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCBmaWxlVVJMLCBTdHJpbmcgdXUKIAogICAgICAgICBM
T0coTW9kZWxFbGVtZW50LCAiRXN0YWJsaXNoZWQgcmVtb3RlIGNvbm5lY3Rpb24gd2l0aCBVVUlE
ICVzLiIsIHV1aWQudXRmOCgpLmRhdGEoKSk7CiAKLSAgICAgICAgW3ByZXZpZXcgcHJlcGFyZVBy
ZXZpZXdPZkZpbGVBdFVSTDp1cmwuZ2V0KCkgY29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRy
KFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBwcmV2aWV3LCB1dWlkID0gV1RGTW92ZSh1
dWlkKSwgdXJsID0gV1RGTW92ZSh1cmwpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpXSAoTlNFcnJvciAqIF9OdWxsYWJsZSBsb2FkRXJyb3IpIG11dGFibGUg
eworICAgICAgICBbcHJldmlldyBwcmVwYXJlUHJldmlld09mRmlsZUF0VVJMOnVybC5nZXQoKSBj
b21wbGV0aW9uSGFuZGxlcjptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhp
cyksIHByZXZpZXcsIHV1aWQgPSBXVEZNb3ZlKHV1aWQpLCB1cmwgPSBXVEZNb3ZlKHVybCksIGNv
bXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChOU0Vycm9yICps
b2FkRXJyb3IpIG11dGFibGUgewogICAgICAgICAgICAgaWYgKGxvYWRFcnJvcikgewogICAgICAg
ICAgICAgICAgIExPRyhNb2RlbEVsZW1lbnQsICJVbmFibGUgdG8gbG9hZCBmaWxlIGZvciB1dWlk
ICVzOiAlQC4iLCB1dWlkLnV0ZjgoKS5kYXRhKCksIGxvYWRFcnJvci5sb2NhbGl6ZWREZXNjcmlw
dGlvbik7CiAKQEAgLTIxNiw2ICsyMzEsNjUgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVy
OjpoYW5kbGVNb3VzZVVwRm9yTW9kZWxFbGVtZW50KGNvbnN0IFN0cmluZyYgdXVpZCwgY28KIAog
I2VuZGlmCiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisKK3N0YXRpYyBib29s
IHByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KEFTVklubGluZVByZXZpZXcgKnByZXZpZXcpCit7Cisj
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0pCisgICAgcmV0
dXJuIFtwcmV2aWV3IHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoZ2V0Q2FtZXJhVHJhbnNm
b3JtOildOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwordm9pZCBNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHByZXZpZXdGb3JNb2Rl
bElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZpZXcgfHwgIXByZXZp
ZXdIYXNDYW1lcmFTdXBwb3J0KHByZXZpZXcpKSB7CisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29w
KFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1v
dmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9IFdlYkNvcmU6OlJlc291cmNlRXJyb3IgeyBX
ZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpHZW5lcmFsIH1dICgpIG11dGFibGUgeworICAg
ICAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgW3ByZXZpZXcgZ2V0Q2FtZXJhVHJhbnNmb3JtOm1ha2VCbG9ja1B0cihbd2Vh
a1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0gKHNpbWRfZmxvYXQzIGNhbWVyYVRyYW5zZm9ybSwgTlNFcnJvciAq
ZXJyb3IpIG11dGFibGUgeworICAgICAgICBpZiAoZXJyb3IpIHsKKyAgICAgICAgICAgIGNhbGxP
bk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpLCBlcnJvciA9IFdlYkNvcmU6OlJlc291
cmNlRXJyb3IgeyBXZWJDb3JlOjpSZXNvdXJjZUVycm9yOjpUeXBlOjpHZW5lcmFsIH1dICgpIG11
dGFibGUgeworICAgICAgICAgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIobWFrZVVuZXhwZWN0ZWQoZXJyb3IpKTsKKyAgICAgICAgICAg
IH0pOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgY2FsbE9uTWFp
blJ1bkxvb3AoW2NhbWVyYVRyYW5zZm9ybSwgd2Vha1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJs
ZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSB7IGNhbWVyYVRyYW5zZm9y
bS54LCBjYW1lcmFUcmFuc2Zvcm0ueSwgY2FtZXJhVHJhbnNmb3JtLnogfSk7CisgICAgICAgIH0p
OworICAgIH0pLmdldCgpXTsKK30KKwordm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRD
YW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgV2Vi
Q29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoYm9vbCk+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byogcHJldmlldyA9IHBy
ZXZpZXdGb3JNb2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKTsKKyAgICBpZiAoIXByZXZp
ZXcgfHwgIXByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KHByZXZpZXcpKSB7CisgICAgICAgIGNhbGxP
bk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFu
ZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxz
ZSk7CisgICAgICAgIH0pOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgW3ByZXZpZXcg
c2V0Q2FtZXJhVHJhbnNmb3JtOnNpbWRfbWFrZV9mbG9hdDMoY2FtZXJhLnBpdGNoLCBjYW1lcmEu
eWF3LCBjYW1lcmEuc2NhbGUpXTsKKworICAgIGNhbGxPbk1haW5SdW5Mb29wKFt3ZWFrVGhpcyA9
IFdlYWtQdHIgeyAqdGhpcyB9LCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlv
bkhhbmRsZXIpXSAoKSBtdXRhYmxlIHsKKyAgICAgICAgaWYgKHdlYWtUaGlzKQorICAgICAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIodHJ1ZSk7CisgICAgfSk7Cit9CisKKyNlbmRpZgorCiB9CiAK
ICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50
Q29udHJvbGxlci5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJv
bGxlci5oCmluZGV4IGYxZjk1ODY3MGI2NTk1OTE2N2VlMmQ4NjFjY2E0NDMwOGUxYzhjNWMuLmVl
Njg0ZTg3OGE5ZTNjYjYyNmY0ZmNmNTU5MWZkZmJkYzk1ODc0YmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKQEAgLTI3LDE0ICsyNywx
NyBAQAogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogCisjaW5jbHVkZSAiTW9k
ZWxJZGVudGlmaWVyLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9FbGVtZW50Q29udGV4dC5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NMYXllci5oPgogI2luY2x1ZGUgPHd0Zi9SZXRhaW5QdHIu
aD4KICNpbmNsdWRlIDx3dGYvVVJMLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAotI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiBPQkpDX0NMQVNTIEFTVklubGluZVBy
ZXZpZXc7CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorT0JKQ19DTEFT
UyBXS01vZGVsVmlldzsKICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDggKzUx
LDEyIEBAIHB1YmxpYzoKIAogICAgIFdlYlBhZ2VQcm94eSYgcGFnZSgpIHsgcmV0dXJuIG1fd2Vi
UGFnZVByb3h5OyB9CiAKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgdm9p
ZCBnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQoTW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9uSGFu
ZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNv
cmU6OlJlc291cmNlRXJyb3I+KT4mJik7CisgICAgdm9pZCBzZXRDYW1lcmFGb3JNb2RlbEVsZW1l
bnQoTW9kZWxJZGVudGlmaWVyLCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmKTsKKyNlbmRpZgogI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19JT1MpCi0gICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihX
ZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpOwor
ICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlmaWVyKTsKICNl
bmRpZgogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgdm9pZCBtb2Rl
bEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCwgU3RyaW5nLCBXZWJDb3JlOjpGbG9hdFNpemUs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8c3RkOjpwYWlyPFN0cmluZywgdWludDMy
X3Q+LCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwpAQCAtNTksNiArNjYsMTQgQEAgcHVi
bGljOgogI2VuZGlmCiAKIHByaXZhdGU6CisjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVX
KQorICAgIEFTVklubGluZVByZXZpZXcgKiBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVs
SWRlbnRpZmllcik7CisjZW5kaWYKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19J
T1MpCisgICAgV0tNb2RlbFZpZXcgKiBtb2RlbFZpZXdGb3JNb2RlbElkZW50aWZpZXIoTW9kZWxJ
ZGVudGlmaWVyKTsKKyNlbmRpZgorCiAgICAgV2ViUGFnZVByb3h5JiBtX3dlYlBhZ2VQcm94eTsK
ICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIFJldGFpblB0cjxBU1ZJ
bmxpbmVQcmV2aWV3PiBwcmV2aWV3Rm9yVVVJRChjb25zdCBTdHJpbmcmKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IGY5NWRkNzgzZDVhNjdkNDdkZDhjYmIy
ZWE1ZjgzYzk4ZjU0NDBlMmYuLmYwZDFlNzViNWRmM2I3MmE1MmQ5Mjg3Mjc5MDNhOTY0YWFmNWQ2
ZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTA4MzIs
MTAgKzEwODMyLDIyIEBAIFdlYkNvcmU6OkNhcHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQcm94
eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCisjaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQordm9pZCBXZWJQYWdlUHJveHk6Om1vZGVsRWxl
bWVudEdldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdl
YkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2Rl
bEVsZW1lbnRDb250cm9sbGVyKCktPmdldENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50
aWZpZXIsIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwordm9pZCBXZWJQYWdlUHJv
eHk6Om1vZGVsRWxlbWVudFNldENhbWVyYShNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVy
LCBXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChib29sKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBtb2RlbEVsZW1lbnRD
b250cm9sbGVyKCktPnNldENhbWVyYUZvck1vZGVsRWxlbWVudChtb2RlbElkZW50aWZpZXIsIGNh
bWVyYSwgV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorI2VuZGlmCisKICNpZiBFTkFC
TEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9pZCBXZWJQYWdlUHJveHk6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJ
RCBjb250ZW50TGF5ZXJJZCkKK3ZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVs
bHNjcmVlbihNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKQogewotICAgIG1vZGVsRWxl
bWVudENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oY29udGVudExheWVy
SWQpOworICAgIG1vZGVsRWxlbWVudENvbnRyb2xsZXIoKS0+dGFrZU1vZGVsRWxlbWVudEZ1bGxz
Y3JlZW4obW9kZWxJZGVudGlmaWVyKTsKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCmluZGV4IDE2ZTg2ZTBhZmM1MDFlNzRkN2Q2ZGQyYzkxMzBkN2I1MDU1
YjE5MzYuLmM3MGQwYzc3MWM1YzI5NDE3ZTdhYTQ5N2MzZDgxMGIxNDFiOTA4MTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0xOTYsNiArMTk2LDcgQEAgaW50ZXJm
YWNlIElEM0QxMURldmljZTE7CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAj
aW5jbHVkZSAiTW9kZWxFbGVtZW50Q29udHJvbGxlci5oIgorI2luY2x1ZGUgIk1vZGVsSWRlbnRp
Zmllci5oIgogI2VuZGlmCiAKIG5hbWVzcGFjZSBBUEkgewpAQCAtNTg3LDkgKzU4OCwxMSBAQCBw
dWJsaWM6CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAgICAgTW9kZWxFbGVt
ZW50Q29udHJvbGxlciogbW9kZWxFbGVtZW50Q29udHJvbGxlcigpIHsgcmV0dXJuIG1fbW9kZWxF
bGVtZW50Q29udHJvbGxlci5nZXQoKTsgfQorICAgIHZvaWQgbW9kZWxFbGVtZW50R2V0Q2FtZXJh
KE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxXZWJDb3Jl
OjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+JiYpOwor
ICAgIHZvaWQgbW9kZWxFbGVtZW50U2V0Q2FtZXJhKE1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sKT4mJik7
CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQg
dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZv
cm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKKyAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmlldyhjb25z
dCBVUkwmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBXZWJDb3JlOjpGbG9hdFNpemUmLCBDb21wbGV0
aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2Vi
Q29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgppbmRleCAxNjE2M2FjZmYyYzhhOGMzODkxZjYxMjk4
YjAwYjEwOWVhOTRiNmE5Li42ZjA3NGY1MzBiMmVhODEwYmQxNDc1ZmE2ZWEyZTcyY2MzN2E5YTFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2Vz
LmluCkBAIC01ODYsNyArNTg2LDcgQEAgbWVzc2FnZXMgLT4gV2ViUGFnZVByb3h5IHsKICNlbmRp
ZgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICBUYWtlTW9kZWxF
bGVtZW50RnVsbHNjcmVlbih1aW50NjRfdCBjb250ZW50TGF5ZXJJRCkKKyAgICBUYWtlTW9kZWxF
bGVtZW50RnVsbHNjcmVlbihzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVu
dGlmaWVyKQogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAg
ICBNb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCB1cmwsIFN0cmluZyB1dWlkLCBXZWJD
b3JlOjpGbG9hdFNpemUgc2l6ZSkgLT4gKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQz
Ml90PiwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBBc3luYwpAQCAtNTk0LDYgKzU5
NCwxMCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlUHJveHkgewogICAgIEhhbmRsZU1vdXNlTW92ZUZv
ck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9jYXRpb25J
blBhZ2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0aW1lc3RhbXApCiAgICAgSGFuZGxlTW91
c2VVcEZvck1vZGVsRWxlbWVudChTdHJpbmcgdXVpZCwgV2ViQ29yZTo6TGF5b3V0UG9pbnQgbG9j
YXRpb25JblBhZ2VDb29yZGluYXRlcywgTW9ub3RvbmljVGltZSB0aW1lc3RhbXApCiAjZW5kaWYK
KyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCisgICAgTW9kZWxFbGVtZW50R2V0Q2Ft
ZXJhKHN0cnVjdCBXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpIC0+IChF
eHBlY3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJj
ZUVycm9yPiByZXN1bHQpIEFzeW5jCisgICAgTW9kZWxFbGVtZW50U2V0Q2FtZXJhKHN0cnVjdCBX
ZWJLaXQ6Ok1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIHN0cnVjdCBXZWJDb3JlOjpI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSkgLT4gKGJvb2wgc3VjY2VzcykgQXN5bmMKKyNl
bmRpZgogCiAgICAgcmVxdWVzdFBlcm1pc3Npb24oc3RydWN0IFdlYkNvcmU6OkNsaWVudE9yaWdp
biBvcmlnaW4sIHN0cnVjdCBXZWJDb3JlOjpQZXJtaXNzaW9uRGVzY3JpcHRvciBkZXNjcmlwdG9y
KSAtPiAoZW51bTp1aW50OF90IFdlYkNvcmU6OlBlcm1pc3Npb25TdGF0ZSBzdGF0ZSkgQXN5bmMK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5k
ZXggNmVmZWNiY2VlNDY1OTJlNzU4ZTBlODhjZjZlOTE4MWNlOTI5OTk4Yi4uMzYxNmNjNWQyYmM5
Njg1YTFhZGY5OTFhOTNhOGM3YTI4YjVmZGJhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktp
dC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NzA4LDYgKzQ3MDgsNyBAQAogCQk3MUE2
NzZBNTIyQzYyMzE4MDA3RDYyOTUgLyogV0tUb3VjaEFjdGlvbkdlc3R1cmVSZWNvZ25pemVyLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tUb3VjaEFjdGlvbkdl
c3R1cmVSZWNvZ25pemVyLm1tOyBwYXRoID0gaW9zL1dLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2du
aXplci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzEyNUZGQ0NCQTAw
RDdDRDVEIC8qIFdLTW9kZWxWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdLTW9kZWxWaWV3Lmg7IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNzFCQUE3MzIyNUZGQ0NCQTAwRDdDRDVEIC8qIFdLTW9kZWxWaWV3Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBuYW1lID0gV0tNb2RlbFZpZXcubW07
IHBhdGggPSBpb3MvV0tNb2RlbFZpZXcubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTcxRTk2NTBGMjc0NTY4MkUwMEFEQ0Y0MyAvKiBNb2RlbElkZW50aWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9kZWxJZGVudGlmaWVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcx
RkI4MTBBMjI2MDYyN0EwMDMyMzY3NyAvKiBXZWJzaXRlU2ltdWxhdGVkTW91c2VFdmVudHNEaXNw
YXRjaFBvbGljeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJzaXRlU2lt
dWxhdGVkTW91c2VFdmVudHNEaXNwYXRjaFBvbGljeS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MjAzNDQ5QTI2QTZDNDRDMDAwQTVGNTQgLyogTW9ub3RvbmljT2JqZWN0SWRlbnRp
Zmllci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNb25vdG9uaWNPYmplY3RJZGVudGlmaWVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcyMDM0NDlCMjZBNkM0NzYwMDBBNUY1NCAvKiBSZW5k
ZXJpbmdVcGRhdGVJRC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSZW5kZXJpbmdVcGRhdGVJRC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjgzNCw2ICs2ODM1LDcgQEAKIAkJCQkyRDEwODc1
RTFEMkM1NzNFMDBCODVGODIgLyogTG9hZFBhcmFtZXRlcnMuY3BwICovLAogCQkJCTJEMTA4NzVG
MUQyQzU3M0UwMEI4NUY4MiAvKiBMb2FkUGFyYW1ldGVycy5oICovLAogCQkJCTQ5OTE3REIwMjUy
RTMwNzUwMDUwMzEzRiAvKiBNZWRpYVBsYXliYWNrU3RhdGUuaCAqLywKKwkJCQk3MUU5NjUwRjI3
NDU2ODJFMDBBRENGNDMgLyogTW9kZWxJZGVudGlmaWVyLmggKi8sCiAJCQkJNzIwMzQ0OUEyNkE2
QzQ0QzAwMEE1RjU0IC8qIE1vbm90b25pY09iamVjdElkZW50aWZpZXIuaCAqLywKIAkJCQkyRDUw
MzY2QTFCQ0RFMTc5MDBFMjBCQjMgLyogTmF0aXZlV2ViR2VzdHVyZUV2ZW50LmggKi8sCiAJCQkJ
QzAyQkZGMTUxMjUxNEZEODAwOUNDQkVBIC8qIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKaW5kZXggM2NhYWNiMzU2NWY5Zjg2NjNiNDgyNGQ4
NzdjMTRhMWU1OTNhNjMyNC4uY2MzNDRhNTdiYTBhMDA5MzY2YTFjODBhMjRhNjhlZmFhNjdmYjhh
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVs
L0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmgKQEAgLTI3LDkgKzI3LDEyIEBACiAKICNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVcpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL01vZGVs
UGxheWVyLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVudC5oPgotI2luY2x1
ZGUgPHd0Zi9Db21waWxlci5oPgorI2ltcG9ydCAiTW9kZWxJZGVudGlmaWVyLmgiCisjaW1wb3J0
ICJXZWJQYWdlLmgiCisjaW1wb3J0ICJXZWJQYWdlUHJveHlNZXNzYWdlcy5oIgorI2ltcG9ydCA8
V2ViQ29yZS9Nb2RlbFBsYXllci5oPgorI2ltcG9ydCA8V2ViQ29yZS9Nb2RlbFBsYXllckNsaWVu
dC5oPgorI2ltcG9ydCA8d3RmL0NvbXBpbGVyLmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBA
IC00MywxMSArNDYsMTUgQEAgcHJvdGVjdGVkOgogICAgIFdlYlBhZ2UqIHBhZ2UoKSB7IHJldHVy
biBtX3BhZ2UuZ2V0KCk7IH0KICAgICBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCogY2xpZW50
KCkgeyByZXR1cm4gbV9jbGllbnQuZ2V0KCk7IH0KIAorICAgIHZpcnR1YWwgc3RkOjpvcHRpb25h
bDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpID0gMDsKKwogcHJpdmF0ZToKICAg
ICAvLyBXZWJDb3JlOjpNb2RlbFBsYXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNv
cmU6Ok1vZGVsJiwgV2ViQ29yZTo6TGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1M
YXllciogbGF5ZXIoKSBvdmVycmlkZTsKICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJy
aWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRp
b25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYmKT4mJikgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsKIAogICAgIFdlYWtQdHI8V2Vi
UGFnZT4gbV9wYWdlOwogICAgIFdlYWtQdHI8V2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQ+IG1f
Y2xpZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01v
ZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCmluZGV4IGVkYmQxNGExOWNkM2Iz
NWRiMzA0NDY1MmJhYzM2MjFmZWNiMjcyNTEuLjBjMDFmMjA2Y2E2ZGIwNzk1MDUwYTk0MGY1YjAw
ZTBjZDFkMGVlMmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9B
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW0KQEAgLTU1LDYgKzU1
LDUzIEBAIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmVudGVyRnVsbHNjcmVl
bigpCiB7CiB9CiAKK3ZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVy
YShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVs
RWxlbWVudENhbWVyYT4mJik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2Rl
bElkZW50aWZpZXIgPSB0aGlzLT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRl
bnRpZmllcikgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQpOworICAg
ICAgICByZXR1cm47CisgICAgfQorCisgICAgYXV0byogc3Ryb25nUGFnZSA9IG1fcGFnZS5nZXQo
KTsKKyAgICBpZiAoIXN0cm9uZ1BhZ2UpIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoc3Rk
OjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcj4pPiByZW1vdGVDb21wbGV0aW9uSGFuZGxlciA9IFtjb21wbGV0aW9u
SGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoRXhwZWN0ZWQ8V2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBt
dXRhYmxlIHsKKyAgICAgICAgaWYgKCFyZXN1bHQpIHsKKyAgICAgICAgICAgIGNvbXBsZXRpb25I
YW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKwor
ICAgICAgICBjb21wbGV0aW9uSGFuZGxlcigqcmVzdWx0KTsKKyAgICB9OworCisgICAgc3Ryb25n
UGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxl
bWVudEdldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9u
SGFuZGxlcikpOworfQorCit2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRD
YW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25I
YW5kbGVyPHZvaWQoYm9vbCYmKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKK3sKKyAgICBhdXRvIG1v
ZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigpOworICAgIGlmICghbW9kZWxJ
ZGVudGlmaWVyKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIGF1dG8qIHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7Cisg
ICAgaWYgKCFzdHJvbmdQYWdlKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKGZhbHNlKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCk+IHJlbW90ZUNvbXBsZXRpb25IYW5kbGVyID0gW2NvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92
ZShjb21wbGV0aW9uSGFuZGxlcildIChib29sIHN1Y2Nlc3MpIG11dGFibGUgeworICAgICAgICBj
b21wbGV0aW9uSGFuZGxlcihXVEZNb3ZlKHN1Y2Nlc3MpKTsKKyAgICB9OworCisgICAgc3Ryb25n
UGFnZS0+c2VuZFdpdGhBc3luY1JlcGx5KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6Ok1vZGVsRWxl
bWVudFNldENhbWVyYSgqbW9kZWxJZGVudGlmaWVyLCBjYW1lcmEpLCBXVEZNb3ZlKHJlbW90ZUNv
bXBsZXRpb25IYW5kbGVyKSk7Cit9CisKIH0KIAogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
SU9TLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TLmgKaW5kZXggMWNlMDcwYjZhMGVmMzUwZWQwYzRiYjBhYjViMjA4
MDM5Yzg0YjFiMS4uNDBhMjU5NWY3MGU0YmVlMWYxZDY2ODdhNDIyZGZkN2E3MzM3ZGJkNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllcklPUy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2Rl
bC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MuaApAQCAtNDEsNiArNDEsOCBA
QCBwdWJsaWM6CiBwcml2YXRlOgogICAgIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
KFdlYlBhZ2UmLCBXZWJDb3JlOjpNb2RlbFBsYXllckNsaWVudCYpOwogCisgICAgc3RkOjpvcHRp
b25hbDxNb2RlbElkZW50aWZpZXI+IG1vZGVsSWRlbnRpZmllcigpIG92ZXJyaWRlOworCiAgICAg
Ly8gV2ViQ29yZTo6TW9kZWxQbGF5ZXIgb3ZlcnJpZGVzLgogICAgIHZvaWQgZW50ZXJGdWxsc2Ny
ZWVuKCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgV2ViQ29yZTo6
TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5
ZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVySU9TLm1tCmluZGV4IDNlYzZlZmM0ZGUxZWI1MzRkMTkwYjI1YWQw
NzA2NjcwYjI2ZTM4YmQuLjVmMTM3Mjk3NjMyOGU1NTI1ZWM2NGNhN2IwYTAxZWRjOTQ2YzY0OWEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxp
bmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5tbQpAQCAtNDgsMTUg
KzQ4LDI3IEBAIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjp+QVJLaXRJbmxpbmVQ
cmV2aWV3TW9kZWxQbGF5ZXJJT1MoKQogewogfQogCitzdGQ6Om9wdGlvbmFsPE1vZGVsSWRlbnRp
Zmllcj4gQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6Om1vZGVsSWRlbnRpZmllcigp
Cit7CisgICAgaWYgKCFjbGllbnQoKSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGlmIChh
dXRvIGxheWVySWQgPSBjbGllbnQoKS0+cGxhdGZvcm1MYXllcklEKCkpCisgICAgICAgIHJldHVy
biB7IHsgbGF5ZXJJZCB9IH07CisKKyAgICByZXR1cm4geyB9OworfQorCiAvLyBNQVJLOiAtIFdl
YkNvcmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KIAogdm9pZCBBUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKCkKIHsKLSAgICBpZiAoIWNsaWVudCgpIHx8
ICFwYWdlKCkpCisgICAgYXV0byogc3Ryb25nUGFnZSA9IHBhZ2UoKTsKKyAgICBpZiAoIXN0cm9u
Z1BhZ2UpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmIChhdXRvIGxheWVySWQgPSBjbGllbnQo
KS0+cGxhdGZvcm1MYXllcklEKCkpCi0gICAgICAgIHBhZ2UoKS0+dGFrZU1vZGVsRWxlbWVudEZ1
bGxzY3JlZW4obGF5ZXJJZCk7CisgICAgaWYgKGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhpcy0+
bW9kZWxJZGVudGlmaWVyKCkpCisgICAgICAgIHN0cm9uZ1BhZ2UtPnNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6VGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oKm1vZGVsSWRlbnRpZmllcikp
OwogfQogCiB2b2lkIEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TOjpoYW5kbGVNb3Vz
ZURvd24oY29uc3QgV2ViQ29yZTo6TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9B
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCmluZGV4IDY3MzE5MTZjNzQ4ZGRiYzVh
NzM4Mzg3NmM3Yjk0ZWFkYTA3NTBlMDcuLmIzYzhlNDIwOGIxMmU1MTlkNGQwNzM5OWMzYzc1YzE0
MTE4YTQ4MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMv
QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLmgKQEAg
LTQ3LDYgKzQ3LDggQEAgcHVibGljOgogcHJpdmF0ZToKICAgICBBUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllck1hYyhXZWJQYWdlJiwgV2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAor
ICAgIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBtb2RlbElkZW50aWZpZXIoKSBvdmVy
cmlkZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1vZGVsUGxheWVyIG92ZXJyaWRlcy4KICAgICB2b2lk
IGxvYWQoV2ViQ29yZTo6TW9kZWwmLCBXZWJDb3JlOjpMYXlvdXRTaXplKSBvdmVycmlkZTsKICAg
ICBQbGF0Zm9ybUxheWVyKiBsYXllcigpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJNYWMubW0KaW5kZXggNDU1MjY1Mzc2NDJjNWNjNzE0MWM1NGY1NzUxZTI5
NWFlZWYzM2ViYi4uY2IyNWEzYzgxMTM4NDhkMWMyZTQ4ZDdjZGFjOWNiM2M1NDcyMTEzYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9k
ZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1tCkBAIC01NSw2ICs1NSwx
MyBAQCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYzo6fkFSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVyTWFjKCkKICAgICBjbGVhckZpbGUoKTsKIH0KIAorc3RkOjpvcHRpb25hbDxN
b2RlbElkZW50aWZpZXI+IEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjOjptb2RlbElk
ZW50aWZpZXIoKQoreworICAgIGlmIChtX2lubGluZVByZXZpZXcpCisgICAgICAgIHJldHVybiB7
IHsgW21faW5saW5lUHJldmlldyB1dWlkXS5VVUlEU3RyaW5nIH0gfTsKKyAgICByZXR1cm4geyB9
OworfQorCiBzdGF0aWMgU3RyaW5nJiBzaGFyZWRNb2RlbEVsZW1lbnRDYWNoZURpcmVjdG9yeSgp
CiB7CiAgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFN0cmluZz4gc2hhcmVkTW9kZWxFbGVtZW50
Q2FjaGVEaXJlY3Rvcnk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCmluZGV4IGZjN2JjMzMyM2FiNGY5
YzZiY2M5OTI5ZmE2ZWM4YjVmMGYwODIzMDQuLjQzNmE1YTUyMDM1YTA2NTc1ODljMGU5MGIwODQy
YzQzMzY1ODFlM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwCkBAIC0xNTI0LDEzICsxNTI0LDYg
QEAgdm9pZCBXZWJDaHJvbWVDbGllbnQ6OmVudW1lcmF0ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFAKIH0KICNlbmRpZgogCi0jaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXX0lPUykKLXZvaWQgV2ViQ2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVt
ZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29u
dGVudExheWVySWQpIGNvbnN0Ci17Ci0gICAgbV9wYWdlLnRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKGNvbnRlbnRMYXllcklkKTsKLX0KLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9B
TVNfVUkpCiAKIHZvaWQgV2ViQ2hyb21lQ2xpZW50OjpzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9u
KGNvbnN0IFVSTCYgb3JpZ2luYXRpbmdVUkwsIGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1ZXN0JiBy
ZXF1ZXN0LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmgKaW5kZXggYTc0OWY1OTMxOTI3NGVl
NDZlMGFkODEyNWE4OTRlZDZjZmUwYjk0ZS4uMmZlMzI5MDM0MzQ3Y2VkMjhmODEwNTdkYTNmZWMy
MzMwN2FlNzA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYkNocm9tZUNsaWVudC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaApAQCAtNDU1LDEwICs0NTUsNiBAQCBwcml2
YXRlOgogICAgIHZvaWQgZW51bWVyYXRlSW1tZXJzaXZlWFJEZXZpY2VzKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoY29uc3QgUGxhdGZvcm1YUjo6SW5zdGFuY2U6OkRldmljZUxpc3QmKT4mJikgZmlu
YWw7CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAg
dm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQ
bGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpIGNvbnN0IGZpbmFsOwotI2VuZGlmCi0KICNp
ZiBFTkFCTEUoQVBQTEVfUEFZX0FNU19VSSkKICAgICB2b2lkIHN0YXJ0QXBwbGVQYXlBTVNVSVNl
c3Npb24oY29uc3QgVVJMJiwgY29uc3QgV2ViQ29yZTo6QXBwbGVQYXlBTVNVSVJlcXVlc3QmLCBD
b21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8Ym9vbD4mJik+JiYpIGZpbmFsOwog
ICAgIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIGZpbmFsOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBiMThkN2Y3MmU2N2FjYWQ0
YWI1NDZkNGQ0MDhlZGFhMTRhYzY5Y2FiLi5kZDU5Y2ZhNzEwNmYwODQ0MmUzZmIzOTkzYjFhODgw
ODgxZjdiYTM2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtNzc4OSwxMyArNzc4OSw2IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlQ29udGV4dE1l
bnVUcmFuc2xhdGlvbihjb25zdCBUcmFuc2xhdGlvbkNvbnRleHRNZW51SW5mbyYgaW5mCiB9CiAj
ZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIFdlYlBh
Z2U6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBs
YXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJZCkKLXsKLSAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OlRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKSk7Ci19
Ci0jZW5kaWYKLQogdm9pZCBXZWJQYWdlOjpzY3JvbGxUb1JlY3QoY29uc3QgV2ViQ29yZTo6Rmxv
YXRSZWN0JiB0YXJnZXRSZWN0LCBjb25zdCBXZWJDb3JlOjpGbG9hdFBvaW50JiBvcmlnaW4pCiB7
CiAgICAgbWFpbkZyYW1lVmlldygpLT5zZXRTY3JvbGxQb3NpdGlvbihJbnRQb2ludCh0YXJnZXRS
ZWN0Lm1pblhNaW5ZQ29ybmVyKCkpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuaAppbmRleCA0MWUyNjAzOWFiODE0YjQ0MjRjMmUyMmE2YzRlZjJjYTNlYTFiZjdl
Li43NDAzZjc3ZDUwYWNkMWZkNTAwYmRlZjllNGJhYTJlNTdmODI4NDVhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0xNDkwLDEwICsxNDkwLDYgQEAg
cHVibGljOgogICAgIFBsYXRmb3JtWFJTeXN0ZW1Qcm94eSYgeHJTeXN0ZW1Qcm94eSgpOwogI2Vu
ZGlmCiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFr
ZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1M
YXllcklEIGNvbnRlbnRMYXllcklkKTsKLSNlbmRpZgotCiAgICAgdm9pZCBwcmVwYXJlVG9SdW5N
b2RhbEphdmFTY3JpcHREaWFsb2coKTsKIAogI2lmIFVTRShBVFNQSSkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444691</attachid>
            <date>2021-11-18 09:13:51 -0800</date>
            <delta_ts>2021-11-18 10:44:51 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233265-20211118181349.patch</filename>
            <type>text/plain</type>
            <size>67510</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg1OTg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCBmOGU4Njc5OGFkOWE2ZmQ2Yzg2MzAwZDJmYjIyZTRhZDY5NmI1NmM0Li4xYzdmODg4OGY4MzA4
YWUwMTA3ZWUzMzk4ZjAxZTdkNGQzY2VmZmQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OmdldENhbWVyYSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xOCBBbnRvaW5l
IFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtNb2RlbF0gW21hY09TXSBB
ZGQgc3VwcG9ydCBmb3IgaW50ZXJhY3Rpb24gb24gbWFjT1MKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1BBTC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdlTG9nCmluZGV4
IDI5OTcwNTgzMDZhY2ZhODNhZjk0ZDAyZmIyZDkwNWEwOTQzMDE5YWUuLjM3OGZhMjA5YTU5OGM1
ZjljYzBkMzQ1N2UxMTQ3N2QyM2IxMTQ0YzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BB
TC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwpAQCAtMSwzICsx
LDE2IEBACisyMDIxLTExLTE4ICBBbnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgor
CisgICAgICAgIFtNb2RlbF0gYWRkIHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhl
IGNhbWVyYQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MjMzMjY1CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZp
ZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUlFMIFNQSXMgd2Ug
YXJlIHVzaW5nLgorCisgICAgICAgICogcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oOgor
ICAgICAgICAqIHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaDoKKwogMjAyMS0xMS0xOCAg
QW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFtt
YWNPU10gQWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGRm
MDcyNDFiNzliYjM1Y2JhOTc0MDNkY2NmOTc4Nzg1YmQ4ZjUwYTEuLjFmNjU5ODg1ZjA2NWQwNGY4
NmY2MTllNGQxOWNjZmQ2MTk0MGMwY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjIgQEAKKzIwMjEt
MTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01v
ZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAg
ICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmlu
IEFkbGVyLgorCisgICAgICAgIFRoZSBBUlFMIEFQSXMgd2UnZCBhZG9wdGVkIHNvIGZhciB3ZXJl
IHNwZWNpZmljIHRvIGVpdGhlciBtYWNPUyBvciBpT1MuIFRoZSBuZXcgY2FtZXJhCisgICAgICAg
IG1ldGhvZHMgYXJlIGRpZmZlcmVudCBzaW5jZSB0aGV5IGV4aXN0IG9uIGJvdGggcGxhdGZvcm1z
LgorCisgICAgICAgIEluIG9yZGVyIHRvIGV4cG9zZSBhIHNpbmdsZSBtZXNzYWdlIGZvciBib3Ro
IHBsYXRmb3Jtcywgd2UgaW50cm9kdWNlIGEgbmV3IE1vZGVsSWRlbnRpZmllcgorICAgICAgICBz
dHJ1Y3Qgd2hpY2ggd3JhcHMgdGhlIFVVSUQgc3RyaW5nIGZvciBtYWNPUyBhbmQgdGhlIGxheWVy
IGlkZW50aWZpZXIgZm9yIGlPUy4gVGhlbiBvbgorICAgICAgICBNb2RlbEVsZW1lbnRDb250cm9s
bGVyLCB3ZSBoYXZlIHRoZSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKCkgbWV0aG9kIHRvIGdl
dCB0aGUgbWF0Y2hpbmcKKyAgICAgICAgQVNWSW5saW5lUHJldmlldyBmb3IgdGhlIHByb3ZpZGVk
IE1vZGVsSWRlbnRpZmllci4KKworICAgICAgICBUaGlzIGFsbG93cyBnZXRDYW1lcmFGb3JNb2Rl
bEVsZW1lbnQoKSBhbmQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50IHRvIGJlIHNwZWNpZmllZCBm
b3IgYm90aAorICAgICAgICBpT1MgYW5kIG1hY09TIHdpdGggYSBzaW5nbGUgaW1wbGVtZW50YXRp
b24uCisKKyAgICAgICAgV2UgYWxzbyBtb2RpZnkgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
KSB0byB0YWtlIGFkdmFudGFnZSBvZiBNb2RlbElkZW50aWZpZXIgd2hpY2ggc2hvd2VkCisgICAg
ICAgIHRoYXQgd2UgaGFkIHNvbWUgbGluZ2VyaW5nIGNvZGUgaW4gQ2hyb21lQ2xpZW50IHJlbGF0
ZWQgdG8gdGhpcyBtZXRob2QgdGhhdCB3YXMgbm8gbG9uZ2VyCisgICAgICAgIG5lY2Vzc2FyeSBm
b2xsb3dpbmcgcjI4NTkyMi4KKworICAgICAgICAqIFNoYXJlZC9Nb2RlbElkZW50aWZpZXIuaDog
Q29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0
L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaC4KKyAgICAgICAgKFdlYktpdDo6TW9kZWxJZGVudGlmaWVy
OjplbmNvZGUgY29uc3QpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbElkZW50aWZpZXI6OmRlY29k
ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2Nv
YS5tbToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxWaWV3
Rm9yTW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50Q29udHJv
bGxlcjo6cHJldmlld0Zvck1vZGVsSWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVs
RWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAg
KFdlYktpdDo6cHJldmlld0hhc0NhbWVyYVN1cHBvcnQpOgorICAgICAgICAoV2ViS2l0OjpNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjpnZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQpOgorICAgICAgICAo
V2ViS2l0OjpNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpzZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQ
cm94eTo6bW9kZWxFbGVtZW50R2V0Q2FtZXJhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVBy
b3h5Ojptb2RlbEVsZW1lbnRTZXRDYW1lcmEpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJv
eHk6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2Vi
UGFnZVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5p
bjoKKyAgICAgICAgKiBXZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXI6OmdldENhbWVy
YSk6CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpzZXRD
YW1lcmEpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVySU9TLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW06CisgICAgICAgIChXZWJLaXQ6OkFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIpOgorICAgICAgICAoV2Vi
S2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6ZW50ZXJGdWxsc2NyZWVuKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllck1hYy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVyTWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4gY29uc3QpOiBEZWxldGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmg6
CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbik6IERlbGV0ZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKwogMjAyMS0xMS0xOCAgQW50b2lu
ZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KIAogICAgICAgICBbTW9kZWxdIFttYWNPU10g
QWRkIHN1cHBvcnQgZm9yIGludGVyYWN0aW9uIG9uIG1hY09TCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNvY29hLmggYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVu
YWJsZUNvY29hLmgKaW5kZXggMGQxNDNiZjViMzFmMDE1MzJmYTRjMmY4NmQ5ODU5ZWMxYjA1NWVj
YS4uMmRkOWZhMmIyN2NiNDA3Y2FkYjczOTQwYTI3NWM0ZDY3NTJjM2RhNCAxMDA2NDQKLS0tIGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L1BsYXRmb3JtRW5hYmxlQ29jb2EuaApAQCAtNzQzLDMgKzc0Myw3IEBACiAjaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykgfHwgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01B
QykKICNkZWZpbmUgRU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXIDEKICNlbmRpZgorCisjaWYg
KEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9N
QVhfQUxMT1dFRCA+PSAxMjA0MDApIHx8IChFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KSAmJiBfX0lQSE9ORV9PU19WRVJTSU9OX01BWF9BTExPV0VEID49IDE1MDQwMCkKKyNkZWZpbmUg
RU5BQkxFX0FSS0lUX0lOTElORV9QUkVWSUVXX0NBTUVSQV9UUkFOU0ZPUk0gMQorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CmluZGV4IDVhMDQxNTVjNGMwZjhiZGJiODg4MTA2MTU5NzIyZGViOWJk
MDE0NTUuLjBlZTBiZTMwM2QyYTcyNWY1MTYwM2UxMzFmNmUyMWVjMjg1NTZmY2YgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NN
YWtlTGlzdHMudHh0CkBAIC00NjMsNiArNDYzLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExf
RklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYW5zZm9ybUV2ZW50LmlkbAogCiAg
ICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisgICAgTW9kdWxl
cy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsCiAKICAgICBNb2R1bGVz
L25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbAogICAgIE1vZHVsZXMvbm90aWZpY2F0aW9u
cy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKaW5kZXggZjNjZWVjZDQ4ZDk5NWViMzcyNjJiZGYzNDI0
NmY5ZDhkNmQzYjUyMi4uYTcyZmFkNTgxZDYxYmNjM2M2NjA5ODdjMGUyMTdjYTBmY2NkZWYwMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlz
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CkBA
IC0xNTgsNiArMTU4LDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4
U3RhdGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL1dlYkdQVS9HUFVWZXJ0ZXhTdGVwTW9k
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL05hdmlnYXRvckdQVS5pZGwKICQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYWlycGxheS9XZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJp
bGl0eUV2ZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS1hbXMtdWkvQXBw
bGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q2FuY2VsRXZlbnQuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L0Fw
cGxlUGF5Q29udGFjdEZpZWxkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheUNvdXBvbkNvZGVDaGFuZ2VkRXZlbnQuaWRsCkBAIC0yMDUsNyArMjA2LDYgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kVXBkYXRl
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVZhbGlkYXRlTWVy
Y2hhbnRFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvcGF5bWVudHJl
cXVlc3QvQXBwbGVQYXlNb2RpZmllci5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVw
YXkvcGF5bWVudHJlcXVlc3QvQXBwbGVQYXlSZXF1ZXN0LmlkbAotJChQUk9KRUNUX0RJUikvTW9k
dWxlcy9hcHBsZXBheS1hbXMtdWkvQXBwbGVQYXlBTVNVSVJlcXVlc3QuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmQuaWRsCiAkKFBST0pFQ1RfRElS
KS9Nb2R1bGVzL2FzeW5jLWNsaXBib2FyZC9DbGlwYm9hcmRJdGVtLmlkbAogJChQUk9KRUNUX0RJ
UikvTW9kdWxlcy9hc3luYy1jbGlwYm9hcmQvTmF2aWdhdG9yK0NsaXBib2FyZC5pZGwKQEAgLTQy
OCw2ICs0MjgsNyBAQCAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1N0YXRz
UmVwb3J0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFja0V2
ZW50LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1F
dmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2Rl
bEVsZW1lbnRDYW1lcmEuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL21vZGVybi1tZWRpYS1j
b250cm9scy9jb250cm9scy9hY3Rpdml0eS1pbmRpY2F0b3IuY3NzCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5jc3MK
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL2NvbnRyb2xzL2Fp
cnBsYXktYnV0dG9uLmpzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1
dC54Y2ZpbGVsaXN0CmluZGV4IDRjNWZmOTU0YTE1OTdlZGJmNTBkNjJhZDcyOTA3NDI4YzVkMDUz
YjYuLmIyMjQxNzIxMGRkYmEzNzBjZjY0ZmY5OTFlYjA1ODg1MzkxM2ZlN2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CkBAIC0xMjgzLDYg
KzEyODMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hUTUxNb2RFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxNb2RlbEVsZW1lbnQuaAorJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE9MaXN0RWxlbWVudC5oCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0hUTUxPYmplY3RFbGVtZW50
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZjg4ZTYzOWI5ZDc0YjlkZDU0
NDhjZWQ5OTE4MWMwZGYwZjUyODE0NC4uYjFiNmE4YTU1MTkxMjY2MzRiNTE5NjA1Nzk3ZGFiNGM2
NTkyZWM4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC00NTMsNiArNDUzLDcg
QEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDVHJhY2tFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVh
bS9SVENUcmFuc2Zvcm1FdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVybWlzc2lvbi5pZGwgXAogICAgICQo
V2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRpb25zL05vdGlmaWNhdGlvblBlcm1pc3Npb25DYWxs
YmFjay5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZSBiL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKaW5kZXggMmEyN2U2MDIyMDU2YjdjOWRkNTkxYTcx
MTk0Y2QzMTRjMWM2NDJjNy4uNzM0ZDZkNzc4NmQ5OTgyYTU2YThjNWRiZDU1ZTc1OWYwNjdlYmJm
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvSGVhZGVycy5jbWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9IZWFkZXJzLmNtYWtlCkBAIC0xMzcsNiArMTM3LDcgQEAgc2V0KFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRj
L0xpYldlYlJUQ1V0aWxzLmgKIAogICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKKyAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKICAgICBNb2R1bGVz
L21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJDbGllbnQuaAogICAgIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9Nb2RlbFBsYXllclByb3ZpZGVyLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcAppbmRleCA0ZmE2ZGU5
M2IwZTQ2N2ZhZjU3YmE0ZDIxNmE4OGY3MDgzN2QyOWFlLi44Njc4MDNiMmQ2MmUzYjYwNzFjOTYx
MjA3ZWEyMDlhN2RjZWY2YmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuY3BwCkBAIC0zNywxMSArMzcsMTQg
QEAKICNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgog
I2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXJDQS5oIgorI2luY2x1ZGUgIkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaCIKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MUGFyc2VySWRp
b21zLmgiCiAjaW5jbHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0RPTVBy
b21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpTRXZlbnRUYXJnZXQuaCIKICNpbmNsdWRlICJK
U0hUTUxNb2RlbEVsZW1lbnQuaCIKKyNpbmNsdWRlICJKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEu
aCIKICNpbmNsdWRlICJNb2RlbC5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyLmgiCiAjaW5jbHVk
ZSAiTW9kZWxQbGF5ZXJQcm92aWRlci5oIgpAQCAtMzYwLDYgKzM2MywzOCBAQCB2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmRyYWdEaWRFbmQoTW91c2VFdmVudCYgZXZlbnQpCiAgICAgICAgIG1fbW9k
ZWxQbGF5ZXItPmhhbmRsZU1vdXNlVXAoZXZlbnQucGFnZUxvY2F0aW9uKCksIGV2ZW50LnRpbWVT
dGFtcCgpKTsKIH0KIAorLy8gTUFSSzog4oCTIENhbWVyYSBzdXBwb3J0LgorCit2b2lkIEhUTUxN
b2RlbEVsZW1lbnQ6OmdldENhbWVyYShDYW1lcmFQcm9taXNlJiYgcHJvbWlzZSkKK3sKKyAgICBp
ZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlzZS5yZWplY3QoKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXItPmdldENhbWVyYShbcHJvbWlzZSA9
IFdURk1vdmUocHJvbWlzZSldIChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+
IGNhbWVyYSkgbXV0YWJsZSB7CisgICAgICAgIGlmICghY2FtZXJhKQorICAgICAgICAgICAgcHJv
bWlzZS5yZWplY3QoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgcHJvbWlzZS5yZXNvbHZl
KCpjYW1lcmEpOworICAgIH0pOworfQorCit2b2lkIEhUTUxNb2RlbEVsZW1lbnQ6OnNldENhbWVy
YShIVE1MTW9kZWxFbGVtZW50Q2FtZXJhIGNhbWVyYSwgRE9NUHJvbWlzZURlZmVycmVkPHZvaWQ+
JiYgcHJvbWlzZSkKK3sKKyAgICBpZiAoIW1fbW9kZWxQbGF5ZXIpIHsKKyAgICAgICAgcHJvbWlz
ZS5yZWplY3QoKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fbW9kZWxQbGF5ZXIt
PnNldENhbWVyYShjYW1lcmEsIFtwcm9taXNlID0gV1RGTW92ZShwcm9taXNlKV0gKGJvb2wgc3Vj
Y2VzcykgbXV0YWJsZSB7CisgICAgICAgIGlmIChzdWNjZXNzKQorICAgICAgICAgICAgcHJvbWlz
ZS5yZXNvbHZlKCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7
CisgICAgfSk7Cit9CisKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShNT0RFTF9FTEVNRU5UKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVs
ZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmgKaW5kZXggZmVlYmNjNTkzMDZjNWYyNDViOTQzMDE2MzQ0MzBkNzU5NGVlNmM1OS4u
ZmM0Y2Q2OGRhMjU0YzUwMmRhZDRjNTIyMzVkMjY1ZWU0OTRhODQwYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5o
CkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSAiQ2FjaGVkUmVzb3VyY2VIYW5kbGUuaCIKICNp
bmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiSURMVHlwZXMuaCIKICNp
bmNsdWRlICJNb2RlbFBsYXllckNsaWVudC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIK
QEAgLTQ1LDYgKzQ2LDcgQEAgY2xhc3MgTW9kZWw7CiBjbGFzcyBNb2RlbFBsYXllcjsKIGNsYXNz
IE1vdXNlRXZlbnQ7CiAKK3RlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21p
c2VEZWZlcnJlZDsKIHRlbXBsYXRlPHR5cGVuYW1lIElETFR5cGU+IGNsYXNzIERPTVByb21pc2VQ
cm94eVdpdGhSZXNvbHZlQ2FsbGJhY2s7CiAKIGNsYXNzIEhUTUxNb2RlbEVsZW1lbnQgZmluYWwg
OiBwdWJsaWMgSFRNTEVsZW1lbnQsIHByaXZhdGUgQ2FjaGVkUmF3UmVzb3VyY2VDbGllbnQsIHB1
YmxpYyBNb2RlbFBsYXllckNsaWVudCB7CkBAIC02OSw2ICs3MSwxMCBAQCBwdWJsaWM6CiAKICAg
ICB2b2lkIGVudGVyRnVsbHNjcmVlbigpOwogCisgICAgdXNpbmcgQ2FtZXJhUHJvbWlzZSA9IERP
TVByb21pc2VEZWZlcnJlZDxJRExEaWN0aW9uYXJ5PEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+PjsK
KyAgICB2b2lkIGdldENhbWVyYShDYW1lcmFQcm9taXNlJiYpOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmKTsKKwog
ICAgIGJvb2wgaXNEcmFnZ2FibGVJZ25vcmluZ0F0dHJpYnV0ZXMoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiB0cnVlOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKaW5kZXggMTYzYWQ2YzNh
YWU3ZjcxNDYxYWEwYmI5N2MwZTBiNjdhY2EwZmM3YS4uZTdlZDQwOTFiMzkwZTc0ZTFlZmEwY2Yz
OWRhYTE1YWZiYmE2MjZmOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2Rl
bC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbApAQCAtMzMsNCArMzMsNyBAQAog
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBQcm9taXNlPEhUTUxNb2RlbEVsZW1lbnQ+IHJlYWR5Owog
CiAgICAgdW5kZWZpbmVkIGVudGVyRnVsbHNjcmVlbigpOworCisgICAgUHJvbWlzZTxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBnZXRDYW1lcmEoKTsKKyAgICBQcm9taXNlPHVuZGVmaW5lZD4gc2V0
Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhKTsKIH07CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjFkOTRhOWQwYmQzMzIzMzY0ODc5NTc0NjYxNTJiY2Yz
NWM2YTRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaApAQCAtMCwwICsxLDY5IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDxvcHRpb25hbD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgSFRNTE1v
ZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoIHsgMCB9OworICAgIGRvdWJsZSB5
YXcgeyAwIH07CisgICAgZG91YmxlIHNjYWxlIHsgMSB9OworCisgICAgdGVtcGxhdGU8Y2xhc3Mg
RW5jb2Rlcj4gdm9pZCBlbmNvZGUoRW5jb2RlciYpIGNvbnN0OworICAgIHRlbXBsYXRlPGNsYXNz
IERlY29kZXI+IHN0YXRpYyBzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+IGRl
Y29kZShEZWNvZGVyJik7Cit9OworCit0ZW1wbGF0ZTxjbGFzcyBFbmNvZGVyPiB2b2lkIEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworICAg
IGVuY29kZXIgPDwgcGl0Y2g7CisgICAgZW5jb2RlciA8PCB5YXc7CisgICAgZW5jb2RlciA8PCBz
Y2FsZTsKK30KKwordGVtcGxhdGU8Y2xhc3MgRGVjb2Rlcj4gc3RkOjpvcHRpb25hbDxIVE1MTW9k
ZWxFbGVtZW50Q2FtZXJhPiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUoRGVjb2RlciYg
ZGVjb2RlcikKK3sKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4gcGl0Y2g7CisgICAgZGVjb2Rl
ciA+PiBwaXRjaDsKKyAgICBpZiAoIXBpdGNoKQorICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0
OworCisgICAgc3RkOjpvcHRpb25hbDxkb3VibGU+IHlhdzsKKyAgICBkZWNvZGVyID4+IHlhdzsK
KyAgICBpZiAoIXlhdykKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6
b3B0aW9uYWw8ZG91YmxlPiBzY2FsZTsKKyAgICBkZWNvZGVyID4+IHNjYWxlOworICAgIGlmICgh
c2NhbGUpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICByZXR1cm4geyB7ICpw
aXRjaCwgKnlhdywgKnNjYWxlIH0gfTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTcyNzA5MzFkN2YxZWI2ZGQ0
NWFmMGRjYzNlOTRkMjdkZDhiYmMyNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
WworICAgIENvbmRpdGlvbmFsPU1PREVMX0VMRU1FTlQsCisgICAgRW5hYmxlZEJ5U2V0dGluZz1N
b2RlbEVsZW1lbnRFbmFibGVkLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rpb25h
cnkgSFRNTE1vZGVsRWxlbWVudENhbWVyYSB7CisgICAgZG91YmxlIHBpdGNoOworICAgIGRvdWJs
ZSB5YXc7CisgICAgZG91YmxlIHNjYWxlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L01vZGVsUGxheWVyLmgKaW5kZXggNjc1YTQwZjI4ZGNlNmViNTNk
NWZiNDE5MGY3YWI1NzYxNTc0NjcxNS4uOWFlZWNiNWEzZGNlNGNiMTM3NGMzNTExZTM4Yzg1ODdl
MjA5ZjkzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L01vZGVsUGxheWVyLmgKQEAgLTI1LDkgKzI1LDExIEBACiAKICNwcmFnbWEgb25jZQogCisjaW5j
bHVkZSAiSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oIgogI2luY2x1ZGUgIkxheW91dFBvaW50Lmgi
CiAjaW5jbHVkZSAiTGF5b3V0U2l6ZS5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTGF5ZXIuaCIKKyNp
bmNsdWRlIDxvcHRpb25hbD4KICNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgogI2luY2x1ZGUgPHd0
Zi9Nb25vdG9uaWNUaW1lLmg+CiAKQEAgLTQ3LDcgKzQ5LDggQEAgcHVibGljOgogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVNb3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2lu
dCYsIE1vbm90b25pY1RpbWUpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91c2VVcChj
b25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUpID0gMDsKLQorICAgIHZpcnR1YWwgdm9p
ZCBnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2Rl
bEVsZW1lbnRDYW1lcmE+JiYpPiYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIHNldENhbWVyYShI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYp
ID0gMDsKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcAppbmRleCA2ODc0ODQw
ZmI4ZTllMDYwZTEzNTAxY2Y5NmMxOTZkODZkNjI1ODIzLi5jNTI5ZjA3OWU3ODJmNDgwMDgyYWI2
ZmQxMDlhNGZhNTU2OWFiM2YxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21v
ZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuY3BwCkBAIC03
MCw0ICs3MCwxMiBAQCB2b2lkIER1bW15TW9kZWxQbGF5ZXI6OmhhbmRsZU1vdXNlVXAoY29uc3Qg
TGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewogfQogCit2b2lkIER1bW15TW9kZWxQbGF5
ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29y
ZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9CisKK3ZvaWQgRHVtbXlNb2Rl
bFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVs
UGxheWVyLmgKaW5kZXggM2JiMWI4OGQxMmYzOWU4NDM0MmNiNTUxMjQ3ZGFmNTA3NzM3ZmY4NC4u
Nzk2MTM0NWE0NjI2YjMyZjI0MWFlNDI1YjU2M2MwYmYwMDEyOTQzZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlN
b2RlbFBsYXllci5oCkBAIC00Nyw2ICs0Nyw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBoYW5kbGVN
b3VzZURvd24oY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAg
ICB2b2lkIGhhbmRsZU1vdXNlTW92ZShjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpIG92ZXJyaWRlOworICAgIHZvaWQgZ2V0Q2FtZXJhKENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoc3RkOjpvcHRpb25hbDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgb3ZlcnJpZGU7CisgICAgdm9pZCBzZXRDYW1lcmEoV2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSBvdmVycmlkZTsK
IAogICAgIFdlYWtQdHI8TW9kZWxQbGF5ZXJDbGllbnQ+IG1fY2xpZW50OwogfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2Nl
bmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oCmluZGV4IDliNGYxZGY4NzkzZjc2MzZkMDI1Y2E0
NDMwMmMxYTFjODVkODFiNzguLmU3ODU0ZjgwYmI3ZDI3ZDBkZWQ5MmE0MzAzYjgzOWNiNjJkNjEw
NDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2Vu
ZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
b2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaApAQCAtNjEsNiArNjEs
OCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExheW91dFBvaW50
JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29u
c3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2b2lkIGhhbmRs
ZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKKyAg
ICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRN
TE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJh
KEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4m
Jikgb3ZlcnJpZGU7CiAKICAgICAvLyBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRl
cy4KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZyhTY2VuZUtpdE1vZGVsTG9hZGVy
JiwgUmVmPFNjZW5lS2l0TW9kZWw+KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1t
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KaW5kZXggNzc2YzY4ZmM2ZjUxZjk2N2M4ZDQzNzNmMmQwMGJkNjQ5ZTEw
NDJiNy4uZjQzMDllYjYxNDg5YmU2MTE5NzVhZDVkNDM4NTUwZWRiNzYyNmI4NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0
TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIubW0KQEAgLTg4LDYgKzg4LDE0IEBAIHZvaWQg
U2NlbmVLaXRNb2RlbFBsYXllcjo6aGFuZGxlTW91c2VVcChjb25zdCBMYXlvdXRQb2ludCYsIE1v
bm90b25pY1RpbWUpCiB7CiB9CiAKK3ZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6Z2V0Q2FtZXJh
KENvbXBsZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2Ft
ZXJhPiYmKT4mJikKK3sKK30KKwordm9pZCBTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEo
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYm
KQoreworfQorCiAvLyBNQVJLOiAtIFNjZW5lS2l0TW9kZWxMb2FkZXJDbGllbnQgb3ZlcnJpZGVz
LgogCiB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmRpZEZpbmlzaExvYWRpbmcoU2NlbmVLaXRN
b2RlbExvYWRlciYgbG9hZGVyLCBSZWY8U2NlbmVLaXRNb2RlbD4gbW9kZWwpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oIGIvU291
cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA1YTFh
ZDMwOWFlOWFhZTQ2N2M1Zjg1NGExMTRmNjI0YjgwZDIwYWY1Li4zODRhZjI3Y2VkYjQ0NmM1Y2I0
MjlhODIzYjgwNjViMzQ4YTE0NTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFs
L3NwaS9pb3MvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwv
c3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTU4LDEwICs1OCwxMSBAQCBOU19BU1NVTUVf
Tk9OTlVMTF9CRUdJTgogQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgUUxJdGVtICp0aHVt
Ym5haWxJdGVtOwogQHByb3BlcnR5IChub25hdG9taWMpIENHU2l6ZSBtYXhUaHVtYm5haWxTaXpl
OwogQGVuZAotI2VuZGlmCiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORAogCisjZW5kaWYKKwogI2lm
IEhBVkUoQVJLSVRfUVVJQ0tfTE9PS19QUkVWSUVXX0lURU0pCiAjaW1wb3J0IDxBUktpdC9BUktp
dC5oPgogCkBAIC03NywxMCArNzgsMTYgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZv
aWQpc2V0RGVsZWdhdGU6KGlkIDxBUlF1aWNrTG9va1dlYktpdEl0ZW1EZWxlZ2F0ZT4pZGVsZWdh
dGU7CiBAZW5kCiAKK05TX0FTU1VNRV9OT05OVUxMX0VORAorCiAjZW5kaWYKIAogI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCiAKKyNpbXBvcnQgPHNpbWQvc2ltZC5oPgorCitO
U19BU1NVTUVfTk9OTlVMTF9CRUdJTgorCiBAY2xhc3MgQVNWSW5saW5lUHJldmlldzsKIEBjbGFz
cyBDQUZlbmNlSGFuZGxlOwogQGludGVyZmFjZSBBU1ZJbmxpbmVQcmV2aWV3IDogTlNPYmplY3QK
QEAgLTk3LDEwICsxMDQsMTQgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZvaWQpdG91
Y2hlc0VuZGVkOihOU1NldDxVSVRvdWNoICo+ICopdG91Y2hlcyB3aXRoRXZlbnQ6KG51bGxhYmxl
IFVJRXZlbnQgKilldmVudDsKIC0gKHZvaWQpdG91Y2hlc0NhbmNlbGxlZDooTlNTZXQ8VUlUb3Vj
aCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2ZW50ICopZXZlbnQ7CiAKLUBl
bmQKK3R5cGVkZWYgdm9pZCAoXkFTVkNhbWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spIChzaW1kX2Zs
b2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpOworLSAodm9p
ZClnZXRDYW1lcmFUcmFuc2Zvcm06KEFTVkNhbWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spcmVwbHk7
CistICh2b2lkKXNldENhbWVyYVRyYW5zZm9ybTooc2ltZF9mbG9hdDMpdHJhbnNmb3JtOwogCi0j
ZW5kaWYKK0BlbmQKIAogTlNfQVNTVU1FX05PTk5VTExfRU5ECiAKICNlbmRpZgorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5o
CmluZGV4IDYwYWJjZjc3NjhiMjRkY2MzNjk5Yzk1NWZjNDc3ZGM3MGE4NmVlYzYuLjBjZDU0ZTA0
ZDcwMzNiODUwMzMwOTE1NDhjYTJhMGU3YTgxMDQxZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1BBTC9wYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaApAQCAtMzEsMTAgKzMxLDEyIEBA
CiAKICNlbHNlIC8vIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAKLU5TX0FTU1VNRV9OT05OVUxM
X0JFR0lOCi0KICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogCisjaW1wb3J0
IDxzaW1kL3NpbWQuaD4KKworTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KKwogQGNsYXNzIEFTVklu
bGluZVByZXZpZXc7CiAKIEBpbnRlcmZhY2UgQVNWSW5saW5lUHJldmlldyA6IE5TT2JqZWN0CkBA
IC01MiwxMCArNTQsMTQgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIC0gKHZvaWQpbW91c2VE
cmFnZ2VkQXRMb2NhdGlvbjooQ0dQb2ludClsb2NhdGlvbiB0aW1lc3RhbXA6KE5TVGltZUludGVy
dmFsKXRpbWVzdGFtcDsKIC0gKHZvaWQpbW91c2VVcEF0TG9jYXRpb246KENHUG9pbnQpbG9jYXRp
b24gdGltZXN0YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lc3RhbXA7CiAKLUBlbmQKK3R5cGVkZWYg
dm9pZCAoXkFTVkNhbWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spIChzaW1kX2Zsb2F0MyBjYW1lcmFU
cmFuc2Zvcm0sIE5TRXJyb3IgKiBfTnVsbGFibGUgZXJyb3IpOworLSAodm9pZClnZXRDYW1lcmFU
cmFuc2Zvcm06KEFTVkNhbWVyYVRyYW5zZm9ybVJlcGx5QmxvY2spcmVwbHk7CistICh2b2lkKXNl
dENhbWVyYVRyYW5zZm9ybTooc2ltZF9mbG9hdDMpdHJhbnNmb3JtOwogCi0jZW5kaWYgLy8gRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKK0BlbmQKIAogTlNfQVNTVU1FX05PTk5VTExf
RU5ECiAKKyNlbmRpZiAvLyBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorCiAjZW5k
aWYgLy8gVVNFKEFQUExFX0lOVEVSTkFMX1NESykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZTkyOGZmOTQ5
NDU4M2I2NGVkNjBmNTVhODc5NDM1MDExZDc2NDJiNC4uMDQ5Mjg0NzkyMDdmZGYzOGI0Y2Q1Njdm
ZDk1MmUwNmU3YzI5NjQwZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTMzMDIsNiArMzMwMiw3IEBAIEpT
SFRNTE1ldGFFbGVtZW50LmNwcAogSlNIVE1MTWV0ZXJFbGVtZW50LmNwcAogSlNIVE1MTW9kRWxl
bWVudC5jcHAKIEpTSFRNTE1vZGVsRWxlbWVudC5jcHAKK0pTSFRNTE1vZGVsRWxlbWVudENhbWVy
YS5jcHAKIEpTSFRNTE9MaXN0RWxlbWVudC5jcHAKIEpTSFRNTE9iamVjdEVsZW1lbnQuY3BwCiBK
U0hUTUxPcHRHcm91cEVsZW1lbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggZWQ2N2Y5MDZlOGVlMDQ3Mjg4NDI0ZTQwMTUy
MWUyNDk3OTMzYTM0Mi4uNTllNzZkOWRmOTdiNjBjMWEyYjA4ODViYTUwZGFmYWY5YWY5MDQyZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtMjI3NSw2ICsyMjc1LDcgQEAKIAkJNzE1QUQ3MjEyMDUwNTEzRjAwRDU5MkRDIC8qIENT
U1RyYW5zaXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDcxMjNDMTg2MjA0NzM5QkEwMDc4OTM5MiAvKiBDU1NUcmFuc2l0aW9uLmggKi87IH07CiAJ
CTcxNzI5RjdCMjBGM0JBNDkwMDgwMUNFNiAvKiBEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzE3MjlGN0EyMEYz
QkEzQTAwODAxQ0U2IC8qIERvY3VtZW50VGltZWxpbmVPcHRpb25zLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzE3MjlGN0UyMEYzQkI0NzAwODAx
Q0U2IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNzI5RjdDMjBGM0JBQjkwMDgwMUNFNiAvKiBKU0Rv
Y3VtZW50VGltZWxpbmVPcHRpb25zLmggKi87IH07CisJCTcxNzdBRDU3Mjc0Mjk1RDEwMDJGMTAz
QiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3MTc3QUQ1NjI3NDI5NTkwMDAyRjEwM0IgLyogSFRNTE1vZGVs
RWxlbWVudENhbWVyYS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CiAJCTcxODFBMTZDMjQ0RjBGNDAwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDcxODFBMTY5MjQ0RjBGMkMwMDdEOEEyNCAvKiBEb2N1bWVudFRpbWVsaW5lc0NvbnRyb2xsZXIu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MUEx
QjYwODFERUU1QUQ3MDA3M0JDRkIgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2FsaXplZC1z
dHJpbmdzLmpzIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA3MUExQjYwNjFERUU1QTgyMDA3M0JDRkIgLyogbW9kZXJuLW1lZGlhLWNvbnRyb2xzLWxvY2Fs
aXplZC1zdHJpbmdzLmpzICovOyB9OwogCQk3MUEzRDE4MTI1NjJCODVCMDA2NEUyQTYgLyogSFRN
TE1vZGVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNzFBM0QxN0QyNTYyQjgyNDAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTA3NzgsNiAr
MTA3NzksMTAgQEAKIAkJNzE3MjlGN0MyMEYzQkFCOTAwODAxQ0U2IC8qIEpTRG9jdW1lbnRUaW1l
bGluZU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNEb2N1bWVu
dFRpbWVsaW5lT3B0aW9ucy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTcyOUY3
RDIwRjNCQUJBMDA4MDFDRTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25z
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3M0RFQkQyNjE0REYwNDAwOTdE
RjMyIC8qIFN0eWxlYWJsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBTdHlsZWFibGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1NDI3
NDI5NTJGMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTcxNzdBRDU2Mjc0Mjk1OTAwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE3N0FENTgyNzQyOUND
QTAwMkYxMDNCIC8qIEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3QUQ1OTI3NDI5Q0NCMDAyRjEwM0IgLyogSlNI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk3MTc3RTI0NjFEQjgwRDJGMDA5MTlBMEIgLyogbWVkaWEtY29udHJvbGxlci1zdXBwb3J0Lmpz
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0gIm1lZGlhLWNvbnRyb2xs
ZXItc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzdFMjQ3MURC
ODBEMkYwMDkxOUEwQiAvKiBtdXRlLXN1cHBvcnQuanMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmph
dmFzY3JpcHQ7IHBhdGggPSAibXV0ZS1zdXBwb3J0LmpzIjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNzE3N0UyNDgxREI4MEQyRjAwOTE5QTBCIC8qIHN0YXJ0LXN1cHBvcnQuanMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmphdmFzY3JpcHQ7IHBhdGggPSAic3RhcnQtc3VwcG9ydC5qcyI7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODk2MiwxMSArMTg5NjcsMTEgQEAKIAkJ
MUE1NjlDQzQwRDdFMkI2MDAwN0MzOTgzIC8qIGJyaWRnZSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNTlCNTk3NzExMTA4NjU1NjAwNzE1OUU4IC8qIGpz
YyAqLywKIAkJCQkxQTU2OUNFMjBEN0UyQjgyMDA3QzM5ODMgLyogb2JqYyAqLywKIAkJCQk1OTlF
NzU4RjExMDU1QTFGMDBEOTA0RkEgLyogQnJpZGdlLmggKi8sCiAJCQkJMUE3MUQ1NzkwRjMzODE5
MDAwRjlDRTRFIC8qIElkZW50aWZpZXJSZXAuY3BwICovLAogCQkJCTFBNzFENTdBMEYzMzgxOTAw
MEY5Q0U0RSAvKiBJZGVudGlmaWVyUmVwLmggKi8sCi0JCQkJNTlCNTk3NzExMTA4NjU1NjAwNzE1
OUU4IC8qIGpzYyAqLywKIAkJCQkxQTU2OUNFRjBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9h
cnJheS5jcHAgKi8sCiAJCQkJMUE1NjlDRjAwRDdFMkI4MjAwN0MzOTgzIC8qIHJ1bnRpbWVfYXJy
YXkuaCAqLywKIAkJCQkxQTU2OUNGMTBEN0UyQjgyMDA3QzM5ODMgLyogcnVudGltZV9tZXRob2Qu
Y3BwICovLApAQCAtMjM4MTUsNiArMjM4MjAsOCBAQAogCQkJCTcxQTNEMTgwMjU2MkI4MjUwMDY0
RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmNwcCAqLywKIAkJCQk3MUEzRDE3RDI1NjJCODI0MDA2
NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oICovLAogCQkJCTcxQTNEMTdGMjU2MkI4MjQwMDY0
RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmlkbCAqLywKKwkJCQk3MTc3QUQ1NjI3NDI5NTkwMDAy
RjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovLAorCQkJCTcxNzdBRDU0Mjc0Mjk1
MkYwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCAqLywKIAkJCQlCQzJCNDEx
NDI3MzJGMDYyMDBBMkQxOTEgLyogTW9kZWxQbGF5ZXIuY3BwICovLAogCQkJCUJDMkI0MTEzMjcz
MkYwNjIwMEEyRDE5MSAvKiBNb2RlbFBsYXllci5oICovLAogCQkJCUJDMkI0MTEyMjczMkYwM0Mw
MEEyRDE5MSAvKiBNb2RlbFBsYXllckNsaWVudC5jcHAgKi8sCkBAIC0yNjA5Myw2ICsyNjEwMCw4
IEBACiAJCQkJQTdCQkUyNjUxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVudC5o
ICovLAogCQkJCTcxQTNEMTgyMjU2MkJEREIwMDY0RTJBNiAvKiBKU0hUTUxNb2RlbEVsZW1lbnQu
Y3BwICovLAogCQkJCTcxQTNEMTgzMjU2MkJEREIwMDY0RTJBNiAvKiBKU0hUTUxNb2RlbEVsZW1l
bnQuaCAqLywKKwkJCQk3MTc3QUQ1ODI3NDI5Q0NBMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxFbGVt
ZW50Q2FtZXJhLmNwcCAqLywKKwkJCQk3MTc3QUQ1OTI3NDI5Q0NCMDAyRjEwM0IgLyogSlNIVE1M
TW9kZWxFbGVtZW50Q2FtZXJhLmggKi8sCiAJCQkJMUFFMkFCMUYwQTFDRTYzQjAwQjQyQjI1IC8q
IEpTSFRNTE1vZEVsZW1lbnQuY3BwICovLAogCQkJCTFBRTJBQjIwMEExQ0U2M0IwMEI0MkIyNSAv
KiBKU0hUTUxNb2RFbGVtZW50LmggKi8sCiAJCQkJQkMzMDVDNzcwQzA3NkJCMzAwQ0QyMEYwIC8q
IEpTSFRNTE9iamVjdEVsZW1lbnQuY3BwICovLApAQCAtMzM3MjksNiArMzM3MzgsNyBAQAogCQkJ
CUE4NzFEQzI0MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUE0NTQ0MjRCMTE5QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3MUEzRDE4MTI1NjJCODVCMDA2NEUyQTYgLyogSFRNTE1vZGVs
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzE3N0FENTcyNzQyOTVEMTAwMkYxMDNCIC8q
IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0E3MEEx
NTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQThE
RjNGRDQwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTg3MUQ0NUEwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxPYmplY3RFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNs
aWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5kZXgg
M2JhZTNjMjI1ZjYwYzg4NGE2YTRjZTJhZjljZjllZjg3MmJjMWIyZi4uM2EwNjRiYzcyMzFhMzYw
MGNjODNkYzU4YTlhMmU3ZmYyZWU5NmIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9h
ZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xp
ZW50cy5jcHAKQEAgLTU4MywxMiArNTgzLDYgQEAgdm9pZCBFbXB0eUNocm9tZUNsaWVudDo6c2hv
d1NoYXJlU2hlZXQoU2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGUKIHsK
IH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIEVtcHR5Q2hy
b21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xh
eWVyOjpQbGF0Zm9ybUxheWVySUQpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQogdm9pZCBFbXB0eUZy
YW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlvbihj
b25zdCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgRm9ybVN0YXRl
KiwgY29uc3QgU3RyaW5nJiwgUG9saWN5Q2hlY2tJZGVudGlmaWVyLCBGcmFtZVBvbGljeUZ1bmN0
aW9uJiYpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGll
bnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMGM3OTcz
ZjAwYTFmMzZlMjcwMTNhMTYxNmRiYzk2YTE4MGM1Y2YwOC4uNTIyNjE4NzMxZDc1NmVhNGJmOGI5
NmRmMDA0MzVmODM1NThlZTkxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVyL0Vt
cHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMuaApA
QCAtMjE3LDEwICsyMTcsNiBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBDaHJv
bWVDbGllbnQgewogICAgIHZvaWQgZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzKGNvbnN0IFZlY3Rv
cjxSZWZQdHI8RWxlbWVudD4+JiwgRnJhbWUmKSBmaW5hbCB7IH0KICAgICBib29sIHNob3VsZE5v
dGlmeU9uRm9ybUNoYW5nZXMoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCi0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QgZmlu
YWw7Ci0jZW5kaWYKLQogICAgIFJlZlB0cjxJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMoY29uc3Qg
VmVjdG9yPFN0cmluZz4mIC8qIGZpbGVuYW1lcyAqLykgZmluYWwgeyByZXR1cm4gbnVsbHB0cjsg
fQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggZTEzZTM4N2QxOTE2OGFj
NWZkMzU5YjJlNjE2ZDQzZGQzZjE3NTAyMi4uZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZjZmU5
OTAwY2RjNzZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC02MDUsMTAgKzYw
NSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdGV4dEF1dG9zaXppbmdVc2VzSWRlbXBv
dGVudE1vZGVDaGFuZ2VkKCkgeyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFV19JT1MpCi0gICAgdmlydHVhbCB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVu
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QgeyB9Ci0jZW5k
aWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJKQogICAgIHZpcnR1YWwgdm9pZCBzdGFy
dEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYsIGNvbnN0IEFwcGxlUGF5QU1TVUlSZXF1
ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNv
bXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7IH0KICAg
ICB2aXJ0dWFsIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIHsgfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDEzYWQwYWE0MjM4NTMwOTgz
ZWVjNDQ0NjE3YWViZWFmZDQ2NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9T
aGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQg
QU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKworI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzTGF5
ZXIuaD4KKyNlbmRpZgorCitzdHJ1Y3QgTW9kZWxJZGVudGlmaWVyIHsKKyNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIFN0cmluZyB1dWlkOworI2VsaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0
Zm9ybUxheWVySUQgbGF5ZXJJZGVudGlmaWVyOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZTxjbGFz
cyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8Y2xh
c3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBkZWNvZGUo
RGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBNb2RlbElkZW50
aWZpZXI6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworI2lmIEVOQUJMRShBUktJ
VF9JTkxJTkVfUFJFVklFV19NQUMpCisgICAgZW5jb2RlciA8PCB1dWlkOworI2VsaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBlbmNvZGVyIDw8IGxheWVySWRlbnRpZmll
cjsKKyNlbmRpZgorfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGQ6Om9wdGlvbmFsPE1v
ZGVsSWRlbnRpZmllcj4gTW9kZWxJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2RlciYgZGVjb2RlcikK
K3sKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIHN0ZDo6b3B0aW9u
YWw8U3RyaW5nPiB1dWlkOworICAgIGRlY29kZXIgPj4gdXVpZDsKKyAgICBpZiAoIXV1aWQpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCp1dWlk
KSB9IH07CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIHN0ZDo6
b3B0aW9uYWw8V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPiBsYXllcklk
ZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBsYXllcklkZW50aWZpZXI7CisgICAgaWYgKCFsYXll
cklkZW50aWZpZXIpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsg
eyAqbGF5ZXJJZGVudGlmaWVyIH0gfTsKKyNlbmRpZgorfQorCisjZW5kaWYKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29h
L01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCA3N2JhYmY3NjU2NWEy
YmFhZTgxZDBkYTRhNDg1ODNmNzY1YjRlMmQxLi44ZTdhYzViNjRmMGQ3NjVhYTU0OWM2YzA4NGQx
MjExZDJiM2MxZDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9N
b2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCkBAIC0zMCw2ICszMCwxMiBA
QAogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvTGF5b3V0UG9pbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0VW5pdC5o
PgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CisjaW1wb3J0IDxzaW1kL3NpbWQu
aD4KKyNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW1wb3J0IDx3dGYvTW9ub3RvbmljVGlt
ZS5oPgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKICNpbXBvcnQgIkFQ
SVVJQ2xpZW50LmgiCkBAIC00MiwxMiArNDgsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQotI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRQb2ludC5oPgot
I2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRVbml0Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNl
RXJyb3IuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaD4KLSNpbXBv
cnQgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgogI2Vu
ZGlmCiAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhBc3NldFZpZXdlcik7CkBAIC01Nywz
MCArNTgsMzYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfSU9TKQogCi12b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBj
b250ZW50TGF5ZXJJZCkKK1dLTW9kZWxWaWV3ICogTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9k
ZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIp
CiB7CiAgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5wcmVmZXJlbmNlcygpLm1vZGVsRWxlbWVudEVu
YWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gbmlsOwogCiAgICAgaWYg
KCFpczxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5PihtX3dlYlBhZ2VQcm94eS5kcmF3
aW5nQXJlYSgpKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gbmlsOwogCi0gICAg
YXV0byogbm9kZSA9IGRvd25jYXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+KCpt
X3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKS5yZW1vdGVMYXllclRyZWVIb3N0KCkubm9kZUZv
cklEKGNvbnRlbnRMYXllcklkKTsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8UmVtb3RlTGF5
ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oKm1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkpLnJl
bW90ZUxheWVyVHJlZUhvc3QoKS5ub2RlRm9ySUQobW9kZWxJZGVudGlmaWVyLmxheWVySWRlbnRp
Zmllcik7CiAgICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVybiBu
aWw7CiAKLSAgICBhdXRvICp2aWV3ID0gbm9kZS0+dWlWaWV3KCk7Ci0gICAgaWYgKCF2aWV3KQot
ICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIGR5bmFtaWNfb2JqY19jYXN0PFdLTW9kZWxWaWV3
Pihub2RlLT51aVZpZXcoKSk7Cit9CiAKLSAgICBpZiAoIVt2aWV3IGlzS2luZE9mQ2xhc3M6W1dL
TW9kZWxWaWV3IGNsYXNzXV0pCi0gICAgICAgIHJldHVybjsKK0FTVklubGluZVByZXZpZXcgKiBN
b2RlbEVsZW1lbnRDb250cm9sbGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRl
bnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIFttb2RlbFZpZXdGb3JNb2Rl
bElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKSBwcmV2aWV3XTsKK30KIAordm9pZCBNb2RlbEVs
ZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZp
ZXIgbW9kZWxJZGVudGlmaWVyKQorewogICAgIGF1dG8gKnByZXNlbnRpbmdWaWV3Q29udHJvbGxl
ciA9IG1fd2ViUGFnZVByb3h5LnVpQ2xpZW50KCkucHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCk7
CiAgICAgaWYgKCFwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIFdLTW9kZWxWaWV3ICptb2RlbFZpZXcgPSAoV0tNb2RlbFZpZXcgKil2aWV3OworICAgIGF1
dG8gbW9kZWxWaWV3ID0gbW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVsSWRlbnRpZmll
cik7CisgICAgaWYgKCFtb2RlbFZpZXcpCisgICAgICAgIHJldHVybjsKKwogICAgIENHUmVjdCBp
bml0aWFsRnJhbWUgPSBbbW9kZWxWaWV3IGNvbnZlcnRSZWN0Om1vZGVsVmlldy5mcmFtZSB0b1Zp
ZXc6bmlsXTsKIAogICAgIEFTVklubGluZVByZXZpZXcgKnByZXZpZXcgPSBbbW9kZWxWaWV3IHBy
ZXZpZXddOwpAQCAtOTgsNyArMTA1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAogICAg
ICAgICAgICAgW3ByZXNlbnRpbmdWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xsZXI6
cmVtb3RlVmlld0NvbnRyb2xsZXIgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpeKHZvaWQpIHsKICAg
ICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAgICAgICAgICAgW3Zp
ZXcubGF5ZXIuc3VwZXJsYXllci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFuZGxlXTsKKyAgICAg
ICAgICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5jZTpm
ZW5jZUhhbmRsZV07CiAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsKICAg
ICAgICAgICAgICAgICBbZmVuY2VIYW5kbGUgaW52YWxpZGF0ZV07CiAgICAgICAgICAgICB9XTsK
QEAgLTExMiw3ICsxMTksNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogICAgICAgICAgICAg
ICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5dOwot
ICAgICAgICAgICAgICAgICAgICBbdmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVu
Y2U6ZGlzbWlzc0ZlbmNlSGFuZGxlXTsKKyAgICAgICAgICAgICAgICAgICAgW21vZGVsVmlldy5s
YXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZGlzbWlzc0ZlbmNlSGFuZGxlXTsKICAg
ICAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gc2V0Q29tcGxldGlvbkJsb2NrOl57CiAg
ICAgICAgICAgICAgICAgICAgICAgICBbcmVtb3RlVmlld0NvbnRyb2xsZXIgZGlzbWlzc1ZpZXdD
b250cm9sbGVyQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpuaWxdOwogICAgICAgICAgICAgICAgICAg
ICB9XTsKQEAgLTEyOCw2ICsxMzUsMTQgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjp0
YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAogI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAKK0FTVklubGluZVByZXZpZXcgKiBN
b2RlbEVsZW1lbnRDb250cm9sbGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRl
bnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CisgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5wcmVm
ZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxwdHI7
CisKKyAgICByZXR1cm4gbV9pbmxpbmVQcmV2aWV3cy5nZXQobW9kZWxJZGVudGlmaWVyLnV1aWQp
LmdldCgpOworfQorCiB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsRWxlbWVudERp
ZENyZWF0ZVByZXZpZXcoVVJMIGZpbGVVUkwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9hdFNp
emUgc2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5n
LCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFuZGxl
cikKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVtZW50
RW5hYmxlZCgpKSB7CkBAIC0xNTAsNyArMTY1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9s
bGVyOjptb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCBmaWxlVVJMLCBTdHJpbmcgdXUK
ICAgICBhdXRvIHVybCA9IGFkb3B0TlMoW1tOU1VSTCBhbGxvY10gaW5pdEZpbGVVUkxXaXRoUGF0
aDpmaWxlVVJMLmZpbGVTeXN0ZW1QYXRoKCldKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKGlzTWFp
blJ1bkxvb3AoKSk7Ci0gICAgW3ByZXZpZXcgc2V0dXBSZW1vdGVDb25uZWN0aW9uV2l0aENvbXBs
ZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwg
cHJldmlldywgdXVpZCA9IFdURk1vdmUodXVpZCksIHVybCA9IFdURk1vdmUodXJsKSwgY29tcGxl
dGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKE5TRXJyb3IgKiBfTnVs
bGFibGUgY29udGV4dEVycm9yKSBtdXRhYmxlIHsKKyAgICBbcHJldmlldyBzZXR1cFJlbW90ZUNv
bm5lY3Rpb25XaXRoQ29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdl
YWtQdHIgeyAqdGhpcyB9LCBwcmV2aWV3LCB1dWlkID0gV1RGTW92ZSh1dWlkKSwgdXJsID0gV1RG
TW92ZSh1cmwpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XSAoTlNFcnJvciAqY29udGV4dEVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGNvbnRleHRF
cnJvcikgewogICAgICAgICAgICAgTE9HKE1vZGVsRWxlbWVudCwgIlVuYWJsZSB0byBjcmVhdGUg
cmVtb3RlIGNvbm5lY3Rpb24gZm9yIHV1aWQgJXM6ICVALiIsIHV1aWQudXRmOCgpLmRhdGEoKSwg
Y29udGV4dEVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKTsKIApAQCAtMTY1LDcgKzE4MCw3IEBA
IHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJldmll
dyhVUkwgZmlsZVVSTCwgU3RyaW5nIHV1CiAKICAgICAgICAgTE9HKE1vZGVsRWxlbWVudCwgIkVz
dGFibGlzaGVkIHJlbW90ZSBjb25uZWN0aW9uIHdpdGggVVVJRCAlcy4iLCB1dWlkLnV0ZjgoKS5k
YXRhKCkpOwogCi0gICAgICAgIFtwcmV2aWV3IHByZXBhcmVQcmV2aWV3T2ZGaWxlQXRVUkw6dXJs
LmdldCgpIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXVEZNb3Zl
KHdlYWtUaGlzKSwgcHJldmlldywgdXVpZCA9IFdURk1vdmUodXVpZCksIHVybCA9IFdURk1vdmUo
dXJsKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKE5T
RXJyb3IgKiBfTnVsbGFibGUgbG9hZEVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgW3ByZXZpZXcg
cHJlcGFyZVByZXZpZXdPZkZpbGVBdFVSTDp1cmwuZ2V0KCkgY29tcGxldGlvbkhhbmRsZXI6bWFr
ZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBwcmV2aWV3LCB1dWlkID0g
V1RGTW92ZSh1dWlkKSwgdXJsID0gV1RGTW92ZSh1cmwpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdU
Rk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoTlNFcnJvciAqbG9hZEVycm9yKSBtdXRhYmxlIHsK
ICAgICAgICAgICAgIGlmIChsb2FkRXJyb3IpIHsKICAgICAgICAgICAgICAgICBMT0coTW9kZWxF
bGVtZW50LCAiVW5hYmxlIHRvIGxvYWQgZmlsZSBmb3IgdXVpZCAlczogJUAuIiwgdXVpZC51dGY4
KCkuZGF0YSgpLCBsb2FkRXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOwogCkBAIC0yMTYsNiAr
MjMxLDY1IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aGFuZGxlTW91c2VVcEZvck1v
ZGVsRWxlbWVudChjb25zdCBTdHJpbmcmIHV1aWQsIGNvCiAKICNlbmRpZgogCisjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXKQorCitzdGF0aWMgYm9vbCBwcmV2aWV3SGFzQ2FtZXJhU3Vw
cG9ydChBU1ZJbmxpbmVQcmV2aWV3ICpwcmV2aWV3KQoreworI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19DQU1FUkFfVFJBTlNGT1JNKQorICAgIHJldHVybiBbcHJldmlldyByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKGdldENhbWVyYVRyYW5zZm9ybTopXTsKKyNlbHNlCisgICAg
cmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6
Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVu
dENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVyKQor
eworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVsSWRl
bnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3IHx8ICFwcmV2aWV3SGFzQ2FtZXJhU3VwcG9ydChw
cmV2aWV3KSkgeworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXZWFrUHRy
IHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVy
KSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHsgV2ViQ29yZTo6UmVzb3VyY2VFcnJv
cjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICh3ZWFrVGhp
cykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChlcnJv
cikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFtwcmV2aWV3
IGdldENhbWVyYVRyYW5zZm9ybTptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7ICp0
aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildIChz
aW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsKKyAg
ICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1Ro
aXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHsgV2ViQ29yZTo6
UmVzb3VyY2VFcnJvcjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAg
ICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFtjYW1lcmFUcmFu
c2Zvcm0sIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVyID0g
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICAgICAgaWYg
KHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6OkhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEgeyBjYW1lcmFUcmFuc2Zvcm0ueCwgY2FtZXJhVHJhbnNmb3Jt
LnksIGNhbWVyYVRyYW5zZm9ybS56IH0pOworICAgICAgICB9KTsKKyAgICB9KS5nZXQoKV07Cit9
CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50
KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1l
bnRDYW1lcmEgY2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBsZXRp
b25IYW5kbGVyKQoreworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlm
aWVyKG1vZGVsSWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3IHx8ICFwcmV2aWV3SGFzQ2Ft
ZXJhU3VwcG9ydChwcmV2aWV3KSkgeworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1Ro
aXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMpCisg
ICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFtwcmV2aWV3IHNldENhbWVyYVRyYW5zZm9ybTpz
aW1kX21ha2VfZmxvYXQzKGNhbWVyYS5waXRjaCwgY2FtZXJhLnlhdywgY2FtZXJhLnNjYWxlKV07
CisKKyAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwg
Y29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJs
ZSB7CisgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVy
KHRydWUpOworICAgIH0pOworfQorCisjZW5kaWYKKwogfQogCiAjZW5kaWYKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAppbmRleCBmMWY5NTg2
NzBiNjU5NTkxNjdlZTJkODYxY2NhNDQzMDhlMWM4YzVjLi5lZTY4NGU4NzhhOWUzY2I2MjZmNGZj
ZjU1OTFmZGZiZGM5NTg3NGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9N
b2RlbEVsZW1lbnRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvTW9k
ZWxFbGVtZW50Q29udHJvbGxlci5oCkBAIC0yNywxNCArMjcsMTcgQEAKIAogI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFVykKIAorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvRWxlbWVudENvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dyYXBo
aWNzTGF5ZXIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3RmL1VS
TC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5MSU5F
X1BSRVZJRVdfTUFDKQogT0JKQ19DTEFTUyBBU1ZJbmxpbmVQcmV2aWV3OworCisjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKK09CSkNfQ0xBU1MgV0tNb2RlbFZpZXc7CiAjZW5k
aWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs1MSwxMiBAQCBwdWJsaWM6CiAKICAg
ICBXZWJQYWdlUHJveHkmIHBhZ2UoKSB7IHJldHVybiBtX3dlYlBhZ2VQcm94eTsgfQogCisjaWYg
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorICAgIHZvaWQgZ2V0Q2FtZXJhRm9yTW9kZWxF
bGVtZW50KE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yPik+
JiYpOworICAgIHZvaWQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwg
V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChi
b29sKT4mJik7CisjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQot
ICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXll
cjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKKyAgICB2b2lkIHRha2VNb2RlbEVs
ZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBFTkFCTEUoQVJL
SVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJl
dmlldyhVUkwsIFN0cmluZywgV2ViQ29yZTo6RmxvYXRTaXplLCBDb21wbGV0aW9uSGFuZGxlcjx2
b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVzb3Vy
Y2VFcnJvcj4pPiYmKTsKQEAgLTU5LDYgKzY2LDE0IEBAIHB1YmxpYzoKICNlbmRpZgogCiBwcml2
YXRlOgorI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyAgICBBU1ZJbmxpbmVQcmV2
aWV3ICogcHJldmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElkZW50aWZpZXIpOworI2VuZGlm
CisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIFdLTW9kZWxWaWV3
ICogbW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllcik7CisjZW5kaWYK
KwogICAgIFdlYlBhZ2VQcm94eSYgbV93ZWJQYWdlUHJveHk7CiAjaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXX01BQykKICAgICBSZXRhaW5QdHI8QVNWSW5saW5lUHJldmlldz4gcHJldmll
d0ZvclVVSUQoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAppbmRleCBmOTVkZDc4M2Q1YTY3ZDQ3ZGQ4Y2JiMmVhNWY4M2M5OGY1NDQwZTJmLi5m
MGQxZTc1YjVkZjNiNzJhNTJkOTI4NzI3OTAzYTk2NGFhZjVkNmRmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwODMyLDEwICsxMDgzMiwyMiBAQCBXZWJD
b3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBXZWJQYWdlUHJveHk6OmNyZWF0ZVJlYWx0aW1lTWVk
aWFTb3VyY2VGb3JTcGVlY2hSZQogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFVykKK3ZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRHZXRDYW1lcmEoTW9kZWxJ
ZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3Rl
ZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Pik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgbW9kZWxFbGVtZW50Q29udHJvbGxlcigp
LT5nZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQobW9kZWxJZGVudGlmaWVyLCBXVEZNb3ZlKGNvbXBs
ZXRpb25IYW5kbGVyKSk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRTZXRD
YW1lcmEoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1vZGVs
RWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYgY29t
cGxldGlvbkhhbmRsZXIpCit7CisgICAgbW9kZWxFbGVtZW50Q29udHJvbGxlcigpLT5zZXRDYW1l
cmFGb3JNb2RlbEVsZW1lbnQobW9kZWxJZGVudGlmaWVyLCBjYW1lcmEsIFdURk1vdmUoY29tcGxl
dGlvbkhhbmRsZXIpKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVW
SUVXX0lPUykKLXZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihX
ZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQpCit2
b2lkIFdlYlBhZ2VQcm94eTo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVudGlm
aWVyIG1vZGVsSWRlbnRpZmllcikKIHsKLSAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCktPnRh
a2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKTsKKyAgICBtb2RlbEVsZW1l
bnRDb250cm9sbGVyKCktPnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKG1vZGVsSWRlbnRpZmll
cik7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRl
eCAxNmU4NmUwYWZjNTAxZTc0ZDdkNmRkMmM5MTMwZDdiNTA1NWIxOTM2Li5jNzBkMGM3NzFjNWMy
OTQxN2U3YWE0OTdjM2Q4MTBiMTQxYjkwODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuaApAQCAtMTk2LDYgKzE5Niw3IEBAIGludGVyZmFjZSBJRDNEMTFEZXZpY2UxOwog
CiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogI2luY2x1ZGUgIk1vZGVsRWxlbWVu
dENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJNb2RlbElkZW50aWZpZXIuaCIKICNlbmRpZgogCiBu
YW1lc3BhY2UgQVBJIHsKQEAgLTU4Nyw5ICs1ODgsMTEgQEAgcHVibGljOgogCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIE1vZGVsRWxlbWVudENvbnRyb2xsZXIqIG1vZGVs
RWxlbWVudENvbnRyb2xsZXIoKSB7IHJldHVybiBtX21vZGVsRWxlbWVudENvbnRyb2xsZXIuZ2V0
KCk7IH0KKyAgICB2b2lkIG1vZGVsRWxlbWVudEdldENhbWVyYShNb2RlbElkZW50aWZpZXIsIENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENh
bWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKKyAgICB2b2lkIG1vZGVsRWxlbWVu
dFNldENhbWVyYShNb2RlbElkZW50aWZpZXIsIFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1l
cmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAjaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5
ZXJJZCk7CisgICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50aWZp
ZXIpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAgICB2
b2lkIG1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoY29uc3QgVVJMJiwgY29uc3QgU3RyaW5n
JiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBl
Y3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+
KT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2Fn
ZXMuaW4KaW5kZXggMTYxNjNhY2ZmMmM4YThjMzg5MWY2MTI5OGIwMGIxMDllYTk0YjZhOS4uNmYw
NzRmNTMwYjJlYTgxMGJkMTQ3NWZhNmVhMmU3MmNjMzdhOWExZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTg2LDcgKzU4Niw3
IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShBUktJ
VF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgVGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4odWlu
dDY0X3QgY29udGVudExheWVySUQpCisgICAgVGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oc3Ry
dWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKICNlbmRpZgogI2lm
IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlkQ3Jl
YXRlUHJldmlldyhVUkwgdXJsLCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNpemUp
IC0+IChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291
cmNlRXJyb3I+IHJlc3VsdCkgQXN5bmMKQEAgLTU5NCw2ICs1OTQsMTAgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZVByb3h5IHsKICAgICBIYW5kbGVNb3VzZU1vdmVGb3JNb2RlbEVsZW1lbnQoU3RyaW5n
IHV1aWQsIFdlYkNvcmU6OkxheW91dFBvaW50IGxvY2F0aW9uSW5QYWdlQ29vcmRpbmF0ZXMsIE1v
bm90b25pY1RpbWUgdGltZXN0YW1wKQogICAgIEhhbmRsZU1vdXNlVXBGb3JNb2RlbEVsZW1lbnQo
U3RyaW5nIHV1aWQsIFdlYkNvcmU6OkxheW91dFBvaW50IGxvY2F0aW9uSW5QYWdlQ29vcmRpbmF0
ZXMsIE1vbm90b25pY1RpbWUgdGltZXN0YW1wKQogI2VuZGlmCisjaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXKQorICAgIE1vZGVsRWxlbWVudEdldENhbWVyYShzdHJ1Y3QgV2ViS2l0OjpN
b2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKSAtPiAoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBBc3lu
YworICAgIE1vZGVsRWxlbWVudFNldENhbWVyYShzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50aWZp
ZXIgbW9kZWxJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVy
YSBjYW1lcmEpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisjZW5kaWYKIAogICAgIHJlcXVlc3RQ
ZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3QgV2Vi
Q29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhfdCBX
ZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0
L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlZmVjYmNlZTQ2NTkyZTc1
OGUwZTg4Y2Y2ZTkxODFjZTkyOTk5OGIuLjM2MTZjYzVkMmJjOTY4NWExYWRmOTkxYTkzYThjN2Ey
OGI1ZmRiYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtNDcwOCw2ICs0NzA4LDcgQEAKIAkJNzFBNjc2QTUyMkM2MjMxODAwN0Q2Mjk1
IC8qIFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbTsg
cGF0aCA9IGlvcy9XS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcxQkFBNzMxMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVsVmll
dy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS01vZGVsVmlldy5oOyBwYXRo
ID0gaW9zL1dLTW9kZWxWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxQkFB
NzMyMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVsVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLTW9kZWxWaWV3Lm1tOyBwYXRoID0gaW9zL1dLTW9kZWxW
aWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MUU5NjUwRjI3NDU2ODJFMDBB
RENGNDMgLyogTW9kZWxJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZGVsSWRlbnRpZmll
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUZCODEwQTIyNjA2MjdBMDAzMjM2
NzcgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlz
cGF0Y2hQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzIwMzQ0OUEyNkE2
QzQ0QzAwMEE1RjU0IC8qIE1vbm90b25pY09iamVjdElkZW50aWZpZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gTW9ub3RvbmljT2JqZWN0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk3MjAzNDQ5QjI2QTZDNDc2MDAwQTVGNTQgLyogUmVuZGVyaW5nVXBkYXRlSUQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gUmVuZGVyaW5nVXBkYXRlSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTY4MzQsNiArNjgzNSw3IEBACiAJCQkJMkQxMDg3NUUxRDJDNTczRTAwQjg1RjgyIC8q
IExvYWRQYXJhbWV0ZXJzLmNwcCAqLywKIAkJCQkyRDEwODc1RjFEMkM1NzNFMDBCODVGODIgLyog
TG9hZFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0OTkxN0RCMDI1MkUzMDc1MDA1MDMxM0YgLyogTWVk
aWFQbGF5YmFja1N0YXRlLmggKi8sCisJCQkJNzFFOTY1MEYyNzQ1NjgyRTAwQURDRjQzIC8qIE1v
ZGVsSWRlbnRpZmllci5oICovLAogCQkJCTcyMDM0NDlBMjZBNkM0NEMwMDBBNUY1NCAvKiBNb25v
dG9uaWNPYmplY3RJZGVudGlmaWVyLmggKi8sCiAJCQkJMkQ1MDM2NkExQkNERTE3OTAwRTIwQkIz
IC8qIE5hdGl2ZVdlYkdlc3R1cmVFdmVudC5oICovLAogCQkJCUMwMkJGRjE1MTI1MTRGRDgwMDlD
Q0JFQSAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllci5oCmluZGV4IDNjYWFjYjM1NjVmOWY4NjYzYjQ4MjRkODc3YzE0YTFlNTkzYTYzMjQuLmNj
MzQ0YTU3YmEwYTAwOTM2NmExYzgwYTI0YTY4ZWZhYTY3ZmI4YTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5o
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdN
b2RlbFBsYXllci5oCkBAIC0yNyw5ICsyNywxMiBAQAogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElO
RV9QUkVWSUVXKQogCi0jaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgotI2luY2x1ZGUg
PFdlYkNvcmUvTW9kZWxQbGF5ZXJDbGllbnQuaD4KLSNpbmNsdWRlIDx3dGYvQ29tcGlsZXIuaD4K
KyNpbXBvcnQgIk1vZGVsSWRlbnRpZmllci5oIgorI2ltcG9ydCAiV2ViUGFnZS5oIgorI2ltcG9y
dCAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTW9kZWxQbGF5ZXIu
aD4KKyNpbXBvcnQgPFdlYkNvcmUvTW9kZWxQbGF5ZXJDbGllbnQuaD4KKyNpbXBvcnQgPHd0Zi9D
b21waWxlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDMsMTEgKzQ2LDE1IEBAIHBy
b3RlY3RlZDoKICAgICBXZWJQYWdlKiBwYWdlKCkgeyByZXR1cm4gbV9wYWdlLmdldCgpOyB9CiAg
ICAgV2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xpZW50
LmdldCgpOyB9CiAKKyAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBt
b2RlbElkZW50aWZpZXIoKSA9IDA7CisKIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6TW9kZWxQ
bGF5ZXIgb3ZlcnJpZGVzLgogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpNb2RlbCYsIFdlYkNvcmU6
OkxheW91dFNpemUpIG92ZXJyaWRlOwogICAgIFBsYXRmb3JtTGF5ZXIqIGxheWVyKCkgb3ZlcnJp
ZGU7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIGdldENh
bWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJhKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9v
bCYmKT4mJikgb3ZlcnJpZGU7CiAKICAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsKICAgICBX
ZWFrUHRyPFdlYkNvcmU6Ok1vZGVsUGxheWVyQ2xpZW50PiBtX2NsaWVudDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllci5tbQppbmRleCBlZGJkMTRhMTljZDNiMzVkYjMwNDQ2NTJiYWMzNjIxZmVj
YjI3MjUxLi4wYzAxZjIwNmNhNmRiMDc5NTA1MGE5NDBmNWIwMGUwY2QxZDBlZTJjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyLm1tCkBAIC01NSw2ICs1NSw1MyBAQCB2b2lkIEFSS2l0SW5s
aW5lUHJldmlld01vZGVsUGxheWVyOjplbnRlckZ1bGxzY3JlZW4oKQogewogfQogCit2b2lkIEFS
S2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhpcy0+
bW9kZWxJZGVudGlmaWVyKCk7CisgICAgaWYgKCFtb2RlbElkZW50aWZpZXIpIHsKKyAgICAgICAg
Y29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0K
KworICAgIGF1dG8qIHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAgaWYgKCFzdHJvbmdQ
YWdlKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVkPFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4g
cmVtb3RlQ29tcGxldGlvbkhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1l
cmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAgIGlm
ICghcmVzdWx0KSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxvcHQp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgY29tcGxldGlvbkhh
bmRsZXIoKnJlc3VsdCk7CisgICAgfTsKKworICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRHZXRDYW1lcmEoKm1vZGVs
SWRlbnRpZmllciksIFdURk1vdmUocmVtb3RlQ29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwordm9p
ZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxN
b2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+
JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElkZW50aWZpZXIgPSB0aGlz
LT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRpZmllcikgeworICAgICAg
ICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBhdXRvKiBzdHJvbmdQYWdlID0gbV9wYWdlLmdldCgpOworICAgIGlmICghc3Ryb25nUGFnZSkg
eworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiByZW1vdGVDb21wbGV0aW9u
SGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIp
XSAoYm9vbCBzdWNjZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoV1RG
TW92ZShzdWNjZXNzKSk7CisgICAgfTsKKworICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5bmNS
ZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRTZXRDYW1lcmEoKm1vZGVs
SWRlbnRpZmllciwgY2FtZXJhKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFuZGxlcikpOwor
fQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01v
ZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5o
CmluZGV4IDFjZTA3MGI2YTBlZjM1MGVkMGM0YmIwYWI1YjIwODAzOWM4NGIxYjEuLjQwYTI1OTVm
NzBlNGJlZTFmMWQ2Njg3YTQyMmRmZDdhNzMzN2RiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1Mu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TLmgKQEAgLTQxLDYgKzQxLDggQEAgcHVibGljOgogcHJpdmF0ZToK
ICAgICBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUyhXZWJQYWdlJiwgV2ViQ29yZTo6
TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVy
PiBtb2RlbElkZW50aWZpZXIoKSBvdmVycmlkZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1vZGVsUGxh
eWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRlOwogICAg
IHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IFdlYkNvcmU6OkxheW91dFBvaW50JiwgTW9ub3Rv
bmljVGltZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
TW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLm1tIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklP
Uy5tbQppbmRleCAzZWM2ZWZjNGRlMWViNTM0ZDE5MGIyNWFkMDcwNjY3MGIyNmUzOGJkLi41ZjEz
NzI5NzYzMjhlNTUyNWVjNjRjYTdiMGEwMWVkYzk0NmM2NDlhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxp
bmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KQEAgLTQ4LDE1ICs0OCwyNyBAQCBBUktpdElubGlu
ZVByZXZpZXdNb2RlbFBsYXllcklPUzo6fkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9T
KCkKIHsKIH0KIAorc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IEFSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIoKQoreworICAgIGlmICghY2xpZW50
KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoYXV0byBsYXllcklkID0gY2xpZW50
KCktPnBsYXRmb3JtTGF5ZXJJRCgpKQorICAgICAgICByZXR1cm4geyB7IGxheWVySWQgfSB9Owor
CisgICAgcmV0dXJuIHsgfTsKK30KKwogLy8gTUFSSzogLSBXZWJDb3JlOjpNb2RlbFBsYXllciBv
dmVycmlkZXMuCiAKIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6OmVudGVy
RnVsbHNjcmVlbigpCiB7Ci0gICAgaWYgKCFjbGllbnQoKSB8fCAhcGFnZSgpKQorICAgIGF1dG8q
IHN0cm9uZ1BhZ2UgPSBwYWdlKCk7CisgICAgaWYgKCFzdHJvbmdQYWdlKQogICAgICAgICByZXR1
cm47CiAKLSAgICBpZiAoYXV0byBsYXllcklkID0gY2xpZW50KCktPnBsYXRmb3JtTGF5ZXJJRCgp
KQotICAgICAgICBwYWdlKCktPnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGxheWVySWQpOwor
ICAgIGlmIChhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigpKQor
ICAgICAgICBzdHJvbmdQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKCptb2RlbElkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBBUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6aGFuZGxlTW91c2VEb3duKGNvbnN0IFdlYkNvcmU6
OkxheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMuaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9k
ZWxQbGF5ZXJNYWMuaAppbmRleCA2NzMxOTE2Yzc0OGRkYmM1YTczODM4NzZjN2I5NGVhZGEwNzUw
ZTA3Li5iM2M4ZTQyMDhiMTJlNTE5ZDRkMDczOTljM2M3NWMxNDExOGE0ODE0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01v
ZGVsUGxheWVyTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9B
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCkBAIC00Nyw2ICs0Nyw4IEBAIHB1Ymxp
YzoKIHByaXZhdGU6CiAgICAgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMoV2ViUGFn
ZSYsIFdlYkNvcmU6Ok1vZGVsUGxheWVyQ2xpZW50Jik7CiAKKyAgICBzdGQ6Om9wdGlvbmFsPE1v
ZGVsSWRlbnRpZmllcj4gbW9kZWxJZGVudGlmaWVyKCkgb3ZlcnJpZGU7CisKICAgICAvLyBXZWJD
b3JlOjpNb2RlbFBsYXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1vZGVs
JiwgV2ViQ29yZTo6TGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXllciogbGF5
ZXIoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2Rl
bC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFjLm1t
CmluZGV4IDQ1NTI2NTM3NjQyYzVjYzcxNDFjNTRmNTc1MWUyOTVhZWVmMzNlYmIuLmNiMjVhM2M4
MTEzODQ4ZDFjMmU0OGQ3Y2RhYzljYjNjNTQ3MjExM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMu
bW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllck1hYy5tbQpAQCAtNTUsNiArNTUsMTMgQEAgQVJLaXRJbmxpbmVQcmV2
aWV3TW9kZWxQbGF5ZXJNYWM6On5BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYygpCiAg
ICAgY2xlYXJGaWxlKCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBBUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKCkKK3sKKyAgICBp
ZiAobV9pbmxpbmVQcmV2aWV3KQorICAgICAgICByZXR1cm4geyB7IFttX2lubGluZVByZXZpZXcg
dXVpZF0uVVVJRFN0cmluZyB9IH07CisgICAgcmV0dXJuIHsgfTsKK30KKwogc3RhdGljIFN0cmlu
ZyYgc2hhcmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKQogewogICAgIHN0YXRpYyBOZXZl
ckRlc3Ryb3llZDxTdHJpbmc+IHNoYXJlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcAppbmRleCBmYzdiYzMzMjNhYjRmOWM2YmNjOTkyOWZhNmVjOGI1ZjBm
MDgyMzA0Li40MzZhNWE1MjAzNWEwNjU3NTg5YzBlOTBiMDg0MmM0MzM2NTgxZTNkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xp
ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmNwcApAQCAtMTUyNCwxMyArMTUyNCw2IEBAIHZvaWQgV2ViQ2hyb21lQ2xp
ZW50OjplbnVtZXJhdGVJbW1lcnNpdmVYUkRldmljZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZChj
b25zdCBQCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1Mp
Ci12b2lkIFdlYkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29y
ZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKSBjb25zdAot
ewotICAgIG1fcGFnZS50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCk7
Ci19Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJKQogCiB2b2lkIFdlYkNo
cm9tZUNsaWVudDo6c3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihjb25zdCBVUkwmIG9yaWdpbmF0
aW5nVVJMLCBjb25zdCBBcHBsZVBheUFNU1VJUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlvbkhh
bmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVyKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oCmluZGV4IGE3NDlmNTkzMTkyNzRlZTQ2ZTBhZDgxMjVhODk0ZWQ2Y2Zl
MGI5NGUuLjJmZTMyOTAzNDM0N2NlZDI4ZjgxMDU3ZGEzZmVjMjMzMDdhZTcwODQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hy
b21lQ2xpZW50LmgKQEAgLTQ1NSwxMCArNDU1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVudW1l
cmF0ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFBsYXRm
b3JtWFI6Okluc3RhbmNlOjpEZXZpY2VMaXN0Jik+JiYpIGZpbmFsOwogI2VuZGlmCiAKLSNpZiBF
TkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVu
dEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRl
bnRMYXllcklkKSBjb25zdCBmaW5hbDsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BBWV9B
TVNfVUkpCiAgICAgdm9pZCBzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYsIGNv
bnN0IFdlYkNvcmU6OkFwcGxlUGF5QU1TVUlSZXF1ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBmaW5hbDsKICAgICB2b2lkIGFib3J0QXBwbGVQ
YXlBTVNVSVNlc3Npb24oKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHAKaW5kZXggYjE4ZDdmNzJlNjdhY2FkNGFiNTQ2ZDRkNDA4ZWRhYTE0YWM2
OWNhYi4uZGQ1OWNmYTcxMDZmMDg0NDJlM2ZiMzk5M2IxYTg4MDg4MWY3YmEzNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc3ODksMTMgKzc3
ODksNiBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29uc3Qg
VHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mIGluZgogfQogI2VuZGlmCiAKLSNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9pZCBXZWJQYWdlOjp0YWtlTW9kZWxFbGVtZW50
RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVu
dExheWVySWQpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpUYWtlTW9kZWxF
bGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCkpOwotfQotI2VuZGlmCi0KIHZvaWQgV2Vi
UGFnZTo6c2Nyb2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVjdCwg
Y29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKQogewogICAgIG1haW5GcmFtZVZpZXco
KS0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5lcigp
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNDFl
MjYwMzlhYjgxNGI0NDI0YzJlMjJhNmM0ZWYyY2EzZWExYmY3ZS4uNzQwM2Y3N2Q1MGFjZDFmZDUw
MGJkZWY5ZTRiYWEyZTU3ZjgyODQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaApAQCAtMTQ5MCwxMCArMTQ5MCw2IEBAIHB1YmxpYzoKICAgICBQbGF0Zm9y
bVhSU3lzdGVtUHJveHkmIHhyU3lzdGVtUHJveHkoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxFKEFS
S0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5ZXJJ
ZCk7Ci0jZW5kaWYKLQogICAgIHZvaWQgcHJlcGFyZVRvUnVuTW9kYWxKYXZhU2NyaXB0RGlhbG9n
KCk7CiAKICNpZiBVU0UoQVRTUEkpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>444698</attachid>
            <date>2021-11-18 10:38:51 -0800</date>
            <delta_ts>2021-11-18 11:08:58 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-233265-20211118193850.patch</filename>
            <type>text/plain</type>
            <size>67057</size>
            <attacher name="Antoine Quint">graouts</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2MDEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGI1NGZkNzA1NjZiNTQxYTk4MGI4NjBi
OTMwYmM4ZTNhYTI1ZDJmZGMuLmM0ODk1NWI5NzBkNDAxZmY1MTg0ODBhNWM0NmM3ODAxMWU5YzVl
ODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFv
dXRzQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGlu
ZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJhCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2Mjkw
PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgIEFkZCBhIG5l
dyBjb21waWxlLXRpbWUgZmxhZyBmb3IgdGhlIG5ldyBBUlFMIFNQSXMgd2UgYXJlIHVzaW5nLgor
CisgICAgICAgICogd3RmL1BsYXRmb3JtRW5hYmxlQ29jb2EuaDoKKwogMjAyMS0xMS0xNyAgSm9o
biBXaWxhbmRlciAgPHdpbGFuZGVyQGFwcGxlLmNvbT4KIAogICAgICAgICBQQ006IEFkZCBjYXBh
YmlsaXR5IGZvciBjbGljayBkZXN0aW5hdGlvbiB0byBmaXJlIHRyaWdnZXJpbmcgZXZlbnQgd2l0
aG91dCBjcm9zcy1zaXRlIHJlcXVlc3RzIHRvIHRoZSBjbGljayBzb3VyY2UKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRl
eCA1NWIwMDZmYjk3YWY2MWEzNGVhNzFkNTQyMjQyNDdjYzc2ZGY4MDA0Li45OTk0ZjNkMmRjZDg0
NjVjM2ExZTM3NWQzYjJmNjM1M2M0OTY2ZjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNDYgQEAK
KzIwMjEtMTEtMTggIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CisKKyAgICAg
ICAgW01vZGVsXSBhZGQgc3VwcG9ydCBmb3IgZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FtZXJh
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzMyNjUK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzg1NDI2MjkwPgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFdlIGFkZCB0d28gbmV3IHByb21pc2UtYmFzZWQgbWV0
aG9kcyB0byB0aGUgSFRNTE1vZGVsRWxlbWVudCBJREwgdG8gYWNjZXNzIGFuZCBzZXQgdGhlIGNh
bWVyYToKKyAgICAgICAgZ2V0Q2FtZXJhKCkgYW5kIHNldENhbWVyYSgpLiBUaGUgY2FtZXJhIGlz
IHJlcHJlc2VudGVkIGJ5IGEgbmV3IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgZGljdGlvbmFyeQor
ICAgICAgICB3aGljaCBoYXMgeWF3LCBwaXRjaCBhbmQgc2NhbGUgbWVtYmVycy4KKworICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIEhlYWRlcnMuY21ha2U6CisgICAgICAgICog
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNl
cy1vdXRwdXQueGNmaWxlbGlzdDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnQ6OmdldENhbWVyYSk6CisgICAgICAgIChXZWJD
b3JlOjpIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMvbW9k
ZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Lmg6CisgICAgICAgICogTW9kdWxlcy9tb2RlbC1l
bGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxl
bWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbC4KKyAgICAgICAgKFdl
YkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE6OmVuY29kZSBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhOjpkZWNvZGUpOgorICAgICAgICAqIE1vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbDogQ29waWVkIGZyb20g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRs
LgorICAgICAgICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oOgorICAgICAg
ICAqIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkR1bW15TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAgICAgIChX
ZWJDb3JlOjpEdW1teU1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAqIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmg6CisgICAgICAgICogTW9kdWxl
cy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9kZWxQbGF5ZXIuaDoKKyAgICAgICAg
KiBNb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbToK
KyAgICAgICAgKFdlYkNvcmU6OlNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYSk6CisgICAg
ICAgIChXZWJDb3JlOjpTY2VuZUtpdE1vZGVsUGxheWVyOjpzZXRDYW1lcmEpOgorICAgICAgICAq
IFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ajoKKyAgICAgICAgKiBsb2FkZXIvRW1wdHlDbGllbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVtcHR5Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbiBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogbG9hZGVyL0VtcHR5Q2xpZW50cy5oOgorICAgICAgICAqIHBhZ2Uv
Q2hyb21lQ2xpZW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpDaHJvbWVDbGllbnQ6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKwogMjAyMS0xMS0xOCAgQ2hyaXMg
RHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3AgU2VydmljZVdvcmtlckNs
aWVudElkZW50aWZpZXIgLyBEb2N1bWVudElkZW50aWZpZXIgYW5kIHVzZSBTY3JpcHRFeGVjdXRp
b25Db250ZXh0SWRlbnRpZmllciBpbnN0ZWFkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Q
QUwvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvUEFML0NoYW5nZUxvZwppbmRleCAyOTk3MDU4
MzA2YWNmYTgzYWY5NGQwMmZiMmQ5MDVhMDk0MzAxOWFlLi4zNzhmYTIwOWE1OThjNWY5Y2MwZDM0
NTdlMTE0NzdkMjNiMTE0NGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAyMS0xMS0xOCAgQW50b2luZSBRdWludCAgPGdyYW91dHNAd2Via2l0Lm9yZz4KKworICAgICAg
ICBbTW9kZWxdIGFkZCBzdXBwb3J0IGZvciBnZXR0aW5nIGFuZCBzZXR0aW5nIHRoZSBjYW1lcmEK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMzI2NQor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vODU0MjYyOTA+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
RGFyaW4gQWRsZXIuCisKKyAgICAgICAgQWRkIHRoZSBuZXcgQVJRTCBTUElzIHdlIGFyZSB1c2lu
Zy4KKworICAgICAgICAqIHBhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaDoKKyAgICAgICAg
KiBwYWwvc3BpL21hYy9TeXN0ZW1QcmV2aWV3U1BJLmg6CisKIDIwMjEtMTEtMTggIEFudG9pbmUg
UXVpbnQgIDxncmFvdXRzQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW01vZGVsXSBbbWFjT1NdIEFk
ZCBzdXBwb3J0IGZvciBpbnRlcmFjdGlvbiBvbiBtYWNPUwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBkOWUzYTM2MmMx
NGZkODVkZjYzZDI2NmFlMmI1N2FkMjRkNDIxOGU1Li4wZTk2M2UzYzNmMTU2YzEzMWU0OTA2Yjkw
YmFjZDI2NThkNTFhM2NmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDYyIEBACisyMDIxLTExLTE4ICBB
bnRvaW5lIFF1aW50ICA8Z3Jhb3V0c0B3ZWJraXQub3JnPgorCisgICAgICAgIFtNb2RlbF0gYWRk
IHN1cHBvcnQgZm9yIGdldHRpbmcgYW5kIHNldHRpbmcgdGhlIGNhbWVyYQorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzMjY1CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS84NTQyNjI5MD4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICBUaGUgQVJRTCBBUElzIHdlJ2QgYWRvcHRlZCBzbyBmYXIgd2VyZSBzcGVjaWZp
YyB0byBlaXRoZXIgbWFjT1Mgb3IgaU9TLiBUaGUgbmV3IGNhbWVyYQorICAgICAgICBtZXRob2Rz
IGFyZSBkaWZmZXJlbnQgc2luY2UgdGhleSBleGlzdCBvbiBib3RoIHBsYXRmb3Jtcy4KKworICAg
ICAgICBJbiBvcmRlciB0byBleHBvc2UgYSBzaW5nbGUgbWVzc2FnZSBmb3IgYm90aCBwbGF0Zm9y
bXMsIHdlIGludHJvZHVjZSBhIG5ldyBNb2RlbElkZW50aWZpZXIKKyAgICAgICAgc3RydWN0IHdo
aWNoIHdyYXBzIHRoZSBVVUlEIHN0cmluZyBmb3IgbWFjT1MgYW5kIHRoZSBsYXllciBpZGVudGlm
aWVyIGZvciBpT1MuIFRoZW4gb24KKyAgICAgICAgTW9kZWxFbGVtZW50Q29udHJvbGxlciwgd2Ug
aGF2ZSB0aGUgcHJldmlld0Zvck1vZGVsSWRlbnRpZmllcigpIG1ldGhvZCB0byBnZXQgdGhlIG1h
dGNoaW5nCisgICAgICAgIEFTVklubGluZVByZXZpZXcgZm9yIHRoZSBwcm92aWRlZCBNb2RlbElk
ZW50aWZpZXIuCisKKyAgICAgICAgVGhpcyBhbGxvd3MgZ2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50
KCkgYW5kIHNldENhbWVyYUZvck1vZGVsRWxlbWVudCB0byBiZSBzcGVjaWZpZWQgZm9yIGJvdGgK
KyAgICAgICAgaU9TIGFuZCBtYWNPUyB3aXRoIGEgc2luZ2xlIGltcGxlbWVudGF0aW9uLgorCisg
ICAgICAgIFdlIGFsc28gbW9kaWZ5IHRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKCkgdG8gdGFr
ZSBhZHZhbnRhZ2Ugb2YgTW9kZWxJZGVudGlmaWVyIHdoaWNoIHNob3dlZAorICAgICAgICB0aGF0
IHdlIGhhZCBzb21lIGxpbmdlcmluZyBjb2RlIGluIENocm9tZUNsaWVudCByZWxhdGVkIHRvIHRo
aXMgbWV0aG9kIHRoYXQgd2FzIG5vIGxvbmdlcgorICAgICAgICBuZWNlc3NhcnkgZm9sbG93aW5n
IHIyODU5MjIuCisKKyAgICAgICAgKiBTaGFyZWQvTW9kZWxJZGVudGlmaWVyLmg6IENvcGllZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLmguCisgICAgICAgIChXZWJLaXQ6Ok1vZGVsSWRlbnRpZmllcjo6ZW5jb2Rl
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxJZGVudGlmaWVyOjpkZWNvZGUpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW06Cisg
ICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsVmlld0Zvck1vZGVs
SWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6Ok1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnBy
ZXZpZXdGb3JNb2RlbElkZW50aWZpZXIpOgorICAgICAgICAoV2ViS2l0OjpNb2RlbEVsZW1lbnRD
b250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbik6CisgICAgICAgIChXZWJLaXQ6
OnByZXZpZXdIYXNDYW1lcmFTdXBwb3J0KToKKyAgICAgICAgKFdlYktpdDo6TW9kZWxFbGVtZW50
Q29udHJvbGxlcjo6Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAgICAgKFdlYktpdDo6
TW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KToKKyAgICAg
ICAgKiBVSVByb2Nlc3MvTW9kZWxFbGVtZW50Q29udHJvbGxlci5oOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6Om1v
ZGVsRWxlbWVudEdldENhbWVyYSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6bW9k
ZWxFbGVtZW50U2V0Q2FtZXJhKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojp0YWtl
TW9kZWxFbGVtZW50RnVsbHNjcmVlbik6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllci5oOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIubW06CisgICAgICAg
IChXZWJLaXQ6OkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpnZXRDYW1lcmEpOgorICAg
ICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBs
YXllcklPUy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJl
dmlld01vZGVsUGxheWVySU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpBUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllcklPUzo6bW9kZWxJZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6QVJL
aXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6OmVudGVyRnVsbHNjcmVlbik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6QVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQ
bGF5ZXJNYWM6Om1vZGVsSWRlbnRpZmllcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJDaHJvbWVD
bGllbnQ6OnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuIGNvbnN0KTogRGVsZXRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZTo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4pOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisKIDIwMjEtMTEtMTggIENocmlzIER1bWV6ICA8
Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBEcm9wIFNlcnZpY2VXb3JrZXJDbGllbnRJZGVu
dGlmaWVyIC8gRG9jdW1lbnRJZGVudGlmaWVyIGFuZCB1c2UgU2NyaXB0RXhlY3V0aW9uQ29udGV4
dElkZW50aWZpZXIgaW5zdGVhZApkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvUGxhdGZvcm1F
bmFibGVDb2NvYS5oIGIvU291cmNlL1dURi93dGYvUGxhdGZvcm1FbmFibGVDb2NvYS5oCmluZGV4
IDBkMTQzYmY1YjMxZjAxNTMyZmE0YzJmODZkOTg1OWVjMWIwNTVlY2EuLjJkZDlmYTJiMjdjYjQw
N2NhZGI3Mzk0MGEyNzVjNGQ2NzUyYzNkYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1Bs
YXRmb3JtRW5hYmxlQ29jb2EuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybUVuYWJsZUNv
Y29hLmgKQEAgLTc0MywzICs3NDMsNyBAQAogI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklF
V19JT1MpIHx8IEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAjZGVmaW5lIEVOQUJM
RV9BUktJVF9JTkxJTkVfUFJFVklFVyAxCiAjZW5kaWYKKworI2lmIChFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUFYX0FMTE9XRUQgPj0gMTIw
NDAwKSB8fCAoRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykgJiYgX19JUEhPTkVfT1Nf
VkVSU0lPTl9NQVhfQUxMT1dFRCA+PSAxNTA0MDApCisjZGVmaW5lIEVOQUJMRV9BUktJVF9JTkxJ
TkVfUFJFVklFV19DQU1FUkFfVFJBTlNGT1JNIDEKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApp
bmRleCA1YTA0MTU1YzRjMGY4YmRiYjg4ODEwNjE1OTcyMmRlYjliZDAxNDU1Li4wZWUwYmUzMDNk
MmE3MjVmNTE2MDNlMTMxZjZlMjFlYzI4NTU2ZmNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAt
NDYzLDYgKzQ2Myw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENUcmFuc2Zvcm1FdmVudC5pZGwKIAogICAgIE1vZHVsZXMvbW9kZWwt
ZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmlkbAorICAgIE1vZHVsZXMvbW9kZWwtZWxlbWVudC9I
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbAogCiAgICAgTW9kdWxlcy9ub3RpZmljYXRpb25zL05v
dGlmaWNhdGlvbi5pZGwKICAgICBNb2R1bGVzL25vdGlmaWNhdGlvbnMvTm90aWZpY2F0aW9uUGVy
bWlzc2lvbi5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2Zp
bGVsaXN0CmluZGV4IGYzY2VlY2Q0OGQ5OTVlYjM3MjYyYmRmMzQyNDZmOWQ4ZDZkM2I1MjIuLmE3
MmZhZDU4MWQ2MWJjYzNjNjYwOTg3YzBlMjE3Y2EwZmNjZGVmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdApAQCAtMTU4LDYgKzE1OCw3IEBA
ICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvV2ViR1BVL0dQVVZlcnRleFN0YXRlLmlkbAogJChQUk9K
RUNUX0RJUikvTW9kdWxlcy9XZWJHUFUvR1BVVmVydGV4U3RlcE1vZGUuaWRsCiAkKFBST0pFQ1Rf
RElSKS9Nb2R1bGVzL1dlYkdQVS9OYXZpZ2F0b3JHUFUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1
bGVzL2FpcnBsYXkvV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudC5pZGwKKyQo
UFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXktYW1zLXVpL0FwcGxlUGF5QU1TVUlSZXF1ZXN0
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNhbmNlbEV2ZW50
LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheUNvbnRhY3RGaWVs
ZC5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlDb3Vwb25Db2Rl
Q2hhbmdlZEV2ZW50LmlkbApAQCAtMjA1LDcgKzIwNiw2IEBAICQoUFJPSkVDVF9ESVIpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFVwZGF0ZS5pZGwKICQoUFJPSkVDVF9E
SVIpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZlbnQuaWRsCiAk
KFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0L0FwcGxlUGF5TW9k
aWZpZXIuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2FwcGxlcGF5L3BheW1lbnRyZXF1ZXN0
L0FwcGxlUGF5UmVxdWVzdC5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXBwbGVwYXktYW1z
LXVpL0FwcGxlUGF5QU1TVUlSZXF1ZXN0LmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3lu
Yy1jbGlwYm9hcmQvQ2xpcGJvYXJkLmlkbAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9hc3luYy1j
bGlwYm9hcmQvQ2xpcGJvYXJkSXRlbS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMvYXN5bmMt
Y2xpcGJvYXJkL05hdmlnYXRvcitDbGlwYm9hcmQuaWRsCkBAIC00MjgsNiArNDI4LDcgQEAgJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENTdGF0c1JlcG9ydC5pZGwKICQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhY2tFdmVudC5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhbnNmb3JtRXZlbnQuaWRsCiAkKFBST0pF
Q1RfRElSKS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5pZGwKKyQoUFJP
SkVDVF9ESVIpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlk
bAogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVkaWEtY29udHJvbHMvY29udHJvbHMv
YWN0aXZpdHktaW5kaWNhdG9yLmNzcwogJChQUk9KRUNUX0RJUikvTW9kdWxlcy9tb2Rlcm4tbWVk
aWEtY29udHJvbHMvY29udHJvbHMvYWlycGxheS1idXR0b24uY3NzCiAkKFBST0pFQ1RfRElSKS9N
b2R1bGVzL21vZGVybi1tZWRpYS1jb250cm9scy9jb250cm9scy9haXJwbGF5LWJ1dHRvbi5qcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRl
eCA0YzVmZjk1NGExNTk3ZWRiZjUwZDYyYWQ3MjkwNzQyOGM1ZDA1M2I2Li5iMjI0MTcyMTBkZGJh
MzcwY2Y2NGZmOTkxZWIwNTg4NTM5MTNmZTdkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTI4Myw2ICsxMjgzLDggQEAgJChCVUlM
VF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MTW9kRWxlbWVudC5j
cHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1v
ZEVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNIVE1MTW9kZWxFbGVtZW50LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNIVE1MTW9kZWxFbGVtZW50LmgKKyQoQlVJTFRfUFJPRFVDVFNfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZGVsRWxlbWVudENhbWVyYS5jcHAKKyQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTSFRNTE1vZGVsRWxlbWVu
dENhbWVyYS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0hUTUxPTGlzdEVsZW1lbnQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0hUTUxPTGlzdEVsZW1lbnQuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNIVE1MT2JqZWN0RWxlbWVudC5jcHAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGY4OGU2MzliOWQ3NGI5ZGQ1NDQ4Y2VkOTkxODFjMGRmMGY1
MjgxNDQuLmIxYjZhOGE1NTE5MTI2NjM0YjUxOTYwNTc5N2RhYjRjNjU5MmVjODIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtNDUzLDYgKzQ1Myw3IEBAIEpTX0JJTkRJTkdfSURM
UyA6PSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1RyYWNrRXZlbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDVHJhbnNmb3JtRXZl
bnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1v
ZGVsRWxlbWVudENhbWVyYS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9ub3RpZmljYXRp
b25zL05vdGlmaWNhdGlvblBlcm1pc3Npb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
bm90aWZpY2F0aW9ucy9Ob3RpZmljYXRpb25QZXJtaXNzaW9uQ2FsbGJhY2suaWRsIFwKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UgYi9Tb3VyY2UvV2ViQ29yZS9IZWFk
ZXJzLmNtYWtlCmluZGV4IDNjZDRhODQxYzdiYTRiYTgyY2I3ZGYyY2EyYWI3NzczOGI5MDljOTcu
LjliNTc4NjllNjkyY2ViZGY1NTEyZDVjOTZmOGMxN2FmNTYxZmY3NWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0hlYWRlcnMuY21ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvSGVhZGVycy5j
bWFrZQpAQCAtMTM3LDYgKzEzNyw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfRlJBTUVXT1JLX0hF
QURFUlMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENVdGlscy5o
CiAKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCisgICAgTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaAogICAgIE1vZHVsZXMv
bW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCiAgICAgTW9kdWxlcy9tb2RlbC1lbGVtZW50L01v
ZGVsUGxheWVyQ2xpZW50LmgKICAgICBNb2R1bGVzL21vZGVsLWVsZW1lbnQvTW9kZWxQbGF5ZXJQ
cm92aWRlci5oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1l
bnQvSFRNTE1vZGVsRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVs
ZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5jcHAKaW5kZXggNGZhNmRlOTNiMGU0NjdmYWY1N2JhNGQy
MTZhODhmNzA4MzdkMjlhZS4uODY3ODAzYjJkNjJlM2I2MDcxYzk2MTIwN2VhMjA5YTdkY2VmNmJi
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxN
b2RlbEVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVu
dC9IVE1MTW9kZWxFbGVtZW50LmNwcApAQCAtMzcsMTEgKzM3LDE0IEBACiAjaW5jbHVkZSAiRXZl
bnROYW1lcy5oIgogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJHcmFwaGlj
c0xheWVyQ0EuaCIKKyNpbmNsdWRlICJIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVk
ZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFBhcnNlcklkaW9tcy5oIgogI2luY2x1ZGUg
IkhUTUxTb3VyY2VFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIK
ICNpbmNsdWRlICJKU0V2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSAiSlNIVE1MTW9kZWxFbGVtZW50
LmgiCisjaW5jbHVkZSAiSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgiCiAjaW5jbHVkZSAiTW9k
ZWwuaCIKICNpbmNsdWRlICJNb2RlbFBsYXllci5oIgogI2luY2x1ZGUgIk1vZGVsUGxheWVyUHJv
dmlkZXIuaCIKQEAgLTM2MCw2ICszNjMsMzggQEAgdm9pZCBIVE1MTW9kZWxFbGVtZW50OjpkcmFn
RGlkRW5kKE1vdXNlRXZlbnQmIGV2ZW50KQogICAgICAgICBtX21vZGVsUGxheWVyLT5oYW5kbGVN
b3VzZVVwKGV2ZW50LnBhZ2VMb2NhdGlvbigpLCBldmVudC50aW1lU3RhbXAoKSk7CiB9CiAKKy8v
IE1BUks6IOKAkyBDYW1lcmEgc3VwcG9ydC4KKwordm9pZCBIVE1MTW9kZWxFbGVtZW50OjpnZXRD
YW1lcmEoQ2FtZXJhUHJvbWlzZSYmIHByb21pc2UpCit7CisgICAgaWYgKCFtX21vZGVsUGxheWVy
KSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBtX21vZGVsUGxheWVyLT5nZXRDYW1lcmEoW3Byb21pc2UgPSBXVEZNb3ZlKHByb21pc2Up
XSAoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiBjYW1lcmEpIG11dGFibGUg
eworICAgICAgICBpZiAoIWNhbWVyYSkKKyAgICAgICAgICAgIHByb21pc2UucmVqZWN0KCk7Cisg
ICAgICAgIGVsc2UKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgqY2FtZXJhKTsKKyAgICB9
KTsKK30KKwordm9pZCBIVE1MTW9kZWxFbGVtZW50OjpzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVu
dENhbWVyYSBjYW1lcmEsIERPTVByb21pc2VEZWZlcnJlZDx2b2lkPiYmIHByb21pc2UpCit7Cisg
ICAgaWYgKCFtX21vZGVsUGxheWVyKSB7CisgICAgICAgIHByb21pc2UucmVqZWN0KCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX21vZGVsUGxheWVyLT5zZXRDYW1lcmEoY2FtZXJh
LCBbcHJvbWlzZSA9IFdURk1vdmUocHJvbWlzZSldIChib29sIHN1Y2Nlc3MpIG11dGFibGUgewor
ICAgICAgICBpZiAoc3VjY2VzcykKKyAgICAgICAgICAgIHByb21pc2UucmVzb2x2ZSgpOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICBwcm9taXNlLnJlamVjdCgpOworICAgIH0pOworfQorCiB9
CiAKICNlbmRpZiAvLyBFTkFCTEUoTU9ERUxfRUxFTUVOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvSFRNTE1vZGVsRWxlbWVudC5oCmluZGV4IGZl
ZWJjYzU5MzA2YzVmMjQ1Yjk0MzAxNjM0NDMwZDc1OTRlZTZjNTkuLmZjNGNkNjhkYTI1NGM1MDJk
YWQ0YzUyMjM1ZDI2NWVlNDk0YTg0MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnQuaApAQCAtMzIsNiArMzIsNyBA
QAogI2luY2x1ZGUgIkNhY2hlZFJlc291cmNlSGFuZGxlLmgiCiAjaW5jbHVkZSAiR3JhcGhpY3NM
YXllci5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisjaW5jbHVkZSAiSFRNTE1vZGVsRWxl
bWVudENhbWVyYS5oIgogI2luY2x1ZGUgIklETFR5cGVzLmgiCiAjaW5jbHVkZSAiTW9kZWxQbGF5
ZXJDbGllbnQuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCkBAIC00NSw2ICs0Niw3IEBA
IGNsYXNzIE1vZGVsOwogY2xhc3MgTW9kZWxQbGF5ZXI7CiBjbGFzcyBNb3VzZUV2ZW50OwogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlRGVmZXJyZWQ7CiB0ZW1w
bGF0ZTx0eXBlbmFtZSBJRExUeXBlPiBjbGFzcyBET01Qcm9taXNlUHJveHlXaXRoUmVzb2x2ZUNh
bGxiYWNrOwogCiBjbGFzcyBIVE1MTW9kZWxFbGVtZW50IGZpbmFsIDogcHVibGljIEhUTUxFbGVt
ZW50LCBwcml2YXRlIENhY2hlZFJhd1Jlc291cmNlQ2xpZW50LCBwdWJsaWMgTW9kZWxQbGF5ZXJD
bGllbnQgewpAQCAtNjksNiArNzEsMTAgQEAgcHVibGljOgogCiAgICAgdm9pZCBlbnRlckZ1bGxz
Y3JlZW4oKTsKIAorICAgIHVzaW5nIENhbWVyYVByb21pc2UgPSBET01Qcm9taXNlRGVmZXJyZWQ8
SURMRGljdGlvbmFyeTxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPj47CisgICAgdm9pZCBnZXRDYW1l
cmEoQ2FtZXJhUHJvbWlzZSYmKTsKKyAgICB2b2lkIHNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLCBET01Qcm9taXNlRGVmZXJyZWQ8dm9pZD4mJik7CisKICAgICBib29sIGlzRHJhZ2dh
YmxlSWdub3JpbmdBdHRyaWJ1dGVzKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQogCiBw
cml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50
L0hUTUxNb2RlbEVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVt
ZW50L0hUTUxNb2RlbEVsZW1lbnQuaWRsCmluZGV4IDE2M2FkNmMzYWFlN2Y3MTQ2MWFhMGJiOTdj
MGUwYjY3YWNhMGZjN2EuLmU3ZWQ0MDkxYjM5MGU3NGUxZWZhMGNmMzlkYWExNWFmYmJhNjI2Zjgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9k
ZWxFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
SFRNTE1vZGVsRWxlbWVudC5pZGwKQEAgLTMzLDQgKzMzLDcgQEAKICAgICByZWFkb25seSBhdHRy
aWJ1dGUgUHJvbWlzZTxIVE1MTW9kZWxFbGVtZW50PiByZWFkeTsKIAogICAgIHVuZGVmaW5lZCBl
bnRlckZ1bGxzY3JlZW4oKTsKKworICAgIFByb21pc2U8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4g
Z2V0Q2FtZXJhKCk7CisgICAgUHJvbWlzZTx1bmRlZmluZWQ+IHNldENhbWVyYShIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhIGNhbWVyYSk7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZmYxZDk0YTlkMGJkMzMyMzM2NDg3OTU3NDY2MTUyYmNmMzVjNmE0YQotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9IVE1MTW9kZWxF
bGVtZW50Q2FtZXJhLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8b3B0aW9uYWw+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEg
eworICAgIGRvdWJsZSBwaXRjaCB7IDAgfTsKKyAgICBkb3VibGUgeWF3IHsgMCB9OworICAgIGRv
dWJsZSBzY2FsZSB7IDEgfTsKKworICAgIHRlbXBsYXRlPGNsYXNzIEVuY29kZXI+IHZvaWQgZW5j
b2RlKEVuY29kZXImKSBjb25zdDsKKyAgICB0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGF0aWMg
c3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiBkZWNvZGUoRGVjb2RlciYpOwor
fTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBIVE1MTW9kZWxFbGVtZW50Q2FtZXJh
OjplbmNvZGUoRW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHBpdGNo
OworICAgIGVuY29kZXIgPDwgeWF3OworICAgIGVuY29kZXIgPDwgc2NhbGU7Cit9CisKK3RlbXBs
YXRlPGNsYXNzIERlY29kZXI+IHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4g
SFRNTE1vZGVsRWxlbWVudENhbWVyYTo6ZGVjb2RlKERlY29kZXImIGRlY29kZXIpCit7CisgICAg
c3RkOjpvcHRpb25hbDxkb3VibGU+IHBpdGNoOworICAgIGRlY29kZXIgPj4gcGl0Y2g7CisgICAg
aWYgKCFwaXRjaCkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKworICAgIHN0ZDo6b3B0
aW9uYWw8ZG91YmxlPiB5YXc7CisgICAgZGVjb2RlciA+PiB5YXc7CisgICAgaWYgKCF5YXcpCisg
ICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisKKyAgICBzdGQ6Om9wdGlvbmFsPGRvdWJsZT4g
c2NhbGU7CisgICAgZGVjb2RlciA+PiBzY2FsZTsKKyAgICBpZiAoIXNjYWxlKQorICAgICAgICBy
ZXR1cm4gc3RkOjpudWxsb3B0OworCisgICAgcmV0dXJuIHsgeyAqcGl0Y2gsICp5YXcsICpzY2Fs
ZSB9IH07Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRs
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L0hUTUxNb2RlbEVsZW1lbnRD
YW1lcmEuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE3MjcwOTMxZDdmMWViNmRkNDVhZjBkY2MzZTk0ZDI3ZGQ4
YmJjMjcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVs
ZW1lbnQvSFRNTE1vZGVsRWxlbWVudENhbWVyYS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMg
SVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25h
bD1NT0RFTF9FTEVNRU5ULAorICAgIEVuYWJsZWRCeVNldHRpbmc9TW9kZWxFbGVtZW50RW5hYmxl
ZCwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IEhUTUxNb2RlbEVsZW1l
bnRDYW1lcmEgeworICAgIGRvdWJsZSBwaXRjaDsKKyAgICBkb3VibGUgeWF3OworICAgIGRvdWJs
ZSBzY2FsZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVs
ZW1lbnQvTW9kZWxQbGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVu
dC9Nb2RlbFBsYXllci5oCmluZGV4IDY3NWE0MGYyOGRjZTZlYjUzZDVmYjQxOTBmN2FiNTc2MTU3
NDY3MTUuLjlhZWVjYjVhM2RjZTRjYjEzNzRjMzUxMWUzOGM4NTg3ZTIwOWY5MzkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9Nb2RlbFBsYXllci5oCkBA
IC0yNSw5ICsyNSwxMSBAQAogCiAjcHJhZ21hIG9uY2UKIAorI2luY2x1ZGUgIkhUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEuaCIKICNpbmNsdWRlICJMYXlvdXRQb2ludC5oIgogI2luY2x1ZGUgIkxheW91
dFNpemUuaCIKICNpbmNsdWRlICJQbGF0Zm9ybUxheWVyLmgiCisjaW5jbHVkZSA8b3B0aW9uYWw+
CiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvTW9ub3RvbmljVGltZS5o
PgogCkBAIC00Nyw3ICs0OSw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgaGFuZGxlTW91
c2VEb3duKGNvbnN0IExheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgPSAwOwogICAgIHZpcnR1
YWwgdm9pZCBoYW5kbGVNb3VzZU1vdmUoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1l
KSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGhhbmRsZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQm
LCBNb25vdG9uaWNUaW1lKSA9IDA7Ci0KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0Q2FtZXJhKENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoc3RkOjpvcHRpb25hbDxIVE1MTW9kZWxFbGVtZW50Q2FtZXJhPiYm
KT4mJikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBzZXRDYW1lcmEoSFRNTE1vZGVsRWxlbWVudENh
bWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChib29sJiYpPiYmKSA9IDA7CiB9OwogCiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVt
bXlNb2RlbFBsYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQv
ZHVtbXkvRHVtbXlNb2RlbFBsYXllci5jcHAKaW5kZXggNjg3NDg0MGZiOGU5ZTA2MGUxMzUwMWNm
OTZjMTk2ZDg2ZDYyNTgyMy4uYzUyOWYwNzllNzgyZjQ4MDA4MmFiNmZkMTA5YTRmYTU1NjlhYjNm
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15
L0R1bW15TW9kZWxQbGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwt
ZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmNwcApAQCAtNzAsNCArNzAsMTIgQEAgdm9p
ZCBEdW1teU1vZGVsUGxheWVyOjpoYW5kbGVNb3VzZVVwKGNvbnN0IExheW91dFBvaW50JiwgTW9u
b3RvbmljVGltZSkKIHsKIH0KIAordm9pZCBEdW1teU1vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29t
cGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1l
bnRDYW1lcmE+JiYpPiYmKQoreworfQorCit2b2lkIER1bW15TW9kZWxQbGF5ZXI6OnNldENhbWVy
YShXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGJvb2wmJik+JiYpCit7Cit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvZHVtbXkvRHVtbXlNb2RlbFBsYXllci5oCmluZGV4IDNi
YjFiODhkMTJmMzllODQzNDJjYjU1MTI0N2RhZjUwNzczN2ZmODQuLjc5NjEzNDVhNDYyNmIzMmYy
NDFhZTQyNWI1NjNjMGJmMDAxMjk0M2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbW9kZWwtZWxlbWVudC9kdW1teS9EdW1teU1vZGVsUGxheWVyLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L2R1bW15L0R1bW15TW9kZWxQbGF5ZXIuaApAQCAt
NDcsNiArNDcsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IExh
eW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3Vz
ZU1vdmUoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVycmlkZTsKICAgICB2
b2lkIGhhbmRsZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKSBvdmVy
cmlkZTsKKyAgICB2b2lkIGdldENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0
aW9uYWw8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOwor
ICAgIHZvaWQgc2V0Q2FtZXJhKFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBs
ZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikgb3ZlcnJpZGU7CiAKICAgICBXZWFrUHRyPE1v
ZGVsUGxheWVyQ2xpZW50PiBtX2NsaWVudDsKIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5oIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tb2RlbC1lbGVtZW50L3NjZW5la2l0L1NjZW5lS2l0TW9k
ZWxQbGF5ZXIuaAppbmRleCA5YjRmMWRmODc5M2Y3NjM2ZDAyNWNhNDQzMDJjMWExYzg1ZDgxYjc4
Li5lNzg1NGY4MGJiN2QyN2QwZGVkOTJhNDMwM2I4MzljYjYyZDYxMDQ5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVsLWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2Rl
bFBsYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2Vu
ZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLmgKQEAgLTYxLDYgKzYxLDggQEAgcHJpdmF0ZToKICAg
ICB2b2lkIGhhbmRsZU1vdXNlRG93bihjb25zdCBMYXlvdXRQb2ludCYsIE1vbm90b25pY1RpbWUp
IG92ZXJyaWRlOwogICAgIHZvaWQgaGFuZGxlTW91c2VNb3ZlKGNvbnN0IExheW91dFBvaW50Jiwg
TW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBoYW5kbGVNb3VzZVVwKGNvbnN0IExh
eW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkgb3ZlcnJpZGU7CisgICAgdm9pZCBnZXRDYW1lcmEo
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPEhUTUxNb2RlbEVsZW1lbnRDYW1l
cmE+JiYpPiYmKSBvdmVycmlkZTsKKyAgICB2b2lkIHNldENhbWVyYShIVE1MTW9kZWxFbGVtZW50
Q2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wmJik+JiYpIG92ZXJyaWRlOwogCiAg
ICAgLy8gU2NlbmVLaXRNb2RlbExvYWRlckNsaWVudCBvdmVycmlkZXMuCiAgICAgdmlydHVhbCB2
b2lkIGRpZEZpbmlzaExvYWRpbmcoU2NlbmVLaXRNb2RlbExvYWRlciYsIFJlZjxTY2VuZUtpdE1v
ZGVsPikgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21vZGVs
LWVsZW1lbnQvc2NlbmVraXQvU2NlbmVLaXRNb2RlbFBsYXllci5tbSBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tCmlu
ZGV4IDc3NmM2OGZjNmY1MWY5NjdjOGQ0MzczZjJkMDBiZDY0OWUxMDQyYjcuLmY0MzA5ZWI2MTQ4
OWJlNjExOTc1YWQ1ZDQzODU1MGVkYjc2MjZiODQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtpdE1vZGVsUGxheWVyLm1tCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbW9kZWwtZWxlbWVudC9zY2VuZWtpdC9TY2VuZUtp
dE1vZGVsUGxheWVyLm1tCkBAIC04OCw2ICs4OCwxNCBAQCB2b2lkIFNjZW5lS2l0TW9kZWxQbGF5
ZXI6OmhhbmRsZU1vdXNlVXAoY29uc3QgTGF5b3V0UG9pbnQmLCBNb25vdG9uaWNUaW1lKQogewog
fQogCit2b2lkIFNjZW5lS2l0TW9kZWxQbGF5ZXI6OmdldENhbWVyYShDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKHN0ZDo6b3B0aW9uYWw8SFRNTE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpCit7Cit9
CisKK3ZvaWQgU2NlbmVLaXRNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKEhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCYmKT4mJikKK3sKK30KKwogLy8gTUFS
SzogLSBTY2VuZUtpdE1vZGVsTG9hZGVyQ2xpZW50IG92ZXJyaWRlcy4KIAogdm9pZCBTY2VuZUtp
dE1vZGVsUGxheWVyOjpkaWRGaW5pc2hMb2FkaW5nKFNjZW5lS2l0TW9kZWxMb2FkZXImIGxvYWRl
ciwgUmVmPFNjZW5lS2l0TW9kZWw+IG1vZGVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
UEFML3BhbC9zcGkvaW9zL1N5c3RlbVByZXZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL1BBTC9w
YWwvc3BpL2lvcy9TeXN0ZW1QcmV2aWV3U1BJLmgKaW5kZXggNWExYWQzMDlhZTlhYWU0NjdjNWY4
NTRhMTE0ZjYyNGI4MGQyMGFmNS4uMzg0YWYyN2NlZGI0NDZjNWNiNDI5YTgyM2I4MDY1YjM0OGEx
NDU3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvUEFML3BhbC9zcGkvaW9zL1N5c3RlbVBy
ZXZpZXdTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9pb3MvU3lzdGVtUHJl
dmlld1NQSS5oCkBAIC01OCwxMCArNTgsMTEgQEAgTlNfQVNTVU1FX05PTk5VTExfQkVHSU4KIEBw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIFFMSXRlbSAqdGh1bWJuYWlsSXRlbTsKIEBwcm9w
ZXJ0eSAobm9uYXRvbWljKSBDR1NpemUgbWF4VGh1bWJuYWlsU2l6ZTsKIEBlbmQKLSNlbmRpZgog
CiBOU19BU1NVTUVfTk9OTlVMTF9FTkQKIAorI2VuZGlmCisKICNpZiBIQVZFKEFSS0lUX1FVSUNL
X0xPT0tfUFJFVklFV19JVEVNKQogI2ltcG9ydCA8QVJLaXQvQVJLaXQuaD4KIApAQCAtNzcsMTAg
Kzc4LDE2IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKXNldERlbGVnYXRlOihp
ZCA8QVJRdWlja0xvb2tXZWJLaXRJdGVtRGVsZWdhdGU+KWRlbGVnYXRlOwogQGVuZAogCitOU19B
U1NVTUVfTk9OTlVMTF9FTkQKKwogI2VuZGlmCiAKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BS
RVZJRVdfSU9TKQogCisjaW1wb3J0IDxzaW1kL3NpbWQuaD4KKworTlNfQVNTVU1FX05PTk5VTExf
QkVHSU4KKwogQGNsYXNzIEFTVklubGluZVByZXZpZXc7CiBAY2xhc3MgQ0FGZW5jZUhhbmRsZTsK
IEBpbnRlcmZhY2UgQVNWSW5saW5lUHJldmlldyA6IE5TT2JqZWN0CkBAIC05NywxMCArMTA0LDE0
IEBAIE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKXRvdWNoZXNFbmRlZDooTlNTZXQ8
VUlUb3VjaCAqPiAqKXRvdWNoZXMgd2l0aEV2ZW50OihudWxsYWJsZSBVSUV2ZW50ICopZXZlbnQ7
CiAtICh2b2lkKXRvdWNoZXNDYW5jZWxsZWQ6KE5TU2V0PFVJVG91Y2ggKj4gKil0b3VjaGVzIHdp
dGhFdmVudDoobnVsbGFibGUgVUlFdmVudCAqKWV2ZW50OwogCi1AZW5kCit0eXBlZGVmIHZvaWQg
KF5BU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJhVHJhbnNm
b3JtLCBOU0Vycm9yICogX051bGxhYmxlIGVycm9yKTsKKy0gKHZvaWQpZ2V0Q2FtZXJhVHJhbnNm
b3JtOihBU1ZDYW1lcmFUcmFuc2Zvcm1SZXBseUJsb2NrKXJlcGx5OworLSAodm9pZClzZXRDYW1l
cmFUcmFuc2Zvcm06KHNpbWRfZmxvYXQzKXRyYW5zZm9ybTsKIAotI2VuZGlmCitAZW5kCiAKIE5T
X0FTU1VNRV9OT05OVUxMX0VORAogCiAjZW5kaWYKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9tYWMvU3lzdGVtUHJldmlld1NQSS5oIGIvU291cmNlL1dl
YkNvcmUvUEFML3BhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaAppbmRleCA2MGFiY2Y3NzY4
YjI0ZGNjMzY5OWM5NTVmYzQ3N2RjNzBhODZlZWM2Li4wY2Q1NGUwNGQ3MDMzYjg1MDMzMDkxNTQ4
Y2EyYTBlN2E4MTA0MWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9QQUwvcGFsL3NwaS9t
YWMvU3lzdGVtUHJldmlld1NQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BBTC9wYWwvc3BpL21h
Yy9TeXN0ZW1QcmV2aWV3U1BJLmgKQEAgLTMxLDEwICszMSwxMiBAQAogCiAjZWxzZSAvLyBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQogCi1OU19BU1NVTUVfTk9OTlVMTF9CRUdJTgotCiAjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKIAorI2ltcG9ydCA8c2ltZC9zaW1kLmg+CisK
K05TX0FTU1VNRV9OT05OVUxMX0JFR0lOCisKIEBjbGFzcyBBU1ZJbmxpbmVQcmV2aWV3OwogCiBA
aW50ZXJmYWNlIEFTVklubGluZVByZXZpZXcgOiBOU09iamVjdApAQCAtNTIsMTAgKzU0LDE0IEBA
IE5TX0FTU1VNRV9OT05OVUxMX0JFR0lOCiAtICh2b2lkKW1vdXNlRHJhZ2dlZEF0TG9jYXRpb246
KENHUG9pbnQpbG9jYXRpb24gdGltZXN0YW1wOihOU1RpbWVJbnRlcnZhbCl0aW1lc3RhbXA7CiAt
ICh2b2lkKW1vdXNlVXBBdExvY2F0aW9uOihDR1BvaW50KWxvY2F0aW9uIHRpbWVzdGFtcDooTlNU
aW1lSW50ZXJ2YWwpdGltZXN0YW1wOwogCi1AZW5kCit0eXBlZGVmIHZvaWQgKF5BU1ZDYW1lcmFU
cmFuc2Zvcm1SZXBseUJsb2NrKSAoc2ltZF9mbG9hdDMgY2FtZXJhVHJhbnNmb3JtLCBOU0Vycm9y
ICogX051bGxhYmxlIGVycm9yKTsKKy0gKHZvaWQpZ2V0Q2FtZXJhVHJhbnNmb3JtOihBU1ZDYW1l
cmFUcmFuc2Zvcm1SZXBseUJsb2NrKXJlcGx5OworLSAodm9pZClzZXRDYW1lcmFUcmFuc2Zvcm06
KHNpbWRfZmxvYXQzKXRyYW5zZm9ybTsKIAotI2VuZGlmIC8vIEVOQUJMRShBUktJVF9JTkxJTkVf
UFJFVklFV19NQUMpCitAZW5kCiAKIE5TX0FTU1VNRV9OT05OVUxMX0VORAogCisjZW5kaWYgLy8g
RU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKKwogI2VuZGlmIC8vIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IDkxYThjMGVmYWRhNTg1YTNiY2MyZGM3MTAx
YjU1N2EwYTNmMWIxOTIuLmFkOTMzMGJjYTNmYWVkYmEzYWE0MjJkYTQ2YzEyNjRhMzVjOTA4OGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CkBAIC0zMzAxLDYgKzMzMDEsNyBAQCBKU0hUTUxNZXRhRWxlbWVudC5j
cHAKIEpTSFRNTE1ldGVyRWxlbWVudC5jcHAKIEpTSFRNTE1vZEVsZW1lbnQuY3BwCiBKU0hUTUxN
b2RlbEVsZW1lbnQuY3BwCitKU0hUTUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwCiBKU0hUTUxPTGlz
dEVsZW1lbnQuY3BwCiBKU0hUTUxPYmplY3RFbGVtZW50LmNwcAogSlNIVE1MT3B0R3JvdXBFbGVt
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDVhNGI0Y2UwNjg3MDhmNjQwYzcxYTIyYjc1ZGY0YTUwYmNmMWUwZDIuLmRm
ZDZmYTI2MzlmZWE2MjRkYzE1OTI1NmIwZmZkODk0NTY3MzJmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTIyNzQsNiArMjI3
NCw3IEBACiAJCTcxNUFENzIxMjA1MDUxM0YwMEQ1OTJEQyAvKiBDU1NUcmFuc2l0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTIzQzE4NjIwNDcz
OUJBMDA3ODkzOTIgLyogQ1NTVHJhbnNpdGlvbi5oICovOyB9OwogCQk3MTcyOUY3QjIwRjNCQTQ5
MDA4MDFDRTYgLyogRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxNzI5RjdBMjBGM0JBM0EwMDgwMUNFNiAvKiBE
b2N1bWVudFRpbWVsaW5lT3B0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFBy
aXZhdGUsICk7IH07IH07CiAJCTcxNzI5RjdFMjBGM0JCNDcwMDgwMUNFNiAvKiBKU0RvY3VtZW50
VGltZWxpbmVPcHRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA3MTcyOUY3QzIwRjNCQUI5MDA4MDFDRTYgLyogSlNEb2N1bWVudFRpbWVsaW5lT3B0
aW9ucy5oICovOyB9OworCQk3MTc3QUQ1NzI3NDI5NUQxMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxl
bWVudENhbWVyYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNzE3N0FENTYyNzQyOTU5MDAwMkYxMDNCIC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3MTgxQTE2
QzI0NEYwRjQwMDA3RDhBMjQgLyogRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3MTgxQTE2OTI0NEYwRjJD
MDA3RDhBMjQgLyogRG9jdW1lbnRUaW1lbGluZXNDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNzFBMUI2MDgxREVFNUFENzAwNzNC
Q0ZCIC8qIG1vZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncy5qcyBpbiBSZXNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNzFBMUI2MDYxREVFNUE4
MjAwNzNCQ0ZCIC8qIG1vZGVybi1tZWRpYS1jb250cm9scy1sb2NhbGl6ZWQtc3RyaW5ncy5qcyAq
LzsgfTsKIAkJNzFBM0QxODEyNTYyQjg1QjAwNjRFMkE2IC8qIEhUTUxNb2RlbEVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDcxQTNEMTdEMjU2
MkI4MjQwMDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTEwNzc1LDYgKzEwNzc2LDEwIEBACiAJCTcx
NzI5RjdDMjBGM0JBQjkwMDgwMUNFNiAvKiBKU0RvY3VtZW50VGltZWxpbmVPcHRpb25zLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3MjlGN0QyMEYzQkFCQTAwODAxQ0U2
IC8qIEpTRG9jdW1lbnRUaW1lbGluZU9wdGlvbnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNEb2N1bWVudFRpbWVsaW5lT3B0aW9ucy5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTcxNzNERUJEMjYxNERGMDQwMDk3REYzMiAvKiBTdHlsZWFibGUu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3R5bGVhYmxlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNzE3N0FENTQyNzQyOTUyRjAwMkYxMDNCIC8q
IEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IEhUTUxN
b2RlbEVsZW1lbnRDYW1lcmEuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MTc3
QUQ1NjI3NDI5NTkwMDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTcxNzdBRDU4Mjc0MjlDQ0EwMDJGMTAzQiAvKiBKU0hU
TUxNb2RlbEVsZW1lbnRDYW1lcmEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNzE3N0FENTkyNzQyOUNDQjAwMkYxMDNCIC8qIEpTSFRNTE1vZGVsRWxlbWVudENh
bWVyYS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0hUTUxNb2RlbEVsZW1l
bnRDYW1lcmEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzE3N0UyNDYxREI4MEQy
RjAwOTE5QTBCIC8qIG1lZGlhLWNvbnRyb2xsZXItc3VwcG9ydC5qcyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuamF2YXNjcmlwdDsgcGF0aCA9ICJtZWRpYS1jb250cm9sbGVyLXN1cHBvcnQuanMiOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MTc3RTI0NzFEQjgwRDJGMDA5MTlBMEIgLyog
bXV0ZS1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5qYXZhc2NyaXB0OyBwYXRoID0g
Im11dGUtc3VwcG9ydC5qcyI7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxNzdFMjQ4
MURCODBEMkYwMDkxOUEwQiAvKiBzdGFydC1zdXBwb3J0LmpzICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5qYXZhc2NyaXB0OyBwYXRoID0gInN0YXJ0LXN1cHBvcnQuanMiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwpAQCAtMjM4MDcsNiArMjM4MTIsOCBAQAogCQkJCTcxQTNEMTgwMjU2MkI4MjUw
MDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmNwcCAqLywKIAkJCQk3MUEzRDE3RDI1NjJCODI0
MDA2NEUyQTYgLyogSFRNTE1vZGVsRWxlbWVudC5oICovLAogCQkJCTcxQTNEMTdGMjU2MkI4MjQw
MDY0RTJBNiAvKiBIVE1MTW9kZWxFbGVtZW50LmlkbCAqLywKKwkJCQk3MTc3QUQ1NjI3NDI5NTkw
MDAyRjEwM0IgLyogSFRNTE1vZGVsRWxlbWVudENhbWVyYS5oICovLAorCQkJCTcxNzdBRDU0Mjc0
Mjk1MkYwMDJGMTAzQiAvKiBIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLmlkbCAqLywKIAkJCQlCQzJC
NDExNDI3MzJGMDYyMDBBMkQxOTEgLyogTW9kZWxQbGF5ZXIuY3BwICovLAogCQkJCUJDMkI0MTEz
MjczMkYwNjIwMEEyRDE5MSAvKiBNb2RlbFBsYXllci5oICovLAogCQkJCUJDMkI0MTEyMjczMkYw
M0MwMEEyRDE5MSAvKiBNb2RlbFBsYXllckNsaWVudC5jcHAgKi8sCkBAIC0yNjA4NSw2ICsyNjA5
Miw4IEBACiAJCQkJQTdCQkUyNjUxMUFGQjNGMjAwMDVFQTAzIC8qIEpTSFRNTE1ldGVyRWxlbWVu
dC5oICovLAogCQkJCTcxQTNEMTgyMjU2MkJEREIwMDY0RTJBNiAvKiBKU0hUTUxNb2RlbEVsZW1l
bnQuY3BwICovLAogCQkJCTcxQTNEMTgzMjU2MkJEREIwMDY0RTJBNiAvKiBKU0hUTUxNb2RlbEVs
ZW1lbnQuaCAqLywKKwkJCQk3MTc3QUQ1ODI3NDI5Q0NBMDAyRjEwM0IgLyogSlNIVE1MTW9kZWxF
bGVtZW50Q2FtZXJhLmNwcCAqLywKKwkJCQk3MTc3QUQ1OTI3NDI5Q0NCMDAyRjEwM0IgLyogSlNI
VE1MTW9kZWxFbGVtZW50Q2FtZXJhLmggKi8sCiAJCQkJMUFFMkFCMUYwQTFDRTYzQjAwQjQyQjI1
IC8qIEpTSFRNTE1vZEVsZW1lbnQuY3BwICovLAogCQkJCTFBRTJBQjIwMEExQ0U2M0IwMEI0MkIy
NSAvKiBKU0hUTUxNb2RFbGVtZW50LmggKi8sCiAJCQkJQkMzMDVDNzcwQzA3NkJCMzAwQ0QyMEYw
IC8qIEpTSFRNTE9iamVjdEVsZW1lbnQuY3BwICovLApAQCAtMzM3MTgsNiArMzM3MjcsNyBAQAog
CQkJCUE4NzFEQzI0MEExNTIwNTcwMEIxMkE2OCAvKiBIVE1MTWV0YUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUE0NTQ0MjRCMTE5QjM2NjEwMDlCRTkxMiAvKiBIVE1MTWV0ZXJFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3MUEzRDE4MTI1NjJCODVCMDA2NEUyQTYgLyogSFRNTE1v
ZGVsRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNzE3N0FENTcyNzQyOTVEMTAwMkYxMDNC
IC8qIEhUTUxNb2RlbEVsZW1lbnRDYW1lcmEuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4Q0ZGN0E3
MEExNTY5NzgwMDBBNDIzNCAvKiBIVE1MTW9kRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QThERjNGRDQwOTdGQTBGQzAwNTI5ODFCIC8qIEhUTUxOYW1lQ29sbGVjdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQTg3MUQ0NUEwQTEyN0NCQzAwQjEyQTY4IC8qIEhUTUxPYmplY3RFbGVtZW50
LmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0
eUNsaWVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKaW5k
ZXggM2JhZTNjMjI1ZjYwYzg4NGE2YTRjZTJhZjljZjllZjg3MmJjMWIyZi4uM2EwNjRiYzcyMzFh
MzYwMGNjODNkYzU4YTlhMmU3ZmYyZWU5NmIzNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
bG9hZGVyL0VtcHR5Q2xpZW50cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvbG9hZGVyL0VtcHR5
Q2xpZW50cy5jcHAKQEAgLTU4MywxMiArNTgzLDYgQEAgdm9pZCBFbXB0eUNocm9tZUNsaWVudDo6
c2hvd1NoYXJlU2hlZXQoU2hhcmVEYXRhV2l0aFBhcnNlZFVSTCYsIENvbXBsZXRpb25IYW5kbGUK
IHsKIH0KIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi12b2lkIEVtcHR5
Q2hyb21lQ2xpZW50Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGlj
c0xheWVyOjpQbGF0Zm9ybUxheWVySUQpIGNvbnN0Ci17Ci19Ci0jZW5kaWYKLQogdm9pZCBFbXB0
eUZyYW1lTG9hZGVyQ2xpZW50OjpkaXNwYXRjaERlY2lkZVBvbGljeUZvck5ld1dpbmRvd0FjdGlv
bihjb25zdCBOYXZpZ2F0aW9uQWN0aW9uJiwgY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiwgRm9ybVN0
YXRlKiwgY29uc3QgU3RyaW5nJiwgUG9saWN5Q2hlY2tJZGVudGlmaWVyLCBGcmFtZVBvbGljeUZ1
bmN0aW9uJiYpCiB7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlD
bGllbnRzLmggYi9Tb3VyY2UvV2ViQ29yZS9sb2FkZXIvRW1wdHlDbGllbnRzLmgKaW5kZXggMGM3
OTczZjAwYTFmMzZlMjcwMTNhMTYxNmRiYzk2YTE4MGM1Y2YwOC4uNTIyNjE4NzMxZDc1NmVhNGJm
OGI5NmRmMDA0MzVmODM1NThlZTkxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvbG9hZGVy
L0VtcHR5Q2xpZW50cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2xvYWRlci9FbXB0eUNsaWVudHMu
aApAQCAtMjE3LDEwICsyMTcsNiBAQCBjbGFzcyBFbXB0eUNocm9tZUNsaWVudCA6IHB1YmxpYyBD
aHJvbWVDbGllbnQgewogICAgIHZvaWQgZGlkQXNzb2NpYXRlRm9ybUNvbnRyb2xzKGNvbnN0IFZl
Y3RvcjxSZWZQdHI8RWxlbWVudD4+JiwgRnJhbWUmKSBmaW5hbCB7IH0KICAgICBib29sIHNob3Vs
ZE5vdGlmeU9uRm9ybUNoYW5nZXMoKSBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCi0jaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRG
dWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3Qg
ZmluYWw7Ci0jZW5kaWYKLQogICAgIFJlZlB0cjxJY29uPiBjcmVhdGVJY29uRm9yRmlsZXMoY29u
c3QgVmVjdG9yPFN0cmluZz4mIC8qIGZpbGVuYW1lcyAqLykgZmluYWwgeyByZXR1cm4gbnVsbHB0
cjsgfQogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGllbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvQ2hyb21lQ2xpZW50LmgKaW5kZXggZTEzZTM4N2QxOTE2
OGFjNWZkMzU5YjJlNjE2ZDQzZGQzZjE3NTAyMi4uZjIzOTE0NTcwNmQwYjE5MDU0MTBhZDhlNjZj
ZmU5OTAwY2RjNzZlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9DaHJvbWVDbGll
bnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Nocm9tZUNsaWVudC5oCkBAIC02MDUsMTAg
KzYwNSw2IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdGV4dEF1dG9zaXppbmdVc2VzSWRl
bXBvdGVudE1vZGVDaGFuZ2VkKCkgeyB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFV19JT1MpCi0gICAgdmlydHVhbCB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxsc2Ny
ZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCkgY29uc3QgeyB9Ci0j
ZW5kaWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJKQogICAgIHZpcnR1YWwgdm9pZCBz
dGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYsIGNvbnN0IEFwcGxlUGF5QU1TVUlS
ZXF1ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYm
IGNvbXBsZXRpb25IYW5kbGVyKSB7IGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7IH0K
ICAgICB2aXJ0dWFsIHZvaWQgYWJvcnRBcHBsZVBheUFNU1VJU2Vzc2lvbigpIHsgfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmggYi9Tb3VyY2UvV2Vi
S2l0L1NoYXJlZC9Nb2RlbElkZW50aWZpZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDEzYWQwYWE0MjM4NTMw
OTgzZWVjNDQ0NjE3YWViZWFmZDQ2NGI4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvTW9kZWxJZGVudGlmaWVyLmgKQEAgLTAsMCArMSw3NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKworI2lmIEVO
QUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19JT1MpCisjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNz
TGF5ZXIuaD4KKyNlbmRpZgorCitzdHJ1Y3QgTW9kZWxJZGVudGlmaWVyIHsKKyNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIFN0cmluZyB1dWlkOworI2VsaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQ
bGF0Zm9ybUxheWVySUQgbGF5ZXJJZGVudGlmaWVyOworI2VuZGlmCisKKyAgICB0ZW1wbGF0ZTxj
bGFzcyBFbmNvZGVyPiB2b2lkIGVuY29kZShFbmNvZGVyJikgY29uc3Q7CisgICAgdGVtcGxhdGU8
Y2xhc3MgRGVjb2Rlcj4gc3RhdGljIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBkZWNv
ZGUoRGVjb2RlciYpOworfTsKKwordGVtcGxhdGU8Y2xhc3MgRW5jb2Rlcj4gdm9pZCBNb2RlbElk
ZW50aWZpZXI6OmVuY29kZShFbmNvZGVyJiBlbmNvZGVyKSBjb25zdAoreworI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19NQUMpCisgICAgZW5jb2RlciA8PCB1dWlkOworI2VsaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKKyAgICBlbmNvZGVyIDw8IGxheWVySWRlbnRp
ZmllcjsKKyNlbmRpZgorfQorCit0ZW1wbGF0ZTxjbGFzcyBEZWNvZGVyPiBzdGQ6Om9wdGlvbmFs
PE1vZGVsSWRlbnRpZmllcj4gTW9kZWxJZGVudGlmaWVyOjpkZWNvZGUoRGVjb2RlciYgZGVjb2Rl
cikKK3sKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQorICAgIHN0ZDo6b3B0
aW9uYWw8U3RyaW5nPiB1dWlkOworICAgIGRlY29kZXIgPj4gdXVpZDsKKyAgICBpZiAoIXV1aWQp
CisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmV0dXJuIHsgeyBXVEZNb3ZlKCp1
dWlkKSB9IH07CisjZWxpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIHN0
ZDo6b3B0aW9uYWw8V2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEPiBsYXll
cklkZW50aWZpZXI7CisgICAgZGVjb2RlciA+PiBsYXllcklkZW50aWZpZXI7CisgICAgaWYgKCFs
YXllcklkZW50aWZpZXIpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgcmV0dXJu
IHsgeyAqbGF5ZXJJZGVudGlmaWVyIH0gfTsKKyNlbmRpZgorfQorCisjZW5kaWYKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0NvY29hL01vZGVsRWxlbWVudENvbnRyb2xsZXJDb2NvYS5tbQppbmRleCA3N2JhYmY3NjU2
NWEyYmFhZTgxZDBkYTRhNDg1ODNmNzY1YjRlMmQxLi44ZTdhYzViNjRmMGQ3NjVhYTU0OWM2YzA4
NGQxMjExZDJiM2MxZDE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2Nv
YS9Nb2RlbEVsZW1lbnRDb250cm9sbGVyQ29jb2EubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvQ29jb2EvTW9kZWxFbGVtZW50Q29udHJvbGxlckNvY29hLm1tCkBAIC0zMCw2ICszMCwx
MiBAQAogCiAjaW1wb3J0ICJMb2dnaW5nLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKKyNp
bXBvcnQgPFdlYkNvcmUvTGF5b3V0UG9pbnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTGF5b3V0VW5p
dC5oPgorI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUVycm9yLmg+CisjaW1wb3J0IDxzaW1kL3Np
bWQuaD4KKyNpbXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+CisjaW1wb3J0IDx3dGYvTW9ub3Rvbmlj
VGltZS5oPgogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKICNpbXBvcnQg
IkFQSVVJQ2xpZW50LmgiCkBAIC00MiwxMiArNDgsNyBAQAogI2VuZGlmCiAKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQotI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRQb2ludC5o
PgotI2ltcG9ydCA8V2ViQ29yZS9MYXlvdXRVbml0Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL1Jlc291
cmNlRXJyb3IuaD4KICNpbXBvcnQgPHBhbC9zcGkvbWFjL1N5c3RlbVByZXZpZXdTUEkuaD4KLSNp
bXBvcnQgPHd0Zi9NYWluVGhyZWFkLmg+Ci0jaW1wb3J0IDx3dGYvTW9ub3RvbmljVGltZS5oPgog
I2VuZGlmCiAKIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhBc3NldFZpZXdlcik7CkBAIC01
NywzMCArNTgsMzYgQEAgbmFtZXNwYWNlIFdlYktpdCB7CiAKICNpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfSU9TKQogCi12b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJ
RCBjb250ZW50TGF5ZXJJZCkKK1dLTW9kZWxWaWV3ICogTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6
bW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZp
ZXIpCiB7CiAgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5wcmVmZXJlbmNlcygpLm1vZGVsRWxlbWVu
dEVuYWJsZWQoKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gbmlsOwogCiAgICAg
aWYgKCFpczxSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5PihtX3dlYlBhZ2VQcm94eS5k
cmF3aW5nQXJlYSgpKSkKLSAgICAgICAgcmV0dXJuOworICAgICAgICByZXR1cm4gbmlsOwogCi0g
ICAgYXV0byogbm9kZSA9IGRvd25jYXN0PFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHk+
KCptX3dlYlBhZ2VQcm94eS5kcmF3aW5nQXJlYSgpKS5yZW1vdGVMYXllclRyZWVIb3N0KCkubm9k
ZUZvcklEKGNvbnRlbnRMYXllcklkKTsKKyAgICBhdXRvKiBub2RlID0gZG93bmNhc3Q8UmVtb3Rl
TGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eT4oKm1fd2ViUGFnZVByb3h5LmRyYXdpbmdBcmVhKCkp
LnJlbW90ZUxheWVyVHJlZUhvc3QoKS5ub2RlRm9ySUQobW9kZWxJZGVudGlmaWVyLmxheWVySWRl
bnRpZmllcik7CiAgICAgaWYgKCFub2RlKQotICAgICAgICByZXR1cm47CisgICAgICAgIHJldHVy
biBuaWw7CiAKLSAgICBhdXRvICp2aWV3ID0gbm9kZS0+dWlWaWV3KCk7Ci0gICAgaWYgKCF2aWV3
KQotICAgICAgICByZXR1cm47CisgICAgcmV0dXJuIGR5bmFtaWNfb2JqY19jYXN0PFdLTW9kZWxW
aWV3Pihub2RlLT51aVZpZXcoKSk7Cit9CiAKLSAgICBpZiAoIVt2aWV3IGlzS2luZE9mQ2xhc3M6
W1dLTW9kZWxWaWV3IGNsYXNzXV0pCi0gICAgICAgIHJldHVybjsKK0FTVklubGluZVByZXZpZXcg
KiBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVs
SWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIFttb2RlbFZpZXdGb3JN
b2RlbElkZW50aWZpZXIobW9kZWxJZGVudGlmaWVyKSBwcmV2aWV3XTsKK30KIAordm9pZCBNb2Rl
bEVsZW1lbnRDb250cm9sbGVyOjp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50
aWZpZXIgbW9kZWxJZGVudGlmaWVyKQorewogICAgIGF1dG8gKnByZXNlbnRpbmdWaWV3Q29udHJv
bGxlciA9IG1fd2ViUGFnZVByb3h5LnVpQ2xpZW50KCkucHJlc2VudGluZ1ZpZXdDb250cm9sbGVy
KCk7CiAgICAgaWYgKCFwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIpCiAgICAgICAgIHJldHVybjsK
IAotICAgIFdLTW9kZWxWaWV3ICptb2RlbFZpZXcgPSAoV0tNb2RlbFZpZXcgKil2aWV3OworICAg
IGF1dG8gbW9kZWxWaWV3ID0gbW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVsSWRlbnRp
Zmllcik7CisgICAgaWYgKCFtb2RlbFZpZXcpCisgICAgICAgIHJldHVybjsKKwogICAgIENHUmVj
dCBpbml0aWFsRnJhbWUgPSBbbW9kZWxWaWV3IGNvbnZlcnRSZWN0Om1vZGVsVmlldy5mcmFtZSB0
b1ZpZXc6bmlsXTsKIAogICAgIEFTVklubGluZVByZXZpZXcgKnByZXZpZXcgPSBbbW9kZWxWaWV3
IHByZXZpZXddOwpAQCAtOTgsNyArMTA1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVy
Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAog
ICAgICAgICAgICAgW3ByZXNlbnRpbmdWaWV3Q29udHJvbGxlciBwcmVzZW50Vmlld0NvbnRyb2xs
ZXI6cmVtb3RlVmlld0NvbnRyb2xsZXIgYW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpeKHZvaWQpIHsK
ICAgICAgICAgICAgICAgICBbQ0FUcmFuc2FjdGlvbiBiZWdpbl07Ci0gICAgICAgICAgICAgICAg
W3ZpZXcubGF5ZXIuc3VwZXJsYXllci5jb250ZXh0IGFkZEZlbmNlOmZlbmNlSGFuZGxlXTsKKyAg
ICAgICAgICAgICAgICBbbW9kZWxWaWV3LmxheWVyLnN1cGVybGF5ZXIuY29udGV4dCBhZGRGZW5j
ZTpmZW5jZUhhbmRsZV07CiAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gY29tbWl0XTsK
ICAgICAgICAgICAgICAgICBbZmVuY2VIYW5kbGUgaW52YWxpZGF0ZV07CiAgICAgICAgICAgICB9
XTsKQEAgLTExMiw3ICsxMTksNyBAQCB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6OnRha2VN
b2RlbEVsZW1lbnRGdWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OgogICAgICAgICAg
ICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gYmVnaW5d
OwotICAgICAgICAgICAgICAgICAgICBbdmlldy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRk
RmVuY2U6ZGlzbWlzc0ZlbmNlSGFuZGxlXTsKKyAgICAgICAgICAgICAgICAgICAgW21vZGVsVmll
dy5sYXllci5zdXBlcmxheWVyLmNvbnRleHQgYWRkRmVuY2U6ZGlzbWlzc0ZlbmNlSGFuZGxlXTsK
ICAgICAgICAgICAgICAgICAgICAgW0NBVHJhbnNhY3Rpb24gc2V0Q29tcGxldGlvbkJsb2NrOl57
CiAgICAgICAgICAgICAgICAgICAgICAgICBbcmVtb3RlVmlld0NvbnRyb2xsZXIgZGlzbWlzc1Zp
ZXdDb250cm9sbGVyQW5pbWF0ZWQ6Tk8gY29tcGxldGlvbjpuaWxdOwogICAgICAgICAgICAgICAg
ICAgICB9XTsKQEAgLTEyOCw2ICsxMzUsMTQgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250cm9sbGVy
Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjoKIAog
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAKK0FTVklubGluZVByZXZpZXcg
KiBNb2RlbEVsZW1lbnRDb250cm9sbGVyOjpwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVs
SWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIpCit7CisgICAgaWYgKCFtX3dlYlBhZ2VQcm94eS5w
cmVmZXJlbmNlcygpLm1vZGVsRWxlbWVudEVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuIG51bGxw
dHI7CisKKyAgICByZXR1cm4gbV9pbmxpbmVQcmV2aWV3cy5nZXQobW9kZWxJZGVudGlmaWVyLnV1
aWQpLmdldCgpOworfQorCiB2b2lkIE1vZGVsRWxlbWVudENvbnRyb2xsZXI6Om1vZGVsRWxlbWVu
dERpZENyZWF0ZVByZXZpZXcoVVJMIGZpbGVVUkwsIFN0cmluZyB1dWlkLCBXZWJDb3JlOjpGbG9h
dFNpemUgc2l6ZSwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3RlZDxzdGQ6OnBhaXI8U3Ry
aW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+KT4mJiBjb21wbGV0aW9uSGFu
ZGxlcikKIHsKICAgICBpZiAoIW1fd2ViUGFnZVByb3h5LnByZWZlcmVuY2VzKCkubW9kZWxFbGVt
ZW50RW5hYmxlZCgpKSB7CkBAIC0xNTAsNyArMTY1LDcgQEAgdm9pZCBNb2RlbEVsZW1lbnRDb250
cm9sbGVyOjptb2RlbEVsZW1lbnREaWRDcmVhdGVQcmV2aWV3KFVSTCBmaWxlVVJMLCBTdHJpbmcg
dXUKICAgICBhdXRvIHVybCA9IGFkb3B0TlMoW1tOU1VSTCBhbGxvY10gaW5pdEZpbGVVUkxXaXRo
UGF0aDpmaWxlVVJMLmZpbGVTeXN0ZW1QYXRoKCldKTsKIAogICAgIFJFTEVBU0VfQVNTRVJUKGlz
TWFpblJ1bkxvb3AoKSk7Ci0gICAgW3ByZXZpZXcgc2V0dXBSZW1vdGVDb25uZWN0aW9uV2l0aENv
bXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMg
fSwgcHJldmlldywgdXVpZCA9IFdURk1vdmUodXVpZCksIHVybCA9IFdURk1vdmUodXJsKSwgY29t
cGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKE5TRXJyb3IgKiBf
TnVsbGFibGUgY29udGV4dEVycm9yKSBtdXRhYmxlIHsKKyAgICBbcHJldmlldyBzZXR1cFJlbW90
ZUNvbm5lY3Rpb25XaXRoQ29tcGxldGlvbkhhbmRsZXI6bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9
IFdlYWtQdHIgeyAqdGhpcyB9LCBwcmV2aWV3LCB1dWlkID0gV1RGTW92ZSh1dWlkKSwgdXJsID0g
V1RGTW92ZSh1cmwpLCBjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSAoTlNFcnJvciAqY29udGV4dEVycm9yKSBtdXRhYmxlIHsKICAgICAgICAgaWYgKGNvbnRl
eHRFcnJvcikgewogICAgICAgICAgICAgTE9HKE1vZGVsRWxlbWVudCwgIlVuYWJsZSB0byBjcmVh
dGUgcmVtb3RlIGNvbm5lY3Rpb24gZm9yIHV1aWQgJXM6ICVALiIsIHV1aWQudXRmOCgpLmRhdGEo
KSwgY29udGV4dEVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKTsKIApAQCAtMTY1LDcgKzE4MCw3
IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6bW9kZWxFbGVtZW50RGlkQ3JlYXRlUHJl
dmlldyhVUkwgZmlsZVVSTCwgU3RyaW5nIHV1CiAKICAgICAgICAgTE9HKE1vZGVsRWxlbWVudCwg
IkVzdGFibGlzaGVkIHJlbW90ZSBjb25uZWN0aW9uIHdpdGggVVVJRCAlcy4iLCB1dWlkLnV0Zjgo
KS5kYXRhKCkpOwogCi0gICAgICAgIFtwcmV2aWV3IHByZXBhcmVQcmV2aWV3T2ZGaWxlQXRVUkw6
dXJsLmdldCgpIGNvbXBsZXRpb25IYW5kbGVyOm1ha2VCbG9ja1B0cihbd2Vha1RoaXMgPSBXVEZN
b3ZlKHdlYWtUaGlzKSwgcHJldmlldywgdXVpZCA9IFdURk1vdmUodXVpZCksIHVybCA9IFdURk1v
dmUodXJsKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0g
KE5TRXJyb3IgKiBfTnVsbGFibGUgbG9hZEVycm9yKSBtdXRhYmxlIHsKKyAgICAgICAgW3ByZXZp
ZXcgcHJlcGFyZVByZXZpZXdPZkZpbGVBdFVSTDp1cmwuZ2V0KCkgY29tcGxldGlvbkhhbmRsZXI6
bWFrZUJsb2NrUHRyKFt3ZWFrVGhpcyA9IFdURk1vdmUod2Vha1RoaXMpLCBwcmV2aWV3LCB1dWlk
ID0gV1RGTW92ZSh1dWlkKSwgdXJsID0gV1RGTW92ZSh1cmwpLCBjb21wbGV0aW9uSGFuZGxlciA9
IFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpXSAoTlNFcnJvciAqbG9hZEVycm9yKSBtdXRhYmxl
IHsKICAgICAgICAgICAgIGlmIChsb2FkRXJyb3IpIHsKICAgICAgICAgICAgICAgICBMT0coTW9k
ZWxFbGVtZW50LCAiVW5hYmxlIHRvIGxvYWQgZmlsZSBmb3IgdXVpZCAlczogJUAuIiwgdXVpZC51
dGY4KCkuZGF0YSgpLCBsb2FkRXJyb3IubG9jYWxpemVkRGVzY3JpcHRpb24pOwogCkBAIC0yMTYs
NiArMjMxLDY1IEBAIHZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6aGFuZGxlTW91c2VVcEZv
ck1vZGVsRWxlbWVudChjb25zdCBTdHJpbmcmIHV1aWQsIGNvCiAKICNlbmRpZgogCisjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorCitzdGF0aWMgYm9vbCBwcmV2aWV3SGFzQ2FtZXJh
U3VwcG9ydChBU1ZJbmxpbmVQcmV2aWV3ICpwcmV2aWV3KQoreworI2lmIEVOQUJMRShBUktJVF9J
TkxJTkVfUFJFVklFV19DQU1FUkFfVFJBTlNGT1JNKQorICAgIHJldHVybiBbcHJldmlldyByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKGdldENhbWVyYVRyYW5zZm9ybTopXTsKKyNlbHNlCisg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxl
cjo6Z2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZp
ZXIsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxl
bWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQoreworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVudGlmaWVyKG1vZGVs
SWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3IHx8ICFwcmV2aWV3SGFzQ2FtZXJhU3VwcG9y
dChwcmV2aWV3KSkgeworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXZWFr
UHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5k
bGVyKSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHsgV2ViQ29yZTo6UmVzb3VyY2VF
cnJvcjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAgICAgIGlmICh3ZWFr
VGhpcykKKyAgICAgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihtYWtlVW5leHBlY3RlZChl
cnJvcikpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFtwcmV2
aWV3IGdldENhbWVyYVRyYW5zZm9ybTptYWtlQmxvY2tQdHIoW3dlYWtUaGlzID0gV2Vha1B0ciB7
ICp0aGlzIH0sIGNvbXBsZXRpb25IYW5kbGVyID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcild
IChzaW1kX2Zsb2F0MyBjYW1lcmFUcmFuc2Zvcm0sIE5TRXJyb3IgKmVycm9yKSBtdXRhYmxlIHsK
KyAgICAgICAgaWYgKGVycm9yKSB7CisgICAgICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vh
a1RoaXMgPSBXVEZNb3ZlKHdlYWtUaGlzKSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSwgZXJyb3IgPSBXZWJDb3JlOjpSZXNvdXJjZUVycm9yIHsgV2ViQ29y
ZTo6UmVzb3VyY2VFcnJvcjo6VHlwZTo6R2VuZXJhbCB9XSAoKSBtdXRhYmxlIHsKKyAgICAgICAg
ICAgICAgICBpZiAod2Vha1RoaXMpCisgICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKG1ha2VVbmV4cGVjdGVkKGVycm9yKSk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIGNhbGxPbk1haW5SdW5Mb29wKFtjYW1lcmFU
cmFuc2Zvcm0sIHdlYWtUaGlzID0gV1RGTW92ZSh3ZWFrVGhpcyksIGNvbXBsZXRpb25IYW5kbGVy
ID0gV1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcildICgpIG11dGFibGUgeworICAgICAgICAgICAg
aWYgKHdlYWtUaGlzKQorICAgICAgICAgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKFdlYkNvcmU6
OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEgeyBjYW1lcmFUcmFuc2Zvcm0ueCwgY2FtZXJhVHJhbnNm
b3JtLnksIGNhbWVyYVRyYW5zZm9ybS56IH0pOworICAgICAgICB9KTsKKyAgICB9KS5nZXQoKV07
Cit9CisKK3ZvaWQgTW9kZWxFbGVtZW50Q29udHJvbGxlcjo6c2V0Q2FtZXJhRm9yTW9kZWxFbGVt
ZW50KE1vZGVsSWRlbnRpZmllciBtb2RlbElkZW50aWZpZXIsIFdlYkNvcmU6OkhUTUxNb2RlbEVs
ZW1lbnRDYW1lcmEgY2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiYmIGNvbXBs
ZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8qIHByZXZpZXcgPSBwcmV2aWV3Rm9yTW9kZWxJZGVu
dGlmaWVyKG1vZGVsSWRlbnRpZmllcik7CisgICAgaWYgKCFwcmV2aWV3IHx8ICFwcmV2aWV3SGFz
Q2FtZXJhU3VwcG9ydChwcmV2aWV3KSkgeworICAgICAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vh
a1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMgfSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0YWJsZSB7CisgICAgICAgICAgICBpZiAod2Vha1RoaXMp
CisgICAgICAgICAgICAgICAgY29tcGxldGlvbkhhbmRsZXIoZmFsc2UpOworICAgICAgICB9KTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIFtwcmV2aWV3IHNldENhbWVyYVRyYW5zZm9y
bTpzaW1kX21ha2VfZmxvYXQzKGNhbWVyYS5waXRjaCwgY2FtZXJhLnlhdywgY2FtZXJhLnNjYWxl
KV07CisKKyAgICBjYWxsT25NYWluUnVuTG9vcChbd2Vha1RoaXMgPSBXZWFrUHRyIHsgKnRoaXMg
fSwgY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3ZlKGNvbXBsZXRpb25IYW5kbGVyKV0gKCkgbXV0
YWJsZSB7CisgICAgICAgIGlmICh3ZWFrVGhpcykKKyAgICAgICAgICAgIGNvbXBsZXRpb25IYW5k
bGVyKHRydWUpOworICAgIH0pOworfQorCisjZW5kaWYKKwogfQogCiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaCBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL01vZGVsRWxlbWVudENvbnRyb2xsZXIuaAppbmRleCBmMWY5
NTg2NzBiNjU5NTkxNjdlZTJkODYxY2NhNDQzMDhlMWM4YzVjLi5lZTY4NGU4NzhhOWUzY2I2MjZm
NGZjZjU1OTFmZGZiZGM5NTg3NGJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Nb2RlbEVsZW1lbnRDb250cm9sbGVyLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
TW9kZWxFbGVtZW50Q29udHJvbGxlci5oCkBAIC0yNywxNCArMjcsMTcgQEAKIAogI2lmIEVOQUJM
RShBUktJVF9JTkxJTkVfUFJFVklFVykKIAorI2luY2x1ZGUgIk1vZGVsSWRlbnRpZmllci5oIgog
I2luY2x1ZGUgPFdlYkNvcmUvRWxlbWVudENvbnRleHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0dy
YXBoaWNzTGF5ZXIuaD4KICNpbmNsdWRlIDx3dGYvUmV0YWluUHRyLmg+CiAjaW5jbHVkZSA8d3Rm
L1VSTC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrUHRyLmg+CiAKLSNpZiBFTkFCTEUoQVJLSVRfSU5M
SU5FX1BSRVZJRVdfTUFDKQogT0JKQ19DTEFTUyBBU1ZJbmxpbmVQcmV2aWV3OworCisjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKK09CSkNfQ0xBU1MgV0tNb2RlbFZpZXc7CiAj
ZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CkBAIC00OCw4ICs1MSwxMiBAQCBwdWJsaWM6CiAK
ICAgICBXZWJQYWdlUHJveHkmIHBhZ2UoKSB7IHJldHVybiBtX3dlYlBhZ2VQcm94eTsgfQogCisj
aWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQorICAgIHZvaWQgZ2V0Q2FtZXJhRm9yTW9k
ZWxFbGVtZW50KE1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBlY3Rl
ZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVycm9y
Pik+JiYpOworICAgIHZvaWQgc2V0Q2FtZXJhRm9yTW9kZWxFbGVtZW50KE1vZGVsSWRlbnRpZmll
ciwgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChib29sKT4mJik7CisjZW5kaWYKICNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9T
KQotICAgIHZvaWQgdGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NM
YXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKTsKKyAgICB2b2lkIHRha2VNb2Rl
bEVsZW1lbnRGdWxsc2NyZWVuKE1vZGVsSWRlbnRpZmllcik7CiAjZW5kaWYKICNpZiBFTkFCTEUo
QVJLSVRfSU5MSU5FX1BSRVZJRVdfTUFDKQogICAgIHZvaWQgbW9kZWxFbGVtZW50RGlkQ3JlYXRl
UHJldmlldyhVUkwsIFN0cmluZywgV2ViQ29yZTo6RmxvYXRTaXplLCBDb21wbGV0aW9uSGFuZGxl
cjx2b2lkKEV4cGVjdGVkPHN0ZDo6cGFpcjxTdHJpbmcsIHVpbnQzMl90PiwgV2ViQ29yZTo6UmVz
b3VyY2VFcnJvcj4pPiYmKTsKQEAgLTU5LDYgKzY2LDE0IEBAIHB1YmxpYzoKICNlbmRpZgogCiBw
cml2YXRlOgorI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFVykKKyAgICBBU1ZJbmxpbmVQ
cmV2aWV3ICogcHJldmlld0Zvck1vZGVsSWRlbnRpZmllcihNb2RlbElkZW50aWZpZXIpOworI2Vu
ZGlmCisKKyNpZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQorICAgIFdLTW9kZWxW
aWV3ICogbW9kZWxWaWV3Rm9yTW9kZWxJZGVudGlmaWVyKE1vZGVsSWRlbnRpZmllcik7CisjZW5k
aWYKKwogICAgIFdlYlBhZ2VQcm94eSYgbV93ZWJQYWdlUHJveHk7CiAjaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXX01BQykKICAgICBSZXRhaW5QdHI8QVNWSW5saW5lUHJldmlldz4gcHJl
dmlld0ZvclVVSUQoY29uc3QgU3RyaW5nJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFn
ZVByb3h5LmNwcAppbmRleCBmOTVkZDc4M2Q1YTY3ZDQ3ZGQ4Y2JiMmVhNWY4M2M5OGY1NDQwZTJm
Li5mMGQxZTc1YjVkZjNiNzJhNTJkOTI4NzI3OTAzYTk2NGFhZjVkNmRmIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwODMyLDEwICsxMDgzMiwyMiBAQCBX
ZWJDb3JlOjpDYXB0dXJlU291cmNlT3JFcnJvciBXZWJQYWdlUHJveHk6OmNyZWF0ZVJlYWx0aW1l
TWVkaWFTb3VyY2VGb3JTcGVlY2hSZQogCiAjZW5kaWYKIAorI2lmIEVOQUJMRShBUktJVF9JTkxJ
TkVfUFJFVklFVykKK3ZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRHZXRDYW1lcmEoTW9k
ZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChFeHBl
Y3RlZDxXZWJDb3JlOjpIVE1MTW9kZWxFbGVtZW50Q2FtZXJhLCBXZWJDb3JlOjpSZXNvdXJjZUVy
cm9yPik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgbW9kZWxFbGVtZW50Q29udHJvbGxl
cigpLT5nZXRDYW1lcmFGb3JNb2RlbEVsZW1lbnQobW9kZWxJZGVudGlmaWVyLCBXVEZNb3ZlKGNv
bXBsZXRpb25IYW5kbGVyKSk7Cit9CisKK3ZvaWQgV2ViUGFnZVByb3h5Ojptb2RlbEVsZW1lbnRT
ZXRDYW1lcmEoTW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllciwgV2ViQ29yZTo6SFRNTE1v
ZGVsRWxlbWVudENhbWVyYSBjYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYg
Y29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgbW9kZWxFbGVtZW50Q29udHJvbGxlcigpLT5zZXRD
YW1lcmFGb3JNb2RlbEVsZW1lbnQobW9kZWxJZGVudGlmaWVyLCBjYW1lcmEsIFdURk1vdmUoY29t
cGxldGlvbkhhbmRsZXIpKTsKK30KKyNlbmRpZgorCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9Q
UkVWSUVXX0lPUykKLXZvaWQgV2ViUGFnZVByb3h5Ojp0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVl
bihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29udGVudExheWVySWQp
Cit2b2lkIFdlYlBhZ2VQcm94eTo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oTW9kZWxJZGVu
dGlmaWVyIG1vZGVsSWRlbnRpZmllcikKIHsKLSAgICBtb2RlbEVsZW1lbnRDb250cm9sbGVyKCkt
PnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGNvbnRlbnRMYXllcklkKTsKKyAgICBtb2RlbEVs
ZW1lbnRDb250cm9sbGVyKCktPnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKG1vZGVsSWRlbnRp
Zmllcik7CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApp
bmRleCAxNmU4NmUwYWZjNTAxZTc0ZDdkNmRkMmM5MTMwZDdiNTA1NWIxOTM2Li5jNzBkMGM3NzFj
NWMyOTQxN2U3YWE0OTdjM2Q4MTBiMTQxYjkwODEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkuaApAQCAtMTk2LDYgKzE5Niw3IEBAIGludGVyZmFjZSBJRDNEMTFEZXZpY2Ux
OwogCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogI2luY2x1ZGUgIk1vZGVsRWxl
bWVudENvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJNb2RlbElkZW50aWZpZXIuaCIKICNlbmRpZgog
CiBuYW1lc3BhY2UgQVBJIHsKQEAgLTU4Nyw5ICs1ODgsMTEgQEAgcHVibGljOgogCiAjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXKQogICAgIE1vZGVsRWxlbWVudENvbnRyb2xsZXIqIG1v
ZGVsRWxlbWVudENvbnRyb2xsZXIoKSB7IHJldHVybiBtX21vZGVsRWxlbWVudENvbnRyb2xsZXIu
Z2V0KCk7IH0KKyAgICB2b2lkIG1vZGVsRWxlbWVudEdldENhbWVyYShNb2RlbElkZW50aWZpZXIs
IENvbXBsZXRpb25IYW5kbGVyPHZvaWQoRXhwZWN0ZWQ8V2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVu
dENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4pPiYmKTsKKyAgICB2b2lkIG1vZGVsRWxl
bWVudFNldENhbWVyYShNb2RlbElkZW50aWZpZXIsIFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoYm9vbCk+JiYpOwogI2VuZGlmCiAjaWYgRU5B
QkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRG
dWxsc2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50
TGF5ZXJJZCk7CisgICAgdm9pZCB0YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihNb2RlbElkZW50
aWZpZXIpOwogI2VuZGlmCiAjaWYgRU5BQkxFKEFSS0lUX0lOTElORV9QUkVWSUVXX01BQykKICAg
ICB2b2lkIG1vZGVsRWxlbWVudERpZENyZWF0ZVByZXZpZXcoY29uc3QgVVJMJiwgY29uc3QgU3Ry
aW5nJiwgY29uc3QgV2ViQ29yZTo6RmxvYXRTaXplJiwgQ29tcGxldGlvbkhhbmRsZXI8dm9pZChF
eHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJlc291cmNlRXJy
b3I+KT4mJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVz
c2FnZXMuaW4KaW5kZXggMTYxNjNhY2ZmMmM4YThjMzg5MWY2MTI5OGIwMGIxMDllYTk0YjZhOS4u
NmYwNzRmNTMwYjJlYTgxMGJkMTQ3NWZhNmVhMmU3MmNjMzdhOWExZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAtNTg2LDcgKzU4
Niw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAjZW5kaWYKIAogI2lmIEVOQUJMRShB
UktJVF9JTkxJTkVfUFJFVklFV19JT1MpCi0gICAgVGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
dWludDY0X3QgY29udGVudExheWVySUQpCisgICAgVGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4o
c3RydWN0IFdlYktpdDo6TW9kZWxJZGVudGlmaWVyIG1vZGVsSWRlbnRpZmllcikKICNlbmRpZgog
I2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19NQUMpCiAgICAgTW9kZWxFbGVtZW50RGlk
Q3JlYXRlUHJldmlldyhVUkwgdXJsLCBTdHJpbmcgdXVpZCwgV2ViQ29yZTo6RmxvYXRTaXplIHNp
emUpIC0+IChFeHBlY3RlZDxzdGQ6OnBhaXI8U3RyaW5nLCB1aW50MzJfdD4sIFdlYkNvcmU6OlJl
c291cmNlRXJyb3I+IHJlc3VsdCkgQXN5bmMKQEAgLTU5NCw2ICs1OTQsMTAgQEAgbWVzc2FnZXMg
LT4gV2ViUGFnZVByb3h5IHsKICAgICBIYW5kbGVNb3VzZU1vdmVGb3JNb2RlbEVsZW1lbnQoU3Ry
aW5nIHV1aWQsIFdlYkNvcmU6OkxheW91dFBvaW50IGxvY2F0aW9uSW5QYWdlQ29vcmRpbmF0ZXMs
IE1vbm90b25pY1RpbWUgdGltZXN0YW1wKQogICAgIEhhbmRsZU1vdXNlVXBGb3JNb2RlbEVsZW1l
bnQoU3RyaW5nIHV1aWQsIFdlYkNvcmU6OkxheW91dFBvaW50IGxvY2F0aW9uSW5QYWdlQ29vcmRp
bmF0ZXMsIE1vbm90b25pY1RpbWUgdGltZXN0YW1wKQogI2VuZGlmCisjaWYgRU5BQkxFKEFSS0lU
X0lOTElORV9QUkVWSUVXKQorICAgIE1vZGVsRWxlbWVudEdldENhbWVyYShzdHJ1Y3QgV2ViS2l0
OjpNb2RlbElkZW50aWZpZXIgbW9kZWxJZGVudGlmaWVyKSAtPiAoRXhwZWN0ZWQ8V2ViQ29yZTo6
SFRNTE1vZGVsRWxlbWVudENhbWVyYSwgV2ViQ29yZTo6UmVzb3VyY2VFcnJvcj4gcmVzdWx0KSBB
c3luYworICAgIE1vZGVsRWxlbWVudFNldENhbWVyYShzdHJ1Y3QgV2ViS2l0OjpNb2RlbElkZW50
aWZpZXIgbW9kZWxJZGVudGlmaWVyLCBzdHJ1Y3QgV2ViQ29yZTo6SFRNTE1vZGVsRWxlbWVudENh
bWVyYSBjYW1lcmEpIC0+IChib29sIHN1Y2Nlc3MpIEFzeW5jCisjZW5kaWYKIAogICAgIHJlcXVl
c3RQZXJtaXNzaW9uKHN0cnVjdCBXZWJDb3JlOjpDbGllbnRPcmlnaW4gb3JpZ2luLCBzdHJ1Y3Qg
V2ViQ29yZTo6UGVybWlzc2lvbkRlc2NyaXB0b3IgZGVzY3JpcHRvcikgLT4gKGVudW06dWludDhf
dCBXZWJDb3JlOjpQZXJtaXNzaW9uU3RhdGUgc3RhdGUpIEFzeW5jCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
S2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDZlZmVjYmNlZTQ2NTky
ZTc1OGUwZTg4Y2Y2ZTkxODFjZTkyOTk5OGIuLjM2MTZjYzVkMmJjOTY4NWExYWRmOTkxYTkzYThj
N2EyOGI1ZmRiYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagpAQCAtNDcwOCw2ICs0NzA4LDcgQEAKIAkJNzFBNjc2QTUyMkM2MjMxODAwN0Q2
Mjk1IC8qIFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVG91Y2hBY3Rpb25HZXN0dXJlUmVjb2duaXplci5t
bTsgcGF0aCA9IGlvcy9XS1RvdWNoQWN0aW9uR2VzdHVyZVJlY29nbml6ZXIubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcxQkFBNzMxMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVs
Vmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS01vZGVsVmlldy5oOyBw
YXRoID0gaW9zL1dLTW9kZWxWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTcx
QkFBNzMyMjVGRkNDQkEwMEQ3Q0Q1RCAvKiBXS01vZGVsVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLTW9kZWxWaWV3Lm1tOyBwYXRoID0gaW9zL1dLTW9k
ZWxWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk3MUU5NjUwRjI3NDU2ODJF
MDBBRENGNDMgLyogTW9kZWxJZGVudGlmaWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZGVsSWRlbnRp
Zmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3MUZCODEwQTIyNjA2MjdBMDAz
MjM2NzcgLyogV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRzRGlzcGF0Y2hQb2xpY3kuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vic2l0ZVNpbXVsYXRlZE1vdXNlRXZlbnRz
RGlzcGF0Y2hQb2xpY3kuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNzIwMzQ0OUEy
NkE2QzQ0QzAwMEE1RjU0IC8qIE1vbm90b25pY09iamVjdElkZW50aWZpZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTW9ub3RvbmljT2JqZWN0SWRlbnRpZmllci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk3MjAzNDQ5QjI2QTZDNDc2MDAwQTVGNTQgLyogUmVuZGVyaW5nVXBkYXRlSUQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVuZGVyaW5nVXBkYXRlSUQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTY4MzQsNiArNjgzNSw3IEBACiAJCQkJMkQxMDg3NUUxRDJDNTczRTAwQjg1Rjgy
IC8qIExvYWRQYXJhbWV0ZXJzLmNwcCAqLywKIAkJCQkyRDEwODc1RjFEMkM1NzNFMDBCODVGODIg
LyogTG9hZFBhcmFtZXRlcnMuaCAqLywKIAkJCQk0OTkxN0RCMDI1MkUzMDc1MDA1MDMxM0YgLyog
TWVkaWFQbGF5YmFja1N0YXRlLmggKi8sCisJCQkJNzFFOTY1MEYyNzQ1NjgyRTAwQURDRjQzIC8q
IE1vZGVsSWRlbnRpZmllci5oICovLAogCQkJCTcyMDM0NDlBMjZBNkM0NEMwMDBBNUY1NCAvKiBN
b25vdG9uaWNPYmplY3RJZGVudGlmaWVyLmggKi8sCiAJCQkJMkQ1MDM2NkExQkNERTE3OTAwRTIw
QkIzIC8qIE5hdGl2ZVdlYkdlc3R1cmVFdmVudC5oICovLAogCQkJCUMwMkJGRjE1MTI1MTRGRDgw
MDlDQ0JFQSAvKiBOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXIu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllci5oCmluZGV4IDNjYWFjYjM1NjVmOWY4NjYzYjQ4MjRkODc3YzE0YTFlNTkzYTYzMjQu
LmNjMzQ0YTU3YmEwYTAwOTM2NmExYzgwYTI0YTY4ZWZhYTY3ZmI4YTYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZp
ZXdNb2RlbFBsYXllci5oCkBAIC0yNyw5ICsyNywxMiBAQAogCiAjaWYgRU5BQkxFKEFSS0lUX0lO
TElORV9QUkVWSUVXKQogCi0jaW5jbHVkZSA8V2ViQ29yZS9Nb2RlbFBsYXllci5oPgotI2luY2x1
ZGUgPFdlYkNvcmUvTW9kZWxQbGF5ZXJDbGllbnQuaD4KLSNpbmNsdWRlIDx3dGYvQ29tcGlsZXIu
aD4KKyNpbXBvcnQgIk1vZGVsSWRlbnRpZmllci5oIgorI2ltcG9ydCAiV2ViUGFnZS5oIgorI2lt
cG9ydCAiV2ViUGFnZVByb3h5TWVzc2FnZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvTW9kZWxQbGF5
ZXIuaD4KKyNpbXBvcnQgPFdlYkNvcmUvTW9kZWxQbGF5ZXJDbGllbnQuaD4KKyNpbXBvcnQgPHd0
Zi9Db21waWxlci5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNDMsMTEgKzQ2LDE1IEBA
IHByb3RlY3RlZDoKICAgICBXZWJQYWdlKiBwYWdlKCkgeyByZXR1cm4gbV9wYWdlLmdldCgpOyB9
CiAgICAgV2ViQ29yZTo6TW9kZWxQbGF5ZXJDbGllbnQqIGNsaWVudCgpIHsgcmV0dXJuIG1fY2xp
ZW50LmdldCgpOyB9CiAKKyAgICB2aXJ0dWFsIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVy
PiBtb2RlbElkZW50aWZpZXIoKSA9IDA7CisKIHByaXZhdGU6CiAgICAgLy8gV2ViQ29yZTo6TW9k
ZWxQbGF5ZXIgb3ZlcnJpZGVzLgogICAgIHZvaWQgbG9hZChXZWJDb3JlOjpNb2RlbCYsIFdlYkNv
cmU6OkxheW91dFNpemUpIG92ZXJyaWRlOwogICAgIFBsYXRmb3JtTGF5ZXIqIGxheWVyKCkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBlbnRlckZ1bGxzY3JlZW4oKSBvdmVycmlkZTsKKyAgICB2b2lkIGdl
dENhbWVyYShDb21wbGV0aW9uSGFuZGxlcjx2b2lkKHN0ZDo6b3B0aW9uYWw8V2ViQ29yZTo6SFRN
TE1vZGVsRWxlbWVudENhbWVyYT4mJik+JiYpIG92ZXJyaWRlOworICAgIHZvaWQgc2V0Q2FtZXJh
KFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
Ym9vbCYmKT4mJikgb3ZlcnJpZGU7CiAKICAgICBXZWFrUHRyPFdlYlBhZ2U+IG1fcGFnZTsKICAg
ICBXZWFrUHRyPFdlYkNvcmU6Ok1vZGVsUGxheWVyQ2xpZW50PiBtX2NsaWVudDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVByZXZpZXdNb2Rl
bFBsYXllci5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9BUktpdElubGluZVBy
ZXZpZXdNb2RlbFBsYXllci5tbQppbmRleCBlZGJkMTRhMTljZDNiMzVkYjMwNDQ2NTJiYWMzNjIx
ZmVjYjI3MjUxLi4wYzAxZjIwNmNhNmRiMDc5NTA1MGE5NDBmNWIwMGUwY2QxZDBlZTJjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL0FSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVyLm1tCkBAIC01NSw2ICs1NSw1MyBAQCB2b2lkIEFSS2l0
SW5saW5lUHJldmlld01vZGVsUGxheWVyOjplbnRlckZ1bGxzY3JlZW4oKQogewogfQogCit2b2lk
IEFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyOjpnZXRDYW1lcmEoQ29tcGxldGlvbkhhbmRs
ZXI8dm9pZChzdGQ6Om9wdGlvbmFsPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmE+JiYp
PiYmIGNvbXBsZXRpb25IYW5kbGVyKQoreworICAgIGF1dG8gbW9kZWxJZGVudGlmaWVyID0gdGhp
cy0+bW9kZWxJZGVudGlmaWVyKCk7CisgICAgaWYgKCFtb2RlbElkZW50aWZpZXIpIHsKKyAgICAg
ICAgY29tcGxldGlvbkhhbmRsZXIoc3RkOjpudWxsb3B0KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIGF1dG8qIHN0cm9uZ1BhZ2UgPSBtX3BhZ2UuZ2V0KCk7CisgICAgaWYgKCFzdHJv
bmdQYWdlKSB7CisgICAgICAgIGNvbXBsZXRpb25IYW5kbGVyKHN0ZDo6bnVsbG9wdCk7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKEV4cGVjdGVk
PFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRDYW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+
KT4gcmVtb3RlQ29tcGxldGlvbkhhbmRsZXIgPSBbY29tcGxldGlvbkhhbmRsZXIgPSBXVEZNb3Zl
KGNvbXBsZXRpb25IYW5kbGVyKV0gKEV4cGVjdGVkPFdlYkNvcmU6OkhUTUxNb2RlbEVsZW1lbnRD
YW1lcmEsIFdlYkNvcmU6OlJlc291cmNlRXJyb3I+IHJlc3VsdCkgbXV0YWJsZSB7CisgICAgICAg
IGlmICghcmVzdWx0KSB7CisgICAgICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihzdGQ6Om51bGxv
cHQpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgY29tcGxldGlv
bkhhbmRsZXIoKnJlc3VsdCk7CisgICAgfTsKKworICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRHZXRDYW1lcmEoKm1v
ZGVsSWRlbnRpZmllciksIFdURk1vdmUocmVtb3RlQ29tcGxldGlvbkhhbmRsZXIpKTsKK30KKwor
dm9pZCBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcjo6c2V0Q2FtZXJhKFdlYkNvcmU6OkhU
TUxNb2RlbEVsZW1lbnRDYW1lcmEgY2FtZXJhLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wm
Jik+JiYgY29tcGxldGlvbkhhbmRsZXIpCit7CisgICAgYXV0byBtb2RlbElkZW50aWZpZXIgPSB0
aGlzLT5tb2RlbElkZW50aWZpZXIoKTsKKyAgICBpZiAoIW1vZGVsSWRlbnRpZmllcikgeworICAg
ICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisK
KyAgICBhdXRvKiBzdHJvbmdQYWdlID0gbV9wYWdlLmdldCgpOworICAgIGlmICghc3Ryb25nUGFn
ZSkgeworICAgICAgICBjb21wbGV0aW9uSGFuZGxlcihmYWxzZSk7CisgICAgICAgIHJldHVybjsK
KyAgICB9CisKKyAgICBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGJvb2wpPiByZW1vdGVDb21wbGV0
aW9uSGFuZGxlciA9IFtjb21wbGV0aW9uSGFuZGxlciA9IFdURk1vdmUoY29tcGxldGlvbkhhbmRs
ZXIpXSAoYm9vbCBzdWNjZXNzKSBtdXRhYmxlIHsKKyAgICAgICAgY29tcGxldGlvbkhhbmRsZXIo
V1RGTW92ZShzdWNjZXNzKSk7CisgICAgfTsKKworICAgIHN0cm9uZ1BhZ2UtPnNlbmRXaXRoQXN5
bmNSZXBseShNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpNb2RlbEVsZW1lbnRTZXRDYW1lcmEoKm1v
ZGVsSWRlbnRpZmllciwgY2FtZXJhKSwgV1RGTW92ZShyZW1vdGVDb21wbGV0aW9uSGFuZGxlcikp
OworfQorCiB9CiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUy5oIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklP
Uy5oCmluZGV4IDFjZTA3MGI2YTBlZjM1MGVkMGM0YmIwYWI1YjIwODAzOWM4NGIxYjEuLjQwYTI1
OTVmNzBlNGJlZTFmMWQ2Njg3YTQyMmRmZDdhNzMzN2RiZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJ
T1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVySU9TLmgKQEAgLTQxLDYgKzQxLDggQEAgcHVibGljOgogcHJpdmF0
ZToKICAgICBBUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUyhXZWJQYWdlJiwgV2ViQ29y
ZTo6TW9kZWxQbGF5ZXJDbGllbnQmKTsKIAorICAgIHN0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlm
aWVyPiBtb2RlbElkZW50aWZpZXIoKSBvdmVycmlkZTsKKwogICAgIC8vIFdlYkNvcmU6Ok1vZGVs
UGxheWVyIG92ZXJyaWRlcy4KICAgICB2b2lkIGVudGVyRnVsbHNjcmVlbigpIG92ZXJyaWRlOwog
ICAgIHZvaWQgaGFuZGxlTW91c2VEb3duKGNvbnN0IFdlYkNvcmU6OkxheW91dFBvaW50JiwgTW9u
b3RvbmljVGltZSkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVySU9TLm1tIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL2lvcy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXll
cklPUy5tbQppbmRleCAzZWM2ZWZjNGRlMWViNTM0ZDE5MGIyNWFkMDcwNjY3MGIyNmUzOGJkLi41
ZjEzNzI5NzYzMjhlNTUyNWVjNjRjYTdiMGEwMWVkYzk0NmM2NDlhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvaW9zL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxh
eWVySU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9pb3MvQVJLaXRJ
bmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1MubW0KQEAgLTQ4LDE1ICs0OCwyNyBAQCBBUktpdElu
bGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6fkFSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVy
SU9TKCkKIHsKIH0KIAorc3RkOjpvcHRpb25hbDxNb2RlbElkZW50aWZpZXI+IEFSS2l0SW5saW5l
UHJldmlld01vZGVsUGxheWVySU9TOjptb2RlbElkZW50aWZpZXIoKQoreworICAgIGlmICghY2xp
ZW50KCkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBpZiAoYXV0byBsYXllcklkID0gY2xp
ZW50KCktPnBsYXRmb3JtTGF5ZXJJRCgpKQorICAgICAgICByZXR1cm4geyB7IGxheWVySWQgfSB9
OworCisgICAgcmV0dXJuIHsgfTsKK30KKwogLy8gTUFSSzogLSBXZWJDb3JlOjpNb2RlbFBsYXll
ciBvdmVycmlkZXMuCiAKIHZvaWQgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJJT1M6OmVu
dGVyRnVsbHNjcmVlbigpCiB7Ci0gICAgaWYgKCFjbGllbnQoKSB8fCAhcGFnZSgpKQorICAgIGF1
dG8qIHN0cm9uZ1BhZ2UgPSBwYWdlKCk7CisgICAgaWYgKCFzdHJvbmdQYWdlKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBpZiAoYXV0byBsYXllcklkID0gY2xpZW50KCktPnBsYXRmb3JtTGF5ZXJJ
RCgpKQotICAgICAgICBwYWdlKCktPnRha2VNb2RlbEVsZW1lbnRGdWxsc2NyZWVuKGxheWVySWQp
OworICAgIGlmIChhdXRvIG1vZGVsSWRlbnRpZmllciA9IHRoaXMtPm1vZGVsSWRlbnRpZmllcigp
KQorICAgICAgICBzdHJvbmdQYWdlLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OlRha2VN
b2RlbEVsZW1lbnRGdWxsc2NyZWVuKCptb2RlbElkZW50aWZpZXIpKTsKIH0KIAogdm9pZCBBUktp
dElubGluZVByZXZpZXdNb2RlbFBsYXllcklPUzo6aGFuZGxlTW91c2VEb3duKGNvbnN0IFdlYkNv
cmU6OkxheW91dFBvaW50JiwgTW9ub3RvbmljVGltZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMu
aCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3
TW9kZWxQbGF5ZXJNYWMuaAppbmRleCA2NzMxOTE2Yzc0OGRkYmM1YTczODM4NzZjN2I5NGVhZGEw
NzUwZTA3Li5iM2M4ZTQyMDhiMTJlNTE5ZDRkMDczOTljM2M3NWMxNDExOGE0ODE0IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmll
d01vZGVsUGxheWVyTWFjLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21h
Yy9BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYy5oCkBAIC00Nyw2ICs0Nyw4IEBAIHB1
YmxpYzoKIHByaXZhdGU6CiAgICAgQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMoV2Vi
UGFnZSYsIFdlYkNvcmU6Ok1vZGVsUGxheWVyQ2xpZW50Jik7CiAKKyAgICBzdGQ6Om9wdGlvbmFs
PE1vZGVsSWRlbnRpZmllcj4gbW9kZWxJZGVudGlmaWVyKCkgb3ZlcnJpZGU7CisKICAgICAvLyBX
ZWJDb3JlOjpNb2RlbFBsYXllciBvdmVycmlkZXMuCiAgICAgdm9pZCBsb2FkKFdlYkNvcmU6Ok1v
ZGVsJiwgV2ViQ29yZTo6TGF5b3V0U2l6ZSkgb3ZlcnJpZGU7CiAgICAgUGxhdGZvcm1MYXllciog
bGF5ZXIoKSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9N
b2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJNYWMubW0gYi9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvTW9kZWwvbWFjL0FSS2l0SW5saW5lUHJldmlld01vZGVsUGxheWVyTWFj
Lm1tCmluZGV4IDQ1NTI2NTM3NjQyYzVjYzcxNDFjNTRmNTc1MWUyOTVhZWVmMzNlYmIuLmNiMjVh
M2M4MTEzODQ4ZDFjMmU0OGQ3Y2RhYzljYjNjNTQ3MjExM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9Nb2RlbC9tYWMvQVJLaXRJbmxpbmVQcmV2aWV3TW9kZWxQbGF5ZXJN
YWMubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL01vZGVsL21hYy9BUktpdElubGlu
ZVByZXZpZXdNb2RlbFBsYXllck1hYy5tbQpAQCAtNTUsNiArNTUsMTMgQEAgQVJLaXRJbmxpbmVQ
cmV2aWV3TW9kZWxQbGF5ZXJNYWM6On5BUktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYygp
CiAgICAgY2xlYXJGaWxlKCk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TW9kZWxJZGVudGlmaWVyPiBB
UktpdElubGluZVByZXZpZXdNb2RlbFBsYXllck1hYzo6bW9kZWxJZGVudGlmaWVyKCkKK3sKKyAg
ICBpZiAobV9pbmxpbmVQcmV2aWV3KQorICAgICAgICByZXR1cm4geyB7IFttX2lubGluZVByZXZp
ZXcgdXVpZF0uVVVJRFN0cmluZyB9IH07CisgICAgcmV0dXJuIHsgfTsKK30KKwogc3RhdGljIFN0
cmluZyYgc2hhcmVkTW9kZWxFbGVtZW50Q2FjaGVEaXJlY3RvcnkoKQogewogICAgIHN0YXRpYyBO
ZXZlckRlc3Ryb3llZDxTdHJpbmc+IHNoYXJlZE1vZGVsRWxlbWVudENhY2hlRGlyZWN0b3J5Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcAppbmRleCBmYzdiYzMzMjNhYjRmOWM2YmNjOTkyOWZhNmVjOGI1
ZjBmMDgyMzA0Li40MzZhNWE1MjAzNWEwNjU3NTg5YzBlOTBiMDg0MmM0MzM2NTgxZTNkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21l
Q2xpZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViQ2hyb21lQ2xpZW50LmNwcApAQCAtMTUyNCwxMyArMTUyNCw2IEBAIHZvaWQgV2ViQ2hyb21l
Q2xpZW50OjplbnVtZXJhdGVJbW1lcnNpdmVYUkRldmljZXMoQ29tcGxldGlvbkhhbmRsZXI8dm9p
ZChjb25zdCBQCiB9CiAjZW5kaWYKIAotI2lmIEVOQUJMRShBUktJVF9JTkxJTkVfUFJFVklFV19J
T1MpCi12b2lkIFdlYkNocm9tZUNsaWVudDo6dGFrZU1vZGVsRWxlbWVudEZ1bGxzY3JlZW4oV2Vi
Q29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNvbnRlbnRMYXllcklkKSBjb25z
dAotewotICAgIG1fcGFnZS50YWtlTW9kZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJ
ZCk7Ci19Ci0jZW5kaWYKLQogI2lmIEVOQUJMRShBUFBMRV9QQVlfQU1TX1VJKQogCiB2b2lkIFdl
YkNocm9tZUNsaWVudDo6c3RhcnRBcHBsZVBheUFNU1VJU2Vzc2lvbihjb25zdCBVUkwmIG9yaWdp
bmF0aW5nVVJMLCBjb25zdCBBcHBsZVBheUFNU1VJUmVxdWVzdCYgcmVxdWVzdCwgQ29tcGxldGlv
bkhhbmRsZXI8dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmIGNvbXBsZXRpb25IYW5kbGVy
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNocm9tZUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNocm9tZUNsaWVudC5oCmluZGV4IGE3NDlmNTkzMTkyNzRlZTQ2ZTBhZDgxMjVhODk0ZWQ2
Y2ZlMGI5NGUuLjJmZTMyOTAzNDM0N2NlZDI4ZjgxMDU3ZGEzZmVjMjMzMDdhZTcwODQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
Q2hyb21lQ2xpZW50LmgKQEAgLTQ1NSwxMCArNDU1LDYgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVu
dW1lcmF0ZUltbWVyc2l2ZVhSRGV2aWNlcyhDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNvbnN0IFBs
YXRmb3JtWFI6Okluc3RhbmNlOjpEZXZpY2VMaXN0Jik+JiYpIGZpbmFsOwogI2VuZGlmCiAKLSNp
ZiBFTkFCTEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotICAgIHZvaWQgdGFrZU1vZGVsRWxl
bWVudEZ1bGxzY3JlZW4oV2ViQ29yZTo6R3JhcGhpY3NMYXllcjo6UGxhdGZvcm1MYXllcklEIGNv
bnRlbnRMYXllcklkKSBjb25zdCBmaW5hbDsKLSNlbmRpZgotCiAjaWYgRU5BQkxFKEFQUExFX1BB
WV9BTVNfVUkpCiAgICAgdm9pZCBzdGFydEFwcGxlUGF5QU1TVUlTZXNzaW9uKGNvbnN0IFVSTCYs
IGNvbnN0IFdlYkNvcmU6OkFwcGxlUGF5QU1TVUlSZXF1ZXN0JiwgQ29tcGxldGlvbkhhbmRsZXI8
dm9pZChzdGQ6Om9wdGlvbmFsPGJvb2w+JiYpPiYmKSBmaW5hbDsKICAgICB2b2lkIGFib3J0QXBw
bGVQYXlBTVNVSVNlc3Npb24oKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYjE4ZDdmNzJlNjdhY2FkNGFiNTQ2ZDRkNDA4ZWRhYTE0
YWM2OWNhYi4uZGQ1OWNmYTcxMDZmMDg0NDJlM2ZiMzk5M2IxYTg4MDg4MWY3YmEzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIv
U291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc3ODksMTMg
Kzc3ODksNiBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZUNvbnRleHRNZW51VHJhbnNsYXRpb24oY29u
c3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm8mIGluZgogfQogI2VuZGlmCiAKLSNpZiBFTkFC
TEUoQVJLSVRfSU5MSU5FX1BSRVZJRVdfSU9TKQotdm9pZCBXZWJQYWdlOjp0YWtlTW9kZWxFbGVt
ZW50RnVsbHNjcmVlbihXZWJDb3JlOjpHcmFwaGljc0xheWVyOjpQbGF0Zm9ybUxheWVySUQgY29u
dGVudExheWVySWQpCi17Ci0gICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpUYWtlTW9k
ZWxFbGVtZW50RnVsbHNjcmVlbihjb250ZW50TGF5ZXJJZCkpOwotfQotI2VuZGlmCi0KIHZvaWQg
V2ViUGFnZTo6c2Nyb2xsVG9SZWN0KGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgdGFyZ2V0UmVj
dCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgb3JpZ2luKQogewogICAgIG1haW5GcmFtZVZp
ZXcoKS0+c2V0U2Nyb2xsUG9zaXRpb24oSW50UG9pbnQodGFyZ2V0UmVjdC5taW5YTWluWUNvcm5l
cigpKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
NDFlMjYwMzlhYjgxNGI0NDI0YzJlMjJhNmM0ZWYyY2EzZWExYmY3ZS4uNzQwM2Y3N2Q1MGFjZDFm
ZDUwMGJkZWY5ZTRiYWEyZTU3ZjgyODQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaApAQCAtMTQ5MCwxMCArMTQ5MCw2IEBAIHB1YmxpYzoKICAgICBQbGF0
Zm9ybVhSU3lzdGVtUHJveHkmIHhyU3lzdGVtUHJveHkoKTsKICNlbmRpZgogCi0jaWYgRU5BQkxF
KEFSS0lUX0lOTElORV9QUkVWSUVXX0lPUykKLSAgICB2b2lkIHRha2VNb2RlbEVsZW1lbnRGdWxs
c2NyZWVuKFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXI6OlBsYXRmb3JtTGF5ZXJJRCBjb250ZW50TGF5
ZXJJZCk7Ci0jZW5kaWYKLQogICAgIHZvaWQgcHJlcGFyZVRvUnVuTW9kYWxKYXZhU2NyaXB0RGlh
bG9nKCk7CiAKICNpZiBVU0UoQVRTUEkpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>