<?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>230254</bug_id>
          
          <creation_ts>2021-09-14 05:31:27 -0700</creation_ts>
          <short_desc>[GTK][a11y] Add a build option to enable ATSPI</short_desc>
          <delta_ts>2021-09-17 01:41:23 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>230299</dependson>
    
    <dependson>230301</dependson>
          <blocked>230253</blocked>
    
    <blocked>230255</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>aboxhall</cc>
    
    <cc>andresg_22</cc>
    
    <cc>annulen</cc>
    
    <cc>aperez</cc>
    
    <cc>apinheiro</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cfleizach</cc>
    
    <cc>dmazzoni</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jcraig</cc>
    
    <cc>jdiggs</cc>
    
    <cc>mifenton</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>samuel_white</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1793258</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 05:31:27 -0700</bug_when>
    <thetext>Add USE_ATSPI build option that disables ATK and enables the new atspi based implementation, for now just adding stubs and build fixes with isolated tree enabled.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793268</commentid>
    <comment_count>1</comment_count>
      <attachid>438125</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 06:07:02 -0700</bug_when>
    <thetext>Created attachment 438125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793276</commentid>
    <comment_count>2</comment_count>
      <attachid>438127</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 06:27:02 -0700</bug_when>
    <thetext>Created attachment 438127
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793278</commentid>
    <comment_count>3</comment_count>
      <attachid>438128</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 06:33:55 -0700</bug_when>
    <thetext>Created attachment 438128
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793280</commentid>
    <comment_count>4</comment_count>
      <attachid>438130</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 06:41:12 -0700</bug_when>
    <thetext>Created attachment 438130
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793281</commentid>
    <comment_count>5</comment_count>
      <attachid>438131</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 06:47:25 -0700</bug_when>
    <thetext>Created attachment 438131
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793289</commentid>
    <comment_count>6</comment_count>
      <attachid>438134</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-14 07:00:45 -0700</bug_when>
    <thetext>Created attachment 438134
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793533</commentid>
    <comment_count>7</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-14 17:38:46 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; Created attachment 438134 [details]
&gt; Patch

--- a/Source/WebCore/accessibility/AXObjectCache.cpp
+++ a/Source/WebCore/accessibility/AXObjectCache.cpp
@@ -770,9 +770,13 @@ AccessibilityObject* AXObjectCache::getOrCreate(RenderObject* renderer)
 #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
 bool AXObjectCache::clientSupportsIsolatedTree()
 {
+#if USE(APPLE_INTERNAL_SDK)

Instead of adding more #if throughout the platform-independent source, it would be cleaner to move this mac implementation to AXObjectCacheMac.mm, and add a new implementation for atspi.

Same comment for AXObjectCache::isIsolatedTreeEnabled, initializeSecondaryAXThread and usedOnAXThread.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793534</commentid>
    <comment_count>8</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-14 17:42:58 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; Created attachment 438134 [details]
&gt; Patch

--- a/Source/WebCore/accessibility/AccessibilityObject.cpp
+++ a/Source/WebCore/accessibility/AccessibilityObject.cpp
@@ -3782,7 +3782,14 @@ static bool isAccessibilityTextSearchMatch(AXCoreObject* axObject, Accessibility
 {
     if (!axObject)
         return false;
-    return axObject-&gt;containsText(criteria.searchText);
+
+    // If text is empty we return true.
+    if (criteria.searchText.isEmpty())
+        return true;
+
+    return containsPlainText(axObject-&gt;title(), criteria.searchText, CaseInsensitive)
+        || containsPlainText(axObject-&gt;accessibilityDescription(), criteria.searchText, CaseInsensitive)
+        || containsPlainText(axObject-&gt;stringValue(), criteria.searchText, CaseInsensitive);
 }

This doesn&apos;t seem related to enabling isolated tree, so perhaps you can submit this change as a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793544</commentid>
    <comment_count>9</comment_count>
    <who name="Andres Gonzalez">andresg_22</who>
    <bug_when>2021-09-14 17:56:20 -0700</bug_when>
    <thetext>(In reply to Carlos Garcia Campos from comment #6)
&gt; Created attachment 438134 [details]
&gt; Patch

--- a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
+++ a/Source/WebCore/accessibility/isolatedtree/AXIsolatedObject.cpp
@@ -71,11 +71,15 @@ void AXIsolatedObject::initializeAttributeData(AXCoreObject&amp; object, bool isRoot
     setProperty(AXPropertyName::ARIALandmarkRoleDescription, object.ariaLandmarkRoleDescription().isolatedCopy());
     setProperty(AXPropertyName::AccessibilityDescription, object.accessibilityDescription().isolatedCopy());
     setProperty(AXPropertyName::BoundingBoxRect, object.boundingBoxRect());
+#if PLATFORM(COCOA)
     setProperty(AXPropertyName::Description, object.descriptionAttributeValue().isolatedCopy());
+#endif

Could we move these platform-specific properties to initializePlatformProperties? That way we wouldn&apos;t have to #if throughout here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793616</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-15 00:26:47 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #7)
&gt; (In reply to Carlos Garcia Campos from comment #6)
&gt; &gt; Created attachment 438134 [details]
&gt; &gt; Patch
&gt; 
&gt; --- a/Source/WebCore/accessibility/AXObjectCache.cpp
&gt; +++ a/Source/WebCore/accessibility/AXObjectCache.cpp
&gt; @@ -770,9 +770,13 @@ AccessibilityObject*
&gt; AXObjectCache::getOrCreate(RenderObject* renderer)
&gt;  #if ENABLE(ACCESSIBILITY_ISOLATED_TREE)
&gt;  bool AXObjectCache::clientSupportsIsolatedTree()
&gt;  {
&gt; +#if USE(APPLE_INTERNAL_SDK)
&gt; 
&gt; Instead of adding more #if throughout the platform-independent source, it
&gt; would be cleaner to move this mac implementation to AXObjectCacheMac.mm, and
&gt; add a new implementation for atspi.
&gt; 
&gt; Same comment for AXObjectCache::isIsolatedTreeEnabled,
&gt; initializeSecondaryAXThread and usedOnAXThread.

Ok</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793619</commentid>
    <comment_count>11</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-15 00:29:02 -0700</bug_when>
    <thetext>(In reply to Andres Gonzalez from comment #8)
&gt; (In reply to Carlos Garcia Campos from comment #6)
&gt; &gt; Created attachment 438134 [details]
&gt; &gt; Patch
&gt; 
&gt; --- a/Source/WebCore/accessibility/AccessibilityObject.cpp
&gt; +++ a/Source/WebCore/accessibility/AccessibilityObject.cpp
&gt; @@ -3782,7 +3782,14 @@ static bool
&gt; isAccessibilityTextSearchMatch(AXCoreObject* axObject, Accessibility
&gt;  {
&gt;      if (!axObject)
&gt;          return false;
&gt; -    return axObject-&gt;containsText(criteria.searchText);
&gt; +
&gt; +    // If text is empty we return true.
&gt; +    if (criteria.searchText.isEmpty())
&gt; +        return true;
&gt; +
&gt; +    return containsPlainText(axObject-&gt;title(), criteria.searchText,
&gt; CaseInsensitive)
&gt; +        || containsPlainText(axObject-&gt;accessibilityDescription(),
&gt; criteria.searchText, CaseInsensitive)
&gt; +        || containsPlainText(axObject-&gt;stringValue(), criteria.searchText,
&gt; CaseInsensitive);
&gt;  }
&gt; 
&gt; This doesn&apos;t seem related to enabling isolated tree, so perhaps you can
&gt; submit this change as a separate patch.

Right, this is weird here, The reason of this change is because WTR uses the WebCore wrappers, and including TextIterator.h from the header pulled too many things that caused linking errors. I&apos;ll split the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793969</commentid>
    <comment_count>12</comment_count>
      <attachid>438324</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-16 00:36:30 -0700</bug_when>
    <thetext>Created attachment 438324
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1793974</commentid>
    <comment_count>13</comment_count>
      <attachid>438326</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-16 01:02:01 -0700</bug_when>
    <thetext>Created attachment 438326
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794367</commentid>
    <comment_count>14</comment_count>
      <attachid>438326</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2021-09-17 00:49:54 -0700</bug_when>
    <thetext>Comment on attachment 438326
Patch

Approved, as it seems all the review concerns have been adressed :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794373</commentid>
    <comment_count>15</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2021-09-17 01:41:23 -0700</bug_when>
    <thetext>Committed r282643 (241797@main): &lt;https://commits.webkit.org/241797@main&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438125</attachid>
            <date>2021-09-14 06:07:02 -0700</date>
            <delta_ts>2021-09-14 06:27:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-atspi.diff</filename>
            <type>text/plain</type>
            <size>100890</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4YTBhNmEwNDExMWYuLjNi
MzE5ZTM3ZGQwYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTMgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIHRvIGEgcnVudGltZSBm
bGFnLCBzdGFydCBydW5uaW5nIHRlc3RzIGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNiMmU1NjhkOTUzZS4uMzlkZGNl
ZDgxNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBi
dWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdp
dGggQVRTUEkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKIDIwMjEtMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHRoYXQgdXNlcyBQQ00gZGFlbW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDlkM2NjZTk3YzA4NS4uNjk2NjJiYmI5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA3OCw2ICsxMDc4
LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgICBXZWJLaXRMZWdh
Y3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAgICJVU0UoQVRTUEkp
IjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVs
dDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxM2Q3YWNkMTk0NjUuLmQ3MDJiN2U1ZTQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBv
cHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0aW9uIGFuZCBzZXZl
cmFsIGJ1aWxkIGZpeGVzIHdoZW4gQVRLIGlzIGRpc2FibGVkIGFuZCBpc29sYXRlZCB0cmVlIGVu
YWJsZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Vz
R1RLLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmluaXRpYWxpemVTZWNvbmRhcnlB
WFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1c2VkT25BWFRocmVh
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hN
YXRjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdy
YXBwZXIpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHA6CisgICAgICAgICogZWRpdGluZy9hdHNw
aS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5h
YmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1
Li5hOGEwMWYwNmViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0
KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9hdHNwaSIKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BhZ2UvZ3RrIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRh
IgpAQCAtNTMsNiArNTQsOCBAQCBpZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxp
c3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fk
d2FpdGEvU2Nyb2xsYmFyVGhlbWVBZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGlj
YXRpb25HTGliLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMx
MmVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaS5jcHAKK2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0
c3BpLmNwcAorCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2Jq
ZWN0QXRzcGkuY3BwCisKIGVkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0
ay5jcHAKIGVkaXRpbmcvZ3RrL1dlYkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDg5ZjhhNjViMTVm
ZS4uOTY4NzU5NGE4ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTc3MCw5ICs3NzAsMTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogYm9vbCBBWE9iamVjdENhY2hlOjpj
bGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSgpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKICAgICBhdXRvIGNsaWVudCA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVz
dGVkKCk7CiAgICAgcmV0dXJuIGNsaWVudCA9PSBrQVhDbGllbnRUeXBlVm9pY2VPdmVyCiAgICAg
ICAgIHx8IFVOTElLRUxZKGNsaWVudCA9PSBrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyk7Cisj
ZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCiB9CiAKIGJvb2wgQVhPYmplY3RDYWNoZTo6
aXNJc29sYXRlZFRyZWVFbmFibGVkKCkKQEAgLTc4MSw2ICs3ODUsNyBAQCBib29sIEFYT2JqZWN0
Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgpCiAgICAgaWYgKGVuYWJsZWQpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBpZiAoIWlz
TWFpblRocmVhZCgpKSB7CiAgICAgICAgIEFTU0VSVChfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCkpOwogICAgICAgICBlbmFibGVkID0gdHJ1ZTsKQEAgLTc5
MCw2ICs3OTUsOSBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgp
CiAgICAgICAgICAgICAmJiBfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkgIT0gQVhTSXNvbGF0
ZWRUcmVlTW9kZU9mZiAvLyBVc2VkIHRvIHN3aXRjaCB2aWEgc3lzdGVtIGRlZmF1bHRzLgogICAg
ICAgICAgICAgJiYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKICAgICB9CisjZWxzZQor
ICAgIGVuYWJsZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KQEAg
LTgxMywxMCArODIxLDEyIEBAIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVj
dCgpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aW5pdGlhbGl6ZVNlY29uZGFyeUFYVGhyZWFkKCkK
IHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUg
Y3JlYXRlZCBvdXIgdHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKICAgICAv
LyBzbyBmdXR1cmUgcmVxdWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgogICAgIGlm
IChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9uSXNBdmFpbGFibGUoKSAmJiBfQVhTSXNvbGF0
ZWRUcmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCkK
ICAgICAgICAgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQodHJ1ZSk7CisjZW5kaWYK
IH0KIAogUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZUlz
b2xhdGVkVHJlZSgpIGNvbnN0CkBAIC04NDgsOCArODU4LDE0IEBAIEFYQ29yZU9iamVjdCogQVhP
YmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpCiBib29sIEFYT2JqZWN0Q2FjaGU6
OnVzZWRPbkFYVGhyZWFkKCkKIHsKICAgICBBU1NFUlQoaXNJc29sYXRlZFRyZWVFbmFibGVkKCkp
OworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAgICAgcmV0dXJuIF9BWFNJc29sYXRlZFRy
ZWVNb2RlRnVuY3Rpb25Jc0F2YWlsYWJsZSgpCiAgICAgICAgICYmIF9BWFNJc29sYXRlZFRyZWVN
b2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkOworI2VsaWYg
VVNFKEFUU1BJKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjNmY5OWZhYWI0YTUuLjJlMTYzZDMzNDYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0zNzgyLDcgKzM3ODIsMTQgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGV4dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxp
dHkKIHsKICAgICBpZiAoIWF4T2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIGF4T2JqZWN0LT5jb250YWluc1RleHQoY3JpdGVyaWEuc2VhcmNoVGV4dCk7CisKKyAgICAv
LyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgorICAgIGlmIChjcml0ZXJpYS5zZWFy
Y2hUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY29u
dGFpbnNQbGFpblRleHQoYXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENh
c2VJbnNlbnNpdGl2ZSkKKyAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpCisgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT5zdHJpbmdWYWx1
ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwogfQogCiBzdGF0aWMg
Ym9vbCBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRoUmVzdWx0TGltaXQoQVhDb3JlT2Jq
ZWN0KiBvYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEs
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAppbmRleCAyMTY4NDU0OGJhNDMuLjg1NmFlZjliMTZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IlNpbXBsZVJhbmdlLmgiCisjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KQEAgLTQyLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAiQ09NUHRyLmgiCiAj
ZW5kaWYKIAorI2lmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFUSykKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTUyLDYgKzU3LDggQEAgdHlwZWRlZiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIHR5cGVkZWYgc3RydWN0IF9O
U1JhbmdlIE5TUmFuZ2U7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0FYVGV4dE1hcmtlciogQVhU
ZXh0TWFya2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXJSYW5nZSog
QVhUZXh0TWFya2VyUmFuZ2VSZWY7CisjZWxpZiBVU0UoQVRTUEkpCit0eXBlZGVmIFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKICNl
bGlmIFVTRShBVEspCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0QWNjZXNzaWJsZSBXZWJLaXRBY2Nl
c3NpYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEFjY2Vzc2libGUgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CkBAIC0xMTI2LDE0ICsxMTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0aXRsZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgp
IGNvbnN0ID0gMDsKLSAgICBib29sIGNvbnRhaW5zVGV4dChTdHJpbmcgY29uc3QmIHRleHQpIGNv
bnN0Ci0gICAgewotICAgICAgICAvLyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgot
ICAgICAgICByZXR1cm4gdGV4dC5pc0VtcHR5KCkKLSAgICAgICAgICAgIHx8IGNvbnRhaW5zUGxh
aW5UZXh0KHRpdGxlKCksIHRleHQsIENhc2VJbnNlbnNpdGl2ZSkKLSAgICAgICAgICAgIHx8IGNv
bnRhaW5zUGxhaW5UZXh0KGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCB0ZXh0LCBDYXNlSW5z
ZW5zaXRpdmUpCi0gICAgICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChzdHJpbmdWYWx1ZSgp
LCB0ZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwotICAgIH0KIAogICAgIC8vIE1ldGhvZHMgZm9yIGRl
dGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIGJvb2wgaXNBUklBU3Rh
dGljVGV4dCgpIGNvbnN0ID0gMDsKQEAgLTE1MTQsNiArMTUxMyw4IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgQ09NUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBt
X3dyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV93cmFwcGVyOwogI2VsaWYgVVNFKEFUSykKICAgICBHUmVmUHRyPFdlYktpdEFj
Y2Vzc2libGU+IG1fd3JhcHBlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA3Yjg3MjdkYzJmMjcu
LjJiMWMzNDAyMTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDg1ZDJhZGFlY2Q5NS4uNDM0YmY1
MGNjNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQorCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCkBAIC0zMiw4ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCkBA
IC0yMDYsNCArMjA2LDQgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2V0TGVuZ3Ro
Rm9yVGV4dFJhbmdlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGUuY3BwCmluZGV4IDg2YzMwY2RkNjY2My4uYzk2YzJjMmZiYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC0xMzgyLDQgKzEzODIs
NCBAQCBjb25zdCBjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eShXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYgogICAgIHJldHVybiAoKnByb3BlcnR5UHRyKS5k
YXRhKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaAppbmRleCA3MmUxMTY1MWI3ZTku
LmVmOTIzNmE3M2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGUuaApAQCAtMjIsNyArMjIsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtODUsNCArODUsNCBAQCBib29sIHdlYmtpdEFjY2Vzc2libGVJc0RldGFj
aGVkKFdlYktpdEFjY2Vzc2libGUqKTsKIAogY29uc3QgY2hhciogd2Via2l0QWNjZXNzaWJsZUNh
Y2hlQW5kUmV0dXJuQXRrUHJvcGVydHkoV2ViS2l0QWNjZXNzaWJsZSosIEF0a0NhY2hlZFByb3Bl
cnR5LCBDU3RyaW5nJiYpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsuY3BwCmluZGV4IDA1Y2JkNmZlNzUxZC4uYzQwZjcyYzJjOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
QEAgLTMxMyw0ICszMTMsNCBAQCBXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rKiB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rR2V0T3JDcmVhdGUoQXRrSHlwZXJsaW5rSW1wbAogICAgIHJldHVybiBo
eXBlcmxpbms7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsu
aAppbmRleCA3OTk2YjBhNDRlYzMuLjE5ZmE5YzFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxp
bmsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSA8YXRrL2F0ay5oPgogCkBAIC01Miw0ICs1Miw0IEBAIFdlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBlcmxpbmtJ
bXBsCiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VB
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5jcHAKaW5kZXggY2EyM2FkZmQ3MWE3Li4xNGViNTc5ODg2YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUFjdGlvbi5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VBY3Rpb24uaAppbmRleCA2NzE4YjE0MGU2ZmIuLjAyZDc1OTZkOTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNj
ZXNzaWJsZUFjdGlvbkludGVyZmFjZUluaXQoQXRrQWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApp
bmRleCBiN2ZlNTViZmU0MzguLjk4NDU3YWFkZjA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTE2OSw0ICsxNjksNCBAQCB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21w
b25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKICNlbmRpZgogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9u
ZW50LmgKaW5kZXggOTY5MjNjNWE2OGMxLi43ZGFmMzQ3YzQ0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21w
b25lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKik7CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQu
Y3BwCmluZGV4IDJiMzEzYTBiMWJhNC4uN2YwYjVhMDA1NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCmluZGV4
IGM5NDhkMTk3NmViYS4uNmJlYWFlZDM5NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRG9jdW1lbnQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZURvY3Vt
ZW50SW50ZXJmYWNlSW5pdChBdGtEb2N1bWVudElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKaW5k
ZXggYWM3OTM4M2I4NjAzLi40OTRlYjAwMTgyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJs
ZVRleHQuaAppbmRleCA1ODQ1MGU0MTllZGQuLmVmNWY3ZDI2OWJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUVkaXRhYmxlVGV4dEludGVyZmFjZUluaXQoQXRrRWRpdGFibGVUZXh0
SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVybGlua0ltcGwuY3BwCmluZGV4IDJmYzRlMTk0MDhlNy4uNmE4ZWRkNDk2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oIgogCkBAIC0zNCw0ICszNCw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlu
a0ltcGxJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9oeXBlcmxpbmsgPSB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rSW1wbEdldEh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgKaW5kZXgg
YmM3ZWMxNzAzNzY0Li4yMDkyYmY3Yzk3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaApAQCAtMTksMTAgKzE5LDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlua0ltcGxJZmFjZSopOwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuY3BwCmluZGV4IGE3OGQ4ODMyYWE0ZC4uNTIzYmFiOTZmMGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
SHlwZXJ0ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaAppbmRleCA1NDhjZDYwOGE0NmYuLmMzZjYxMzg1ZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUh5cGVydGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaApAQCAtMTksMTAgKzE5LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUh5cGVydGV4dEludGVyZmFjZUluaXQoQXRrSHlwZXJ0ZXh0SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKaW5kZXggNjMzYzk3MGQwZTQxLi4yODYwNjAyNzE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUltYWdlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaAppbmRleCA0ZDljZTQwOTczZTUu
LjBkNWQ4Y2ViMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVJbWFnZUludGVyZmFjZUluaXQoQXRrSW1h
Z2VJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uY3BwCmluZGV4IDZlYTU3MDgxMzdiNC4uODZhMTk5OGNiY2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKaW5kZXggMmI5OTFkMjNiYTkwLi5jNTMzNGIz
YTIzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZWxlY3Rpb25JbnRlcmZhY2VJbml0KEF0
a1NlbGVjdGlvbklmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IDYyNmM3Mjc3NDUxNy4uZTVlZWM1YzViMWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5oCmluZGV4IDRlZmMyYjIwYTFlNy4uZjQyYjVjZmQ2YjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVRhYmxlSW50ZXJmYWNlSW5pdChBdGtUYWJsZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKaW5kZXgg
Mjg5ZDNhNzAxNWRmLi44NmU3YTc1ODY1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVRhYmxlLmgiCkBAIC0xNTMsNCArMTUzLDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxl
VGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSogaWZhY2UpCiAgICAgaWZh
Y2UtPmdldF90YWJsZSA9IHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxHZXRUYWJsZTsKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2Vs
bC5oCmluZGV4IDJiYmM3MzczMDVlMS4uZjJkNzAzNGU0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oCkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nl
c3NpYmxlVGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSopOwogCi0jZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5kZXgg
MDgxZmE4YzM2MWIwLi4wYTg2ZDQ0M2Q1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGV4dC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGV4dC5oCmluZGV4IDExMjk1NWY0MGRmMC4uZWMyYWFlM2MyOWI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdl
YmtpdEFjY2Vzc2libGVUZXh0SW50ZXJmYWNlSW5pdChBdGtUZXh0SWZhY2UqKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXgg
MDRlZTg5MDM5YWZhLi4wODI1OWQ5OWYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVZhbHVlLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCmluZGV4IDM2OTZjYjBiODlkZC4uZDExZDVlODFl
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaApAQCAtMTksMTAgKzE5LDEw
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAK
IHZvaWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKik7
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCBkOWRjZGE5MDhm
MmUuLmIzZjg3NmQyNDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuaAppbmRleCBhMmZhY2FmODUyOGQuLmY1NDkzMDJm
ZTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCkBAIC0yMSw3ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpWaXNpYmxlU2VsCiAKIFdl
YkNvcmU6OkFYQ29yZU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0T2Zmc2V0VW5pZ25vcmVk
KFdlYkNvcmU6OkFYQ29yZU9iamVjdCosIGludCYgb2Zmc2V0KTsKIAotI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9i
amVjdENhY2hlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
WE9iamVjdENhY2hlQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uN2M0NDZkMDM2Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmpl
Y3QsIEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKK3sKK30KKwor
dm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmplY3Qp
Cit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNo
ZVVwZGF0ZSgpCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1O
b3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFRleHRDaGFuZ2UgdGV4
dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcmIHRleHQpCit7Cit9CisKK3Zv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIEFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudCkK
K3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0Zm9ybUhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKE5vZGUqIG9sZEZvY3VzZWROb2RlLCBOb2RlKiBuZXdGb2N1c2VkTm9kZSkKK3sK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDU4YjhiMDY2NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpjcmVhdGUoQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0KQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaShjb3Jl
T2JqZWN0KSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpKEFYQ29yZU9iamVjdCopCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRh
Y2htZW50VHlwZSkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVsdEJlaGF2aW9yOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZmYyMTQ0NWEwODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1
ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFYQ29yZU9iamVjdDsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKKyAgICB+QWNjZXNzaWJpbGl0
eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaShBWENvcmVPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGIwYmNmNTUyNjBmYS4uNGI4ZTYyODAx
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNzEsMTEgKzcxLDE1IEBAIHZv
aWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpCb3Vu
ZGluZ0JveFJlY3QsIG9iamVjdC5ib3VuZGluZ0JveFJlY3QoKSk7CisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uLCBvYmplY3Qu
ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRpZgogICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCwgb2JqZWN0LmVsZW1lbnRS
ZWN0KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cs
IG9iamVjdC5oYXNBUklBVmFsdWVOb3coKSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwg
b2JqZWN0Lmhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0
eShBWFByb3BlcnR5TmFtZTo6SGVscFRleHQsIG9iamVjdC5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQsIG9iamVjdC5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIsIG9iamVjdC5pc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250
YWluZXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKQEAgLTEzNywxMSArMTQxLDE1IEBAIHZvaWQgQVhJc29s
YXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlw
dGlvbiwgb2JqZWN0LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Qucm9sZVBs
YXRmb3JtU3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKS5pc29sYXRlZENvcHko
KSk7CisjZW5kaWYKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3VwcG9ydHNEYXRl
dGltZUF0dHJpYnV0ZSwgb2JqZWN0LnN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUm93Q291bnRDaGFuZ2UsIG9iamVj
dC5zdXBwb3J0c1Jvd0NvdW50Q2hhbmdlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUaXRsZUF0dHJpYnV0ZVZh
bHVlLCBvYmplY3QudGl0bGVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRp
ZgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVl
LCBvYmplY3QuZGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5j
YW5TZXRGb2N1c0F0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0
ZXMoKSk7CkBAIC00MDQsNyArNDEyLDkgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jvb3QKIAogICAg
IGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2JqZWN0KCkpOworI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UHJldmVudEtleWJvYXJkRE9NRXZl
bnREaXNwYXRjaCwgb2JqZWN0LnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSk7Cisj
ZW5kaWYKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlc3Npb25JRCwgb2Jq
ZWN0LnNlc3Npb25JRCgpKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRv
Y3VtZW50VVJJLCBvYmplY3QuZG9jdW1lbnRVUkkoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEb2N1bWVudEVuY29kaW5nLCBvYmplY3QuZG9j
dW1lbnRFbmNvZGluZygpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTUxNCw4ICs1MjQsMTIgQEAgdm9p
ZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIAogY29uc3QgQVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxk
cmVuKGJvb2wpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBBU1NFUlQoX0FY
U0lzb2xhdGVkVHJlZU1vZGVGdW5jdGlvbklzQXZhaWxhYmxlKCkgJiYgKChfQVhTSXNvbGF0ZWRU
cmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCAmJiAh
aXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHx8IChfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkg
PT0gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpKSk7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisjZW5kaWYKICAg
ICB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICBtX2NoaWxkcmVuLmNsZWFyKCk7CiAgICAgbV9j
aGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2hpbGRyZW5JRHMuc2l6ZSgpKTsKQEAg
LTYwMywxMiArNjE3LDE0IEBAIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVudFVSSSgp
IGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCiBi
b29sIEFYSXNvbGF0ZWRPYmplY3Q6OnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSBj
b25zdAogewogICAgIGlmIChhdXRvIHJvb3QgPSB0cmVlKCktPnJvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiByb290LT5ib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlByZXZlbnRL
ZXlib2FyZERPTUV2ZW50RGlzcGF0Y2gpOwogICAgIHJldHVybiBmYWxzZTsKIH0KKyNlbmRpZgog
CiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6ZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0CiB7CkBA
IC03NzEsMTIgKzc4NywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKGJvb2wgdmFsdWUpCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQog
dm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
KGJvb2wgdmFsdWUpCiB7CiAgICAgcGVyZm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFsmdmFsdWVd
KEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CiAgICAgICAgIG9iamVjdC0+c2V0UHJldmVudEtleWJv
YXJkRE9NRXZlbnREaXNwYXRjaCh2YWx1ZSk7CiAgICAgfSk7CiB9CisjZW5kaWYKIAogU1JHQkE8
dWludDhfdD4gQVhJc29sYXRlZE9iamVjdDo6Y29sb3JWYWx1ZSgpIGNvbnN0CiB7CkBAIC0xMTY3
LDYgKzExODUsNyBAQCBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydEZyYW1lVG9T
cGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEFjY2Vzc2liaQogICAgIH0pOwogfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCiBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydFJlY3RU
b1BsYXRmb3JtU3BhY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBBY2Nlc3NpYmlsaXR5Q29udmVy
c2lvblNwYWNlIHNwYWNlKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8RmxvYXRSZWN0PihbJnJlY3QsICZzcGFjZSwgdGhpc10g
KCkgLT4gRmxvYXRSZWN0IHsKQEAgLTExNzUsNiArMTE5NCw3IEBAIEZsb2F0UmVjdCBBWElzb2xh
dGVkT2JqZWN0Ojpjb252ZXJ0UmVjdFRvUGxhdGZvcm1TcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEFjCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSk7CiB9CisjZW5kaWYKIAogYm9vbCBB
WElzb2xhdGVkT2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UoY29uc3QgU3RyaW5nJiByZXBsYWNl
bWVudFRleHQsIGNvbnN0IFBsYWluVGV4dFJhbmdlJiB0ZXh0UmFuZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmgKaW5kZXggNmZiMWFkYWM4ZGFlLi5jNWMxOTM4YjY3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTMyMCwxMSArMzIwLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c0Fub255bW91c01hdGhPcGVyYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBbm9ueW1vdXNNYXRoT3BlcmF0b3IpOyB9CiAg
ICAgdm9pZCBtYXRoUHJlc2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcnMm
KSBvdmVycmlkZTsKICAgICB2b2lkIG1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11
bHRpc2NyaXB0UGFpcnMmKSBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGZpbGVVcGxvYWRCdXR0b25SZXR1cm5zVmFsdWVJblRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpGaWxlVXBsb2FkQnV0dG9u
UmV0dXJuc1ZhbHVlSW5UaXRsZSk7IH0KICAgICBTdHJpbmcgc3BlZWNoSGludEF0dHJpYnV0ZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlNwZWVjaEhpbnQpOyB9CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uQXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6RGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGhlbHBUZXh0QXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQpOyB9CiAgICAgU3RyaW5nIHRpdGxlQXR0cmlidXRlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6VGl0bGVBdHRyaWJ1dGVWYWx1ZSk7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBib29sIGNhcmV0QnJvd3NpbmdFbmFibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYXJldEJyb3dzaW5nRW5hYmxlZCk7
IH0KICNlbmRpZgpAQCAtMzY5LDcgKzM3MSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc2Vz
c2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50VVJJKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlz
cGF0Y2goKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gUGxhaW5UZXh0UmFuZ2Ug
c3VwcG9ydC4KICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDQ0LDcgKzQ0OCw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgc2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CiAjZW5kaWYK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFByZXZlbnRLZXlib2FyZERPTUV2ZW50
RGlzcGF0Y2goYm9vbCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIFN0cmluZyB0ZXh0VW5kZXJF
bGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSA9IEFjY2Vzc2liaWxpdHlU
ZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgQWNjZXNz
aWJpbGl0eVNlYXJjaERpcmVjdGlvbikgY29uc3Qgb3ZlcnJpZGU7CkBAIC02MzQsNyArNjQwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG92ZXJyaWRlQXR0YWNobWVudFBhcmVudChBWENvcmVPYmpl
Y3QqIHBhcmVudCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6SGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKTsgfQorI2VuZGlmCiAgICAgY29u
c3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcoYm9vbCBpbmNsdWRlU2VsZikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiB3
ZWJBcmVhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gb2JqZWN0QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDdjMzQ2OTY3OTdhYi4uY2Y0Mjg2MjM5ZjY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTM0Myw3ICszNDMsMTEgQEAgcHVibGljOgogCiAgICAg
c3RydWN0IE5vZGVDaGFuZ2UgewogICAgICAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4gaXNvbGF0
ZWRPYmplY3Q7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIFJldGFpblB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICAgICAg
UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyOworI2VuZGlmCiAgICAg
fTsKIAogICAgIHZvaWQgZ2VuZXJhdGVTdWJ0cmVlKEFYQ29yZU9iamVjdCYsIEFYQ29yZU9iamVj
dCosIGJvb2wgYXR0YWNoV3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvYXRzcGkvQVhJc29sYXRl
ZE9iamVjdEF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjA2Nzg2NTVjZTllYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRPYmplY3RBdHNwaS5jcHAKQEAgLTAs
MCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZE9iamVjdC5oIgorCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQg
QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVBsYXRmb3JtUHJvcGVydGllcyhjb25zdCBBWENv
cmVPYmplY3QmKQoreworfQorCit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3Jt
V3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcikKK3sKKyAgICBzZXRX
cmFwcGVyKHdyYXBwZXIpOworfQorCit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCBiNGMxMDk5NTcyMDAuLjRjYmY1YTMwOTE1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaApAQCAtMzc1LDcgKzM3NSw3IEBAIGlu
bGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpjbGVhclR5cGluZ1N0eWxlKCkKICAgICBtX3R5cGlu
Z1N0eWxlID0gbnVsbHB0cjsKIH0KIAotI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQ
TEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykpKQorI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykgfHwgVVNFKEFUU1BJKSkpCiAKIGlubGlu
ZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hh
bmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAppbmRleCA5NzM0YjY4YTRmNjUu
LmQyNjE0OWY2NWIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJh
bWVTZWxlY3Rpb25BdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1l
U2VsZWN0aW9uQXRrLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtMTE2LDQgKzExNiw0IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2Uo
Y29uc3QgQVhUZXh0U3RhdGVDaGFuCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdHNwaS9G
cmFtZVNlbGVjdGlvbkF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJh
bWVTZWxlY3Rpb25BdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi40OTlmZDE5ODQyYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3ZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxl
Y3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmKQoreworICAgIGlmICgh
QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDU2NDNm
ZjhmZmZhNy4uNjJjY2MzYjM2MTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0y
NjksNiArMjY5LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgdHlw
ZTogYm9vbAogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToKKyAgICAgIFVTRShBVFNQSSk6
IHRydWUKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKIElzUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdl
TWVhc3VyZW1lbnRFbmFibGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhYmE3Mjk5NTNkM2QuLjBjYjNmNWQ5NjA0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEg
YnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBVFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUpOiBBZGQg
QVRLIGlmZGVmLgorICAgICAgICAqIFdlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW4pOiBEaXNhYmxlIEFUSy9HVEsgYWNj
ZXNzaWJpbGl0eSBzdXBwb3J0IGluIHRoZSBXZWJQcm9jZXNzIHdoZW4gdXNpbmcgQVRTUEkuCisK
IDIwMjEtMDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjI3NDkyOSk6IFtDb29yZGluYXRlZEdyYXBoaWNzXSBEcmF3
aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBp
cyBubyBsb25nZXIgdXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCmluZGV4IGVjMDc5ZjdiNmQwZS4uYzA1MTRjMGRjOGEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0
ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VH
dGsuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lk
IFdlYlBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiB7Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAgICAgLy8gQ3JlYXRl
IHRoZSBhY2Nlc3NpYmxlIG9iamVjdCAodGhlIHBsdWcpIHRoYXQgd2lsbCBzZXJ2ZSBhcyB0aGUK
ICAgICAvLyBlbnRyeSBwb2ludCB0byB0aGUgV2ViIHByb2Nlc3MsIGFuZCBzZW5kIGEgbWVzc2Fn
ZSB0byB0aGUgVUkKICAgICAvLyBwcm9jZXNzIHRvIGNvbm5lY3QgdGhlIHR3byB3b3JsZHMgdGhy
b3VnaCB0aGUgYWNjZXNzaWJpbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Z3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAppbmRleCAzNjQzZWU5NTllNWUuLmVlYWVhYmRmODQ2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFp
bkd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFp
bkd0ay5jcHAKQEAgLTcxLDYgKzcxLDE1IEBAIHB1YmxpYzoKIAogaW50IFdlYlByb2Nlc3NNYWlu
KGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKKyNpZiBVU0UoQVRTUEkpCisgICAgLy8gRGlzYWJs
ZSBBVEsvR1RLIGFjY2Vzc2liaWxpdHkgc3VwcG9ydCBpbiB0aGUgV2ViUHJvY2Vzcy4KKyNpZiBV
U0UoR1RLNCkKKyAgICBnX3NldGVudigiR1RLX0ExMVkiLCAibm9uZSIsIFRSVUUpOworI2Vsc2UK
KyAgICBnX3NldGVudigiTk9fQVRfQlJJREdFIiwgIjEiLCBUUlVFKTsKKyNlbmRpZgorI2VuZGlm
CisKICAgICAvLyBJZ25vcmUgdGhlIEdUS19USEVNRSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhl
IHRoZW1lIGlzIGFsd2F5cyBzZXQgYnkgdGhlIFVJIHByb2Nlc3Mgbm93LgogICAgIC8vIFRoaXMg
Y2FsbCBuZWVkcyB0byBoYXBwZW4gYmVmb3JlIGFueSB0aHJlYWRzIGJlZ2luIGV4ZWN1dGlvbgog
ICAgIHVuc2V0ZW52KCJHVEtfVEhFTUUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggMDUyOGE0
OWEzY2ZkLi5mZTNhYzVkNjg4NTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0zMCw3ICszMCw2
IEBAIGZpbmRfcGFja2FnZShPcGVuR0xFUzIpCiAKIGluY2x1ZGUoR1N0cmVhbWVyRGVmaW5pdGlv
bnMpCiAKLVNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9BVEsgVFJVRSkKIFNFVF9BTkRfRVhQ
T1NFX1RPX0JVSUxEKFVTRV9DQUlSTyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNF
X1hER01JTUUgVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9HQ1JZUFQgVFJVRSkK
QEAgLTc2LDYgKzc1LDcgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1dQRV9SRU5ERVJFUiAi
V2hldGhlciB0byBlbmFibGUgV1BFIHJlbmRlcmluZyIgUFVCTElDIE8KICMgUHJpdmF0ZSBvcHRp
b25zIHNwZWNpZmljIHRvIHRoZSBHVEsgcG9ydC4gQ2hhbmdpbmcgdGhlc2Ugb3B0aW9ucyBpcwog
IyBjb21wbGV0ZWx5IHVuc3VwcG9ydGVkLiBUaGV5IGFyZSBpbnRlbmRlZCBmb3IgdXNlIG9ubHkg
YnkgV2ViS2l0IGRldmVsb3BlcnMuCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfQU5HTEVfV0VC
R0wgIldoZXRoZXIgdG8gdXNlIEFOR0xFIGFzIFdlYkdMIGJhY2tlbmQuIiBQUklWQVRFIE9GRikK
K1dFQktJVF9PUFRJT05fREVGSU5FKFVTRV9BVFNQSSAiV2hldGhlciB0byB1c2UgdGhlIEF0c3Bp
IGExMXkgaW1wbGVtZW50YXRpb24gaW5zdGVhZCBvZiBBVEsuIiBQUklWQVRFIE9GRikKIAogV0VC
S0lUX09QVElPTl9ERVBFTkQoRU5BQkxFXzNEX1RSQU5TRk9STVMgVVNFX09QRU5HTF9PUl9FUykK
IFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcgVVNFX09QRU5HTF9P
Ul9FUykKQEAgLTEzMiw2ICsxMzIsNyBAQCBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxV
RShFTkFCTEVfV0VCRFJJVkVSIFBVQkxJQyBPTikKICMgUHJpdmF0ZSBvcHRpb25zIHNoYXJlZCB3
aXRoIG90aGVyIFdlYktpdCBwb3J0cy4gQWRkIG9wdGlvbnMgaGVyZSB3aGVuCiAjIHdlIG5lZWQg
YSB2YWx1ZSBkaWZmZXJlbnQgZnJvbSB0aGUgZGVmYXVsdCBkZWZpbmVkIGluIFdlYktpdEZlYXR1
cmVzLmNtYWtlLgogIyBDaGFuZ2luZyB0aGVzZSBvcHRpb25zIGlzIGNvbXBsZXRlbHkgdW5zdXBw
b3J0ZWQuCitXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUNDRVNTSUJJ
TElUWV9JU09MQVRFRF9UUkVFIFBSSVZBVEUgJHtVU0VfQVRTUEl9KQogV0VCS0lUX09QVElPTl9E
RUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FTWU5DX1NDUk9MTElORyBQUklWQVRFIE9OKQogV0VC
S0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FVVE9DQVBJVEFMSVpFIFBSSVZB
VEUgT04pCiBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQ09OVEVOVF9F
WFRFTlNJT05TIFBSSVZBVEUgT04pCkBAIC0yNjcsNiArMjY4LDEwIEBAIGlmIChOT1QgRVhJU1RT
ICIke1RPT0xTX0RJUn0vZ2xpYi9hcHBseS1idWlsZC1yZXZpc2lvbi10by1maWxlcy5weSIpCiAg
ICAgc2V0KEJVSUxEX1JFVklTSU9OICJ0YXJiYWxsIikKIGVuZGlmICgpCiAKK2lmIChOT1QgVVNF
X0FUU1BJKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9BVEsgVFJVRSkKK2VuZGlm
ICgpCisKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfR1RLX1VOSVhfUFJJTlRJTkcgJHtH
VEtfVU5JWF9QUklOVF9GT1VORH0pCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX09TX0RB
UktfTU9ERV9TVVBQT1JUIDEpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAzYTRhNDliNzc3MjUuLjk3NmU0NDQ1YmYyMSAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwMCBAQAor
MjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBVFNQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN0dWJz
IGZvciBXVFIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVl
TW9kZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNJc29sYXRlZE9iamVjdCBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBsYXRmb3JtVUlFbGVtZW50KToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0
ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5k
bGVyQXRrLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcDog
QWRkZWQuCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFj
Y2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpwbGF0Zm9ybU5hbWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6Zm9jdXNlZEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp+QWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJlbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Y2hpbGRyZW5Db3VudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aW5kZXhPZkNoaWxkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y2hpbGRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bGlua2VkVUlFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRmxvd1RvRWxlbWVudEF0SW5kZXgpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhQ29udHJvbHNFbGVtZW50QXRJbmRl
eCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZFJvd0F0
SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dBdEluZGV4
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGlsZEF0
SW5kZXggY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxl
Y3RlZENoaWxkcmVuQ291bnQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzZWxlY3RlZFJvd0F0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp0aXRsZVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpkaXNjbG9zZWRCeVJvdyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkxpbmtlZFVJRWxlbWVudHMpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZEb2N1bWVudExpbmtzKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ2hpbGRyZW4pOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphbGxBdHRyaWJ1dGVzKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRGVzY3JpcHRpb25PZkF0dHJp
YnV0ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5n
QXR0cmlidXRlVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpu
dW1iZXJBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dIZWFkZXJzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uSGVhZGVycyBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEF0dHJpYnV0ZVZhbHVlIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9vbEF0dHJpYnV0ZVZh
bHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVT
ZXR0YWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmli
dXRlU3VwcG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFy
YW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cm9sZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1
YnJvbGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVzY3Jp
cHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb21wdXRlZFJv
bGVTdHJpbmcpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24gY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdWYWx1ZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omxhbmd1YWdlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQgY29uc3QpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6eSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Ondp
ZHRoKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVpZ2h0KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQb2ludFgpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WSk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVOdW1iZXIpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlv
blN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5h
YmxlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUmVxdWlyZWQg
Y29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzZWQg
Y29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVk
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3Rl
ZE9wdGlvbkFjdGl2ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzRXhwYW5kZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0NoZWNrZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0luZGV0ZXJtaW5hdGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpoaWVyYXJjaGljYWxMZXZlbCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNwZWFrQXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphcmlhSXNHcmFiYmVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YXJpYURyb3BFZmZlY3RzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5lKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3NpdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01pc3NwZWxsZWQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRDb3VudEZv
clNlYXJjaFByZWRpY2F0ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnNlbGVjdFRleHRXaXRoQ3JpdGVyaWEpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5IZWFkZXJzKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93SGVhZGVycyk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dz
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mVmlz
aWJsZUNlbGxzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlc09mSGVhZGVyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93
Q291bnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5Db3Vu
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4SW5UYWJsZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0luZGV4UmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5JbmRleFJhbmdlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJv
dyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhvcml6b250YWxTY3Jv
bGxiYXIgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0
aWNhbFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnNlbGVjdGVkVGV4dFJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjppbmNyZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpkZWNyZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
aG93TWVudSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXNzKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZCBj
b25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVk
Q2hpbGRBdEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cmVtb3ZlU2VsZWN0aW9uQXRJbmRleCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNsZWFyU2VsZWN0ZWRDaGlsZHJlbiBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlWYWx1ZSBjb25zdCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2RpbmcpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVybCk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzYWJsZSBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0YWJsZSBj
b25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzTXVsdGlTZWxl
Y3RhYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNW
aXNpYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNP
ZmZTY3JlZW4gY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0NvbGxhcHNlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzSWdub3JlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzU2luZ2xlTGluZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzTXVsdGlMaW5lIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aGFzUG9wdXAgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp0YWtlRm9jdXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
YWtlU2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRk
U2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3Zl
U2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZVRl
eHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJldmlvdXNUZXh0TWFya2VyKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRleHRNYXJrZXIpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJS
YW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJS
YW5nZUZvck1hcmtlcnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
dGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvckJvdW5kcyk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZv
ckJvdW5kcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJr
ZXJGb3JQb2ludCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vz
c2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlV2l0aE9wdGlvbnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRleEZvclRleHRNYXJr
ZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1RleHRNYXJrZXJW
YWxpZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJG
b3JJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4
dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRN
YXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3Rl
ZFRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNjcm9sbFRvTWFrZVZpc2libGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c2Nyb2xsVG9NYWtlVmlzaWJsZVdpdGhTdWJGb2N1cyk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1cHBvcnRlZEFjdGlvbnMgY29uc3QpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXRoRGVzY3JpcHRpb24gY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNj
cmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1h
dGhQcmVzY3JpcHRzRGVzY3JpcHRpb24gY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjbGFzc0xpc3QgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjaGFyYWN0ZXJBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OndvcmRBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmxpbmVBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNlbnRlbmNlQXRPZmZzZXQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpyZXBsYWNlVGV4dEluUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbnNlcnRUZXh0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cG9wdXBWYWx1ZSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Q
bGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25z
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6OmRlZmF1bHRzKToKKwogMjAyMS0wOS0x
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkgaXMgYWx3YXlzIHNraXBwZWQgaW4gdGhlIGJv
dHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNmViYTE0YTFhNzBjLi5l
YWY1OGE2OTk3NjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0zMiw3
ICszMiw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZVBhZ2UuaCIKICNpbmNsdWRlICJKU0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCi0j
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKSAmJiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8cGFsL3Nw
aS9jb2NvYS9BY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oPgogI2luY2x1ZGUgPHBhbC9zcGkvbWFj
L0hJU2VydmljZXNTUEkuaD4KICNlbmRpZgpAQCAtNjgsMTAgKzY4LDEyIEBAIHZvaWQgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OnNldElzb2xhdGVkVHJlZU1vZGUoYm9vbCBmbGFnKQogI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCiB2b2lkIEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2RlKCkKIHsKKyNpZiBQTEFURk9STShNQUMpCiAg
ICAgLy8gT3ZlcnJpZGUgdG8gc2V0IGlkZW50aWZpZXIgdG8gVm9pY2VPdmVyIHNvIHRoYXQgcmVx
dWVzdHMgYXJlIGhhbmRsZWQgaW4gaXNvbGF0ZWQgbW9kZS4KICAgICBfQVhTZXRDbGllbnRJZGVu
dGlmaWNhdGlvbk92ZXJyaWRlKG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUgPyAoQVhD
bGllbnRUeXBlKWtBWENsaWVudFR5cGVXZWJLaXRUZXN0aW5nIDoga0FYQ2xpZW50VHlwZU5vQWN0
aXZlUmVxdWVzdEZvdW5kKTsKICAgICBfQVhTU2V0SXNvbGF0ZWRUcmVlTW9kZShtX2FjY2Vzc2li
aWxpdHlJc29sYXRlZFRyZWVNb2RlID8gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgOiBB
WFNJc29sYXRlZFRyZWVNb2RlT2ZmKTsKICAgICBtX3VzZU1vY2tBWFRocmVhZCA9IFdLQWNjZXNz
aWJpbGl0eUNhblVzZVNlY29uZGFyeUFYVGhyZWFkKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5wYWdlKCktPnBhZ2UoKSk7CisjZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmNwcAppbmRleCAxODliYTlhMWI5YWYuLmVhNjQwMGJjNzI4YiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCkBAIC01NSwxMCArNTUsMTQgQEAgYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc1ZhbGlkKCkgY29uc3QKICAgICByZXR1cm4gbV9lbGVtZW50OyAg
ICAgICAgICAgIAogfQogCi0jaWYgIUVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaWYgIVBMQVRGT1JNKE1BQykKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJc29s
YXRlZE9iamVjdCgpIGNvbnN0CiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCBiMjNlNzE3Zjg2
MmEuLjNlNWUwY2VlNjlmZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTQ3LDYg
KzQ3LDExIEBAIHVzaW5nIFBsYXRmb3JtVUlFbGVtZW50ID0gaWQ7CiAjaW5jbHVkZSA8YXRrL2F0
ay5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KIHR5cGVkZWYgR1JlZlB0cjxBdGtP
YmplY3Q+IFBsYXRmb3JtVUlFbGVtZW50OworI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRTUEkpCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0
QXRzcGk7Cit9Cit0eXBlZGVmIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSogUGxh
dGZvcm1VSUVsZW1lbnQ7CiAjZWxzZQogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVVJRWxlbWVudDsK
ICNlbmRpZgpAQCAtNzEsNiArNzYsOCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICBpZCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQor
I2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCisgICAgUGxhdGZvcm1VSUVs
ZW1lbnQgcGxhdGZvcm1VSUVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1lbnQuZ2V0KCk7IH0KICNl
bHNlCiAgICAgUGxhdGZvcm1VSUVsZW1lbnQgcGxhdGZvcm1VSUVsZW1lbnQoKSB7IHJldHVybiBt
X2VsZW1lbnQ7IH0KICNlbmRpZgpAQCAtMzg5LDcgKzM5Niw3IEBAIHByaXZhdGU6CiAgICAgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxlbWVudCk7CiAgICAgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudChjb25zdCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Jik7CiAKLSNpZiAhUExBVEZP
Uk0oQ09DT0EpCisjaWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKEFUU1BJKQogICAgIFBsYXRm
b3JtVUlFbGVtZW50IG1fZWxlbWVudDsKICNlbmRpZgogCkBAIC00MTMsNiArNDIwLDggQEAgcHJp
dmF0ZToKIAogI2lmIFVTRShBVEspCiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25IYW5kbGVyPiBtX25vdGlmaWNhdGlvbkhhbmRsZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAg
UmVmUHRyPFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gbV9lbGVtZW50OwogI2Vu
ZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0
ay5jcHAKaW5kZXggOGMyYWRhYzE5MDA4Li5jMTI0ODgwNTliMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9s
bGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0
ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgogCi0j
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZS5oIgpAQCAtMTQ0LDQgKzE0NCw0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkKIAogfSAvLyBuYW1lc3BhY2UgV1RS
CiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCmluZGV4IGEyM2U3ODUxNzA3My4uNzlmNzc2ODRl
YWIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0
ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkhhbmRsZXJBdGsuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaCIKIAotI2lmIEhB
VkUoQUNDRVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRC
dW5kbGUuaCIKQEAgLTI3OCw0ICsyNzgsNCBAQCBib29sIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25IYW5kbGVyOjpkaXNjb25uZWN0QWNjZXNzaWJpbGl0eUNhbGxiYWNrcygpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhB
VkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5k
bGVyQXRrLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oCmluZGV4IGRhNWQ4ZWNkZGIwNi4uZDJj
Nzg0OWE5ZjU4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25IYW5kbGVyQXRrLmgKQEAgLTE5LDcgKzE5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4KICNpbmNsdWRlIDxh
dGsvYXRrLmg+CkBAIC01Myw0ICs1Myw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdU
UgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNT
SUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHAKaW5kZXggZDMyOTA5MDRhZjdhLi42NjNlZGU1MmE0ODEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgogCi0j
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKIAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVQYWdlLmgiCkBAIC0yMjk5LDQgKzIyOTksNCBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cG9wdXBWYWx1ZSgpIGNvbnN0CiAKIH0gLy8gbmFtZXNw
YWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhBVkUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdHNwaS5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uNzFkMzBmNDFkMThmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3Bp
LmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuaD4KKyNpbmNsdWRl
IDxXZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgorCituYW1lc3BhY2UgV1RSIHsKKwordm9p
ZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCit7Cit9
CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkKQoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnBsYXRmb3JtTmFtZSgpCit7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBs
YXRmb3JtTmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImF0c3BpIikp
OworICAgIHJldHVybiBwbGF0Zm9ybU5hbWU7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwg
SlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkKK3sKK30KKworUmVmPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCgpCit7
CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCku
cGFnZSgpLT5wYWdlKCk7CisgICAgYXV0byogZWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QocGFn
ZSkpOworCisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50
KTsKK30KKworUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpmb2N1c2VkRWxlbWVudCgpCit7CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmpl
Y3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CisgICAgYXV0byogZWxlbWVu
dCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KFdLQWNj
ZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QocGFnZSkpOworCisgICAgcmV0dXJuIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxi
YWNrKQoreworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXVFIKKworI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODlmZWNi
OTkyNWQzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCkBAIC0wLDAgKzEs
ODUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUg
IkluamVjdGVkQnVuZGxlUGFnZS5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5n
UmVmLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvT3BhcXVlSlNTdHJpbmcuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oPgorI2luY2x1ZGUgPFdlYktp
dC9XS0J1bmRsZUZyYW1lLmg+CisKK25hbWVzcGFjZSBXVFIgeworCitBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQp
CisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKK3sKK30KKworQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50JiBv
dGhlcikKKyAgICA6IEpTV3JhcHBhYmxlKCkKKyAgICAsIG1fZWxlbWVudChvdGhlci5tX2VsZW1l
bnQpCit7Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6On5BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50KCkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VxdWFsKEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQqIG90aGVyRWxlbWVudCkKK3sKKyAgICByZXR1cm4gbV9lbGVtZW50
LmdldCgpID09IG90aGVyRWxlbWVudC0+cGxhdGZvcm1VSUVsZW1lbnQoKTsKK30KKwordm9pZCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJlbihWZWN0b3I8UmVmUHRyPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+ID4mIGNoaWxkcmVuKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdlKFZlY3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gPiYgY2hpbGRyZW4sIHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5n
dGgpCit7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZHJlbkNvdW50KCkK
K3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KGludCB4LCBpbnQgeSkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKwordW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5kZXhPZkNoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpjaGlsZEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpsaW5rZWRVSUVsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYU93bnNFbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRl
eCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCh1
bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFDb250cm9sc0Vs
ZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZGlzY2xvc2VkUm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJvd0F0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKwordW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Vs
ZWN0ZWRDaGlsZHJlbkNvdW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRy
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVk
Um93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRp
dGxlVUlFbGVtZW50KCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQo
KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxl
bWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkQnlSb3coKQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6YXR0cmlidXRlc09mTGlua2VkVUlFbGVtZW50cygpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZEb2N1bWVudExp
bmtzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsK
K30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0
dHJpYnV0ZXNPZkNoaWxkcmVuKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0
ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRGVzY3JpcHRpb25PZkF0dHJpYnV0ZVZhbHVlKEpT
U3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
ZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0ZVZhbHVlKEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworSlNWYWx1ZVJlZiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRBcnJheUF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5n
UmVmIGF0dHJpYnV0ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNWYWx1
ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dIZWFkZXJzKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKworSlNWYWx1ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
b2x1bW5IZWFkZXJzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRy
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVu
dEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmli
dXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
KworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYXR0cmli
dXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmFtZXRlcml6ZWRBdHRyaWJ1dGVOYW1lcygpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlKCkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1YnJvbGUoKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZURlc2Ny
aXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNvbXB1dGVkUm9sZVN0cmluZygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp0aXRsZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpT
U3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdWYWx1ZSgpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsYW5ndWFnZSgpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisK
K2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4KCkKK3sKKyAgICByZXR1cm4gMDsKK30K
KworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnkoKQoreworICAgIHJldHVybiAwOwor
fQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d2lkdGgoKQoreworICAgIHJldHVy
biAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVpZ2h0KCkKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9p
bnRYKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNsaWNrUG9pbnRZKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
ZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1pblZhbHVlKCkKK3sKKyAgICByZXR1cm4g
MDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0
ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVt
ZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJs
ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc1JlcXVpcmVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RlZCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzU2VsZWN0ZWRPcHRpb25BY3RpdmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0V4cGFuZGVkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXND
aGVja2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNJbmRldGVybWluYXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoaWVyYXJjaGljYWxMZXZlbCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWtBcygpCit7CisgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXJpYUlzR3JhYmJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYURy
b3BFZmZlY3RzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVGb3JJbmRl
eChpbnQgaW5kZXgpCit7CisgICAgcmV0dXJuIC0xOworfQorCitKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5lKGludCBsaW5lKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3Np
dGlvbihpbnQgeCwgaW50IHkpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpib3VuZHNGb3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVu
Z3RoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Ry
aW5nRm9yUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdG
b3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCh1bnNpZ25l
ZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
dW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Q291bnRGb3JTZWFyY2hQ
cmVkaWNhdGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIHN0
YXJ0RWxlbWVudCwgYm9vbCBpc0RpcmVjdGlvbk5leHQsIEpTVmFsdWVSZWYgc2VhcmNoS2V5LCBK
U1N0cmluZ1JlZiBzZWFyY2hUZXh0LCBib29sIHZpc2libGVPbmx5LCBib29sIGltbWVkaWF0ZURl
c2NlbmRhbnRzT25seSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEZvclNlYXJjaFBy
ZWRpY2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogc3Rh
cnRFbGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwgSlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpT
U3RyaW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJsZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVz
Y2VuZGFudHNPbmx5KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0VGV4dFdpdGhDcml0ZXJp
YShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNTdHJpbmdSZWYgYW1iaWd1aXR5UmVzb2x1dGlvbiwg
SlNWYWx1ZVJlZiBzZWFyY2hTdHJpbmdzLCBKU1N0cmluZ1JlZiByZXBsYWNlbWVudFN0cmluZywg
SlNTdHJpbmdSZWYgYWN0aXZpdHkpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZD
b2x1bW5IZWFkZXJzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd0hlYWRlcnMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucygpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dzKCkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0
ZXNPZlZpc2libGVDZWxscygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cm93Q291bnQoKQoreworICAgIHJldHVybiAwOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6Y29sdW1uQ291bnQoKQoreworICAgIHJldHVybiAwOworfQorCitpbnQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dJbmRl
eFJhbmdlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNvbHVtbkluZGV4UmFuZ2UoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2wsIHVuc2ln
bmVkIHJvdykKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhvcml6b250YWxTY3JvbGxiYXIo
KSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmVydGljYWxTY3JvbGxiYXIoKSBj
b25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRUZXh0UmFuZ2UoKQoreworICAgIHJl
dHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dFJhbmdlKHVuc2lnbmVkIGxvY2F0aW9u
LCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVudCgpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZGVjcmVtZW50KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzaG93TWVudSgpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJl
c3MoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hp
bGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkgY29uc3QKK3sKK30KKwordm9pZCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkQXRJbmRleCh1bnNpZ25lZCBp
bmRleCkgY29uc3QKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVT
ZWxlY3Rpb25BdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNsZWFyU2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0Cit7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3Np
YmlsaXR5VmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSgpCit7CisgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1cmwoKQoreworICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYgZnVuY3Rpb25DYWxsYmFj
aykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQoreworICAgIHJldHVybiB0cnVlOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxl
Y3RhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFibGUoKSBjb25zdAoreworICAgIHJldHVybiBm
YWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc09mZlNjcmVlbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29sbGFwc2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJZ25vcmVkKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNTaW5nbGVMaW5lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aUxpbmUoKSBjb25zdAoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNQb3B1cCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnRha2VGb2N1cygpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGFr
ZVNlbGVjdGlvbigpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRkU2Vs
ZWN0aW9uKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxl
Y3Rpb24oKQoreworfQorCisvLyBUZXh0IG1hcmtlcnMKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lVGV4dE1hcmtlclJhbmdl
Rm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUxlbmd0aChBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
UmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
cmV2aW91c1RleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
cj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0
TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogbWFya2VyUmFuZ2UpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRl
eHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSwg
SlNTdHJpbmdSZWYgc2VhcmNoVGV4dCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
ciogZW5kTWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNz
aWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtl
ckZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJh
bmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JCb3VuZHMoaW50IHgsIGludCB5LCBpbnQgd2lk
dGgsIGludCBoZWlnaHQpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFy
a2VyRm9yQm91bmRzKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JQb2ludChpbnQgeCwgaW50IHkpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3NpYmlsaXR5RWxlbWVudEZvclRleHRNYXJr
ZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXJSYW5nZSopCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlV2l0aE9wdGlvbnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSosIGJvb2wp
Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZUNvbnRhaW5zQXR0cmlidXRlKEpT
U3RyaW5nUmVmIGF0dHJpYnV0ZSwgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2Up
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5kZXhGb3JUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBtYXJrZXIpCit7Cisg
ICAgcmV0dXJuIC0xOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1h
cmtlclZhbGlkKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9ySW5kZXgoaW50IHRleHRJbmRleCkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXIoKQoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIoKQoreworICAgIHJldHVybiBudWxscHRyOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdl
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
Kwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlKCkKK3sK
K30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KGlu
dCB4LCBpbnQgeSkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxU
b01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KQoreworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c3VwcG9ydGVkQWN0aW9ucygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXRo
RGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFBvc3RzY3JpcHRz
RGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNE
ZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGFzc0xpc3QoKSBjb25z
dAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hhcmFjdGVyQXRPZmZzZXQoaW50IG9mZnNldCkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OndvcmRBdE9mZnNl
dChpbnQgb2Zmc2V0KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6bGluZUF0T2Zmc2V0KGludCBvZmZzZXQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZW50ZW5jZUF0T2Zmc2V0KGludCBvZmZzZXQpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVwbGFjZVRleHRJblJhbmdlKEpTU3RyaW5nUmVmLCBp
bnQsIGludCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aW5zZXJ0VGV4dChKU1N0cmluZ1JlZikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1
cFZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV1RSCisKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDZmODM2NmI2M2U0My4u
ODk2MmU2NDVlOWE5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UK
QEAgLTQwLDYgKzQwLDkgQEAgbGlzdChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVu
ZGxlX1NPVVJDRVMKICAgICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXJBdGsuY3BwCiAgICAgSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwCiAKKyAgICBJbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlckF0c3BpLmNwcAorICAgIEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRBdHNwaS5jcHAKKwogICAgIEluamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZv
bnRzR3RrLmNwcAogICAgIEluamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAK
ICAgICBJbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCmluZGV4IDhlMmE3Zjg4OGMwZC4uYTU2MzU2
MGUwY2NhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcApAQCAtODgsNiAr
ODgsOSBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiAgICAg
ICAgICAgICB7ICJJbnB1dFR5cGVNb250aEVuYWJsZWQiLCB0cnVlIH0sCiAgICAgICAgICAgICB7
ICJJbnB1dFR5cGVUaW1lRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIklucHV0VHlw
ZVdlZWtFbmFibGVkIiwgdHJ1ZSB9LAorI2lmIFVTRShBVFNQSSkKKyAgICAgICAgICAgIHsgIklz
QWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQiLCB0cnVlIH0sCisjZW5kaWYKICAgICAg
ICAgICAgIHsgIkphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQiLCB0cnVlIH0sCiAgICAgICAg
ICAgICB7ICJKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5IiwgdHJ1ZSB9LAog
ICAgICAgICAgICAgeyAiTGFyZ2VJbWFnZUFzeW5jRGVjb2RpbmdFbmFibGVkIiwgZmFsc2UgfSwK
</data>
<flag name="commit-queue"
          id="461430"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438127</attachid>
            <date>2021-09-14 06:27:02 -0700</date>
            <delta_ts>2021-09-14 06:47:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-atspi.diff</filename>
            <type>text/plain</type>
            <size>100379</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4YTBhNmEwNDExMWYuLjNi
MzE5ZTM3ZGQwYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTMgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIHRvIGEgcnVudGltZSBm
bGFnLCBzdGFydCBydW5uaW5nIHRlc3RzIGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNiMmU1NjhkOTUzZS4uMzlkZGNl
ZDgxNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBi
dWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdp
dGggQVRTUEkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKIDIwMjEtMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHRoYXQgdXNlcyBQQ00gZGFlbW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDlkM2NjZTk3YzA4NS4uNjk2NjJiYmI5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA3OCw2ICsxMDc4
LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgICBXZWJLaXRMZWdh
Y3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAgICJVU0UoQVRTUEkp
IjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVs
dDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxM2Q3YWNkMTk0NjUuLmQ3MDJiN2U1ZTQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBv
cHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0aW9uIGFuZCBzZXZl
cmFsIGJ1aWxkIGZpeGVzIHdoZW4gQVRLIGlzIGRpc2FibGVkIGFuZCBpc29sYXRlZCB0cmVlIGVu
YWJsZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Vz
R1RLLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmluaXRpYWxpemVTZWNvbmRhcnlB
WFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1c2VkT25BWFRocmVh
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hN
YXRjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdy
YXBwZXIpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHA6CisgICAgICAgICogZWRpdGluZy9hdHNw
aS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5h
YmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1
Li5hOGEwMWYwNmViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0
KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9hdHNwaSIKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BhZ2UvZ3RrIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRh
IgpAQCAtNTMsNiArNTQsOCBAQCBpZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxp
c3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fk
d2FpdGEvU2Nyb2xsYmFyVGhlbWVBZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGlj
YXRpb25HTGliLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMx
MmVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaS5jcHAKK2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0
c3BpLmNwcAorCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2Jq
ZWN0QXRzcGkuY3BwCisKIGVkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0
ay5jcHAKIGVkaXRpbmcvZ3RrL1dlYkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDg5ZjhhNjViMTVm
ZS4uOTY4NzU5NGE4ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTc3MCw5ICs3NzAsMTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogYm9vbCBBWE9iamVjdENhY2hlOjpj
bGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSgpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKICAgICBhdXRvIGNsaWVudCA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVz
dGVkKCk7CiAgICAgcmV0dXJuIGNsaWVudCA9PSBrQVhDbGllbnRUeXBlVm9pY2VPdmVyCiAgICAg
ICAgIHx8IFVOTElLRUxZKGNsaWVudCA9PSBrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyk7Cisj
ZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCiB9CiAKIGJvb2wgQVhPYmplY3RDYWNoZTo6
aXNJc29sYXRlZFRyZWVFbmFibGVkKCkKQEAgLTc4MSw2ICs3ODUsNyBAQCBib29sIEFYT2JqZWN0
Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgpCiAgICAgaWYgKGVuYWJsZWQpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBpZiAoIWlz
TWFpblRocmVhZCgpKSB7CiAgICAgICAgIEFTU0VSVChfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCkpOwogICAgICAgICBlbmFibGVkID0gdHJ1ZTsKQEAgLTc5
MCw2ICs3OTUsOSBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgp
CiAgICAgICAgICAgICAmJiBfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkgIT0gQVhTSXNvbGF0
ZWRUcmVlTW9kZU9mZiAvLyBVc2VkIHRvIHN3aXRjaCB2aWEgc3lzdGVtIGRlZmF1bHRzLgogICAg
ICAgICAgICAgJiYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKICAgICB9CisjZWxzZQor
ICAgIGVuYWJsZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KQEAg
LTgxMywxMCArODIxLDEyIEBAIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVj
dCgpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aW5pdGlhbGl6ZVNlY29uZGFyeUFYVGhyZWFkKCkK
IHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUg
Y3JlYXRlZCBvdXIgdHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKICAgICAv
LyBzbyBmdXR1cmUgcmVxdWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgogICAgIGlm
IChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9uSXNBdmFpbGFibGUoKSAmJiBfQVhTSXNvbGF0
ZWRUcmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCkK
ICAgICAgICAgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQodHJ1ZSk7CisjZW5kaWYK
IH0KIAogUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZUlz
b2xhdGVkVHJlZSgpIGNvbnN0CkBAIC04NDgsOCArODU4LDE0IEBAIEFYQ29yZU9iamVjdCogQVhP
YmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpCiBib29sIEFYT2JqZWN0Q2FjaGU6
OnVzZWRPbkFYVGhyZWFkKCkKIHsKICAgICBBU1NFUlQoaXNJc29sYXRlZFRyZWVFbmFibGVkKCkp
OworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAgICAgcmV0dXJuIF9BWFNJc29sYXRlZFRy
ZWVNb2RlRnVuY3Rpb25Jc0F2YWlsYWJsZSgpCiAgICAgICAgICYmIF9BWFNJc29sYXRlZFRyZWVN
b2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkOworI2VsaWYg
VVNFKEFUU1BJKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjNmY5OWZhYWI0YTUuLjJlMTYzZDMzNDYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0zNzgyLDcgKzM3ODIsMTQgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGV4dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxp
dHkKIHsKICAgICBpZiAoIWF4T2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIGF4T2JqZWN0LT5jb250YWluc1RleHQoY3JpdGVyaWEuc2VhcmNoVGV4dCk7CisKKyAgICAv
LyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgorICAgIGlmIChjcml0ZXJpYS5zZWFy
Y2hUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY29u
dGFpbnNQbGFpblRleHQoYXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENh
c2VJbnNlbnNpdGl2ZSkKKyAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpCisgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT5zdHJpbmdWYWx1
ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwogfQogCiBzdGF0aWMg
Ym9vbCBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRoUmVzdWx0TGltaXQoQVhDb3JlT2Jq
ZWN0KiBvYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEs
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAppbmRleCAyMTY4NDU0OGJhNDMuLjg1NmFlZjliMTZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IlNpbXBsZVJhbmdlLmgiCisjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KQEAgLTQyLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAiQ09NUHRyLmgiCiAj
ZW5kaWYKIAorI2lmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFUSykKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTUyLDYgKzU3LDggQEAgdHlwZWRlZiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIHR5cGVkZWYgc3RydWN0IF9O
U1JhbmdlIE5TUmFuZ2U7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0FYVGV4dE1hcmtlciogQVhU
ZXh0TWFya2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXJSYW5nZSog
QVhUZXh0TWFya2VyUmFuZ2VSZWY7CisjZWxpZiBVU0UoQVRTUEkpCit0eXBlZGVmIFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKICNl
bGlmIFVTRShBVEspCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0QWNjZXNzaWJsZSBXZWJLaXRBY2Nl
c3NpYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEFjY2Vzc2libGUgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CkBAIC0xMTI2LDE0ICsxMTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0aXRsZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgp
IGNvbnN0ID0gMDsKLSAgICBib29sIGNvbnRhaW5zVGV4dChTdHJpbmcgY29uc3QmIHRleHQpIGNv
bnN0Ci0gICAgewotICAgICAgICAvLyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgot
ICAgICAgICByZXR1cm4gdGV4dC5pc0VtcHR5KCkKLSAgICAgICAgICAgIHx8IGNvbnRhaW5zUGxh
aW5UZXh0KHRpdGxlKCksIHRleHQsIENhc2VJbnNlbnNpdGl2ZSkKLSAgICAgICAgICAgIHx8IGNv
bnRhaW5zUGxhaW5UZXh0KGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCB0ZXh0LCBDYXNlSW5z
ZW5zaXRpdmUpCi0gICAgICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChzdHJpbmdWYWx1ZSgp
LCB0ZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwotICAgIH0KIAogICAgIC8vIE1ldGhvZHMgZm9yIGRl
dGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIGJvb2wgaXNBUklBU3Rh
dGljVGV4dCgpIGNvbnN0ID0gMDsKQEAgLTE1MTQsNiArMTUxMyw4IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgQ09NUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBt
X3dyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV93cmFwcGVyOwogI2VsaWYgVVNFKEFUSykKICAgICBHUmVmUHRyPFdlYktpdEFj
Y2Vzc2libGU+IG1fd3JhcHBlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA3Yjg3MjdkYzJmMjcu
LjJiMWMzNDAyMTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDg1ZDJhZGFlY2Q5NS4uNDM0YmY1
MGNjNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQorCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCkBAIC0zMiw4ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCkBA
IC0yMDYsNCArMjA2LDQgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2V0TGVuZ3Ro
Rm9yVGV4dFJhbmdlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGUuY3BwCmluZGV4IDg2YzMwY2RkNjY2My4uYzk2YzJjMmZiYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC0xMzgyLDQgKzEzODIs
NCBAQCBjb25zdCBjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eShXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYgogICAgIHJldHVybiAoKnByb3BlcnR5UHRyKS5k
YXRhKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaAppbmRleCA3MmUxMTY1MWI3ZTku
LmVmOTIzNmE3M2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGUuaApAQCAtMjIsNyArMjIsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtODUsNCArODUsNCBAQCBib29sIHdlYmtpdEFjY2Vzc2libGVJc0RldGFj
aGVkKFdlYktpdEFjY2Vzc2libGUqKTsKIAogY29uc3QgY2hhciogd2Via2l0QWNjZXNzaWJsZUNh
Y2hlQW5kUmV0dXJuQXRrUHJvcGVydHkoV2ViS2l0QWNjZXNzaWJsZSosIEF0a0NhY2hlZFByb3Bl
cnR5LCBDU3RyaW5nJiYpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsuY3BwCmluZGV4IDA1Y2JkNmZlNzUxZC4uYzQwZjcyYzJjOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
QEAgLTMxMyw0ICszMTMsNCBAQCBXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rKiB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rR2V0T3JDcmVhdGUoQXRrSHlwZXJsaW5rSW1wbAogICAgIHJldHVybiBo
eXBlcmxpbms7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsu
aAppbmRleCA3OTk2YjBhNDRlYzMuLjE5ZmE5YzFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxp
bmsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSA8YXRrL2F0ay5oPgogCkBAIC01Miw0ICs1Miw0IEBAIFdlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBlcmxpbmtJ
bXBsCiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VB
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5jcHAKaW5kZXggY2EyM2FkZmQ3MWE3Li4xNGViNTc5ODg2YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUFjdGlvbi5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VBY3Rpb24uaAppbmRleCA2NzE4YjE0MGU2ZmIuLjAyZDc1OTZkOTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNj
ZXNzaWJsZUFjdGlvbkludGVyZmFjZUluaXQoQXRrQWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApp
bmRleCBiN2ZlNTViZmU0MzguLjk4NDU3YWFkZjA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTE2OSw0ICsxNjksNCBAQCB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21w
b25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKICNlbmRpZgogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9u
ZW50LmgKaW5kZXggOTY5MjNjNWE2OGMxLi43ZGFmMzQ3YzQ0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21w
b25lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKik7CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQu
Y3BwCmluZGV4IDJiMzEzYTBiMWJhNC4uN2YwYjVhMDA1NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCmluZGV4
IGM5NDhkMTk3NmViYS4uNmJlYWFlZDM5NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRG9jdW1lbnQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZURvY3Vt
ZW50SW50ZXJmYWNlSW5pdChBdGtEb2N1bWVudElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKaW5k
ZXggYWM3OTM4M2I4NjAzLi40OTRlYjAwMTgyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJs
ZVRleHQuaAppbmRleCA1ODQ1MGU0MTllZGQuLmVmNWY3ZDI2OWJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUVkaXRhYmxlVGV4dEludGVyZmFjZUluaXQoQXRrRWRpdGFibGVUZXh0
SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVybGlua0ltcGwuY3BwCmluZGV4IDJmYzRlMTk0MDhlNy4uNmE4ZWRkNDk2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oIgogCkBAIC0zNCw0ICszNCw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlu
a0ltcGxJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9oeXBlcmxpbmsgPSB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rSW1wbEdldEh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgKaW5kZXgg
YmM3ZWMxNzAzNzY0Li4yMDkyYmY3Yzk3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaApAQCAtMTksMTAgKzE5LDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlua0ltcGxJZmFjZSopOwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuY3BwCmluZGV4IGE3OGQ4ODMyYWE0ZC4uNTIzYmFiOTZmMGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
SHlwZXJ0ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaAppbmRleCA1NDhjZDYwOGE0NmYuLmMzZjYxMzg1ZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUh5cGVydGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaApAQCAtMTksMTAgKzE5LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUh5cGVydGV4dEludGVyZmFjZUluaXQoQXRrSHlwZXJ0ZXh0SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKaW5kZXggNjMzYzk3MGQwZTQxLi4yODYwNjAyNzE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUltYWdlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaAppbmRleCA0ZDljZTQwOTczZTUu
LjBkNWQ4Y2ViMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVJbWFnZUludGVyZmFjZUluaXQoQXRrSW1h
Z2VJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uY3BwCmluZGV4IDZlYTU3MDgxMzdiNC4uODZhMTk5OGNiY2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKaW5kZXggMmI5OTFkMjNiYTkwLi5jNTMzNGIz
YTIzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZWxlY3Rpb25JbnRlcmZhY2VJbml0KEF0
a1NlbGVjdGlvbklmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IDYyNmM3Mjc3NDUxNy4uZTVlZWM1YzViMWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5oCmluZGV4IDRlZmMyYjIwYTFlNy4uZjQyYjVjZmQ2YjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVRhYmxlSW50ZXJmYWNlSW5pdChBdGtUYWJsZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKaW5kZXgg
Mjg5ZDNhNzAxNWRmLi44NmU3YTc1ODY1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVRhYmxlLmgiCkBAIC0xNTMsNCArMTUzLDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxl
VGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSogaWZhY2UpCiAgICAgaWZh
Y2UtPmdldF90YWJsZSA9IHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxHZXRUYWJsZTsKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2Vs
bC5oCmluZGV4IDJiYmM3MzczMDVlMS4uZjJkNzAzNGU0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oCkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nl
c3NpYmxlVGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSopOwogCi0jZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5kZXgg
MDgxZmE4YzM2MWIwLi4wYTg2ZDQ0M2Q1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGV4dC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGV4dC5oCmluZGV4IDExMjk1NWY0MGRmMC4uZWMyYWFlM2MyOWI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdl
YmtpdEFjY2Vzc2libGVUZXh0SW50ZXJmYWNlSW5pdChBdGtUZXh0SWZhY2UqKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXgg
MDRlZTg5MDM5YWZhLi4wODI1OWQ5OWYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVZhbHVlLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCmluZGV4IDM2OTZjYjBiODlkZC4uZDExZDVlODFl
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaApAQCAtMTksMTAgKzE5LDEw
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAK
IHZvaWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKik7
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCBkOWRjZGE5MDhm
MmUuLmIzZjg3NmQyNDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuaAppbmRleCBhMmZhY2FmODUyOGQuLmY1NDkzMDJm
ZTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCkBAIC0yMSw3ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpWaXNpYmxlU2VsCiAKIFdl
YkNvcmU6OkFYQ29yZU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0T2Zmc2V0VW5pZ25vcmVk
KFdlYkNvcmU6OkFYQ29yZU9iamVjdCosIGludCYgb2Zmc2V0KTsKIAotI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9i
amVjdENhY2hlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
WE9iamVjdENhY2hlQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uN2M0NDZkMDM2Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmpl
Y3QsIEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKK3sKK30KKwor
dm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmplY3Qp
Cit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNo
ZVVwZGF0ZSgpCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1O
b3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFRleHRDaGFuZ2UgdGV4
dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcmIHRleHQpCit7Cit9CisKK3Zv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIEFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudCkK
K3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0Zm9ybUhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKE5vZGUqIG9sZEZvY3VzZWROb2RlLCBOb2RlKiBuZXdGb2N1c2VkTm9kZSkKK3sK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDU4YjhiMDY2NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpjcmVhdGUoQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0KQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaShjb3Jl
T2JqZWN0KSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpKEFYQ29yZU9iamVjdCopCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRh
Y2htZW50VHlwZSkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVsdEJlaGF2aW9yOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZmYyMTQ0NWEwODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1
ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFYQ29yZU9iamVjdDsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKKyAgICB+QWNjZXNzaWJpbGl0
eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaShBWENvcmVPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGIwYmNmNTUyNjBmYS4uNGI4ZTYyODAx
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNzEsMTEgKzcxLDE1IEBAIHZv
aWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpCb3Vu
ZGluZ0JveFJlY3QsIG9iamVjdC5ib3VuZGluZ0JveFJlY3QoKSk7CisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uLCBvYmplY3Qu
ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRpZgogICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCwgb2JqZWN0LmVsZW1lbnRS
ZWN0KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cs
IG9iamVjdC5oYXNBUklBVmFsdWVOb3coKSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwg
b2JqZWN0Lmhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0
eShBWFByb3BlcnR5TmFtZTo6SGVscFRleHQsIG9iamVjdC5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQsIG9iamVjdC5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIsIG9iamVjdC5pc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250
YWluZXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKQEAgLTEzNywxMSArMTQxLDE1IEBAIHZvaWQgQVhJc29s
YXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlw
dGlvbiwgb2JqZWN0LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Qucm9sZVBs
YXRmb3JtU3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKS5pc29sYXRlZENvcHko
KSk7CisjZW5kaWYKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3VwcG9ydHNEYXRl
dGltZUF0dHJpYnV0ZSwgb2JqZWN0LnN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUm93Q291bnRDaGFuZ2UsIG9iamVj
dC5zdXBwb3J0c1Jvd0NvdW50Q2hhbmdlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUaXRsZUF0dHJpYnV0ZVZh
bHVlLCBvYmplY3QudGl0bGVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRp
ZgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVl
LCBvYmplY3QuZGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5j
YW5TZXRGb2N1c0F0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0
ZXMoKSk7CkBAIC00MDQsNyArNDEyLDkgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jvb3QKIAogICAg
IGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2JqZWN0KCkpOworI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UHJldmVudEtleWJvYXJkRE9NRXZl
bnREaXNwYXRjaCwgb2JqZWN0LnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSk7Cisj
ZW5kaWYKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlc3Npb25JRCwgb2Jq
ZWN0LnNlc3Npb25JRCgpKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRv
Y3VtZW50VVJJLCBvYmplY3QuZG9jdW1lbnRVUkkoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEb2N1bWVudEVuY29kaW5nLCBvYmplY3QuZG9j
dW1lbnRFbmNvZGluZygpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTUxNCw4ICs1MjQsMTIgQEAgdm9p
ZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIAogY29uc3QgQVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxk
cmVuKGJvb2wpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBBU1NFUlQoX0FY
U0lzb2xhdGVkVHJlZU1vZGVGdW5jdGlvbklzQXZhaWxhYmxlKCkgJiYgKChfQVhTSXNvbGF0ZWRU
cmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCAmJiAh
aXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHx8IChfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkg
PT0gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpKSk7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisjZW5kaWYKICAg
ICB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICBtX2NoaWxkcmVuLmNsZWFyKCk7CiAgICAgbV9j
aGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2hpbGRyZW5JRHMuc2l6ZSgpKTsKQEAg
LTYwMywxMiArNjE3LDE0IEBAIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVudFVSSSgp
IGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCiBi
b29sIEFYSXNvbGF0ZWRPYmplY3Q6OnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSBj
b25zdAogewogICAgIGlmIChhdXRvIHJvb3QgPSB0cmVlKCktPnJvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiByb290LT5ib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlByZXZlbnRL
ZXlib2FyZERPTUV2ZW50RGlzcGF0Y2gpOwogICAgIHJldHVybiBmYWxzZTsKIH0KKyNlbmRpZgog
CiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6ZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0CiB7CkBA
IC03NzEsMTIgKzc4NywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKGJvb2wgdmFsdWUpCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQog
dm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
KGJvb2wgdmFsdWUpCiB7CiAgICAgcGVyZm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFsmdmFsdWVd
KEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CiAgICAgICAgIG9iamVjdC0+c2V0UHJldmVudEtleWJv
YXJkRE9NRXZlbnREaXNwYXRjaCh2YWx1ZSk7CiAgICAgfSk7CiB9CisjZW5kaWYKIAogU1JHQkE8
dWludDhfdD4gQVhJc29sYXRlZE9iamVjdDo6Y29sb3JWYWx1ZSgpIGNvbnN0CiB7CkBAIC0xMTY3
LDYgKzExODUsNyBAQCBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydEZyYW1lVG9T
cGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEFjY2Vzc2liaQogICAgIH0pOwogfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCiBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydFJlY3RU
b1BsYXRmb3JtU3BhY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBBY2Nlc3NpYmlsaXR5Q29udmVy
c2lvblNwYWNlIHNwYWNlKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8RmxvYXRSZWN0PihbJnJlY3QsICZzcGFjZSwgdGhpc10g
KCkgLT4gRmxvYXRSZWN0IHsKQEAgLTExNzUsNiArMTE5NCw3IEBAIEZsb2F0UmVjdCBBWElzb2xh
dGVkT2JqZWN0Ojpjb252ZXJ0UmVjdFRvUGxhdGZvcm1TcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEFjCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSk7CiB9CisjZW5kaWYKIAogYm9vbCBB
WElzb2xhdGVkT2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UoY29uc3QgU3RyaW5nJiByZXBsYWNl
bWVudFRleHQsIGNvbnN0IFBsYWluVGV4dFJhbmdlJiB0ZXh0UmFuZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmgKaW5kZXggNmZiMWFkYWM4ZGFlLi5jNWMxOTM4YjY3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTMyMCwxMSArMzIwLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c0Fub255bW91c01hdGhPcGVyYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBbm9ueW1vdXNNYXRoT3BlcmF0b3IpOyB9CiAg
ICAgdm9pZCBtYXRoUHJlc2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcnMm
KSBvdmVycmlkZTsKICAgICB2b2lkIG1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11
bHRpc2NyaXB0UGFpcnMmKSBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGZpbGVVcGxvYWRCdXR0b25SZXR1cm5zVmFsdWVJblRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpGaWxlVXBsb2FkQnV0dG9u
UmV0dXJuc1ZhbHVlSW5UaXRsZSk7IH0KICAgICBTdHJpbmcgc3BlZWNoSGludEF0dHJpYnV0ZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlNwZWVjaEhpbnQpOyB9CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uQXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6RGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGhlbHBUZXh0QXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQpOyB9CiAgICAgU3RyaW5nIHRpdGxlQXR0cmlidXRlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6VGl0bGVBdHRyaWJ1dGVWYWx1ZSk7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBib29sIGNhcmV0QnJvd3NpbmdFbmFibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYXJldEJyb3dzaW5nRW5hYmxlZCk7
IH0KICNlbmRpZgpAQCAtMzY5LDcgKzM3MSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc2Vz
c2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50VVJJKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlz
cGF0Y2goKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gUGxhaW5UZXh0UmFuZ2Ug
c3VwcG9ydC4KICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDQ0LDcgKzQ0OCw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgc2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CiAjZW5kaWYK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFByZXZlbnRLZXlib2FyZERPTUV2ZW50
RGlzcGF0Y2goYm9vbCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIFN0cmluZyB0ZXh0VW5kZXJF
bGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSA9IEFjY2Vzc2liaWxpdHlU
ZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgQWNjZXNz
aWJpbGl0eVNlYXJjaERpcmVjdGlvbikgY29uc3Qgb3ZlcnJpZGU7CkBAIC02MzQsNyArNjQwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG92ZXJyaWRlQXR0YWNobWVudFBhcmVudChBWENvcmVPYmpl
Y3QqIHBhcmVudCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6SGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKTsgfQorI2VuZGlmCiAgICAgY29u
c3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcoYm9vbCBpbmNsdWRlU2VsZikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiB3
ZWJBcmVhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gb2JqZWN0QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDdjMzQ2OTY3OTdhYi4uY2Y0Mjg2MjM5ZjY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTM0Myw3ICszNDMsMTEgQEAgcHVibGljOgogCiAgICAg
c3RydWN0IE5vZGVDaGFuZ2UgewogICAgICAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4gaXNvbGF0
ZWRPYmplY3Q7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIFJldGFpblB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICAgICAg
UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyOworI2VuZGlmCiAgICAg
fTsKIAogICAgIHZvaWQgZ2VuZXJhdGVTdWJ0cmVlKEFYQ29yZU9iamVjdCYsIEFYQ29yZU9iamVj
dCosIGJvb2wgYXR0YWNoV3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvYXRzcGkvQVhJc29sYXRl
ZE9iamVjdEF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjA2Nzg2NTVjZTllYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRPYmplY3RBdHNwaS5jcHAKQEAgLTAs
MCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZE9iamVjdC5oIgorCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQg
QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVBsYXRmb3JtUHJvcGVydGllcyhjb25zdCBBWENv
cmVPYmplY3QmKQoreworfQorCit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3Jt
V3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcikKK3sKKyAgICBzZXRX
cmFwcGVyKHdyYXBwZXIpOworfQorCit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCBiNGMxMDk5NTcyMDAuLjRjYmY1YTMwOTE1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaApAQCAtMzc1LDcgKzM3NSw3IEBAIGlu
bGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpjbGVhclR5cGluZ1N0eWxlKCkKICAgICBtX3R5cGlu
Z1N0eWxlID0gbnVsbHB0cjsKIH0KIAotI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQ
TEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykpKQorI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykgfHwgVVNFKEFUU1BJKSkpCiAKIGlubGlu
ZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hh
bmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAppbmRleCA5NzM0YjY4YTRmNjUu
LmQyNjE0OWY2NWIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJh
bWVTZWxlY3Rpb25BdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1l
U2VsZWN0aW9uQXRrLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtMTE2LDQgKzExNiw0IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2Uo
Y29uc3QgQVhUZXh0U3RhdGVDaGFuCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdHNwaS9G
cmFtZVNlbGVjdGlvbkF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJh
bWVTZWxlY3Rpb25BdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi40OTlmZDE5ODQyYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3ZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxl
Y3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmKQoreworICAgIGlmICgh
QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDU2NDNm
ZjhmZmZhNy4uNjJjY2MzYjM2MTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0y
NjksNiArMjY5LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgdHlw
ZTogYm9vbAogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToKKyAgICAgIFVTRShBVFNQSSk6
IHRydWUKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKIElzUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdl
TWVhc3VyZW1lbnRFbmFibGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cg
Yi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhYmE3Mjk5NTNkM2QuLjBjYjNmNWQ5NjA0
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktp
dC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBD
YW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEg
YnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBVFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUpOiBBZGQg
QVRLIGlmZGVmLgorICAgICAgICAqIFdlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW4pOiBEaXNhYmxlIEFUSy9HVEsgYWNj
ZXNzaWJpbGl0eSBzdXBwb3J0IGluIHRoZSBXZWJQcm9jZXNzIHdoZW4gdXNpbmcgQVRTUEkuCisK
IDIwMjEtMDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgog
CiAgICAgICAgIFJFR1JFU1NJT04ocjI3NDkyOSk6IFtDb29yZGluYXRlZEdyYXBoaWNzXSBEcmF3
aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBp
cyBubyBsb25nZXIgdXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCmluZGV4IGVjMDc5ZjdiNmQwZS4uYzA1MTRjMGRjOGEyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0
ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VH
dGsuY3BwCkBAIC01Niw3ICs1Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lk
IFdlYlBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiB7Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAgICAgLy8gQ3JlYXRl
IHRoZSBhY2Nlc3NpYmxlIG9iamVjdCAodGhlIHBsdWcpIHRoYXQgd2lsbCBzZXJ2ZSBhcyB0aGUK
ICAgICAvLyBlbnRyeSBwb2ludCB0byB0aGUgV2ViIHByb2Nlc3MsIGFuZCBzZW5kIGEgbWVzc2Fn
ZSB0byB0aGUgVUkKICAgICAvLyBwcm9jZXNzIHRvIGNvbm5lY3QgdGhlIHR3byB3b3JsZHMgdGhy
b3VnaCB0aGUgYWNjZXNzaWJpbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Z3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAppbmRleCAzNjQzZWU5NTllNWUuLmVlYWVhYmRmODQ2
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFp
bkd0ay5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFp
bkd0ay5jcHAKQEAgLTcxLDYgKzcxLDE1IEBAIHB1YmxpYzoKIAogaW50IFdlYlByb2Nlc3NNYWlu
KGludCBhcmdjLCBjaGFyKiogYXJndikKIHsKKyNpZiBVU0UoQVRTUEkpCisgICAgLy8gRGlzYWJs
ZSBBVEsvR1RLIGFjY2Vzc2liaWxpdHkgc3VwcG9ydCBpbiB0aGUgV2ViUHJvY2Vzcy4KKyNpZiBV
U0UoR1RLNCkKKyAgICBnX3NldGVudigiR1RLX0ExMVkiLCAibm9uZSIsIFRSVUUpOworI2Vsc2UK
KyAgICBnX3NldGVudigiTk9fQVRfQlJJREdFIiwgIjEiLCBUUlVFKTsKKyNlbmRpZgorI2VuZGlm
CisKICAgICAvLyBJZ25vcmUgdGhlIEdUS19USEVNRSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhl
IHRoZW1lIGlzIGFsd2F5cyBzZXQgYnkgdGhlIFVJIHByb2Nlc3Mgbm93LgogICAgIC8vIFRoaXMg
Y2FsbCBuZWVkcyB0byBoYXBwZW4gYmVmb3JlIGFueSB0aHJlYWRzIGJlZ2luIGV4ZWN1dGlvbgog
ICAgIHVuc2V0ZW52KCJHVEtfVEhFTUUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRp
b25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggMDUyOGE0
OWEzY2ZkLi5kMzEyZDRkZGFjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0zMCw3ICszMCw2
IEBAIGZpbmRfcGFja2FnZShPcGVuR0xFUzIpCiAKIGluY2x1ZGUoR1N0cmVhbWVyRGVmaW5pdGlv
bnMpCiAKLVNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9BVEsgVFJVRSkKIFNFVF9BTkRfRVhQ
T1NFX1RPX0JVSUxEKFVTRV9DQUlSTyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNF
X1hER01JTUUgVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9HQ1JZUFQgVFJVRSkK
QEAgLTc2LDYgKzc1LDcgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1dQRV9SRU5ERVJFUiAi
V2hldGhlciB0byBlbmFibGUgV1BFIHJlbmRlcmluZyIgUFVCTElDIE8KICMgUHJpdmF0ZSBvcHRp
b25zIHNwZWNpZmljIHRvIHRoZSBHVEsgcG9ydC4gQ2hhbmdpbmcgdGhlc2Ugb3B0aW9ucyBpcwog
IyBjb21wbGV0ZWx5IHVuc3VwcG9ydGVkLiBUaGV5IGFyZSBpbnRlbmRlZCBmb3IgdXNlIG9ubHkg
YnkgV2ViS2l0IGRldmVsb3BlcnMuCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfQU5HTEVfV0VC
R0wgIldoZXRoZXIgdG8gdXNlIEFOR0xFIGFzIFdlYkdMIGJhY2tlbmQuIiBQUklWQVRFIE9GRikK
K1dFQktJVF9PUFRJT05fREVGSU5FKFVTRV9BVFNQSSAiV2hldGhlciB0byB1c2UgdGhlIEF0c3Bp
IGExMXkgaW1wbGVtZW50YXRpb24gaW5zdGVhZCBvZiBBVEsuIiBQUklWQVRFIE9GRikKIAogV0VC
S0lUX09QVElPTl9ERVBFTkQoRU5BQkxFXzNEX1RSQU5TRk9STVMgVVNFX09QRU5HTF9PUl9FUykK
IFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcgVVNFX09QRU5HTF9P
Ul9FUykKQEAgLTI2Nyw2ICsyNjcsMTIgQEAgaWYgKE5PVCBFWElTVFMgIiR7VE9PTFNfRElSfS9n
bGliL2FwcGx5LWJ1aWxkLXJldmlzaW9uLXRvLWZpbGVzLnB5IikKICAgICBzZXQoQlVJTERfUkVW
SVNJT04gInRhcmJhbGwiKQogZW5kaWYgKCkKIAoraWYgKFVTRV9BVFNQSSkKKyAgICBTRVRfQU5E
X0VYUE9TRV9UT19CVUlMRChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFIFRSVUUp
CitlbHNlICgpCisgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0FUSyBUUlVFKQorZW5k
aWYgKCkKKwogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoSEFWRV9HVEtfVU5JWF9QUklOVElORyAk
e0dUS19VTklYX1BSSU5UX0ZPVU5EfSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfT1Nf
REFSS19NT0RFX1NVUFBPUlQgMSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9v
bHMvQ2hhbmdlTG9nCmluZGV4IDNhNGE0OWI3NzcyNS4uOTc2ZTQ0NDViZjIxIDEwMDY0NAotLS0g
YS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAwIEBA
CisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
KworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJ
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3R1
YnMgZm9yIFdUUiBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRy
ZWVNb2RlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0lzb2xhdGVkT2JqZWN0IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGxhdGZvcm1VSUVsZW1lbnQpOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
QXRrLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9B
Y2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHA6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXJBdGsuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0
ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9D
b25zaXN0ZW50U3RhdGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6
YWNjZXNzaWJsZUVsZW1lbnRCeUlkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnBsYXRmb3JtTmFtZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjpmb2N1c2VkRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50QXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6On5BY2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFcXVhbCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZHJlbkNvdW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZWxlbWVudEF0UG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjppbmRleE9mQ2hpbGQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjaGlsZEF0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpsaW5rZWRVSUVsZW1lbnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXJpYU93bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFDb250cm9sc0VsZW1lbnRBdElu
ZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93
QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5k
ZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxk
QXRJbmRleCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNl
bGVjdGVkQ2hpbGRyZW5Db3VudCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNlbGVjdGVkUm93QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5Um93KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXR0cmlidXRlc09mTGlua2VkVUlFbGVtZW50cyk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3MpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDaGlsZHJlbik6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0
cmlidXRlVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJp
bmdBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om51bWJlckF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dWlFbGVtZW50QXJyYXlBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMgY29uc3QpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5IZWFkZXJzIGNvbnN0KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXR0cmlidXRlVmFsdWUgY29u
c3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRl
VmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0
ZVNldHRhYmxlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRy
aWJ1dGVTdXBwb3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
YXJhbWV0ZXJpemVkQXR0cmlidXRlTmFtZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpyb2xlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c3Vicm9sZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNj
cmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVk
Um9sZVN0cmluZyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24pOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbiBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2UpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp5KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
d2lkdGgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9pbnRZKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW50VmFsdWUgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRl
ZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0
aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNF
bmFibGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJl
ZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNl
ZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0
ZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVj
dGVkT3B0aW9uQWN0aXZlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNFeHBhbmRlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzQ2hlY2tlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzSW5kZXRlcm1pbmF0ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmhpZXJhcmNoaWNhbExldmVsIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWtBcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmFyaWFJc0dyYWJiZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphcmlhRHJvcEVmZmVjdHMgY29uc3QpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lRm9ySW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvckxpbmUpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvclBvc2l0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Ym91bmRzRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxl
ZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudENvdW50
Rm9yU2VhcmNoUHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c2VsZWN0VGV4dFdpdGhDcml0ZXJpYSk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1u
cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJv
d3MpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZW
aXNpYmxlQ2VsbHMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRy
aWJ1dGVzT2ZIZWFkZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
b3dDb3VudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkNv
dW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5nZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2Up
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5k
Um93KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNj
cm9sbGJhciBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZl
cnRpY2FsU2Nyb2xsYmFyIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzZXRTZWxlY3RlZFRleHRSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmluY3JlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRlY3JlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNob3dNZW51KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3Mp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxk
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0
ZWRDaGlsZEF0SW5kZXggY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpyZW1vdmVTZWxlY3Rpb25BdEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Y2xlYXJTZWxlY3RlZENoaWxkcmVuIGNvbnN0KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZyk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dXJsKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5l
cik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlIGNv
bnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxl
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aVNl
bGVjdGFibGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c1Zpc2libGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c09mZlNjcmVlbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzQ29sbGFwc2VkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNJZ25vcmVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNTaW5nbGVMaW5lIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNNdWx0aUxpbmUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpoYXNQb3B1cCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnRha2VGb2N1cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRha2VTZWxlY3Rpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
ZGRTZWxlY3Rpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1v
dmVTZWxlY3Rpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5l
VGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VMZW5ndGgpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmV2aW91c1RleHRNYXJrZXIpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcik6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtl
clJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtl
clJhbmdlRm9yTWFya2Vycyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRz
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2Vy
Rm9yQm91bmRzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1h
cmtlckZvclBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNj
ZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0
TWFya2VyUmFuZ2VXaXRoT3B0aW9ucyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0
ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4Rm9yVGV4dE1h
cmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1hcmtl
clZhbGlkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtl
ckZvckluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRU
ZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4
dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVj
dGVkVGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c2Nyb2xsVG9NYWtlVmlzaWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3VwcG9ydGVkQWN0aW9ucyBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbiBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2NyaXB0c0Rl
c2NyaXB0aW9uIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
bWF0aFByZXNjcmlwdHNEZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNoYXJhY3RlckF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6d29yZEF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6bGluZUF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6c2VudGVuY2VBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnJlcGxhY2VUZXh0SW5SYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Omluc2VydFRleHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpwb3B1cFZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L1BsYXRmb3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlv
bnMuY3BwOgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6ZGVmYXVsdHMpOgorCiAyMDIxLTA5
LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAg
ICBbR1RLXSBUZXN0V2ViS2l0QWNjZXNzaWJpbGl0eSBpcyBhbHdheXMgc2tpcHBlZCBpbiB0aGUg
Ym90cwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcAppbmRleCA2ZWJhMTRhMWE3MGMu
LmVhZjU4YTY5OTc2NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKQEAgLTMy
LDcgKzMyLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVj
dGVkQnVuZGxlUGFnZS5oIgogI2luY2x1ZGUgIkpTQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCIK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxwYWwv
c3BpL2NvY29hL0FjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9t
YWMvSElTZXJ2aWNlc1NQSS5oPgogI2VuZGlmCkBAIC02OCwxMCArNjgsMTIgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0SXNvbGF0ZWRUcmVlTW9kZShib29sIGZsYWcpCiAjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKIHZvaWQgQWNjZXNzaWJpbGl0eUNv
bnRyb2xsZXI6OnVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUoKQogeworI2lmIFBMQVRGT1JNKE1BQykK
ICAgICAvLyBPdmVycmlkZSB0byBzZXQgaWRlbnRpZmllciB0byBWb2ljZU92ZXIgc28gdGhhdCBy
ZXF1ZXN0cyBhcmUgaGFuZGxlZCBpbiBpc29sYXRlZCBtb2RlLgogICAgIF9BWFNldENsaWVudElk
ZW50aWZpY2F0aW9uT3ZlcnJpZGUobV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA/IChB
WENsaWVudFR5cGUpa0FYQ2xpZW50VHlwZVdlYktpdFRlc3RpbmcgOiBrQVhDbGllbnRUeXBlTm9B
Y3RpdmVSZXF1ZXN0Rm91bmQpOwogICAgIF9BWFNTZXRJc29sYXRlZFRyZWVNb2RlKG1fYWNjZXNz
aWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUgPyBBWFNJc29sYXRlZFRyZWVNb2RlTWFpblRocmVhZCA6
IEFYU0lzb2xhdGVkVHJlZU1vZGVPZmYpOwogICAgIG1fdXNlTW9ja0FYVGhyZWFkID0gV0tBY2Nl
c3NpYmlsaXR5Q2FuVXNlU2Vjb25kYXJ5QVhUaHJlYWQoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRv
bigpLnBhZ2UoKS0+cGFnZSgpKTsKKyNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuY3BwCmluZGV4IDE4OWJhOWExYjlhZi4uZWE2NDAwYmM3MjhiIDEwMDY0NAot
LS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTU1LDEwICs1NSwxNCBAQCBib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzVmFsaWQoKSBjb25zdAogICAgIHJldHVybiBtX2VsZW1lbnQ7
ICAgICAgICAgICAgCiB9CiAKLSNpZiAhRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKKyNpZiAhUExBVEZPUk0oTUFDKQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lz
b2xhdGVkT2JqZWN0KCkgY29uc3QKIHsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRF
RF9UUkVFKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CisjZW5k
aWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGIyM2U3MTdm
ODYyYS4uM2U1ZTBjZWU2OWZkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtNDcs
NiArNDcsMTEgQEAgdXNpbmcgUGxhdGZvcm1VSUVsZW1lbnQgPSBpZDsKICNpbmNsdWRlIDxhdGsv
YXRrLmg+CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogdHlwZWRlZiBHUmVmUHRyPEF0
a09iamVjdD4gUGxhdGZvcm1VSUVsZW1lbnQ7CisjZWxpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaTsKK30KK3R5cGVkZWYgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKiBQ
bGF0Zm9ybVVJRWxlbWVudDsKICNlbHNlCiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVUlFbGVtZW50
OwogI2VuZGlmCkBAIC03MSw2ICs3Niw4IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09B
KQogICAgIGlkIHBsYXRmb3JtVUlFbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9
CisjZWxpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKKyAgICBQbGF0Zm9ybVVJ
RWxlbWVudCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQog
I2Vsc2UKICAgICBQbGF0Zm9ybVVJRWxlbWVudCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJu
IG1fZWxlbWVudDsgfQogI2VuZGlmCkBAIC0zODksNyArMzk2LDcgQEAgcHJpdmF0ZToKICAgICBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50KTsKICAgICBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQmKTsKIAotI2lmICFQTEFU
Rk9STShDT0NPQSkKKyNpZiAhUExBVEZPUk0oQ09DT0EpICYmICFVU0UoQVRTUEkpCiAgICAgUGxh
dGZvcm1VSUVsZW1lbnQgbV9lbGVtZW50OwogI2VuZGlmCiAKQEAgLTQxMyw2ICs0MjAsOCBAQCBw
cml2YXRlOgogCiAjaWYgVVNFKEFUSykKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXI+IG1fbm90aWZpY2F0aW9uSGFuZGxlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAg
ICBSZWZQdHI8V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpPiBtX2VsZW1lbnQ7CiAj
ZW5kaWYKICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVy
QXRrLmNwcAppbmRleCA4YzJhZGFjMTkwMDguLmMxMjQ4ODA1OWIxZiAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXJBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcApAQCAtMjgsNyArMjgsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCiAK
LSNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlLmgiCkBAIC0xNDQsNCArMTQ0LDQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQogCiB9IC8vIG5hbWVzcGFjZSBX
VFIKIAotI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmls
aXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKaW5kZXggYTIzZTc4NTE3MDczLi43OWY3NzY4
NGVhYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0
aW9uSGFuZGxlckF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oIgogCi0jaWYg
SEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykK
IAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZS5oIgpAQCAtMjc4LDQgKzI3OCw0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXI6OmRpc2Nvbm5lY3RBY2Nlc3NpYmlsaXR5Q2FsbGJhY2tzKCkKIAogfSAvLyBu
YW1lc3BhY2UgV1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
SEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXJBdGsuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgKaW5kZXggZGE1ZDhlY2RkYjA2Li5k
MmM3ODQ5YTlmNTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbkhhbmRsZXJBdGsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAot
I2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdFJlZi5oPgogI2luY2x1ZGUg
PGF0ay9hdGsuaD4KQEAgLTUzLDQgKzUzLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2Ug
V1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50QXRrLmNwcAppbmRleCBkMzI5MDkwNGFmN2EuLjY2M2VkZTUyYTQ4MSAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNp
bmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAK
LSNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQogCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1
bmRsZVBhZ2UuaCIKQEAgLTIyOTksNCArMjI5OSw0IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1cFZhbHVlKCkgY29uc3QKIAogfSAvLyBuYW1l
c3BhY2UgV1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFW
RShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3Bp
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJBdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwLi43MWQzMGY0MWQxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRz
cGkuY3BwCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisg
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQorICogZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCisj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2Uu
aCIKKyNpbmNsdWRlIDxXZWJDb3JlL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oPgorI2luY2x1
ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CisKK25hbWVzcGFjZSBXVFIgeworCit2
b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKK3sK
K30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWQpCit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6cGxhdGZvcm1OYW1lKCkKK3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
cGxhdGZvcm1OYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYXRzcGki
KSk7CisgICAgcmV0dXJuIHBsYXRmb3JtTmFtZTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWlu
LCBKU1N0cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQoreworfQorCitSZWY8QWNjZXNz
aWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkK
K3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5wYWdlKCktPnBhZ2UoKTsKKyAgICBhdXRvKiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4oV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChw
YWdlKSk7CisKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGVsZW1l
bnQpOworfQorCitSZWY8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OmZvY3VzZWRFbGVtZW50KCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBhdXRvKiBlbGVt
ZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4oV0tB
Y2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVjdChwYWdlKSk7CisKKyAgICByZXR1cm4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQpOworfQorCitib29sIEFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2Fs
bGJhY2spCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdUUgorCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRBdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44OWZl
Y2I5OTI1ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAgLTAsMCAr
MSw4NTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTdHJp
bmdSZWYuaD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmg+CisjaW5jbHVkZSA8V2Vi
S2l0L1dLQnVuZGxlRnJhbWUuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVu
dCkKKyAgICA6IG1fZWxlbWVudChlbGVtZW50KQoreworfQorCitBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQm
IG90aGVyKQorICAgIDogSlNXcmFwcGFibGUoKQorICAgICwgbV9lbGVtZW50KG90aGVyLm1fZWxl
bWVudCkKK3sKK30KKworQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6fkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQoKQoreworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCogb3RoZXJFbGVtZW50KQoreworICAgIHJldHVybiBtX2VsZW1l
bnQuZ2V0KCkgPT0gb3RoZXJFbGVtZW50LT5wbGF0Zm9ybVVJRWxlbWVudCgpOworfQorCit2b2lk
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuKFZlY3RvcjxSZWZQdHI8QWNjZXNz
aWJpbGl0eVVJRWxlbWVudD4gPiYgY2hpbGRyZW4pCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UoVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmls
aXR5VUlFbGVtZW50PiA+JiBjaGlsZHJlbiwgdW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxl
bmd0aCkKK3sKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoaWxkcmVuQ291bnQo
KQoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZWxlbWVudEF0UG9pbnQoaW50IHgsIGludCB5KQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjppbmRleE9mQ2hpbGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICBy
ZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNoaWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhT3duc0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGlu
ZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUZsb3dUb0VsZW1lbnRBdEluZGV4
KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUNvbnRyb2xz
RWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpkaXNjbG9zZWRSb3dBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxs
cHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAg
IHJldHVybiBudWxscHRyOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
ZWxlY3RlZENoaWxkcmVuQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0
ZWRSb3dBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGl0bGVVSUVsZW1lbnQoKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVu
dCgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRCeVJvdygpCit7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZMaW5rZWRVSUVsZW1lbnRzKCkKK3sKKyAgICByZXR1
cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50
TGlua3MoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDAp
OworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
YXR0cmlidXRlc09mQ2hpbGRyZW4oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhD
aGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YWxsQXR0cmlidXRlcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUo
SlNTdHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhD
aGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c3RyaW5nQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRl
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQor
Citkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bnVtYmVyQXR0cmlidXRlVmFsdWUoSlNT
dHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiAwOworfQorCitKU1ZhbHVlUmVmIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUoSlNTdHJp
bmdSZWYgYXR0cmlidXRlKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1Zh
bHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25zdAoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNvbHVtbkhlYWRlcnMoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVt
ZW50QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKSBjb25zdAoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRy
aWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoSlNT
dHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1JlZiBhdHRy
aWJ1dGUpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyYW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKCkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGUoKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSgp
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVz
Y3JpcHRpb24oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y29tcHV0ZWRSb2xlU3RyaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnRpdGxlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVh
dGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omxhbmd1YWdlKCkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0KCkgY29u
c3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30K
KworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngoKQoreworICAgIHJldHVybiAwOwor
fQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eSgpCit7CisgICAgcmV0dXJuIDA7
Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3aWR0aCgpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQoKQorewor
ICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQ
b2ludFgoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Y2xpY2tQb2ludFkoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aW50VmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQor
Citkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUoKQoreworICAgIHJldHVy
biAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUoKQorewor
ICAgIHJldHVybiAwOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjppbnNlcnRpb25Qb2ludExpbmVOdW1iZXIoKQoreworICAgIHJldHVybiAtMTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNy
ZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5h
YmxlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmlzUmVxdWlyZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzZWQoKSBjb25zdAoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNTZWxlY3RlZE9wdGlvbkFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXhwYW5kZWQoKSBjb25zdAor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0NoZWNrZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdAoreworICAgIHJldHVybiBm
YWxzZTsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhpZXJhcmNoaWNhbExldmVs
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzcGVha0FzKCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphcmlhSXNHcmFiYmVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojphcmlh
RHJvcEVmZmVjdHMoKSBjb25zdAoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvcklu
ZGV4KGludCBpbmRleCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvckxpbmUoaW50IGxpbmUpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvclBv
c2l0aW9uKGludCB4LCBpbnQgeSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBs
ZW5ndGgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7
Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
dHJpbmdGb3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmlu
Z0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ1JhbmdlSXNNaXNzcGVsbGVkKHVuc2ln
bmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
Cit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRDb3VudEZvclNlYXJj
aFByZWRpY2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCog
c3RhcnRFbGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwgSlNWYWx1ZVJlZiBzZWFyY2hLZXks
IEpTU3RyaW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJsZU9ubHksIGJvb2wgaW1tZWRpYXRl
RGVzY2VuZGFudHNPbmx5KQoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNo
UHJlZGljYXRlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBz
dGFydEVsZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNlYXJjaEtleSwg
SlNTdHJpbmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSwgYm9vbCBpbW1lZGlhdGVE
ZXNjZW5kYW50c09ubHkpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RUZXh0V2l0aENyaXRl
cmlhKEpTQ29udGV4dFJlZiBjb250ZXh0LCBKU1N0cmluZ1JlZiBhbWJpZ3VpdHlSZXNvbHV0aW9u
LCBKU1ZhbHVlUmVmIHNlYXJjaFN0cmluZ3MsIEpTU3RyaW5nUmVmIHJlcGxhY2VtZW50U3RyaW5n
LCBKU1N0cmluZ1JlZiBhY3Rpdml0eSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNP
ZkNvbHVtbkhlYWRlcnMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXR0cmlidXRlc09mUm93SGVhZGVycygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5zKCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3Mo
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlc09mVmlzaWJsZUNlbGxzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkhlYWRlcigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpyb3dDb3VudCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpjb2x1bW5Db3VudCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjppbmRleEluVGFibGUoKQoreworICAgIHJldHVybiAtMTsKK30K
KworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0lu
ZGV4UmFuZ2UoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y29sdW1uSW5kZXhSYW5nZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVkIGNvbCwgdW5z
aWduZWQgcm93KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJh
cigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmls
aXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhcigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZFRleHRSYW5nZSgpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UodW5zaWduZWQgbG9jYXRp
b24sIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5jcmVtZW50KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpkZWNyZW1lbnQoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnNob3dNZW51KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
cmVzcygpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRD
aGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KSBjb25zdAoreworfQorCit2b2lk
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVk
IGluZGV4KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92
ZVNlbGVjdGlvbkF0SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7Cit9CisKK3ZvaWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xlYXJTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QKK3sKK30K
KworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vz
c2liaWxpdHlWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVybCgpCit7CisgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxi
YWNrKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCit7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdAorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Nl
bGVjdGFibGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc011bHRpU2VsZWN0YWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVmlzaWJsZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzT2ZmU2NyZWVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNDb2xsYXBzZWQoKSBjb25zdAoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lnbm9yZWQoKSBj
b25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc1NpbmdsZUxpbmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc011bHRpTGluZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc1BvcHVwKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dGFrZUZvY3VzKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
YWtlU2VsZWN0aW9uKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRT
ZWxlY3Rpb24oKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNl
bGVjdGlvbigpCit7Cit9CisKKy8vIFRleHQgbWFya2VycworUmVmUHRyPEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVUZXh0TWFya2VyUmFu
Z2VGb3JUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJS
YW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQoreworICAgIHJldHVybiAwOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnByZXZpb3VzVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRl
eHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9y
VGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdl
LCBKU1N0cmluZ1JlZiBzZWFyY2hUZXh0KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJS
YW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyKiBlbmRNYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFy
a2VyRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdl
KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRN
YXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2Vy
UmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvckJvdW5kcyhpbnQgeCwgaW50IHksIGludCB3
aWR0aCwgaW50IGhlaWdodCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRN
YXJrZXJGb3JCb3VuZHMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KGludCB4LCBpbnQgeSkK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1h
cmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogbWFya2VyKQoreworICAgIHJldHVybiBudWxs
cHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlKikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0
TWFya2VyUmFuZ2VXaXRoT3B0aW9ucyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiwgYm9v
bCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUo
SlNTdHJpbmdSZWYgYXR0cmlidXRlLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5n
ZSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjppbmRleEZvclRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtlcikKK3sK
KyAgICByZXR1cm4gLTE7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNUZXh0
TWFya2VyVmFsaWQoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JJbmRleChpbnQgdGV4dEluZGV4KQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFu
Z2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSopCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUoKQor
eworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQo
aW50IHgsIGludCB5KQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9s
bFRvTWFrZVZpc2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBo
ZWlnaHQpCit7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzdXBwb3J0ZWRBY3Rpb25zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBh
dGhEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlw
dHNEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUHJlc2NyaXB0
c0Rlc2NyaXB0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGFyYWN0ZXJBdE9mZnNldChpbnQgb2Zmc2V0KQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d29yZEF0T2Zm
c2V0KGludCBvZmZzZXQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpsaW5lQXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbnRlbmNlQXRPZmZzZXQoaW50IG9mZnNldCkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZXBsYWNlVGV4dEluUmFuZ2UoSlNTdHJpbmdSZWYs
IGludCwgaW50KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjppbnNlcnRUZXh0KEpTU3RyaW5nUmVmKQoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBv
cHVwVmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCit9IC8vIG5hbWVz
cGFjZSBXVFIKKworI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNmY4MzY2YjYzZTQz
Li44OTYyZTY0NWU5YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZv
cm1HVEsuY21ha2UKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFr
ZQpAQCAtNDAsNiArNDAsOSBAQCBsaXN0KEFQUEVORCBXZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRC
dW5kbGVfU09VUkNFUwogICAgIEluamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZp
Y2F0aW9uSGFuZGxlckF0ay5jcHAKICAgICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEF0ay5jcHAKIAorICAgIEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxp
dHlDb250cm9sbGVyQXRzcGkuY3BwCisgICAgSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJp
bGl0eVVJRWxlbWVudEF0c3BpLmNwcAorCiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRl
Rm9udHNHdGsuY3BwCiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNw
cAogICAgIEluamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZVV0aWxpdGllcy5jcHAKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5jcHAKaW5kZXggOGUyYTdmODg4YzBkLi5hNTYz
NTYwZTBjY2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMu
Y3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCkBAIC04OCw2
ICs4OCw5IEBAIGNvbnN0IFRlc3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKICAg
ICAgICAgICAgIHsgIklucHV0VHlwZU1vbnRoRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAg
IHsgIklucHV0VHlwZVRpbWVFbmFibGVkIiwgdHJ1ZSB9LAogICAgICAgICAgICAgeyAiSW5wdXRU
eXBlV2Vla0VuYWJsZWQiLCB0cnVlIH0sCisjaWYgVVNFKEFUU1BJKQorICAgICAgICAgICAgeyAi
SXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZCIsIHRydWUgfSwKKyNlbmRpZgogICAg
ICAgICAgICAgeyAiSmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCIsIHRydWUgfSwKICAgICAg
ICAgICAgIHsgIkphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkiLCB0cnVlIH0s
CiAgICAgICAgICAgICB7ICJMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQiLCBmYWxzZSB9
LAo=
</data>
<flag name="commit-queue"
          id="461434"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438128</attachid>
            <date>2021-09-14 06:33:55 -0700</date>
            <delta_ts>2021-09-14 06:54:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-atspi.diff</filename>
            <type>text/plain</type>
            <size>100857</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4YTBhNmEwNDExMWYuLjNi
MzE5ZTM3ZGQwYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTMgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIHRvIGEgcnVudGltZSBm
bGFnLCBzdGFydCBydW5uaW5nIHRlc3RzIGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNiMmU1NjhkOTUzZS4uMzlkZGNl
ZDgxNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBi
dWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdp
dGggQVRTUEkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKIDIwMjEtMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHRoYXQgdXNlcyBQQ00gZGFlbW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDlkM2NjZTk3YzA4NS4uNjk2NjJiYmI5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA3OCw2ICsxMDc4
LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgICBXZWJLaXRMZWdh
Y3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAgICJVU0UoQVRTUEkp
IjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVs
dDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxM2Q3YWNkMTk0NjUuLmQ3MDJiN2U1ZTQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBv
cHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0aW9uIGFuZCBzZXZl
cmFsIGJ1aWxkIGZpeGVzIHdoZW4gQVRLIGlzIGRpc2FibGVkIGFuZCBpc29sYXRlZCB0cmVlIGVu
YWJsZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Vz
R1RLLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmluaXRpYWxpemVTZWNvbmRhcnlB
WFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1c2VkT25BWFRocmVh
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hN
YXRjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdy
YXBwZXIpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHA6CisgICAgICAgICogZWRpdGluZy9hdHNw
aS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5h
YmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1
Li5hOGEwMWYwNmViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0
KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9hdHNwaSIKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BhZ2UvZ3RrIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRh
IgpAQCAtNTMsNiArNTQsOCBAQCBpZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxp
c3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fk
d2FpdGEvU2Nyb2xsYmFyVGhlbWVBZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGlj
YXRpb25HTGliLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMx
MmVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaS5jcHAKK2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0
c3BpLmNwcAorCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2Jq
ZWN0QXRzcGkuY3BwCisKIGVkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0
ay5jcHAKIGVkaXRpbmcvZ3RrL1dlYkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDg5ZjhhNjViMTVm
ZS4uOTY4NzU5NGE4ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTc3MCw5ICs3NzAsMTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogYm9vbCBBWE9iamVjdENhY2hlOjpj
bGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSgpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKICAgICBhdXRvIGNsaWVudCA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVz
dGVkKCk7CiAgICAgcmV0dXJuIGNsaWVudCA9PSBrQVhDbGllbnRUeXBlVm9pY2VPdmVyCiAgICAg
ICAgIHx8IFVOTElLRUxZKGNsaWVudCA9PSBrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyk7Cisj
ZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCiB9CiAKIGJvb2wgQVhPYmplY3RDYWNoZTo6
aXNJc29sYXRlZFRyZWVFbmFibGVkKCkKQEAgLTc4MSw2ICs3ODUsNyBAQCBib29sIEFYT2JqZWN0
Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgpCiAgICAgaWYgKGVuYWJsZWQpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBpZiAoIWlz
TWFpblRocmVhZCgpKSB7CiAgICAgICAgIEFTU0VSVChfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCkpOwogICAgICAgICBlbmFibGVkID0gdHJ1ZTsKQEAgLTc5
MCw2ICs3OTUsOSBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgp
CiAgICAgICAgICAgICAmJiBfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkgIT0gQVhTSXNvbGF0
ZWRUcmVlTW9kZU9mZiAvLyBVc2VkIHRvIHN3aXRjaCB2aWEgc3lzdGVtIGRlZmF1bHRzLgogICAg
ICAgICAgICAgJiYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKICAgICB9CisjZWxzZQor
ICAgIGVuYWJsZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KQEAg
LTgxMywxMCArODIxLDEyIEBAIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVj
dCgpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aW5pdGlhbGl6ZVNlY29uZGFyeUFYVGhyZWFkKCkK
IHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUg
Y3JlYXRlZCBvdXIgdHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKICAgICAv
LyBzbyBmdXR1cmUgcmVxdWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgogICAgIGlm
IChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9uSXNBdmFpbGFibGUoKSAmJiBfQVhTSXNvbGF0
ZWRUcmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCkK
ICAgICAgICAgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQodHJ1ZSk7CisjZW5kaWYK
IH0KIAogUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZUlz
b2xhdGVkVHJlZSgpIGNvbnN0CkBAIC04NDgsOCArODU4LDE0IEBAIEFYQ29yZU9iamVjdCogQVhP
YmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpCiBib29sIEFYT2JqZWN0Q2FjaGU6
OnVzZWRPbkFYVGhyZWFkKCkKIHsKICAgICBBU1NFUlQoaXNJc29sYXRlZFRyZWVFbmFibGVkKCkp
OworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAgICAgcmV0dXJuIF9BWFNJc29sYXRlZFRy
ZWVNb2RlRnVuY3Rpb25Jc0F2YWlsYWJsZSgpCiAgICAgICAgICYmIF9BWFNJc29sYXRlZFRyZWVN
b2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkOworI2VsaWYg
VVNFKEFUU1BJKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjNmY5OWZhYWI0YTUuLjJlMTYzZDMzNDYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0zNzgyLDcgKzM3ODIsMTQgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGV4dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxp
dHkKIHsKICAgICBpZiAoIWF4T2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIGF4T2JqZWN0LT5jb250YWluc1RleHQoY3JpdGVyaWEuc2VhcmNoVGV4dCk7CisKKyAgICAv
LyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgorICAgIGlmIChjcml0ZXJpYS5zZWFy
Y2hUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY29u
dGFpbnNQbGFpblRleHQoYXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENh
c2VJbnNlbnNpdGl2ZSkKKyAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpCisgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT5zdHJpbmdWYWx1
ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwogfQogCiBzdGF0aWMg
Ym9vbCBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRoUmVzdWx0TGltaXQoQVhDb3JlT2Jq
ZWN0KiBvYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEs
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAppbmRleCAyMTY4NDU0OGJhNDMuLjg1NmFlZjliMTZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IlNpbXBsZVJhbmdlLmgiCisjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KQEAgLTQyLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAiQ09NUHRyLmgiCiAj
ZW5kaWYKIAorI2lmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFUSykKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTUyLDYgKzU3LDggQEAgdHlwZWRlZiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIHR5cGVkZWYgc3RydWN0IF9O
U1JhbmdlIE5TUmFuZ2U7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0FYVGV4dE1hcmtlciogQVhU
ZXh0TWFya2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXJSYW5nZSog
QVhUZXh0TWFya2VyUmFuZ2VSZWY7CisjZWxpZiBVU0UoQVRTUEkpCit0eXBlZGVmIFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKICNl
bGlmIFVTRShBVEspCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0QWNjZXNzaWJsZSBXZWJLaXRBY2Nl
c3NpYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEFjY2Vzc2libGUgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CkBAIC0xMTI2LDE0ICsxMTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0aXRsZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgp
IGNvbnN0ID0gMDsKLSAgICBib29sIGNvbnRhaW5zVGV4dChTdHJpbmcgY29uc3QmIHRleHQpIGNv
bnN0Ci0gICAgewotICAgICAgICAvLyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgot
ICAgICAgICByZXR1cm4gdGV4dC5pc0VtcHR5KCkKLSAgICAgICAgICAgIHx8IGNvbnRhaW5zUGxh
aW5UZXh0KHRpdGxlKCksIHRleHQsIENhc2VJbnNlbnNpdGl2ZSkKLSAgICAgICAgICAgIHx8IGNv
bnRhaW5zUGxhaW5UZXh0KGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCB0ZXh0LCBDYXNlSW5z
ZW5zaXRpdmUpCi0gICAgICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChzdHJpbmdWYWx1ZSgp
LCB0ZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwotICAgIH0KIAogICAgIC8vIE1ldGhvZHMgZm9yIGRl
dGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIGJvb2wgaXNBUklBU3Rh
dGljVGV4dCgpIGNvbnN0ID0gMDsKQEAgLTE1MTQsNiArMTUxMyw4IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgQ09NUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBt
X3dyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV93cmFwcGVyOwogI2VsaWYgVVNFKEFUSykKICAgICBHUmVmUHRyPFdlYktpdEFj
Y2Vzc2libGU+IG1fd3JhcHBlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA3Yjg3MjdkYzJmMjcu
LjJiMWMzNDAyMTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDg1ZDJhZGFlY2Q5NS4uNDM0YmY1
MGNjNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQorCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCkBAIC0zMiw4ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCkBA
IC0yMDYsNCArMjA2LDQgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2V0TGVuZ3Ro
Rm9yVGV4dFJhbmdlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGUuY3BwCmluZGV4IDg2YzMwY2RkNjY2My4uYzk2YzJjMmZiYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC0xMzgyLDQgKzEzODIs
NCBAQCBjb25zdCBjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eShXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYgogICAgIHJldHVybiAoKnByb3BlcnR5UHRyKS5k
YXRhKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaAppbmRleCA3MmUxMTY1MWI3ZTku
LmVmOTIzNmE3M2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGUuaApAQCAtMjIsNyArMjIsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtODUsNCArODUsNCBAQCBib29sIHdlYmtpdEFjY2Vzc2libGVJc0RldGFj
aGVkKFdlYktpdEFjY2Vzc2libGUqKTsKIAogY29uc3QgY2hhciogd2Via2l0QWNjZXNzaWJsZUNh
Y2hlQW5kUmV0dXJuQXRrUHJvcGVydHkoV2ViS2l0QWNjZXNzaWJsZSosIEF0a0NhY2hlZFByb3Bl
cnR5LCBDU3RyaW5nJiYpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsuY3BwCmluZGV4IDA1Y2JkNmZlNzUxZC4uYzQwZjcyYzJjOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
QEAgLTMxMyw0ICszMTMsNCBAQCBXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rKiB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rR2V0T3JDcmVhdGUoQXRrSHlwZXJsaW5rSW1wbAogICAgIHJldHVybiBo
eXBlcmxpbms7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsu
aAppbmRleCA3OTk2YjBhNDRlYzMuLjE5ZmE5YzFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxp
bmsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSA8YXRrL2F0ay5oPgogCkBAIC01Miw0ICs1Miw0IEBAIFdlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBlcmxpbmtJ
bXBsCiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VB
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5jcHAKaW5kZXggY2EyM2FkZmQ3MWE3Li4xNGViNTc5ODg2YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUFjdGlvbi5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VBY3Rpb24uaAppbmRleCA2NzE4YjE0MGU2ZmIuLjAyZDc1OTZkOTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNj
ZXNzaWJsZUFjdGlvbkludGVyZmFjZUluaXQoQXRrQWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApp
bmRleCBiN2ZlNTViZmU0MzguLjk4NDU3YWFkZjA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTE2OSw0ICsxNjksNCBAQCB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21w
b25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKICNlbmRpZgogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9u
ZW50LmgKaW5kZXggOTY5MjNjNWE2OGMxLi43ZGFmMzQ3YzQ0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21w
b25lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKik7CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQu
Y3BwCmluZGV4IDJiMzEzYTBiMWJhNC4uN2YwYjVhMDA1NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCmluZGV4
IGM5NDhkMTk3NmViYS4uNmJlYWFlZDM5NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRG9jdW1lbnQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZURvY3Vt
ZW50SW50ZXJmYWNlSW5pdChBdGtEb2N1bWVudElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKaW5k
ZXggYWM3OTM4M2I4NjAzLi40OTRlYjAwMTgyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJs
ZVRleHQuaAppbmRleCA1ODQ1MGU0MTllZGQuLmVmNWY3ZDI2OWJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUVkaXRhYmxlVGV4dEludGVyZmFjZUluaXQoQXRrRWRpdGFibGVUZXh0
SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVybGlua0ltcGwuY3BwCmluZGV4IDJmYzRlMTk0MDhlNy4uNmE4ZWRkNDk2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oIgogCkBAIC0zNCw0ICszNCw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlu
a0ltcGxJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9oeXBlcmxpbmsgPSB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rSW1wbEdldEh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgKaW5kZXgg
YmM3ZWMxNzAzNzY0Li4yMDkyYmY3Yzk3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaApAQCAtMTksMTAgKzE5LDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlua0ltcGxJZmFjZSopOwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuY3BwCmluZGV4IGE3OGQ4ODMyYWE0ZC4uNTIzYmFiOTZmMGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
SHlwZXJ0ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaAppbmRleCA1NDhjZDYwOGE0NmYuLmMzZjYxMzg1ZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUh5cGVydGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaApAQCAtMTksMTAgKzE5LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUh5cGVydGV4dEludGVyZmFjZUluaXQoQXRrSHlwZXJ0ZXh0SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKaW5kZXggNjMzYzk3MGQwZTQxLi4yODYwNjAyNzE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUltYWdlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaAppbmRleCA0ZDljZTQwOTczZTUu
LjBkNWQ4Y2ViMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVJbWFnZUludGVyZmFjZUluaXQoQXRrSW1h
Z2VJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uY3BwCmluZGV4IDZlYTU3MDgxMzdiNC4uODZhMTk5OGNiY2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKaW5kZXggMmI5OTFkMjNiYTkwLi5jNTMzNGIz
YTIzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZWxlY3Rpb25JbnRlcmZhY2VJbml0KEF0
a1NlbGVjdGlvbklmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IDYyNmM3Mjc3NDUxNy4uZTVlZWM1YzViMWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5oCmluZGV4IDRlZmMyYjIwYTFlNy4uZjQyYjVjZmQ2YjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVRhYmxlSW50ZXJmYWNlSW5pdChBdGtUYWJsZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKaW5kZXgg
Mjg5ZDNhNzAxNWRmLi44NmU3YTc1ODY1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVRhYmxlLmgiCkBAIC0xNTMsNCArMTUzLDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxl
VGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSogaWZhY2UpCiAgICAgaWZh
Y2UtPmdldF90YWJsZSA9IHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxHZXRUYWJsZTsKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2Vs
bC5oCmluZGV4IDJiYmM3MzczMDVlMS4uZjJkNzAzNGU0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oCkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nl
c3NpYmxlVGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSopOwogCi0jZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5kZXgg
MDgxZmE4YzM2MWIwLi4wYTg2ZDQ0M2Q1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGV4dC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGV4dC5oCmluZGV4IDExMjk1NWY0MGRmMC4uZWMyYWFlM2MyOWI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdl
YmtpdEFjY2Vzc2libGVUZXh0SW50ZXJmYWNlSW5pdChBdGtUZXh0SWZhY2UqKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXgg
MDRlZTg5MDM5YWZhLi4wODI1OWQ5OWYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVZhbHVlLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCmluZGV4IDM2OTZjYjBiODlkZC4uZDExZDVlODFl
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaApAQCAtMTksMTAgKzE5LDEw
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAK
IHZvaWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKik7
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCBkOWRjZGE5MDhm
MmUuLmIzZjg3NmQyNDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuaAppbmRleCBhMmZhY2FmODUyOGQuLmY1NDkzMDJm
ZTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCkBAIC0yMSw3ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpWaXNpYmxlU2VsCiAKIFdl
YkNvcmU6OkFYQ29yZU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0T2Zmc2V0VW5pZ25vcmVk
KFdlYkNvcmU6OkFYQ29yZU9iamVjdCosIGludCYgb2Zmc2V0KTsKIAotI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9i
amVjdENhY2hlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
WE9iamVjdENhY2hlQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uN2M0NDZkMDM2Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmpl
Y3QsIEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKK3sKK30KKwor
dm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmplY3Qp
Cit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNo
ZVVwZGF0ZSgpCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1O
b3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFRleHRDaGFuZ2UgdGV4
dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcmIHRleHQpCit7Cit9CisKK3Zv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIEFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudCkK
K3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0Zm9ybUhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKE5vZGUqIG9sZEZvY3VzZWROb2RlLCBOb2RlKiBuZXdGb2N1c2VkTm9kZSkKK3sK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDU4YjhiMDY2NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpjcmVhdGUoQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0KQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaShjb3Jl
T2JqZWN0KSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpKEFYQ29yZU9iamVjdCopCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRh
Y2htZW50VHlwZSkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVsdEJlaGF2aW9yOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZmYyMTQ0NWEwODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1
ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFYQ29yZU9iamVjdDsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKKyAgICB+QWNjZXNzaWJpbGl0
eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaShBWENvcmVPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGIwYmNmNTUyNjBmYS4uNGI4ZTYyODAx
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNzEsMTEgKzcxLDE1IEBAIHZv
aWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpCb3Vu
ZGluZ0JveFJlY3QsIG9iamVjdC5ib3VuZGluZ0JveFJlY3QoKSk7CisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uLCBvYmplY3Qu
ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRpZgogICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCwgb2JqZWN0LmVsZW1lbnRS
ZWN0KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cs
IG9iamVjdC5oYXNBUklBVmFsdWVOb3coKSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwg
b2JqZWN0Lmhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0
eShBWFByb3BlcnR5TmFtZTo6SGVscFRleHQsIG9iamVjdC5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQsIG9iamVjdC5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIsIG9iamVjdC5pc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250
YWluZXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKQEAgLTEzNywxMSArMTQxLDE1IEBAIHZvaWQgQVhJc29s
YXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlw
dGlvbiwgb2JqZWN0LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Qucm9sZVBs
YXRmb3JtU3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKS5pc29sYXRlZENvcHko
KSk7CisjZW5kaWYKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3VwcG9ydHNEYXRl
dGltZUF0dHJpYnV0ZSwgb2JqZWN0LnN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUm93Q291bnRDaGFuZ2UsIG9iamVj
dC5zdXBwb3J0c1Jvd0NvdW50Q2hhbmdlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUaXRsZUF0dHJpYnV0ZVZh
bHVlLCBvYmplY3QudGl0bGVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRp
ZgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVl
LCBvYmplY3QuZGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5j
YW5TZXRGb2N1c0F0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0
ZXMoKSk7CkBAIC00MDQsNyArNDEyLDkgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jvb3QKIAogICAg
IGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2JqZWN0KCkpOworI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UHJldmVudEtleWJvYXJkRE9NRXZl
bnREaXNwYXRjaCwgb2JqZWN0LnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSk7Cisj
ZW5kaWYKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlc3Npb25JRCwgb2Jq
ZWN0LnNlc3Npb25JRCgpKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRv
Y3VtZW50VVJJLCBvYmplY3QuZG9jdW1lbnRVUkkoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEb2N1bWVudEVuY29kaW5nLCBvYmplY3QuZG9j
dW1lbnRFbmNvZGluZygpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTUxNCw4ICs1MjQsMTIgQEAgdm9p
ZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIAogY29uc3QgQVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxk
cmVuKGJvb2wpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBBU1NFUlQoX0FY
U0lzb2xhdGVkVHJlZU1vZGVGdW5jdGlvbklzQXZhaWxhYmxlKCkgJiYgKChfQVhTSXNvbGF0ZWRU
cmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCAmJiAh
aXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHx8IChfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkg
PT0gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpKSk7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisjZW5kaWYKICAg
ICB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICBtX2NoaWxkcmVuLmNsZWFyKCk7CiAgICAgbV9j
aGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2hpbGRyZW5JRHMuc2l6ZSgpKTsKQEAg
LTYwMywxMiArNjE3LDE0IEBAIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVudFVSSSgp
IGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCiBi
b29sIEFYSXNvbGF0ZWRPYmplY3Q6OnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSBj
b25zdAogewogICAgIGlmIChhdXRvIHJvb3QgPSB0cmVlKCktPnJvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiByb290LT5ib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlByZXZlbnRL
ZXlib2FyZERPTUV2ZW50RGlzcGF0Y2gpOwogICAgIHJldHVybiBmYWxzZTsKIH0KKyNlbmRpZgog
CiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6ZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0CiB7CkBA
IC03NzEsMTIgKzc4NywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKGJvb2wgdmFsdWUpCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQog
dm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
KGJvb2wgdmFsdWUpCiB7CiAgICAgcGVyZm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFsmdmFsdWVd
KEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CiAgICAgICAgIG9iamVjdC0+c2V0UHJldmVudEtleWJv
YXJkRE9NRXZlbnREaXNwYXRjaCh2YWx1ZSk7CiAgICAgfSk7CiB9CisjZW5kaWYKIAogU1JHQkE8
dWludDhfdD4gQVhJc29sYXRlZE9iamVjdDo6Y29sb3JWYWx1ZSgpIGNvbnN0CiB7CkBAIC0xMTY3
LDYgKzExODUsNyBAQCBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydEZyYW1lVG9T
cGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEFjY2Vzc2liaQogICAgIH0pOwogfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCiBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydFJlY3RU
b1BsYXRmb3JtU3BhY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBBY2Nlc3NpYmlsaXR5Q29udmVy
c2lvblNwYWNlIHNwYWNlKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8RmxvYXRSZWN0PihbJnJlY3QsICZzcGFjZSwgdGhpc10g
KCkgLT4gRmxvYXRSZWN0IHsKQEAgLTExNzUsNiArMTE5NCw3IEBAIEZsb2F0UmVjdCBBWElzb2xh
dGVkT2JqZWN0Ojpjb252ZXJ0UmVjdFRvUGxhdGZvcm1TcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEFjCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSk7CiB9CisjZW5kaWYKIAogYm9vbCBB
WElzb2xhdGVkT2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UoY29uc3QgU3RyaW5nJiByZXBsYWNl
bWVudFRleHQsIGNvbnN0IFBsYWluVGV4dFJhbmdlJiB0ZXh0UmFuZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmgKaW5kZXggNmZiMWFkYWM4ZGFlLi5jNWMxOTM4YjY3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTMyMCwxMSArMzIwLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c0Fub255bW91c01hdGhPcGVyYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBbm9ueW1vdXNNYXRoT3BlcmF0b3IpOyB9CiAg
ICAgdm9pZCBtYXRoUHJlc2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcnMm
KSBvdmVycmlkZTsKICAgICB2b2lkIG1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11
bHRpc2NyaXB0UGFpcnMmKSBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGZpbGVVcGxvYWRCdXR0b25SZXR1cm5zVmFsdWVJblRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpGaWxlVXBsb2FkQnV0dG9u
UmV0dXJuc1ZhbHVlSW5UaXRsZSk7IH0KICAgICBTdHJpbmcgc3BlZWNoSGludEF0dHJpYnV0ZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlNwZWVjaEhpbnQpOyB9CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uQXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6RGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGhlbHBUZXh0QXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQpOyB9CiAgICAgU3RyaW5nIHRpdGxlQXR0cmlidXRlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6VGl0bGVBdHRyaWJ1dGVWYWx1ZSk7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBib29sIGNhcmV0QnJvd3NpbmdFbmFibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYXJldEJyb3dzaW5nRW5hYmxlZCk7
IH0KICNlbmRpZgpAQCAtMzY5LDcgKzM3MSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc2Vz
c2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50VVJJKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlz
cGF0Y2goKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gUGxhaW5UZXh0UmFuZ2Ug
c3VwcG9ydC4KICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDQ0LDcgKzQ0OCw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgc2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CiAjZW5kaWYK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFByZXZlbnRLZXlib2FyZERPTUV2ZW50
RGlzcGF0Y2goYm9vbCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIFN0cmluZyB0ZXh0VW5kZXJF
bGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSA9IEFjY2Vzc2liaWxpdHlU
ZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgQWNjZXNz
aWJpbGl0eVNlYXJjaERpcmVjdGlvbikgY29uc3Qgb3ZlcnJpZGU7CkBAIC02MzQsNyArNjQwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG92ZXJyaWRlQXR0YWNobWVudFBhcmVudChBWENvcmVPYmpl
Y3QqIHBhcmVudCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6SGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKTsgfQorI2VuZGlmCiAgICAgY29u
c3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcoYm9vbCBpbmNsdWRlU2VsZikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiB3
ZWJBcmVhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gb2JqZWN0QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVk
dHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDdjMzQ2OTY3OTdhYi4uY2Y0Mjg2MjM5ZjY0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0
cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTM0Myw3ICszNDMsMTEgQEAgcHVibGljOgogCiAgICAg
c3RydWN0IE5vZGVDaGFuZ2UgewogICAgICAgICBSZWY8QVhJc29sYXRlZE9iamVjdD4gaXNvbGF0
ZWRPYmplY3Q7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgICAgIFJldGFpblB0cjxBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICAgICAg
UmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyOworI2VuZGlmCiAgICAg
fTsKIAogICAgIHZvaWQgZ2VuZXJhdGVTdWJ0cmVlKEFYQ29yZU9iamVjdCYsIEFYQ29yZU9iamVj
dCosIGJvb2wgYXR0YWNoV3JhcHBlcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvYXRzcGkvQVhJc29sYXRl
ZE9iamVjdEF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAu
LjA2Nzg2NTVjZTllYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRPYmplY3RBdHNwaS5jcHAKQEAgLTAs
MCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZE9iamVjdC5oIgorCisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQg
QVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVBsYXRmb3JtUHJvcGVydGllcyhjb25zdCBBWENv
cmVPYmplY3QmKQoreworfQorCit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3Jt
V3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciogd3JhcHBlcikKK3sKKyAgICBzZXRX
cmFwcGVyKHdyYXBwZXIpOworfQorCit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCit7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcv
RnJhbWVTZWxlY3Rpb24uaAppbmRleCBiNGMxMDk5NTcyMDAuLjRjYmY1YTMwOTE1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaApAQCAtMzc1LDcgKzM3NSw3IEBAIGlu
bGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpjbGVhclR5cGluZ1N0eWxlKCkKICAgICBtX3R5cGlu
Z1N0eWxlID0gbnVsbHB0cjsKIH0KIAotI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQ
TEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykpKQorI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykgfHwgVVNFKEFUU1BJKSkpCiAKIGlubGlu
ZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hh
bmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAppbmRleCA5NzM0YjY4YTRmNjUu
LmQyNjE0OWY2NWIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJh
bWVTZWxlY3Rpb25BdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1l
U2VsZWN0aW9uQXRrLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2Jq
ZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtMTE2LDQgKzExNiw0IEBAIHZv
aWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2Uo
Y29uc3QgQVhUZXh0U3RhdGVDaGFuCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdHNwaS9G
cmFtZVNlbGVjdGlvbkF0c3BpLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJh
bWVTZWxlY3Rpb25BdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi40OTlmZDE5ODQyYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK3ZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxl
Y3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmKQoreworICAgIGlmICgh
QVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDU2NDNm
ZjhmZmZhNy4uNjJjY2MzYjM2MTJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0y
NjksNiArMjY5LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgdHlw
ZTogYm9vbAogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29yZToKKyAgICAgIFVTRShBVFNQSSk6
IHRydWUKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKIElzUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdl
TWVhc3VyZW1lbnRFbmFibGVkOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMv
U2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1Nl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KaW5kZXggMzI2ZTY1MWY4OGU2Li5lMzcwYzIwOWJl
MGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNv
bnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5tbQpAQCAtNDYsNiArNDYsNyBAQAogI2ltcG9ydCAiUGFnZS5oIgogI2ltcG9y
dCAiUGFnZU92ZXJsYXlDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJTZXR0aW5ncy5oIgorI2ltcG9y
dCAiVGV4dEl0ZXJhdG9yLmgiCiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNp
bXBvcnQgPHBhbC9tYWMvRGF0YURldGVjdG9yc1NvZnRMaW5rLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWJh
NzI5OTUzZDNkLi4wY2IzZjVkOTYwNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdl
TG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEt
MDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAg
ICAgIFtHVEtdW2ExMXldIEFkZCBhIGJ1aWxkIG9wdGlvbiB0byBlbmFibGUgQVRTUEkKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDI1NAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGxh
dGZvcm1Jbml0aWFsaXplKTogQWRkIEFUSyBpZmRlZi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2d0
ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWlu
KTogRGlzYWJsZSBBVEsvR1RLIGFjY2Vzc2liaWxpdHkgc3VwcG9ydCBpbiB0aGUgV2ViUHJvY2Vz
cyB3aGVuIHVzaW5nIEFUU1BJLgorCiAyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBSRUdSRVNTSU9OKHIyNzQ5MjkpOiBbQ29v
cmRpbmF0ZWRHcmFwaGljc10gRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjpjcmVhdGVE
aXNwbGF5UmVmcmVzaE1vbml0b3IgaXMgbm8gbG9uZ2VyIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBlYzA3OWY3
YjZkMGUuLmMwNTE0YzBkYzhhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcApAQCAtNTYsNyArNTYsNyBAQCB1c2luZyBuYW1l
c3BhY2UgV2ViQ29yZTsKIAogdm9pZCBXZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogewot
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRLKQogICAgIC8vIENyZWF0ZSB0aGUgYWNjZXNzaWJsZSBvYmplY3QgKHRoZSBwbHVnKSB0
aGF0IHdpbGwgc2VydmUgYXMgdGhlCiAgICAgLy8gZW50cnkgcG9pbnQgdG8gdGhlIFdlYiBwcm9j
ZXNzLCBhbmQgc2VuZCBhIG1lc3NhZ2UgdG8gdGhlIFVJCiAgICAgLy8gcHJvY2VzcyB0byBjb25u
ZWN0IHRoZSB0d28gd29ybGRzIHRocm91Z2ggdGhlIGFjY2Vzc2liaWxpdHkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKaW5kZXggMzY0
M2VlOTU5ZTVlLi5lZWFlYWJkZjg0NjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCkBAIC03MSw2ICs3MSwxNSBAQCBwdWJsaWM6
CiAKIGludCBXZWJQcm9jZXNzTWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CisjaWYgVVNF
KEFUU1BJKQorICAgIC8vIERpc2FibGUgQVRLL0dUSyBhY2Nlc3NpYmlsaXR5IHN1cHBvcnQgaW4g
dGhlIFdlYlByb2Nlc3MuCisjaWYgVVNFKEdUSzQpCisgICAgZ19zZXRlbnYoIkdUS19BMTFZIiwg
Im5vbmUiLCBUUlVFKTsKKyNlbHNlCisgICAgZ19zZXRlbnYoIk5PX0FUX0JSSURHRSIsICIxIiwg
VFJVRSk7CisjZW5kaWYKKyNlbmRpZgorCiAgICAgLy8gSWdub3JlIHRoZSBHVEtfVEhFTUUgZW52
aXJvbm1lbnQgdmFyaWFibGUsIHRoZSB0aGVtZSBpcyBhbHdheXMgc2V0IGJ5IHRoZSBVSSBwcm9j
ZXNzIG5vdy4KICAgICAvLyBUaGlzIGNhbGwgbmVlZHMgdG8gaGFwcGVuIGJlZm9yZSBhbnkgdGhy
ZWFkcyBiZWdpbiBleGVjdXRpb24KICAgICB1bnNldGVudigiR1RLX1RIRU1FIik7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25z
R1RLLmNtYWtlCmluZGV4IDA1MjhhNDlhM2NmZC4uZDMxMmQ0ZGRhYzU4IDEwMDY0NAotLS0gYS9T
b3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dU
Sy5jbWFrZQpAQCAtMzAsNyArMzAsNiBAQCBmaW5kX3BhY2thZ2UoT3BlbkdMRVMyKQogCiBpbmNs
dWRlKEdTdHJlYW1lckRlZmluaXRpb25zKQogCi1TRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0Vf
QVRLIFRSVUUpCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfQ0FJUk8gVFJVRSkKIFNFVF9B
TkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9YREdNSU1FIFRSVUUpCiBTRVRfQU5EX0VYUE9TRV9UT19C
VUlMRChVU0VfR0NSWVBUIFRSVUUpCkBAIC03Niw2ICs3NSw3IEBAIFdFQktJVF9PUFRJT05fREVG
SU5FKFVTRV9XUEVfUkVOREVSRVIgIldoZXRoZXIgdG8gZW5hYmxlIFdQRSByZW5kZXJpbmciIFBV
QkxJQyBPCiAjIFByaXZhdGUgb3B0aW9ucyBzcGVjaWZpYyB0byB0aGUgR1RLIHBvcnQuIENoYW5n
aW5nIHRoZXNlIG9wdGlvbnMgaXMKICMgY29tcGxldGVseSB1bnN1cHBvcnRlZC4gVGhleSBhcmUg
aW50ZW5kZWQgZm9yIHVzZSBvbmx5IGJ5IFdlYktpdCBkZXZlbG9wZXJzLgogV0VCS0lUX09QVElP
Tl9ERUZJTkUoVVNFX0FOR0xFX1dFQkdMICJXaGV0aGVyIHRvIHVzZSBBTkdMRSBhcyBXZWJHTCBi
YWNrZW5kLiIgUFJJVkFURSBPRkYpCitXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfQVRTUEkgIldo
ZXRoZXIgdG8gdXNlIHRoZSBBdHNwaSBhMTF5IGltcGxlbWVudGF0aW9uIGluc3RlYWQgb2YgQVRL
LiIgUFJJVkFURSBPRkYpCiAKIFdFQktJVF9PUFRJT05fREVQRU5EKEVOQUJMRV8zRF9UUkFOU0ZP
Uk1TIFVTRV9PUEVOR0xfT1JfRVMpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfQVNZTkNf
U0NST0xMSU5HIFVTRV9PUEVOR0xfT1JfRVMpCkBAIC0yNjcsNiArMjY3LDEyIEBAIGlmIChOT1Qg
RVhJU1RTICIke1RPT0xTX0RJUn0vZ2xpYi9hcHBseS1idWlsZC1yZXZpc2lvbi10by1maWxlcy5w
eSIpCiAgICAgc2V0KEJVSUxEX1JFVklTSU9OICJ0YXJiYWxsIikKIGVuZGlmICgpCiAKK2lmIChV
U0VfQVRTUEkpCisgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoRU5BQkxFX0FDQ0VTU0lCSUxJ
VFlfSVNPTEFURURfVFJFRSBUUlVFKQorZWxzZSAoKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JV
SUxEKFVTRV9BVEsgVFJVRSkKK2VuZGlmICgpCisKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhB
VkVfR1RLX1VOSVhfUFJJTlRJTkcgJHtHVEtfVU5JWF9QUklOVF9GT1VORH0pCiBTRVRfQU5EX0VY
UE9TRV9UT19CVUlMRChIQVZFX09TX0RBUktfTU9ERV9TVVBQT1JUIDEpCiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAzYTRhNDliNzc3MjUuLjk3
NmU0NDQ1YmYyMSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDIwMCBAQAorMjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQg
b3B0aW9uIHRvIGVuYWJsZSBBVFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQWRkIHN0dWJzIGZvciBXVFIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRh
dGlvbi4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVlTW9kZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJc29sYXRlZE9iamVjdCBjb25zdCk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Lmg6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBsYXRmb3JtVUlF
bGVtZW50KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsu
Y3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6Cisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlckF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2Up
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9jdXNlZEVsZW1lbnQpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlz
dGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVtb3ZlTm90
aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcDogQWRkZWQuCisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp+QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJlbik6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hpbGRyZW5Db3VudCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhPZkNoaWxkKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hpbGRBdEluZGV4KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGlua2VkVUlFbGVtZW50QXRJbmRleCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0
SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRmxvd1Rv
RWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
cmlhQ29udHJvbHNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmRpc2Nsb3NlZFJvd0F0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpyb3dBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c2VsZWN0ZWRDaGlsZEF0SW5kZXggY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkcmVuQ291bnQgY29uc3QpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZFJvd0F0SW5kZXgpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZVVJRWxlbWVudCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRCeVJvdyk6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkxpbmtlZFVJRWxlbWVu
dHMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZE
b2N1bWVudExpbmtzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0
cmlidXRlc09mQ2hpbGRyZW4pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphbGxBdHRyaWJ1dGVzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c3RyaW5nRGVzY3JpcHRpb25PZkF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nQXR0cmlidXRlVmFsdWUpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpudW1iZXJBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUg
Y29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dIZWFkZXJz
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uSGVh
ZGVycyBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxl
bWVudEF0dHJpYnV0ZVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6Ym9vbEF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0YWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU3VwcG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyYW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZSk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1YnJvbGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpyb2xlRGVzY3JpcHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpjb21wdXRlZFJvbGVTdHJpbmcpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0aXRsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRlc2NyaXB0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6b3JpZW50YXRpb24gY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzdHJpbmdWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Omxhbmd1YWdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRl
eHQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eSk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OndpZHRoKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aGVpZ2h0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y2xpY2tQb2ludFgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
bGlja1BvaW50WSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZh
bHVlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFs
dWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXhWYWx1ZSk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24pOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVO
dW1iZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0
aW9uU3VwcG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJ
bmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzUmVxdWlyZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc0ZvY3VzZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNTZWxlY3RlZE9wdGlvbkFjdGl2ZSBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXhwYW5kZWQgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0NoZWNrZWQgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUgY29uc3QpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoaWVyYXJjaGljYWxMZXZlbCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNwZWFrQXMpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhSXNHcmFiYmVkIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYURyb3BFZmZlY3RzIGNv
bnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5lKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3NpdGlvbik6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yUmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9y
UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVk
U3RyaW5nUmFuZ2VJc01pc3NwZWxsZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojp1aUVsZW1lbnRDb3VudEZvclNlYXJjaFByZWRpY2F0ZSk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZSk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdFRleHRXaXRoQ3JpdGVy
aWEpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZD
b2x1bW5IZWFkZXJzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0
cmlidXRlc09mUm93SGVhZGVycyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXR0cmlidXRlc09mVmlzaWJsZUNlbGxzKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mSGVhZGVyKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93Q291bnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpjb2x1bW5Db3VudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmluZGV4SW5UYWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJvd0luZGV4UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpjb2x1bW5JbmRleFJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Omhvcml6b250YWxTY3JvbGxiYXIgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkVGV4dFJhbmdlKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmNyZW1lbnQpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZWNyZW1lbnQpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzaG93TWVudSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnByZXNzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c2V0U2VsZWN0ZWRDaGlsZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlU2VsZWN0aW9uQXRJbmRleCBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsZWFyU2VsZWN0ZWRDaGls
ZHJlbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vz
c2liaWxpdHlWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmRvY3VtZW50RW5jb2RpbmcpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpkb2N1bWVudFVSSSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnVybCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFkZE5vdGlmaWNh
dGlvbkxpc3RlbmVyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVt
b3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0ZvY3VzYWJsZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzU2VsZWN0YWJsZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzTXVsdGlTZWxlY3RhYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNWaXNpYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNPZmZTY3JlZW4gY29uc3QpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0NvbGxhcHNlZCBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSWdub3JlZCBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2luZ2xlTGluZSBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzTXVsdGlMaW5lIGNvbnN0KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGFzUG9wdXAgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0YWtlRm9jdXMpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0YWtlU2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRkU2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlU2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6bGluZVRleHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXIpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JFbGVt
ZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJh
bmdlTGVuZ3RoKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJldmlv
dXNUZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4
dFRleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJp
bmdGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Up
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9y
VGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZW5kVGV4dE1hcmtlckZvckJvdW5kcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvckJvdW5kcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JQb2ludCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcik6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JU
ZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlV2l0aE9wdGlvbnMpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtl
clJhbmdlQ29udGFpbnNBdHRyaWJ1dGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjppbmRleEZvclRleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc1RleHRNYXJrZXJWYWxpZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZFRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9NYWtlVmlzaWJsZVdpdGhT
dWJGb2N1cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1cHBvcnRl
ZEFjdGlvbnMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
YXRoRGVzY3JpcHRpb24gY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjptYXRoUG9zdHNjcmlwdHNEZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQcmVzY3JpcHRzRGVzY3JpcHRpb24gY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGFzc0xpc3QgY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGFyYWN0ZXJBdE9mZnNldCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OndvcmRBdE9mZnNldCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVBdE9mZnNldCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbnRlbmNlQXRPZmZzZXQpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZXBsYWNlVGV4dEluUmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNlcnRUZXh0KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cG9wdXBWYWx1ZSBjb25zdCk6CisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6
OmRlZmF1bHRzKToKKwogMjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkgaXMg
YWx3YXlzIHNraXBwZWQgaW4gdGhlIGJvdHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5j
cHAKaW5kZXggNmViYTE0YTFhNzBjLi5lYWY1OGE2OTk3NjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3Bw
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXIuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKICNpbmNsdWRlICJKU0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmgiCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAmJiBQTEFURk9S
TShNQUMpCiAjaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9BY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5o
PgogI2luY2x1ZGUgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KICNlbmRpZgpAQCAtNjgs
MTAgKzY4LDEyIEBAIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnNldElzb2xhdGVkVHJl
ZU1vZGUoYm9vbCBmbGFnKQogI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CiB2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2RlKCkK
IHsKKyNpZiBQTEFURk9STShNQUMpCiAgICAgLy8gT3ZlcnJpZGUgdG8gc2V0IGlkZW50aWZpZXIg
dG8gVm9pY2VPdmVyIHNvIHRoYXQgcmVxdWVzdHMgYXJlIGhhbmRsZWQgaW4gaXNvbGF0ZWQgbW9k
ZS4KICAgICBfQVhTZXRDbGllbnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKG1fYWNjZXNzaWJpbGl0
eUlzb2xhdGVkVHJlZU1vZGUgPyAoQVhDbGllbnRUeXBlKWtBWENsaWVudFR5cGVXZWJLaXRUZXN0
aW5nIDoga0FYQ2xpZW50VHlwZU5vQWN0aXZlUmVxdWVzdEZvdW5kKTsKICAgICBfQVhTU2V0SXNv
bGF0ZWRUcmVlTW9kZShtX2FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVNb2RlID8gQVhTSXNvbGF0
ZWRUcmVlTW9kZU1haW5UaHJlYWQgOiBBWFNJc29sYXRlZFRyZWVNb2RlT2ZmKTsKICAgICBtX3Vz
ZU1vY2tBWFRocmVhZCA9IFdLQWNjZXNzaWJpbGl0eUNhblVzZVNlY29uZGFyeUFYVGhyZWFkKElu
amVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKSk7CisjZW5kaWYKIH0KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAppbmRleCAxODliYTlhMWI5YWYu
LmVhNjQwMGJjNzI4YiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCkBAIC01NSwx
MCArNTUsMTQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ZhbGlkKCkgY29uc3QK
ICAgICByZXR1cm4gbV9lbGVtZW50OyAgICAgICAgICAgIAogfQogCi0jaWYgIUVOQUJMRShBQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisjaWYgIVBMQVRGT1JNKE1BQykKIGJvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNJc29sYXRlZE9iamVjdCgpIGNvbnN0CiB7CisjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCiAg
ICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmgg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaAppbmRleCBiMjNlNzE3Zjg2MmEuLjNlNWUwY2VlNjlmZCAxMDA2NDQKLS0tIGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmls
aXR5VUlFbGVtZW50LmgKQEAgLTQ3LDYgKzQ3LDExIEBAIHVzaW5nIFBsYXRmb3JtVUlFbGVtZW50
ID0gaWQ7CiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIu
aD4KIHR5cGVkZWYgR1JlZlB0cjxBdGtPYmplY3Q+IFBsYXRmb3JtVUlFbGVtZW50OworI2VsaWYg
SEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCituYW1lc3BhY2UgV2ViQ29yZSB7Citj
bGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk7Cit9Cit0eXBlZGVmIFdlYkNvcmU6OkFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaSogUGxhdGZvcm1VSUVsZW1lbnQ7CiAjZWxzZQogdHlwZWRlZiB2
b2lkKiBQbGF0Zm9ybVVJRWxlbWVudDsKICNlbmRpZgpAQCAtNzEsNiArNzYsOCBAQCBwdWJsaWM6
CiAKICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0
dXJuIG1fZWxlbWVudC5nZXQoKTsgfQorI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRTUEkpCisgICAgUGxhdGZvcm1VSUVsZW1lbnQgcGxhdGZvcm1VSUVsZW1lbnQoKSB7IHJldHVy
biBtX2VsZW1lbnQuZ2V0KCk7IH0KICNlbHNlCiAgICAgUGxhdGZvcm1VSUVsZW1lbnQgcGxhdGZv
cm1VSUVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1lbnQ7IH0KICNlbmRpZgpAQCAtMzg5LDcgKzM5
Niw3IEBAIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxl
bWVudCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Jik7CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCisjaWYgIVBMQVRGT1JNKENPQ09BKSAm
JiAhVVNFKEFUU1BJKQogICAgIFBsYXRmb3JtVUlFbGVtZW50IG1fZWxlbWVudDsKICNlbmRpZgog
CkBAIC00MTMsNiArNDIwLDggQEAgcHJpdmF0ZToKIAogI2lmIFVTRShBVEspCiAgICAgUmVmUHRy
PEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyPiBtX25vdGlmaWNhdGlvbkhhbmRsZXI7
CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV9lbGVtZW50OwogI2VuZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKaW5kZXggOGMyYWRhYzE5MDA4Li5jMTI0ODgw
NTliMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAK
QEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5oIgogCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgpAQCAtMTQ0LDQgKzE0NCw0IEBA
IGJvb2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVy
KCkKIAogfSAvLyBuYW1lc3BhY2UgV1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkp
CisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCmluZGV4
IGEyM2U3ODUxNzA3My4uNzlmNzc2ODRlYWIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxl
ckF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCkBAIC0yMCw3ICsyMCw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkhhbmRsZXJBdGsuaCIKIAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKQEAgLTI3OCw0ICsyNzgsNCBAQCBib29s
IEFjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyOjpkaXNjb25uZWN0QWNjZXNzaWJpbGl0
eUNhbGxiYWNrcygpCiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NF
U1NJQklMSVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vz
c2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5o
CmluZGV4IGRhNWQ4ZWNkZGIwNi4uZDJjNzg0OWE5ZjU4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
SGFuZGxlckF0ay5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgKQEAgLTE5LDcgKzE5LDcg
QEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNP
YmplY3RSZWYuaD4KICNpbmNsdWRlIDxhdGsvYXRrLmg+CkBAIC01Myw0ICs1Myw0IEBAIHByaXZh
dGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZ
KQorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggZDMyOTA5MDRhZjdhLi42NjNl
ZGU1MmE0ODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3Bw
CkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oIgogCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgiCkBAIC0yMjk5LDQgKzIyOTksNCBAQCBK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cG9wdXBWYWx1
ZSgpIGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJ
QklMSVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXJBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNzFkMzBmNDFkMThmCi0tLSAvZGV2L251
bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMgYXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dO
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgor
CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5
T2JqZWN0QXRzcGkuaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgor
CituYW1lc3BhY2UgV1RSIHsKKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRU
b0NvbnNpc3RlbnRTdGF0ZSgpCit7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5n
UmVmIGlkKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSgpCit7CisgICAgSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBsYXRmb3JtTmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVX
aXRoVVRGOENTdHJpbmcoImF0c3BpIikpOworICAgIHJldHVybiBwbGF0Zm9ybU5hbWU7Cit9CisK
K3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJl
bmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1
ZSkKK3sKK30KKworUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjpyb290RWxlbWVudCgpCit7CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmpl
Y3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CisgICAgYXV0byogZWxlbWVu
dCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KFdLQWNj
ZXNzaWJpbGl0eVJvb3RPYmplY3QocGFnZSkpOworCisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KTsKK30KKworUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpmb2N1c2VkRWxlbWVudCgpCit7CisgICAgV0tC
dW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5w
YWdlKCk7CisgICAgYXV0byogZWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaSo+KFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QocGFnZSkpOwor
CisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KTsKK30K
KworYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIo
SlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKQoreworICAgIHJldHVybiB0cnVlOworfQorCiti
b29sIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIKKworI2VuZGlm
IC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50QXRzcGkuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNw
aS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMC4uODlmZWNiOTkyNWQzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50QXRzcGkuY3BwCkBAIC0wLDAgKzEsODUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIx
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmgi
CisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZS5oIgorI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTU3RyaW5nUmVmLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
T3BhcXVlSlNTdHJpbmcuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0FjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaS5oPgorI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZUZyYW1lLmg+CisKK25hbWVzcGFjZSBX
VFIgeworCitBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBs
YXRmb3JtVUlFbGVtZW50IGVsZW1lbnQpCisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKK3sKK30K
KworQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50JiBvdGhlcikKKyAgICA6IEpTV3JhcHBhYmxlKCkKKyAgICAs
IG1fZWxlbWVudChvdGhlci5tX2VsZW1lbnQpCit7Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6On5BY2Nlc3NpYmlsaXR5VUlFbGVtZW50KCkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0VxdWFsKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIG90aGVyRWxlbWVudCkK
K3sKKyAgICByZXR1cm4gbV9lbGVtZW50LmdldCgpID09IG90aGVyRWxlbWVudC0+cGxhdGZvcm1V
SUVsZW1lbnQoKTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJl
bihWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+ID4mIGNoaWxkcmVuKQorewor
fQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdlKFZl
Y3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gPiYgY2hpbGRyZW4sIHVuc2lnbmVk
IGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpjaGlsZHJlbkNvdW50KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBv
aW50KGludCB4LCBpbnQgeSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordW5zaWduZWQg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhPZkNoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQqIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZEF0SW5kZXgodW5zaWduZWQg
aW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5rZWRVSUVsZW1lbnRBdEluZGV4
KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYU93bnNFbGVt
ZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFy
aWFGbG93VG9FbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVs
bHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmFyaWFDb250cm9sc0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93QXRJbmRleCh1bnNpZ25lZCBpbmRl
eCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5kZXgodW5zaWduZWQgaW5kZXgp
Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCh1bnNpZ25l
ZCBpbmRleCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordW5zaWduZWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGlsZHJlbkNvdW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkUm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVtZW50KCkKK3sKKyAgICByZXR1cm4gbnVs
bHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQoKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitS
ZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlz
Y2xvc2VkQnlSb3coKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mTGlua2VkVUlF
bGVtZW50cygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphdHRyaWJ1dGVzT2ZEb2N1bWVudExpbmtzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVh
dGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNoaWxkcmVuKCkKK3sKKyAgICByZXR1
cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMoKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRGVzY3Jp
cHRpb25PZkF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1
cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0F0dHJpYnV0ZVZhbHVl
KEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51
bWJlckF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4g
MDsKK30KKworSlNWYWx1ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRBcnJh
eUF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworSlNWYWx1ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dI
ZWFkZXJzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNWYWx1ZVJlZiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5IZWFkZXJzKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJp
YnV0ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworYm9vbCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0F0dHJpYnV0ZVNldHRhYmxlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBw
b3J0ZWQoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmFtZXRl
cml6ZWRBdHRyaWJ1dGVOYW1lcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojpyb2xlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnN1YnJvbGUoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhD
aGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6cm9sZURlc2NyaXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZygpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSgpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbigp
IGNvbnN0Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7
Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
dHJpbmdWYWx1ZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
MCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpsYW5ndWFnZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpoZWxwVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4
KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnkoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6d2lkdGgoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aGVpZ2h0KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9pbnRYKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9pbnRZKCkKK3sKKyAgICByZXR1cm4g
MDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1p
blZhbHVlKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6Om1heFZhbHVlKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24oKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitpbnQg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKK3sKKyAg
ICByZXR1cm4gLTE7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0Fj
dGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0VuYWJsZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1JlcXVpcmVkKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2Vk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNTZWxlY3RlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0ZWRPcHRpb25BY3RpdmUoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0V4cGFuZGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNDaGVja2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmRldGVybWluYXRlKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpoaWVyYXJjaGljYWxMZXZlbCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWtB
cygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9
CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUlzR3JhYmJlZCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXJpYURyb3BFZmZlY3RzKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworaW50IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmxpbmVGb3JJbmRleChpbnQgaW5kZXgpCit7CisgICAgcmV0dXJuIC0xOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFu
Z2VGb3JMaW5lKGludCBsaW5lKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3NpdGlvbihpbnQgeCwgaW50IHkpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib3VuZHNGb3JSYW5nZSh1bnNpZ25l
ZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0
ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVu
c2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWdu
ZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdS
YW5nZUlzTWlzc3BlbGxlZCh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKwordW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dWlFbGVtZW50Q291bnRGb3JTZWFyY2hQcmVkaWNhdGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQqIHN0YXJ0RWxlbWVudCwgYm9vbCBpc0RpcmVjdGlvbk5leHQs
IEpTVmFsdWVSZWYgc2VhcmNoS2V5LCBKU1N0cmluZ1JlZiBzZWFyY2hUZXh0LCBib29sIHZpc2li
bGVPbmx5LCBib29sIGltbWVkaWF0ZURlc2NlbmRhbnRzT25seSkKK3sKKyAgICByZXR1cm4gMDsK
K30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCogc3RhcnRFbGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwg
SlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpTU3RyaW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJs
ZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVzY2VuZGFudHNPbmx5KQoreworICAgIHJldHVybiBudWxs
cHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c2VsZWN0VGV4dFdpdGhDcml0ZXJpYShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNTdHJpbmdS
ZWYgYW1iaWd1aXR5UmVzb2x1dGlvbiwgSlNWYWx1ZVJlZiBzZWFyY2hTdHJpbmdzLCBKU1N0cmlu
Z1JlZiByZXBsYWNlbWVudFN0cmluZywgSlNTdHJpbmdSZWYgYWN0aXZpdHkpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5IZWFkZXJzKCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd0hlYWRlcnMoKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRl
c09mQ29sdW1ucygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
MCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVzT2ZSb3dzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlZpc2libGVDZWxscygpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIoKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitp
bnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93Q291bnQoKQoreworICAgIHJldHVybiAwOwor
fQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uQ291bnQoKQoreworICAgIHJl
dHVybiAwOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKCkK
K3sKKyAgICByZXR1cm4gLTE7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojpyb3dJbmRleFJhbmdlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitSZWZQdHI8QWNjZXNz
aWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFu
ZFJvdyh1bnNpZ25lZCBjb2wsIHVuc2lnbmVkIHJvdykKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6Omhvcml6b250YWxTY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6dmVydGljYWxTY3JvbGxiYXIoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0
ZWRUZXh0UmFuZ2UoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4
dFJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVudCgpCit7
Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVjcmVtZW50KCkKK3sKK30KKwor
dm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzaG93TWVudSgpCit7Cit9CisKK3ZvaWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3MoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVu
dCkgY29uc3QKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3Rl
ZENoaWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKK30KKwordm9pZCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb25BdEluZGV4KHVuc2lnbmVkIGluZGV4KSBj
b25zdAoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsZWFyU2VsZWN0ZWRD
aGlsZHJlbigpIGNvbnN0Cit7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphY2Nlc3NpYmlsaXR5VmFsdWUoKSBjb25zdAoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZygpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVS
SSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1cmwo
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpT
VmFsdWVSZWYgZnVuY3Rpb25DYWxsYmFjaykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQor
eworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
Rm9jdXNhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFibGUo
KSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc1Zpc2libGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09mZlNjcmVlbigpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29sbGFwc2Vk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNJZ25vcmVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTaW5nbGVMaW5lKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aUxp
bmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpoYXNQb3B1cCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VGb2N1cygpCit7Cit9CisKK3ZvaWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6dGFrZVNlbGVjdGlvbigpCit7Cit9CisKK3ZvaWQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YWRkU2VsZWN0aW9uKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb24oKQoreworfQorCisvLyBUZXh0IG1hcmtlcnMK
K1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpsaW5lVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogdGV4dE1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRN
YXJrZXJSYW5nZUZvckVsZW1lbnQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRl
eHRNYXJrZXJSYW5nZUxlbmd0aChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkK
K3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmV2aW91c1RleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0
cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRl
eHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXJSYW5nZSogbWFya2VyUmFuZ2UpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlclJhbmdlKiBtYXJrZXJSYW5nZSwgSlNTdHJpbmdSZWYgc2VhcmNoVGV4dCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRN
YXJrZXJSYW5nZUZvck1hcmtlcnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHN0YXJ0TWFya2Vy
LCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogZW5kTWFya2VyKQoreworICAgIHJldHVybiBudWxs
cHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5
VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVm
UHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRU
ZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2Uq
IHJhbmdlKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0
eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JCb3Vu
ZHMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yQm91bmRzKGludCB4LCBpbnQgeSwgaW50IHdp
ZHRoLCBpbnQgaGVpZ2h0KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJG
b3JQb2ludChpbnQgeCwgaW50IHkpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0
cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3Np
YmlsaXR5RWxlbWVudEZvclRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtl
cikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFu
Z2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSopCit7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlV2l0aE9wdGlvbnMoQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXJSYW5nZSosIGJvb2wpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZUNvbnRhaW5zQXR0cmlidXRlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSwgQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitpbnQg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhGb3JUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlU
ZXh0TWFya2VyKiBtYXJrZXIpCit7CisgICAgcmV0dXJuIC0xOworfQorCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1hcmtlclZhbGlkKEFjY2Vzc2liaWxpdHlUZXh0TWFya2Vy
KiB0ZXh0TWFya2VyKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworUmVmUHRyPEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9ySW5k
ZXgoaW50IHRleHRJbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRN
YXJrZXIoKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0
eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIoKQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNl
dFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
Y3JvbGxUb01ha2VWaXNpYmxlKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzY3JvbGxUb0dsb2JhbFBvaW50KGludCB4LCBpbnQgeSkKK3sKK30KKwordm9pZCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKGludCB4LCBp
bnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworfQorCitKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3VwcG9ydGVkQWN0aW9ucygpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpwYXRoRGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bWF0aFBvc3RzY3JpcHRzRGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpjbGFzc0xpc3QoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hhcmFjdGVy
QXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OndvcmRBdE9mZnNldChpbnQgb2Zmc2V0KQoreworICAgIHJldHVybiBKU1N0
cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUF0T2Zmc2V0KGludCBvZmZzZXQpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZW50ZW5jZUF0
T2Zmc2V0KGludCBvZmZzZXQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVwbGFjZVRl
eHRJblJhbmdlKEpTU3RyaW5nUmVmLCBpbnQsIGludCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5zZXJ0VGV4dChKU1N0cmluZ1JlZikK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1cFZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVs
bHB0cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV1RSCisKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lC
SUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
UGxhdGZvcm1HVEsuY21ha2UgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNt
YWtlCmluZGV4IDZmODM2NmI2M2U0My4uODk2MmU2NDVlOWE5IDEwMDY0NAotLS0gYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQwLDYgKzQwLDkgQEAgbGlzdChBUFBFTkQgV2Vi
S2l0VGVzdFJ1bm5lckluamVjdGVkQnVuZGxlX1NPVVJDRVMKICAgICBJbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCiAgICAgSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCiAKKyAgICBJbmplY3RlZEJ1
bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcAorICAgIEluamVjdGVk
QnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKKwogICAgIEluamVj
dGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3RrLmNwcAogICAgIEluamVjdGVkQnVuZGxlL2d0
ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAKICAgICBJbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRC
dW5kbGVVdGlsaXRpZXMuY3BwCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RPcHRpb25zLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCmlu
ZGV4IDhlMmE3Zjg4OGMwZC4uYTU2MzU2MGUwY2NhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rl
c3RPcHRpb25zLmNwcApAQCAtODgsNiArODgsOSBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RP
cHRpb25zOjpkZWZhdWx0cygpCiAgICAgICAgICAgICB7ICJJbnB1dFR5cGVNb250aEVuYWJsZWQi
LCB0cnVlIH0sCiAgICAgICAgICAgICB7ICJJbnB1dFR5cGVUaW1lRW5hYmxlZCIsIHRydWUgfSwK
ICAgICAgICAgICAgIHsgIklucHV0VHlwZVdlZWtFbmFibGVkIiwgdHJ1ZSB9LAorI2lmIFVTRShB
VFNQSSkKKyAgICAgICAgICAgIHsgIklzQWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQi
LCB0cnVlIH0sCisjZW5kaWYKICAgICAgICAgICAgIHsgIkphdmFTY3JpcHRDYW5BY2Nlc3NDbGlw
Ym9hcmQiLCB0cnVlIH0sCiAgICAgICAgICAgICB7ICJKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NB
dXRvbWF0aWNhbGx5IiwgdHJ1ZSB9LAogICAgICAgICAgICAgeyAiTGFyZ2VJbWFnZUFzeW5jRGVj
b2RpbmdFbmFibGVkIiwgZmFsc2UgfSwK
</data>
<flag name="commit-queue"
          id="461436"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438130</attachid>
            <date>2021-09-14 06:41:12 -0700</date>
            <delta_ts>2021-09-14 07:14:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-atspi.diff</filename>
            <type>text/plain</type>
            <size>101324</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4YTBhNmEwNDExMWYuLjNi
MzE5ZTM3ZGQwYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTMgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIHRvIGEgcnVudGltZSBm
bGFnLCBzdGFydCBydW5uaW5nIHRlc3RzIGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNiMmU1NjhkOTUzZS4uMzlkZGNl
ZDgxNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBi
dWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdp
dGggQVRTUEkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKIDIwMjEtMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHRoYXQgdXNlcyBQQ00gZGFlbW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDlkM2NjZTk3YzA4NS4uNjk2NjJiYmI5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA3OCw2ICsxMDc4
LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgICBXZWJLaXRMZWdh
Y3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAgICJVU0UoQVRTUEkp
IjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVs
dDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxM2Q3YWNkMTk0NjUuLmQ3MDJiN2U1ZTQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBv
cHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0aW9uIGFuZCBzZXZl
cmFsIGJ1aWxkIGZpeGVzIHdoZW4gQVRLIGlzIGRpc2FibGVkIGFuZCBpc29sYXRlZCB0cmVlIGVu
YWJsZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Vz
R1RLLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmluaXRpYWxpemVTZWNvbmRhcnlB
WFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1c2VkT25BWFRocmVh
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hN
YXRjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdy
YXBwZXIpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHA6CisgICAgICAgICogZWRpdGluZy9hdHNw
aS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5h
YmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1
Li5hOGEwMWYwNmViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0
KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9hdHNwaSIKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BhZ2UvZ3RrIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRh
IgpAQCAtNTMsNiArNTQsOCBAQCBpZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxp
c3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fk
d2FpdGEvU2Nyb2xsYmFyVGhlbWVBZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGlj
YXRpb25HTGliLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMx
MmVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaS5jcHAKK2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0
c3BpLmNwcAorCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2Jq
ZWN0QXRzcGkuY3BwCisKIGVkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0
ay5jcHAKIGVkaXRpbmcvZ3RrL1dlYkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDg5ZjhhNjViMTVm
ZS4uOTY4NzU5NGE4ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTc3MCw5ICs3NzAsMTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogYm9vbCBBWE9iamVjdENhY2hlOjpj
bGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSgpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKICAgICBhdXRvIGNsaWVudCA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVz
dGVkKCk7CiAgICAgcmV0dXJuIGNsaWVudCA9PSBrQVhDbGllbnRUeXBlVm9pY2VPdmVyCiAgICAg
ICAgIHx8IFVOTElLRUxZKGNsaWVudCA9PSBrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyk7Cisj
ZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCiB9CiAKIGJvb2wgQVhPYmplY3RDYWNoZTo6
aXNJc29sYXRlZFRyZWVFbmFibGVkKCkKQEAgLTc4MSw2ICs3ODUsNyBAQCBib29sIEFYT2JqZWN0
Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgpCiAgICAgaWYgKGVuYWJsZWQpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBpZiAoIWlz
TWFpblRocmVhZCgpKSB7CiAgICAgICAgIEFTU0VSVChfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCkpOwogICAgICAgICBlbmFibGVkID0gdHJ1ZTsKQEAgLTc5
MCw2ICs3OTUsOSBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgp
CiAgICAgICAgICAgICAmJiBfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkgIT0gQVhTSXNvbGF0
ZWRUcmVlTW9kZU9mZiAvLyBVc2VkIHRvIHN3aXRjaCB2aWEgc3lzdGVtIGRlZmF1bHRzLgogICAg
ICAgICAgICAgJiYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKICAgICB9CisjZWxzZQor
ICAgIGVuYWJsZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KQEAg
LTgxMywxMCArODIxLDEyIEBAIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVj
dCgpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aW5pdGlhbGl6ZVNlY29uZGFyeUFYVGhyZWFkKCkK
IHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUg
Y3JlYXRlZCBvdXIgdHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKICAgICAv
LyBzbyBmdXR1cmUgcmVxdWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgogICAgIGlm
IChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9uSXNBdmFpbGFibGUoKSAmJiBfQVhTSXNvbGF0
ZWRUcmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCkK
ICAgICAgICAgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQodHJ1ZSk7CisjZW5kaWYK
IH0KIAogUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZUlz
b2xhdGVkVHJlZSgpIGNvbnN0CkBAIC04NDgsOCArODU4LDE0IEBAIEFYQ29yZU9iamVjdCogQVhP
YmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpCiBib29sIEFYT2JqZWN0Q2FjaGU6
OnVzZWRPbkFYVGhyZWFkKCkKIHsKICAgICBBU1NFUlQoaXNJc29sYXRlZFRyZWVFbmFibGVkKCkp
OworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAgICAgcmV0dXJuIF9BWFNJc29sYXRlZFRy
ZWVNb2RlRnVuY3Rpb25Jc0F2YWlsYWJsZSgpCiAgICAgICAgICYmIF9BWFNJc29sYXRlZFRyZWVN
b2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkOworI2VsaWYg
VVNFKEFUU1BJKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjNmY5OWZhYWI0YTUuLjJlMTYzZDMzNDYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0zNzgyLDcgKzM3ODIsMTQgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGV4dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxp
dHkKIHsKICAgICBpZiAoIWF4T2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIGF4T2JqZWN0LT5jb250YWluc1RleHQoY3JpdGVyaWEuc2VhcmNoVGV4dCk7CisKKyAgICAv
LyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgorICAgIGlmIChjcml0ZXJpYS5zZWFy
Y2hUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY29u
dGFpbnNQbGFpblRleHQoYXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENh
c2VJbnNlbnNpdGl2ZSkKKyAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpCisgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT5zdHJpbmdWYWx1
ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwogfQogCiBzdGF0aWMg
Ym9vbCBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRoUmVzdWx0TGltaXQoQVhDb3JlT2Jq
ZWN0KiBvYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEs
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAppbmRleCAyMTY4NDU0OGJhNDMuLjg1NmFlZjliMTZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IlNpbXBsZVJhbmdlLmgiCisjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KQEAgLTQyLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAiQ09NUHRyLmgiCiAj
ZW5kaWYKIAorI2lmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFUSykKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTUyLDYgKzU3LDggQEAgdHlwZWRlZiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIHR5cGVkZWYgc3RydWN0IF9O
U1JhbmdlIE5TUmFuZ2U7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0FYVGV4dE1hcmtlciogQVhU
ZXh0TWFya2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXJSYW5nZSog
QVhUZXh0TWFya2VyUmFuZ2VSZWY7CisjZWxpZiBVU0UoQVRTUEkpCit0eXBlZGVmIFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKICNl
bGlmIFVTRShBVEspCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0QWNjZXNzaWJsZSBXZWJLaXRBY2Nl
c3NpYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEFjY2Vzc2libGUgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CkBAIC0xMTI2LDE0ICsxMTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0aXRsZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgp
IGNvbnN0ID0gMDsKLSAgICBib29sIGNvbnRhaW5zVGV4dChTdHJpbmcgY29uc3QmIHRleHQpIGNv
bnN0Ci0gICAgewotICAgICAgICAvLyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgot
ICAgICAgICByZXR1cm4gdGV4dC5pc0VtcHR5KCkKLSAgICAgICAgICAgIHx8IGNvbnRhaW5zUGxh
aW5UZXh0KHRpdGxlKCksIHRleHQsIENhc2VJbnNlbnNpdGl2ZSkKLSAgICAgICAgICAgIHx8IGNv
bnRhaW5zUGxhaW5UZXh0KGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCB0ZXh0LCBDYXNlSW5z
ZW5zaXRpdmUpCi0gICAgICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChzdHJpbmdWYWx1ZSgp
LCB0ZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwotICAgIH0KIAogICAgIC8vIE1ldGhvZHMgZm9yIGRl
dGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIGJvb2wgaXNBUklBU3Rh
dGljVGV4dCgpIGNvbnN0ID0gMDsKQEAgLTE1MTQsNiArMTUxMyw4IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgQ09NUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBt
X3dyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV93cmFwcGVyOwogI2VsaWYgVVNFKEFUSykKICAgICBHUmVmUHRyPFdlYktpdEFj
Y2Vzc2libGU+IG1fd3JhcHBlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA3Yjg3MjdkYzJmMjcu
LjJiMWMzNDAyMTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDg1ZDJhZGFlY2Q5NS4uNDM0YmY1
MGNjNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQorCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCkBAIC0zMiw4ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCkBA
IC0yMDYsNCArMjA2LDQgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2V0TGVuZ3Ro
Rm9yVGV4dFJhbmdlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGUuY3BwCmluZGV4IDg2YzMwY2RkNjY2My4uYzk2YzJjMmZiYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC0xMzgyLDQgKzEzODIs
NCBAQCBjb25zdCBjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eShXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYgogICAgIHJldHVybiAoKnByb3BlcnR5UHRyKS5k
YXRhKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaAppbmRleCA3MmUxMTY1MWI3ZTku
LmVmOTIzNmE3M2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGUuaApAQCAtMjIsNyArMjIsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtODUsNCArODUsNCBAQCBib29sIHdlYmtpdEFjY2Vzc2libGVJc0RldGFj
aGVkKFdlYktpdEFjY2Vzc2libGUqKTsKIAogY29uc3QgY2hhciogd2Via2l0QWNjZXNzaWJsZUNh
Y2hlQW5kUmV0dXJuQXRrUHJvcGVydHkoV2ViS2l0QWNjZXNzaWJsZSosIEF0a0NhY2hlZFByb3Bl
cnR5LCBDU3RyaW5nJiYpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsuY3BwCmluZGV4IDA1Y2JkNmZlNzUxZC4uYzQwZjcyYzJjOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
QEAgLTMxMyw0ICszMTMsNCBAQCBXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rKiB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rR2V0T3JDcmVhdGUoQXRrSHlwZXJsaW5rSW1wbAogICAgIHJldHVybiBo
eXBlcmxpbms7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsu
aAppbmRleCA3OTk2YjBhNDRlYzMuLjE5ZmE5YzFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxp
bmsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSA8YXRrL2F0ay5oPgogCkBAIC01Miw0ICs1Miw0IEBAIFdlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBlcmxpbmtJ
bXBsCiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VB
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5jcHAKaW5kZXggY2EyM2FkZmQ3MWE3Li4xNGViNTc5ODg2YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUFjdGlvbi5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VBY3Rpb24uaAppbmRleCA2NzE4YjE0MGU2ZmIuLjAyZDc1OTZkOTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNj
ZXNzaWJsZUFjdGlvbkludGVyZmFjZUluaXQoQXRrQWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApp
bmRleCBiN2ZlNTViZmU0MzguLjk4NDU3YWFkZjA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTE2OSw0ICsxNjksNCBAQCB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21w
b25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKICNlbmRpZgogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9u
ZW50LmgKaW5kZXggOTY5MjNjNWE2OGMxLi43ZGFmMzQ3YzQ0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21w
b25lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKik7CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQu
Y3BwCmluZGV4IDJiMzEzYTBiMWJhNC4uN2YwYjVhMDA1NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCmluZGV4
IGM5NDhkMTk3NmViYS4uNmJlYWFlZDM5NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRG9jdW1lbnQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZURvY3Vt
ZW50SW50ZXJmYWNlSW5pdChBdGtEb2N1bWVudElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKaW5k
ZXggYWM3OTM4M2I4NjAzLi40OTRlYjAwMTgyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJs
ZVRleHQuaAppbmRleCA1ODQ1MGU0MTllZGQuLmVmNWY3ZDI2OWJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUVkaXRhYmxlVGV4dEludGVyZmFjZUluaXQoQXRrRWRpdGFibGVUZXh0
SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVybGlua0ltcGwuY3BwCmluZGV4IDJmYzRlMTk0MDhlNy4uNmE4ZWRkNDk2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oIgogCkBAIC0zNCw0ICszNCw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlu
a0ltcGxJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9oeXBlcmxpbmsgPSB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rSW1wbEdldEh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgKaW5kZXgg
YmM3ZWMxNzAzNzY0Li4yMDkyYmY3Yzk3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaApAQCAtMTksMTAgKzE5LDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlua0ltcGxJZmFjZSopOwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuY3BwCmluZGV4IGE3OGQ4ODMyYWE0ZC4uNTIzYmFiOTZmMGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
SHlwZXJ0ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaAppbmRleCA1NDhjZDYwOGE0NmYuLmMzZjYxMzg1ZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUh5cGVydGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaApAQCAtMTksMTAgKzE5LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUh5cGVydGV4dEludGVyZmFjZUluaXQoQXRrSHlwZXJ0ZXh0SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKaW5kZXggNjMzYzk3MGQwZTQxLi4yODYwNjAyNzE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUltYWdlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaAppbmRleCA0ZDljZTQwOTczZTUu
LjBkNWQ4Y2ViMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVJbWFnZUludGVyZmFjZUluaXQoQXRrSW1h
Z2VJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uY3BwCmluZGV4IDZlYTU3MDgxMzdiNC4uODZhMTk5OGNiY2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKaW5kZXggMmI5OTFkMjNiYTkwLi5jNTMzNGIz
YTIzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZWxlY3Rpb25JbnRlcmZhY2VJbml0KEF0
a1NlbGVjdGlvbklmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IDYyNmM3Mjc3NDUxNy4uZTVlZWM1YzViMWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5oCmluZGV4IDRlZmMyYjIwYTFlNy4uZjQyYjVjZmQ2YjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVRhYmxlSW50ZXJmYWNlSW5pdChBdGtUYWJsZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKaW5kZXgg
Mjg5ZDNhNzAxNWRmLi44NmU3YTc1ODY1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVRhYmxlLmgiCkBAIC0xNTMsNCArMTUzLDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxl
VGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSogaWZhY2UpCiAgICAgaWZh
Y2UtPmdldF90YWJsZSA9IHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxHZXRUYWJsZTsKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2Vs
bC5oCmluZGV4IDJiYmM3MzczMDVlMS4uZjJkNzAzNGU0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oCkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nl
c3NpYmxlVGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSopOwogCi0jZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5kZXgg
MDgxZmE4YzM2MWIwLi4wYTg2ZDQ0M2Q1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGV4dC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGV4dC5oCmluZGV4IDExMjk1NWY0MGRmMC4uZWMyYWFlM2MyOWI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdl
YmtpdEFjY2Vzc2libGVUZXh0SW50ZXJmYWNlSW5pdChBdGtUZXh0SWZhY2UqKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXgg
MDRlZTg5MDM5YWZhLi4wODI1OWQ5OWYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVZhbHVlLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCmluZGV4IDM2OTZjYjBiODlkZC4uZDExZDVlODFl
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaApAQCAtMTksMTAgKzE5LDEw
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAK
IHZvaWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKik7
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCBkOWRjZGE5MDhm
MmUuLmIzZjg3NmQyNDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuaAppbmRleCBhMmZhY2FmODUyOGQuLmY1NDkzMDJm
ZTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCkBAIC0yMSw3ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpWaXNpYmxlU2VsCiAKIFdl
YkNvcmU6OkFYQ29yZU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0T2Zmc2V0VW5pZ25vcmVk
KFdlYkNvcmU6OkFYQ29yZU9iamVjdCosIGludCYgb2Zmc2V0KTsKIAotI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9i
amVjdENhY2hlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
WE9iamVjdENhY2hlQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uN2M0NDZkMDM2Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmpl
Y3QsIEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKK3sKK30KKwor
dm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmplY3Qp
Cit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNo
ZVVwZGF0ZSgpCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1O
b3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFRleHRDaGFuZ2UgdGV4
dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcmIHRleHQpCit7Cit9CisKK3Zv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIEFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudCkK
K3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0Zm9ybUhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKE5vZGUqIG9sZEZvY3VzZWROb2RlLCBOb2RlKiBuZXdGb2N1c2VkTm9kZSkKK3sK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDU4YjhiMDY2NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpjcmVhdGUoQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0KQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaShjb3Jl
T2JqZWN0KSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpKEFYQ29yZU9iamVjdCopCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRh
Y2htZW50VHlwZSkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVsdEJlaGF2aW9yOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZmYyMTQ0NWEwODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1
ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFYQ29yZU9iamVjdDsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKKyAgICB+QWNjZXNzaWJpbGl0
eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaShBWENvcmVPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGIwYmNmNTUyNjBmYS4uNGI4ZTYyODAx
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNzEsMTEgKzcxLDE1IEBAIHZv
aWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpCb3Vu
ZGluZ0JveFJlY3QsIG9iamVjdC5ib3VuZGluZ0JveFJlY3QoKSk7CisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uLCBvYmplY3Qu
ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRpZgogICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCwgb2JqZWN0LmVsZW1lbnRS
ZWN0KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cs
IG9iamVjdC5oYXNBUklBVmFsdWVOb3coKSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwg
b2JqZWN0Lmhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0
eShBWFByb3BlcnR5TmFtZTo6SGVscFRleHQsIG9iamVjdC5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQsIG9iamVjdC5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIsIG9iamVjdC5pc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250
YWluZXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKQEAgLTEzNywxMSArMTQxLDE1IEBAIHZvaWQgQVhJc29s
YXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlw
dGlvbiwgb2JqZWN0LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Qucm9sZVBs
YXRmb3JtU3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKS5pc29sYXRlZENvcHko
KSk7CisjZW5kaWYKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3VwcG9ydHNEYXRl
dGltZUF0dHJpYnV0ZSwgb2JqZWN0LnN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUm93Q291bnRDaGFuZ2UsIG9iamVj
dC5zdXBwb3J0c1Jvd0NvdW50Q2hhbmdlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUaXRsZUF0dHJpYnV0ZVZh
bHVlLCBvYmplY3QudGl0bGVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRp
ZgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVl
LCBvYmplY3QuZGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5j
YW5TZXRGb2N1c0F0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0
ZXMoKSk7CkBAIC00MDQsNyArNDEyLDkgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jvb3QKIAogICAg
IGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2JqZWN0KCkpOworI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UHJldmVudEtleWJvYXJkRE9NRXZl
bnREaXNwYXRjaCwgb2JqZWN0LnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSk7Cisj
ZW5kaWYKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlc3Npb25JRCwgb2Jq
ZWN0LnNlc3Npb25JRCgpKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRv
Y3VtZW50VVJJLCBvYmplY3QuZG9jdW1lbnRVUkkoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEb2N1bWVudEVuY29kaW5nLCBvYmplY3QuZG9j
dW1lbnRFbmNvZGluZygpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTUxNCw4ICs1MjQsMTIgQEAgdm9p
ZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIAogY29uc3QgQVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxk
cmVuKGJvb2wpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBBU1NFUlQoX0FY
U0lzb2xhdGVkVHJlZU1vZGVGdW5jdGlvbklzQXZhaWxhYmxlKCkgJiYgKChfQVhTSXNvbGF0ZWRU
cmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCAmJiAh
aXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHx8IChfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkg
PT0gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpKSk7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisjZW5kaWYKICAg
ICB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICBtX2NoaWxkcmVuLmNsZWFyKCk7CiAgICAgbV9j
aGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2hpbGRyZW5JRHMuc2l6ZSgpKTsKQEAg
LTYwMywxMiArNjE3LDE0IEBAIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVudFVSSSgp
IGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCiBi
b29sIEFYSXNvbGF0ZWRPYmplY3Q6OnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSBj
b25zdAogewogICAgIGlmIChhdXRvIHJvb3QgPSB0cmVlKCktPnJvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiByb290LT5ib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlByZXZlbnRL
ZXlib2FyZERPTUV2ZW50RGlzcGF0Y2gpOwogICAgIHJldHVybiBmYWxzZTsKIH0KKyNlbmRpZgog
CiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6ZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0CiB7CkBA
IC03NzEsMTIgKzc4NywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKGJvb2wgdmFsdWUpCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQog
dm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
KGJvb2wgdmFsdWUpCiB7CiAgICAgcGVyZm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFsmdmFsdWVd
KEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CiAgICAgICAgIG9iamVjdC0+c2V0UHJldmVudEtleWJv
YXJkRE9NRXZlbnREaXNwYXRjaCh2YWx1ZSk7CiAgICAgfSk7CiB9CisjZW5kaWYKIAogU1JHQkE8
dWludDhfdD4gQVhJc29sYXRlZE9iamVjdDo6Y29sb3JWYWx1ZSgpIGNvbnN0CiB7CkBAIC0xMTY3
LDYgKzExODUsNyBAQCBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydEZyYW1lVG9T
cGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEFjY2Vzc2liaQogICAgIH0pOwogfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCiBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydFJlY3RU
b1BsYXRmb3JtU3BhY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBBY2Nlc3NpYmlsaXR5Q29udmVy
c2lvblNwYWNlIHNwYWNlKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8RmxvYXRSZWN0PihbJnJlY3QsICZzcGFjZSwgdGhpc10g
KCkgLT4gRmxvYXRSZWN0IHsKQEAgLTExNzUsNiArMTE5NCw3IEBAIEZsb2F0UmVjdCBBWElzb2xh
dGVkT2JqZWN0Ojpjb252ZXJ0UmVjdFRvUGxhdGZvcm1TcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEFjCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSk7CiB9CisjZW5kaWYKIAogYm9vbCBB
WElzb2xhdGVkT2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UoY29uc3QgU3RyaW5nJiByZXBsYWNl
bWVudFRleHQsIGNvbnN0IFBsYWluVGV4dFJhbmdlJiB0ZXh0UmFuZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmgKaW5kZXggNmZiMWFkYWM4ZGFlLi5jNWMxOTM4YjY3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTMyMCwxMSArMzIwLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c0Fub255bW91c01hdGhPcGVyYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBbm9ueW1vdXNNYXRoT3BlcmF0b3IpOyB9CiAg
ICAgdm9pZCBtYXRoUHJlc2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcnMm
KSBvdmVycmlkZTsKICAgICB2b2lkIG1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11
bHRpc2NyaXB0UGFpcnMmKSBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGZpbGVVcGxvYWRCdXR0b25SZXR1cm5zVmFsdWVJblRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpGaWxlVXBsb2FkQnV0dG9u
UmV0dXJuc1ZhbHVlSW5UaXRsZSk7IH0KICAgICBTdHJpbmcgc3BlZWNoSGludEF0dHJpYnV0ZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlNwZWVjaEhpbnQpOyB9CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uQXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6RGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGhlbHBUZXh0QXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQpOyB9CiAgICAgU3RyaW5nIHRpdGxlQXR0cmlidXRlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6VGl0bGVBdHRyaWJ1dGVWYWx1ZSk7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBib29sIGNhcmV0QnJvd3NpbmdFbmFibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYXJldEJyb3dzaW5nRW5hYmxlZCk7
IH0KICNlbmRpZgpAQCAtMzY5LDcgKzM3MSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc2Vz
c2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50VVJJKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlz
cGF0Y2goKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gUGxhaW5UZXh0UmFuZ2Ug
c3VwcG9ydC4KICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDQ0LDcgKzQ0OCw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgc2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CiAjZW5kaWYK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFByZXZlbnRLZXlib2FyZERPTUV2ZW50
RGlzcGF0Y2goYm9vbCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIFN0cmluZyB0ZXh0VW5kZXJF
bGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSA9IEFjY2Vzc2liaWxpdHlU
ZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgQWNjZXNz
aWJpbGl0eVNlYXJjaERpcmVjdGlvbikgY29uc3Qgb3ZlcnJpZGU7CkBAIC02MzQsNyArNjQwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG92ZXJyaWRlQXR0YWNobWVudFBhcmVudChBWENvcmVPYmpl
Y3QqIHBhcmVudCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6SGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKTsgfQorI2VuZGlmCiAgICAgY29u
c3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcoYm9vbCBpbmNsdWRlU2VsZikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiB3
ZWJBcmVhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gb2JqZWN0QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCBkY2Y3ZWUwNjdkZjMuLjc1ZTYxYTMwY2Fm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVk
ZSAiQVhJc29sYXRlZE9iamVjdC5oIgogI2luY2x1ZGUgIkFYTG9nZ2VyLmgiCisjaW5jbHVkZSAi
QVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKaW5kZXggN2MzNDY5Njc5N2FiLi5jZjQy
ODYyMzlmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtMzQzLDcgKzM0MywxMSBAQCBwdWJs
aWM6CiAKICAgICBzdHJ1Y3QgTm9kZUNoYW5nZSB7CiAgICAgICAgIFJlZjxBWElzb2xhdGVkT2Jq
ZWN0PiBpc29sYXRlZE9iamVjdDsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgUmV0YWlu
UHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyOworI2VsaWYgVVNFKEFUU1BJ
KQorICAgICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXI7Cisj
ZW5kaWYKICAgICB9OwogCiAgICAgdm9pZCBnZW5lcmF0ZVN1YnRyZWUoQVhDb3JlT2JqZWN0Jiwg
QVhDb3JlT2JqZWN0KiwgYm9vbCBhdHRhY2hXcmFwcGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRPYmplY3RB
dHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNw
aS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMC4uMDY3ODY1NWNlOWViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3Bp
LmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBT
LkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkT2JqZWN0LmgiCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAmJiBVU0UoQVRTUEkpCisj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVz
KGNvbnN0IEFYQ29yZU9iamVjdCYpCit7Cit9CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6YXR0
YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKQor
eworICAgIHNldFdyYXBwZXIod3JhcHBlcik7Cit9CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6
ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2ht
ZW50VHlwZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oIGIvU291cmNlL1dlYkNv
cmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmluZGV4IGI0YzEwOTk1NzIwMC4uNGNiZjVhMzA5
MTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL0ZyYW1lU2VsZWN0aW9uLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCkBAIC0zNzUsNyAr
Mzc1LDcgQEAgaW5saW5lIHZvaWQgRnJhbWVTZWxlY3Rpb246OmNsZWFyVHlwaW5nU3R5bGUoKQog
ICAgIG1fdHlwaW5nU3R5bGUgPSBudWxscHRyOwogfQogCi0jaWYgIShFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQVRLKSkpCisjaWYgIShFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQVRLKSB8fCBVU0UoQVRTUEkp
KSkKIAogaW5saW5lIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JT
ZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJbnRlbnQmKQogewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwIGIv
U291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwCmluZGV4IDk3
MzRiNjhhNGY2NS4uZDI2MTQ5ZjY1YjNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCkBAIC0xMTYsNCAr
MTE2LDQgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVj
dGlvbkNoYW5nZShjb25zdCBBWFRleHRTdGF0ZUNoYW4KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9lZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGlu
Zy9hdHNwaS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAuLjQ5OWZkMTk4NDJjMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJhbWVTZWxlY3Rpb25BdHNwaS5jcHAKQEAgLTAsMCArMSwz
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRTUEkpCisKKyNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBGcmFtZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJp
bGl0eUZvclNlbGVjdGlvbkNoYW5nZShjb25zdCBBWFRleHRTdGF0ZUNoYW5nZUludGVudCYpCit7
CisgICAgaWYgKCFBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5RW5hYmxlZCgpKQorICAgICAg
ICByZXR1cm47Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwK
aW5kZXggNTY0M2ZmOGZmZmE3Li42MmNjYzNiMzYxMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LnlhbWwKQEAgLTI2OSw2ICsyNjksNyBAQCBJc0FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVFbmFi
bGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZToKICAgICBXZWJDb3JlOgorICAgICAg
VVNFKEFUU1BJKTogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKIAogSXNQZXJBY3Rpdml0eVN0
YXRlQ1BVVXNhZ2VNZWFzdXJlbWVudEVuYWJsZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQppbmRleCAzMjZlNjUxZjg4ZTYu
LmUzNzBjMjA5YmUwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2Vydmlj
ZXNPdmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC00Niw2ICs0Niw3IEBACiAjaW1wb3J0ICJQYWdl
LmgiCiAjaW1wb3J0ICJQYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCIKICNpbXBvcnQgIlNldHRpbmdz
LmgiCisjaW1wb3J0ICJUZXh0SXRlcmF0b3IuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6
Q29yZS5oPgogI2ltcG9ydCA8cGFsL21hYy9EYXRhRGV0ZWN0b3JzU29mdExpbmsuaD4KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxv
ZwppbmRleCBhYmE3Mjk5NTNkM2QuLjBjYjNmNWQ5NjA0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NSBAQAorMjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5j
b20+CisKKyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBB
VFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMw
MjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUpOiBBZGQgQVRLIGlmZGVmLgorICAgICAgICAqIFdl
YlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzc01haW4pOiBEaXNhYmxlIEFUSy9HVEsgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IGluIHRo
ZSBXZWJQcm9jZXNzIHdoZW4gdXNpbmcgQVRTUEkuCisKIDIwMjEtMDktMTQgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04ocjI3
NDkyOSk6IFtDb29yZGluYXRlZEdyYXBoaWNzXSBEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhp
Y3M6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBpcyBubyBsb25nZXIgdXNlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3Bw
IGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCmlu
ZGV4IGVjMDc5ZjdiNmQwZS4uYzA1MTRjMGRjOGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCkBAIC01Niw3ICs1Niw3IEBA
IHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtSW5pdGlh
bGl6ZSgpCiB7Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpICYmIFVTRShBVEspCiAgICAgLy8gQ3JlYXRlIHRoZSBhY2Nlc3NpYmxlIG9iamVjdCAo
dGhlIHBsdWcpIHRoYXQgd2lsbCBzZXJ2ZSBhcyB0aGUKICAgICAvLyBlbnRyeSBwb2ludCB0byB0
aGUgV2ViIHByb2Nlc3MsIGFuZCBzZW5kIGEgbWVzc2FnZSB0byB0aGUgVUkKICAgICAvLyBwcm9j
ZXNzIHRvIGNvbm5lY3QgdGhlIHR3byB3b3JsZHMgdGhyb3VnaCB0aGUgYWNjZXNzaWJpbGl0eQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0
ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNw
cAppbmRleCAzNjQzZWU5NTllNWUuLmVlYWVhYmRmODQ2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKQEAgLTcxLDYgKzcxLDE1
IEBAIHB1YmxpYzoKIAogaW50IFdlYlByb2Nlc3NNYWluKGludCBhcmdjLCBjaGFyKiogYXJndikK
IHsKKyNpZiBVU0UoQVRTUEkpCisgICAgLy8gRGlzYWJsZSBBVEsvR1RLIGFjY2Vzc2liaWxpdHkg
c3VwcG9ydCBpbiB0aGUgV2ViUHJvY2Vzcy4KKyNpZiBVU0UoR1RLNCkKKyAgICBnX3NldGVudigi
R1RLX0ExMVkiLCAibm9uZSIsIFRSVUUpOworI2Vsc2UKKyAgICBnX3NldGVudigiTk9fQVRfQlJJ
REdFIiwgIjEiLCBUUlVFKTsKKyNlbmRpZgorI2VuZGlmCisKICAgICAvLyBJZ25vcmUgdGhlIEdU
S19USEVNRSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHRoZW1lIGlzIGFsd2F5cyBzZXQgYnkg
dGhlIFVJIHByb2Nlc3Mgbm93LgogICAgIC8vIFRoaXMgY2FsbCBuZWVkcyB0byBoYXBwZW4gYmVm
b3JlIGFueSB0aHJlYWRzIGJlZ2luIGV4ZWN1dGlvbgogICAgIHVuc2V0ZW52KCJHVEtfVEhFTUUi
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2Nt
YWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggMDUyOGE0OWEzY2ZkLi5kMzEyZDRkZGFjNTggMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFr
ZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0zMCw3ICszMCw2IEBAIGZpbmRfcGFja2FnZShPcGVuR0xF
UzIpCiAKIGluY2x1ZGUoR1N0cmVhbWVyRGVmaW5pdGlvbnMpCiAKLVNFVF9BTkRfRVhQT1NFX1RP
X0JVSUxEKFVTRV9BVEsgVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9DQUlSTyBU
UlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX1hER01JTUUgVFJVRSkKIFNFVF9BTkRf
RVhQT1NFX1RPX0JVSUxEKFVTRV9HQ1JZUFQgVFJVRSkKQEAgLTc2LDYgKzc1LDcgQEAgV0VCS0lU
X09QVElPTl9ERUZJTkUoVVNFX1dQRV9SRU5ERVJFUiAiV2hldGhlciB0byBlbmFibGUgV1BFIHJl
bmRlcmluZyIgUFVCTElDIE8KICMgUHJpdmF0ZSBvcHRpb25zIHNwZWNpZmljIHRvIHRoZSBHVEsg
cG9ydC4gQ2hhbmdpbmcgdGhlc2Ugb3B0aW9ucyBpcwogIyBjb21wbGV0ZWx5IHVuc3VwcG9ydGVk
LiBUaGV5IGFyZSBpbnRlbmRlZCBmb3IgdXNlIG9ubHkgYnkgV2ViS2l0IGRldmVsb3BlcnMuCiBX
RUJLSVRfT1BUSU9OX0RFRklORShVU0VfQU5HTEVfV0VCR0wgIldoZXRoZXIgdG8gdXNlIEFOR0xF
IGFzIFdlYkdMIGJhY2tlbmQuIiBQUklWQVRFIE9GRikKK1dFQktJVF9PUFRJT05fREVGSU5FKFVT
RV9BVFNQSSAiV2hldGhlciB0byB1c2UgdGhlIEF0c3BpIGExMXkgaW1wbGVtZW50YXRpb24gaW5z
dGVhZCBvZiBBVEsuIiBQUklWQVRFIE9GRikKIAogV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxF
XzNEX1RSQU5TRk9STVMgVVNFX09QRU5HTF9PUl9FUykKIFdFQktJVF9PUFRJT05fREVQRU5EKEVO
QUJMRV9BU1lOQ19TQ1JPTExJTkcgVVNFX09QRU5HTF9PUl9FUykKQEAgLTI2Nyw2ICsyNjcsMTIg
QEAgaWYgKE5PVCBFWElTVFMgIiR7VE9PTFNfRElSfS9nbGliL2FwcGx5LWJ1aWxkLXJldmlzaW9u
LXRvLWZpbGVzLnB5IikKICAgICBzZXQoQlVJTERfUkVWSVNJT04gInRhcmJhbGwiKQogZW5kaWYg
KCkKIAoraWYgKFVTRV9BVFNQSSkKKyAgICBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChFTkFCTEVf
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFIFRSVUUpCitlbHNlICgpCisgICAgU0VUX0FORF9F
WFBPU0VfVE9fQlVJTEQoVVNFX0FUSyBUUlVFKQorZW5kaWYgKCkKKwogU0VUX0FORF9FWFBPU0Vf
VE9fQlVJTEQoSEFWRV9HVEtfVU5JWF9QUklOVElORyAke0dUS19VTklYX1BSSU5UX0ZPVU5EfSkK
IFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfT1NfREFSS19NT0RFX1NVUFBPUlQgMSkKIApk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDNhNGE0
OWI3NzcyNS4uOTc2ZTQ0NDViZjIxIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAwIEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBB
ZGQgYSBidWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIFdUUiBhY2Nlc3NpYmlsaXR5
IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlDb250cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2RlKToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lzb2xhdGVkT2JqZWN0IGNv
bnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
cGxhdGZvcm1VSUVsZW1lbnQpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcDoKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
SGFuZGxlckF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRrLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3Bp
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmplY3RBY2Nlc3NpYmlsaXR5
UHJlZmVyZW5jZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290
RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpmb2N1c2Vk
RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphZGROb3Rp
ZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6On5BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNFcXVhbCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmdldENo
aWxkcmVuKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRy
ZW5XaXRoUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGls
ZHJlbkNvdW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZWxlbWVu
dEF0UG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRleE9m
Q2hpbGQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZEF0SW5k
ZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5rZWRVSUVsZW1l
bnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYU93
bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmFyaWFDb250cm9sc0VsZW1lbnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93QXRJbmRleCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCBjb25zdCk6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRyZW5Db3VudCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkUm93QXRJ
bmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlFbGVt
ZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVu
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5Um93
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mTGlu
a2VkVUlFbGVtZW50cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0
dHJpYnV0ZXNPZkRvY3VtZW50TGlua3MpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphdHRyaWJ1dGVzT2ZDaGlsZHJlbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0ZVZhbHVlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXJyYXlBdHRy
aWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnJvd0hlYWRlcnMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpjb2x1bW5IZWFkZXJzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dWlFbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0ZWQpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJhbWV0ZXJpemVkQXR0cmlidXRlTmFt
ZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZyk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6bGFuZ3VhZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpoZWxwVGV4dCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OngpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp5KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d2lkdGgpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjbGlja1BvaW50WCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmNsaWNrUG9pbnRZKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aW50VmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1h
eFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNj
cmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydGlv
blBvaW50TGluZU51bWJlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJlZCBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNlZCBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0ZWQgY29uc3QpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkT3B0aW9uQWN0aXZlIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFeHBhbmRlZCBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ2hlY2tlZCBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5kZXRlcm1pbmF0ZSBj
b25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhpZXJhcmNoaWNh
bExldmVsIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Bl
YWtBcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFJc0dyYWJi
ZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRHJv
cEVmZmVjdHMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojps
aW5lRm9ySW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5n
ZUZvckxpbmUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZv
clBvc2l0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym91bmRz
Rm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdG
b3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0
ZWRTdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudENvdW50Rm9yU2VhcmNoUHJlZGljYXRlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJl
ZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0VGV4
dFdpdGhDcml0ZXJpYSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0
dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucyk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZWaXNpYmxlQ2VsbHMpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dDb3VudCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkNvdW50KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhciBjb25zdCk6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2FsU2Nyb2xsYmFyIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRUZXh0UmFuZ2Up
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZFRleHRS
YW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVudCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dNZW51KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3MpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXggY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb25BdElu
ZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xlYXJT
ZWxlY3RlZENoaWxkcmVuIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6dXJsKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFibGUgY29uc3QpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUgY29uc3QpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09mZlNjcmVlbiBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29sbGFwc2VkIGNvbnN0KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJZ25vcmVkIGNvbnN0KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTaW5nbGVMaW5lIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aUxpbmUgY29uc3Qp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNQb3B1cCBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VGb2N1cyk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VTZWxlY3Rpb24pOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxlY3Rpb24pOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb24pOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lVGV4dE1hcmtlclJhbmdlRm9yVGV4dE1h
cmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJS
YW5nZUZvckVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
ZXh0TWFya2VyUmFuZ2VMZW5ndGgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpwcmV2aW91c1RleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpuZXh0VGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2Vycyk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvclRleHRN
YXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRl
eHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0
TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRl
ZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VXaXRoT3B0aW9ucyk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdG
b3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0ZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4Rm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1hcmtlclZhbGlkKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvckluZGV4KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9NYWtlVmlzaWJsZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9p
bnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01ha2VW
aXNpYmxlV2l0aFN1YkZvY3VzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6c3VwcG9ydGVkQWN0aW9ucyBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2NyaXB0c0Rlc2NyaXB0aW9uIGNvbnN0KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNjcmlwdGlv
biBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlz
dCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoYXJhY3Rl
ckF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d29yZEF0
T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUF0T2Zm
c2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VudGVuY2VBdE9m
ZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlcGxhY2VUZXh0
SW5SYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2VydFRl
eHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1cFZhbHVlIGNv
bnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNtYWtlOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwOgorICAgICAgICAoV1RSOjpU
ZXN0T3B0aW9uczo6ZGVmYXVsdHMpOgorCiAyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBUZXN0V2ViS2l0QWNjZXNz
aWJpbGl0eSBpcyBhbHdheXMgc2tpcHBlZCBpbiB0aGUgYm90cwpkaWZmIC0tZ2l0IGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlD
b250cm9sbGVyLmNwcAppbmRleCA2ZWJhMTRhMWE3MGMuLmVhZjU4YTY5OTc2NiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJJ
bmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZS5oIgogI2luY2x1
ZGUgIkpTQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCIKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WV9JU09MQVRFRF9UUkVFKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
ICYmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxwYWwvc3BpL2NvY29hL0FjY2Vzc2liaWxpdHlT
dXBwb3J0U1BJLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5oPgogI2Vu
ZGlmCkBAIC02OCwxMCArNjgsMTIgQEAgdm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0
SXNvbGF0ZWRUcmVlTW9kZShib29sIGZsYWcpCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNP
TEFURURfVFJFRSkKIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnVwZGF0ZUlzb2xhdGVk
VHJlZU1vZGUoKQogeworI2lmIFBMQVRGT1JNKE1BQykKICAgICAvLyBPdmVycmlkZSB0byBzZXQg
aWRlbnRpZmllciB0byBWb2ljZU92ZXIgc28gdGhhdCByZXF1ZXN0cyBhcmUgaGFuZGxlZCBpbiBp
c29sYXRlZCBtb2RlLgogICAgIF9BWFNldENsaWVudElkZW50aWZpY2F0aW9uT3ZlcnJpZGUobV9h
Y2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA/IChBWENsaWVudFR5cGUpa0FYQ2xpZW50VHlw
ZVdlYktpdFRlc3RpbmcgOiBrQVhDbGllbnRUeXBlTm9BY3RpdmVSZXF1ZXN0Rm91bmQpOwogICAg
IF9BWFNTZXRJc29sYXRlZFRyZWVNb2RlKG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUg
PyBBWFNJc29sYXRlZFRyZWVNb2RlTWFpblRocmVhZCA6IEFYU0lzb2xhdGVkVHJlZU1vZGVPZmYp
OwogICAgIG1fdXNlTW9ja0FYVGhyZWFkID0gV0tBY2Nlc3NpYmlsaXR5Q2FuVXNlU2Vjb25kYXJ5
QVhUaHJlYWQoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpKTsKKyNl
bmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCmluZGV4IDE4
OWJhOWExYjlhZi4uZWE2NDAwYmM3MjhiIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKQEAgLTU1LDEwICs1NSwxNCBAQCBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVmFs
aWQoKSBjb25zdAogICAgIHJldHVybiBtX2VsZW1lbnQ7ICAgICAgICAgICAgCiB9CiAKLSNpZiAh
RU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpZiAhUExBVEZPUk0oTUFDKQog
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lzb2xhdGVkT2JqZWN0KCkgY29uc3QKIHsK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorICAgIHJldHVybiB0cnVl
OworI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGIyM2U3MTdmODYyYS4uM2U1ZTBjZWU2OWZkIDEwMDY0
NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtNDcsNiArNDcsMTEgQEAgdXNpbmcgUGxhdGZv
cm1VSUVsZW1lbnQgPSBpZDsKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL2ds
aWIvR1JlZlB0ci5oPgogdHlwZWRlZiBHUmVmUHRyPEF0a09iamVjdD4gUGxhdGZvcm1VSUVsZW1l
bnQ7CisjZWxpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTsKK30KK3R5cGVkZWYgV2Vi
Q29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKiBQbGF0Zm9ybVVJRWxlbWVudDsKICNlbHNl
CiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVUlFbGVtZW50OwogI2VuZGlmCkBAIC03MSw2ICs3Niw4
IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAgIGlkIHBsYXRmb3JtVUlFbGVt
ZW50KCkgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9CisjZWxpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVFNQSSkKKyAgICBQbGF0Zm9ybVVJRWxlbWVudCBwbGF0Zm9ybVVJRWxlbWVu
dCgpIHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQogI2Vsc2UKICAgICBQbGF0Zm9ybVVJRWxl
bWVudCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJuIG1fZWxlbWVudDsgfQogI2VuZGlmCkBA
IC0zODksNyArMzk2LDcgQEAgcHJpdmF0ZToKICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBs
YXRmb3JtVUlFbGVtZW50KTsKICAgICBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnN0IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQmKTsKIAotI2lmICFQTEFURk9STShDT0NPQSkKKyNpZiAhUExBVEZP
Uk0oQ09DT0EpICYmICFVU0UoQVRTUEkpCiAgICAgUGxhdGZvcm1VSUVsZW1lbnQgbV9lbGVtZW50
OwogI2VuZGlmCiAKQEAgLTQxMyw2ICs0MjAsOCBAQCBwcml2YXRlOgogCiAjaWYgVVNFKEFUSykK
ICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXI+IG1fbm90aWZpY2F0
aW9uSGFuZGxlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICBSZWZQdHI8V2ViQ29yZTo6QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiBtX2VsZW1lbnQ7CiAjZW5kaWYKICNlbmRpZgogfTsKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyQXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcAppbmRleCA4YzJhZGFjMTkw
MDguLmMxMjQ4ODA1OWIxZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9s
bGVyQXRrLmNwcApAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCiAKLSNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkp
CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCkBAIC0xNDQs
NCArMTQ0LDQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVtb3ZlTm90aWZpY2F0
aW9uTGlzdGVuZXIoKQogCiB9IC8vIG5hbWVzcGFjZSBXVFIKIAotI2VuZGlmIC8vIEhBVkUoQUND
RVNTSUJJTElUWSkKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0
ay5jcHAKaW5kZXggYTIzZTc4NTE3MDczLi43OWY3NzY4NGVhYjMgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25IYW5kbGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKQEAgLTIw
LDcgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5
Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oIgogCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lm
IEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgpAQCAtMjc4LDQgKzI3
OCw0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXI6OmRpc2Nvbm5lY3RB
Y2Nlc3NpYmlsaXR5Q2FsbGJhY2tzKCkKIAogfSAvLyBuYW1lc3BhY2UgV1RSCiAKLSNlbmRpZiAv
LyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaCBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25I
YW5kbGVyQXRrLmgKaW5kZXggZGE1ZDhlY2RkYjA2Li5kMmM3ODQ5YTlmNTggMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlO
b3RpZmljYXRpb25IYW5kbGVyQXRrLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaApAQCAt
MTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkK
KyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxKYXZhU2Ny
aXB0Q29yZS9KU09iamVjdFJlZi5oPgogI2luY2x1ZGUgPGF0ay9hdGsuaD4KQEAgLTUzLDQgKzUz
LDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFD
Q0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcAppbmRleCBkMzI5MDkw
NGFmN2EuLjY2M2VkZTUyYTQ4MSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAKLSNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkp
CisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiSW5qZWN0
ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKQEAgLTIyOTksNCAr
MjI5OSw0IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpwb3B1cFZhbHVlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV1RSCiAKLSNlbmRpZiAvLyBI
QVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdHNwaS5j
cHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43MWQzMGY0MWQxOGYK
LS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwCkBAIC0wLDAgKzEsODcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250
cm9sbGVyLmgiCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKKyNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUu
aCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0Fj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oPgorI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2VQ
cml2YXRlLmg+CisKK25hbWVzcGFjZSBXVFIgeworCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKK3sKK30KKworUmVmUHRyPEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphY2Nlc3NpYmxlRWxlbWVudEJ5
SWQoSlNTdHJpbmdSZWYgaWQpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1lKCkK
K3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcGxhdGZvcm1OYW1lKEFkb3B0LCBKU1N0
cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYXRzcGkiKSk7CisgICAgcmV0dXJuIHBsYXRmb3Jt
TmFtZTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJp
bGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0cmluZ1JlZiBrZXksIEpTU3Ry
aW5nUmVmIHZhbHVlKQoreworfQorCitSZWY8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYg
cGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBh
dXRvKiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0
c3BpKj4oV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChwYWdlKSk7CisKKyAgICByZXR1cm4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQpOworfQorCitSZWY8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmZvY3VzZWRFbGVtZW50KCkK
K3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5wYWdlKCktPnBhZ2UoKTsKKyAgICBhdXRvKiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29y
ZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4oV0tBY2Nlc3NpYmlsaXR5Rm9jdXNlZE9iamVj
dChwYWdlKSk7CisKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGVs
ZW1lbnQpOworfQorCitib29sIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjphZGROb3RpZmljYXRp
b25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2spCit7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlv
bkxpc3RlbmVyKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdU
UgorCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44OWZlY2I5OTI1ZDMKLS0tIC9kZXYvbnVsbAor
KysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2li
aWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAgLTAsMCArMSw4NTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisg
KiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2lu
Y2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgi
CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTdHJpbmdSZWYuaD4KKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvQWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dLQnVuZGxlRnJhbWUuaD4KKwor
bmFtZXNwYWNlIFdUUiB7CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCkKKyAgICA6IG1fZWxlbWVudChlbGVt
ZW50KQoreworfQorCitBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQmIG90aGVyKQorICAgIDogSlNXcmFwcGFi
bGUoKQorICAgICwgbV9lbGVtZW50KG90aGVyLm1fZWxlbWVudCkKK3sKK30KKworQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6fkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoKQoreworfQorCitib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogb3Ro
ZXJFbGVtZW50KQoreworICAgIHJldHVybiBtX2VsZW1lbnQuZ2V0KCkgPT0gb3RoZXJFbGVtZW50
LT5wbGF0Zm9ybVVJRWxlbWVudCgpOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmdldENoaWxkcmVuKFZlY3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gPiYgY2hp
bGRyZW4pCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRyZW5X
aXRoUmFuZ2UoVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiA+JiBjaGlsZHJl
biwgdW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKK3sKK30KKworaW50IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNoaWxkcmVuQ291bnQoKQoreworICAgIHJldHVybiAwOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZWxlbWVudEF0UG9pbnQoaW50IHgsIGludCB5KQoreworICAgIHJldHVybiBudWxscHRyOworfQor
Cit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRleE9mQ2hpbGQoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoaWxkQXRJbmRl
eCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmtlZFVJRWxl
bWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisK
K1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
cmlhT3duc0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxs
cHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXJpYUZsb3dUb0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUNvbnRyb2xzRWxlbWVudEF0SW5kZXgodW5zaWduZWQg
aW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRSb3dBdEluZGV4KHVu
c2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNz
aWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93QXRJbmRleCh1bnNp
Z25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRBdElu
ZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCit1
bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkcmVuQ291bnQoKSBj
b25zdAoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRSb3dBdEluZGV4KHVuc2lnbmVkIGlu
ZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGVVSUVsZW1lbnQoKQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCgpCit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpkaXNjbG9zZWRCeVJvdygpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVz
T2ZMaW5rZWRVSUVsZW1lbnRzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3MoKQoreworICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ2hpbGRyZW4oKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWxsQXR0cmli
dXRlcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7
Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
dHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nQXR0
cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bnVtYmVyQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQorewor
ICAgIHJldHVybiAwOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVp
RWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKSBjb25zdAor
eworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitK
U1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkhlYWRlcnMoKSBjb25zdAor
eworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXR0cmlidXRlVmFsdWUoSlNTdHJp
bmdSZWYgYXR0cmlidXRlKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitib29s
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBh
dHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0
dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cGFyYW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGUoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5n
Q3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVzY3JpcHRpb24oKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29tcHV0ZWRSb2xlU3RyaW5nKCkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKCkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0
aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsK
K30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om9y
aWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Omxhbmd1YWdlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJp
bmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OngoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6eSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp3aWR0aCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQoKQoreworICAgIHJldHVybiAwOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQb2ludFgoKQoreworICAgIHJldHVybiAw
OworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQb2ludFkoKQorewor
ICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW50VmFs
dWUoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bWluVmFsdWUoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUoKQoreworICAgIHJldHVybiAwOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVEZXNjcmlw
dGlvbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7
Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVOdW1i
ZXIoKQoreworICAgIHJldHVybiAtMTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgpCit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUmVxdWlyZWQoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc0ZvY3VzZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RlZE9wdGlvbkFj
dGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzRXhwYW5kZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30K
KworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0NoZWNrZWQoKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luZGV0
ZXJtaW5hdGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmhpZXJhcmNoaWNhbExldmVsKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzcGVha0FzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhSXNHcmFiYmVk
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRHJvcEVmZmVjdHMoKSBjb25zdAorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitpbnQg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4KGludCBpbmRleCkKK3sKKyAgICBy
ZXR1cm4gLTE7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpyYW5nZUZvckxpbmUoaW50IGxpbmUpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvclBvc2l0aW9uKGludCB4LCBpbnQgeSkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJh
bmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIEpT
U3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSh1bnNpZ25lZCBs
b2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0
aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlZFN0cmluZ1JhbmdlSXNNaXNzcGVsbGVkKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBs
ZW5ndGgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp1aUVsZW1lbnRDb3VudEZvclNlYXJjaFByZWRpY2F0ZShKU0NvbnRleHRSZWYg
Y29udGV4dCwgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogc3RhcnRFbGVtZW50LCBib29sIGlzRGly
ZWN0aW9uTmV4dCwgSlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpTU3RyaW5nUmVmIHNlYXJjaFRleHQs
IGJvb2wgdmlzaWJsZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVzY2VuZGFudHNPbmx5KQoreworICAg
IHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKEpTQ29udGV4dFJlZiBj
b250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBzdGFydEVsZW1lbnQsIGJvb2wgaXNEaXJl
Y3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNlYXJjaEtleSwgSlNTdHJpbmdSZWYgc2VhcmNoVGV4dCwg
Ym9vbCB2aXNpYmxlT25seSwgYm9vbCBpbW1lZGlhdGVEZXNjZW5kYW50c09ubHkpCit7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzZWxlY3RUZXh0V2l0aENyaXRlcmlhKEpTQ29udGV4dFJlZiBjb250ZXh0
LCBKU1N0cmluZ1JlZiBhbWJpZ3VpdHlSZXNvbHV0aW9uLCBKU1ZhbHVlUmVmIHNlYXJjaFN0cmlu
Z3MsIEpTU3RyaW5nUmVmIHJlcGxhY2VtZW50U3RyaW5nLCBKU1N0cmluZ1JlZiBhY3Rpdml0eSkK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMoKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93
SGVhZGVycygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphdHRyaWJ1dGVzT2ZDb2x1bW5zKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MoKQoreworICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mVmlzaWJsZUNlbGxzKCkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNP
ZkhlYWRlcigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dDb3VudCgpCit7CisgICAg
cmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5Db3VudCgp
Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRl
eEluVGFibGUoKQoreworICAgIHJldHVybiAtMTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0luZGV4UmFuZ2UoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uSW5kZXhSYW5nZSgpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxs
Rm9yQ29sdW1uQW5kUm93KHVuc2lnbmVkIGNvbCwgdW5zaWduZWQgcm93KQoreworICAgIHJldHVy
biBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzZWxlY3RlZFRleHRSYW5nZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0
U2VsZWN0ZWRUZXh0UmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5j
cmVtZW50KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkZWNyZW1lbnQo
KQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dNZW51KCkKK3sKK30K
Kwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzcygpCit7Cit9CisKK3ZvaWQgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50KiBlbGVtZW50KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworfQorCit2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVjdGlvbkF0SW5kZXgodW5zaWdu
ZWQgaW5kZXgpIGNvbnN0Cit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xl
YXJTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QKK3sKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlWYWx1ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudEVu
Y29kaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmRvY3VtZW50VVJJKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnVybCgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
MCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRkTm90aWZpY2F0aW9u
TGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKQoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25M
aXN0ZW5lcigpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
Ym9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGFibGUoKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc011bHRp
U2VsZWN0YWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzVmlzaWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzT2ZmU2NyZWVuKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNDb2xsYXBzZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0lnbm9yZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NpbmdsZUxpbmUoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc011bHRpTGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc1BvcHVwKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGFrZUZvY3VzKCkKK3sKK30K
Kwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0YWtlU2VsZWN0aW9uKCkKK3sKK30KKwor
dm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxlY3Rpb24oKQoreworfQorCit2b2lk
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVjdGlvbigpCit7Cit9CisKKy8vIFRl
eHQgbWFya2VycworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2U+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmxpbmVUZXh0TWFya2VyUmFuZ2VGb3JUZXh0TWFya2VyKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBl
bGVtZW50KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2UqIHJhbmdlKQoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXZpb3VzVGV4dE1hcmtlcihBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpuZXh0VGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmls
aXR5VGV4dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdlLCBKU1N0cmluZ1JlZiBzZWFyY2hUZXh0
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciog
c3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBlbmRNYXJrZXIpCit7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQoreworICAgIHJldHVybiBudWxscHRy
OworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRN
YXJrZXJSYW5nZSogcmFuZ2UpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1h
cmtlckZvckJvdW5kcyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXJGb3JCb3VuZHMoaW50IHgsIGlu
dCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisK
K1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGV4dE1hcmtlckZvclBvaW50KGludCB4LCBpbnQgeSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogbWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclRl
eHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKikKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VXaXRoT3B0aW9ucyhB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiwgYm9vbCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9y
VGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUoSlNTdHJpbmdSZWYgYXR0cmlidXRlLCBB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRleEZvclRleHRNYXJrZXIoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtlcikKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNUZXh0TWFya2VyVmFsaWQoQWNjZXNzaWJpbGl0
eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRN
YXJrZXJGb3JJbmRleChpbnQgdGV4dEluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnN0YXJ0VGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1h
cmtlcigpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXJSYW5nZSopCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQoaW50IHgsIGludCB5KQoreworfQorCit2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGVXaXRoU3ViRm9j
dXMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdXBwb3J0ZWRBY3Rpb25z
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNjcmlwdGlvbigpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUHJlc2NyaXB0c0Rlc2NyaXB0aW9uKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpjaGFyYWN0ZXJBdE9mZnNldChpbnQgb2Zmc2V0KQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d29yZEF0T2Zmc2V0KGludCBvZmZzZXQpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lQXRPZmZzZXQoaW50
IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNlbnRlbmNlQXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVh
dGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpyZXBsYWNlVGV4dEluUmFuZ2UoSlNTdHJpbmdSZWYsIGludCwgaW50KQoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNlcnRUZXh0KEpT
U3RyaW5nUmVmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBvcHVwVmFsdWUoKSBjb25zdAoreworICAg
IHJldHVybiBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXVFIKKworI2VuZGlmIC8vIEhB
VkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxh
dGZvcm1HVEsuY21ha2UKaW5kZXggNmY4MzY2YjYzZTQzLi44OTYyZTY0NWU5YTkgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UKKysrIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNDAsNiArNDAsOSBAQCBsaXN0
KEFQUEVORCBXZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGVfU09VUkNFUwogICAgIEluamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKICAg
ICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKIAorICAg
IEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwCisg
ICAgSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcAor
CiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsuY3BwCiAgICAgSW5qZWN0
ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAogICAgIEluamVjdGVkQnVuZGxlL2d0
ay9JbmplY3RlZEJ1bmRsZVV0aWxpdGllcy5jcHAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0
aW9ucy5jcHAKaW5kZXggOGUyYTdmODg4YzBkLi5hNTYzNTYwZTBjY2EgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCkBAIC04OCw2ICs4OCw5IEBAIGNvbnN0IFRlc3RGZWF0
dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKICAgICAgICAgICAgIHsgIklucHV0VHlwZU1v
bnRoRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIklucHV0VHlwZVRpbWVFbmFibGVk
IiwgdHJ1ZSB9LAogICAgICAgICAgICAgeyAiSW5wdXRUeXBlV2Vla0VuYWJsZWQiLCB0cnVlIH0s
CisjaWYgVVNFKEFUU1BJKQorICAgICAgICAgICAgeyAiSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRU
cmVlRW5hYmxlZCIsIHRydWUgfSwKKyNlbmRpZgogICAgICAgICAgICAgeyAiSmF2YVNjcmlwdENh
bkFjY2Vzc0NsaXBib2FyZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIkphdmFTY3JpcHRDYW5P
cGVuV2luZG93c0F1dG9tYXRpY2FsbHkiLCB0cnVlIH0sCiAgICAgICAgICAgICB7ICJMYXJnZUlt
YWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQiLCBmYWxzZSB9LAo=
</data>
<flag name="commit-queue"
          id="461438"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438131</attachid>
            <date>2021-09-14 06:47:25 -0700</date>
            <delta_ts>2021-09-14 07:18:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-atspi.diff</filename>
            <type>text/plain</type>
            <size>101859</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4YTBhNmEwNDExMWYuLjNi
MzE5ZTM3ZGQwYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTMgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIHRvIGEgcnVudGltZSBm
bGFnLCBzdGFydCBydW5uaW5nIHRlc3RzIGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNiMmU1NjhkOTUzZS4uMzlkZGNl
ZDgxNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBi
dWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdp
dGggQVRTUEkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKIDIwMjEtMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHRoYXQgdXNlcyBQQ00gZGFlbW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDlkM2NjZTk3YzA4NS4uNjk2NjJiYmI5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA3OCw2ICsxMDc4
LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgICBXZWJLaXRMZWdh
Y3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAgICJVU0UoQVRTUEkp
IjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVs
dDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxM2Q3YWNkMTk0NjUuLmQ3MDJiN2U1ZTQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBv
cHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0aW9uIGFuZCBzZXZl
cmFsIGJ1aWxkIGZpeGVzIHdoZW4gQVRLIGlzIGRpc2FibGVkIGFuZCBpc29sYXRlZCB0cmVlIGVu
YWJsZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Vz
R1RLLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmluaXRpYWxpemVTZWNvbmRhcnlB
WFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1c2VkT25BWFRocmVh
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hN
YXRjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdy
YXBwZXIpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHA6CisgICAgICAgICogZWRpdGluZy9hdHNw
aS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5h
YmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1
Li5hOGEwMWYwNmViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0
KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9hdHNwaSIKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BhZ2UvZ3RrIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRh
IgpAQCAtNTMsNiArNTQsOCBAQCBpZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxp
c3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fk
d2FpdGEvU2Nyb2xsYmFyVGhlbWVBZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGlj
YXRpb25HTGliLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMx
MmVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaS5jcHAKK2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0
c3BpLmNwcAorCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2Jq
ZWN0QXRzcGkuY3BwCisKIGVkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0
ay5jcHAKIGVkaXRpbmcvZ3RrL1dlYkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDg5ZjhhNjViMTVm
ZS4uOTY4NzU5NGE4ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTc3MCw5ICs3NzAsMTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogYm9vbCBBWE9iamVjdENhY2hlOjpj
bGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSgpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKICAgICBhdXRvIGNsaWVudCA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVz
dGVkKCk7CiAgICAgcmV0dXJuIGNsaWVudCA9PSBrQVhDbGllbnRUeXBlVm9pY2VPdmVyCiAgICAg
ICAgIHx8IFVOTElLRUxZKGNsaWVudCA9PSBrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyk7Cisj
ZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCiB9CiAKIGJvb2wgQVhPYmplY3RDYWNoZTo6
aXNJc29sYXRlZFRyZWVFbmFibGVkKCkKQEAgLTc4MSw2ICs3ODUsNyBAQCBib29sIEFYT2JqZWN0
Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgpCiAgICAgaWYgKGVuYWJsZWQpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBpZiAoIWlz
TWFpblRocmVhZCgpKSB7CiAgICAgICAgIEFTU0VSVChfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCkpOwogICAgICAgICBlbmFibGVkID0gdHJ1ZTsKQEAgLTc5
MCw2ICs3OTUsOSBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgp
CiAgICAgICAgICAgICAmJiBfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkgIT0gQVhTSXNvbGF0
ZWRUcmVlTW9kZU9mZiAvLyBVc2VkIHRvIHN3aXRjaCB2aWEgc3lzdGVtIGRlZmF1bHRzLgogICAg
ICAgICAgICAgJiYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKICAgICB9CisjZWxzZQor
ICAgIGVuYWJsZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KQEAg
LTgxMywxMCArODIxLDEyIEBAIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVj
dCgpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aW5pdGlhbGl6ZVNlY29uZGFyeUFYVGhyZWFkKCkK
IHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUg
Y3JlYXRlZCBvdXIgdHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKICAgICAv
LyBzbyBmdXR1cmUgcmVxdWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgogICAgIGlm
IChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9uSXNBdmFpbGFibGUoKSAmJiBfQVhTSXNvbGF0
ZWRUcmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCkK
ICAgICAgICAgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQodHJ1ZSk7CisjZW5kaWYK
IH0KIAogUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZUlz
b2xhdGVkVHJlZSgpIGNvbnN0CkBAIC04NDgsOCArODU4LDE0IEBAIEFYQ29yZU9iamVjdCogQVhP
YmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpCiBib29sIEFYT2JqZWN0Q2FjaGU6
OnVzZWRPbkFYVGhyZWFkKCkKIHsKICAgICBBU1NFUlQoaXNJc29sYXRlZFRyZWVFbmFibGVkKCkp
OworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAgICAgcmV0dXJuIF9BWFNJc29sYXRlZFRy
ZWVNb2RlRnVuY3Rpb25Jc0F2YWlsYWJsZSgpCiAgICAgICAgICYmIF9BWFNJc29sYXRlZFRyZWVN
b2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkOworI2VsaWYg
VVNFKEFUU1BJKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjNmY5OWZhYWI0YTUuLjJlMTYzZDMzNDYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0zNzgyLDcgKzM3ODIsMTQgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGV4dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxp
dHkKIHsKICAgICBpZiAoIWF4T2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIGF4T2JqZWN0LT5jb250YWluc1RleHQoY3JpdGVyaWEuc2VhcmNoVGV4dCk7CisKKyAgICAv
LyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgorICAgIGlmIChjcml0ZXJpYS5zZWFy
Y2hUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY29u
dGFpbnNQbGFpblRleHQoYXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENh
c2VJbnNlbnNpdGl2ZSkKKyAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpCisgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT5zdHJpbmdWYWx1
ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwogfQogCiBzdGF0aWMg
Ym9vbCBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRoUmVzdWx0TGltaXQoQVhDb3JlT2Jq
ZWN0KiBvYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEs
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAppbmRleCAyMTY4NDU0OGJhNDMuLjg1NmFlZjliMTZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IlNpbXBsZVJhbmdlLmgiCisjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KQEAgLTQyLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAiQ09NUHRyLmgiCiAj
ZW5kaWYKIAorI2lmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFUSykKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTUyLDYgKzU3LDggQEAgdHlwZWRlZiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIHR5cGVkZWYgc3RydWN0IF9O
U1JhbmdlIE5TUmFuZ2U7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0FYVGV4dE1hcmtlciogQVhU
ZXh0TWFya2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXJSYW5nZSog
QVhUZXh0TWFya2VyUmFuZ2VSZWY7CisjZWxpZiBVU0UoQVRTUEkpCit0eXBlZGVmIFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKICNl
bGlmIFVTRShBVEspCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0QWNjZXNzaWJsZSBXZWJLaXRBY2Nl
c3NpYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEFjY2Vzc2libGUgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CkBAIC0xMTI2LDE0ICsxMTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0aXRsZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgp
IGNvbnN0ID0gMDsKLSAgICBib29sIGNvbnRhaW5zVGV4dChTdHJpbmcgY29uc3QmIHRleHQpIGNv
bnN0Ci0gICAgewotICAgICAgICAvLyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgot
ICAgICAgICByZXR1cm4gdGV4dC5pc0VtcHR5KCkKLSAgICAgICAgICAgIHx8IGNvbnRhaW5zUGxh
aW5UZXh0KHRpdGxlKCksIHRleHQsIENhc2VJbnNlbnNpdGl2ZSkKLSAgICAgICAgICAgIHx8IGNv
bnRhaW5zUGxhaW5UZXh0KGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCB0ZXh0LCBDYXNlSW5z
ZW5zaXRpdmUpCi0gICAgICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChzdHJpbmdWYWx1ZSgp
LCB0ZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwotICAgIH0KIAogICAgIC8vIE1ldGhvZHMgZm9yIGRl
dGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIGJvb2wgaXNBUklBU3Rh
dGljVGV4dCgpIGNvbnN0ID0gMDsKQEAgLTE1MTQsNiArMTUxMyw4IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgQ09NUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBt
X3dyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV93cmFwcGVyOwogI2VsaWYgVVNFKEFUSykKICAgICBHUmVmUHRyPFdlYktpdEFj
Y2Vzc2libGU+IG1fd3JhcHBlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA3Yjg3MjdkYzJmMjcu
LjJiMWMzNDAyMTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDg1ZDJhZGFlY2Q5NS4uNDM0YmY1
MGNjNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQorCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCkBAIC0zMiw4ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCkBA
IC0yMDYsNCArMjA2LDQgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2V0TGVuZ3Ro
Rm9yVGV4dFJhbmdlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGUuY3BwCmluZGV4IDg2YzMwY2RkNjY2My4uYzk2YzJjMmZiYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC0xMzgyLDQgKzEzODIs
NCBAQCBjb25zdCBjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eShXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYgogICAgIHJldHVybiAoKnByb3BlcnR5UHRyKS5k
YXRhKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaAppbmRleCA3MmUxMTY1MWI3ZTku
LmVmOTIzNmE3M2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGUuaApAQCAtMjIsNyArMjIsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtODUsNCArODUsNCBAQCBib29sIHdlYmtpdEFjY2Vzc2libGVJc0RldGFj
aGVkKFdlYktpdEFjY2Vzc2libGUqKTsKIAogY29uc3QgY2hhciogd2Via2l0QWNjZXNzaWJsZUNh
Y2hlQW5kUmV0dXJuQXRrUHJvcGVydHkoV2ViS2l0QWNjZXNzaWJsZSosIEF0a0NhY2hlZFByb3Bl
cnR5LCBDU3RyaW5nJiYpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsuY3BwCmluZGV4IDA1Y2JkNmZlNzUxZC4uYzQwZjcyYzJjOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
QEAgLTMxMyw0ICszMTMsNCBAQCBXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rKiB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rR2V0T3JDcmVhdGUoQXRrSHlwZXJsaW5rSW1wbAogICAgIHJldHVybiBo
eXBlcmxpbms7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsu
aAppbmRleCA3OTk2YjBhNDRlYzMuLjE5ZmE5YzFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxp
bmsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSA8YXRrL2F0ay5oPgogCkBAIC01Miw0ICs1Miw0IEBAIFdlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBlcmxpbmtJ
bXBsCiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VB
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5jcHAKaW5kZXggY2EyM2FkZmQ3MWE3Li4xNGViNTc5ODg2YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUFjdGlvbi5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VBY3Rpb24uaAppbmRleCA2NzE4YjE0MGU2ZmIuLjAyZDc1OTZkOTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNj
ZXNzaWJsZUFjdGlvbkludGVyZmFjZUluaXQoQXRrQWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApp
bmRleCBiN2ZlNTViZmU0MzguLjk4NDU3YWFkZjA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTE2OSw0ICsxNjksNCBAQCB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21w
b25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKICNlbmRpZgogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9u
ZW50LmgKaW5kZXggOTY5MjNjNWE2OGMxLi43ZGFmMzQ3YzQ0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21w
b25lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKik7CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQu
Y3BwCmluZGV4IDJiMzEzYTBiMWJhNC4uN2YwYjVhMDA1NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCmluZGV4
IGM5NDhkMTk3NmViYS4uNmJlYWFlZDM5NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRG9jdW1lbnQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZURvY3Vt
ZW50SW50ZXJmYWNlSW5pdChBdGtEb2N1bWVudElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKaW5k
ZXggYWM3OTM4M2I4NjAzLi40OTRlYjAwMTgyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJs
ZVRleHQuaAppbmRleCA1ODQ1MGU0MTllZGQuLmVmNWY3ZDI2OWJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUVkaXRhYmxlVGV4dEludGVyZmFjZUluaXQoQXRrRWRpdGFibGVUZXh0
SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVybGlua0ltcGwuY3BwCmluZGV4IDJmYzRlMTk0MDhlNy4uNmE4ZWRkNDk2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oIgogCkBAIC0zNCw0ICszNCw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlu
a0ltcGxJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9oeXBlcmxpbmsgPSB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rSW1wbEdldEh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgKaW5kZXgg
YmM3ZWMxNzAzNzY0Li4yMDkyYmY3Yzk3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaApAQCAtMTksMTAgKzE5LDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlua0ltcGxJZmFjZSopOwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuY3BwCmluZGV4IGE3OGQ4ODMyYWE0ZC4uNTIzYmFiOTZmMGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
SHlwZXJ0ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaAppbmRleCA1NDhjZDYwOGE0NmYuLmMzZjYxMzg1ZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUh5cGVydGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaApAQCAtMTksMTAgKzE5LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUh5cGVydGV4dEludGVyZmFjZUluaXQoQXRrSHlwZXJ0ZXh0SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKaW5kZXggNjMzYzk3MGQwZTQxLi4yODYwNjAyNzE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUltYWdlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaAppbmRleCA0ZDljZTQwOTczZTUu
LjBkNWQ4Y2ViMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVJbWFnZUludGVyZmFjZUluaXQoQXRrSW1h
Z2VJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uY3BwCmluZGV4IDZlYTU3MDgxMzdiNC4uODZhMTk5OGNiY2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKaW5kZXggMmI5OTFkMjNiYTkwLi5jNTMzNGIz
YTIzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZWxlY3Rpb25JbnRlcmZhY2VJbml0KEF0
a1NlbGVjdGlvbklmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IDYyNmM3Mjc3NDUxNy4uZTVlZWM1YzViMWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5oCmluZGV4IDRlZmMyYjIwYTFlNy4uZjQyYjVjZmQ2YjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVRhYmxlSW50ZXJmYWNlSW5pdChBdGtUYWJsZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKaW5kZXgg
Mjg5ZDNhNzAxNWRmLi44NmU3YTc1ODY1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVRhYmxlLmgiCkBAIC0xNTMsNCArMTUzLDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxl
VGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSogaWZhY2UpCiAgICAgaWZh
Y2UtPmdldF90YWJsZSA9IHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxHZXRUYWJsZTsKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2Vs
bC5oCmluZGV4IDJiYmM3MzczMDVlMS4uZjJkNzAzNGU0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oCkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nl
c3NpYmxlVGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSopOwogCi0jZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5kZXgg
MDgxZmE4YzM2MWIwLi4wYTg2ZDQ0M2Q1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGV4dC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGV4dC5oCmluZGV4IDExMjk1NWY0MGRmMC4uZWMyYWFlM2MyOWI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdl
YmtpdEFjY2Vzc2libGVUZXh0SW50ZXJmYWNlSW5pdChBdGtUZXh0SWZhY2UqKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXgg
MDRlZTg5MDM5YWZhLi4wODI1OWQ5OWYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVZhbHVlLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCmluZGV4IDM2OTZjYjBiODlkZC4uZDExZDVlODFl
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaApAQCAtMTksMTAgKzE5LDEw
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAK
IHZvaWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKik7
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCBkOWRjZGE5MDhm
MmUuLmIzZjg3NmQyNDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuaAppbmRleCBhMmZhY2FmODUyOGQuLmY1NDkzMDJm
ZTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCkBAIC0yMSw3ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpWaXNpYmxlU2VsCiAKIFdl
YkNvcmU6OkFYQ29yZU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0T2Zmc2V0VW5pZ25vcmVk
KFdlYkNvcmU6OkFYQ29yZU9iamVjdCosIGludCYgb2Zmc2V0KTsKIAotI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9i
amVjdENhY2hlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
WE9iamVjdENhY2hlQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uN2M0NDZkMDM2Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmpl
Y3QsIEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKK3sKK30KKwor
dm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmplY3Qp
Cit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNo
ZVVwZGF0ZSgpCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1O
b3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFRleHRDaGFuZ2UgdGV4
dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcmIHRleHQpCit7Cit9CisKK3Zv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIEFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudCkK
K3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0Zm9ybUhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKE5vZGUqIG9sZEZvY3VzZWROb2RlLCBOb2RlKiBuZXdGb2N1c2VkTm9kZSkKK3sK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDU4YjhiMDY2NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpjcmVhdGUoQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0KQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaShjb3Jl
T2JqZWN0KSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpKEFYQ29yZU9iamVjdCopCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRh
Y2htZW50VHlwZSkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVsdEJlaGF2aW9yOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZmYyMTQ0NWEwODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1
ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFYQ29yZU9iamVjdDsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKKyAgICB+QWNjZXNzaWJpbGl0
eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaShBWENvcmVPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGIwYmNmNTUyNjBmYS4uNGI4ZTYyODAx
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNzEsMTEgKzcxLDE1IEBAIHZv
aWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpCb3Vu
ZGluZ0JveFJlY3QsIG9iamVjdC5ib3VuZGluZ0JveFJlY3QoKSk7CisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uLCBvYmplY3Qu
ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRpZgogICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCwgb2JqZWN0LmVsZW1lbnRS
ZWN0KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cs
IG9iamVjdC5oYXNBUklBVmFsdWVOb3coKSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwg
b2JqZWN0Lmhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0
eShBWFByb3BlcnR5TmFtZTo6SGVscFRleHQsIG9iamVjdC5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQsIG9iamVjdC5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIsIG9iamVjdC5pc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250
YWluZXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKQEAgLTEzNywxMSArMTQxLDE1IEBAIHZvaWQgQVhJc29s
YXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlw
dGlvbiwgb2JqZWN0LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Qucm9sZVBs
YXRmb3JtU3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKS5pc29sYXRlZENvcHko
KSk7CisjZW5kaWYKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3VwcG9ydHNEYXRl
dGltZUF0dHJpYnV0ZSwgb2JqZWN0LnN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUm93Q291bnRDaGFuZ2UsIG9iamVj
dC5zdXBwb3J0c1Jvd0NvdW50Q2hhbmdlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUaXRsZUF0dHJpYnV0ZVZh
bHVlLCBvYmplY3QudGl0bGVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRp
ZgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVl
LCBvYmplY3QuZGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5j
YW5TZXRGb2N1c0F0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0
ZXMoKSk7CkBAIC00MDQsNyArNDEyLDkgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jvb3QKIAogICAg
IGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2JqZWN0KCkpOworI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UHJldmVudEtleWJvYXJkRE9NRXZl
bnREaXNwYXRjaCwgb2JqZWN0LnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSk7Cisj
ZW5kaWYKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlc3Npb25JRCwgb2Jq
ZWN0LnNlc3Npb25JRCgpKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRv
Y3VtZW50VVJJLCBvYmplY3QuZG9jdW1lbnRVUkkoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEb2N1bWVudEVuY29kaW5nLCBvYmplY3QuZG9j
dW1lbnRFbmNvZGluZygpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTUxNCw4ICs1MjQsMTIgQEAgdm9p
ZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIAogY29uc3QgQVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxk
cmVuKGJvb2wpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBBU1NFUlQoX0FY
U0lzb2xhdGVkVHJlZU1vZGVGdW5jdGlvbklzQXZhaWxhYmxlKCkgJiYgKChfQVhTSXNvbGF0ZWRU
cmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCAmJiAh
aXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHx8IChfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkg
PT0gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpKSk7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisjZW5kaWYKICAg
ICB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICBtX2NoaWxkcmVuLmNsZWFyKCk7CiAgICAgbV9j
aGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2hpbGRyZW5JRHMuc2l6ZSgpKTsKQEAg
LTYwMywxMiArNjE3LDE0IEBAIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVudFVSSSgp
IGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCiBi
b29sIEFYSXNvbGF0ZWRPYmplY3Q6OnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSBj
b25zdAogewogICAgIGlmIChhdXRvIHJvb3QgPSB0cmVlKCktPnJvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiByb290LT5ib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlByZXZlbnRL
ZXlib2FyZERPTUV2ZW50RGlzcGF0Y2gpOwogICAgIHJldHVybiBmYWxzZTsKIH0KKyNlbmRpZgog
CiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6ZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0CiB7CkBA
IC03NzEsMTIgKzc4NywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKGJvb2wgdmFsdWUpCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQog
dm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
KGJvb2wgdmFsdWUpCiB7CiAgICAgcGVyZm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFsmdmFsdWVd
KEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CiAgICAgICAgIG9iamVjdC0+c2V0UHJldmVudEtleWJv
YXJkRE9NRXZlbnREaXNwYXRjaCh2YWx1ZSk7CiAgICAgfSk7CiB9CisjZW5kaWYKIAogU1JHQkE8
dWludDhfdD4gQVhJc29sYXRlZE9iamVjdDo6Y29sb3JWYWx1ZSgpIGNvbnN0CiB7CkBAIC0xMTY3
LDYgKzExODUsNyBAQCBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydEZyYW1lVG9T
cGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEFjY2Vzc2liaQogICAgIH0pOwogfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCiBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydFJlY3RU
b1BsYXRmb3JtU3BhY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBBY2Nlc3NpYmlsaXR5Q29udmVy
c2lvblNwYWNlIHNwYWNlKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8RmxvYXRSZWN0PihbJnJlY3QsICZzcGFjZSwgdGhpc10g
KCkgLT4gRmxvYXRSZWN0IHsKQEAgLTExNzUsNiArMTE5NCw3IEBAIEZsb2F0UmVjdCBBWElzb2xh
dGVkT2JqZWN0Ojpjb252ZXJ0UmVjdFRvUGxhdGZvcm1TcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEFjCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSk7CiB9CisjZW5kaWYKIAogYm9vbCBB
WElzb2xhdGVkT2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UoY29uc3QgU3RyaW5nJiByZXBsYWNl
bWVudFRleHQsIGNvbnN0IFBsYWluVGV4dFJhbmdlJiB0ZXh0UmFuZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmgKaW5kZXggNmZiMWFkYWM4ZGFlLi5jNWMxOTM4YjY3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTMyMCwxMSArMzIwLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c0Fub255bW91c01hdGhPcGVyYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBbm9ueW1vdXNNYXRoT3BlcmF0b3IpOyB9CiAg
ICAgdm9pZCBtYXRoUHJlc2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcnMm
KSBvdmVycmlkZTsKICAgICB2b2lkIG1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11
bHRpc2NyaXB0UGFpcnMmKSBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGZpbGVVcGxvYWRCdXR0b25SZXR1cm5zVmFsdWVJblRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpGaWxlVXBsb2FkQnV0dG9u
UmV0dXJuc1ZhbHVlSW5UaXRsZSk7IH0KICAgICBTdHJpbmcgc3BlZWNoSGludEF0dHJpYnV0ZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlNwZWVjaEhpbnQpOyB9CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uQXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6RGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGhlbHBUZXh0QXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQpOyB9CiAgICAgU3RyaW5nIHRpdGxlQXR0cmlidXRlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6VGl0bGVBdHRyaWJ1dGVWYWx1ZSk7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBib29sIGNhcmV0QnJvd3NpbmdFbmFibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYXJldEJyb3dzaW5nRW5hYmxlZCk7
IH0KICNlbmRpZgpAQCAtMzY5LDcgKzM3MSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc2Vz
c2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50VVJJKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlz
cGF0Y2goKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gUGxhaW5UZXh0UmFuZ2Ug
c3VwcG9ydC4KICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDQ0LDcgKzQ0OCw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgc2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CiAjZW5kaWYK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFByZXZlbnRLZXlib2FyZERPTUV2ZW50
RGlzcGF0Y2goYm9vbCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIFN0cmluZyB0ZXh0VW5kZXJF
bGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSA9IEFjY2Vzc2liaWxpdHlU
ZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgQWNjZXNz
aWJpbGl0eVNlYXJjaERpcmVjdGlvbikgY29uc3Qgb3ZlcnJpZGU7CkBAIC02MzQsNyArNjQwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG92ZXJyaWRlQXR0YWNobWVudFBhcmVudChBWENvcmVPYmpl
Y3QqIHBhcmVudCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6SGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKTsgfQorI2VuZGlmCiAgICAgY29u
c3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcoYm9vbCBpbmNsdWRlU2VsZikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiB3
ZWJBcmVhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gb2JqZWN0QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCBkY2Y3ZWUwNjdkZjMuLjc1ZTYxYTMwY2Fm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVk
ZSAiQVhJc29sYXRlZE9iamVjdC5oIgogI2luY2x1ZGUgIkFYTG9nZ2VyLmgiCisjaW5jbHVkZSAi
QVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlIDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKaW5kZXggN2MzNDY5Njc5N2FiLi5jZjQy
ODYyMzlmNjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaApAQCAtMzQzLDcgKzM0MywxMSBAQCBwdWJs
aWM6CiAKICAgICBzdHJ1Y3QgTm9kZUNoYW5nZSB7CiAgICAgICAgIFJlZjxBWElzb2xhdGVkT2Jq
ZWN0PiBpc29sYXRlZE9iamVjdDsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICAgICAgUmV0YWlu
UHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3cmFwcGVyOworI2VsaWYgVVNFKEFUU1BJ
KQorICAgICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXI7Cisj
ZW5kaWYKICAgICB9OwogCiAgICAgdm9pZCBnZW5lcmF0ZVN1YnRyZWUoQVhDb3JlT2JqZWN0Jiwg
QVhDb3JlT2JqZWN0KiwgYm9vbCBhdHRhY2hXcmFwcGVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRPYmplY3RB
dHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNw
aS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMC4uMDY3ODY1NWNlOWViCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3Bp
LmNwcApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBT
LkwuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBWElzb2xhdGVkT2JqZWN0LmgiCisK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAmJiBVU0UoQVRTUEkpCisj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKwordm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVz
KGNvbnN0IEFYQ29yZU9iamVjdCYpCit7Cit9CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6YXR0
YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyKiB3cmFwcGVyKQor
eworICAgIHNldFdyYXBwZXIod3JhcHBlcik7Cit9CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6
ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2ht
ZW50VHlwZSkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVj
dFdyYXBwZXJCYXNlLm1tIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9tYWMvV2ViQWNj
ZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCmluZGV4IDZlYTI2N2Q3ZDgwZi4uYWU2NWU0
OWFhZDA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJB
Y2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9tYWMvV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJCYXNlLm1tCkBAIC01
OCw2ICs1OCw3IEBACiAjaW1wb3J0ICJSZW5kZXJXaWRnZXQuaCIKICNpbXBvcnQgIlNjcm9sbFZp
ZXcuaCIKICNpbXBvcnQgIlRleHRDaGVja2VyQ2xpZW50LmgiCisjaW1wb3J0ICJUZXh0SXRlcmF0
b3IuaCIKICNpbXBvcnQgIlZpc2libGVVbml0cy5oIgogI2ltcG9ydCA8d3RmL2NvY29hL1ZlY3Rv
ckNvY29hLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxl
Y3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCBi
NGMxMDk5NTcyMDAuLjRjYmY1YTMwOTE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRp
dGluZy9GcmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVT
ZWxlY3Rpb24uaApAQCAtMzc1LDcgKzM3NSw3IEBAIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9u
OjpjbGVhclR5cGluZ1N0eWxlKCkKICAgICBtX3R5cGluZ1N0eWxlID0gbnVsbHB0cjsKIH0KIAot
I2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFU
SykpKQorI2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShDT0NPQSkgfHwg
VVNFKEFUSykgfHwgVVNFKEFUU1BJKSkpCiAKIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpu
b3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hh
bmdlSW50ZW50JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0Zy
YW1lU2VsZWN0aW9uQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2Vs
ZWN0aW9uQXRrLmNwcAppbmRleCA5NzM0YjY4YTRmNjUuLmQyNjE0OWY2NWIzYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcApAQCAtMjAs
NyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9u
LmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJE
b2N1bWVudC5oIgpAQCAtMTE2LDQgKzExNiw0IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuCiAK
IH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdHNwaS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJhbWVTZWxlY3Rpb25BdHNwaS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40OTlmZDE5ODQyYzIKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9u
QXRzcGkuY3BwCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdh
bGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgi
CisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorCisjaW5jbHVkZSAi
QVhPYmplY3RDYWNoZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgRnJhbWVTZWxl
Y3Rpb246Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0
U3RhdGVDaGFuZ2VJbnRlbnQmKQoreworICAgIGlmICghQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJp
bGl0eUVuYWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCmluZGV4IDU2NDNmZjhmZmZhNy4uNjJjY2MzYjM2MTJhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0yNjksNiArMjY5LDcgQEAgSXNBY2Nlc3Np
YmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6
CiAgICAgV2ViQ29yZToKKyAgICAgIFVTRShBVFNQSSk6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZh
bHNlCiAKIElzUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlTWVhc3VyZW1lbnRFbmFibGVkOgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxl
ci5tbSBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIu
bW0KaW5kZXggMzI2ZTY1MWY4OGU2Li5lMzcwYzIwOWJlMGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvbWFjL1NlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0KKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpAQCAtNDYsNiAr
NDYsNyBAQAogI2ltcG9ydCAiUGFnZS5oIgogI2ltcG9ydCAiUGFnZU92ZXJsYXlDb250cm9sbGVy
LmgiCiAjaW1wb3J0ICJTZXR0aW5ncy5oIgorI2ltcG9ydCAiVGV4dEl0ZXJhdG9yLmgiCiAjaW1w
b3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KICNpbXBvcnQgPHBhbC9tYWMvRGF0YURldGVj
dG9yc1NvZnRMaW5rLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIv
U291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXggYWJhNzI5OTUzZDNkLi4wY2IzZjVkOTYwNDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMjEtMDktMTQgIENhcmxvcyBHYXJjaWEgQ2Ft
cG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW2ExMXldIEFkZCBhIGJ1
aWxkIG9wdGlvbiB0byBlbmFibGUgQVRTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIzMDI1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6cGxhdGZvcm1Jbml0aWFsaXplKTogQWRkIEFU
SyBpZmRlZi4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3NNYWluKTogRGlzYWJsZSBBVEsvR1RLIGFjY2Vz
c2liaWxpdHkgc3VwcG9ydCBpbiB0aGUgV2ViUHJvY2VzcyB3aGVuIHVzaW5nIEFUU1BJLgorCiAy
MDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSRUdSRVNTSU9OKHIyNzQ5MjkpOiBbQ29vcmRpbmF0ZWRHcmFwaGljc10gRHJhd2lu
Z0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjpjcmVhdGVEaXNwbGF5UmVmcmVzaE1vbml0b3IgaXMg
bm8gbG9uZ2VyIHVzZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL2d0ay9XZWJQYWdlR3RrLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9XZWJQYWdlR3RrLmNwcAppbmRleCBlYzA3OWY3YjZkMGUuLmMwNTE0YzBkYzhhMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3Rr
LmNwcApAQCAtNTYsNyArNTYsNyBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogdm9pZCBX
ZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUoKQogewotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogICAgIC8vIENyZWF0ZSB0
aGUgYWNjZXNzaWJsZSBvYmplY3QgKHRoZSBwbHVnKSB0aGF0IHdpbGwgc2VydmUgYXMgdGhlCiAg
ICAgLy8gZW50cnkgcG9pbnQgdG8gdGhlIFdlYiBwcm9jZXNzLCBhbmQgc2VuZCBhIG1lc3NhZ2Ug
dG8gdGhlIFVJCiAgICAgLy8gcHJvY2VzcyB0byBjb25uZWN0IHRoZSB0d28gd29ybGRzIHRocm91
Z2ggdGhlIGFjY2Vzc2liaWxpdHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0
ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKaW5kZXggMzY0M2VlOTU5ZTVlLi5lZWFlYWJkZjg0NjQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5H
dGsuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5H
dGsuY3BwCkBAIC03MSw2ICs3MSwxNSBAQCBwdWJsaWM6CiAKIGludCBXZWJQcm9jZXNzTWFpbihp
bnQgYXJnYywgY2hhcioqIGFyZ3YpCiB7CisjaWYgVVNFKEFUU1BJKQorICAgIC8vIERpc2FibGUg
QVRLL0dUSyBhY2Nlc3NpYmlsaXR5IHN1cHBvcnQgaW4gdGhlIFdlYlByb2Nlc3MuCisjaWYgVVNF
KEdUSzQpCisgICAgZ19zZXRlbnYoIkdUS19BMTFZIiwgIm5vbmUiLCBUUlVFKTsKKyNlbHNlCisg
ICAgZ19zZXRlbnYoIk5PX0FUX0JSSURHRSIsICIxIiwgVFJVRSk7CisjZW5kaWYKKyNlbmRpZgor
CiAgICAgLy8gSWdub3JlIHRoZSBHVEtfVEhFTUUgZW52aXJvbm1lbnQgdmFyaWFibGUsIHRoZSB0
aGVtZSBpcyBhbHdheXMgc2V0IGJ5IHRoZSBVSSBwcm9jZXNzIG5vdy4KICAgICAvLyBUaGlzIGNh
bGwgbmVlZHMgdG8gaGFwcGVuIGJlZm9yZSBhbnkgdGhyZWFkcyBiZWdpbiBleGVjdXRpb24KICAg
ICB1bnNldGVudigiR1RLX1RIRU1FIik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4IDA1MjhhNDlh
M2NmZC4uZDMxMmQ0ZGRhYzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5j
bWFrZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtMzAsNyArMzAsNiBA
QCBmaW5kX3BhY2thZ2UoT3BlbkdMRVMyKQogCiBpbmNsdWRlKEdTdHJlYW1lckRlZmluaXRpb25z
KQogCi1TRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfQVRLIFRSVUUpCiBTRVRfQU5EX0VYUE9T
RV9UT19CVUlMRChVU0VfQ0FJUk8gVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9Y
REdNSU1FIFRSVUUpCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfR0NSWVBUIFRSVUUpCkBA
IC03Niw2ICs3NSw3IEBAIFdFQktJVF9PUFRJT05fREVGSU5FKFVTRV9XUEVfUkVOREVSRVIgIldo
ZXRoZXIgdG8gZW5hYmxlIFdQRSByZW5kZXJpbmciIFBVQkxJQyBPCiAjIFByaXZhdGUgb3B0aW9u
cyBzcGVjaWZpYyB0byB0aGUgR1RLIHBvcnQuIENoYW5naW5nIHRoZXNlIG9wdGlvbnMgaXMKICMg
Y29tcGxldGVseSB1bnN1cHBvcnRlZC4gVGhleSBhcmUgaW50ZW5kZWQgZm9yIHVzZSBvbmx5IGJ5
IFdlYktpdCBkZXZlbG9wZXJzLgogV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0FOR0xFX1dFQkdM
ICJXaGV0aGVyIHRvIHVzZSBBTkdMRSBhcyBXZWJHTCBiYWNrZW5kLiIgUFJJVkFURSBPRkYpCitX
RUJLSVRfT1BUSU9OX0RFRklORShVU0VfQVRTUEkgIldoZXRoZXIgdG8gdXNlIHRoZSBBdHNwaSBh
MTF5IGltcGxlbWVudGF0aW9uIGluc3RlYWQgb2YgQVRLLiIgUFJJVkFURSBPRkYpCiAKIFdFQktJ
VF9PUFRJT05fREVQRU5EKEVOQUJMRV8zRF9UUkFOU0ZPUk1TIFVTRV9PUEVOR0xfT1JfRVMpCiBX
RUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfQVNZTkNfU0NST0xMSU5HIFVTRV9PUEVOR0xfT1Jf
RVMpCkBAIC0yNjcsNiArMjY3LDEyIEBAIGlmIChOT1QgRVhJU1RTICIke1RPT0xTX0RJUn0vZ2xp
Yi9hcHBseS1idWlsZC1yZXZpc2lvbi10by1maWxlcy5weSIpCiAgICAgc2V0KEJVSUxEX1JFVklT
SU9OICJ0YXJiYWxsIikKIGVuZGlmICgpCiAKK2lmIChVU0VfQVRTUEkpCisgICAgU0VUX0FORF9F
WFBPU0VfVE9fQlVJTEQoRU5BQkxFX0FDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSBUUlVFKQor
ZWxzZSAoKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9BVEsgVFJVRSkKK2VuZGlm
ICgpCisKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfR1RLX1VOSVhfUFJJTlRJTkcgJHtH
VEtfVU5JWF9QUklOVF9GT1VORH0pCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChIQVZFX09TX0RB
UktfTU9ERV9TVVBQT1JUIDEpCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xz
L0NoYW5nZUxvZwppbmRleCAzYTRhNDliNzc3MjUuLjk3NmU0NDQ1YmYyMSAxMDA2NDQKLS0tIGEv
VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIwMCBAQAor
MjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBVFNQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHN0dWJz
IGZvciBXVFIgYWNjZXNzaWJpbGl0eSBpbXBsZW1lbnRhdGlvbi4KKworICAgICAgICAqIFdlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVl
TW9kZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNJc29sYXRlZE9iamVjdCBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBsYXRmb3JtVUlFbGVtZW50KToKKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0
ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5k
bGVyQXRrLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcDog
QWRkZWQuCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29u
c2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFj
Y2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpwbGF0Zm9ybU5hbWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6Zm9jdXNlZEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAg
ICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0
eVVJRWxlbWVudEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp+QWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJlbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Y2hpbGRyZW5Db3VudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aW5kZXhPZkNoaWxkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y2hpbGRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bGlua2VkVUlFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0SW5kZXgpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRmxvd1RvRWxlbWVudEF0SW5kZXgpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhQ29udHJvbHNFbGVtZW50QXRJbmRl
eCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZFJvd0F0
SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dBdEluZGV4
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRDaGlsZEF0
SW5kZXggY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxl
Y3RlZENoaWxkcmVuQ291bnQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzZWxlY3RlZFJvd0F0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp0aXRsZVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpkaXNjbG9zZWRCeVJvdyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkxpbmtlZFVJRWxlbWVudHMpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZEb2N1bWVudExpbmtzKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ2hpbGRyZW4pOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphbGxBdHRyaWJ1dGVzKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRGVzY3JpcHRpb25PZkF0dHJp
YnV0ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5n
QXR0cmlidXRlVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpu
dW1iZXJBdHRyaWJ1dGVWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dIZWFkZXJzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1uSGVhZGVycyBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEF0dHJpYnV0ZVZhbHVlIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9vbEF0dHJpYnV0ZVZh
bHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVT
ZXR0YWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmli
dXRlU3VwcG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFy
YW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cm9sZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1
YnJvbGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVzY3Jp
cHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb21wdXRlZFJv
bGVTdHJpbmcpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlc2NyaXB0aW9uKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24gY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdWYWx1ZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omxhbmd1YWdlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQgY29uc3QpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6eSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Ondp
ZHRoKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVpZ2h0KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQb2ludFgpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WSk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjptYXhWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbnNlcnRpb25Qb2ludExpbmVOdW1iZXIpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlv
blN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5h
YmxlZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzUmVxdWlyZWQg
Y29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzZWQg
Y29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVk
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3Rl
ZE9wdGlvbkFjdGl2ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzRXhwYW5kZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0NoZWNrZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc0luZGV0ZXJtaW5hdGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpoaWVyYXJjaGljYWxMZXZlbCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNwZWFrQXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphcmlhSXNHcmFiYmVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YXJpYURyb3BFZmZlY3RzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5lKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3NpdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01pc3NwZWxsZWQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRDb3VudEZv
clNlYXJjaFByZWRpY2F0ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnVpRWxlbWVudEZvclNlYXJjaFByZWRpY2F0ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnNlbGVjdFRleHRXaXRoQ3JpdGVyaWEpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5IZWFkZXJzKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93SGVhZGVycyk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dz
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mVmlz
aWJsZUNlbGxzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlc09mSGVhZGVyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93
Q291bnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5Db3Vu
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4SW5UYWJsZSk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0luZGV4UmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5JbmRleFJhbmdlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJv
dyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhvcml6b250YWxTY3Jv
bGxiYXIgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0
aWNhbFNjcm9sbGJhciBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnNlbGVjdGVkVGV4dFJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjppbmNyZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpkZWNyZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
aG93TWVudSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXNzKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZCBj
b25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVk
Q2hpbGRBdEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cmVtb3ZlU2VsZWN0aW9uQXRJbmRleCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmNsZWFyU2VsZWN0ZWRDaGlsZHJlbiBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlWYWx1ZSBjb25zdCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50RW5jb2RpbmcpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVybCk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzYWJsZSBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0YWJsZSBj
b25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzTXVsdGlTZWxl
Y3RhYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNW
aXNpYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNP
ZmZTY3JlZW4gY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0NvbGxhcHNlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzSWdub3JlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzU2luZ2xlTGluZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzTXVsdGlMaW5lIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aGFzUG9wdXAgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp0YWtlRm9jdXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
YWtlU2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRk
U2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3Zl
U2VsZWN0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZVRl
eHRNYXJrZXJSYW5nZUZvclRleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJldmlvdXNUZXh0TWFya2VyKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRleHRNYXJrZXIpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRleHRNYXJrZXJS
YW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJS
YW5nZUZvck1hcmtlcnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpz
dGFydFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvckJvdW5kcyk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZv
ckJvdW5kcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJr
ZXJGb3JQb2ludCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vz
c2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlV2l0aE9wdGlvbnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRleEZvclRleHRNYXJr
ZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1RleHRNYXJrZXJW
YWxpZCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJG
b3JJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4
dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRN
YXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3Rl
ZFRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNjcm9sbFRvTWFrZVZpc2libGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c2Nyb2xsVG9NYWtlVmlzaWJsZVdpdGhTdWJGb2N1cyk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1cHBvcnRlZEFjdGlvbnMgY29uc3QpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXRoRGVzY3JpcHRpb24gY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNj
cmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1h
dGhQcmVzY3JpcHRzRGVzY3JpcHRpb24gY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjbGFzc0xpc3QgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjaGFyYWN0ZXJBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OndvcmRBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmxpbmVBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnNlbnRlbmNlQXRPZmZzZXQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpyZXBsYWNlVGV4dEluUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbnNlcnRUZXh0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6cG9wdXBWYWx1ZSBjb25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9Q
bGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25z
LmNwcDoKKyAgICAgICAgKFdUUjo6VGVzdE9wdGlvbnM6OmRlZmF1bHRzKToKKwogMjAyMS0wOS0x
NCAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAg
W0dUS10gVGVzdFdlYktpdEFjY2Vzc2liaWxpdHkgaXMgYWx3YXlzIHNraXBwZWQgaW4gdGhlIGJv
dHMKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNj
ZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNmViYTE0YTFhNzBjLi5l
YWY1OGE2OTk3NjYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCkBAIC0zMiw3
ICszMiw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZVBhZ2UuaCIKICNpbmNsdWRlICJKU0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCi0j
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWV9JU09MQVRFRF9UUkVFKSAmJiBQTEFURk9STShNQUMpCiAjaW5jbHVkZSA8cGFsL3Nw
aS9jb2NvYS9BY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oPgogI2luY2x1ZGUgPHBhbC9zcGkvbWFj
L0hJU2VydmljZXNTUEkuaD4KICNlbmRpZgpAQCAtNjgsMTAgKzY4LDEyIEBAIHZvaWQgQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OnNldElzb2xhdGVkVHJlZU1vZGUoYm9vbCBmbGFnKQogI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCiB2b2lkIEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2RlKCkKIHsKKyNpZiBQTEFURk9STShNQUMpCiAg
ICAgLy8gT3ZlcnJpZGUgdG8gc2V0IGlkZW50aWZpZXIgdG8gVm9pY2VPdmVyIHNvIHRoYXQgcmVx
dWVzdHMgYXJlIGhhbmRsZWQgaW4gaXNvbGF0ZWQgbW9kZS4KICAgICBfQVhTZXRDbGllbnRJZGVu
dGlmaWNhdGlvbk92ZXJyaWRlKG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUgPyAoQVhD
bGllbnRUeXBlKWtBWENsaWVudFR5cGVXZWJLaXRUZXN0aW5nIDoga0FYQ2xpZW50VHlwZU5vQWN0
aXZlUmVxdWVzdEZvdW5kKTsKICAgICBfQVhTU2V0SXNvbGF0ZWRUcmVlTW9kZShtX2FjY2Vzc2li
aWxpdHlJc29sYXRlZFRyZWVNb2RlID8gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgOiBB
WFNJc29sYXRlZFRyZWVNb2RlT2ZmKTsKICAgICBtX3VzZU1vY2tBWFRocmVhZCA9IFdLQWNjZXNz
aWJpbGl0eUNhblVzZVNlY29uZGFyeUFYVGhyZWFkKEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24o
KS5wYWdlKCktPnBhZ2UoKSk7CisjZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQu
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmNwcAppbmRleCAxODliYTlhMWI5YWYuLmVhNjQwMGJjNzI4YiAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50LmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0Fj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQuY3BwCkBAIC01NSwxMCArNTUsMTQgQEAgYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc1ZhbGlkKCkgY29uc3QKICAgICByZXR1cm4gbV9lbGVtZW50OyAg
ICAgICAgICAgIAogfQogCi0jaWYgIUVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
CisjaWYgIVBMQVRGT1JNKE1BQykKIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJc29s
YXRlZE9iamVjdCgpIGNvbnN0CiB7CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKKyAgICByZXR1cm4gdHJ1ZTsKKyNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlm
CiB9CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAppbmRleCBiMjNlNzE3Zjg2
MmEuLjNlNWUwY2VlNjlmZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKQEAgLTQ3LDYg
KzQ3LDExIEBAIHVzaW5nIFBsYXRmb3JtVUlFbGVtZW50ID0gaWQ7CiAjaW5jbHVkZSA8YXRrL2F0
ay5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4KIHR5cGVkZWYgR1JlZlB0cjxBdGtP
YmplY3Q+IFBsYXRmb3JtVUlFbGVtZW50OworI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRTUEkpCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0
QXRzcGk7Cit9Cit0eXBlZGVmIFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSogUGxh
dGZvcm1VSUVsZW1lbnQ7CiAjZWxzZQogdHlwZWRlZiB2b2lkKiBQbGF0Zm9ybVVJRWxlbWVudDsK
ICNlbmRpZgpAQCAtNzEsNiArNzYsOCBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShDT0NPQSkK
ICAgICBpZCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQor
I2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCisgICAgUGxhdGZvcm1VSUVs
ZW1lbnQgcGxhdGZvcm1VSUVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1lbnQuZ2V0KCk7IH0KICNl
bHNlCiAgICAgUGxhdGZvcm1VSUVsZW1lbnQgcGxhdGZvcm1VSUVsZW1lbnQoKSB7IHJldHVybiBt
X2VsZW1lbnQ7IH0KICNlbmRpZgpAQCAtMzg5LDcgKzM5Niw3IEBAIHByaXZhdGU6CiAgICAgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxlbWVudCk7CiAgICAgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudChjb25zdCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Jik7CiAKLSNpZiAhUExBVEZP
Uk0oQ09DT0EpCisjaWYgIVBMQVRGT1JNKENPQ09BKSAmJiAhVVNFKEFUU1BJKQogICAgIFBsYXRm
b3JtVUlFbGVtZW50IG1fZWxlbWVudDsKICNlbmRpZgogCkBAIC00MTMsNiArNDIwLDggQEAgcHJp
dmF0ZToKIAogI2lmIFVTRShBVEspCiAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25IYW5kbGVyPiBtX25vdGlmaWNhdGlvbkhhbmRsZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAg
UmVmUHRyPFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gbV9lbGVtZW50OwogI2Vu
ZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0
ay5jcHAKaW5kZXggOGMyYWRhYzE5MDA4Li5jMTI0ODgwNTliMWYgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9s
bGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0
ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNs
dWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgogCi0j
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZS5oIgpAQCAtMTQ0LDQgKzE0NCw0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkKIAogfSAvLyBuYW1lc3BhY2UgV1RS
CiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0
eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCmluZGV4IGEyM2U3ODUxNzA3My4uNzlmNzc2ODRl
YWIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0
ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkhhbmRsZXJBdGsuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaCIKIAotI2lmIEhB
VkUoQUNDRVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRC
dW5kbGUuaCIKQEAgLTI3OCw0ICsyNzgsNCBAQCBib29sIEFjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25IYW5kbGVyOjpkaXNjb25uZWN0QWNjZXNzaWJpbGl0eUNhbGxiYWNrcygpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhB
VkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5k
bGVyQXRrLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oCmluZGV4IGRhNWQ4ZWNkZGIwNi4uZDJj
Nzg0OWE5ZjU4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmlj
YXRpb25IYW5kbGVyQXRrLmgKQEAgLTE5LDcgKzE5LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmplY3RSZWYuaD4KICNpbmNsdWRlIDxh
dGsvYXRrLmg+CkBAIC01Myw0ICs1Myw0IEBAIHByaXZhdGU6CiAKIH0gLy8gbmFtZXNwYWNlIFdU
UgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNT
SUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHAKaW5kZXggZDMyOTA5MDRhZjdhLi42NjNlZGU1MmE0ODEgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgogCi0j
aWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKIAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5k
bGVQYWdlLmgiCkBAIC0yMjk5LDQgKzIyOTksNCBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cG9wdXBWYWx1ZSgpIGNvbnN0CiAKIH0gLy8gbmFtZXNw
YWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhBVkUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdHNwaS5j
cHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2li
aWxpdHlDb250cm9sbGVyQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMC4uNzFkMzBmNDFkMThmCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3Bp
LmNwcApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICog
ICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyAqIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUK
KyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuaD4KKyNpbmNsdWRl
IDxXZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgorCituYW1lc3BhY2UgV1RSIHsKKwordm9p
ZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0NvbnNpc3RlbnRTdGF0ZSgpCit7Cit9
CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVmIGlkKQoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OnBsYXRmb3JtTmFtZSgpCit7CisgICAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IHBs
YXRmb3JtTmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoImF0c3BpIikp
OworICAgIHJldHVybiBwbGF0Zm9ybU5hbWU7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNlKEpTU3RyaW5nUmVmIGRvbWFpbiwg
SlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkKK3sKK30KKworUmVmPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyb290RWxlbWVudCgpCit7
CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCku
cGFnZSgpLT5wYWdlKCk7CisgICAgYXV0byogZWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KFdLQWNjZXNzaWJpbGl0eVJvb3RPYmplY3QocGFn
ZSkpOworCisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50
KTsKK30KKworUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpmb2N1c2VkRWxlbWVudCgpCit7CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmpl
Y3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CisgICAgYXV0byogZWxlbWVu
dCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KFdLQWNj
ZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QocGFnZSkpOworCisgICAgcmV0dXJuIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxi
YWNrKQoreworICAgIHJldHVybiB0cnVlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXVFIKKworI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50
QXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uODlmZWNi
OTkyNWQzCi0tLSAvZGV2L251bGwKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3BwCkBAIC0wLDAgKzEs
ODUwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUg
IkluamVjdGVkQnVuZGxlUGFnZS5oIgorI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTU3RyaW5n
UmVmLmg+CisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvT3BhcXVlSlNTdHJpbmcuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oPgorI2luY2x1ZGUgPFdlYktp
dC9XS0J1bmRsZUZyYW1lLmg+CisKK25hbWVzcGFjZSBXVFIgeworCitBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50IGVsZW1lbnQp
CisgICAgOiBtX2VsZW1lbnQoZWxlbWVudCkKK3sKK30KKworQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50JiBv
dGhlcikKKyAgICA6IEpTV3JhcHBhYmxlKCkKKyAgICAsIG1fZWxlbWVudChvdGhlci5tX2VsZW1l
bnQpCit7Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6On5BY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50KCkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VxdWFsKEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQqIG90aGVyRWxlbWVudCkKK3sKKyAgICByZXR1cm4gbV9lbGVtZW50
LmdldCgpID09IG90aGVyRWxlbWVudC0+cGxhdGZvcm1VSUVsZW1lbnQoKTsKK30KKwordm9pZCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpnZXRDaGlsZHJlbihWZWN0b3I8UmVmUHRyPEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ+ID4mIGNoaWxkcmVuKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmdldENoaWxkcmVuV2l0aFJhbmdlKFZlY3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gPiYgY2hpbGRyZW4sIHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5n
dGgpCit7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZHJlbkNvdW50KCkK
K3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVsZW1lbnRBdFBvaW50KGludCB4LCBpbnQgeSkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKwordW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5kZXhPZkNoaWxkKEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpjaGlsZEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpsaW5rZWRVSUVsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYU93bnNFbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRl
eCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCh1
bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFDb250cm9sc0Vs
ZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
ZGlzY2xvc2VkUm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJvd0F0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKwordW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Vs
ZWN0ZWRDaGlsZHJlbkNvdW50KCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRy
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVk
Um93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRp
dGxlVUlFbGVtZW50KCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmVudEVsZW1lbnQo
KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxl
bWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkQnlSb3coKQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6YXR0cmlidXRlc09mTGlua2VkVUlFbGVtZW50cygpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZEb2N1bWVudExp
bmtzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsK
K30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0
dHJpYnV0ZXNPZkNoaWxkcmVuKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0
ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRGVzY3JpcHRpb25PZkF0dHJpYnV0ZVZhbHVlKEpT
U3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hh
cmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnN0cmluZ0F0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
ZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0ZVZhbHVlKEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworSlNWYWx1ZVJlZiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRBcnJheUF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5n
UmVmIGF0dHJpYnV0ZSkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNWYWx1
ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dIZWFkZXJzKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKworSlNWYWx1ZVJlZiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
b2x1bW5IZWFkZXJzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRy
PEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVu
dEF0dHJpYnV0ZVZhbHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkgY29uc3QKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmli
dXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
KworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKEpTU3Ry
aW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0ZWQoSlNTdHJpbmdSZWYgYXR0cmli
dXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhcmFtZXRlcml6ZWRBdHRyaWJ1dGVOYW1lcygpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlKCkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN1YnJvbGUoKQor
eworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZURlc2Ny
aXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNvbXB1dGVkUm9sZVN0cmluZygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojp0aXRsZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENo
YXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpkZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpT
U3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdWYWx1ZSgpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsYW5ndWFnZSgpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisK
K2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp4KCkKK3sKKyAgICByZXR1cm4gMDsKK30K
KworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnkoKQoreworICAgIHJldHVybiAwOwor
fQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d2lkdGgoKQoreworICAgIHJldHVy
biAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVpZ2h0KCkKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9p
bnRYKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNsaWNrUG9pbnRZKCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworZG91YmxlIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmludFZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
ZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1pblZhbHVlKCkKK3sKKyAgICByZXR1cm4g
MDsKK30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKCkKK3sKKyAg
ICByZXR1cm4gMDsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnZhbHVlRGVzY3JpcHRpb24oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0
ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5zZXJ0aW9uUG9pbnRMaW5lTnVtYmVyKCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNQcmVzc0FjdGlvblN1cHBvcnRlZCgpCit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5jcmVt
ZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNEZWNyZW1lbnRBY3Rpb25TdXBwb3J0ZWQoKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0VuYWJs
ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojppc1JlcXVpcmVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RlZCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzU2VsZWN0ZWRPcHRpb25BY3RpdmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0V4cGFuZGVkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXND
aGVja2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNJbmRldGVybWluYXRlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoaWVyYXJjaGljYWxMZXZlbCgp
IGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3BlYWtBcygpCit7CisgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXJpYUlzR3JhYmJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYURy
b3BFZmZlY3RzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVGb3JJbmRl
eChpbnQgaW5kZXgpCit7CisgICAgcmV0dXJuIC0xOworfQorCitKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JMaW5lKGludCBsaW5lKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmFuZ2VGb3JQb3Np
dGlvbihpbnQgeCwgaW50IHkpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpib3VuZHNGb3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVu
Z3RoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Ry
aW5nRm9yUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdG
b3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCh1bnNpZ25l
ZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
dW5zaWduZWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Q291bnRGb3JTZWFyY2hQ
cmVkaWNhdGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIHN0
YXJ0RWxlbWVudCwgYm9vbCBpc0RpcmVjdGlvbk5leHQsIEpTVmFsdWVSZWYgc2VhcmNoS2V5LCBK
U1N0cmluZ1JlZiBzZWFyY2hUZXh0LCBib29sIHZpc2libGVPbmx5LCBib29sIGltbWVkaWF0ZURl
c2NlbmRhbnRzT25seSkKK3sKKyAgICByZXR1cm4gMDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEZvclNlYXJjaFBy
ZWRpY2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogc3Rh
cnRFbGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwgSlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpT
U3RyaW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJsZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVz
Y2VuZGFudHNPbmx5KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0VGV4dFdpdGhDcml0ZXJp
YShKU0NvbnRleHRSZWYgY29udGV4dCwgSlNTdHJpbmdSZWYgYW1iaWd1aXR5UmVzb2x1dGlvbiwg
SlNWYWx1ZVJlZiBzZWFyY2hTdHJpbmdzLCBKU1N0cmluZ1JlZiByZXBsYWNlbWVudFN0cmluZywg
SlNTdHJpbmdSZWYgYWN0aXZpdHkpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZD
b2x1bW5IZWFkZXJzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd0hlYWRlcnMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucygpCit7CisgICAgcmV0
dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dzKCkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0
ZXNPZlZpc2libGVDZWxscygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cm93Q291bnQoKQoreworICAgIHJldHVybiAwOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6Y29sdW1uQ291bnQoKQoreworICAgIHJldHVybiAwOworfQorCitpbnQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dJbmRl
eFJhbmdlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNvbHVtbkluZGV4UmFuZ2UoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Y2VsbEZvckNvbHVtbkFuZFJvdyh1bnNpZ25lZCBjb2wsIHVuc2ln
bmVkIHJvdykKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhvcml6b250YWxTY3JvbGxiYXIo
KSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmVydGljYWxTY3JvbGxiYXIoKSBj
b25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRUZXh0UmFuZ2UoKQoreworICAgIHJl
dHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dFJhbmdlKHVuc2lnbmVkIGxvY2F0aW9u
LCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVudCgpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZGVjcmVtZW50KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzaG93TWVudSgpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJl
c3MoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hp
bGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkgY29uc3QKK3sKK30KKwordm9pZCBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkQXRJbmRleCh1bnNpZ25lZCBp
bmRleCkgY29uc3QKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVT
ZWxlY3Rpb25BdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNsZWFyU2VsZWN0ZWRDaGlsZHJlbigpIGNvbnN0Cit7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3Np
YmlsaXR5VmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpkb2N1bWVudFVSSSgpCit7CisgICAgcmV0dXJuIEpTU3Ry
aW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5n
UmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1cmwoKQoreworICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmFkZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYgZnVuY3Rpb25DYWxsYmFj
aykKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQoreworICAgIHJldHVybiB0cnVlOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxl
Y3RhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFibGUoKSBjb25zdAoreworICAgIHJldHVybiBm
YWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojppc09mZlNjcmVlbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29sbGFwc2VkKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJZ25vcmVkKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6aXNTaW5nbGVMaW5lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aUxpbmUoKSBjb25zdAoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNQb3B1cCgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnRha2VGb2N1cygpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGFr
ZVNlbGVjdGlvbigpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWRkU2Vs
ZWN0aW9uKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxl
Y3Rpb24oKQoreworfQorCisvLyBUZXh0IG1hcmtlcnMKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4
dE1hcmtlclJhbmdlPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lVGV4dE1hcmtlclJhbmdl
Rm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQoQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUxlbmd0aChBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
UmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpw
cmV2aW91c1RleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
cj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bmV4dFRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRl
eHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdGb3JUZXh0
TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogbWFya2VyUmFuZ2UpCit7
CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZWN0c0ZvclRl
eHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSwg
SlNTdHJpbmdSZWYgc2VhcmNoVGV4dCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvck1hcmtlcnMoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXIqIHN0YXJ0TWFya2VyLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtl
ciogZW5kTWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNz
aWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtl
ckZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yVGV4dE1hcmtlclJh
bmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JCb3VuZHMoaW50IHgsIGludCB5LCBpbnQgd2lk
dGgsIGludCBoZWlnaHQpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFy
a2VyRm9yQm91bmRzKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JQb2ludChpbnQgeCwgaW50IHkpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphY2Nlc3NpYmlsaXR5RWxlbWVudEZvclRleHRNYXJr
ZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXJSYW5nZSopCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1h
cmtlclJhbmdlV2l0aE9wdGlvbnMoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSosIGJvb2wp
Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZUNvbnRhaW5zQXR0cmlidXRlKEpT
U3RyaW5nUmVmIGF0dHJpYnV0ZSwgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2Up
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aW5kZXhGb3JUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBtYXJrZXIpCit7Cisg
ICAgcmV0dXJuIC0xOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1h
cmtlclZhbGlkKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9ySW5kZXgoaW50IHRleHRJbmRleCkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXIoKQoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXIoKQoreworICAgIHJldHVybiBudWxscHRyOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdl
KEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqKQoreworICAgIHJldHVybiBmYWxzZTsKK30K
Kwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlKCkKK3sK
K30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb0dsb2JhbFBvaW50KGlu
dCB4LCBpbnQgeSkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxU
b01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBpbnQgaGVp
Z2h0KQoreworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c3VwcG9ydGVkQWN0aW9ucygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXRo
RGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFBvc3RzY3JpcHRz
RGVzY3JpcHRpb24oKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNE
ZXNjcmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGFzc0xpc3QoKSBjb25z
dAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hhcmFjdGVyQXRPZmZzZXQoaW50IG9mZnNldCkKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OndvcmRBdE9mZnNl
dChpbnQgb2Zmc2V0KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6bGluZUF0T2Zmc2V0KGludCBvZmZzZXQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZW50ZW5jZUF0T2Zmc2V0KGludCBvZmZzZXQpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVwbGFjZVRleHRJblJhbmdlKEpTU3RyaW5nUmVmLCBp
bnQsIGludCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aW5zZXJ0VGV4dChKU1N0cmluZ1JlZikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1
cFZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV1RSCisKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlm
ZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UgYi9Ub29s
cy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDZmODM2NmI2M2U0My4u
ODk2MmU2NDVlOWE5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3Jt
R1RLLmNtYWtlCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UK
QEAgLTQwLDYgKzQwLDkgQEAgbGlzdChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVu
ZGxlX1NPVVJDRVMKICAgICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNh
dGlvbkhhbmRsZXJBdGsuY3BwCiAgICAgSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlV
SUVsZW1lbnRBdGsuY3BwCiAKKyAgICBJbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5
Q29udHJvbGxlckF0c3BpLmNwcAorICAgIEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnRBdHNwaS5jcHAKKwogICAgIEluamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZv
bnRzR3RrLmNwcAogICAgIEluamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAK
ICAgICBJbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwCmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCmluZGV4IDhlMmE3Zjg4OGMwZC4uYTU2MzU2
MGUwY2NhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcApAQCAtODgsNiAr
ODgsOSBAQCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiAgICAg
ICAgICAgICB7ICJJbnB1dFR5cGVNb250aEVuYWJsZWQiLCB0cnVlIH0sCiAgICAgICAgICAgICB7
ICJJbnB1dFR5cGVUaW1lRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIklucHV0VHlw
ZVdlZWtFbmFibGVkIiwgdHJ1ZSB9LAorI2lmIFVTRShBVFNQSSkKKyAgICAgICAgICAgIHsgIklz
QWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQiLCB0cnVlIH0sCisjZW5kaWYKICAgICAg
ICAgICAgIHsgIkphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQiLCB0cnVlIH0sCiAgICAgICAg
ICAgICB7ICJKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5IiwgdHJ1ZSB9LAog
ICAgICAgICAgICAgeyAiTGFyZ2VJbWFnZUFzeW5jRGVjb2RpbmdFbmFibGVkIiwgZmFsc2UgfSwK
</data>
<flag name="commit-queue"
          id="461439"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438134</attachid>
            <date>2021-09-14 07:00:45 -0700</date>
            <delta_ts>2021-09-16 00:36:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-a11y-atspi.diff</filename>
            <type>text/plain</type>
            <size>101855</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4YTBhNmEwNDExMWYuLjNi
MzE5ZTM3ZGQwYiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTMgIFNhbSBTbmVkZG9uICA8Z3NuZWRkZXJzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBNb3ZlIEVOQUJMRV9SRVNPTFVUSU9OX01FRElBX1FVRVJZIHRvIGEgcnVudGltZSBm
bGFnLCBzdGFydCBydW5uaW5nIHRlc3RzIGFnYWluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0No
YW5nZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGNiMmU1NjhkOTUzZS4uMzlkZGNl
ZDgxNWNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENh
bXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBi
dWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdp
dGggQVRTUEkuCisKKyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2Vz
LnlhbWw6CisKIDIwMjEtMDktMTMgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Vi
a2l0Lm9yZz4KIAogICAgICAgICBBZGQgdW5pdCB0ZXN0IHRoYXQgdXNlcyBQQ00gZGFlbW9uCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMu
eWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVmZXJlbmNlcy55YW1s
CmluZGV4IDlkM2NjZTk3YzA4NS4uNjk2NjJiYmI5YTM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysgYi9Tb3VyY2UvV1RG
L1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAtMTA3OCw2ICsxMDc4
LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgICBXZWJLaXRMZWdh
Y3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAgICJVU0UoQVRTUEkp
IjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgogICAgICAgZGVmYXVs
dDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwppbmRleCAxM2Q3YWNkMTk0NjUuLmQ3MDJiN2U1ZTQ0MiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDg1IEBACisyMDIxLTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAg
PGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBv
cHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0aW9uIGFuZCBzZXZl
cmFsIGJ1aWxkIGZpeGVzIHdoZW4gQVRLIGlzIGRpc2FibGVkIGFuZCBpc29sYXRlZCB0cmVlIGVu
YWJsZWQuCisKKyAgICAgICAgKiBQbGF0Zm9ybUdUSy5jbWFrZToKKyAgICAgICAgKiBTb3VyY2Vz
R1RLLnR4dDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6Y2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUp
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aXNJc29sYXRlZFRyZWVFbmFibGVk
KToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmluaXRpYWxpemVTZWNvbmRhcnlB
WFRocmVhZCk6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjp1c2VkT25BWFRocmVh
ZCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHk6OmlzQWNjZXNzaWJpbGl0eVRleHRTZWFyY2hN
YXRjaCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0Ojppbml0aWFsaXplQXR0cmlidXRlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjpBWElz
b2xhdGVkT2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFsaXplUGxhdGZvcm1Qcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBl
cik6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdy
YXBwZXIpOgorICAgICAgICAqIGVkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaDoKKyAgICAgICAgKiBl
ZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHA6CisgICAgICAgICogZWRpdGluZy9hdHNw
aS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFt
ZVNlbGVjdGlvbjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZSk6CisgICAg
ICAgICogcGFnZS9TZXR0aW5ncy55YW1sOgorCiAyMDIxLTA5LTE0ICBYYWJpZXIgUm9kcmlndWV6
IENhbHZhciAgPGNhbHZhcmlzQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dTdHJlYW1lcl0gRW5h
YmxlIEgyNjUgY29kZWMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1
Li5hOGEwMWYwNmViZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3
IEBAIGxpc3QoQVBQRU5EIFdlYkNvcmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0
KEFQUEVORCBXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNP
UkVfRElSfS9hY2Nlc3NpYmlsaXR5L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJp
bGl0eS9hdHNwaSIKICAgICAiJHtXRUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VC
Q09SRV9ESVJ9L3BhZ2UvZ3RrIgogICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRh
IgpAQCAtNTMsNiArNTQsOCBAQCBpZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxp
c3QoQVBQRU5EIFdlYkNvcmVfUFJJVkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2li
aWxpdHkvYXRzcGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fk
d2FpdGEvU2Nyb2xsYmFyVGhlbWVBZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGlj
YXRpb25HTGliLmgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlc0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMx
MmVmODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaS5jcHAKK2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0
c3BpLmNwcAorCithY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2Jq
ZWN0QXRzcGkuY3BwCisKIGVkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0
aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0
ay5jcHAKIGVkaXRpbmcvZ3RrL1dlYkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhPYmplY3RDYWNoZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FYT2JqZWN0Q2FjaGUuY3BwCmluZGV4IDg5ZjhhNjViMTVm
ZS4uOTY4NzU5NGE4ZWE5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L0FYT2JqZWN0Q2FjaGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvQVhP
YmplY3RDYWNoZS5jcHAKQEAgLTc3MCw5ICs3NzAsMTMgQEAgQWNjZXNzaWJpbGl0eU9iamVjdCog
QVhPYmplY3RDYWNoZTo6Z2V0T3JDcmVhdGUoUmVuZGVyT2JqZWN0KiByZW5kZXJlcikKICNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQogYm9vbCBBWE9iamVjdENhY2hlOjpj
bGllbnRTdXBwb3J0c0lzb2xhdGVkVHJlZSgpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKICAgICBhdXRvIGNsaWVudCA9IF9BWEdldENsaWVudEZvckN1cnJlbnRSZXF1ZXN0VW50cnVz
dGVkKCk7CiAgICAgcmV0dXJuIGNsaWVudCA9PSBrQVhDbGllbnRUeXBlVm9pY2VPdmVyCiAgICAg
ICAgIHx8IFVOTElLRUxZKGNsaWVudCA9PSBrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyk7Cisj
ZWxzZQorICAgIHJldHVybiB0cnVlOworI2VuZGlmCiB9CiAKIGJvb2wgQVhPYmplY3RDYWNoZTo6
aXNJc29sYXRlZFRyZWVFbmFibGVkKCkKQEAgLTc4MSw2ICs3ODUsNyBAQCBib29sIEFYT2JqZWN0
Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgpCiAgICAgaWYgKGVuYWJsZWQpCiAgICAgICAg
IHJldHVybiB0cnVlOwogCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBpZiAoIWlz
TWFpblRocmVhZCgpKSB7CiAgICAgICAgIEFTU0VSVChfQVhVSUVsZW1lbnRSZXF1ZXN0U2Vydmlj
ZWRCeVNlY29uZGFyeUFYVGhyZWFkKCkpOwogICAgICAgICBlbmFibGVkID0gdHJ1ZTsKQEAgLTc5
MCw2ICs3OTUsOSBAQCBib29sIEFYT2JqZWN0Q2FjaGU6OmlzSXNvbGF0ZWRUcmVlRW5hYmxlZCgp
CiAgICAgICAgICAgICAmJiBfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkgIT0gQVhTSXNvbGF0
ZWRUcmVlTW9kZU9mZiAvLyBVc2VkIHRvIHN3aXRjaCB2aWEgc3lzdGVtIGRlZmF1bHRzLgogICAg
ICAgICAgICAgJiYgY2xpZW50U3VwcG9ydHNJc29sYXRlZFRyZWUoKTsKICAgICB9CisjZWxzZQor
ICAgIGVuYWJsZWQgPSB0cnVlOworI2VuZGlmCiAKICAgICByZXR1cm4gZW5hYmxlZDsKIH0KQEAg
LTgxMywxMCArODIxLDEyIEBAIEFYQ29yZU9iamVjdCogQVhPYmplY3RDYWNoZTo6cm9vdE9iamVj
dCgpCiAKIHZvaWQgQVhPYmplY3RDYWNoZTo6aW5pdGlhbGl6ZVNlY29uZGFyeUFYVGhyZWFkKCkK
IHsKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogICAgIC8vIE5vdyB0aGF0IHdlIGhhdmUg
Y3JlYXRlZCBvdXIgdHJlZSwgaW5pdGlhbGl6ZSB0aGUgc2Vjb25kYXJ5IHRocmVhZCwKICAgICAv
LyBzbyBmdXR1cmUgcmVxdWVzdHMgY29tZSBpbiBvbiB0aGUgb3RoZXIgdGhyZWFkLgogICAgIGlm
IChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9uSXNBdmFpbGFibGUoKSAmJiBfQVhTSXNvbGF0
ZWRUcmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCkK
ICAgICAgICAgX0FYVUlFbGVtZW50VXNlU2Vjb25kYXJ5QVhUaHJlYWQodHJ1ZSk7CisjZW5kaWYK
IH0KIAogUmVmUHRyPEFYSXNvbGF0ZWRUcmVlPiBBWE9iamVjdENhY2hlOjpnZXRPckNyZWF0ZUlz
b2xhdGVkVHJlZSgpIGNvbnN0CkBAIC04NDgsOCArODU4LDE0IEBAIEFYQ29yZU9iamVjdCogQVhP
YmplY3RDYWNoZTo6aXNvbGF0ZWRUcmVlUm9vdE9iamVjdCgpCiBib29sIEFYT2JqZWN0Q2FjaGU6
OnVzZWRPbkFYVGhyZWFkKCkKIHsKICAgICBBU1NFUlQoaXNJc29sYXRlZFRyZWVFbmFibGVkKCkp
OworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAgICAgcmV0dXJuIF9BWFNJc29sYXRlZFRy
ZWVNb2RlRnVuY3Rpb25Jc0F2YWlsYWJsZSgpCiAgICAgICAgICYmIF9BWFNJc29sYXRlZFRyZWVN
b2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkOworI2VsaWYg
VVNFKEFUU1BJKQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7Cisj
ZW5kaWYKIH0KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L0FjY2Vzc2liaWxpdHlPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9BY2Nlc3NpYmlsaXR5T2JqZWN0LmNwcAppbmRleCBjNmY5OWZhYWI0YTUuLjJlMTYzZDMzNDYy
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxp
dHlPYmplY3QuY3BwCkBAIC0zNzgyLDcgKzM3ODIsMTQgQEAgc3RhdGljIGJvb2wgaXNBY2Nlc3Np
YmlsaXR5VGV4dFNlYXJjaE1hdGNoKEFYQ29yZU9iamVjdCogYXhPYmplY3QsIEFjY2Vzc2liaWxp
dHkKIHsKICAgICBpZiAoIWF4T2JqZWN0KQogICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgcmV0
dXJuIGF4T2JqZWN0LT5jb250YWluc1RleHQoY3JpdGVyaWEuc2VhcmNoVGV4dCk7CisKKyAgICAv
LyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgorICAgIGlmIChjcml0ZXJpYS5zZWFy
Y2hUZXh0LmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisKKyAgICByZXR1cm4gY29u
dGFpbnNQbGFpblRleHQoYXhPYmplY3QtPnRpdGxlKCksIGNyaXRlcmlhLnNlYXJjaFRleHQsIENh
c2VJbnNlbnNpdGl2ZSkKKyAgICAgICAgfHwgY29udGFpbnNQbGFpblRleHQoYXhPYmplY3QtPmFj
Y2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5z
aXRpdmUpCisgICAgICAgIHx8IGNvbnRhaW5zUGxhaW5UZXh0KGF4T2JqZWN0LT5zdHJpbmdWYWx1
ZSgpLCBjcml0ZXJpYS5zZWFyY2hUZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwogfQogCiBzdGF0aWMg
Ym9vbCBvYmplY3RNYXRjaGVzU2VhcmNoQ3JpdGVyaWFXaXRoUmVzdWx0TGltaXQoQVhDb3JlT2Jq
ZWN0KiBvYmplY3QsIEFjY2Vzc2liaWxpdHlTZWFyY2hDcml0ZXJpYSBjb25zdCYgY3JpdGVyaWEs
IEFYQ29yZU9iamVjdDo6QWNjZXNzaWJpbGl0eUNoaWxkcmVuVmVjdG9yJiByZXN1bHRzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0
SW50ZXJmYWNlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L0FjY2Vzc2liaWxpdHlP
YmplY3RJbnRlcmZhY2UuaAppbmRleCAyMTY4NDU0OGJhNDMuLjg1NmFlZjliMTZhMSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50
ZXJmYWNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5
T2JqZWN0SW50ZXJmYWNlLmgKQEAgLTMwLDcgKzMwLDggQEAKICNpbmNsdWRlICJGcmFtZUxvYWRl
ckNsaWVudC5oIgogI2luY2x1ZGUgIkhUTUxUZXh0Rm9ybUNvbnRyb2xFbGVtZW50LmgiCiAjaW5j
bHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgorI2luY2x1ZGUg
IlNpbXBsZVJhbmdlLmgiCisjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yQmVoYXZpb3IuaCIKICNpbmNs
dWRlICJWaXNpYmxlU2VsZWN0aW9uLmgiCiAjaW5jbHVkZSAiV2lkZ2V0LmgiCiAjaW5jbHVkZSA8
d3RmL0hhc2hTZXQuaD4KQEAgLTQyLDYgKzQzLDEwIEBACiAjaW5jbHVkZSAiQ09NUHRyLmgiCiAj
ZW5kaWYKIAorI2lmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRz
cGkuaCIKKyNlbmRpZgorCiAjaWYgVVNFKEFUSykKICNpbmNsdWRlIDx3dGYvZ2xpYi9HUmVmUHRy
Lmg+CiAjZW5kaWYKQEAgLTUyLDYgKzU3LDggQEAgdHlwZWRlZiBXZWJBY2Nlc3NpYmlsaXR5T2Jq
ZWN0V3JhcHBlciBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKIHR5cGVkZWYgc3RydWN0IF9O
U1JhbmdlIE5TUmFuZ2U7CiB0eXBlZGVmIGNvbnN0IHN0cnVjdCBfX0FYVGV4dE1hcmtlciogQVhU
ZXh0TWFya2VyUmVmOwogdHlwZWRlZiBjb25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXJSYW5nZSog
QVhUZXh0TWFya2VyUmFuZ2VSZWY7CisjZWxpZiBVU0UoQVRTUEkpCit0eXBlZGVmIFdlYkNvcmU6
OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSBBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcjsKICNl
bGlmIFVTRShBVEspCiB0eXBlZGVmIHN0cnVjdCBfV2ViS2l0QWNjZXNzaWJsZSBXZWJLaXRBY2Nl
c3NpYmxlOwogdHlwZWRlZiBzdHJ1Y3QgX1dlYktpdEFjY2Vzc2libGUgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CkBAIC0xMTI2LDE0ICsxMTMzLDYgQEAgcHVibGljOgogICAgIHZpcnR1YWwg
U3RyaW5nIGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFs
IFN0cmluZyB0aXRsZSgpIGNvbnN0ID0gMDsKICAgICB2aXJ0dWFsIFN0cmluZyBoZWxwVGV4dCgp
IGNvbnN0ID0gMDsKLSAgICBib29sIGNvbnRhaW5zVGV4dChTdHJpbmcgY29uc3QmIHRleHQpIGNv
bnN0Ci0gICAgewotICAgICAgICAvLyBJZiB0ZXh0IGlzIGVtcHR5IHdlIHJldHVybiB0cnVlLgot
ICAgICAgICByZXR1cm4gdGV4dC5pc0VtcHR5KCkKLSAgICAgICAgICAgIHx8IGNvbnRhaW5zUGxh
aW5UZXh0KHRpdGxlKCksIHRleHQsIENhc2VJbnNlbnNpdGl2ZSkKLSAgICAgICAgICAgIHx8IGNv
bnRhaW5zUGxhaW5UZXh0KGFjY2Vzc2liaWxpdHlEZXNjcmlwdGlvbigpLCB0ZXh0LCBDYXNlSW5z
ZW5zaXRpdmUpCi0gICAgICAgICAgICB8fCBjb250YWluc1BsYWluVGV4dChzdHJpbmdWYWx1ZSgp
LCB0ZXh0LCBDYXNlSW5zZW5zaXRpdmUpOwotICAgIH0KIAogICAgIC8vIE1ldGhvZHMgZm9yIGRl
dGVybWluaW5nIGFjY2Vzc2liaWxpdHkgdGV4dC4KICAgICB2aXJ0dWFsIGJvb2wgaXNBUklBU3Rh
dGljVGV4dCgpIGNvbnN0ID0gMDsKQEAgLTE1MTQsNiArMTUxMyw4IEBAIHByaXZhdGU6CiAgICAg
UmV0YWluUHRyPFdlYkFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBtX3dyYXBwZXI7CiAjZWxp
ZiBQTEFURk9STShXSU4pCiAgICAgQ09NUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiBt
X3dyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmpl
Y3RBdHNwaT4gbV93cmFwcGVyOwogI2VsaWYgVVNFKEFUSykKICAgICBHUmVmUHRyPFdlYktpdEFj
Y2Vzc2libGU+IG1fd3JhcHBlcjsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAppbmRleCA3Yjg3MjdkYzJmMjcu
LjJiMWMzNDAyMTFkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5UmVuZGVy
T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9B
Y2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCmluZGV4IDg1ZDJhZGFlY2Q5NS4uNDM0YmY1
MGNjNjg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRrLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcApAQCAtMjEsNiArMjEsOCBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKIAorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQorCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkhUTUxTcGFuRWxlbWVudC5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2Nr
LmgiCkBAIC0zMiw4ICszNCw2IEBACiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogI2lu
Y2x1ZGUgPGdsaWItb2JqZWN0Lmg+CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKLQogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCiB2b2lkIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmRldGFjaFBsYXRm
b3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5cGUgZGV0YWNobWVudFR5cGUpCkBA
IC0yMDYsNCArMjA2LDQgQEAgdW5zaWduZWQgQWNjZXNzaWJpbGl0eU9iamVjdDo6Z2V0TGVuZ3Ro
Rm9yVGV4dFJhbmdlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGUuY3BwCmluZGV4IDg2YzMwY2RkNjY2My4uYzk2YzJjMmZiYWIzIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RD
YWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlMaXN0LmgiCkBAIC0xMzgyLDQgKzEzODIs
NCBAQCBjb25zdCBjaGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0
eShXZWJLaXRBY2Nlc3NpYmxlKiBhY2Nlc3NpYgogICAgIHJldHVybiAoKnByb3BlcnR5UHRyKS5k
YXRhKCk7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuaAppbmRleCA3MmUxMTY1MWI3ZTku
LmVmOTIzNmE3M2U0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGUuaApAQCAtMjIsNyArMjIsNyBAQAogCiAjcHJhZ21hIG9uY2UK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtODUsNCArODUsNCBAQCBib29sIHdlYmtpdEFjY2Vzc2libGVJc0RldGFj
aGVkKFdlYktpdEFjY2Vzc2libGUqKTsKIAogY29uc3QgY2hhciogd2Via2l0QWNjZXNzaWJsZUNh
Y2hlQW5kUmV0dXJuQXRrUHJvcGVydHkoV2ViS2l0QWNjZXNzaWJsZSosIEF0a0NhY2hlZFByb3Bl
cnR5LCBDU3RyaW5nJiYpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsuY3BwCmluZGV4IDA1Y2JkNmZlNzUxZC4uYzQwZjcyYzJjOTczIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5r
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSHlwZXJsaW5rLmNwcApAQCAtMjEsNyArMjEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
QEAgLTMxMyw0ICszMTMsNCBAQCBXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rKiB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rR2V0T3JDcmVhdGUoQXRrSHlwZXJsaW5rSW1wbAogICAgIHJldHVybiBo
eXBlcmxpbms7CiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaCBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsu
aAppbmRleCA3OTk2YjBhNDRlYzMuLjE5ZmE5YzFkYzdmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxp
bmsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSA8YXRrL2F0ay5oPgogCkBAIC01Miw0ICs1Miw0IEBAIFdlYktpdEFjY2Vzc2libGVIeXBl
cmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBlcmxpbmtJ
bXBsCiAKIEdfRU5EX0RFQ0xTCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VB
Y3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5jcHAKaW5kZXggY2EyM2FkZmQ3MWE3Li4xNGViNTc5ODg2YTIg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uY3BwCkBAIC0zMiw3ICszMiw3
IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUFjdGlvbi5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0
LmgiCiAjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VBY3Rpb24uaAppbmRleCA2NzE4YjE0MGU2ZmIuLjAyZDc1OTZkOTM3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUFjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VBY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNj
ZXNzaWJsZUFjdGlvbkludGVyZmFjZUluaXQoQXRrQWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApp
bmRleCBiN2ZlNTViZmU0MzguLjk4NDU3YWFkZjA1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUNvbXBvbmVudC5jcHAKQEAgLTMxLDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25m
aWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJG
cmFtZVZpZXcuaCIKQEAgLTE2OSw0ICsxNjksNCBAQCB2b2lkIHdlYmtpdEFjY2Vzc2libGVDb21w
b25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKiBpZmFjZSkKICNlbmRpZgogfQog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9u
ZW50LmgKaW5kZXggOTY5MjNjNWE2OGMxLi43ZGFmMzQ3YzQ0YzIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21w
b25lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdlYmtpdEFj
Y2Vzc2libGVDb21wb25lbnRJbnRlcmZhY2VJbml0KEF0a0NvbXBvbmVudElmYWNlKik7CiAKLSNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJ
TElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQu
Y3BwCmluZGV4IDJiMzEzYTBiMWJhNC4uN2YwYjVhMDA1NDc4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1ZGUg
IkRvY3VtZW50LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCmluZGV4
IGM5NDhkMTk3NmViYS4uNmJlYWFlZDM5NjY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlRG9jdW1lbnQuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRG9jdW1lbnQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZURvY3Vt
ZW50SW50ZXJmYWNlSW5pdChBdGtEb2N1bWVudElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKaW5k
ZXggYWM3OTM4M2I4NjAzLi40OTRlYjAwMTgyNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAi
Y29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5j
bHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaCBiL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJs
ZVRleHQuaAppbmRleCA1ODQ1MGU0MTllZGQuLmVmNWY3ZDI2OWJlZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VFZGl0YWJsZVRleHQuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUVkaXRhYmxlVGV4dEludGVyZmFjZUluaXQoQXRrRWRpdGFibGVUZXh0
SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0lt
cGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVybGlua0ltcGwuY3BwCmluZGV4IDJmYzRlMTk0MDhlNy4uNmE4ZWRkNDk2
NzM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwu
Y3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCIKIAotI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oIgogCkBAIC0zNCw0ICszNCw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlu
a0ltcGxJZmFjZSogaWZhY2UpCiAgICAgaWZhY2UtPmdldF9oeXBlcmxpbmsgPSB3ZWJraXRBY2Nl
c3NpYmxlSHlwZXJsaW5rSW1wbEdldEh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUh5cGVybGlua0ltcGwuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgKaW5kZXgg
YmM3ZWMxNzAzNzY0Li4yMDkyYmY3Yzk3MDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaApAQCAtMTksMTAgKzE5LDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZUh5cGVybGlua0ltcGxJbnRlcmZhY2VJbml0KEF0a0h5cGVybGlua0ltcGxJZmFjZSopOwog
Ci0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuY3BwCmluZGV4IGE3OGQ4ODMyYWE0ZC4uNTIzYmFiOTZmMGQ0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
SHlwZXJ0ZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2lu
Y2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBl
cnRleHQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgog
I2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGUuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaAppbmRleCA1NDhjZDYwOGE0NmYuLmMzZjYxMzg1ZjQ5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUh5cGVydGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuaApAQCAtMTksMTAgKzE5LDEwIEBACiAK
ICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQg
d2Via2l0QWNjZXNzaWJsZUh5cGVydGV4dEludGVyZmFjZUluaXQoQXRrSHlwZXJ0ZXh0SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKaW5kZXggNjMzYzk3MGQwZTQxLi4yODYwNjAyNzE1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUltYWdlLmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSW50UmVj
dC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaAppbmRleCA0ZDljZTQwOTczZTUu
LjBkNWQ4Y2ViMWNkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVJbWFnZUludGVyZmFjZUluaXQoQXRrSW1h
Z2VJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uY3BwCmluZGV4IDZlYTU3MDgxMzdiNC4uODZhMTk5OGNiY2RmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VTZWxlY3Rpb24uaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eUxpc3RCb3guaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlU2VsZWN0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKaW5kZXggMmI5OTFkMjNiYTkwLi5jNTMzNGIz
YTIzMmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlU2VsZWN0aW9uLmgKQEAgLTIx
LDEwICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRr
L2F0ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVTZWxlY3Rpb25JbnRlcmZhY2VJbml0KEF0
a1NlbGVjdGlvbklmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNl
bmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCmluZGV4IDYyNmM3Mjc3NDUxNy4uZTVlZWM1YzViMWUwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGFibGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkv
YXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKQEAgLTMxLDcgKzMxLDcgQEAK
ICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxpc3RCb3guaCIK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuaCBi
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VUYWJsZS5oCmluZGV4IDRlZmMyYjIwYTFlNy4uZjQyYjVjZmQ2YjM3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGUuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25j
ZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
ICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNz
aWJsZVRhYmxlSW50ZXJmYWNlSW5pdChBdGtUYWJsZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKaW5kZXgg
Mjg5ZDNhNzAxNWRmLi44NmU3YTc1ODY1YjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgi
CiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIgogCi0jaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eVRhYmxlLmgiCkBAIC0xNTMsNCArMTUzLDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxl
VGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSogaWZhY2UpCiAgICAgaWZh
Y2UtPmdldF90YWJsZSA9IHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxHZXRUYWJsZTsKIH0KIAot
I2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJ
QklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2Vs
bC5oCmluZGV4IDJiYmM3MzczMDVlMS4uZjJkNzAzNGU0NWZiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVD
ZWxsLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZVRhYmxlQ2VsbC5oCkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBv
bmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nl
c3NpYmxlVGFibGVDZWxsSW50ZXJmYWNlSW5pdChBdGtUYWJsZUNlbGxJZmFjZSopOwogCi0jZW5k
aWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHAKaW5kZXgg
MDgxZmE4YzM2MWIwLi4wYTg2ZDQ0M2Q1MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGV4dC5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
ICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUZXh0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGV4dC5oCmluZGV4IDExMjk1NWY0MGRmMC4uZWMyYWFlM2MyOWI5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKQEAgLTIxLDEwICsyMSwxMCBAQAogCiAj
cHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogCiB2b2lkIHdl
YmtpdEFjY2Vzc2libGVUZXh0SW50ZXJmYWNlSW5pdChBdGtUZXh0SWZhY2UqKTsKIAotI2VuZGlm
IC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKaW5kZXgg
MDRlZTg5MDM5YWZhLi4wODI1OWQ5OWYxZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZVZhbHVlLmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1
ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlVmFsdWUuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCmluZGV4IDM2OTZjYjBiODlkZC4uZDExZDVlODFl
MTliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRB
Y2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuaApAQCAtMTksMTAgKzE5LDEw
IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAK
IHZvaWQgd2Via2l0QWNjZXNzaWJsZVZhbHVlSW50ZXJmYWNlSW5pdChBdGtWYWx1ZUlmYWNlKik7
CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcAppbmRleCBkOWRjZGE5MDhm
MmUuLmIzZjg3NmQyNDMwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcApAQCAtMzEsNyArMzEsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVVdGlsLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwuaAppbmRleCBhMmZhY2FmODUyOGQuLmY1NDkzMDJm
ZTk5ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZVV0aWwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCkBAIC0yMSw3ICsyMSw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RG
U3RyaW5nLmg+CkBAIC02OSw0ICs2OSw0IEBAIGJvb2wgc2VsZWN0aW9uQmVsb25nc1RvT2JqZWN0
KFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3QqLCBXZWJDb3JlOjpWaXNpYmxlU2VsCiAKIFdl
YkNvcmU6OkFYQ29yZU9iamVjdCogb2JqZWN0Rm9jdXNlZEFuZENhcmV0T2Zmc2V0VW5pZ25vcmVk
KFdlYkNvcmU6OkFYQ29yZU9iamVjdCosIGludCYgb2Zmc2V0KTsKIAotI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0Uo
QVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BWE9i
amVjdENhY2hlQXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9B
WE9iamVjdENhY2hlQXRzcGkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMC4uN2M0NDZkMDM2Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdHNwaS9BWE9iamVjdENhY2hlQXRzcGkuY3BwCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlv
bikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkg
V0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hB
TlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBH
TlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgor
ICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
ICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlS
ZW5kZXJPYmplY3QuaCIKKyNpbmNsdWRlICJOb2RlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kwordm9pZCBBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmpl
Y3QsIEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRhY2htZW50VHlwZSkKK3sKK30KKwor
dm9pZCBBWE9iamVjdENhY2hlOjphdHRhY2hXcmFwcGVyKEFYQ29yZU9iamVjdCogYXhPYmplY3Qp
Cit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNo
ZVVwZGF0ZSgpCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6cG9zdFBsYXRmb3JtTm90aWZp
Y2F0aW9uKEFYQ29yZU9iamVjdCogY29yZU9iamVjdCwgQVhOb3RpZmljYXRpb24gbm90aWZpY2F0
aW9uKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6Om5vZGVUZXh0Q2hhbmdlUGxhdGZvcm1O
b3RpZmljYXRpb24oQWNjZXNzaWJpbGl0eU9iamVjdCogb2JqZWN0LCBBWFRleHRDaGFuZ2UgdGV4
dENoYW5nZSwgdW5zaWduZWQgb2Zmc2V0LCBjb25zdCBTdHJpbmcmIHRleHQpCit7Cit9CisKK3Zv
aWQgQVhPYmplY3RDYWNoZTo6ZnJhbWVMb2FkaW5nRXZlbnRQbGF0Zm9ybU5vdGlmaWNhdGlvbihB
Y2Nlc3NpYmlsaXR5T2JqZWN0KiBvYmplY3QsIEFYTG9hZGluZ0V2ZW50IGxvYWRpbmdFdmVudCkK
K3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0Zm9ybUhhbmRsZUZvY3VzZWRVSUVsZW1l
bnRDaGFuZ2VkKE5vZGUqIG9sZEZvY3VzZWROb2RlLCBOb2RlKiBuZXdGb2N1c2VkTm9kZSkKK3sK
K30KKwordm9pZCBBWE9iamVjdENhY2hlOjpoYW5kbGVTY3JvbGxlZFRvQW5jaG9yKGNvbnN0IE5v
ZGUqKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDU4YjhiMDY2NTU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOjpjcmVhdGUoQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0KQor
eworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaShjb3Jl
T2JqZWN0KSk7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJpbGl0eU9i
amVjdEF0c3BpKEFYQ29yZU9iamVjdCopCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eU9iamVj
dDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50VHlwZSBkZXRh
Y2htZW50VHlwZSkKK3sKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmls
aXR5SWdub3JlQXR0YWNobWVudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitB
Y2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uIEFjY2Vzc2liaWxpdHlPYmplY3Q6OmFjY2Vzc2li
aWxpdHlQbGF0Zm9ybUluY2x1ZGVzT2JqZWN0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gQWNjZXNz
aWJpbGl0eU9iamVjdEluY2x1c2lvbjo6RGVmYXVsdEJlaGF2aW9yOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nl
c3NpYmlsaXR5T2JqZWN0QXRzcGkuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRz
cGkvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwLi4zZmYyMTQ0NWEwODcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oCkBAIC0w
LDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisg
KiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBH
ZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChh
dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQg
V0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBv
ZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9y
ZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBs
aWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1
ZGUgPHd0Zi9BdG9taWNzLmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFYQ29yZU9iamVjdDsKKworY2xhc3MgQWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGk+IGNyZWF0ZShBWENvcmVPYmplY3QqKTsKKyAgICB+QWNjZXNzaWJpbGl0
eU9iamVjdEF0c3BpKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIGV4cGxpY2l0IEFjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaShBWENvcmVPYmplY3QqKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9B
WElzb2xhdGVkT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCmluZGV4IGIwYmNmNTUyNjBmYS4uNGI4ZTYyODAx
OWY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJl
ZS9BWElzb2xhdGVkT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2JqZWN0LmNwcApAQCAtNzEsMTEgKzcxLDE1IEBAIHZv
aWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0
JiBvYmplY3QsIGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkFS
SUFMYW5kbWFya1JvbGVEZXNjcmlwdGlvbiwgb2JqZWN0LmFyaWFMYW5kbWFya1JvbGVEZXNjcmlw
dGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
QWNjZXNzaWJpbGl0eURlc2NyaXB0aW9uLCBvYmplY3QuYWNjZXNzaWJpbGl0eURlc2NyaXB0aW9u
KCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpCb3Vu
ZGluZ0JveFJlY3QsIG9iamVjdC5ib3VuZGluZ0JveFJlY3QoKSk7CisjaWYgUExBVEZPUk0oQ09D
T0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRlc2NyaXB0aW9uLCBvYmplY3Qu
ZGVzY3JpcHRpb25BdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRpZgogICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpFbGVtZW50UmVjdCwgb2JqZWN0LmVsZW1lbnRS
ZWN0KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpIYXNBUklBVmFsdWVOb3cs
IG9iamVjdC5oYXNBUklBVmFsdWVOb3coKSk7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0
UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6Okhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSwg
b2JqZWN0Lmhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0
eShBWFByb3BlcnR5TmFtZTo6SGVscFRleHQsIG9iamVjdC5oZWxwVGV4dEF0dHJpYnV0ZVZhbHVl
KCkuaXNvbGF0ZWRDb3B5KCkpOworI2VuZGlmCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5h
bWU6OklzQWNjZXNzaWJpbGl0eUlnbm9yZWQsIG9iamVjdC5hY2Nlc3NpYmlsaXR5SXNJZ25vcmVk
KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpJc0FjdGl2ZURlc2NlbmRhbnRP
ZkZvY3VzZWRDb250YWluZXIsIG9iamVjdC5pc0FjdGl2ZURlc2NlbmRhbnRPZkZvY3VzZWRDb250
YWluZXIoKSk7CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OklzQXR0YWNobWVudCwg
b2JqZWN0LmlzQXR0YWNobWVudCgpKTsKQEAgLTEzNywxMSArMTQxLDE1IEBAIHZvaWQgQVhJc29s
YXRlZE9iamVjdDo6aW5pdGlhbGl6ZUF0dHJpYnV0ZURhdGEoQVhDb3JlT2JqZWN0JiBvYmplY3Qs
IGJvb2wgaXNSb290CiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlJvbGVEZXNjcmlw
dGlvbiwgb2JqZWN0LnJvbGVEZXNjcmlwdGlvbigpLmlzb2xhdGVkQ29weSgpKTsKICAgICBzZXRQ
cm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Um9sZVBsYXRmb3JtU3RyaW5nLCBvYmplY3Qucm9sZVBs
YXRmb3JtU3RyaW5nKCkuaXNvbGF0ZWRDb3B5KCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVy
dHlOYW1lOjpSb2xlVmFsdWUsIHN0YXRpY19jYXN0PGludD4ob2JqZWN0LnJvbGVWYWx1ZSgpKSk7
CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNw
ZWVjaEhpbnQsIG9iamVjdC5zcGVlY2hIaW50QXR0cmlidXRlVmFsdWUoKS5pc29sYXRlZENvcHko
KSk7CisjZW5kaWYKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6U3VwcG9ydHNEYXRl
dGltZUF0dHJpYnV0ZSwgb2JqZWN0LnN1cHBvcnRzRGF0ZXRpbWVBdHRyaWJ1dGUoKSk7CiAgICAg
c2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlN1cHBvcnRzUm93Q291bnRDaGFuZ2UsIG9iamVj
dC5zdXBwb3J0c1Jvd0NvdW50Q2hhbmdlKCkpOwogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlO
YW1lOjpUaXRsZSwgb2JqZWN0LnRpdGxlKCkuaXNvbGF0ZWRDb3B5KCkpOworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpUaXRsZUF0dHJpYnV0ZVZh
bHVlLCBvYmplY3QudGl0bGVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKKyNlbmRp
ZgogICAgIHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEYXRldGltZUF0dHJpYnV0ZVZhbHVl
LCBvYmplY3QuZGF0ZXRpbWVBdHRyaWJ1dGVWYWx1ZSgpLmlzb2xhdGVkQ29weSgpKTsKICAgICBz
ZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6Q2FuU2V0Rm9jdXNBdHRyaWJ1dGUsIG9iamVjdC5j
YW5TZXRGb2N1c0F0dHJpYnV0ZSgpKTsKICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6
Q2FuU2V0VGV4dFJhbmdlQXR0cmlidXRlcywgb2JqZWN0LmNhblNldFRleHRSYW5nZUF0dHJpYnV0
ZXMoKSk7CkBAIC00MDQsNyArNDEyLDkgQEAgdm9pZCBBWElzb2xhdGVkT2JqZWN0Ojppbml0aWFs
aXplQXR0cmlidXRlRGF0YShBWENvcmVPYmplY3QmIG9iamVjdCwgYm9vbCBpc1Jvb3QKIAogICAg
IGlmIChpc1Jvb3QpIHsKICAgICAgICAgc2V0T2JqZWN0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6
OldlYkFyZWEsIG9iamVjdC53ZWJBcmVhT2JqZWN0KCkpOworI2lmIFBMQVRGT1JNKENPQ09BKQog
ICAgICAgICBzZXRQcm9wZXJ0eShBWFByb3BlcnR5TmFtZTo6UHJldmVudEtleWJvYXJkRE9NRXZl
bnREaXNwYXRjaCwgb2JqZWN0LnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSk7Cisj
ZW5kaWYKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OlNlc3Npb25JRCwgb2Jq
ZWN0LnNlc3Npb25JRCgpKTsKICAgICAgICAgc2V0UHJvcGVydHkoQVhQcm9wZXJ0eU5hbWU6OkRv
Y3VtZW50VVJJLCBvYmplY3QuZG9jdW1lbnRVUkkoKS5pc29sYXRlZENvcHkoKSk7CiAgICAgICAg
IHNldFByb3BlcnR5KEFYUHJvcGVydHlOYW1lOjpEb2N1bWVudEVuY29kaW5nLCBvYmplY3QuZG9j
dW1lbnRFbmNvZGluZygpLmlzb2xhdGVkQ29weSgpKTsKQEAgLTUxNCw4ICs1MjQsMTIgQEAgdm9p
ZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRhY2hGcm9tUGFyZW50KCkKIAogY29uc3QgQVhDb3JlT2Jq
ZWN0OjpBY2Nlc3NpYmlsaXR5Q2hpbGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxk
cmVuKGJvb2wpCiB7CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKICAgICBBU1NFUlQoX0FY
U0lzb2xhdGVkVHJlZU1vZGVGdW5jdGlvbklzQXZhaWxhYmxlKCkgJiYgKChfQVhTSXNvbGF0ZWRU
cmVlTW9kZV9Tb2Z0KCkgPT0gQVhTSXNvbGF0ZWRUcmVlTW9kZVNlY29uZGFyeVRocmVhZCAmJiAh
aXNNYWluVGhyZWFkKCkpCiAgICAgICAgIHx8IChfQVhTSXNvbGF0ZWRUcmVlTW9kZV9Tb2Z0KCkg
PT0gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJlYWQgJiYgaXNNYWluVGhyZWFkKCkpKSk7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgQVNTRVJUKCFpc01haW5UaHJlYWQoKSk7CisjZW5kaWYKICAg
ICB1cGRhdGVCYWNraW5nU3RvcmUoKTsKICAgICBtX2NoaWxkcmVuLmNsZWFyKCk7CiAgICAgbV9j
aGlsZHJlbi5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fY2hpbGRyZW5JRHMuc2l6ZSgpKTsKQEAg
LTYwMywxMiArNjE3LDE0IEBAIFN0cmluZyBBWElzb2xhdGVkT2JqZWN0Ojpkb2N1bWVudFVSSSgp
IGNvbnN0CiAgICAgcmV0dXJuIFN0cmluZygpOwogfQogCisjaWYgUExBVEZPUk0oQ09DT0EpCiBi
b29sIEFYSXNvbGF0ZWRPYmplY3Q6OnByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlzcGF0Y2goKSBj
b25zdAogewogICAgIGlmIChhdXRvIHJvb3QgPSB0cmVlKCktPnJvb3ROb2RlKCkpCiAgICAgICAg
IHJldHVybiByb290LT5ib29sQXR0cmlidXRlVmFsdWUoQVhQcm9wZXJ0eU5hbWU6OlByZXZlbnRL
ZXlib2FyZERPTUV2ZW50RGlzcGF0Y2gpOwogICAgIHJldHVybiBmYWxzZTsKIH0KKyNlbmRpZgog
CiBTdHJpbmcgQVhJc29sYXRlZE9iamVjdDo6ZG9jdW1lbnRFbmNvZGluZygpIGNvbnN0CiB7CkBA
IC03NzEsMTIgKzc4NywxNCBAQCB2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OnNldENhcmV0QnJvd3Np
bmdFbmFibGVkKGJvb2wgdmFsdWUpCiB9CiAjZW5kaWYKIAorI2lmIFBMQVRGT1JNKENPQ09BKQog
dm9pZCBBWElzb2xhdGVkT2JqZWN0OjpzZXRQcmV2ZW50S2V5Ym9hcmRET01FdmVudERpc3BhdGNo
KGJvb2wgdmFsdWUpCiB7CiAgICAgcGVyZm9ybUZ1bmN0aW9uT25NYWluVGhyZWFkKFsmdmFsdWVd
KEFYQ29yZU9iamVjdCogb2JqZWN0KSB7CiAgICAgICAgIG9iamVjdC0+c2V0UHJldmVudEtleWJv
YXJkRE9NRXZlbnREaXNwYXRjaCh2YWx1ZSk7CiAgICAgfSk7CiB9CisjZW5kaWYKIAogU1JHQkE8
dWludDhfdD4gQVhJc29sYXRlZE9iamVjdDo6Y29sb3JWYWx1ZSgpIGNvbnN0CiB7CkBAIC0xMTY3
LDYgKzExODUsNyBAQCBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydEZyYW1lVG9T
cGFjZShjb25zdCBGbG9hdFJlY3QmIHJlY3QsIEFjY2Vzc2liaQogICAgIH0pOwogfQogCisjaWYg
UExBVEZPUk0oQ09DT0EpCiBGbG9hdFJlY3QgQVhJc29sYXRlZE9iamVjdDo6Y29udmVydFJlY3RU
b1BsYXRmb3JtU3BhY2UoY29uc3QgRmxvYXRSZWN0JiByZWN0LCBBY2Nlc3NpYmlsaXR5Q29udmVy
c2lvblNwYWNlIHNwYWNlKSBjb25zdAogewogICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5OjpyZXRy
aWV2ZVZhbHVlRnJvbU1haW5UaHJlYWQ8RmxvYXRSZWN0PihbJnJlY3QsICZzcGFjZSwgdGhpc10g
KCkgLT4gRmxvYXRSZWN0IHsKQEAgLTExNzUsNiArMTE5NCw3IEBAIEZsb2F0UmVjdCBBWElzb2xh
dGVkT2JqZWN0Ojpjb252ZXJ0UmVjdFRvUGxhdGZvcm1TcGFjZShjb25zdCBGbG9hdFJlY3QmIHJl
Y3QsIEFjCiAgICAgICAgIHJldHVybiB7IH07CiAgICAgfSk7CiB9CisjZW5kaWYKIAogYm9vbCBB
WElzb2xhdGVkT2JqZWN0OjpyZXBsYWNlVGV4dEluUmFuZ2UoY29uc3QgU3RyaW5nJiByZXBsYWNl
bWVudFRleHQsIGNvbnN0IFBsYWluVGV4dFJhbmdlJiB0ZXh0UmFuZ2UpCiB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkT2Jq
ZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xh
dGVkT2JqZWN0LmgKaW5kZXggNmZiMWFkYWM4ZGFlLi5jNWMxOTM4YjY3MmMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElz
b2xhdGVkT2JqZWN0LmgKQEAgLTMyMCwxMSArMzIwLDEzIEBAIHByaXZhdGU6CiAgICAgYm9vbCBp
c0Fub255bW91c01hdGhPcGVyYXRvcigpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRy
aWJ1dGVWYWx1ZShBWFByb3BlcnR5TmFtZTo6SXNBbm9ueW1vdXNNYXRoT3BlcmF0b3IpOyB9CiAg
ICAgdm9pZCBtYXRoUHJlc2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11bHRpc2NyaXB0UGFpcnMm
KSBvdmVycmlkZTsKICAgICB2b2lkIG1hdGhQb3N0c2NyaXB0cyhBY2Nlc3NpYmlsaXR5TWF0aE11
bHRpc2NyaXB0UGFpcnMmKSBvdmVycmlkZTsKKyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29s
IGZpbGVVcGxvYWRCdXR0b25SZXR1cm5zVmFsdWVJblRpdGxlKCkgY29uc3Qgb3ZlcnJpZGUgeyBy
ZXR1cm4gYm9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpGaWxlVXBsb2FkQnV0dG9u
UmV0dXJuc1ZhbHVlSW5UaXRsZSk7IH0KICAgICBTdHJpbmcgc3BlZWNoSGludEF0dHJpYnV0ZVZh
bHVlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gc3RyaW5nQXR0cmlidXRlVmFsdWUoQVhQcm9w
ZXJ0eU5hbWU6OlNwZWVjaEhpbnQpOyB9CiAgICAgU3RyaW5nIGRlc2NyaXB0aW9uQXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6RGVzY3JpcHRpb24pOyB9CiAgICAgU3RyaW5nIGhlbHBUZXh0QXR0cmlidXRl
VmFsdWUoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFBy
b3BlcnR5TmFtZTo6SGVscFRleHQpOyB9CiAgICAgU3RyaW5nIHRpdGxlQXR0cmlidXRlVmFsdWUo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBzdHJpbmdBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6VGl0bGVBdHRyaWJ1dGVWYWx1ZSk7IH0KKyNlbmRpZgogI2lmIFBMQVRGT1JNKE1BQykK
ICAgICBib29sIGNhcmV0QnJvd3NpbmdFbmFibGVkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
Ym9vbEF0dHJpYnV0ZVZhbHVlKEFYUHJvcGVydHlOYW1lOjpDYXJldEJyb3dzaW5nRW5hYmxlZCk7
IH0KICNlbmRpZgpAQCAtMzY5LDcgKzM3MSw5IEBAIHByaXZhdGU6CiAgICAgdWludDY0X3Qgc2Vz
c2lvbklEKCkgY29uc3Qgb3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50VVJJKCkgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgU3RyaW5nIGRvY3VtZW50RW5jb2RpbmcoKSBjb25zdCBvdmVycmlkZTsK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIHByZXZlbnRLZXlib2FyZERPTUV2ZW50RGlz
cGF0Y2goKSBjb25zdCBvdmVycmlkZTsKKyNlbmRpZgogCiAgICAgLy8gUGxhaW5UZXh0UmFuZ2Ug
c3VwcG9ydC4KICAgICBQbGFpblRleHRSYW5nZSBzZWxlY3RlZFRleHRSYW5nZSgpIGNvbnN0IG92
ZXJyaWRlOwpAQCAtNDQ0LDcgKzQ0OCw5IEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oTUFDKQog
ICAgIHZvaWQgc2V0Q2FyZXRCcm93c2luZ0VuYWJsZWQoYm9vbCkgb3ZlcnJpZGU7CiAjZW5kaWYK
KyNpZiBQTEFURk9STShDT0NPQSkKICAgICB2b2lkIHNldFByZXZlbnRLZXlib2FyZERPTUV2ZW50
RGlzcGF0Y2goYm9vbCkgb3ZlcnJpZGU7CisjZW5kaWYKIAogICAgIFN0cmluZyB0ZXh0VW5kZXJF
bGVtZW50KEFjY2Vzc2liaWxpdHlUZXh0VW5kZXJFbGVtZW50TW9kZSA9IEFjY2Vzc2liaWxpdHlU
ZXh0VW5kZXJFbGVtZW50TW9kZSgpKSBjb25zdCBvdmVycmlkZTsKICAgICBzdGQ6Om9wdGlvbmFs
PFNpbXBsZVJhbmdlPiBtaXNzcGVsbGluZ1JhbmdlKGNvbnN0IFNpbXBsZVJhbmdlJiwgQWNjZXNz
aWJpbGl0eVNlYXJjaERpcmVjdGlvbikgY29uc3Qgb3ZlcnJpZGU7CkBAIC02MzQsNyArNjQwLDkg
QEAgcHJpdmF0ZToKICAgICB2b2lkIG92ZXJyaWRlQXR0YWNobWVudFBhcmVudChBWENvcmVPYmpl
Y3QqIHBhcmVudCkgb3ZlcnJpZGU7CiAgICAgYm9vbCBhY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNo
bWVudCgpIGNvbnN0IG92ZXJyaWRlOwogICAgIEFjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24g
YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25zdCBvdmVycmlkZTsKKyNp
ZiBQTEFURk9STShDT0NPQSkKICAgICBib29sIGhhc0FwcGxlUERGQW5ub3RhdGlvbkF0dHJpYnV0
ZSgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGJvb2xBdHRyaWJ1dGVWYWx1ZShBWFByb3BlcnR5
TmFtZTo6SGFzQXBwbGVQREZBbm5vdGF0aW9uQXR0cmlidXRlKTsgfQorI2VuZGlmCiAgICAgY29u
c3QgQWNjZXNzaWJpbGl0eVNjcm9sbFZpZXcqIGFuY2VzdG9yQWNjZXNzaWJpbGl0eVNjcm9sbFZp
ZXcoYm9vbCBpbmNsdWRlU2VsZikgY29uc3Qgb3ZlcnJpZGU7CiAgICAgQVhDb3JlT2JqZWN0KiB3
ZWJBcmVhT2JqZWN0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gb2JqZWN0QXR0cmlidXRlVmFs
dWUoQVhQcm9wZXJ0eU5hbWU6OldlYkFyZWEpOyB9CiAgICAgdm9pZCBzZXRJc0lnbm9yZWRGcm9t
UGFyZW50RGF0YShBY2Nlc3NpYmlsaXR5SXNJZ25vcmVkRnJvbVBhcmVudERhdGEmKSBvdmVycmlk
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVl
L0FYSXNvbGF0ZWRUcmVlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0
ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcAppbmRleCBkY2Y3ZWUwNjdkZjMuLjg0YTk5ZWI1YTI3
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNv
bGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmNwcApAQCAtMzAsNiArMzAsNyBAQAogCiAjaW5jbHVk
ZSAiQVhJc29sYXRlZE9iamVjdC5oIgogI2luY2x1ZGUgIkFYTG9nZ2VyLmgiCisjaW5jbHVkZSAi
RnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgPHd0Zi9OZXZlckRlc3Ry
b3llZC5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xh
dGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9p
c29sYXRlZHRyZWUvQVhJc29sYXRlZFRyZWUuaAppbmRleCA3YzM0Njk2Nzk3YWIuLmNmNDI4NjIz
OWY2NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRy
ZWUvQVhJc29sYXRlZFRyZWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lz
b2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCkBAIC0zNDMsNyArMzQzLDExIEBAIHB1YmxpYzoK
IAogICAgIHN0cnVjdCBOb2RlQ2hhbmdlIHsKICAgICAgICAgUmVmPEFYSXNvbGF0ZWRPYmplY3Q+
IGlzb2xhdGVkT2JqZWN0OworI2lmIFBMQVRGT1JNKENPQ09BKQogICAgICAgICBSZXRhaW5QdHI8
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI+IHdyYXBwZXI7CisjZWxpZiBVU0UoQVRTUEkpCisg
ICAgICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlcjsKKyNlbmRp
ZgogICAgIH07CiAKICAgICB2b2lkIGdlbmVyYXRlU3VidHJlZShBWENvcmVPYmplY3QmLCBBWENv
cmVPYmplY3QqLCBib29sIGF0dGFjaFdyYXBwZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3Bp
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FY
SXNvbGF0ZWRPYmplY3RBdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi4wNjc4NjU1Y2U5ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3Bw
CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisg
KiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBm
b3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGgg
dGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRv
CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkFYSXNvbGF0ZWRPYmplY3QuaCIKKworI2lm
IEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFVTRShBVFNQSSkKKyNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit2b2lkIEFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQbGF0Zm9ybVByb3BlcnRpZXMoY29u
c3QgQVhDb3JlT2JqZWN0JikKK3sKK30KKwordm9pZCBBWElzb2xhdGVkT2JqZWN0OjphdHRhY2hQ
bGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIqIHdyYXBwZXIpCit7Cisg
ICAgc2V0V3JhcHBlcih3cmFwcGVyKTsKK30KKwordm9pZCBBWElzb2xhdGVkT2JqZWN0OjpkZXRh
Y2hQbGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG1lbnRU
eXBlKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
QUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlckJhc2UubW0gYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L21hYy9XZWJBY2Nlc3Np
YmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KaW5kZXggNmVhMjY3ZDdkODBmLi5hZTY1ZTQ5YWFk
MDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvbWFjL1dlYkFjY2Vz
c2liaWxpdHlPYmplY3RXcmFwcGVyQmFzZS5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L21hYy9XZWJBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckJhc2UubW0KQEAgLTU4LDYg
KzU4LDcgQEAKICNpbXBvcnQgIlJlbmRlcldpZGdldC5oIgogI2ltcG9ydCAiU2Nyb2xsVmlldy5o
IgogI2ltcG9ydCAiVGV4dENoZWNrZXJDbGllbnQuaCIKKyNpbXBvcnQgIlRleHRJdGVyYXRvci5o
IgogI2ltcG9ydCAiVmlzaWJsZVVuaXRzLmgiCiAjaW1wb3J0IDx3dGYvY29jb2EvVmVjdG9yQ29j
b2EuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlv
bi5oIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oCmluZGV4IGI0YzEw
OTk1NzIwMC4uNGNiZjVhMzA5MTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5n
L0ZyYW1lU2VsZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNlbGVj
dGlvbi5oCkBAIC0zNzUsNyArMzc1LDcgQEAgaW5saW5lIHZvaWQgRnJhbWVTZWxlY3Rpb246OmNs
ZWFyVHlwaW5nU3R5bGUoKQogICAgIG1fdHlwaW5nU3R5bGUgPSBudWxscHRyOwogfQogCi0jaWYg
IShFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBVU0UoQVRLKSkp
CisjaWYgIShFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgKFBMQVRGT1JNKENPQ09BKSB8fCBVU0Uo
QVRLKSB8fCBVU0UoQVRTUEkpKSkKIAogaW5saW5lIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJ
bnRlbnQmKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVT
ZWxlY3Rpb25BdGsuY3BwIGIvU291cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rp
b25BdGsuY3BwCmluZGV4IDk3MzRiNjhhNGY2NS4uZDI2MTQ5ZjY1YjNiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2F0ay9GcmFtZVNlbGVjdGlvbkF0ay5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwCkBAIC0yMCw3ICsy
MCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIK
IAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAm
JiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgogI2luY2x1ZGUgIkRvY3Vt
ZW50LmgiCkBAIC0xMTYsNCArMTE2LDQgQEAgdm9pZCBGcmFtZVNlbGVjdGlvbjo6bm90aWZ5QWNj
ZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZShjb25zdCBBWFRleHRTdGF0ZUNoYW4KIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisj
ZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9lZGl0aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwIGIvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9hdHNwaS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQ5OWZkMTk4NDJjMgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJhbWVTZWxlY3Rpb25BdHNw
aS5jcHAKQEAgLTAsMCArMSwzNyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEg
Uy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiRnJhbWVTZWxlY3Rpb24uaCIKKwor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCisKKyNpbmNsdWRlICJBWE9i
amVjdENhY2hlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBGcmFtZVNlbGVjdGlv
bjo6bm90aWZ5QWNjZXNzaWJpbGl0eUZvclNlbGVjdGlvbkNoYW5nZShjb25zdCBBWFRleHRTdGF0
ZUNoYW5nZUludGVudCYpCit7CisgICAgaWYgKCFBWE9iamVjdENhY2hlOjphY2Nlc3NpYmlsaXR5
RW5hYmxlZCgpKQorICAgICAgICByZXR1cm47Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLnlhbWwKaW5kZXggNTY0M2ZmOGZmZmE3Li42MmNjYzNiMzYxMmEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MueWFtbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL1NldHRpbmdzLnlhbWwKQEAgLTI2OSw2ICsyNjksNyBAQCBJc0FjY2Vzc2liaWxp
dHlJc29sYXRlZFRyZWVFbmFibGVkOgogICB0eXBlOiBib29sCiAgIGRlZmF1bHRWYWx1ZToKICAg
ICBXZWJDb3JlOgorICAgICAgVVNFKEFUU1BJKTogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UK
IAogSXNQZXJBY3Rpdml0eVN0YXRlQ1BVVXNhZ2VNZWFzdXJlbWVudEVuYWJsZWQ6CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
IGIvU291cmNlL1dlYkNvcmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQpp
bmRleCAzMjZlNjUxZjg4ZTYuLmUzNzBjMjA5YmUwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGFnZS9tYWMvU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL21hYy9TZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tCkBAIC00Niw2ICs0Niw3
IEBACiAjaW1wb3J0ICJQYWdlLmgiCiAjaW1wb3J0ICJQYWdlT3ZlcmxheUNvbnRyb2xsZXIuaCIK
ICNpbXBvcnQgIlNldHRpbmdzLmgiCisjaW1wb3J0ICJUZXh0SXRlcmF0b3IuaCIKICNpbXBvcnQg
PFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgogI2ltcG9ydCA8cGFsL21hYy9EYXRhRGV0ZWN0b3Jz
U29mdExpbmsuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBhYmE3Mjk5NTNkM2QuLjBjYjNmNWQ5NjA0NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0wOS0xNCAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQg
b3B0aW9uIHRvIGVuYWJsZSBBVFNQSQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUluaXRpYWxpemUpOiBBZGQgQVRLIGlm
ZGVmLgorICAgICAgICAqIFdlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW4pOiBEaXNhYmxlIEFUSy9HVEsgYWNjZXNzaWJp
bGl0eSBzdXBwb3J0IGluIHRoZSBXZWJQcm9jZXNzIHdoZW4gdXNpbmcgQVRTUEkuCisKIDIwMjEt
MDktMTQgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFJFR1JFU1NJT04ocjI3NDkyOSk6IFtDb29yZGluYXRlZEdyYXBoaWNzXSBEcmF3aW5nQXJl
YUNvb3JkaW5hdGVkR3JhcGhpY3M6OmNyZWF0ZURpc3BsYXlSZWZyZXNoTW9uaXRvciBpcyBubyBs
b25nZXIgdXNlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL1dlYlBhZ2VHdGsuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3Rr
L1dlYlBhZ2VHdGsuY3BwCmluZGV4IGVjMDc5ZjdiNmQwZS4uYzA1MTRjMGRjOGEyIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3Bw
CkBAIC01Niw3ICs1Niw3IEBAIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiB2b2lkIFdlYlBh
Z2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCiB7Ci0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAgICAgLy8gQ3JlYXRlIHRoZSBh
Y2Nlc3NpYmxlIG9iamVjdCAodGhlIHBsdWcpIHRoYXQgd2lsbCBzZXJ2ZSBhcyB0aGUKICAgICAv
LyBlbnRyeSBwb2ludCB0byB0aGUgV2ViIHByb2Nlc3MsIGFuZCBzZW5kIGEgbWVzc2FnZSB0byB0
aGUgVUkKICAgICAvLyBwcm9jZXNzIHRvIGNvbm5lY3QgdGhlIHR3byB3b3JsZHMgdGhyb3VnaCB0
aGUgYWNjZXNzaWJpbGl0eQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0
ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dl
YlByb2Nlc3NNYWluR3RrLmNwcAppbmRleCAzNjQzZWU5NTllNWUuLmVlYWVhYmRmODQ2NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5j
cHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5j
cHAKQEAgLTcxLDYgKzcxLDE1IEBAIHB1YmxpYzoKIAogaW50IFdlYlByb2Nlc3NNYWluKGludCBh
cmdjLCBjaGFyKiogYXJndikKIHsKKyNpZiBVU0UoQVRTUEkpCisgICAgLy8gRGlzYWJsZSBBVEsv
R1RLIGFjY2Vzc2liaWxpdHkgc3VwcG9ydCBpbiB0aGUgV2ViUHJvY2Vzcy4KKyNpZiBVU0UoR1RL
NCkKKyAgICBnX3NldGVudigiR1RLX0ExMVkiLCAibm9uZSIsIFRSVUUpOworI2Vsc2UKKyAgICBn
X3NldGVudigiTk9fQVRfQlJJREdFIiwgIjEiLCBUUlVFKTsKKyNlbmRpZgorI2VuZGlmCisKICAg
ICAvLyBJZ25vcmUgdGhlIEdUS19USEVNRSBlbnZpcm9ubWVudCB2YXJpYWJsZSwgdGhlIHRoZW1l
IGlzIGFsd2F5cyBzZXQgYnkgdGhlIFVJIHByb2Nlc3Mgbm93LgogICAgIC8vIFRoaXMgY2FsbCBu
ZWVkcyB0byBoYXBwZW4gYmVmb3JlIGFueSB0aHJlYWRzIGJlZ2luIGV4ZWN1dGlvbgogICAgIHVu
c2V0ZW52KCJHVEtfVEhFTUUiKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKaW5kZXggMDUyOGE0OWEzY2Zk
Li5kMzEyZDRkZGFjNTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtl
CisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC0zMCw3ICszMCw2IEBAIGZp
bmRfcGFja2FnZShPcGVuR0xFUzIpCiAKIGluY2x1ZGUoR1N0cmVhbWVyRGVmaW5pdGlvbnMpCiAK
LVNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9BVEsgVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RP
X0JVSUxEKFVTRV9DQUlSTyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX1hER01J
TUUgVFJVRSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKFVTRV9HQ1JZUFQgVFJVRSkKQEAgLTc2
LDYgKzc1LDcgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1dQRV9SRU5ERVJFUiAiV2hldGhl
ciB0byBlbmFibGUgV1BFIHJlbmRlcmluZyIgUFVCTElDIE8KICMgUHJpdmF0ZSBvcHRpb25zIHNw
ZWNpZmljIHRvIHRoZSBHVEsgcG9ydC4gQ2hhbmdpbmcgdGhlc2Ugb3B0aW9ucyBpcwogIyBjb21w
bGV0ZWx5IHVuc3VwcG9ydGVkLiBUaGV5IGFyZSBpbnRlbmRlZCBmb3IgdXNlIG9ubHkgYnkgV2Vi
S2l0IGRldmVsb3BlcnMuCiBXRUJLSVRfT1BUSU9OX0RFRklORShVU0VfQU5HTEVfV0VCR0wgIldo
ZXRoZXIgdG8gdXNlIEFOR0xFIGFzIFdlYkdMIGJhY2tlbmQuIiBQUklWQVRFIE9GRikKK1dFQktJ
VF9PUFRJT05fREVGSU5FKFVTRV9BVFNQSSAiV2hldGhlciB0byB1c2UgdGhlIEF0c3BpIGExMXkg
aW1wbGVtZW50YXRpb24gaW5zdGVhZCBvZiBBVEsuIiBQUklWQVRFIE9GRikKIAogV0VCS0lUX09Q
VElPTl9ERVBFTkQoRU5BQkxFXzNEX1RSQU5TRk9STVMgVVNFX09QRU5HTF9PUl9FUykKIFdFQktJ
VF9PUFRJT05fREVQRU5EKEVOQUJMRV9BU1lOQ19TQ1JPTExJTkcgVVNFX09QRU5HTF9PUl9FUykK
QEAgLTI2Nyw2ICsyNjcsMTIgQEAgaWYgKE5PVCBFWElTVFMgIiR7VE9PTFNfRElSfS9nbGliL2Fw
cGx5LWJ1aWxkLXJldmlzaW9uLXRvLWZpbGVzLnB5IikKICAgICBzZXQoQlVJTERfUkVWSVNJT04g
InRhcmJhbGwiKQogZW5kaWYgKCkKIAoraWYgKFVTRV9BVFNQSSkKKyAgICBTRVRfQU5EX0VYUE9T
RV9UT19CVUlMRChFTkFCTEVfQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFIFRSVUUpCitlbHNl
ICgpCisgICAgU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0FUSyBUUlVFKQorZW5kaWYgKCkK
KwogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoSEFWRV9HVEtfVU5JWF9QUklOVElORyAke0dUS19V
TklYX1BSSU5UX0ZPVU5EfSkKIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEhBVkVfT1NfREFSS19N
T0RFX1NVUFBPUlQgMSkKIApkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hh
bmdlTG9nCmluZGV4IDNhNGE0OWI3NzcyNS4uOTc2ZTQ0NDViZjIxIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAwIEBACisyMDIx
LTA5LTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAg
ICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3R1YnMgZm9y
IFdUUiBhY2Nlc3NpYmlsaXR5IGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHA6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2Rl
KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxp
dHlVSUVsZW1lbnQuY3BwOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c0lzb2xhdGVkT2JqZWN0IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaDoKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6cGxhdGZvcm1VSUVsZW1lbnQpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNw
cDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3Np
YmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJB
dGsuaDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0
ZW50U3RhdGUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNz
aWJsZUVsZW1lbnRCeUlkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OnBsYXRmb3JtTmFtZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpp
bmplY3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlDb250cm9sbGVyOjpyb290RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjpmb2N1c2VkRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlD
b250cm9sbGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAg
ICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlF
bGVtZW50QXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6On5BY2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFcXVhbCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjaGlsZHJlbkNvdW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6ZWxlbWVudEF0UG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjppbmRleE9mQ2hpbGQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpjaGlsZEF0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpsaW5rZWRVSUVsZW1lbnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6YXJpYU93bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFDb250cm9sc0VsZW1lbnRBdEluZGV4KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93QXRJbmRl
eCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5kZXgpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRl
eCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVk
Q2hpbGRyZW5Db3VudCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnNlbGVjdGVkUm93QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnRpdGxlVUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6cGFyZW50RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmRpc2Nsb3NlZEJ5Um93KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlc09mTGlua2VkVUlFbGVtZW50cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3MpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDaGlsZHJlbik6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRl
VmFsdWUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdBdHRy
aWJ1dGVWYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJl
ckF0dHJpYnV0ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dWlFbGVtZW50QXJyYXlBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1bW5IZWFkZXJzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRh
YmxlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVT
dXBwb3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJhbWV0
ZXJpemVkQXR0cmlidXRlTmFtZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpyb2xlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9s
ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlwdGlv
bik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0
cmluZyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24pOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbiBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2UpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWxwVGV4dCBjb25zdCk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojp5KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d2lkdGgp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9pbnRZKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW50VmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Om1heFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6dmFsdWVEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Omluc2VydGlvblBvaW50TGluZU51bWJlcik6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3Vw
cG9ydGVkKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVk
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJlZCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNlZCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0ZWQgY29u
c3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkT3B0
aW9uQWN0aXZlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNFeHBhbmRlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzQ2hlY2tlZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzSW5kZXRlcm1pbmF0ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmhpZXJhcmNoaWNhbExldmVsIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c3BlYWtBcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmFyaWFJc0dyYWJiZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphcmlhRHJvcEVmZmVjdHMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpsaW5lRm9ySW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpyYW5nZUZvckxpbmUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpyYW5nZUZvclBvc2l0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Ym91bmRzRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpzdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudENvdW50Rm9yU2Vh
cmNoUHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlF
bGVtZW50Rm9yU2VhcmNoUHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c2VsZWN0VGV4dFdpdGhDcml0ZXJpYSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucyk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZWaXNpYmxl
Q2VsbHMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVz
T2ZIZWFkZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dDb3Vu
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkNvdW50KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5nZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJh
ciBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2Fs
U2Nyb2xsYmFyIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c2VsZWN0ZWRUZXh0UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzZXRTZWxlY3RlZFRleHRSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmluY3JlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmRlY3JlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dN
ZW51KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3MpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGls
ZEF0SW5kZXggY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
ZW1vdmVTZWxlY3Rpb25BdEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6Y2xlYXJTZWxlY3RlZENoaWxkcmVuIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlIGNvbnN0KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZyk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dXJsKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxlIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFi
bGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2li
bGUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09mZlNj
cmVlbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29s
bGFwc2VkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJ
Z25vcmVkIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNT
aW5nbGVMaW5lIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNNdWx0aUxpbmUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpoYXNQb3B1cCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnRha2VGb2N1cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VT
ZWxlY3Rpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxl
Y3Rpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxl
Y3Rpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lVGV4dE1h
cmtlclJhbmdlRm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnRleHRNYXJrZXJSYW5nZUZvckVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VMZW5ndGgpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmV2aW91c1RleHRNYXJrZXIpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdl
Rm9yTWFya2Vycyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0
VGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yQm91
bmRzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZv
clBvaW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJp
bGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2Vy
UmFuZ2VXaXRoT3B0aW9ucyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0ZSk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4Rm9yVGV4dE1hcmtlcik6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1hcmtlclZhbGlk
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvcklu
ZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFy
a2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtl
cik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4
dE1hcmtlclJhbmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Ny
b2xsVG9NYWtlVmlzaWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNjcm9sbFRvR2xvYmFsUG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpzY3JvbGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3VwcG9ydGVkQWN0aW9ucyBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbiBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2NyaXB0c0Rlc2NyaXB0
aW9uIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFBy
ZXNjcmlwdHNEZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmNsYXNzTGlzdCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmNoYXJhY3RlckF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6d29yZEF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6bGluZUF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c2VudGVuY2VBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OnJlcGxhY2VUZXh0SW5SYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6Omluc2VydFRleHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpwb3B1cFZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1BsYXRm
b3JtR1RLLmNtYWtlOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3Bw
OgorICAgICAgICAoV1RSOjpUZXN0T3B0aW9uczo6ZGVmYXVsdHMpOgorCiAyMDIxLTA5LTE0ICBD
YXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RL
XSBUZXN0V2ViS2l0QWNjZXNzaWJpbGl0eSBpcyBhbHdheXMgc2tpcHBlZCBpbiB0aGUgYm90cwpk
aWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlci5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcAppbmRleCA2ZWJhMTRhMWE3MGMuLmVhZjU4
YTY5OTc2NiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKQEAgLTMyLDcgKzMy
LDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlUGFnZS5oIgogI2luY2x1ZGUgIkpTQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCIKLSNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorI2lmIEVOQUJMRShBQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUpICYmIFBMQVRGT1JNKE1BQykKICNpbmNsdWRlIDxwYWwvc3BpL2Nv
Y29hL0FjY2Vzc2liaWxpdHlTdXBwb3J0U1BJLmg+CiAjaW5jbHVkZSA8cGFsL3NwaS9tYWMvSElT
ZXJ2aWNlc1NQSS5oPgogI2VuZGlmCkBAIC02OCwxMCArNjgsMTIgQEAgdm9pZCBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6c2V0SXNvbGF0ZWRUcmVlTW9kZShib29sIGZsYWcpCiAjaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKIHZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xs
ZXI6OnVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUoKQogeworI2lmIFBMQVRGT1JNKE1BQykKICAgICAv
LyBPdmVycmlkZSB0byBzZXQgaWRlbnRpZmllciB0byBWb2ljZU92ZXIgc28gdGhhdCByZXF1ZXN0
cyBhcmUgaGFuZGxlZCBpbiBpc29sYXRlZCBtb2RlLgogICAgIF9BWFNldENsaWVudElkZW50aWZp
Y2F0aW9uT3ZlcnJpZGUobV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA/IChBWENsaWVu
dFR5cGUpa0FYQ2xpZW50VHlwZVdlYktpdFRlc3RpbmcgOiBrQVhDbGllbnRUeXBlTm9BY3RpdmVS
ZXF1ZXN0Rm91bmQpOwogICAgIF9BWFNTZXRJc29sYXRlZFRyZWVNb2RlKG1fYWNjZXNzaWJpbGl0
eUlzb2xhdGVkVHJlZU1vZGUgPyBBWFNJc29sYXRlZFRyZWVNb2RlTWFpblRocmVhZCA6IEFYU0lz
b2xhdGVkVHJlZU1vZGVPZmYpOwogICAgIG1fdXNlTW9ja0FYVGhyZWFkID0gV0tBY2Nlc3NpYmls
aXR5Q2FuVXNlU2Vjb25kYXJ5QVhUaHJlYWQoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBh
Z2UoKS0+cGFnZSgpKTsKKyNlbmRpZgogfQogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQuY3BwCmluZGV4IDE4OWJhOWExYjlhZi4uZWE2NDAwYmM3MjhiIDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNz
aWJpbGl0eVVJRWxlbWVudC5jcHAKQEAgLTU1LDEwICs1NSwxNCBAQCBib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzVmFsaWQoKSBjb25zdAogICAgIHJldHVybiBtX2VsZW1lbnQ7ICAgICAg
ICAgICAgCiB9CiAKLSNpZiAhRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNp
ZiAhUExBVEZPUk0oTUFDKQogYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lzb2xhdGVk
T2JqZWN0KCkgY29uc3QKIHsKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQorICAgIHJldHVybiB0cnVlOworI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKIH0K
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCmluZGV4IGIyM2U3MTdmODYyYS4u
M2U1ZTBjZWU2OWZkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaApAQCAtNDcsNiArNDcs
MTEgQEAgdXNpbmcgUGxhdGZvcm1VSUVsZW1lbnQgPSBpZDsKICNpbmNsdWRlIDxhdGsvYXRrLmg+
CiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogdHlwZWRlZiBHUmVmUHRyPEF0a09iamVj
dD4gUGxhdGZvcm1VSUVsZW1lbnQ7CisjZWxpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShB
VFNQSSkKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIEFjY2Vzc2liaWxpdHlPYmplY3RBdHNw
aTsKK30KK3R5cGVkZWYgV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKiBQbGF0Zm9y
bVVJRWxlbWVudDsKICNlbHNlCiB0eXBlZGVmIHZvaWQqIFBsYXRmb3JtVUlFbGVtZW50OwogI2Vu
ZGlmCkBAIC03MSw2ICs3Niw4IEBAIHB1YmxpYzoKIAogI2lmIFBMQVRGT1JNKENPQ09BKQogICAg
IGlkIHBsYXRmb3JtVUlFbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9CisjZWxp
ZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKKyAgICBQbGF0Zm9ybVVJRWxlbWVu
dCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJuIG1fZWxlbWVudC5nZXQoKTsgfQogI2Vsc2UK
ICAgICBQbGF0Zm9ybVVJRWxlbWVudCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJuIG1fZWxl
bWVudDsgfQogI2VuZGlmCkBAIC0zODksNyArMzk2LDcgQEAgcHJpdmF0ZToKICAgICBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50KFBsYXRmb3JtVUlFbGVtZW50KTsKICAgICBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQmKTsKIAotI2lmICFQTEFURk9STShD
T0NPQSkKKyNpZiAhUExBVEZPUk0oQ09DT0EpICYmICFVU0UoQVRTUEkpCiAgICAgUGxhdGZvcm1V
SUVsZW1lbnQgbV9lbGVtZW50OwogI2VuZGlmCiAKQEAgLTQxMyw2ICs0MjAsOCBAQCBwcml2YXRl
OgogCiAjaWYgVVNFKEFUSykKICAgICBSZWZQdHI8QWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXI+IG1fbm90aWZpY2F0aW9uSGFuZGxlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICBSZWZQ
dHI8V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpPiBtX2VsZW1lbnQ7CiAjZW5kaWYK
ICNlbmRpZgogfTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNw
cAppbmRleCA4YzJhZGFjMTkwMDguLmMxMjQ4ODA1OWIxZiAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJB
dGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0Fj
Y2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcApAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUg
ImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCiAKLSNpZiBI
QVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQog
CiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgogI2luY2x1ZGUgIkluamVjdGVk
QnVuZGxlLmgiCkBAIC0xNDQsNCArMTQ0LDQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIoKQogCiB9IC8vIG5hbWVzcGFjZSBXVFIKIAot
I2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90
aWZpY2F0aW9uSGFuZGxlckF0ay5jcHAKaW5kZXggYTIzZTc4NTE3MDczLi43OWY3NzY4NGVhYjMg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0Fj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFu
ZGxlckF0ay5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oIgogCi0jaWYgSEFWRShB
Q0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2lu
Y2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRs
ZS5oIgpAQCAtMjc4LDQgKzI3OCw0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXI6OmRpc2Nvbm5lY3RBY2Nlc3NpYmlsaXR5Q2FsbGJhY2tzKCkKIAogfSAvLyBuYW1lc3Bh
Y2UgV1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJB
dGsuaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgKaW5kZXggZGE1ZDhlY2RkYjA2Li5kMmM3ODQ5
YTlmNTggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgKKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkhhbmRsZXJBdGsuaApAQCAtMTksNyArMTksNyBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEhB
VkUoQUNDRVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAK
ICNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU09iamVjdFJlZi5oPgogI2luY2x1ZGUgPGF0ay9h
dGsuaD4KQEAgLTUzLDQgKzUzLDQgQEAgcHJpdmF0ZToKIAogfSAvLyBuYW1lc3BhY2UgV1RSCiAK
LSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklM
SVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRr
LmNwcAppbmRleCBkMzI5MDkwNGFmN2EuLjY2M2VkZTUyYTQ4MSAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKQEAgLTI4LDcgKzI4LDcgQEAKICNpbmNsdWRl
ICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAKLSNpZiBI
QVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQog
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBh
Z2UuaCIKQEAgLTIyOTksNCArMjI5OSw0IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1cFZhbHVlKCkgY29uc3QKIAogfSAvLyBuYW1lc3BhY2Ug
V1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gSEFWRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXJBdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwLi43MWQzMGY0MWQxOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3Bw
CkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAg
KiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICog
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
IkFjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgiCisKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCisjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGUuaCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oPgorI2luY2x1ZGUgPFdl
YktpdC9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CisKK25hbWVzcGFjZSBXVFIgeworCit2b2lkIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKCkKK3sKK30KKwor
UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjph
Y2Nlc3NpYmxlRWxlbWVudEJ5SWQoSlNTdHJpbmdSZWYgaWQpCit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6cGxhdGZvcm1OYW1lKCkKK3sKKyAgICBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gcGxhdGZv
cm1OYW1lKEFkb3B0LCBKU1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiYXRzcGkiKSk7Cisg
ICAgcmV0dXJuIHBsYXRmb3JtTmFtZTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZlcmVuY2UoSlNTdHJpbmdSZWYgZG9tYWluLCBKU1N0
cmluZ1JlZiBrZXksIEpTU3RyaW5nUmVmIHZhbHVlKQoreworfQorCitSZWY8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJvb3RFbGVtZW50KCkKK3sKKyAg
ICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVkQnVuZGxlOjpzaW5nbGV0b24oKS5wYWdl
KCktPnBhZ2UoKTsKKyAgICBhdXRvKiBlbGVtZW50ID0gc3RhdGljX2Nhc3Q8V2ViQ29yZTo6QWNj
ZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4oV0tBY2Nlc3NpYmlsaXR5Um9vdE9iamVjdChwYWdlKSk7
CisKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQpOwor
fQorCitSZWY8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OmZvY3VzZWRFbGVtZW50KCkKK3sKKyAgICBXS0J1bmRsZVBhZ2VSZWYgcGFnZSA9IEluamVjdGVk
QnVuZGxlOjpzaW5nbGV0b24oKS5wYWdlKCktPnBhZ2UoKTsKKyAgICBhdXRvKiBlbGVtZW50ID0g
c3RhdGljX2Nhc3Q8V2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKj4oV0tBY2Nlc3Np
YmlsaXR5Rm9jdXNlZE9iamVjdChwYWdlKSk7CisKKyAgICByZXR1cm4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6Y3JlYXRlKGVsZW1lbnQpOworfQorCitib29sIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2sp
Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6
OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdUUgorCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRTUEkpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNw
aS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44OWZlY2I5OTI1
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAgLTAsMCArMSw4NTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVQYWdlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTdHJpbmdSZWYu
aD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dL
QnVuZGxlRnJhbWUuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCkKKyAg
ICA6IG1fZWxlbWVudChlbGVtZW50KQoreworfQorCitBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQmIG90aGVy
KQorICAgIDogSlNXcmFwcGFibGUoKQorICAgICwgbV9lbGVtZW50KG90aGVyLm1fZWxlbWVudCkK
K3sKK30KKworQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6fkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQo
KQoreworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCogb3RoZXJFbGVtZW50KQoreworICAgIHJldHVybiBtX2VsZW1lbnQuZ2V0
KCkgPT0gb3RoZXJFbGVtZW50LT5wbGF0Zm9ybVVJRWxlbWVudCgpOworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuKFZlY3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gPiYgY2hpbGRyZW4pCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UoVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiA+JiBjaGlsZHJlbiwgdW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkK
K3sKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoaWxkcmVuQ291bnQoKQorewor
ICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZWxlbWVudEF0UG9pbnQoaW50IHgsIGludCB5KQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRl
eE9mQ2hpbGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICByZXR1cm4g
MDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmNoaWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphcmlhT3duc0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQor
eworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUZsb3dUb0VsZW1lbnRBdEluZGV4KHVuc2ln
bmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUNvbnRyb2xzRWxlbWVu
dEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNj
bG9zZWRSb3dBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3Rl
ZENoaWxkcmVuQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRSb3dB
dEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGVV
SUVsZW1lbnQoKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCgpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRCeVJvdygpCit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphdHRyaWJ1dGVzT2ZMaW5rZWRVSUVsZW1lbnRzKCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3Mo
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlc09mQ2hpbGRyZW4oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWxsQXR0cmlidXRlcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUoSlNTdHJp
bmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c3RyaW5nQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bnVtYmVyQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdS
ZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiAwOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYg
YXR0cmlidXRlKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1ZhbHVlUmVm
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVt
bkhlYWRlcnMoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXR0
cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKSBjb25zdAoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVW
YWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdS
ZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1JlZiBhdHRyaWJ1dGUp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyYW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKCkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGUoKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSgpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVzY3JpcHRp
b24oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29t
cHV0ZWRSb2xlU3RyaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnRpdGxlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmRlc2NyaXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJp
bmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKCkKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omxhbmd1YWdlKCkKK3sKKyAgICByZXR1
cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngoKQoreworICAgIHJldHVybiAwOworfQorCitk
b3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisK
K2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3aWR0aCgpCit7CisgICAgcmV0dXJuIDA7
Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQoKQoreworICAgIHJl
dHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQb2ludFgo
KQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Y2xpY2tQb2ludFkoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aW50VmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUoKQoreworICAgIHJldHVybiAwOwor
fQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUoKQoreworICAgIHJl
dHVybiAwOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNl
cnRpb25Qb2ludExpbmVOdW1iZXIoKQoreworICAgIHJldHVybiAtMTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzUmVxdWlyZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNTZWxlY3RlZE9wdGlvbkFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXhwYW5kZWQoKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0NoZWNr
ZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhpZXJhcmNoaWNhbExldmVsKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzcGVha0FzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphcmlhSXNHcmFiYmVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRHJvcEVm
ZmVjdHMoKSBjb25zdAoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4KGlu
dCBpbmRleCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvckxpbmUoaW50IGxpbmUpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvclBvc2l0aW9u
KGludCB4LCBpbnQgeSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgp
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdG
b3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclJh
bmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIEpT
U3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ1JhbmdlSXNNaXNzcGVsbGVkKHVuc2lnbmVkIGxv
Y2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit1bnNp
Z25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRDb3VudEZvclNlYXJjaFByZWRp
Y2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogc3RhcnRF
bGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwgSlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpTU3Ry
aW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJsZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVzY2Vu
ZGFudHNPbmx5KQoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGlj
YXRlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBzdGFydEVs
ZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNlYXJjaEtleSwgSlNTdHJp
bmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSwgYm9vbCBpbW1lZGlhdGVEZXNjZW5k
YW50c09ubHkpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RUZXh0V2l0aENyaXRlcmlhKEpT
Q29udGV4dFJlZiBjb250ZXh0LCBKU1N0cmluZ1JlZiBhbWJpZ3VpdHlSZXNvbHV0aW9uLCBKU1Zh
bHVlUmVmIHNlYXJjaFN0cmluZ3MsIEpTU3RyaW5nUmVmIHJlcGxhY2VtZW50U3RyaW5nLCBKU1N0
cmluZ1JlZiBhY3Rpdml0eSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVt
bkhlYWRlcnMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlc09mUm93SGVhZGVycygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5zKCkKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MoKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09m
VmlzaWJsZUNlbGxzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkhlYWRlcigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
b3dDb3VudCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpjb2x1bW5Db3VudCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbmRleEluVGFibGUoKQoreworICAgIHJldHVybiAtMTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0luZGV4UmFu
Z2UoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29s
dW1uSW5kZXhSYW5nZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVkIGNvbCwgdW5zaWduZWQg
cm93KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZFRleHRSYW5nZSgpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVu
c2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aW5jcmVtZW50KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpkZWNyZW1lbnQoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNob3dNZW51KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzcygp
Cit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4
KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVj
dGlvbkF0SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7Cit9CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Y2xlYXJTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QKK3sKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxp
dHlWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVybCgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
ZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdAoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGFi
bGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc011bHRpU2VsZWN0YWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVmlzaWJsZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
T2ZmU2NyZWVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNDb2xsYXBzZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lnbm9yZWQoKSBjb25zdAor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c1NpbmdsZUxpbmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc011bHRpTGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc1BvcHVwKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGFrZUZvY3VzKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0YWtlU2Vs
ZWN0aW9uKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxlY3Rp
b24oKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVjdGlv
bigpCit7Cit9CisKKy8vIFRleHQgbWFya2VycworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVUZXh0TWFya2VyUmFuZ2VGb3JU
ZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudChBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitp
bnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQoreworICAgIHJldHVybiAwOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXZp
b3VzVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogdGV4dE1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1h
cmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdlLCBKU1N0
cmluZ1JlZiBzZWFyY2hUZXh0KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3Np
YmlsaXR5VGV4dE1hcmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBl
bmRNYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmls
aXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9y
VGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uo
QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvckJvdW5kcyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwg
aW50IGhlaWdodCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXJG
b3JCb3VuZHMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KGludCB4LCBpbnQgeSkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogbWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0
cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJh
bmdlKikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2Vy
UmFuZ2VXaXRoT3B0aW9ucyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiwgYm9vbCkKK3sK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUoSlNTdHJp
bmdSZWYgYXR0cmlidXRlLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRl
eEZvclRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtlcikKK3sKKyAgICBy
ZXR1cm4gLTE7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNUZXh0TWFya2Vy
VmFsaWQoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JJbmRleChpbnQgdGV4dEluZGV4KQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6ZW5kVGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSopCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUoKQoreworfQor
Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQoaW50IHgs
IGludCB5KQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFr
ZVZpc2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQp
Cit7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzdXBwb3J0ZWRBY3Rpb25zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNj
cmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNj
cmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUHJlc2NyaXB0c0Rlc2Ny
aXB0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjaGFyYWN0ZXJBdE9mZnNldChpbnQgb2Zmc2V0KQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d29yZEF0T2Zmc2V0KGlu
dCBvZmZzZXQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpsaW5lQXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNlbnRlbmNlQXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpyZXBsYWNlVGV4dEluUmFuZ2UoSlNTdHJpbmdSZWYsIGludCwg
aW50KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjppbnNlcnRUZXh0KEpTU3RyaW5nUmVmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBvcHVwVmFs
dWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBX
VFIKKworI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNmY4MzY2YjYzZTQzLi44OTYy
ZTY0NWU5YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsu
Y21ha2UKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAt
NDAsNiArNDAsOSBAQCBsaXN0KEFQUEVORCBXZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGVf
U09VUkNFUwogICAgIEluamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9u
SGFuZGxlckF0ay5jcHAKICAgICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0ay5jcHAKIAorICAgIEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250
cm9sbGVyQXRzcGkuY3BwCisgICAgSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEF0c3BpLmNwcAorCiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNH
dGsuY3BwCiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAogICAg
IEluamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZVV0aWxpdGllcy5jcHAKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5jcHAKaW5kZXggOGUyYTdmODg4YzBkLi5hNTYzNTYwZTBj
Y2EgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCkBAIC04OCw2ICs4OCw5
IEBAIGNvbnN0IFRlc3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKICAgICAgICAg
ICAgIHsgIklucHV0VHlwZU1vbnRoRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIklu
cHV0VHlwZVRpbWVFbmFibGVkIiwgdHJ1ZSB9LAogICAgICAgICAgICAgeyAiSW5wdXRUeXBlV2Vl
a0VuYWJsZWQiLCB0cnVlIH0sCisjaWYgVVNFKEFUU1BJKQorICAgICAgICAgICAgeyAiSXNBY2Nl
c3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZCIsIHRydWUgfSwKKyNlbmRpZgogICAgICAgICAg
ICAgeyAiSmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCIsIHRydWUgfSwKICAgICAgICAgICAg
IHsgIkphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkiLCB0cnVlIH0sCiAgICAg
ICAgICAgICB7ICJMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQiLCBmYWxzZSB9LAo=
</data>
<flag name="commit-queue"
          id="461447"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438324</attachid>
            <date>2021-09-16 00:36:30 -0700</date>
            <delta_ts>2021-09-16 01:36:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-atspi.diff</filename>
            <type>text/plain</type>
            <size>91194</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3OWRmOTE5ZGQ3MGEuLmZi
YWQ5NWFiMDY5MiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVuYW1lIFJFU09VUkNFX0xPQURfU1RBVElTVElDUyB0byBJTlRFTExJR0VOVF9U
UkFDS0lOR19QUkVWRU5USU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE3MmM2OTQ0Mjc4Ni4uZmRkM2FiMjQ3OTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24g
dG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdpdGggQVRTUEkuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIw
MjEtMDktMTQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVuYW1lIFJFU09VUkNFX0xPQURfU1RBVElTVElDUyB0byBJTlRFTExJR0VOVF9UUkFDS0lOR19Q
UkVWRU5USU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlcy55YW1sCmluZGV4IDI1YWZiMjUwOGU4Yy4uYmFiYzA5ZWI1OWNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAt
MTA3OCw2ICsxMDc4LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAg
ICBXZWJLaXRMZWdhY3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAg
ICJVU0UoQVRTUEkpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgog
ICAgICAgZGVmYXVsdDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MGJkN2VmYzFhNWIuLjM1ODAxNzhl
MDkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDIxLTA5LTE2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBB
ZGQgYSBidWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0
aW9uLgorCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU291cmNlc0dU
Sy50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9h
dHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQbGF0Zm9ybVByb3BlcnRpZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6YXR0YWNoUGxhdGZvcm1XcmFwcGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6
CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIGVkaXRpbmcv
YXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL2F0c3BpL0ZyYW1l
U2VsZWN0aW9uQXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0
aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKToKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMjEtMDktMTUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFYOiBNb3ZlIHBsYXRmb3JtIHNwZWNpZmlj
IGNvZGUgZm9yIGlzb2xhdGVkIHRyZWUgbW9kZSB0byB0aGUgcGxhdGZvcm0gZmlsZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1Li5hOGEwMWYwNmViZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZB
VEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5
L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9hdHNwaSIKICAgICAiJHtX
RUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BhZ2UvZ3RrIgog
ICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRhIgpAQCAtNTMsNiArNTQsOCBAQCBp
ZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxpc3QoQVBQRU5EIFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fkd2FpdGEvU2Nyb2xsYmFyVGhlbWVB
ZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGljYXRpb25HTGliLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
c0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMxMmVmODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNH
VEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGls
LmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAK
K2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcAorCithY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwCisKIGVkaXRp
bmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0aW5nL2F0c3BpL0ZyYW1lU2VsZWN0
aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0ay5jcHAKIGVkaXRpbmcvZ3RrL1dl
YkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXggZTA1ZjA5
NWIxMTVhLi44NTZhZWY5YjE2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC00Myw2ICs0
MywxMCBAQAogI2luY2x1ZGUgIkNPTVB0ci5oIgogI2VuZGlmCiAKKyNpZiBVU0UoQVRTUEkpCisj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisjZW5kaWYKKwogI2lmIFVTRShB
VEspCiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogI2VuZGlmCkBAIC01Myw2ICs1Nyw4
IEBAIHR5cGVkZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CiB0eXBlZGVmIHN0cnVjdCBfTlNSYW5nZSBOU1JhbmdlOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXIqIEFYVGV4dE1hcmtlclJlZjsKIHR5cGVkZWYgY29u
c3Qgc3RydWN0IF9fQVhUZXh0TWFya2VyUmFuZ2UqIEFYVGV4dE1hcmtlclJhbmdlUmVmOworI2Vs
aWYgVVNFKEFUU1BJKQordHlwZWRlZiBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkg
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CiAjZWxpZiBVU0UoQVRLKQogdHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdEFjY2Vzc2libGUgV2ViS2l0QWNjZXNzaWJsZTsKIHR5cGVkZWYgc3RydWN0IF9X
ZWJLaXRBY2Nlc3NpYmxlIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOwpAQCAtMTUwNyw2ICsx
NTEzLDggQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXI+IG1fd3JhcHBlcjsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBDT01QdHI8QWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICBS
ZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpPiBtX3dyYXBwZXI7CiAjZWxpZiBVU0UoQVRL
KQogICAgIEdSZWZQdHI8V2ViS2l0QWNjZXNzaWJsZT4gbV93cmFwcGVyOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FYT2JqZWN0Q2FjaGVBdGsu
Y3BwCmluZGV4IDdiODcyN2RjMmYyNy4uMmIxYzM0MDIxMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcApAQCAtMjAs
NyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUu
aCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKaW5k
ZXggODVkMmFkYWVjZDk1Li40MzRiZjUwY2M2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCkBA
IC0yMSw2ICsyMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eU9iamVjdC5oIgogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCisK
ICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiSFRNTFNwYW5FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKQEAgLTMyLDggKzM0LDYgQEAKICNpbmNsdWRlICJX
ZWJLaXRBY2Nlc3NpYmxlLmgiCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KIAotI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50
VHlwZSBkZXRhY2htZW50VHlwZSkKQEAgLTIwNiw0ICsyMDYsNCBAQCB1bnNpZ25lZCBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpnZXRMZW5ndGhGb3JUZXh0UmFuZ2UoKSBjb25zdAogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHAKaW5kZXggODZjMzBj
ZGQ2NjYzLi5jOTZjMmMyZmJhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogCi0jaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEsp
CiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxp
c3QuaCIKQEAgLTEzODIsNCArMTM4Miw0IEBAIGNvbnN0IGNoYXIqIHdlYmtpdEFjY2Vzc2libGVD
YWNoZUFuZFJldHVybkF0a1Byb3BlcnR5KFdlYktpdEFjY2Vzc2libGUqIGFjY2Vzc2liCiAgICAg
cmV0dXJuICgqcHJvcGVydHlQdHIpLmRhdGEoKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZS5oCmluZGV4IDcyZTExNjUxYjdlOS4uZWY5MjM2YTczZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oCkBAIC0yMiw3ICsy
Miw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC04NSw0ICs4NSw0IEBAIGJvb2wg
d2Via2l0QWNjZXNzaWJsZUlzRGV0YWNoZWQoV2ViS2l0QWNjZXNzaWJsZSopOwogCiBjb25zdCBj
aGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0eShXZWJLaXRBY2Nl
c3NpYmxlKiwgQXRrQ2FjaGVkUHJvcGVydHksIENTdHJpbmcmJik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5jcHAKaW5kZXggMDVjYmQ2ZmU3NTFkLi5jNDBm
NzJjMmM5NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwCkBAIC0yMSw3ICsyMSw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGlu
ay5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eU9iamVjdC5oIgpAQCAtMzEzLDQgKzMxMyw0IEBAIFdlYktpdEFjY2Vzc2li
bGVIeXBlcmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBl
cmxpbmtJbXBsCiAgICAgcmV0dXJuIGh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUh5cGVybGluay5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUh5cGVybGluay5oCmluZGV4IDc5OTZiMGE0NGVjMy4uMTlmYTljMWRjN2Y3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSHlwZXJsaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCkBAIC0xOSw3ICsxOSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKQEAgLTUyLDQgKzUyLDQg
QEAgV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluayogd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0dl
dE9yQ3JlYXRlKEF0a0h5cGVybGlua0ltcGwKIAogR19FTkRfREVDTFMKIAotI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcAppbmRleCBjYTIz
YWRmZDcxYTcuLjE0ZWI1Nzk4ODZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFj
dGlvbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5oCmluZGV4IDY3MThiMTQwZTZmYi4uMDJk
NzU5NmQ5MzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5oCkBAIC0yMSwx
MCArMjEsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9h
dGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlQWN0aW9uSW50ZXJmYWNlSW5pdChBdGtBY3Rp
b25JZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuY3BwCmluZGV4IGI3ZmU1NWJmZTQzOC4uOTg0NTdhYWRmMDU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtMTY5LDQgKzE2OSw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRrQ29tcG9uZW50SWZh
Y2UqIGlmYWNlKQogI2VuZGlmCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VDb21wb25lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VDb21wb25lbnQuaAppbmRleCA5NjkyM2M1YTY4YzEuLjdkYWYzNDdj
NDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21wb25lbnQuaApAQCAtMjEs
MTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsv
YXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRr
Q29tcG9uZW50SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2Vu
ZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKaW5kZXggMmIzMTNhMGIxYmE0Li43ZjBiNWEwMDU0
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50LmNwcApAQCAtMzIs
NyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VEb2N1bWVudC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZURvY3VtZW50LmgKaW5kZXggYzk0OGQxOTc2ZWJhLi42YmVhYWVkMzk2NjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCkBAIC0yMSwxMCArMjEsMTAgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9p
ZCB3ZWJraXRBY2Nlc3NpYmxlRG9jdW1lbnRJbnRlcmZhY2VJbml0KEF0a0RvY3VtZW50SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRWRpdGFibGVUZXh0LmNwcAppbmRleCBhYzc5MzgzYjg2MDMuLjQ5NGViMDAxODI2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKQEAgLTMx
LDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlRWRpdGFibGVUZXh0LmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vz
c2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5oCmluZGV4IDU4NDUwZTQxOWVkZC4uZWY1Zjdk
MjY5YmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlRWRpdGFibGVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5o
CkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlRWRpdGFibGVUZXh0SW50ZXJm
YWNlSW5pdChBdGtFZGl0YWJsZVRleHRJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKaW5kZXgg
MmZjNGUxOTQwOGU3Li42YThlZGQ0OTY3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1w
bC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmgi
CiAKQEAgLTM0LDQgKzM0LDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJsaW5rSW1wbElu
dGVyZmFjZUluaXQoQXRrSHlwZXJsaW5rSW1wbElmYWNlKiBpZmFjZSkKICAgICBpZmFjZS0+Z2V0
X2h5cGVybGluayA9IHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtJbXBsR2V0SHlwZXJsaW5rOwog
fQogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUh5cGVybGlua0ltcGwuaAppbmRleCBiYzdlYzE3MDM3NjQuLjIwOTJiZjdjOTcwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oCkBAIC0xOSwxMCAr
MTksMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsu
aD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJsaW5rSW1wbEludGVyZmFjZUluaXQoQXRr
SHlwZXJsaW5rSW1wbElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5jcHAKaW5kZXggYTc4ZDg4MzJhYTRkLi41MjNi
YWI5NmYwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuY3Bw
CkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVydGV4dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5oCmluZGV4IDU0OGNkNjA4YTQ2Zi4u
YzNmNjEzODVmNDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5o
CkBAIC0xOSwxMCArMTksMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJ0ZXh0SW50ZXJmYWNl
SW5pdChBdGtIeXBlcnRleHRJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcAppbmRleCA2MzNjOTcwZDBlNDEuLjI4NjA2MDI3
MTU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuY3BwCkBAIC0zMiw3ICsz
Miw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUltYWdlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5oCmluZGV4IDRkOWNlNDA5NzNlNS4uMGQ1ZDhjZWIxY2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlSW1hZ2UuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVT
RShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZUlt
YWdlSW50ZXJmYWNlSW5pdChBdGtJbWFnZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVNlbGVjdGlvbi5jcHAKaW5kZXggNmVhNTcw
ODEzN2I0Li44NmExOTk4Y2JjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VT
ZWxlY3Rpb24uY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVNlbGVjdGlvbi5oIgogCi0jaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAppbmRl
eCAyYjk5MWQyM2JhOTAuLmM1MzM0YjNhMjMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVNlbGVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VTZWxlY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVT
RShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZVNl
bGVjdGlvbkludGVyZmFjZUluaXQoQXRrU2VsZWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKaW5kZXggNjI2Yzcy
Nzc0NTE3Li5lNWVlYzVjNWIxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxl
LmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5TGlzdEJveC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VUYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmgKaW5kZXggNGVmYzJiMjBhMWU3Li5mNDJi
NWNmZDZiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5oCkBAIC0yMSwxMCAr
MjEsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsu
aD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlVGFibGVJbnRlcmZhY2VJbml0KEF0a1RhYmxlSWZh
Y2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGVDZWxsLmNwcAppbmRleCAyODlkM2E3MDE1ZGYuLjg2ZTdhNzU4NjViNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRhYmxlQ2VsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKQEAgLTIwLDcgKzIwLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGVDZWxsLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKQEAgLTE1Myw0ICsxNTMsNCBA
QCB2b2lkIHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxJbnRlcmZhY2VJbml0KEF0a1RhYmxlQ2Vs
bElmYWNlKiBpZmFjZSkKICAgICBpZmFjZS0+Z2V0X3RhYmxlID0gd2Via2l0QWNjZXNzaWJsZVRh
YmxlQ2VsbEdldFRhYmxlOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisj
ZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGVDZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGVDZWxsLmgKaW5kZXggMmJiYzczNzMwNWUxLi5mMmQ3MDM0ZTQ1
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVDZWxsLmgKQEAgLTIxLDEw
ICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0
ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxJbnRlcmZhY2VJbml0KEF0a1Rh
YmxlQ2VsbElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRp
ZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VUZXh0LmNwcAppbmRleCAwODFmYThjMzYxYjAuLjBhODZkNDQzZDUwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0Lmgi
CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKaW5kZXggMTEyOTU1
ZjQwZGYwLi5lYzJhYWUzYzI5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaApA
QCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
IDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZVRleHRJbnRlcmZhY2VJbml0KEF0
a1RleHRJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVZhbHVlLmNwcAppbmRleCAwNGVlODkwMzlhZmEuLjA4MjU5ZDk5ZjFlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVl
LmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmgKaW5kZXgg
MzY5NmNiMGI4OWRkLi5kMTFkNWU4MWUxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VW
YWx1ZS5oCkBAIC0xOSwxMCArMTksMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAog
I2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVJbnRlcmZh
Y2VJbml0KEF0a1ZhbHVlSWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0
aWwuY3BwCmluZGV4IGQ5ZGNkYTkwOGYyZS4uYjNmODc2ZDI0MzA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwu
Y3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZVV0aWwuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCmluZGV4
IGEyZmFjYWY4NTI4ZC4uZjU0OTMwMmZlOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmgKQEAgLTIxLDcgKzIx
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTY5LDQgKzY5LDQgQEAgYm9vbCBz
ZWxlY3Rpb25CZWxvbmdzVG9PYmplY3QoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCosIFdl
YkNvcmU6OlZpc2libGVTZWwKIAogV2ViQ29yZTo6QVhDb3JlT2JqZWN0KiBvYmplY3RGb2N1c2Vk
QW5kQ2FyZXRPZmZzZXRVbmlnbm9yZWQoV2ViQ29yZTo6QVhDb3JlT2JqZWN0KiwgaW50JiBvZmZz
ZXQpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxF
KEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43YzQ0NmQwMzYyODYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEg
Uy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIk5vZGUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBw
ZXIoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRl
dGFjaG1lbnRUeXBlKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIo
QVhDb3JlT2JqZWN0KiBheE9iamVjdCkKK3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0
Zm9ybVBlcmZvcm1EZWZlcnJlZENhY2hlVXBkYXRlKCkKK3sKK30KKwordm9pZCBBWE9iamVjdENh
Y2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0LCBB
WE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
bm9kZVRleHRDaGFuZ2VQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBv
YmplY3QsIEFYVGV4dENoYW5nZSB0ZXh0Q2hhbmdlLCB1bnNpZ25lZCBvZmZzZXQsIGNvbnN0IFN0
cmluZyYgdGV4dCkKK3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpmcmFtZUxvYWRpbmdFdmVu
dFBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgQVhMb2Fk
aW5nRXZlbnQgbG9hZGluZ0V2ZW50KQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OnBsYXRm
b3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoTm9kZSogb2xkRm9jdXNlZE5vZGUsIE5v
ZGUqIG5ld0ZvY3VzZWROb2RlKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlP
YmplY3RBdHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi5kNThiOGIwNjY1NTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmNyZWF0ZShBWENv
cmVPYmplY3QqIGNvcmVPYmplY3QpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpKGNvcmVPYmplY3QpKTsKK30KKworQWNjZXNzaWJpbGl0eU9iamVj
dEF0c3BpOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkoQVhDb3JlT2JqZWN0KikKK3sKK30KKwor
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJp
bGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlKQoreworfQorCitib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNz
aWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25z
dAoreworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpEZWZhdWx0QmVo
YXZpb3I7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNmZjIxNDQ1YTA4NwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KKyNpbmNsdWRlIDx3dGYv
VGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQVhD
b3JlT2JqZWN0OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk+IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gY3JlYXRlKEFYQ29yZU9iamVj
dCopOworICAgIH5BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkoKSA9IGRlZmF1bHQ7CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKEFYQ29yZU9iamVjdCop
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKaW5kZXgg
YjE4MTJmMTEwZmY4Li4wNjhjYjVkNzAzN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3Bw
CkBAIC01MDgsNiArNTA4LDggQEAgY29uc3QgQVhDb3JlT2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxkcmVuKGJvb2wKICNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQogICAgIEFTU0VSVChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9u
SXNBdmFpbGFibGUoKSAmJiAoKF9BWFNJc29sYXRlZFRyZWVNb2RlX1NvZnQoKSA9PSBBWFNJc29s
YXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkICYmICFpc01haW5UaHJlYWQoKSkKICAgICAgICAg
fHwgKF9BWFNJc29sYXRlZFRyZWVNb2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlTWFp
blRocmVhZCAmJiBpc01haW5UaHJlYWQoKSkpKTsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICBBU1NF
UlQoIWlzTWFpblRocmVhZCgpKTsKICNlbmRpZgogICAgIHVwZGF0ZUJhY2tpbmdTdG9yZSgpOwog
ICAgIG1fY2hpbGRyZW4uY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDdjMzQ2OTY3
OTdhYi4uY2Y0Mjg2MjM5ZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTM0Myw3ICszNDMs
MTEgQEAgcHVibGljOgogCiAgICAgc3RydWN0IE5vZGVDaGFuZ2UgewogICAgICAgICBSZWY8QVhJ
c29sYXRlZE9iamVjdD4gaXNvbGF0ZWRPYmplY3Q7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
ICAgIFJldGFpblB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlcjsKKyNlbGlm
IFVTRShBVFNQSSkKKyAgICAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3
cmFwcGVyOworI2VuZGlmCiAgICAgfTsKIAogICAgIHZvaWQgZ2VuZXJhdGVTdWJ0cmVlKEFYQ29y
ZU9iamVjdCYsIEFYQ29yZU9iamVjdCosIGJvb2wgYXR0YWNoV3JhcHBlcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xh
dGVkT2JqZWN0QXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjA2Nzg2NTVjZTllYgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRP
YmplY3RBdHNwaS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZE9i
amVjdC5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNF
KEFUU1BJKQorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVBsYXRmb3Jt
UHJvcGVydGllcyhjb25zdCBBWENvcmVPYmplY3QmKQoreworfQorCit2b2lkIEFYSXNvbGF0ZWRP
YmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlciog
d3JhcHBlcikKK3sKKyAgICBzZXRXcmFwcGVyKHdyYXBwZXIpOworfQorCit2b2lkIEFYSXNvbGF0
ZWRPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNobWVudFR5
cGUgZGV0YWNobWVudFR5cGUpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFVTRShBVFNQSSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaCBiL1Nv
dXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCBiNGMxMDk5NTcyMDAu
LjRjYmY1YTMwOTE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9GcmFtZVNl
bGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaApA
QCAtMzc1LDcgKzM3NSw3IEBAIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpjbGVhclR5cGlu
Z1N0eWxlKCkKICAgICBtX3R5cGluZ1N0eWxlID0gbnVsbHB0cjsKIH0KIAotI2lmICEoRU5BQkxF
KEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykpKQorI2lmICEo
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykgfHwg
VVNFKEFUU1BJKSkpCiAKIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlBY2Nlc3Np
YmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50ZW50JikK
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9u
QXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNw
cAppbmRleCA5NzM0YjY4YTRmNjUuLmQyNjE0OWY2NWIzYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcApAQCAtMjAsNyArMjAsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAKLSNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
SykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpA
QCAtMTE2LDQgKzExNiw0IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vzc2liaWxp
dHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuCiAKIH0gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8v
IEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvZWRpdGluZy9hdHNwaS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2VkaXRpbmcvYXRzcGkvRnJhbWVTZWxlY3Rpb25BdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40OTlmZDE5ODQyYzIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGkuY3BwCkBA
IC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisKKyNpZiBFTkFC
TEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlm
eUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuZ2VJ
bnRlbnQmKQoreworICAgIGlmICghQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVuYWJsZWQo
KSkKKyAgICAgICAgcmV0dXJuOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0
aW5ncy55YW1sCmluZGV4IDU2NDNmZjhmZmZhNy4uNjJjY2MzYjM2MTJhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy55YW1sCkBAIC0yNjksNiArMjY5LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0
ZWRUcmVlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6CiAgICAgV2ViQ29y
ZToKKyAgICAgIFVTRShBVFNQSSk6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAKIElzUGVy
QWN0aXZpdHlTdGF0ZUNQVVVzYWdlTWVhc3VyZW1lbnRFbmFibGVkOgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRleCBmNmMw
N2RhNTg0ZjUuLmMxMDIzZGQ0ZWRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFuZ2VM
b2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAyMS0w
OS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAgICAg
ICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBVFNQSQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0
Zm9ybUluaXRpYWxpemUpOiBBZGQgQVRLIGlmZGVmLgorICAgICAgICAqIFdlYlByb2Nlc3MvZ3Rr
L1dlYlByb2Nlc3NNYWluR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW4p
OiBEaXNhYmxlIEFUSy9HVEsgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IGluIHRoZSBXZWJQcm9jZXNz
IHdoZW4gdXNpbmcgQVRTUEkuCisKIDIwMjEtMDktMTUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hv
cnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSAiUmVwbGFjZSBXZWJLaXRBZGRp
dGlvbnMgaW4gRnJhbWV3b3JrIEhlYWRlcnMiIGJ1aWxkIHBoYXNlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKaW5kZXggZWMwNzlm
N2I2ZDBlLi5jMDUxNGMwZGM4YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgV2ViUGFnZTo6cGxhdGZvcm1Jbml0aWFsaXplKCkKIHsK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKICAgICAvLyBDcmVhdGUgdGhlIGFjY2Vzc2libGUgb2JqZWN0ICh0aGUgcGx1Zykg
dGhhdCB3aWxsIHNlcnZlIGFzIHRoZQogICAgIC8vIGVudHJ5IHBvaW50IHRvIHRoZSBXZWIgcHJv
Y2VzcywgYW5kIHNlbmQgYSBtZXNzYWdlIHRvIHRoZSBVSQogICAgIC8vIHByb2Nlc3MgdG8gY29u
bmVjdCB0aGUgdHdvIHdvcmxkcyB0aHJvdWdoIHRoZSBhY2Nlc3NpYmlsaXR5CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCmluZGV4IDM2
NDNlZTk1OWU1ZS4uZWVhZWFiZGY4NDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcApAQCAtNzEsNiArNzEsMTUgQEAgcHVibGlj
OgogCiBpbnQgV2ViUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogeworI2lmIFVT
RShBVFNQSSkKKyAgICAvLyBEaXNhYmxlIEFUSy9HVEsgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IGlu
IHRoZSBXZWJQcm9jZXNzLgorI2lmIFVTRShHVEs0KQorICAgIGdfc2V0ZW52KCJHVEtfQTExWSIs
ICJub25lIiwgVFJVRSk7CisjZWxzZQorICAgIGdfc2V0ZW52KCJOT19BVF9CUklER0UiLCAiMSIs
IFRSVUUpOworI2VuZGlmCisjZW5kaWYKKwogICAgIC8vIElnbm9yZSB0aGUgR1RLX1RIRU1FIGVu
dmlyb25tZW50IHZhcmlhYmxlLCB0aGUgdGhlbWUgaXMgYWx3YXlzIHNldCBieSB0aGUgVUkgcHJv
Y2VzcyBub3cuCiAgICAgLy8gVGhpcyBjYWxsIG5lZWRzIHRvIGhhcHBlbiBiZWZvcmUgYW55IHRo
cmVhZHMgYmVnaW4gZXhlY3V0aW9uCiAgICAgdW5zZXRlbnYoIkdUS19USEVNRSIpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9u
c0dUSy5jbWFrZQppbmRleCA1ZTg1MDFhNjAwMGEuLjY1NDc3MmJiNDhmNCAxMDA2NDQKLS0tIGEv
U291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNH
VEsuY21ha2UKQEAgLTMwLDcgKzMwLDYgQEAgZmluZF9wYWNrYWdlKE9wZW5HTEVTMikKIAogaW5j
bHVkZShHU3RyZWFtZXJEZWZpbml0aW9ucykKIAotU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNF
X0FUSyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NBSVJPIFRSVUUpCiBTRVRf
QU5EX0VYUE9TRV9UT19CVUlMRChVU0VfWERHTUlNRSBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9f
QlVJTEQoVVNFX0dDUllQVCBUUlVFKQpAQCAtNzYsNiArNzUsNyBAQCBXRUJLSVRfT1BUSU9OX0RF
RklORShVU0VfV1BFX1JFTkRFUkVSICJXaGV0aGVyIHRvIGVuYWJsZSBXUEUgcmVuZGVyaW5nIiBQ
VUJMSUMgTwogIyBQcml2YXRlIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIEdUSyBwb3J0LiBDaGFu
Z2luZyB0aGVzZSBvcHRpb25zIGlzCiAjIGNvbXBsZXRlbHkgdW5zdXBwb3J0ZWQuIFRoZXkgYXJl
IGludGVuZGVkIGZvciB1c2Ugb25seSBieSBXZWJLaXQgZGV2ZWxvcGVycy4KIFdFQktJVF9PUFRJ
T05fREVGSU5FKFVTRV9BTkdMRV9XRUJHTCAiV2hldGhlciB0byB1c2UgQU5HTEUgYXMgV2ViR0wg
YmFja2VuZC4iIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0FUU1BJICJX
aGV0aGVyIHRvIHVzZSB0aGUgQXRzcGkgYTExeSBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFkIG9mIEFU
Sy4iIFBSSVZBVEUgT0ZGKQogCiBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfM0RfVFJBTlNG
T1JNUyBVU0VfT1BFTkdMX09SX0VTKQogV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX0FTWU5D
X1NDUk9MTElORyBVU0VfT1BFTkdMX09SX0VTKQpAQCAtMjY3LDYgKzI2NywxMiBAQCBpZiAoTk9U
IEVYSVNUUyAiJHtUT09MU19ESVJ9L2dsaWIvYXBwbHktYnVpbGQtcmV2aXNpb24tdG8tZmlsZXMu
cHkiKQogICAgIHNldChCVUlMRF9SRVZJU0lPTiAidGFyYmFsbCIpCiBlbmRpZiAoKQogCitpZiAo
VVNFX0FUU1BJKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEVOQUJMRV9BQ0NFU1NJQklM
SVRZX0lTT0xBVEVEX1RSRUUgVFJVRSkKK2Vsc2UgKCkKKyAgICBTRVRfQU5EX0VYUE9TRV9UT19C
VUlMRChVU0VfQVRLIFRSVUUpCitlbmRpZiAoKQorCiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChI
QVZFX0dUS19VTklYX1BSSU5USU5HICR7R1RLX1VOSVhfUFJJTlRfRk9VTkR9KQogU0VUX0FORF9F
WFBPU0VfVE9fQlVJTEQoSEFWRV9PU19EQVJLX01PREVfU1VQUE9SVCAxKQogCmRpZmYgLS1naXQg
YS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmE3Y2QxYzA0YzY1Li5l
ZTE1OGIxMjc4ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwyMDMgQEAKKzIwMjEtMDktMTYgIENhcmxvcyBHYXJjaWEgQ2FtcG9z
ICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW2ExMXldIEFkZCBhIGJ1aWxk
IG9wdGlvbiB0byBlbmFibGUgQVRTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIzMDI1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgV1RSIGFjY2Vzc2liaWxpdHkgaW1wbGVtZW50
YXRpb24uCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vz
c2liaWxpdHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJc29sYXRlZE9iamVjdCBjb25zdCk6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Lmg6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBsYXRm
b3JtVUlFbGVtZW50KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRs
ZXJBdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmg6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5j
cHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0eVByZWZl
cmVuY2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1l
bnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9jdXNlZEVsZW1l
bnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0
aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVt
b3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVlTW9kZSk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRzcGkuY3Bw
OiBBZGRlZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6On5B
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNFcXVhbCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omdl
dENoaWxkcmVuKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Z2V0Q2hp
bGRyZW5XaXRoUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
aGlsZHJlbkNvdW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZWxl
bWVudEF0UG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRl
eE9mQ2hpbGQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjaGlsZEF0
SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5rZWRVSUVs
ZW1lbnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJp
YU93bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmFyaWFDb250cm9sc0VsZW1lbnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93QXRJbmRleCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5kZXgpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRyZW5Db3VudCBj
b25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkUm93
QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlVUlF
bGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxl
bWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5
Um93KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09m
TGlua2VkVUlFbGVtZW50cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3MpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDaGlsZHJlbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZSk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0ZVZhbHVl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXJyYXlB
dHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OnJvd0hlYWRlcnMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpjb2x1bW5IZWFkZXJzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6dWlFbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0ZWQpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJhbWV0ZXJpemVkQXR0cmlidXRl
TmFtZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlwdGlvbik6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZyk6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24pOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpoZWxwVGV4dCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OngpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp5KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d2lkdGgpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNsaWNrUG9pbnRZKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6aW50VmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Om1heFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dmFsdWVE
ZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2Vy
dGlvblBvaW50TGluZU51bWJlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJlZCBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNlZCBjb25zdCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0ZWQgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkT3B0aW9uQWN0aXZlIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFeHBhbmRlZCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ2hlY2tlZCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5kZXRlcm1pbmF0
ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhpZXJhcmNo
aWNhbExldmVsIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c3BlYWtBcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFJc0dy
YWJiZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojphcmlh
RHJvcEVmZmVjdHMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpsaW5lRm9ySW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
YW5nZUZvckxpbmUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5n
ZUZvclBvc2l0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym91
bmRzRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJp
bmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJp
YnV0ZWRTdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudENvdW50Rm9yU2VhcmNoUHJlZGljYXRlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNo
UHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0
VGV4dFdpdGhDcml0ZXJpYSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucyk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZWaXNpYmxlQ2VsbHMpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dDb3VudCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkNvdW50KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhciBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2FsU2Nyb2xsYmFyIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRUZXh0UmFu
Z2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZFRl
eHRSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluY3JlbWVu
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVudCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dNZW51KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3MpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkIGNvbnN0KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXggY29uc3Qp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb25B
dEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xl
YXJTZWxlY3RlZENoaWxkcmVuIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZyk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dXJsKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxlIGNvbnN0KToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFibGUgY29uc3QpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUgY29uc3QpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09mZlNjcmVlbiBjb25zdCk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29sbGFwc2VkIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJZ25vcmVkIGNvbnN0KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTaW5nbGVMaW5lIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aUxpbmUgY29u
c3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNQb3B1cCBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VGb2N1cyk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VTZWxlY3Rpb24pOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxlY3Rpb24pOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb24pOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lVGV4dE1hcmtlclJhbmdlRm9yVGV4
dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRleHRNYXJr
ZXJSYW5nZUZvckVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojp0ZXh0TWFya2VyUmFuZ2VMZW5ndGgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpwcmV2aW91c1RleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2Vycyk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZvclRl
eHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVu
ZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JU
ZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VXaXRoT3B0aW9u
cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJp
bmdGb3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0ZSk6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4Rm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1hcmtlclZhbGlkKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvckluZGV4KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyKToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlcik6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dE1hcmtlclJhbmdlKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9NYWtlVmlzaWJs
ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFs
UG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3JvbGxUb01h
a2VWaXNpYmxlV2l0aFN1YkZvY3VzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c3VwcG9ydGVkQWN0aW9ucyBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2NyaXB0c0Rlc2NyaXB0aW9uIGNvbnN0KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNEZXNjcmlw
dGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNz
TGlzdCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoYXJh
Y3RlckF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d29y
ZEF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUF0
T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VudGVuY2VB
dE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlcGxhY2VU
ZXh0SW5SYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2Vy
dFRleHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1cFZhbHVl
IGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9B
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eUNvbnRyb2xsZXI6OnVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUpOgorICAgICAgICAqIFdlYktpdFRl
c3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChXVFI6OlRlc3RPcHRpb25zOjpkZWZhdWx0cyk6CisK
IDIwMjEtMDktMTQgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4KIAogICAg
ICAgICBSZW5hbWUgUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTIHRvIElOVEVMTElHRU5UX1RSQUNL
SU5HX1BSRVZFTlRJT04KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0
ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKaW5kZXggNmVi
YTE0YTFhNzBjLi40NTY3YzQwN2RjYjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIu
Y3BwCkBAIC0zMiwxMCArMzIsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5j
bHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgiCiAjaW5jbHVkZSAiSlNBY2Nlc3NpYmlsaXR5Q29u
dHJvbGxlci5oIgotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi0jaW5j
bHVkZSA8cGFsL3NwaS9jb2NvYS9BY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oPgotI2luY2x1ZGUg
PHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KLSNlbmRpZgogI2luY2x1ZGUgPFdlYktpdC9X
S0J1bmRsZS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2UuaD4KICNpbmNsdWRlIDxX
ZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgpAQCAtNjUsMTYgKzYxLDYgQEAgdm9pZCBBY2Nl
c3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0SXNvbGF0ZWRUcmVlTW9kZShib29sIGZsYWcpCiAjZW5k
aWYKIH0KIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi12b2lkIEFj
Y2Vzc2liaWxpdHlDb250cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2RlKCkKLXsKLSAgICAv
LyBPdmVycmlkZSB0byBzZXQgaWRlbnRpZmllciB0byBWb2ljZU92ZXIgc28gdGhhdCByZXF1ZXN0
cyBhcmUgaGFuZGxlZCBpbiBpc29sYXRlZCBtb2RlLgotICAgIF9BWFNldENsaWVudElkZW50aWZp
Y2F0aW9uT3ZlcnJpZGUobV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA/IChBWENsaWVu
dFR5cGUpa0FYQ2xpZW50VHlwZVdlYktpdFRlc3RpbmcgOiBrQVhDbGllbnRUeXBlTm9BY3RpdmVS
ZXF1ZXN0Rm91bmQpOwotICAgIF9BWFNTZXRJc29sYXRlZFRyZWVNb2RlKG1fYWNjZXNzaWJpbGl0
eUlzb2xhdGVkVHJlZU1vZGUgPyBBWFNJc29sYXRlZFRyZWVNb2RlTWFpblRocmVhZCA6IEFYU0lz
b2xhdGVkVHJlZU1vZGVPZmYpOwotICAgIG1fdXNlTW9ja0FYVGhyZWFkID0gV0tBY2Nlc3NpYmls
aXR5Q2FuVXNlU2Vjb25kYXJ5QVhUaHJlYWQoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBh
Z2UoKS0+cGFnZSgpKTsKLX0KLSNlbmRpZgotCiB2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVy
OjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0KQogewogICAgIHNldEdsb2Jh
bE9iamVjdFByb3BlcnR5KGNvbnRleHQsICJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIsIHRoaXMp
OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCmluZGV4IDQzNWZiNDBlOGVhOC4uZTlkMGY1
NWNiMGQ3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9J
bmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCkBAIC0xMDMsMTIgKzEwMywx
NCBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkK
ICAgICB2b2lkIHVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUoKTsKLSAgICAKKworI2lmIFBMQVRGT1JN
KENPQ09BKQogICAgIC8vIF9BWFVJRWxlbWVudFVzZVNlY29uZGFyeUFYVGhyZWFkIGFuZCBfQVhV
SUVsZW1lbnRSZXF1ZXN0U2VydmljZWRCeVNlY29uZGFyeUFYVGhyZWFkCiAgICAgLy8gZG8gbm90
IHdvcmsgZm9yIFdlYktpdFRlc3RSdW5uZXIgc2luY2UgdGhpcyBpcyBjYWxsaW5nIGRpcmVjdGx5
IGludG8KICAgICAvLyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkgdmlhIEphdmFTY3JpcHQgd2l0aG91
dCBnb2luZyB0aHJvdWdoIEhJU2VydmljZXMuCiAgICAgLy8gVGh1cyB0byBzaW11bGF0ZSB0aGUg
YmVoYXZpb3Igb2YgSElTZXJ2aWNlcywgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgaXMgc3Bhd25p
bmcgYSBzZWNvbmRhcnkgdGhyZWFkIHRvIHNlcnZpY2UgdGhlIEphdmFTY3JpcHQgcmVxdWVzdHMu
CiAgICAgYm9vbCBtX3VzZU1vY2tBWFRocmVhZCB7IGZhbHNlIH07CisjZW5kaWYKICAgICBib29s
IG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUgeyBmYWxzZSB9OwogICAgIEJpbmFyeVNl
bWFwaG9yZSBtX3NlbWFwaG9yZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcCBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5j
cHAKaW5kZXggMTg5YmE5YTFiOWFmLi5lYTY0MDBiYzcyOGIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmNwcApAQCAtNTUsMTAgKzU1LDE0IEBAIGJvb2wgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6aXNWYWxpZCgpIGNvbnN0CiAgICAgcmV0dXJuIG1fZWxlbWVudDsgICAgICAgICAgICAK
IH0KIAotI2lmICFFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorI2lmICFQTEFU
Rk9STShNQUMpCiBib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSXNvbGF0ZWRPYmplY3Qo
KSBjb25zdAogeworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCisgICAg
cmV0dXJuIHRydWU7CisjZWxzZQogICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgogfQogI2VuZGlm
CiAKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudC5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgKaW5kZXggYjIzZTcxN2Y4NjJhLi4zZTVlMGNl
ZTY5ZmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oCkBAIC00Nyw2ICs0NywxMSBAQCB1
c2luZyBQbGF0Zm9ybVVJRWxlbWVudCA9IGlkOwogI2luY2x1ZGUgPGF0ay9hdGsuaD4KICNpbmNs
dWRlIDx3dGYvZ2xpYi9HUmVmUHRyLmg+CiB0eXBlZGVmIEdSZWZQdHI8QXRrT2JqZWN0PiBQbGF0
Zm9ybVVJRWxlbWVudDsKKyNlbGlmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQor
bmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpOworfQor
dHlwZWRlZiBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkqIFBsYXRmb3JtVUlFbGVt
ZW50OwogI2Vsc2UKIHR5cGVkZWYgdm9pZCogUGxhdGZvcm1VSUVsZW1lbnQ7CiAjZW5kaWYKQEAg
LTcxLDYgKzc2LDggQEAgcHVibGljOgogCiAjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAgaWQgcGxh
dGZvcm1VSUVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1lbnQuZ2V0KCk7IH0KKyNlbGlmIEhBVkUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorICAgIFBsYXRmb3JtVUlFbGVtZW50IHBsYXRm
b3JtVUlFbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50LmdldCgpOyB9CiAjZWxzZQogICAgIFBs
YXRmb3JtVUlFbGVtZW50IHBsYXRmb3JtVUlFbGVtZW50KCkgeyByZXR1cm4gbV9lbGVtZW50OyB9
CiAjZW5kaWYKQEAgLTM4OSw3ICszOTYsNyBAQCBwcml2YXRlOgogICAgIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQoUGxhdGZvcm1VSUVsZW1lbnQpOwogICAgIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQo
Y29uc3QgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCYpOwogCi0jaWYgIVBMQVRGT1JNKENPQ09BKQor
I2lmICFQTEFURk9STShDT0NPQSkgJiYgIVVTRShBVFNQSSkKICAgICBQbGF0Zm9ybVVJRWxlbWVu
dCBtX2VsZW1lbnQ7CiAjZW5kaWYKIApAQCAtNDEzLDYgKzQyMCw4IEBAIHByaXZhdGU6CiAKICNp
ZiBVU0UoQVRLKQogICAgIFJlZlB0cjxBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlcj4g
bV9ub3RpZmljYXRpb25IYW5kbGVyOworI2VsaWYgVVNFKEFUU1BJKQorICAgIFJlZlB0cjxXZWJD
b3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk+IG1fZWxlbWVudDsKICNlbmRpZgogI2VuZGlm
CiB9OwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9h
dGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdGsuY3BwCmluZGV4
IDhjMmFkYWMxOTAwOC4uYzEyNDg4MDU5YjFmIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJBdGsuY3BwCkBAIC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmln
LmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuaCIKIAotI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUu
aCIKQEAgLTE0NCw0ICsxNDQsNCBAQCBib29sIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1v
dmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYg
Ly8gSEFWRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRp
b25IYW5kbGVyQXRrLmNwcAppbmRleCBhMjNlNzg1MTcwNzMuLjc5Zjc3Njg0ZWFiMyAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJp
bGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRr
LmNwcApAQCAtMjAsNyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgiCiAKLSNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eVVJRWxlbWVudC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCkBA
IC0yNzgsNCArMjc4LDQgQEAgYm9vbCBBY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlcjo6
ZGlzY29ubmVjdEFjY2Vzc2liaWxpdHlDYWxsYmFja3MoKQogCiB9IC8vIG5hbWVzcGFjZSBXVFIK
IAotI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lC
SUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5v
dGlmaWNhdGlvbkhhbmRsZXJBdGsuaAppbmRleCBkYTVkOGVjZGRiMDYuLmQyYzc4NDlhOWY1OCAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxl
ckF0ay5oCkBAIC0xOSw3ICsxOSw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgSEFWRShBQ0NF
U1NJQklMSVRZKQorI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgPEphdmFTY3JpcHRDb3JlL0pTT2JqZWN0UmVmLmg+CiAjaW5jbHVkZSA8YXRrL2F0ay5oPgpA
QCAtNTMsNCArNTMsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXVFIKIAotI2VuZGlm
IC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpICYm
IFVTRShBVEspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCmlu
ZGV4IGQzMjkwOTA0YWY3YS4uNjYzZWRlNTJhNDgxIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRrLmNw
cAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50QXRrLmNwcApAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgImNvbmZp
Zy5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKIAotI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNs
dWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZS5oIgpA
QCAtMjI5OSw0ICsyMjk5LDQgQEAgSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnBvcHVwVmFsdWUoKSBjb25zdAogCiB9IC8vIG5hbWVzcGFjZSBXVFIKIAot
I2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwIGIvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlckF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjQw
ZDc0ZjMyMzA3NwotLS0gL2Rldi9udWxsCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJBdHNwaS5jcHAKQEAgLTAs
MCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgor
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXIuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFU
U1BJKQorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKKyNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlUGFnZS5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dL
QnVuZGxlUGFnZVByaXZhdGUuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OnJlc2V0VG9Db25zaXN0ZW50U3RhdGUoKQoreworfQorCitSZWZQdHI8
QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2li
bGVFbGVtZW50QnlJZChKU1N0cmluZ1JlZiBpZCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0
Zm9ybU5hbWUoKQoreworICAgIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBwbGF0Zm9ybU5hbWUo
QWRvcHQsIEpTU3RyaW5nQ3JlYXRlV2l0aFVURjhDU3RyaW5nKCJhdHNwaSIpKTsKKyAgICByZXR1
cm4gcGxhdGZvcm1OYW1lOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjppbmpl
Y3RBY2Nlc3NpYmlsaXR5UHJlZmVyZW5jZShKU1N0cmluZ1JlZiBkb21haW4sIEpTU3RyaW5nUmVm
IGtleSwgSlNTdHJpbmdSZWYgdmFsdWUpCit7Cit9CisKK1JlZjxBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9vdEVsZW1lbnQoKQoreworICAgIFdLQnVu
ZGxlUGFnZVJlZiBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFn
ZSgpOworICAgIGF1dG8qIGVsZW1lbnQgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpBY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkqPihXS0FjY2Vzc2liaWxpdHlSb290T2JqZWN0KHBhZ2UpKTsKKworICAg
IHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjcmVhdGUoZWxlbWVudCk7Cit9CisKK1Jl
ZjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9jdXNl
ZEVsZW1lbnQoKQoreworICAgIFdLQnVuZGxlUGFnZVJlZiBwYWdlID0gSW5qZWN0ZWRCdW5kbGU6
OnNpbmdsZXRvbigpLnBhZ2UoKS0+cGFnZSgpOworICAgIGF1dG8qIGVsZW1lbnQgPSBzdGF0aWNf
Y2FzdDxXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkqPihXS0FjY2Vzc2liaWxpdHlG
b2N1c2VkT2JqZWN0KHBhZ2UpKTsKKworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpjcmVhdGUoZWxlbWVudCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFk
ZE5vdGlmaWNhdGlvbkxpc3RlbmVyKEpTVmFsdWVSZWYgZnVuY3Rpb25DYWxsYmFjaykKK3sKKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVtb3Zl
Tm90aWZpY2F0aW9uTGlzdGVuZXIoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVlTW9kZSgpCit7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdUUgorCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRTUEkpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNw
aS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi44OWZlY2I5OTI1
ZDMKLS0tIC9kZXYvbnVsbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdHNwaS5jcHAKQEAgLTAsMCArMSw4NTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQuaCIKKworI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVQYWdlLmgiCisjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNTdHJpbmdSZWYu
aD4KKyNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9PcGFxdWVKU1N0cmluZy5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmg+CisjaW5jbHVkZSA8V2ViS2l0L1dL
QnVuZGxlRnJhbWUuaD4KKworbmFtZXNwYWNlIFdUUiB7CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoUGxhdGZvcm1VSUVsZW1lbnQgZWxlbWVudCkKKyAg
ICA6IG1fZWxlbWVudChlbGVtZW50KQoreworfQorCitBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KGNvbnN0IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQmIG90aGVy
KQorICAgIDogSlNXcmFwcGFibGUoKQorICAgICwgbV9lbGVtZW50KG90aGVyLm1fZWxlbWVudCkK
K3sKK30KKworQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6fkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQo
KQoreworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXF1YWwoQWNjZXNzaWJp
bGl0eVVJRWxlbWVudCogb3RoZXJFbGVtZW50KQoreworICAgIHJldHVybiBtX2VsZW1lbnQuZ2V0
KCkgPT0gb3RoZXJFbGVtZW50LT5wbGF0Zm9ybVVJRWxlbWVudCgpOworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmdldENoaWxkcmVuKFZlY3RvcjxSZWZQdHI8QWNjZXNzaWJpbGl0
eVVJRWxlbWVudD4gPiYgY2hpbGRyZW4pCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UoVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiA+JiBjaGlsZHJlbiwgdW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkK
K3sKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNoaWxkcmVuQ291bnQoKQorewor
ICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZWxlbWVudEF0UG9pbnQoaW50IHgsIGludCB5KQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRl
eE9mQ2hpbGQoQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogZWxlbWVudCkKK3sKKyAgICByZXR1cm4g
MDsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmNoaWxkQXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmxpbmtlZFVJRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphcmlhT3duc0VsZW1lbnRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQor
eworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUZsb3dUb0VsZW1lbnRBdEluZGV4KHVuc2ln
bmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXJpYUNvbnRyb2xzRWxlbWVu
dEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1Jl
ZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNj
bG9zZWRSb3dBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6cm93QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCit1bnNpZ25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3Rl
ZENoaWxkcmVuQ291bnQoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRSb3dB
dEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGl0bGVV
SUVsZW1lbnQoKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyZW50RWxlbWVudCgpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpkaXNjbG9zZWRCeVJvdygpCit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphdHRyaWJ1dGVzT2ZMaW5rZWRVSUVsZW1lbnRzKCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3Mo
KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQor
CitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlc09mQ2hpbGRyZW4oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWxsQXR0cmlidXRlcygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUoSlNTdHJp
bmdSZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6c3RyaW5nQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bnVtYmVyQXR0cmlidXRlVmFsdWUoSlNTdHJpbmdS
ZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiAwOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudEFycmF5QXR0cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYg
YXR0cmlidXRlKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1ZhbHVlUmVm
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0hlYWRlcnMoKSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCitKU1ZhbHVlUmVmIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVt
bkhlYWRlcnMoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXR0
cmlidXRlVmFsdWUoSlNTdHJpbmdSZWYgYXR0cmlidXRlKSBjb25zdAoreworICAgIHJldHVybiBu
dWxscHRyOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmJvb2xBdHRyaWJ1dGVW
YWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCiti
b29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU2V0dGFibGUoSlNTdHJpbmdS
ZWYgYXR0cmlidXRlKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVN1cHBvcnRlZChKU1N0cmluZ1JlZiBhdHRyaWJ1dGUp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFyYW1ldGVyaXplZEF0dHJpYnV0ZU5hbWVzKCkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGUoKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSgpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xlRGVzY3JpcHRp
b24oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29t
cHV0ZWRSb2xlU3RyaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnRpdGxlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFj
dGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmRlc2NyaXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6Om9yaWVudGF0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJp
bmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKCkKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omxhbmd1YWdlKCkKK3sKKyAgICByZXR1
cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlbHBUZXh0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworZG91
YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OngoKQoreworICAgIHJldHVybiAwOworfQorCitk
b3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisK
K2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3aWR0aCgpCit7CisgICAgcmV0dXJuIDA7
Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQoKQoreworICAgIHJl
dHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xpY2tQb2ludFgo
KQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Y2xpY2tQb2ludFkoKQoreworICAgIHJldHVybiAwOworfQorCitkb3VibGUgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aW50VmFsdWUoKSBjb25zdAoreworICAgIHJldHVybiAwOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWluVmFsdWUoKQoreworICAgIHJldHVybiAwOwor
fQorCitkb3VibGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF4VmFsdWUoKQoreworICAgIHJl
dHVybiAwOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6dmFsdWVEZXNjcmlwdGlvbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0
aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbnNl
cnRpb25Qb2ludExpbmVOdW1iZXIoKQoreworICAgIHJldHVybiAtMTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc1ByZXNzQWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJbmNyZW1lbnRB
Y3Rpb25TdXBwb3J0ZWQoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0RlY3JlbWVudEFjdGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRW5hYmxlZCgp
Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmlzUmVxdWlyZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNTZWxlY3RlZE9wdGlvbkFjdGl2ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
Citib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRXhwYW5kZWQoKSBjb25zdAoreworICAg
IHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0NoZWNr
ZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc0luZGV0ZXJtaW5hdGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsK
K30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhpZXJhcmNoaWNhbExldmVsKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzcGVha0FzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjphcmlhSXNHcmFiYmVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pT
UmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRHJvcEVm
ZmVjdHMoKSBjb25zdAoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZUZvckluZGV4KGlu
dCBpbmRleCkKK3sKKyAgICByZXR1cm4gLTE7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVm
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvckxpbmUoaW50IGxpbmUpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyYW5nZUZvclBvc2l0aW9u
KGludCB4LCBpbnQgeSkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmJvdW5kc0ZvclJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgp
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdG
b3JSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclJh
bmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIEpT
U3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ1JhbmdlSXNNaXNzcGVsbGVkKHVuc2lnbmVkIGxv
Y2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit1bnNp
Z25lZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRDb3VudEZvclNlYXJjaFByZWRp
Y2F0ZShKU0NvbnRleHRSZWYgY29udGV4dCwgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCogc3RhcnRF
bGVtZW50LCBib29sIGlzRGlyZWN0aW9uTmV4dCwgSlNWYWx1ZVJlZiBzZWFyY2hLZXksIEpTU3Ry
aW5nUmVmIHNlYXJjaFRleHQsIGJvb2wgdmlzaWJsZU9ubHksIGJvb2wgaW1tZWRpYXRlRGVzY2Vu
ZGFudHNPbmx5KQoreworICAgIHJldHVybiAwOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9yU2VhcmNoUHJlZGlj
YXRlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBzdGFydEVs
ZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNlYXJjaEtleSwgSlNTdHJp
bmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSwgYm9vbCBpbW1lZGlhdGVEZXNjZW5k
YW50c09ubHkpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3Ry
aW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RUZXh0V2l0aENyaXRlcmlhKEpT
Q29udGV4dFJlZiBjb250ZXh0LCBKU1N0cmluZ1JlZiBhbWJpZ3VpdHlSZXNvbHV0aW9uLCBKU1Zh
bHVlUmVmIHNlYXJjaFN0cmluZ3MsIEpTU3RyaW5nUmVmIHJlcGxhY2VtZW50U3RyaW5nLCBKU1N0
cmluZ1JlZiBhY3Rpdml0eSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVt
bkhlYWRlcnMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAs
IDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXR0cmlidXRlc09mUm93SGVhZGVycygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDb2x1bW5zKCkKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNT
dHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MoKQorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09m
VmlzaWJsZUNlbGxzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkhlYWRlcigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRl
V2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
b3dDb3VudCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojpjb2x1bW5Db3VudCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbmRleEluVGFibGUoKQoreworICAgIHJldHVybiAtMTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0luZGV4UmFu
Z2UoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29s
dW1uSW5kZXhSYW5nZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KHVuc2lnbmVkIGNvbCwgdW5zaWduZWQg
cm93KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhcigpIGNv
bnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp2ZXJ0aWNhbFNjcm9sbGJhcigpIGNvbnN0
Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZFRleHRSYW5nZSgpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0UmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVu
c2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aW5jcmVtZW50KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpkZWNyZW1lbnQoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnNob3dNZW51KCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwcmVzcygp
Cit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZChB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkQ2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4
KSBjb25zdAoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVj
dGlvbkF0SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7Cit9CisKK3ZvaWQgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6Y2xlYXJTZWxlY3RlZENoaWxkcmVuKCkgY29uc3QKK3sKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxp
dHlWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojpkb2N1bWVudEVuY29kaW5nKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdD
cmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVybCgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3Jl
YXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKQor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpy
ZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNGb2N1c2FibGUoKSBjb25zdAoreworICAgIHJl
dHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGFi
bGUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojppc011bHRpU2VsZWN0YWJsZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVmlzaWJsZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
T2ZmU2NyZWVuKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6aXNDb2xsYXBzZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxz
ZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0lnbm9yZWQoKSBjb25zdAor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c1NpbmdsZUxpbmUoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50Ojppc011bHRpTGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhhc1BvcHVwKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dGFrZUZvY3VzKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0YWtlU2Vs
ZWN0aW9uKCkKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxlY3Rp
b24oKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlbW92ZVNlbGVjdGlv
bigpCit7Cit9CisKKy8vIFRleHQgbWFya2VycworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyUmFuZ2U+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmxpbmVUZXh0TWFya2VyUmFuZ2VGb3JU
ZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yRWxlbWVudChBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitp
bnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlTGVuZ3RoKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQoreworICAgIHJldHVybiAwOworfQorCitSZWZQ
dHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXZp
b3VzVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1h
cmtlciogdGV4dE1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJr
ZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiBtYXJrZXJSYW5nZSkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1h
cmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdlLCBKU1N0
cmluZ1JlZiBzZWFyY2hUZXh0KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFy
YWN0ZXJzKDAsIDApOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZT4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2VycyhBY2Nlc3Np
YmlsaXR5VGV4dE1hcmtlciogc3RhcnRNYXJrZXIsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiBl
bmRNYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmls
aXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9y
VGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2Uo
QWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvckJvdW5kcyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwg
aW50IGhlaWdodCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXJG
b3JCb3VuZHMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KGludCB4LCBpbnQgeSkKK3sKKyAg
ICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFjY2Vzc2liaWxpdHlFbGVtZW50Rm9yVGV4dE1hcmtlcihB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogbWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOwor
fQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0
cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZShBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJh
bmdlKikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdS
ZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2Vy
UmFuZ2VXaXRoT3B0aW9ucyhBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiwgYm9vbCkKK3sK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojph
dHRyaWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlQ29udGFpbnNBdHRyaWJ1dGUoSlNTdHJp
bmdSZWYgYXR0cmlidXRlLCBBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjppbmRl
eEZvclRleHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIG1hcmtlcikKK3sKKyAgICBy
ZXR1cm4gLTE7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNUZXh0TWFya2Vy
VmFsaWQoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OnRleHRNYXJrZXJGb3JJbmRleChpbnQgdGV4dEluZGV4KQoreworICAgIHJl
dHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJuIG51bGxw
dHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6ZW5kVGV4dE1hcmtlcigpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRUZXh0TWFya2VyUmFuZ2UoQWNj
ZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSopCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2
b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFrZVZpc2libGUoKQoreworfQor
Cit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvR2xvYmFsUG9pbnQoaW50IHgs
IGludCB5KQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRvTWFr
ZVZpc2libGVXaXRoU3ViRm9jdXMoaW50IHgsIGludCB5LCBpbnQgd2lkdGgsIGludCBoZWlnaHQp
Cit7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzdXBwb3J0ZWRBY3Rpb25zKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNj
cmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUG9zdHNjcmlwdHNEZXNj
cmlwdGlvbigpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRy
PEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXRoUHJlc2NyaXB0c0Rlc2Ny
aXB0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNsYXNzTGlzdCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpjaGFyYWN0ZXJBdE9mZnNldChpbnQgb2Zmc2V0KQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d29yZEF0T2Zmc2V0KGlu
dCBvZmZzZXQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpsaW5lQXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnNlbnRlbmNlQXRPZmZzZXQoaW50IG9mZnNldCkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpyZXBsYWNlVGV4dEluUmFuZ2UoSlNTdHJpbmdSZWYsIGludCwg
aW50KQoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjppbnNlcnRUZXh0KEpTU3RyaW5nUmVmKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnBvcHVwVmFs
dWUoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBX
VFIKKworI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0t
Z2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJNYWMubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVu
ZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQppbmRleCAzMDJkZTQ4ZGFiZDUu
LjE1ZjViMmRkOTFhNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3Rl
ZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJNYWMubW0KKysrIGIvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXJN
YWMubW0KQEAgLTQxLDYgKzQxLDExIEBACiAjaW1wb3J0IDxXZWJLaXQvV0tCdW5kbGVQYWdlLmg+
CiAjaW1wb3J0IDxXZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgogCisjaWYgRU5BQkxFKEFD
Q0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkKKyNpbXBvcnQgPHBhbC9zcGkvY29jb2EvQWNjZXNz
aWJpbGl0eVN1cHBvcnRTUEkuaD4KKyNpbXBvcnQgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEku
aD4KKyNlbmRpZgorCiBuYW1lc3BhY2UgV1RSIHsKIAogYm9vbCBBY2Nlc3NpYmlsaXR5Q29udHJv
bGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNWYWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNr
KQpAQCAtMTI0LDYgKzEyOSwxNiBAQCBKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSgpCiAgICAgcmV0dXJuIFdUUjo6Y3JlYXRlSlNT
dHJpbmcoIm1hYyIpOwogfQogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJF
RSkKK3ZvaWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUo
KQoreworICAgIC8vIE92ZXJyaWRlIHRvIHNldCBpZGVudGlmaWVyIHRvIFZvaWNlT3ZlciBzbyB0
aGF0IHJlcXVlc3RzIGFyZSBoYW5kbGVkIGluIGlzb2xhdGVkIG1vZGUuCisgICAgX0FYU2V0Q2xp
ZW50SWRlbnRpZmljYXRpb25PdmVycmlkZShtX2FjY2Vzc2liaWxpdHlJc29sYXRlZFRyZWVNb2Rl
ID8gKEFYQ2xpZW50VHlwZSlrQVhDbGllbnRUeXBlV2ViS2l0VGVzdGluZyA6IGtBWENsaWVudFR5
cGVOb0FjdGl2ZVJlcXVlc3RGb3VuZCk7CisgICAgX0FYU1NldElzb2xhdGVkVHJlZU1vZGUobV9h
Y2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA/IEFYU0lzb2xhdGVkVHJlZU1vZGVNYWluVGhy
ZWFkIDogQVhTSXNvbGF0ZWRUcmVlTW9kZU9mZik7CisgICAgbV91c2VNb2NrQVhUaHJlYWQgPSBX
S0FjY2Vzc2liaWxpdHlDYW5Vc2VTZWNvbmRhcnlBWFRocmVhZChJbmplY3RlZEJ1bmRsZTo6c2lu
Z2xldG9uKCkucGFnZSgpLT5wYWdlKCkpOworfQorI2VuZGlmCisKIC8vIEFYVGhyZWFkIGltcGxl
bWVudGF0aW9uCiAKIHZvaWQgQVhUaHJlYWQ6OmluaXRpYWxpemVSdW5Mb29wKCkKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNtYWtlCmluZGV4IDZmODM2NmI2M2U0My4uODk2MmU2
NDVlOWE5IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1BsYXRmb3JtR1RLLmNt
YWtlCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UKQEAgLTQw
LDYgKzQwLDkgQEAgbGlzdChBUFBFTkQgV2ViS2l0VGVzdFJ1bm5lckluamVjdGVkQnVuZGxlX1NP
VVJDRVMKICAgICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXJBdGsuY3BwCiAgICAgSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnRBdGsuY3BwCiAKKyAgICBJbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5Q29udHJv
bGxlckF0c3BpLmNwcAorICAgIEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdHNwaS5jcHAKKwogICAgIEluamVjdGVkQnVuZGxlL2d0ay9BY3RpdmF0ZUZvbnRzR3Rr
LmNwcAogICAgIEluamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAKICAgICBJ
bmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVVdGlsaXRpZXMuY3BwCmRpZmYgLS1naXQg
YS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCmluZGV4IDhlMmE3Zjg4OGMwZC4uYTU2MzU2MGUwY2Nh
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcAorKysg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmNwcApAQCAtODgsNiArODgsOSBA
QCBjb25zdCBUZXN0RmVhdHVyZXMmIFRlc3RPcHRpb25zOjpkZWZhdWx0cygpCiAgICAgICAgICAg
ICB7ICJJbnB1dFR5cGVNb250aEVuYWJsZWQiLCB0cnVlIH0sCiAgICAgICAgICAgICB7ICJJbnB1
dFR5cGVUaW1lRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIklucHV0VHlwZVdlZWtF
bmFibGVkIiwgdHJ1ZSB9LAorI2lmIFVTRShBVFNQSSkKKyAgICAgICAgICAgIHsgIklzQWNjZXNz
aWJpbGl0eUlzb2xhdGVkVHJlZUVuYWJsZWQiLCB0cnVlIH0sCisjZW5kaWYKICAgICAgICAgICAg
IHsgIkphdmFTY3JpcHRDYW5BY2Nlc3NDbGlwYm9hcmQiLCB0cnVlIH0sCiAgICAgICAgICAgICB7
ICJKYXZhU2NyaXB0Q2FuT3BlbldpbmRvd3NBdXRvbWF0aWNhbGx5IiwgdHJ1ZSB9LAogICAgICAg
ICAgICAgeyAiTGFyZ2VJbWFnZUFzeW5jRGVjb2RpbmdFbmFibGVkIiwgZmFsc2UgfSwK
</data>
<flag name="commit-queue"
          id="461676"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438326</attachid>
            <date>2021-09-16 01:02:01 -0700</date>
            <delta_ts>2021-09-17 00:49:54 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk-atspi.diff</filename>
            <type>text/plain</type>
            <size>90623</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA3OWRmOTE5ZGQ3MGEuLmZi
YWQ5NWFiMDY5MiAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDIxLTA5LTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24gdG8gZW5h
YmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBZGQgVVNFX0FUU1BJIGJ1aWxkIG9wdGlvbiB0aGF0IGRpc2FibGVzIEFUSyBhbmQgZW5hYmxl
cyBpc29sYXRlZCB0cmVlLgorCisgICAgICAgICogU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21h
a2U6CisKIDIwMjEtMDktMTQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAK
ICAgICAgICAgUmVuYW1lIFJFU09VUkNFX0xPQURfU1RBVElTVElDUyB0byBJTlRFTExJR0VOVF9U
UkFDS0lOR19QUkVWRU5USU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZyBiL1Nv
dXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IGE3MmM2OTQ0Mjc4Ni4uZmRkM2FiMjQ3OTc4IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE0IEBACisyMDIxLTA5LTE2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBBZGQgYSBidWlsZCBvcHRpb24g
dG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBFbmFibGUgaXNvbGF0ZWQgdHJlZSB3aGVuIGJ1aWxkaW5nIHdpdGggQVRTUEkuCisK
KyAgICAgICAgKiBTY3JpcHRzL1ByZWZlcmVuY2VzL1dlYlByZWZlcmVuY2VzLnlhbWw6CisKIDIw
MjEtMDktMTQgIEpvaG4gV2lsYW5kZXIgIDx3aWxhbmRlckBhcHBsZS5jb20+CiAKICAgICAgICAg
UmVuYW1lIFJFU09VUkNFX0xPQURfU1RBVElTVElDUyB0byBJTlRFTExJR0VOVF9UUkFDS0lOR19Q
UkVWRU5USU9OCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2Vi
UHJlZmVyZW5jZXMueWFtbCBiL1NvdXJjZS9XVEYvU2NyaXB0cy9QcmVmZXJlbmNlcy9XZWJQcmVm
ZXJlbmNlcy55YW1sCmluZGV4IDI1YWZiMjUwOGU4Yy4uYmFiYzA5ZWI1OWNhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbAorKysg
Yi9Tb3VyY2UvV1RGL1NjcmlwdHMvUHJlZmVyZW5jZXMvV2ViUHJlZmVyZW5jZXMueWFtbApAQCAt
MTA3OCw2ICsxMDc4LDcgQEAgSXNBY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAg
ICBXZWJLaXRMZWdhY3k6CiAgICAgICBkZWZhdWx0OiBmYWxzZQogICAgIFdlYktpdDoKKyAgICAg
ICJVU0UoQVRTUEkpIjogdHJ1ZQogICAgICAgZGVmYXVsdDogZmFsc2UKICAgICBXZWJDb3JlOgog
ICAgICAgZGVmYXVsdDogZmFsc2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA3MGJkN2VmYzFhNWIuLjM1ODAxNzhl
MDkxNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc2IEBACisyMDIxLTA5LTE2ICBDYXJsb3MgR2Fy
Y2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAgICBbR1RLXVthMTF5XSBB
ZGQgYSBidWlsZCBvcHRpb24gdG8gZW5hYmxlIEFUU1BJCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMzAyNTQKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQgc3R1YnMgZm9yIEFUU1BJIGltcGxlbWVudGF0
aW9uLgorCisgICAgICAgICogUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogU291cmNlc0dU
Sy50eHQ6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJm
YWNlLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQVhPYmplY3RDYWNoZUF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHA6
CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHA6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oOgorICAgICAgICAqIGFj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwOgorICAgICAgICAq
IGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuaDoKKyAgICAgICAg
KiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcDoK
KyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0
aW9uLmg6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUNvbXBvbmVudC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHA6CisgICAgICAgICogYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50Lmg6CisgICAgICAg
ICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4
dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVy
ZmFjZUVkaXRhYmxlVGV4dC5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNwcDoKKyAgICAgICAgKiBhY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQu
Y3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSW1hZ2UuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVJbnRlcmZhY2VJbWFnZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwOgorICAgICAgICAqIGFjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaDoKKyAgICAg
ICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGUuY3Bw
OgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VU
YWJsZS5oOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VUYWJsZUNlbGwuY3BwOgorICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGV4dC5jcHA6CisgICAgICAgICogYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaDoKKyAgICAgICAgKiBhY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oOgor
ICAgICAgICAqIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmNwcDoKKyAg
ICAgICAgKiBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oOgorICAgICAg
ICAqIGFjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpkZXRhY2hXcmFwcGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OkFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6QVhPYmplY3RDYWNoZTo6cGxhdGZvcm1QZXJmb3JtRGVmZXJyZWRDYWNoZVVwZGF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24p
OgorICAgICAgICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6bm9kZVRleHRDaGFuZ2VQbGF0Zm9y
bU5vdGlmaWNhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpBWE9iamVjdENhY2hlOjpmcmFtZUxv
YWRpbmdFdmVudFBsYXRmb3JtTm90aWZpY2F0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkFYT2Jq
ZWN0Q2FjaGU6OnBsYXRmb3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhPYmplY3RDYWNoZTo6aGFuZGxlU2Nyb2xsZWRUb0FuY2hvcik6CisgICAg
ICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6Y3JlYXRl
KToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaTo6QWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpKToKKyAgICAgICAgKFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3Q6
OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5
T2JqZWN0OjphY2Nlc3NpYmlsaXR5SWdub3JlQXR0YWNobWVudCBjb25zdCk6CisgICAgICAgIChX
ZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0OjphY2Nlc3NpYmlsaXR5UGxhdGZvcm1JbmNsdWRl
c09iamVjdCBjb25zdCk6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmls
aXR5T2JqZWN0QXRzcGkuaDogQWRkZWQuCisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBWElzb2xhdGVk
T2JqZWN0OjpjaGlsZHJlbik6CisgICAgICAgICogYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUv
QVhJc29sYXRlZFRyZWUuaDoKKyAgICAgICAgKiBhY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9h
dHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkFYSXNvbGF0ZWRPYmplY3Q6OmluaXRpYWxpemVQbGF0Zm9ybVByb3BlcnRpZXMpOgorICAgICAg
ICAoV2ViQ29yZTo6QVhJc29sYXRlZE9iamVjdDo6YXR0YWNoUGxhdGZvcm1XcmFwcGVyKToKKyAg
ICAgICAgKFdlYkNvcmU6OkFYSXNvbGF0ZWRPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBlcik6
CisgICAgICAgICogZWRpdGluZy9GcmFtZVNlbGVjdGlvbi5oOgorICAgICAgICAqIGVkaXRpbmcv
YXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcDoKKyAgICAgICAgKiBlZGl0aW5nL2F0c3BpL0ZyYW1l
U2VsZWN0aW9uQXRzcGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lU2VsZWN0
aW9uOjpub3RpZnlBY2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKToKKyAgICAgICAgKiBw
YWdlL1NldHRpbmdzLnlhbWw6CisKIDIwMjEtMDktMTUgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8
Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIEFYOiBNb3ZlIHBsYXRmb3JtIHNwZWNpZmlj
IGNvZGUgZm9yIGlzb2xhdGVkIHRyZWUgbW9kZSB0byB0aGUgcGxhdGZvcm0gZmlsZXMKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlIGIvU291cmNlL1dlYkNvcmUv
UGxhdGZvcm1HVEsuY21ha2UKaW5kZXggZGZmOTg1MjJkZDQ1Li5hOGEwMWYwNmViZDYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1BsYXRmb3JtR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1BsYXRmb3JtR1RLLmNtYWtlCkBAIC0yMyw2ICsyMyw3IEBAIGxpc3QoQVBQRU5EIFdlYkNv
cmVfVU5JRklFRF9TT1VSQ0VfTElTVF9GSUxFUwogCiBsaXN0KEFQUEVORCBXZWJDb3JlX1BSSVZB
VEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQkNPUkVfRElSfS9hY2Nlc3NpYmlsaXR5
L2F0ayIKKyAgICAiJHtXRUJDT1JFX0RJUn0vYWNjZXNzaWJpbGl0eS9hdHNwaSIKICAgICAiJHtX
RUJDT1JFX0RJUn0vZWRpdGluZy9hdGsiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3BhZ2UvZ3RrIgog
ICAgICIke1dFQkNPUkVfRElSfS9wbGF0Zm9ybS9hZHdhaXRhIgpAQCAtNTMsNiArNTQsOCBAQCBp
ZiAoVVNFX1dQRV9SRU5ERVJFUikKIGVuZGlmICgpCiAKIGxpc3QoQVBQRU5EIFdlYkNvcmVfUFJJ
VkFURV9GUkFNRVdPUktfSEVBREVSUworICAgIGFjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpLmgKKwogICAgIHBsYXRmb3JtL2Fkd2FpdGEvU2Nyb2xsYmFyVGhlbWVB
ZHdhaXRhLmgKIAogICAgIHBsYXRmb3JtL2dsaWIvQXBwbGljYXRpb25HTGliLmgKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNl
c0dUSy50eHQKaW5kZXggZTIyMmY2NmIxNTZhLi45Nzk5ZmMxMmVmODAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXNHVEsudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXNH
VEsudHh0CkBAIC0zOSw4ICszOSwxNSBAQCBhY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlVGV4dC5jcHAKIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VWYWx1ZS5jcHAKIGFjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGls
LmNwcAogCithY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAK
K2FjY2Vzc2liaWxpdHkvYXRzcGkvQVhPYmplY3RDYWNoZUF0c3BpLmNwcAorCithY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xhdGVkT2JqZWN0QXRzcGkuY3BwCisKIGVkaXRp
bmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcAogCitlZGl0aW5nL2F0c3BpL0ZyYW1lU2VsZWN0
aW9uQXRzcGkuY3BwCisKIGVkaXRpbmcvZ3RrL0VkaXRvckd0ay5jcHAKIGVkaXRpbmcvZ3RrL1dl
YkNvbnRlbnRSZWFkZXJHdGsuY3BwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9BY2Nlc3NpYmlsaXR5T2JqZWN0SW50ZXJmYWNlLmgKaW5kZXggZTA1ZjA5
NWIxMTVhLi44NTZhZWY5YjE2YTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvQWNjZXNzaWJpbGl0eU9iamVjdEludGVyZmFjZS5oCkBAIC00Myw2ICs0
MywxMCBAQAogI2luY2x1ZGUgIkNPTVB0ci5oIgogI2VuZGlmCiAKKyNpZiBVU0UoQVRTUEkpCisj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisjZW5kaWYKKwogI2lmIFVTRShB
VEspCiAjaW5jbHVkZSA8d3RmL2dsaWIvR1JlZlB0ci5oPgogI2VuZGlmCkBAIC01Myw2ICs1Nyw4
IEBAIHR5cGVkZWYgV2ViQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXIgQWNjZXNzaWJpbGl0eU9i
amVjdFdyYXBwZXI7CiB0eXBlZGVmIHN0cnVjdCBfTlNSYW5nZSBOU1JhbmdlOwogdHlwZWRlZiBj
b25zdCBzdHJ1Y3QgX19BWFRleHRNYXJrZXIqIEFYVGV4dE1hcmtlclJlZjsKIHR5cGVkZWYgY29u
c3Qgc3RydWN0IF9fQVhUZXh0TWFya2VyUmFuZ2UqIEFYVGV4dE1hcmtlclJhbmdlUmVmOworI2Vs
aWYgVVNFKEFUU1BJKQordHlwZWRlZiBXZWJDb3JlOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkg
QWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXI7CiAjZWxpZiBVU0UoQVRLKQogdHlwZWRlZiBzdHJ1
Y3QgX1dlYktpdEFjY2Vzc2libGUgV2ViS2l0QWNjZXNzaWJsZTsKIHR5cGVkZWYgc3RydWN0IF9X
ZWJLaXRBY2Nlc3NpYmxlIEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyOwpAQCAtMTUwNyw2ICsx
NTEzLDggQEAgcHJpdmF0ZToKICAgICBSZXRhaW5QdHI8V2ViQWNjZXNzaWJpbGl0eU9iamVjdFdy
YXBwZXI+IG1fd3JhcHBlcjsKICNlbGlmIFBMQVRGT1JNKFdJTikKICAgICBDT01QdHI8QWNjZXNz
aWJpbGl0eU9iamVjdFdyYXBwZXI+IG1fd3JhcHBlcjsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICBS
ZWZQdHI8QWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpPiBtX3dyYXBwZXI7CiAjZWxpZiBVU0UoQVRL
KQogICAgIEdSZWZQdHI8V2ViS2l0QWNjZXNzaWJsZT4gbV93cmFwcGVyOwogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FYT2JqZWN0Q2FjaGVBdGsu
Y3BwCmluZGV4IDdiODcyN2RjMmYyNy4uMmIxYzM0MDIxMWQxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9BWE9iamVjdENhY2hlQXRrLmNwcApAQCAtMjAs
NyArMjAsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUu
aCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdC5oIgogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlSZW5kZXJPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAKaW5k
ZXggODVkMmFkYWVjZDk1Li40MzRiZjUwY2M2ODYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3BwCkBA
IC0yMSw2ICsyMSw4IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eU9iamVjdC5oIgogCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCisK
ICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiSFRNTFNwYW5FbGVtZW50Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyQmxvY2suaCIKQEAgLTMyLDggKzM0LDYgQEAKICNpbmNsdWRlICJX
ZWJLaXRBY2Nlc3NpYmxlLmgiCiAjaW5jbHVkZSA8Z2xpYi1vYmplY3QuaD4KIAotI2lmIEVOQUJM
RShBQ0NFU1NJQklMSVRZKQotCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIHZvaWQgQWNjZXNzaWJp
bGl0eU9iamVjdDo6ZGV0YWNoUGxhdGZvcm1XcmFwcGVyKEFjY2Vzc2liaWxpdHlEZXRhY2htZW50
VHlwZSBkZXRhY2htZW50VHlwZSkKQEAgLTIwNiw0ICsyMDYsNCBAQCB1bnNpZ25lZCBBY2Nlc3Np
YmlsaXR5T2JqZWN0OjpnZXRMZW5ndGhGb3JUZXh0UmFuZ2UoKSBjb25zdAogCiB9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAv
LyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5jcHAKaW5kZXggODZjMzBj
ZGQ2NjYzLi5jOTZjMmMyZmJhYjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGUuY3BwCkBAIC0zMiw3ICszMiw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgogCi0jaWYgRU5B
QkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEsp
CiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eUxp
c3QuaCIKQEAgLTEzODIsNCArMTM4Miw0IEBAIGNvbnN0IGNoYXIqIHdlYmtpdEFjY2Vzc2libGVD
YWNoZUFuZFJldHVybkF0a1Byb3BlcnR5KFdlYktpdEFjY2Vzc2libGUqIGFjY2Vzc2liCiAgICAg
cmV0dXJuICgqcHJvcGVydHlQdHIpLmRhdGEoKTsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NF
U1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZS5oCmluZGV4IDcyZTExNjUxYjdlOS4uZWY5MjM2YTczZTQ4IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZS5oCkBAIC0yMiw3ICsy
Miw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+
CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CkBAIC04NSw0ICs4NSw0IEBAIGJvb2wg
d2Via2l0QWNjZXNzaWJsZUlzRGV0YWNoZWQoV2ViS2l0QWNjZXNzaWJsZSopOwogCiBjb25zdCBj
aGFyKiB3ZWJraXRBY2Nlc3NpYmxlQ2FjaGVBbmRSZXR1cm5BdGtQcm9wZXJ0eShXZWJLaXRBY2Nl
c3NpYmxlKiwgQXRrQ2FjaGVkUHJvcGVydHksIENTdHJpbmcmJik7CiAKLSNlbmRpZiAvLyBFTkFC
TEUoQUNDRVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNF
KEFUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktp
dEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5jcHAKaW5kZXggMDVjYmQ2ZmU3NTFkLi5jNDBm
NzJjMmM5NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVIeXBlcmxpbmsuY3BwCkBAIC0yMSw3ICsyMSw3IEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUh5cGVybGlu
ay5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBWE9iamVjdENhY2hlLmgiCiAjaW5jbHVkZSAi
QWNjZXNzaWJpbGl0eU9iamVjdC5oIgpAQCAtMzEzLDQgKzMxMyw0IEBAIFdlYktpdEFjY2Vzc2li
bGVIeXBlcmxpbmsqIHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtHZXRPckNyZWF0ZShBdGtIeXBl
cmxpbmtJbXBsCiAgICAgcmV0dXJuIGh5cGVybGluazsKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRL
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUh5cGVybGluay5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUh5cGVybGluay5oCmluZGV4IDc5OTZiMGE0NGVjMy4uMTlmYTljMWRjN2Y3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSHlwZXJsaW5rLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUh5cGVybGluay5oCkBAIC0xOSw3ICsxOSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKQEAgLTUyLDQgKzUyLDQg
QEAgV2ViS2l0QWNjZXNzaWJsZUh5cGVybGluayogd2Via2l0QWNjZXNzaWJsZUh5cGVybGlua0dl
dE9yQ3JlYXRlKEF0a0h5cGVybGlua0ltcGwKIAogR19FTkRfREVDTFMKIAotI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmNwcAppbmRleCBjYTIz
YWRmZDcxYTcuLjE0ZWI1Nzk4ODZhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFj
dGlvbi5jcHAKQEAgLTMyLDcgKzMyLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRl
ICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNz
aWJsZUludGVyZmFjZUFjdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5oCmluZGV4IDY3MThiMTQwZTZmYi4uMDJk
NzU5NmQ5MzdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQWN0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUFjdGlvbi5oCkBAIC0yMSwx
MCArMjEsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9h
dGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlQWN0aW9uSW50ZXJmYWNlSW5pdChBdGtBY3Rp
b25JZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8g
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuY3BwCmluZGV4IGI3ZmU1NWJmZTQzOC4uOTg0NTdhYWRmMDU5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlQ29tcG9uZW50LmNwcApAQCAtMzEsNyAr
MzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VDb21wb25lbnQuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0
eU9iamVjdC5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgpAQCAtMTY5LDQgKzE2OSw0IEBAIHZv
aWQgd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRrQ29tcG9uZW50SWZh
Y2UqIGlmYWNlKQogI2VuZGlmCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VDb21wb25lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VDb21wb25lbnQuaAppbmRleCA5NjkyM2M1YTY4YzEuLjdkYWYzNDdj
NDRjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUNvbXBvbmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VDb21wb25lbnQuaApAQCAtMjEs
MTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkp
CisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlIDxhdGsv
YXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZUNvbXBvbmVudEludGVyZmFjZUluaXQoQXRr
Q29tcG9uZW50SWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2Vu
ZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURv
Y3VtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKaW5kZXggMmIzMTNhMGIxYmE0Li43ZjBiNWEwMDU0
NzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNz
aWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZURvY3VtZW50LmNwcApAQCAtMzIs
NyArMzIsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2li
bGVJbnRlcmZhY2VEb2N1bWVudC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYg
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVu
dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZURvY3VtZW50LmgKaW5kZXggYzk0OGQxOTc2ZWJhLi42YmVhYWVkMzk2NjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VEb2N1bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VEb2N1bWVudC5oCkBAIC0yMSwxMCArMjEsMTAgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9p
ZCB3ZWJraXRBY2Nlc3NpYmxlRG9jdW1lbnRJbnRlcmZhY2VJbml0KEF0a0RvY3VtZW50SWZhY2Uq
KTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNj
ZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlRWRpdGFibGVUZXh0LmNwcAppbmRleCBhYzc5MzgzYjg2MDMuLjQ5NGViMDAxODI2YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJp
bGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5jcHAKQEAgLTMx
LDcgKzMxLDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlRWRpdGFibGVUZXh0LmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vz
c2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVk
aXRhYmxlVGV4dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNj
ZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5oCmluZGV4IDU4NDUwZTQxOWVkZC4uZWY1Zjdk
MjY5YmVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJL
aXRBY2Nlc3NpYmxlSW50ZXJmYWNlRWRpdGFibGVUZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUVkaXRhYmxlVGV4dC5o
CkBAIC0yMSwxMCArMjEsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlRWRpdGFibGVUZXh0SW50ZXJm
YWNlSW5pdChBdGtFZGl0YWJsZVRleHRJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3Np
YmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKaW5kZXgg
MmZjNGUxOTQwOGU3Li42YThlZGQ0OTY3MzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcmxpbmtJbXBsLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5jcHAKQEAgLTIwLDcgKzIwLDcgQEAKICNpbmNsdWRlICJj
b25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1w
bC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSHlwZXJsaW5rLmgi
CiAKQEAgLTM0LDQgKzM0LDQgQEAgdm9pZCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJsaW5rSW1wbElu
dGVyZmFjZUluaXQoQXRrSHlwZXJsaW5rSW1wbElmYWNlKiBpZmFjZSkKICAgICBpZmFjZS0+Z2V0
X2h5cGVybGluayA9IHdlYmtpdEFjY2Vzc2libGVIeXBlcmxpbmtJbXBsR2V0SHlwZXJsaW5rOwog
fQogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxFKEFD
Q0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nl
c3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oIGIv
U291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFj
ZUh5cGVybGlua0ltcGwuaAppbmRleCBiYzdlYzE3MDM3NjQuLjIwOTJiZjdjOTcwOSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUh5cGVybGlua0ltcGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5
L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJsaW5rSW1wbC5oCkBAIC0xOSwxMCAr
MTksMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsu
aD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJsaW5rSW1wbEludGVyZmFjZUluaXQoQXRr
SHlwZXJsaW5rSW1wbElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkK
KyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZh
Y2VIeXBlcnRleHQuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5jcHAKaW5kZXggYTc4ZDg4MzJhYTRkLi41MjNi
YWI5NmYwZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VIeXBlcnRleHQuY3Bw
CkBAIC0yMCw3ICsyMCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5T2JqZWN0LmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZS5oIgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJs
ZUludGVyZmFjZUh5cGVydGV4dC5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5oCmluZGV4IDU0OGNkNjA4YTQ2Zi4u
YzNmNjEzODVmNDliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0
ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSHlwZXJ0ZXh0LmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZUh5cGVydGV4dC5o
CkBAIC0xOSwxMCArMTksMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNT
SUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1
ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlSHlwZXJ0ZXh0SW50ZXJmYWNl
SW5pdChBdGtIeXBlcnRleHRJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50
ZXJmYWNlSW1hZ2UuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcAppbmRleCA2MzNjOTcwZDBlNDEuLjI4NjA2MDI3
MTU1ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0
QWNjZXNzaWJsZUludGVyZmFjZUltYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuY3BwCkBAIC0zMiw3ICsz
Miw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZUltYWdlLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2UuaCBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VJbWFn
ZS5oCmluZGV4IDRkOWNlNDA5NzNlNS4uMGQ1ZDhjZWIxY2Q3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlSW1hZ2Uu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxl
SW50ZXJmYWNlSW1hZ2UuaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVT
RShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZUlt
YWdlSW50ZXJmYWNlSW5pdChBdGtJbWFnZUlmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUND
RVNTSUJJTElUWSkKKyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVNlbGVjdGlvbi5jcHAKaW5kZXggNmVhNTcw
ODEzN2I0Li44NmExOTk4Y2JjZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VT
ZWxlY3Rpb24uY3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVNlbGVjdGlvbi5oIgogCi0jaWYgRU5BQkxF
KEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAK
ICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5TGlzdEJveC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRr
L1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaCBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VTZWxlY3Rpb24uaAppbmRl
eCAyYjk5MWQyM2JhOTAuLmM1MzM0YjNhMjMyYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVNlbGVjdGlvbi5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRl
cmZhY2VTZWxlY3Rpb24uaApAQCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0j
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVT
RShBVEspCiAKICNpbmNsdWRlIDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZVNl
bGVjdGlvbkludGVyZmFjZUluaXQoQXRrU2VsZWN0aW9uSWZhY2UqKTsKIAotI2VuZGlmIC8vIEVO
QUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBV
U0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2Vi
S2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKaW5kZXggNjI2Yzcy
Nzc0NTE3Li5lNWVlYzVjNWIxZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxl
LmNwcApAQCAtMzEsNyArMzEsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5oIgogCi0jaWYgRU5BQkxFKEFDQ0VTU0lCSUxJ
VFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJB
Y2Nlc3NpYmlsaXR5TGlzdEJveC5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vz
c2libGVJbnRlcmZhY2VUYWJsZS5oIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsv
V2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlLmgKaW5kZXggNGVmYzJiMjBhMWU3Li5mNDJi
NWNmZDZiMzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUYWJsZS5oCkBAIC0yMSwxMCAr
MjEsMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsu
aD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlVGFibGVJbnRlcmZhY2VJbml0KEF0a1RhYmxlSWZh
Y2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2VuZGlmIC8vIEVOQUJM
RShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGVDZWxsLmNwcAppbmRleCAyODlkM2E3MDE1ZGYuLjg2ZTdhNzU4NjViNSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRhYmxlQ2VsbC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRhYmxlQ2VsbC5jcHAKQEAgLTIwLDcgKzIwLDcg
QEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJXZWJLaXRBY2Nlc3NpYmxlSW50ZXJm
YWNlVGFibGVDZWxsLmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmpl
Y3QuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VGFibGUuaCIKQEAgLTE1Myw0ICsxNTMsNCBA
QCB2b2lkIHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxJbnRlcmZhY2VJbml0KEF0a1RhYmxlQ2Vs
bElmYWNlKiBpZmFjZSkKICAgICBpZmFjZS0+Z2V0X3RhYmxlID0gd2Via2l0QWNjZXNzaWJsZVRh
YmxlQ2VsbEdldFRhYmxlOwogfQogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisj
ZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNl
VGFibGVDZWxsLmggYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nl
c3NpYmxlSW50ZXJmYWNlVGFibGVDZWxsLmgKaW5kZXggMmJiYzczNzMwNWUxLi5mMmQ3MDM0ZTQ1
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFj
Y2Vzc2libGVJbnRlcmZhY2VUYWJsZUNlbGwuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3Np
YmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVGFibGVDZWxsLmgKQEAgLTIxLDEw
ICsyMSwxMCBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQor
I2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8YXRrL2F0
ay5oPgogCiB2b2lkIHdlYmtpdEFjY2Vzc2libGVUYWJsZUNlbGxJbnRlcmZhY2VJbml0KEF0a1Rh
YmxlQ2VsbElmYWNlKik7CiAKLSNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNlbmRp
ZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJ
bnRlcmZhY2VUZXh0LmNwcAppbmRleCAwODFmYThjMzYxYjAuLjBhODZkNDQzZDUwNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVRleHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dl
YktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmNwcApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1
ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIldlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0Lmgi
CiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkg
JiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNsdWRl
ICJEb2N1bWVudC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9h
dGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKaW5kZXggMTEyOTU1
ZjQwZGYwLi5lYzJhYWUzYzI5YjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2li
aWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VUZXh0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVRleHQuaApA
QCAtMjEsMTAgKzIxLDEwIEBACiAKICNwcmFnbWEgb25jZQogCi0jaWYgRU5BQkxFKEFDQ0VTU0lC
SUxJVFkpCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRl
IDxhdGsvYXRrLmg+CiAKIHZvaWQgd2Via2l0QWNjZXNzaWJsZVRleHRJbnRlcmZhY2VJbml0KEF0
a1RleHRJZmFjZSopOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYg
Ly8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVZhbHVlLmNwcAppbmRleCAwNGVlODkwMzlhZmEuLjA4MjU5ZDk5ZjFlNyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUlu
dGVyZmFjZVZhbHVlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9X
ZWJLaXRBY2Nlc3NpYmxlSW50ZXJmYWNlVmFsdWUuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAjaW5j
bHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVl
LmgiCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKICNpbmNs
dWRlICJIVE1MTmFtZXMuaCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxp
dHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oIGIvU291cmNlL1dlYkNvcmUv
YWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZUludGVyZmFjZVZhbHVlLmgKaW5kZXgg
MzY5NmNiMGI4OWRkLi5kMTFkNWU4MWUxOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VWYWx1ZS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVJbnRlcmZhY2VW
YWx1ZS5oCkBAIC0xOSwxMCArMTksMTAgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUo
QUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAog
I2luY2x1ZGUgPGF0ay9hdGsuaD4KIAogdm9pZCB3ZWJraXRBY2Nlc3NpYmxlVmFsdWVJbnRlcmZh
Y2VJbml0KEF0a1ZhbHVlSWZhY2UqKTsKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KQorI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwu
Y3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0
aWwuY3BwCmluZGV4IGQ5ZGNkYTkwOGYyZS4uYjNmODc2ZDI0MzA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9hdGsvV2ViS2l0QWNjZXNzaWJsZVV0aWwu
Y3BwCkBAIC0zMSw3ICszMSw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiV2Vi
S2l0QWNjZXNzaWJsZVV0aWwuaCIKIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2lmIEVO
QUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSAiQVhPYmplY3RDYWNo
ZS5oIgogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3QuaCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCmluZGV4
IGEyZmFjYWY4NTI4ZC4uZjU0OTMwMmZlOTlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0ay9XZWJLaXRBY2Nlc3NpYmxlVXRpbC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2FjY2Vzc2liaWxpdHkvYXRrL1dlYktpdEFjY2Vzc2libGVVdGlsLmgKQEAgLTIxLDcgKzIx
LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgPGF0ay9hdGsuaD4K
ICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KQEAgLTY5LDQgKzY5LDQgQEAgYm9vbCBz
ZWxlY3Rpb25CZWxvbmdzVG9PYmplY3QoV2ViQ29yZTo6QWNjZXNzaWJpbGl0eU9iamVjdCosIFdl
YkNvcmU6OlZpc2libGVTZWwKIAogV2ViQ29yZTo6QVhDb3JlT2JqZWN0KiBvYmplY3RGb2N1c2Vk
QW5kQ2FyZXRPZmZzZXRVbmlnbm9yZWQoV2ViQ29yZTo6QVhDb3JlT2JqZWN0KiwgaW50JiBvZmZz
ZXQpOwogCi0jZW5kaWYgLy8gRU5BQkxFKEFDQ0VTU0lCSUxJVFkpCisjZW5kaWYgLy8gRU5BQkxF
KEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNwaS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi43YzQ0NmQwMzYyODYKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FYT2JqZWN0Q2FjaGVBdHNw
aS5jcHAKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEg
Uy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz
dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVk
IHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcg
d2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3Jp
dGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhPYmplY3RDYWNoZS5oIgorCisj
aWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKKyNpbmNsdWRlICJBY2Nlc3Np
YmlsaXR5T2JqZWN0LmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisj
aW5jbHVkZSAiQWNjZXNzaWJpbGl0eVJlbmRlck9iamVjdC5oIgorI2luY2x1ZGUgIk5vZGUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmRldGFjaFdyYXBw
ZXIoQVhDb3JlT2JqZWN0KiBheE9iamVjdCwgQWNjZXNzaWJpbGl0eURldGFjaG1lbnRUeXBlIGRl
dGFjaG1lbnRUeXBlKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmF0dGFjaFdyYXBwZXIo
QVhDb3JlT2JqZWN0KiBheE9iamVjdCkKK3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpwbGF0
Zm9ybVBlcmZvcm1EZWZlcnJlZENhY2hlVXBkYXRlKCkKK3sKK30KKwordm9pZCBBWE9iamVjdENh
Y2hlOjpwb3N0UGxhdGZvcm1Ob3RpZmljYXRpb24oQVhDb3JlT2JqZWN0KiBjb3JlT2JqZWN0LCBB
WE5vdGlmaWNhdGlvbiBub3RpZmljYXRpb24pCit7Cit9CisKK3ZvaWQgQVhPYmplY3RDYWNoZTo6
bm9kZVRleHRDaGFuZ2VQbGF0Zm9ybU5vdGlmaWNhdGlvbihBY2Nlc3NpYmlsaXR5T2JqZWN0KiBv
YmplY3QsIEFYVGV4dENoYW5nZSB0ZXh0Q2hhbmdlLCB1bnNpZ25lZCBvZmZzZXQsIGNvbnN0IFN0
cmluZyYgdGV4dCkKK3sKK30KKwordm9pZCBBWE9iamVjdENhY2hlOjpmcmFtZUxvYWRpbmdFdmVu
dFBsYXRmb3JtTm90aWZpY2F0aW9uKEFjY2Vzc2liaWxpdHlPYmplY3QqIG9iamVjdCwgQVhMb2Fk
aW5nRXZlbnQgbG9hZGluZ0V2ZW50KQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OnBsYXRm
b3JtSGFuZGxlRm9jdXNlZFVJRWxlbWVudENoYW5nZWQoTm9kZSogb2xkRm9jdXNlZE5vZGUsIE5v
ZGUqIG5ld0ZvY3VzZWROb2RlKQoreworfQorCit2b2lkIEFYT2JqZWN0Q2FjaGU6OmhhbmRsZVNj
cm9sbGVkVG9BbmNob3IoY29uc3QgTm9kZSopCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlP
YmplY3RBdHNwaS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vz
c2liaWxpdHlPYmplY3RBdHNwaS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwLi5kNThiOGIwNjY1NTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5jcHAKQEAgLTAsMCAr
MSw1MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlv
dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRI
T1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisg
KiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRl
dGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJh
cnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpLmgiCisKKyNpZiBF
TkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorI2luY2x1ZGUgIkFjY2Vzc2liaWxp
dHlPYmplY3RJbnRlcmZhY2UuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8QWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpPiBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6OmNyZWF0ZShBWENv
cmVPYmplY3QqIGNvcmVPYmplY3QpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgQWNjZXNz
aWJpbGl0eU9iamVjdEF0c3BpKGNvcmVPYmplY3QpKTsKK30KKworQWNjZXNzaWJpbGl0eU9iamVj
dEF0c3BpOjpBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkoQVhDb3JlT2JqZWN0KikKK3sKK30KKwor
dm9pZCBBY2Nlc3NpYmlsaXR5T2JqZWN0OjpkZXRhY2hQbGF0Zm9ybVdyYXBwZXIoQWNjZXNzaWJp
bGl0eURldGFjaG1lbnRUeXBlIGRldGFjaG1lbnRUeXBlKQoreworfQorCitib29sIEFjY2Vzc2li
aWxpdHlPYmplY3Q6OmFjY2Vzc2liaWxpdHlJZ25vcmVBdHRhY2htZW50KCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK0FjY2Vzc2liaWxpdHlPYmplY3RJbmNsdXNpb24gQWNjZXNz
aWJpbGl0eU9iamVjdDo6YWNjZXNzaWJpbGl0eVBsYXRmb3JtSW5jbHVkZXNPYmplY3QoKSBjb25z
dAoreworICAgIHJldHVybiBBY2Nlc3NpYmlsaXR5T2JqZWN0SW5jbHVzaW9uOjpEZWZhdWx0QmVo
YXZpb3I7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShB
Q0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2F0c3BpL0FjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIGIvU291cmNlL1dl
YkNvcmUvYWNjZXNzaWJpbGl0eS9hdHNwaS9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjNmZjIxNDQ1YTA4NwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvYXRzcGkvQWNjZXNzaWJp
bGl0eU9iamVjdEF0c3BpLmgKQEAgLTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZ
KSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSA8d3RmL0F0b21pY3MuaD4KKyNpbmNsdWRlIDx3dGYv
VGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgQVhD
b3JlT2JqZWN0OworCitjbGFzcyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk6IHB1YmxpYyBUaHJl
YWRTYWZlUmVmQ291bnRlZDxBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk+IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPEFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaT4gY3JlYXRlKEFYQ29yZU9iamVj
dCopOworICAgIH5BY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGkoKSA9IGRlZmF1bHQ7CisKK3ByaXZh
dGU6CisgICAgZXhwbGljaXQgQWNjZXNzaWJpbGl0eU9iamVjdEF0c3BpKEFYQ29yZU9iamVjdCop
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEFDQ0VT
U0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwIGIvU291cmNlL1dlYkNv
cmUvYWNjZXNzaWJpbGl0eS9pc29sYXRlZHRyZWUvQVhJc29sYXRlZE9iamVjdC5jcHAKaW5kZXgg
YjE4MTJmMTEwZmY4Li4wNjhjYjVkNzAzN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRPYmplY3QuY3Bw
CkBAIC01MDgsNiArNTA4LDggQEAgY29uc3QgQVhDb3JlT2JqZWN0OjpBY2Nlc3NpYmlsaXR5Q2hp
bGRyZW5WZWN0b3ImIEFYSXNvbGF0ZWRPYmplY3Q6OmNoaWxkcmVuKGJvb2wKICNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQogICAgIEFTU0VSVChfQVhTSXNvbGF0ZWRUcmVlTW9kZUZ1bmN0aW9u
SXNBdmFpbGFibGUoKSAmJiAoKF9BWFNJc29sYXRlZFRyZWVNb2RlX1NvZnQoKSA9PSBBWFNJc29s
YXRlZFRyZWVNb2RlU2Vjb25kYXJ5VGhyZWFkICYmICFpc01haW5UaHJlYWQoKSkKICAgICAgICAg
fHwgKF9BWFNJc29sYXRlZFRyZWVNb2RlX1NvZnQoKSA9PSBBWFNJc29sYXRlZFRyZWVNb2RlTWFp
blRocmVhZCAmJiBpc01haW5UaHJlYWQoKSkpKTsKKyNlbGlmIFVTRShBVFNQSSkKKyAgICBBU1NF
UlQoIWlzTWFpblRocmVhZCgpKTsKICNlbmRpZgogICAgIHVwZGF0ZUJhY2tpbmdTdG9yZSgpOwog
ICAgIG1fY2hpbGRyZW4uY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2FjY2Vz
c2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmggYi9Tb3VyY2UvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCmluZGV4IDdjMzQ2OTY3
OTdhYi4uY2Y0Mjg2MjM5ZjY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5L2lzb2xhdGVkdHJlZS9BWElzb2xhdGVkVHJlZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Fj
Y2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL0FYSXNvbGF0ZWRUcmVlLmgKQEAgLTM0Myw3ICszNDMs
MTEgQEAgcHVibGljOgogCiAgICAgc3RydWN0IE5vZGVDaGFuZ2UgewogICAgICAgICBSZWY8QVhJ
c29sYXRlZE9iamVjdD4gaXNvbGF0ZWRPYmplY3Q7CisjaWYgUExBVEZPUk0oQ09DT0EpCiAgICAg
ICAgIFJldGFpblB0cjxBY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlcj4gd3JhcHBlcjsKKyNlbGlm
IFVTRShBVFNQSSkKKyAgICAgICAgUmVmUHRyPEFjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVyPiB3
cmFwcGVyOworI2VuZGlmCiAgICAgfTsKIAogICAgIHZvaWQgZ2VuZXJhdGVTdWJ0cmVlKEFYQ29y
ZU9iamVjdCYsIEFYQ29yZU9iamVjdCosIGJvb2wgYXR0YWNoV3JhcHBlcik7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2lzb2xhdGVkdHJlZS9hdHNwaS9BWElzb2xh
dGVkT2JqZWN0QXRzcGkuY3BwIGIvU291cmNlL1dlYkNvcmUvYWNjZXNzaWJpbGl0eS9pc29sYXRl
ZHRyZWUvYXRzcGkvQVhJc29sYXRlZE9iamVjdEF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjlkM2RkMGMyNDc5MwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkvaXNvbGF0ZWR0cmVlL2F0c3BpL0FYSXNvbGF0ZWRP
YmplY3RBdHNwaS5jcHAKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MSBJZ2FsaWEgUy5MLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hl
ZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBv
ZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxs
IGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1
YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJl
Y2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQor
ICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElm
IG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUx
IEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEs
IFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQVhJc29sYXRlZE9i
amVjdC5oIgorCisjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURfVFJFRSkgJiYgVVNF
KEFUU1BJKQorI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaS5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3ZvaWQgQVhJc29sYXRlZE9iamVjdDo6aW5pdGlhbGl6ZVBsYXRmb3Jt
UHJvcGVydGllcyhjb25zdCBBWENvcmVPYmplY3QmLCBib29sKQoreworfQorCit2b2lkIEFYSXNv
bGF0ZWRPYmplY3Q6OmF0dGFjaFBsYXRmb3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5T2JqZWN0V3Jh
cHBlciogd3JhcHBlcikKK3sKKyAgICBzZXRXcmFwcGVyKHdyYXBwZXIpOworfQorCit2b2lkIEFY
SXNvbGF0ZWRPYmplY3Q6OmRldGFjaFBsYXRmb3JtV3JhcHBlcihBY2Nlc3NpYmlsaXR5RGV0YWNo
bWVudFR5cGUgZGV0YWNobWVudFR5cGUpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpICYmIFVTRShB
VFNQSSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24u
aCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rpb24uaAppbmRleCBiNGMxMDk5
NTcyMDAuLjRjYmY1YTMwOTE1NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZWRpdGluZy9G
cmFtZVNlbGVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvRnJhbWVTZWxlY3Rp
b24uaApAQCAtMzc1LDcgKzM3NSw3IEBAIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpjbGVh
clR5cGluZ1N0eWxlKCkKICAgICBtX3R5cGluZ1N0eWxlID0gbnVsbHB0cjsKIH0KIAotI2lmICEo
RU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFUSykpKQor
I2lmICEoRU5BQkxFKEFDQ0VTU0lCSUxJVFkpICYmIChQTEFURk9STShDT0NPQSkgfHwgVVNFKEFU
SykgfHwgVVNFKEFUU1BJKSkpCiAKIGlubGluZSB2b2lkIEZyYW1lU2VsZWN0aW9uOjpub3RpZnlB
Y2Nlc3NpYmlsaXR5Rm9yU2VsZWN0aW9uQ2hhbmdlKGNvbnN0IEFYVGV4dFN0YXRlQ2hhbmdlSW50
ZW50JikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2Vs
ZWN0aW9uQXRrLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9u
QXRrLmNwcAppbmRleCA5NzM0YjY4YTRmNjUuLmQyNjE0OWY2NWIzYiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9hdGsvRnJhbWVTZWxlY3Rpb25BdGsuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvYXRrL0ZyYW1lU2VsZWN0aW9uQXRrLmNwcApAQCAtMjAsNyArMjAs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCiAK
LSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYg
VVNFKEFUSykKIAogI2luY2x1ZGUgIkFYT2JqZWN0Q2FjaGUuaCIKICNpbmNsdWRlICJEb2N1bWVu
dC5oIgpAQCAtMTE2LDQgKzExNiw0IEBAIHZvaWQgRnJhbWVTZWxlY3Rpb246Om5vdGlmeUFjY2Vz
c2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVDaGFuCiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAotI2VuZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKQorI2Vu
ZGlmIC8vIEVOQUJMRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvZWRpdGluZy9hdHNwaS9GcmFtZVNlbGVjdGlvbkF0c3BpLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2VkaXRpbmcvYXRzcGkvRnJhbWVTZWxlY3Rpb25BdHNwaS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40OTlmZDE5ODQyYzIKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9lZGl0aW5nL2F0c3BpL0ZyYW1lU2VsZWN0aW9uQXRzcGku
Y3BwCkBAIC0wLDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgSWdhbGlhIFMu
TC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkZyYW1lU2VsZWN0aW9uLmgiCisKKyNp
ZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQorCisjaW5jbHVkZSAiQVhPYmpl
Y3RDYWNoZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgRnJhbWVTZWxlY3Rpb246
Om5vdGlmeUFjY2Vzc2liaWxpdHlGb3JTZWxlY3Rpb25DaGFuZ2UoY29uc3QgQVhUZXh0U3RhdGVD
aGFuZ2VJbnRlbnQmKQoreworICAgIGlmICghQVhPYmplY3RDYWNoZTo6YWNjZXNzaWJpbGl0eUVu
YWJsZWQoKSkKKyAgICAgICAgcmV0dXJuOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUU1BJKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy55YW1sIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy55YW1sCmluZGV4IDU2NDNmZjhmZmZhNy4uNjJjY2MzYjM2MTJhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLnlhbWwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy55YW1sCkBAIC0yNjksNiArMjY5LDcgQEAgSXNBY2Nlc3NpYmlsaXR5
SXNvbGF0ZWRUcmVlRW5hYmxlZDoKICAgdHlwZTogYm9vbAogICBkZWZhdWx0VmFsdWU6CiAgICAg
V2ViQ29yZToKKyAgICAgIFVTRShBVFNQSSk6IHRydWUKICAgICAgIGRlZmF1bHQ6IGZhbHNlCiAK
IElzUGVyQWN0aXZpdHlTdGF0ZUNQVVVzYWdlTWVhc3VyZW1lbnRFbmFibGVkOgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBmNmMwN2RhNTg0ZjUuLmMxMDIzZGQ0ZWRkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAyMS0wOS0xNiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisK
KyAgICAgICAgW0dUS11bYTExeV0gQWRkIGEgYnVpbGQgb3B0aW9uIHRvIGVuYWJsZSBBVFNQSQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMwMjU0CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpwbGF0Zm9ybUluaXRpYWxpemUpOiBBZGQgQVRLIGlmZGVmLgorICAgICAgICAqIFdlYlByb2Nl
c3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vz
c01haW4pOiBEaXNhYmxlIEFUSy9HVEsgYWNjZXNzaWJpbGl0eSBzdXBwb3J0IGluIHRoZSBXZWJQ
cm9jZXNzIHdoZW4gdXNpbmcgQVRTUEkuCisKIDIwMjEtMDktMTUgIFRpbSBIb3J0b24gIDx0aW1v
dGh5X2hvcnRvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVtb3ZlIHRoZSAiUmVwbGFjZSBXZWJL
aXRBZGRpdGlvbnMgaW4gRnJhbWV3b3JrIEhlYWRlcnMiIGJ1aWxkIHBoYXNlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKaW5kZXgg
ZWMwNzlmN2I2ZDBlLi5jMDUxNGMwZGM4YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKQEAgLTU2LDcgKzU2LDcgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIHZvaWQgV2ViUGFnZTo6cGxhdGZvcm1Jbml0aWFsaXpl
KCkKIHsKLSNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWSkKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElU
WSkgJiYgVVNFKEFUSykKICAgICAvLyBDcmVhdGUgdGhlIGFjY2Vzc2libGUgb2JqZWN0ICh0aGUg
cGx1ZykgdGhhdCB3aWxsIHNlcnZlIGFzIHRoZQogICAgIC8vIGVudHJ5IHBvaW50IHRvIHRoZSBX
ZWIgcHJvY2VzcywgYW5kIHNlbmQgYSBtZXNzYWdlIHRvIHRoZSBVSQogICAgIC8vIHByb2Nlc3Mg
dG8gY29ubmVjdCB0aGUgdHdvIHdvcmxkcyB0aHJvdWdoIHRoZSBhY2Nlc3NpYmlsaXR5CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNw
cCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwCmlu
ZGV4IDM2NDNlZTk1OWU1ZS4uZWVhZWFiZGY4NDY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcApAQCAtNzEsNiArNzEsMTUgQEAg
cHVibGljOgogCiBpbnQgV2ViUHJvY2Vzc01haW4oaW50IGFyZ2MsIGNoYXIqKiBhcmd2KQogewor
I2lmIFVTRShBVFNQSSkKKyAgICAvLyBEaXNhYmxlIEFUSy9HVEsgYWNjZXNzaWJpbGl0eSBzdXBw
b3J0IGluIHRoZSBXZWJQcm9jZXNzLgorI2lmIFVTRShHVEs0KQorICAgIGdfc2V0ZW52KCJHVEtf
QTExWSIsICJub25lIiwgVFJVRSk7CisjZWxzZQorICAgIGdfc2V0ZW52KCJOT19BVF9CUklER0Ui
LCAiMSIsIFRSVUUpOworI2VuZGlmCisjZW5kaWYKKwogICAgIC8vIElnbm9yZSB0aGUgR1RLX1RI
RU1FIGVudmlyb25tZW50IHZhcmlhYmxlLCB0aGUgdGhlbWUgaXMgYWx3YXlzIHNldCBieSB0aGUg
VUkgcHJvY2VzcyBub3cuCiAgICAgLy8gVGhpcyBjYWxsIG5lZWRzIHRvIGhhcHBlbiBiZWZvcmUg
YW55IHRocmVhZHMgYmVnaW4gZXhlY3V0aW9uCiAgICAgdW5zZXRlbnYoIkdUS19USEVNRSIpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2Uv
T3B0aW9uc0dUSy5jbWFrZQppbmRleCA1ZTg1MDFhNjAwMGEuLjY1NDc3MmJiNDhmNCAxMDA2NDQK
LS0tIGEvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09w
dGlvbnNHVEsuY21ha2UKQEAgLTMwLDcgKzMwLDYgQEAgZmluZF9wYWNrYWdlKE9wZW5HTEVTMikK
IAogaW5jbHVkZShHU3RyZWFtZXJEZWZpbml0aW9ucykKIAotU0VUX0FORF9FWFBPU0VfVE9fQlVJ
TEQoVVNFX0FUSyBUUlVFKQogU0VUX0FORF9FWFBPU0VfVE9fQlVJTEQoVVNFX0NBSVJPIFRSVUUp
CiBTRVRfQU5EX0VYUE9TRV9UT19CVUlMRChVU0VfWERHTUlNRSBUUlVFKQogU0VUX0FORF9FWFBP
U0VfVE9fQlVJTEQoVVNFX0dDUllQVCBUUlVFKQpAQCAtNzYsNiArNzUsNyBAQCBXRUJLSVRfT1BU
SU9OX0RFRklORShVU0VfV1BFX1JFTkRFUkVSICJXaGV0aGVyIHRvIGVuYWJsZSBXUEUgcmVuZGVy
aW5nIiBQVUJMSUMgTwogIyBQcml2YXRlIG9wdGlvbnMgc3BlY2lmaWMgdG8gdGhlIEdUSyBwb3J0
LiBDaGFuZ2luZyB0aGVzZSBvcHRpb25zIGlzCiAjIGNvbXBsZXRlbHkgdW5zdXBwb3J0ZWQuIFRo
ZXkgYXJlIGludGVuZGVkIGZvciB1c2Ugb25seSBieSBXZWJLaXQgZGV2ZWxvcGVycy4KIFdFQktJ
VF9PUFRJT05fREVGSU5FKFVTRV9BTkdMRV9XRUJHTCAiV2hldGhlciB0byB1c2UgQU5HTEUgYXMg
V2ViR0wgYmFja2VuZC4iIFBSSVZBVEUgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX0FU
U1BJICJXaGV0aGVyIHRvIHVzZSB0aGUgQXRzcGkgYTExeSBpbXBsZW1lbnRhdGlvbiBpbnN0ZWFk
IG9mIEFUSy4iIFBSSVZBVEUgT0ZGKQogCiBXRUJLSVRfT1BUSU9OX0RFUEVORChFTkFCTEVfM0Rf
VFJBTlNGT1JNUyBVU0VfT1BFTkdMX09SX0VTKQogV0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxF
X0FTWU5DX1NDUk9MTElORyBVU0VfT1BFTkdMX09SX0VTKQpAQCAtMjY3LDYgKzI2NywxMiBAQCBp
ZiAoTk9UIEVYSVNUUyAiJHtUT09MU19ESVJ9L2dsaWIvYXBwbHktYnVpbGQtcmV2aXNpb24tdG8t
ZmlsZXMucHkiKQogICAgIHNldChCVUlMRF9SRVZJU0lPTiAidGFyYmFsbCIpCiBlbmRpZiAoKQog
CitpZiAoVVNFX0FUU1BJKQorICAgIFNFVF9BTkRfRVhQT1NFX1RPX0JVSUxEKEVOQUJMRV9BQ0NF
U1NJQklMSVRZX0lTT0xBVEVEX1RSRUUgVFJVRSkKK2Vsc2UgKCkKKyAgICBTRVRfQU5EX0VYUE9T
RV9UT19CVUlMRChVU0VfQVRLIFRSVUUpCitlbmRpZiAoKQorCiBTRVRfQU5EX0VYUE9TRV9UT19C
VUlMRChIQVZFX0dUS19VTklYX1BSSU5USU5HICR7R1RLX1VOSVhfUFJJTlRfRk9VTkR9KQogU0VU
X0FORF9FWFBPU0VfVE9fQlVJTEQoSEFWRV9PU19EQVJLX01PREVfU1VQUE9SVCAxKQogCmRpZmYg
LS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZmE3Y2QxYzA0
YzY1Li5lZTE1OGIxMjc4ZmYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29s
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMDMgQEAKKzIwMjEtMDktMTYgIENhcmxvcyBHYXJjaWEg
Q2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAgIFtHVEtdW2ExMXldIEFkZCBh
IGJ1aWxkIG9wdGlvbiB0byBlbmFibGUgQVRTUEkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTIzMDI1NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCBzdHVicyBmb3IgV1RSIGFjY2Vzc2liaWxpdHkgaW1w
bGVtZW50YXRpb24uCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVy
L0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmg6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmNwcDoK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJc29sYXRlZE9iamVjdCBj
b25zdCk6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Lmg6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnBsYXRmb3JtVUlFbGVtZW50KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHA6CisgICAgICAgICogV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlv
bkhhbmRsZXJBdGsuY3BwOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvYXRrL0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmg6CisgICAgICAgICog
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHA6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNw
aS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcDogQWRkZWQuCisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZXNldFRvQ29uc2lzdGVudFN0YXRlKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmFjY2Vzc2libGVFbGVtZW50QnlJZCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpwbGF0Zm9ybU5hbWUpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6aW5qZWN0QWNjZXNzaWJpbGl0
eVByZWZlcmVuY2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cm9v
dEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6Zm9jdXNl
ZEVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90
aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5Q29udHJvbGxl
cjo6cmVtb3ZlTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVlTW9kZSk6CisgICAgICAgICogV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50QXRz
cGkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6On5BY2Nlc3NpYmlsaXR5VUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6aXNFcXVhbCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmdldENoaWxkcmVuKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
Z2V0Q2hpbGRyZW5XaXRoUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpjaGlsZHJlbkNvdW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6ZWxlbWVudEF0UG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjppbmRleE9mQ2hpbGQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
aGlsZEF0SW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5r
ZWRVSUVsZW1lbnRBdEluZGV4KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6YXJpYU93bnNFbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmFyaWFGbG93VG9FbGVtZW50QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFDb250cm9sc0VsZW1lbnRBdEluZGV4KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGlzY2xvc2VkUm93QXRJbmRleCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvd0F0SW5kZXgpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZENoaWxkQXRJbmRleCBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkQ2hpbGRyZW5D
b3VudCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVj
dGVkUm93QXRJbmRleCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRp
dGxlVUlFbGVtZW50KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGFy
ZW50RWxlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Ns
b3NlZEJ5Um93KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmli
dXRlc09mTGlua2VkVUlFbGVtZW50cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkRvY3VtZW50TGlua3MpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZDaGlsZHJlbik6CisgICAgICAgIChXVFI6OkFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFsbEF0dHJpYnV0ZXMpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdEZXNjcmlwdGlvbk9mQXR0cmlidXRlVmFsdWUpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdHJpbmdBdHRyaWJ1dGVWYWx1
ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om51bWJlckF0dHJpYnV0
ZVZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50
QXJyYXlBdHRyaWJ1dGVWYWx1ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OnJvd0hlYWRlcnMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50Ojpjb2x1bW5IZWFkZXJzIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXR0cmlidXRlVmFsdWUgY29uc3QpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpib29sQXR0cmlidXRlVmFsdWUpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0F0dHJpYnV0ZVNldHRhYmxlKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTdXBwb3J0ZWQp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJhbWV0ZXJpemVkQXR0
cmlidXRlTmFtZXMpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb2xl
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3Vicm9sZSk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlwdGlvbik6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbXB1dGVkUm9sZVN0cmluZyk6Cisg
ICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRpdGxlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZGVzY3JpcHRpb24pOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpvcmllbnRhdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ1ZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpoZWxwVGV4dCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OngpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp5
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6d2lkdGgpOgorICAgICAg
ICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoZWlnaHQpOgorICAgICAgICAoV1RSOjpB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNsaWNrUG9pbnRZKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aW50VmFsdWUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjptaW5WYWx1ZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6Om1heFZhbHVlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
dmFsdWVEZXNjcmlwdGlvbik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Omluc2VydGlvblBvaW50TGluZU51bWJlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFjdGlvblN1cHBvcnRlZCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNSZXF1aXJlZCBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNlZCBjb25zdCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0ZWQgY29uc3QpOgorICAg
ICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1NlbGVjdGVkT3B0aW9uQWN0aXZl
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFeHBhbmRl
ZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ2hlY2tl
ZCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSW5kZXRl
cm1pbmF0ZSBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omhp
ZXJhcmNoaWNhbExldmVsIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6c3BlYWtBcyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFy
aWFJc0dyYWJiZWQgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphcmlhRHJvcEVmZmVjdHMgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpsaW5lRm9ySW5kZXgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpyYW5nZUZvckxpbmUpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpyYW5nZUZvclBvc2l0aW9uKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Ym91bmRzRm9yUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjpzdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmF0dHJpYnV0ZWRTdHJpbmdGb3JSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdSYW5nZUlzTWlzc3BlbGxlZCk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudENvdW50Rm9yU2VhcmNoUHJlZGlj
YXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dWlFbGVtZW50Rm9y
U2VhcmNoUHJlZGljYXRlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c2VsZWN0VGV4dFdpdGhDcml0ZXJpYSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbkhlYWRlcnMpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1ucyk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZlJvd3MpOgorICAgICAgICAo
V1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZWaXNpYmxlQ2VsbHMpOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZIZWFkZXIp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpyb3dDb3VudCk6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkNvdW50KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aW5kZXhJblRhYmxlKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5nZSk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNvbHVtbkluZGV4UmFuZ2UpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjZWxsRm9yQ29sdW1uQW5kUm93KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aG9yaXpvbnRhbFNjcm9sbGJhciBjb25zdCk6
CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2FsU2Nyb2xsYmFy
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2VsZWN0ZWRU
ZXh0UmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxl
Y3RlZFRleHRSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlu
Y3JlbWVudCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRlY3JlbWVu
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNob3dNZW51KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJlc3MpOgorICAgICAgICAoV1RS
OjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkIGNvbnN0KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXgg
Y29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxl
Y3Rpb25BdEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6Y2xlYXJTZWxlY3RlZENoaWxkcmVuIGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eVZhbHVlIGNvbnN0KToKKyAgICAgICAgKFdUUjo6
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRFbmNvZGluZyk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRvY3VtZW50VVJJKToKKyAgICAgICAgKFdUUjo6QWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6dXJsKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcik6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNhYmxlIGNvbnN0KToKKyAgICAgICAg
KFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTZWxlY3RhYmxlIGNvbnN0KToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aVNlbGVjdGFibGUgY29uc3Qp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1Zpc2libGUgY29uc3Qp
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc09mZlNjcmVlbiBjb25z
dCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ29sbGFwc2VkIGNv
bnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJZ25vcmVkIGNv
bnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNTaW5nbGVMaW5l
IGNvbnN0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNNdWx0aUxp
bmUgY29uc3QpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpoYXNQb3B1
cCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VGb2N1
cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VTZWxlY3Rpb24p
OgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphZGRTZWxlY3Rpb24pOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpyZW1vdmVTZWxlY3Rpb24pOgor
ICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lVGV4dE1hcmtlclJhbmdl
Rm9yVGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRl
eHRNYXJrZXJSYW5nZUZvckVsZW1lbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VMZW5ndGgpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpwcmV2aW91c1RleHRNYXJrZXIpOgorICAgICAgICAoV1RSOjpBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjpuZXh0VGV4dE1hcmtlcik6CisgICAgICAgIChXVFI6OkFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJlY3RzRm9yVGV4dE1hcmtlclJhbmdlKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlclJhbmdlRm9yTWFya2Vy
cyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtl
ckZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmVuZFRleHRNYXJrZXJGb3JUZXh0TWFya2VyUmFuZ2UpOgorICAgICAgICAoV1RSOjpBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAgICAgICAgKFdU
Ujo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyRm9yQm91bmRzKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvclBvaW50KToK
KyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1l
bnRGb3JUZXh0TWFya2VyKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJSYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VXaXRo
T3B0aW9ucyk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0
ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0ZSk6CisgICAgICAgIChX
VFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4Rm9yVGV4dE1hcmtlcik6CisgICAgICAg
IChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzVGV4dE1hcmtlclZhbGlkKToKKyAgICAg
ICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvckluZGV4KToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyKToKKyAg
ICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlcik6CisgICAg
ICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNldFNlbGVjdGVkVGV4dE1hcmtlclJh
bmdlKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9NYWtl
VmlzaWJsZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNjcm9sbFRv
R2xvYmFsUG9pbnQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzY3Jv
bGxUb01ha2VWaXNpYmxlV2l0aFN1YkZvY3VzKToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6c3VwcG9ydGVkQWN0aW9ucyBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnBhdGhEZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6
OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2NyaXB0c0Rlc2NyaXB0aW9uIGNvbnN0
KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bWF0aFByZXNjcmlwdHNE
ZXNjcmlwdGlvbiBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNsYXNzTGlzdCBjb25zdCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmNoYXJhY3RlckF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dDo6d29yZEF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
bGluZUF0T2Zmc2V0KToKKyAgICAgICAgKFdUUjo6QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Vu
dGVuY2VBdE9mZnNldCk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJl
cGxhY2VUZXh0SW5SYW5nZSk6CisgICAgICAgIChXVFI6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
Omluc2VydFRleHQpOgorICAgICAgICAoV1RSOjpBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpwb3B1
cFZhbHVlIGNvbnN0KToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxl
L21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbToKKyAgICAgICAgKFdUUjo6QWNjZXNz
aWJpbGl0eUNvbnRyb2xsZXI6OnVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUpOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2U6CisgICAgICAgICogV2ViS2l0VGVzdFJ1
bm5lci9UZXN0T3B0aW9ucy5jcHA6CisgICAgICAgIChXVFI6OlRlc3RPcHRpb25zOjpkZWZhdWx0
cyk6CisKIDIwMjEtMDktMTQgIERvbiBPbG1zdGVhZCAgPGRvbi5vbG1zdGVhZEBzb255LmNvbT4K
IAogICAgICAgICBSZW5hbWUgUkVTT1VSQ0VfTE9BRF9TVEFUSVNUSUNTIHRvIElOVEVMTElHRU5U
X1RSQUNLSU5HX1BSRVZFTlRJT04KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0
VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5jcHAKaW5k
ZXggNmViYTE0YTFhNzBjLi40NTY3YzQwN2RjYjggMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQWNjZXNzaWJpbGl0eUNvbnRy
b2xsZXIuY3BwCkBAIC0zMiwxMCArMzIsNiBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgiCiAjaW5jbHVkZSAiSlNBY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5oIgotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUp
Ci0jaW5jbHVkZSA8cGFsL3NwaS9jb2NvYS9BY2Nlc3NpYmlsaXR5U3VwcG9ydFNQSS5oPgotI2lu
Y2x1ZGUgPHBhbC9zcGkvbWFjL0hJU2VydmljZXNTUEkuaD4KLSNlbmRpZgogI2luY2x1ZGUgPFdl
YktpdC9XS0J1bmRsZS5oPgogI2luY2x1ZGUgPFdlYktpdC9XS0J1bmRsZVBhZ2UuaD4KICNpbmNs
dWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgpAQCAtNjUsMTYgKzYxLDYgQEAgdm9p
ZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6c2V0SXNvbGF0ZWRUcmVlTW9kZShib29sIGZsYWcp
CiAjZW5kaWYKIH0KIAotI2lmIEVOQUJMRShBQ0NFU1NJQklMSVRZX0lTT0xBVEVEX1RSRUUpCi12
b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjp1cGRhdGVJc29sYXRlZFRyZWVNb2RlKCkKLXsK
LSAgICAvLyBPdmVycmlkZSB0byBzZXQgaWRlbnRpZmllciB0byBWb2ljZU92ZXIgc28gdGhhdCBy
ZXF1ZXN0cyBhcmUgaGFuZGxlZCBpbiBpc29sYXRlZCBtb2RlLgotICAgIF9BWFNldENsaWVudElk
ZW50aWZpY2F0aW9uT3ZlcnJpZGUobV9hY2Nlc3NpYmlsaXR5SXNvbGF0ZWRUcmVlTW9kZSA/IChB
WENsaWVudFR5cGUpa0FYQ2xpZW50VHlwZVdlYktpdFRlc3RpbmcgOiBrQVhDbGllbnRUeXBlTm9B
Y3RpdmVSZXF1ZXN0Rm91bmQpOwotICAgIF9BWFNTZXRJc29sYXRlZFRyZWVNb2RlKG1fYWNjZXNz
aWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUgPyBBWFNJc29sYXRlZFRyZWVNb2RlTWFpblRocmVhZCA6
IEFYU0lzb2xhdGVkVHJlZU1vZGVPZmYpOwotICAgIG1fdXNlTW9ja0FYVGhyZWFkID0gV0tBY2Nl
c3NpYmlsaXR5Q2FuVXNlU2Vjb25kYXJ5QVhUaHJlYWQoSW5qZWN0ZWRCdW5kbGU6OnNpbmdsZXRv
bigpLnBhZ2UoKS0+cGFnZSgpKTsKLX0KLSNlbmRpZgotCiB2b2lkIEFjY2Vzc2liaWxpdHlDb250
cm9sbGVyOjptYWtlV2luZG93T2JqZWN0KEpTQ29udGV4dFJlZiBjb250ZXh0KQogewogICAgIHNl
dEdsb2JhbE9iamVjdFByb3BlcnR5KGNvbnRleHQsICJhY2Nlc3NpYmlsaXR5Q29udHJvbGxlciIs
IHRoaXMpOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRs
ZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCmluZGV4IDQzNWZiNDBlOGVhOC4u
ZTlkMGY1NWNiMGQ3IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oCkBAIC0xMDMsMTIg
KzEwMywxNCBAQCBwcml2YXRlOgogCiAjaWYgRU5BQkxFKEFDQ0VTU0lCSUxJVFlfSVNPTEFURURf
VFJFRSkKICAgICB2b2lkIHVwZGF0ZUlzb2xhdGVkVHJlZU1vZGUoKTsKLSAgICAKKworI2lmIFBM
QVRGT1JNKENPQ09BKQogICAgIC8vIF9BWFVJRWxlbWVudFVzZVNlY29uZGFyeUFYVGhyZWFkIGFu
ZCBfQVhVSUVsZW1lbnRSZXF1ZXN0U2VydmljZWRCeVNlY29uZGFyeUFYVGhyZWFkCiAgICAgLy8g
ZG8gbm90IHdvcmsgZm9yIFdlYktpdFRlc3RSdW5uZXIgc2luY2UgdGhpcyBpcyBjYWxsaW5nIGRp
cmVjdGx5IGludG8KICAgICAvLyBXZWJDb3JlL2FjY2Vzc2liaWxpdHkgdmlhIEphdmFTY3JpcHQg
d2l0aG91dCBnb2luZyB0aHJvdWdoIEhJU2VydmljZXMuCiAgICAgLy8gVGh1cyB0byBzaW11bGF0
ZSB0aGUgYmVoYXZpb3Igb2YgSElTZXJ2aWNlcywgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXIgaXMg
c3Bhd25pbmcgYSBzZWNvbmRhcnkgdGhyZWFkIHRvIHNlcnZpY2UgdGhlIEphdmFTY3JpcHQgcmVx
dWVzdHMuCiAgICAgYm9vbCBtX3VzZU1vY2tBWFRocmVhZCB7IGZhbHNlIH07CisjZW5kaWYKICAg
ICBib29sIG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUgeyBmYWxzZSB9OwogICAgIEJp
bmFyeVNlbWFwaG9yZSBtX3NlbWFwaG9yZTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmggYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0FjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaAppbmRleCBiMjNlNzE3Zjg2MmEuLjNlNWUwY2VlNjlmZCAxMDA2NDQKLS0tIGEvVG9vbHMv
V2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5VUlFbGVtZW50LmgK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9BY2Nlc3NpYmlsaXR5
VUlFbGVtZW50LmgKQEAgLTQ3LDYgKzQ3LDExIEBAIHVzaW5nIFBsYXRmb3JtVUlFbGVtZW50ID0g
aWQ7CiAjaW5jbHVkZSA8YXRrL2F0ay5oPgogI2luY2x1ZGUgPHd0Zi9nbGliL0dSZWZQdHIuaD4K
IHR5cGVkZWYgR1JlZlB0cjxBdGtPYmplY3Q+IFBsYXRmb3JtVUlFbGVtZW50OworI2VsaWYgSEFW
RShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFz
cyBBY2Nlc3NpYmlsaXR5T2JqZWN0QXRzcGk7Cit9Cit0eXBlZGVmIFdlYkNvcmU6OkFjY2Vzc2li
aWxpdHlPYmplY3RBdHNwaSogUGxhdGZvcm1VSUVsZW1lbnQ7CiAjZWxzZQogdHlwZWRlZiB2b2lk
KiBQbGF0Zm9ybVVJRWxlbWVudDsKICNlbmRpZgpAQCAtNzEsNiArNzYsOCBAQCBwdWJsaWM6CiAK
ICNpZiBQTEFURk9STShDT0NPQSkKICAgICBpZCBwbGF0Zm9ybVVJRWxlbWVudCgpIHsgcmV0dXJu
IG1fZWxlbWVudC5nZXQoKTsgfQorI2VsaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRT
UEkpCisgICAgUGxhdGZvcm1VSUVsZW1lbnQgcGxhdGZvcm1VSUVsZW1lbnQoKSB7IHJldHVybiBt
X2VsZW1lbnQuZ2V0KCk7IH0KICNlbHNlCiAgICAgUGxhdGZvcm1VSUVsZW1lbnQgcGxhdGZvcm1V
SUVsZW1lbnQoKSB7IHJldHVybiBtX2VsZW1lbnQ7IH0KICNlbmRpZgpAQCAtMzg5LDcgKzM5Niw3
IEBAIHByaXZhdGU6CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudChQbGF0Zm9ybVVJRWxlbWVu
dCk7CiAgICAgQWNjZXNzaWJpbGl0eVVJRWxlbWVudChjb25zdCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Jik7CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCisjaWYgIVBMQVRGT1JNKENPQ09BKSAmJiAh
VVNFKEFUU1BJKQogICAgIFBsYXRmb3JtVUlFbGVtZW50IG1fZWxlbWVudDsKICNlbmRpZgogCkBA
IC00MTMsNiArNDIwLDggQEAgcHJpdmF0ZToKIAogI2lmIFVTRShBVEspCiAgICAgUmVmUHRyPEFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyPiBtX25vdGlmaWNhdGlvbkhhbmRsZXI7Cisj
ZWxpZiBVU0UoQVRTUEkpCisgICAgUmVmUHRyPFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RB
dHNwaT4gbV9lbGVtZW50OwogI2VuZGlmCiAjZW5kaWYKIH07CmRpZmYgLS1naXQgYS9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxl
ckF0ay5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nl
c3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKaW5kZXggOGMyYWRhYzE5MDA4Li5jMTI0ODgwNTli
MWYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRrLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlckF0ay5jcHAKQEAg
LTI4LDcgKzI4LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJBY2Nlc3NpYmls
aXR5Q29udHJvbGxlci5oIgogCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgpAQCAtMTQ0LDQgKzE0NCw0IEBAIGJv
b2wgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnJlbW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkK
IAogfSAvLyBuYW1lc3BhY2UgV1RSCiAKLSNlbmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpCisj
ZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRLKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlm
aWNhdGlvbkhhbmRsZXJBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1
bmRsZS9hdGsvQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCmluZGV4IGEy
M2U3ODUxNzA3My4uNzlmNzc2ODRlYWIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVu
bmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0
ay5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsvQWNj
ZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhhbmRsZXJBdGsuY3BwCkBAIC0yMCw3ICsyMCw3IEBACiAj
aW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eU5vdGlmaWNhdGlvbkhh
bmRsZXJBdGsuaCIKIAotI2lmIEhBVkUoQUNDRVNTSUJJTElUWSkKKyNpZiBIQVZFKEFDQ0VTU0lC
SUxJVFkpICYmIFVTRShBVEspCiAKICNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Lmgi
CiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKQEAgLTI3OCw0ICsyNzgsNCBAQCBib29sIEFj
Y2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyOjpkaXNjb25uZWN0QWNjZXNzaWJpbGl0eUNh
bGxiYWNrcygpCiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJ
QklMSVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAt
LWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2li
aWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFuZGxlckF0ay5oCmlu
ZGV4IGRhNWQ4ZWNkZGIwNi4uZDJjNzg0OWE5ZjU4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFu
ZGxlckF0ay5oCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRr
L0FjY2Vzc2liaWxpdHlOb3RpZmljYXRpb25IYW5kbGVyQXRrLmgKQEAgLTE5LDcgKzE5LDcgQEAK
IAogI3ByYWdtYSBvbmNlCiAKLSNpZiBIQVZFKEFDQ0VTU0lCSUxJVFkpCisjaWYgSEFWRShBQ0NF
U1NJQklMSVRZKSAmJiBVU0UoQVRLKQogCiAjaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNPYmpl
Y3RSZWYuaD4KICNpbmNsdWRlIDxhdGsvYXRrLmg+CkBAIC01Myw0ICs1Myw0IEBAIHByaXZhdGU6
CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKQor
I2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVs
ZW1lbnRBdGsuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdGsv
QWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0ay5jcHAKaW5kZXggZDMyOTA5MDRhZjdhLi42NjNlZGU1
MmE0ODEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRrL0FjY2Vzc2liaWxpdHlVSUVsZW1lbnRBdGsuY3BwCkBA
IC0yOCw3ICsyOCw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oIgogCi0jaWYgSEFWRShBQ0NFU1NJQklMSVRZKQorI2lmIEhBVkUoQUND
RVNTSUJJTElUWSkgJiYgVVNFKEFUSykKIAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVQYWdlLmgiCkBAIC0yMjk5LDQgKzIyOTksNCBAQCBKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cG9wdXBWYWx1ZSgp
IGNvbnN0CiAKIH0gLy8gbmFtZXNwYWNlIFdUUgogCi0jZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklM
SVRZKQorI2VuZGlmIC8vIEhBVkUoQUNDRVNTSUJJTElUWSkgJiYgVVNFKEFUSykKZGlmZiAtLWdp
dCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJp
bGl0eUNvbnRyb2xsZXJBdHNwaS5jcHAgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyQXRzcGkuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uNDBkNzRmMzIzMDc3Ci0tLSAvZGV2L251bGwK
KysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9hdHNwaS9BY2Nlc3Np
YmlsaXR5Q29udHJvbGxlckF0c3BpLmNwcApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDIxIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJBY2Nlc3NpYmlsaXR5Q29udHJvbGxlci5oIgorCisj
aWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAiQWNjZXNzaWJp
bGl0eVVJRWxlbWVudC5oIgorI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGVQYWdlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0QXRzcGkuaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oPgorCitu
YW1lc3BhY2UgV1RSIHsKKwordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6cmVzZXRUb0Nv
bnNpc3RlbnRTdGF0ZSgpCit7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBB
Y2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWNjZXNzaWJsZUVsZW1lbnRCeUlkKEpTU3RyaW5nUmVm
IGlkKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OnBsYXRmb3JtTmFtZSgpCit7CisgICAgSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IHBsYXRmb3JtTmFtZShBZG9wdCwgSlNTdHJpbmdDcmVhdGVXaXRo
VVRGOENTdHJpbmcoImF0c3BpIikpOworICAgIHJldHVybiBwbGF0Zm9ybU5hbWU7Cit9CisKK3Zv
aWQgQWNjZXNzaWJpbGl0eUNvbnRyb2xsZXI6OmluamVjdEFjY2Vzc2liaWxpdHlQcmVmZXJlbmNl
KEpTU3RyaW5nUmVmIGRvbWFpbiwgSlNTdHJpbmdSZWYga2V5LCBKU1N0cmluZ1JlZiB2YWx1ZSkK
K3sKK30KKworUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjpyb290RWxlbWVudCgpCit7CisgICAgV0tCdW5kbGVQYWdlUmVmIHBhZ2UgPSBJbmplY3Rl
ZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdlKCk7CisgICAgYXV0byogZWxlbWVudCA9
IHN0YXRpY19jYXN0PFdlYkNvcmU6OkFjY2Vzc2liaWxpdHlPYmplY3RBdHNwaSo+KFdLQWNjZXNz
aWJpbGl0eVJvb3RPYmplY3QocGFnZSkpOworCisgICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmNyZWF0ZShlbGVtZW50KTsKK30KKworUmVmPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpmb2N1c2VkRWxlbWVudCgpCit7CisgICAgV0tCdW5k
bGVQYWdlUmVmIHBhZ2UgPSBJbmplY3RlZEJ1bmRsZTo6c2luZ2xldG9uKCkucGFnZSgpLT5wYWdl
KCk7CisgICAgYXV0byogZWxlbWVudCA9IHN0YXRpY19jYXN0PFdlYkNvcmU6OkFjY2Vzc2liaWxp
dHlPYmplY3RBdHNwaSo+KFdLQWNjZXNzaWJpbGl0eUZvY3VzZWRPYmplY3QocGFnZSkpOworCisg
ICAgcmV0dXJuIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmNyZWF0ZShlbGVtZW50KTsKK30KKwor
Ym9vbCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6YWRkTm90aWZpY2F0aW9uTGlzdGVuZXIoSlNW
YWx1ZVJlZiBmdW5jdGlvbkNhbGxiYWNrKQoreworICAgIHJldHVybiB0cnVlOworfQorCitib29s
IEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjpyZW1vdmVOb3RpZmljYXRpb25MaXN0ZW5lcigpCit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlDb250cm9sbGVyOjp1
cGRhdGVJc29sYXRlZFRyZWVNb2RlKCkKK3sKK30KKworfSAvLyBuYW1lc3BhY2UgV1RSCisKKyNl
bmRpZiAvLyBIQVZFKEFDQ0VTU0lCSUxJVFkpICYmIFVTRShBVFNQSSkKZGlmZiAtLWdpdCBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEF0c3BpLmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
YXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxlbWVudEF0c3BpLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAuLjNiY2Y4OWRkYzkzYQotLS0gL2Rldi9udWxsCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudEF0c3BpLmNwcApAQCAtMCwwICsxLDg1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAyMSBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dC5oIgorCisjaWYgSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCisjaW5jbHVkZSAi
SW5qZWN0ZWRCdW5kbGUuaCIKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVBhZ2UuaCIKKyNpbmNs
dWRlIDxKYXZhU2NyaXB0Q29yZS9KU1N0cmluZ1JlZi5oPgorI2luY2x1ZGUgPEphdmFTY3JpcHRD
b3JlL09wYXF1ZUpTU3RyaW5nLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9BY2Nlc3NpYmlsaXR5T2Jq
ZWN0QXRzcGkuaD4KKyNpbmNsdWRlIDxXZWJLaXQvV0tCdW5kbGVGcmFtZS5oPgorCituYW1lc3Bh
Y2UgV1RSIHsKKworQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6QWNjZXNzaWJpbGl0eVVJRWxlbWVu
dChQbGF0Zm9ybVVJRWxlbWVudCBlbGVtZW50KQorICAgIDogbV9lbGVtZW50KGVsZW1lbnQpCit7
Cit9CisKK0FjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OkFjY2Vzc2liaWxpdHlVSUVsZW1lbnQoY29u
c3QgQWNjZXNzaWJpbGl0eVVJRWxlbWVudCYgb3RoZXIpCisgICAgOiBKU1dyYXBwYWJsZSgpCisg
ICAgLCBtX2VsZW1lbnQob3RoZXIubV9lbGVtZW50KQoreworfQorCitBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50Ojp+QWNjZXNzaWJpbGl0eVVJRWxlbWVudCgpCit7Cit9CisKK2Jvb2wgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6aXNFcXVhbChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBvdGhlckVsZW1l
bnQpCit7CisgICAgcmV0dXJuIG1fZWxlbWVudC5nZXQoKSA9PSBvdGhlckVsZW1lbnQtPnBsYXRm
b3JtVUlFbGVtZW50KCk7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNJc29s
YXRlZE9iamVjdCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6Z2V0Q2hpbGRyZW4oVmVjdG9yPFJlZlB0cjxBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50PiA+JiBjaGlsZHJlbikKK3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50OjpnZXRDaGlsZHJlbldpdGhSYW5nZShWZWN0b3I8UmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+ID4mIGNoaWxkcmVuLCB1bnNpZ25lZCBsb2NhdGlvbiwgdW5zaWduZWQgbGVuZ3RoKQor
eworfQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2hpbGRyZW5Db3VudCgpCit7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50OjplbGVtZW50QXRQb2ludChpbnQgeCwgaW50IHkpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK3Vuc2lnbmVkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4
T2ZDaGlsZChBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBlbGVtZW50KQoreworICAgIHJldHVybiAw
OworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Y2hpbGRBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRy
OworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6bGlua2VkVUlFbGVtZW50QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmFyaWFPd25zRWxlbWVudEF0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7
CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhRmxvd1RvRWxlbWVudEF0SW5kZXgodW5zaWdu
ZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmls
aXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphcmlhQ29udHJvbHNFbGVtZW50
QXRJbmRleCh1bnNpZ25lZCBpbmRleCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVm
UHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Ns
b3NlZFJvd0F0SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
Ojpyb3dBdEluZGV4KHVuc2lnbmVkIGluZGV4KQoreworICAgIHJldHVybiBudWxscHRyOworfQor
CitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c2VsZWN0ZWRDaGlsZEF0SW5kZXgodW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK3Vuc2lnbmVkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVk
Q2hpbGRyZW5Db3VudCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZWxlY3RlZFJvd0F0
SW5kZXgodW5zaWduZWQgaW5kZXgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0
cjxBY2Nlc3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0aXRsZVVJ
RWxlbWVudCgpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmls
aXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpwYXJlbnRFbGVtZW50KCkKK3sK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmRpc2Nsb3NlZEJ5Um93KCkKK3sKKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmF0dHJpYnV0ZXNPZkxpbmtlZFVJRWxlbWVudHMoKQoreworICAgIHJldHVybiBKU1N0
cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmlu
Z1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mRG9jdW1lbnRMaW5rcygp
Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisK
K0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1
dGVzT2ZDaGlsZHJlbigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjphbGxBdHRyaWJ1dGVzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0Rlc2NyaXB0aW9uT2ZBdHRyaWJ1dGVWYWx1ZShKU1N0cmlu
Z1JlZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3Rl
cnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjpzdHJpbmdBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK2RvdWJs
ZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpudW1iZXJBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1Jl
ZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK0pTVmFsdWVSZWYgQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6dWlFbGVtZW50QXJyYXlBdHRyaWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBh
dHRyaWJ1dGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK0pTVmFsdWVSZWYg
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SGVhZGVycygpIGNvbnN0Cit7CisgICAgcmV0dXJu
IG51bGxwdHI7Cit9CisKK0pTVmFsdWVSZWYgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y29sdW1u
SGVhZGVycygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRBdHRy
aWJ1dGVWYWx1ZShKU1N0cmluZ1JlZiBhdHRyaWJ1dGUpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51
bGxwdHI7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Ym9vbEF0dHJpYnV0ZVZh
bHVlKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNBdHRyaWJ1dGVTZXR0YWJsZShKU1N0cmluZ1Jl
ZiBhdHRyaWJ1dGUpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmlzQXR0cmlidXRlU3VwcG9ydGVkKEpTU3RyaW5nUmVmIGF0dHJpYnV0ZSkK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nl
c3NpYmlsaXR5VUlFbGVtZW50OjpwYXJhbWV0ZXJpemVkQXR0cmlidXRlTmFtZXMoKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm9sZSgpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdWJyb2xlKCkKK3sKKyAg
ICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRh
aW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJvbGVEZXNjcmlwdGlv
bigpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb21w
dXRlZFJvbGVTdHJpbmcoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6dGl0bGUoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0
ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJ
RWxlbWVudDo6ZGVzY3JpcHRpb24oKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhD
aGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJp
bGl0eVVJRWxlbWVudDo6b3JpZW50YXRpb24oKSBjb25zdAoreworICAgIHJldHVybiBKU1N0cmlu
Z0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nVmFsdWUoKQoreworICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGFuZ3VhZ2UoKQoreworICAgIHJldHVy
biBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGVscFRleHQoKSBjb25zdAorewor
ICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitkb3Vi
bGUgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6eCgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2Rv
dWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp5KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKwor
ZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OndpZHRoKCkKK3sKKyAgICByZXR1cm4gMDsK
K30KKworZG91YmxlIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmhlaWdodCgpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpjbGlja1BvaW50WCgp
Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpj
bGlja1BvaW50WSgpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjppbnRWYWx1ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIDA7Cit9CisKK2RvdWJs
ZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptaW5WYWx1ZSgpCit7CisgICAgcmV0dXJuIDA7Cit9
CisKK2RvdWJsZSBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjptYXhWYWx1ZSgpCit7CisgICAgcmV0
dXJuIDA7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVt
ZW50Ojp2YWx1ZURlc2NyaXB0aW9uKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRo
Q2hhcmFjdGVycygwLCAwKTsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omluc2Vy
dGlvblBvaW50TGluZU51bWJlcigpCit7CisgICAgcmV0dXJuIC0xOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzUHJlc3NBY3Rpb25TdXBwb3J0ZWQoKQoreworICAgIHJldHVy
biBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0luY3JlbWVudEFj
dGlvblN1cHBvcnRlZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQ6OmlzRGVjcmVtZW50QWN0aW9uU3VwcG9ydGVkKCkKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFbmFibGVkKCkK
K3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
aXNSZXF1aXJlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzRm9jdXNlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0ZWQoKSBjb25zdAor
eworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpp
c1NlbGVjdGVkT3B0aW9uQWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNFeHBhbmRlZCgpIGNvbnN0Cit7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzQ2hlY2tl
ZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzSW5kZXRlcm1pbmF0ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOwor
fQorCitpbnQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGllcmFyY2hpY2FsTGV2ZWwoKSBjb25z
dAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNwZWFrQXMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmFyaWFJc0dyYWJiZWQoKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNS
ZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFyaWFEcm9wRWZm
ZWN0cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMo
MCwgMCk7Cit9CisKK2ludCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpsaW5lRm9ySW5kZXgoaW50
IGluZGV4KQoreworICAgIHJldHVybiAtMTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+
IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJhbmdlRm9yTGluZShpbnQgbGluZSkKK3sKKyAgICBy
ZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5Q
dHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJhbmdlRm9yUG9zaXRpb24o
aW50IHgsIGludCB5KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6Ym91bmRzRm9yUmFuZ2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkK
K3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKwor
SlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0cmluZ0Zv
clJhbmdlKHVuc2lnbmVkIGxvY2F0aW9uLCB1bnNpZ25lZCBsZW5ndGgpCit7CisgICAgcmV0dXJu
IEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWluUHRyPEpT
U3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nRm9yUmFu
Z2UodW5zaWduZWQgbG9jYXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gSlNT
dHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5
VUlFbGVtZW50OjphdHRyaWJ1dGVkU3RyaW5nUmFuZ2VJc01pc3NwZWxsZWQodW5zaWduZWQgbG9j
YXRpb24sIHVuc2lnbmVkIGxlbmd0aCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Vuc2ln
bmVkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnVpRWxlbWVudENvdW50Rm9yU2VhcmNoUHJlZGlj
YXRlKEpTQ29udGV4dFJlZiBjb250ZXh0LCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50KiBzdGFydEVs
ZW1lbnQsIGJvb2wgaXNEaXJlY3Rpb25OZXh0LCBKU1ZhbHVlUmVmIHNlYXJjaEtleSwgSlNTdHJp
bmdSZWYgc2VhcmNoVGV4dCwgYm9vbCB2aXNpYmxlT25seSwgYm9vbCBpbW1lZGlhdGVEZXNjZW5k
YW50c09ubHkpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp1aUVsZW1lbnRGb3JTZWFyY2hQcmVkaWNh
dGUoSlNDb250ZXh0UmVmIGNvbnRleHQsIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQqIHN0YXJ0RWxl
bWVudCwgYm9vbCBpc0RpcmVjdGlvbk5leHQsIEpTVmFsdWVSZWYgc2VhcmNoS2V5LCBKU1N0cmlu
Z1JlZiBzZWFyY2hUZXh0LCBib29sIHZpc2libGVPbmx5LCBib29sIGltbWVkaWF0ZURlc2NlbmRh
bnRzT25seSkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJp
bmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdFRleHRXaXRoQ3JpdGVyaWEoSlND
b250ZXh0UmVmIGNvbnRleHQsIEpTU3RyaW5nUmVmIGFtYmlndWl0eVJlc29sdXRpb24sIEpTVmFs
dWVSZWYgc2VhcmNoU3RyaW5ncywgSlNTdHJpbmdSZWYgcmVwbGFjZW1lbnRTdHJpbmcsIEpTU3Ry
aW5nUmVmIGFjdGl2aXR5KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mQ29sdW1u
SGVhZGVycygpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwg
MCk7Cit9CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphdHRyaWJ1dGVzT2ZSb3dIZWFkZXJzKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmF0dHJpYnV0ZXNPZkNvbHVtbnMoKQoreworICAgIHJldHVybiBK
U1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0
cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlc09mUm93cygpCit7Cisg
ICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0
YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRyaWJ1dGVzT2ZW
aXNpYmxlQ2VsbHMoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJz
KDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxl
bWVudDo6YXR0cmlidXRlc09mSGVhZGVyKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVX
aXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJv
d0NvdW50KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6OmNvbHVtbkNvdW50KCkKK3sKKyAgICByZXR1cm4gMDsKK30KKworaW50IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmluZGV4SW5UYWJsZSgpCit7CisgICAgcmV0dXJuIC0xOworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cm93SW5kZXhSYW5n
ZSgpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpjb2x1
bW5JbmRleFJhbmdlKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ+IEFjY2Vzc2liaWxp
dHlVSUVsZW1lbnQ6OmNlbGxGb3JDb2x1bW5BbmRSb3codW5zaWduZWQgY29sLCB1bnNpZ25lZCBy
b3cpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50PiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojpob3Jpem9udGFsU2Nyb2xsYmFyKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnZlcnRpY2FsU2Nyb2xsYmFyKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnNlbGVjdGVkVGV4dFJhbmdlKCkKK3sKKyAgICByZXR1cm4g
SlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZFRleHRSYW5nZSh1bnNpZ25lZCBsb2NhdGlvbiwgdW5z
aWduZWQgbGVuZ3RoKQoreworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjppbmNyZW1lbnQoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRlY3JlbWVudCgpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6
c2hvd01lbnUoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnByZXNzKCkK
K3sKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZENoaWxkKEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpIGNvbnN0Cit7Cit9CisKK3ZvaWQgQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6c2V0U2VsZWN0ZWRDaGlsZEF0SW5kZXgodW5zaWduZWQgaW5kZXgp
IGNvbnN0Cit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlU2VsZWN0
aW9uQXRJbmRleCh1bnNpZ25lZCBpbmRleCkgY29uc3QKK3sKK30KKwordm9pZCBBY2Nlc3NpYmls
aXR5VUlFbGVtZW50OjpjbGVhclNlbGVjdGVkQ2hpbGRyZW4oKSBjb25zdAoreworfQorCitKU1Jl
dGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0
eVZhbHVlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVy
cygwLCAwKTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVs
ZW1lbnQ6OmRvY3VtZW50RW5jb2RpbmcoKQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6ZG9jdW1lbnRVUkkoKQoreworICAgIHJldHVybiBKU1N0cmluZ0Ny
ZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6dXJsKCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVh
dGVXaXRoQ2hhcmFjdGVycygwLCAwKTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50
OjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2spCit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnJl
bW92ZU5vdGlmaWNhdGlvbkxpc3RlbmVyKCkKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc0ZvY3VzYWJsZSgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzU2VsZWN0YWJs
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlV
SUVsZW1lbnQ6OmlzTXVsdGlTZWxlY3RhYmxlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNWaXNpYmxlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aXNP
ZmZTY3JlZW4oKSBjb25zdAoreworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojppc0NvbGxhcHNlZCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNl
OworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmlzSWdub3JlZCgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Omlz
U2luZ2xlTGluZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmlzTXVsdGlMaW5lKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK2Jvb2wgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6aGFzUG9wdXAoKSBjb25zdAor
eworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0
YWtlRm9jdXMoKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnRha2VTZWxl
Y3Rpb24oKQoreworfQorCit2b2lkIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmFkZFNlbGVjdGlv
bigpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVtb3ZlU2VsZWN0aW9u
KCkKK3sKK30KKworLy8gVGV4dCBtYXJrZXJzCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJr
ZXJSYW5nZT4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6bGluZVRleHRNYXJrZXJSYW5nZUZvclRl
eHRNYXJrZXIoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIHRleHRNYXJrZXIpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JFbGVtZW50KEFjY2Vzc2li
aWxpdHlVSUVsZW1lbnQqIGVsZW1lbnQpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK2lu
dCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VMZW5ndGgoQWNjZXNzaWJp
bGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCit7CisgICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0
cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cHJldmlv
dXNUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyKiB0ZXh0TWFya2VyKQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVRleHRNYXJrZXI+IEFj
Y2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om5leHRUZXh0TWFya2VyKEFjY2Vzc2liaWxpdHlUZXh0TWFy
a2VyKiB0ZXh0TWFya2VyKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0
cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c3RyaW5nRm9yVGV4dE1hcmtl
clJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIG1hcmtlclJhbmdlKQoreworICAg
IHJldHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFp
blB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cmVjdHNGb3JUZXh0TWFy
a2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogbWFya2VyUmFuZ2UsIEpTU3Ry
aW5nUmVmIHNlYXJjaFRleHQpCit7CisgICAgcmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJh
Y3RlcnMoMCwgMCk7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlPiBB
Y2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyUmFuZ2VGb3JNYXJrZXJzKEFjY2Vzc2li
aWxpdHlUZXh0TWFya2VyKiBzdGFydE1hcmtlciwgQWNjZXNzaWJpbGl0eVRleHRNYXJrZXIqIGVu
ZE1hcmtlcikKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxp
dHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzdGFydFRleHRNYXJrZXJGb3JU
ZXh0TWFya2VyUmFuZ2UoQWNjZXNzaWJpbGl0eVRleHRNYXJrZXJSYW5nZSogcmFuZ2UpCit7Cisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4g
QWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6ZW5kVGV4dE1hcmtlckZvclRleHRNYXJrZXJSYW5nZShB
Y2Nlc3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKiByYW5nZSkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjplbmRUZXh0TWFya2VyRm9yQm91bmRzKGludCB4LCBpbnQgeSwgaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJp
bGl0eVRleHRNYXJrZXI+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OnN0YXJ0VGV4dE1hcmtlckZv
ckJvdW5kcyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkKK3sKKyAgICByZXR1
cm4gbnVsbHB0cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3Np
YmlsaXR5VUlFbGVtZW50Ojp0ZXh0TWFya2VyRm9yUG9pbnQoaW50IHgsIGludCB5KQoreworICAg
IHJldHVybiBudWxscHRyOworfQorCitSZWZQdHI8QWNjZXNzaWJpbGl0eVVJRWxlbWVudD4gQWNj
ZXNzaWJpbGl0eVVJRWxlbWVudDo6YWNjZXNzaWJpbGl0eUVsZW1lbnRGb3JUZXh0TWFya2VyKEFj
Y2Vzc2liaWxpdHlUZXh0TWFya2VyKiBtYXJrZXIpCit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9
CisKK0pTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjphdHRy
aWJ1dGVkU3RyaW5nRm9yVGV4dE1hcmtlclJhbmdlKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFu
Z2UqKQoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1Jl
Zj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6YXR0cmlidXRlZFN0cmluZ0ZvclRleHRNYXJrZXJS
YW5nZVdpdGhPcHRpb25zKEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqLCBib29sKQorewor
ICAgIHJldHVybiBudWxscHRyOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmF0
dHJpYnV0ZWRTdHJpbmdGb3JUZXh0TWFya2VyUmFuZ2VDb250YWluc0F0dHJpYnV0ZShKU1N0cmlu
Z1JlZiBhdHRyaWJ1dGUsIEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyUmFuZ2UqIHJhbmdlKQorewor
ICAgIHJldHVybiBmYWxzZTsKK30KKworaW50IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6OmluZGV4
Rm9yVGV4dE1hcmtlcihBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogbWFya2VyKQoreworICAgIHJl
dHVybiAtMTsKK30KKworYm9vbCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojppc1RleHRNYXJrZXJW
YWxpZChBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlciogdGV4dE1hcmtlcikKK3sKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNzaWJpbGl0
eVVJRWxlbWVudDo6dGV4dE1hcmtlckZvckluZGV4KGludCB0ZXh0SW5kZXgpCit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK1JlZlB0cjxBY2Nlc3NpYmlsaXR5VGV4dE1hcmtlcj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6c3RhcnRUZXh0TWFya2VyKCkKK3sKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworUmVmUHRyPEFjY2Vzc2liaWxpdHlUZXh0TWFya2VyPiBBY2Nlc3NpYmlsaXR5VUlF
bGVtZW50OjplbmRUZXh0TWFya2VyKCkKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworYm9v
bCBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50OjpzZXRTZWxlY3RlZFRleHRNYXJrZXJSYW5nZShBY2Nl
c3NpYmlsaXR5VGV4dE1hcmtlclJhbmdlKikKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9NYWtlVmlzaWJsZSgpCit7Cit9CisK
K3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9HbG9iYWxQb2ludChpbnQgeCwg
aW50IHkpCit7Cit9CisKK3ZvaWQgQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6c2Nyb2xsVG9NYWtl
VmlzaWJsZVdpdGhTdWJGb2N1cyhpbnQgeCwgaW50IHksIGludCB3aWR0aCwgaW50IGhlaWdodCkK
K3sKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OnN1cHBvcnRlZEFjdGlvbnMoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cGF0aERlc2Ny
aXB0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQb3N0c2NyaXB0c0Rlc2Ny
aXB0aW9uKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8
SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6Om1hdGhQcmVzY3JpcHRzRGVzY3Jp
cHRpb24oKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRyOworfQorCitKU1JldGFpblB0cjxK
U1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6Y2xhc3NMaXN0KCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OmNoYXJhY3RlckF0T2Zmc2V0KGludCBvZmZzZXQpCit7CisgICAg
cmV0dXJuIEpTU3RyaW5nQ3JlYXRlV2l0aENoYXJhY3RlcnMoMCwgMCk7Cit9CisKK0pTUmV0YWlu
UHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmlsaXR5VUlFbGVtZW50Ojp3b3JkQXRPZmZzZXQoaW50
IG9mZnNldCkKK3sKKyAgICByZXR1cm4gSlNTdHJpbmdDcmVhdGVXaXRoQ2hhcmFjdGVycygwLCAw
KTsKK30KKworSlNSZXRhaW5QdHI8SlNTdHJpbmdSZWY+IEFjY2Vzc2liaWxpdHlVSUVsZW1lbnQ6
OmxpbmVBdE9mZnNldChpbnQgb2Zmc2V0KQoreworICAgIHJldHVybiBKU1N0cmluZ0NyZWF0ZVdp
dGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitKU1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNz
aWJpbGl0eVVJRWxlbWVudDo6c2VudGVuY2VBdE9mZnNldChpbnQgb2Zmc2V0KQoreworICAgIHJl
dHVybiBKU1N0cmluZ0NyZWF0ZVdpdGhDaGFyYWN0ZXJzKDAsIDApOworfQorCitib29sIEFjY2Vz
c2liaWxpdHlVSUVsZW1lbnQ6OnJlcGxhY2VUZXh0SW5SYW5nZShKU1N0cmluZ1JlZiwgaW50LCBp
bnQpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIEFjY2Vzc2liaWxpdHlVSUVsZW1l
bnQ6Omluc2VydFRleHQoSlNTdHJpbmdSZWYpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitK
U1JldGFpblB0cjxKU1N0cmluZ1JlZj4gQWNjZXNzaWJpbGl0eVVJRWxlbWVudDo6cG9wdXBWYWx1
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdU
UgorCisjZW5kaWYgLy8gSEFWRShBQ0NFU1NJQklMSVRZKSAmJiBVU0UoQVRTUEkpCmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmls
aXR5Q29udHJvbGxlck1hYy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5k
bGUvbWFjL0FjY2Vzc2liaWxpdHlDb250cm9sbGVyTWFjLm1tCmluZGV4IDMwMmRlNDhkYWJkNS4u
MTVmNWIyZGQ5MWE2IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1hYy5tbQorKysgYi9Ub29scy9XZWJL
aXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9BY2Nlc3NpYmlsaXR5Q29udHJvbGxlck1h
Yy5tbQpAQCAtNDEsNiArNDEsMTEgQEAKICNpbXBvcnQgPFdlYktpdC9XS0J1bmRsZVBhZ2UuaD4K
ICNpbXBvcnQgPFdlYktpdC9XS0J1bmRsZVBhZ2VQcml2YXRlLmg+CiAKKyNpZiBFTkFCTEUoQUND
RVNTSUJJTElUWV9JU09MQVRFRF9UUkVFKQorI2ltcG9ydCA8cGFsL3NwaS9jb2NvYS9BY2Nlc3Np
YmlsaXR5U3VwcG9ydFNQSS5oPgorI2ltcG9ydCA8cGFsL3NwaS9tYWMvSElTZXJ2aWNlc1NQSS5o
PgorI2VuZGlmCisKIG5hbWVzcGFjZSBXVFIgewogCiBib29sIEFjY2Vzc2liaWxpdHlDb250cm9s
bGVyOjphZGROb3RpZmljYXRpb25MaXN0ZW5lcihKU1ZhbHVlUmVmIGZ1bmN0aW9uQ2FsbGJhY2sp
CkBAIC0xMjQsNiArMTI5LDE2IEBAIEpTUmV0YWluUHRyPEpTU3RyaW5nUmVmPiBBY2Nlc3NpYmls
aXR5Q29udHJvbGxlcjo6cGxhdGZvcm1OYW1lKCkKICAgICByZXR1cm4gV1RSOjpjcmVhdGVKU1N0
cmluZygibWFjIik7CiB9CiAKKyNpZiBFTkFCTEUoQUNDRVNTSUJJTElUWV9JU09MQVRFRF9UUkVF
KQordm9pZCBBY2Nlc3NpYmlsaXR5Q29udHJvbGxlcjo6dXBkYXRlSXNvbGF0ZWRUcmVlTW9kZSgp
Cit7CisgICAgLy8gT3ZlcnJpZGUgdG8gc2V0IGlkZW50aWZpZXIgdG8gVm9pY2VPdmVyIHNvIHRo
YXQgcmVxdWVzdHMgYXJlIGhhbmRsZWQgaW4gaXNvbGF0ZWQgbW9kZS4KKyAgICBfQVhTZXRDbGll
bnRJZGVudGlmaWNhdGlvbk92ZXJyaWRlKG1fYWNjZXNzaWJpbGl0eUlzb2xhdGVkVHJlZU1vZGUg
PyAoQVhDbGllbnRUeXBlKWtBWENsaWVudFR5cGVXZWJLaXRUZXN0aW5nIDoga0FYQ2xpZW50VHlw
ZU5vQWN0aXZlUmVxdWVzdEZvdW5kKTsKKyAgICBfQVhTU2V0SXNvbGF0ZWRUcmVlTW9kZShtX2Fj
Y2Vzc2liaWxpdHlJc29sYXRlZFRyZWVNb2RlID8gQVhTSXNvbGF0ZWRUcmVlTW9kZU1haW5UaHJl
YWQgOiBBWFNJc29sYXRlZFRyZWVNb2RlT2ZmKTsKKyAgICBtX3VzZU1vY2tBWFRocmVhZCA9IFdL
QWNjZXNzaWJpbGl0eUNhblVzZVNlY29uZGFyeUFYVGhyZWFkKEluamVjdGVkQnVuZGxlOjpzaW5n
bGV0b24oKS5wYWdlKCktPnBhZ2UoKSk7Cit9CisjZW5kaWYKKwogLy8gQVhUaHJlYWQgaW1wbGVt
ZW50YXRpb24KIAogdm9pZCBBWFRocmVhZDo6aW5pdGlhbGl6ZVJ1bkxvb3AoKQpkaWZmIC0tZ2l0
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZSBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21ha2UKaW5kZXggNmY4MzY2YjYzZTQzLi44OTYyZTY0
NWU5YTkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvUGxhdGZvcm1HVEsuY21h
a2UKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9QbGF0Zm9ybUdUSy5jbWFrZQpAQCAtNDAs
NiArNDAsOSBAQCBsaXN0KEFQUEVORCBXZWJLaXRUZXN0UnVubmVySW5qZWN0ZWRCdW5kbGVfU09V
UkNFUwogICAgIEluamVjdGVkQnVuZGxlL2F0ay9BY2Nlc3NpYmlsaXR5Tm90aWZpY2F0aW9uSGFu
ZGxlckF0ay5jcHAKICAgICBJbmplY3RlZEJ1bmRsZS9hdGsvQWNjZXNzaWJpbGl0eVVJRWxlbWVu
dEF0ay5jcHAKIAorICAgIEluamVjdGVkQnVuZGxlL2F0c3BpL0FjY2Vzc2liaWxpdHlDb250cm9s
bGVyQXRzcGkuY3BwCisgICAgSW5qZWN0ZWRCdW5kbGUvYXRzcGkvQWNjZXNzaWJpbGl0eVVJRWxl
bWVudEF0c3BpLmNwcAorCiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0FjdGl2YXRlRm9udHNHdGsu
Y3BwCiAgICAgSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAogICAgIElu
amVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZVV0aWxpdGllcy5jcHAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0T3B0aW9ucy5jcHAKaW5kZXggOGUyYTdmODg4YzBkLi5hNTYzNTYwZTBjY2Eg
MTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCisrKyBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuY3BwCkBAIC04OCw2ICs4OCw5IEBA
IGNvbnN0IFRlc3RGZWF0dXJlcyYgVGVzdE9wdGlvbnM6OmRlZmF1bHRzKCkKICAgICAgICAgICAg
IHsgIklucHV0VHlwZU1vbnRoRW5hYmxlZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsgIklucHV0
VHlwZVRpbWVFbmFibGVkIiwgdHJ1ZSB9LAogICAgICAgICAgICAgeyAiSW5wdXRUeXBlV2Vla0Vu
YWJsZWQiLCB0cnVlIH0sCisjaWYgVVNFKEFUU1BJKQorICAgICAgICAgICAgeyAiSXNBY2Nlc3Np
YmlsaXR5SXNvbGF0ZWRUcmVlRW5hYmxlZCIsIHRydWUgfSwKKyNlbmRpZgogICAgICAgICAgICAg
eyAiSmF2YVNjcmlwdENhbkFjY2Vzc0NsaXBib2FyZCIsIHRydWUgfSwKICAgICAgICAgICAgIHsg
IkphdmFTY3JpcHRDYW5PcGVuV2luZG93c0F1dG9tYXRpY2FsbHkiLCB0cnVlIH0sCiAgICAgICAg
ICAgICB7ICJMYXJnZUltYWdlQXN5bmNEZWNvZGluZ0VuYWJsZWQiLCBmYWxzZSB9LAo=
</data>
<flag name="review"
          id="461671"
          type_id="1"
          status="+"
          setter="aperez"
    />
          </attachment>
      

    </bug>

</bugzilla>